Package org.cesilko.rachota.gui
Class HistoryChart
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.cesilko.rachota.gui.HistoryChart
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
Chart showing either from/to or total times in given
period scale.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
Type of history chart to be drawn.private Vector
Days whose data should be drawn.private static final int
Bottom space behind chart.private static final int
Left space before chart e.g.private static final int
Right space behind chart.private static final int
Top space above chart.private static final Color
Light green color for chart axes and grid.(package private) int
Maximum value on Y axis.(package private) int
Minimum value on X axis.private AbstractTaskFilter
Filter for highlighting tasks.static final int
Chart displaying from/to times for days.static final int
Chart displaying used/wasted time ratio.static final int
Chart displaying total times for days.private double
Distance between two values on X axis.private double
Distance between two values on Y axis.Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorsConstructorDescriptionHistoryChart
(Vector days, AbstractTaskFilter taskFilter, int chartType) Creates a new history chart. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Computes maximum and minimum values for Y axis.private void
Computes both X and Y steps based on days and type of chart.private void
Draws axes and values including chart grid if needed.private void
Draws actual data i.e.private void
drawReferenceLines
(Graphics graphics, boolean drawAverageHours, boolean drawGivenHours) Draws reference lines in chart if required.Returns day represented by column at specified point.void
Draws the chart of specified type from given days.void
Method called when some property of task was changed.void
setChartType
(int chartType) Sets type of history chart to be drawn.void
Sets which days should be used to draw history chart.void
setHighlightingFilter
(AbstractTaskFilter taskFilter) Sets task filter for highlighting tasks when drawing chart.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
days
Days whose data should be drawn. -
taskFilter
Filter for highlighting tasks. -
chartType
private int chartTypeType of history chart to be drawn. -
maxValueY
int maxValueYMaximum value on Y axis. -
minValueY
int minValueYMinimum value on X axis. -
xStep
private double xStepDistance between two values on X axis. -
yStep
private double yStepDistance between two values on Y axis. -
TYPE_TOTAL
public static final int TYPE_TOTALChart displaying total times for days.- See Also:
-
TYPE_FROM_TO
public static final int TYPE_FROM_TOChart displaying from/to times for days.- See Also:
-
TYPE_TIME_USAGE
public static final int TYPE_TIME_USAGEChart displaying used/wasted time ratio.- See Also:
-
INSET_LEFT
private static final int INSET_LEFTLeft space before chart e.g. distance between left edge and X axis.- See Also:
-
INSET_RIGHT
private static final int INSET_RIGHTRight space behind chart.- See Also:
-
INSET_TOP
private static final int INSET_TOPTop space above chart.- See Also:
-
INSET_BOTTOM
private static final int INSET_BOTTOMBottom space behind chart.- See Also:
-
LIGHT_GREEN
Light green color for chart axes and grid.
-
-
Constructor Details
-
HistoryChart
Creates a new history chart.- Parameters:
days
- Days that should be used to draw history chart.taskFilter
- Filter for highlighting tasks when drawing chart.chartType
- Type of history chart to be drawn.
-
-
Method Details
-
setDays
Sets which days should be used to draw history chart.- Parameters:
days
- Days that should be used to draw history chart.
-
setHighlightingFilter
Sets task filter for highlighting tasks when drawing chart.- Parameters:
taskFilter
- Filter that will be used to select tasks that will be highlighted when drawing total times chart.
-
setChartType
public void setChartType(int chartType) Sets type of history chart to be drawn.- Parameters:
chartType
- Type of history chart to be drawn.
-
paint
Draws the chart of specified type from given days.- Overrides:
paint
in classJComponent
- Parameters:
graphics
- Graphics area where the chart should be drawn.
-
computeSteps
private void computeSteps()Computes both X and Y steps based on days and type of chart. -
computeMaxMinY
private void computeMaxMinY()Computes maximum and minimum values for Y axis. -
drawAxes
Draws axes and values including chart grid if needed.- Parameters:
graphics
- Graphics area where the axes should be drawn.drawGrid
- Whether chart grid should be drawn or not.
-
drawHours
Draws actual data i.e. hour columns.- Parameters:
graphics
- Graphics area where the axes should be drawn.
-
drawReferenceLines
private void drawReferenceLines(Graphics graphics, boolean drawAverageHours, boolean drawGivenHours) Draws reference lines in chart if required.- Parameters:
graphics
- Graphics area where the axes should be drawn.drawAverageHours
- If true, average hours for all and working days will be drawn.drawGivenHours
- If true, given working hours will be drawn.
-
getDayAt
Returns day represented by column at specified point.- Parameters:
point
- Point to be checked for existency of day column.- Returns:
- Day painted at given point or null if there is no day column at specified X position.
-
propertyChange
Method called when some property of task was changed.- Specified by:
propertyChange
in interfacePropertyChangeListener
- Parameters:
evt
- Event describing what was changed.
-