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:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible
public class HistoryChart extends javax.swing.JPanel implements java.beans.PropertyChangeListenerChart showing either from/to or total times in given period scale.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private intchartTypeType of history chart to be drawn.private java.util.VectordaysDays whose data should be drawn.private static intINSET_BOTTOMBottom space behind chart.private static intINSET_LEFTLeft space before chart e.g.private static intINSET_RIGHTRight space behind chart.private static intINSET_TOPTop space above chart.private static java.awt.ColorLIGHT_GREENLight green color for chart axes and grid.(package private) intmaxValueYMaximum value on Y axis.(package private) intminValueYMinimum value on X axis.private AbstractTaskFiltertaskFilterFilter for highlighting tasks.static intTYPE_FROM_TOChart displaying from/to times for days.static intTYPE_TIME_USAGEChart displaying used/wasted time ratio.static intTYPE_TOTALChart displaying total times for days.private doublexStepDistance between two values on X axis.private doubleyStepDistance 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
-
-
Constructor Summary
Constructors Constructor Description HistoryChart(java.util.Vector days, AbstractTaskFilter taskFilter, int chartType)Creates a new history chart.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcomputeMaxMinY()Computes maximum and minimum values for Y axis.private voidcomputeSteps()Computes both X and Y steps based on days and type of chart.private voiddrawAxes(java.awt.Graphics graphics, boolean drawGrid)Draws axes and values including chart grid if needed.private voiddrawHours(java.awt.Graphics graphics)Draws actual data i.e.private voiddrawReferenceLines(java.awt.Graphics graphics, boolean drawAverageHours, boolean drawGivenHours)Draws reference lines in chart if required.DaygetDayAt(java.awt.Point point)Returns day represented by column at specified point.voidpaint(java.awt.Graphics graphics)Draws the chart of specified type from given days.voidpropertyChange(java.beans.PropertyChangeEvent evt)Method called when some property of task was changed.voidsetChartType(int chartType)Sets type of history chart to be drawn.voidsetDays(java.util.Vector days)Sets which days should be used to draw history chart.voidsetHighlightingFilter(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 Detail
-
days
private java.util.Vector days
Days whose data should be drawn.
-
taskFilter
private AbstractTaskFilter taskFilter
Filter for highlighting tasks.
-
chartType
private int chartType
Type of history chart to be drawn.
-
maxValueY
int maxValueY
Maximum value on Y axis.
-
minValueY
int minValueY
Minimum value on X axis.
-
xStep
private double xStep
Distance between two values on X axis.
-
yStep
private double yStep
Distance between two values on Y axis.
-
TYPE_TOTAL
public static final int TYPE_TOTAL
Chart displaying total times for days.- See Also:
- Constant Field Values
-
TYPE_FROM_TO
public static final int TYPE_FROM_TO
Chart displaying from/to times for days.- See Also:
- Constant Field Values
-
TYPE_TIME_USAGE
public static final int TYPE_TIME_USAGE
Chart displaying used/wasted time ratio.- See Also:
- Constant Field Values
-
INSET_LEFT
private static final int INSET_LEFT
Left space before chart e.g. distance between left edge and X axis.- See Also:
- Constant Field Values
-
INSET_RIGHT
private static final int INSET_RIGHT
Right space behind chart.- See Also:
- Constant Field Values
-
INSET_TOP
private static final int INSET_TOP
Top space above chart.- See Also:
- Constant Field Values
-
INSET_BOTTOM
private static final int INSET_BOTTOM
Bottom space behind chart.- See Also:
- Constant Field Values
-
LIGHT_GREEN
private static final java.awt.Color LIGHT_GREEN
Light green color for chart axes and grid.
-
-
Constructor Detail
-
HistoryChart
public HistoryChart(java.util.Vector days, AbstractTaskFilter taskFilter, int chartType)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 Detail
-
setDays
public void setDays(java.util.Vector days)
Sets which days should be used to draw history chart.- Parameters:
days- Days that should be used to draw history chart.
-
setHighlightingFilter
public void setHighlightingFilter(AbstractTaskFilter taskFilter)
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
public void paint(java.awt.Graphics graphics)
Draws the chart of specified type from given days.- Overrides:
paintin classjavax.swing.JComponent- 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
private void drawAxes(java.awt.Graphics graphics, boolean drawGrid)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
private void drawHours(java.awt.Graphics graphics)
Draws actual data i.e. hour columns.- Parameters:
graphics- Graphics area where the axes should be drawn.
-
drawReferenceLines
private void drawReferenceLines(java.awt.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
public Day getDayAt(java.awt.Point point)
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
public void propertyChange(java.beans.PropertyChangeEvent evt)
Method called when some property of task was changed.- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener- Parameters:
evt- Event describing what was changed.
-
-