Class PMILineChartPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.jfree.chart.ChartPanel
com.inductiveautomation.factorypmi.application.components.chart.PMIChartPanel
com.inductiveautomation.factorypmi.application.components.chart.PMILineChartPanel
- All Implemented Interfaces:
LoadingMonitor,LocaleListener,ComponentLifecycle,ExtensibleComponent,QualityMonitor,VisionComponent,ActionListener,MouseListener,MouseMotionListener,ImageObserver,MenuContainer,Printable,Serializable,EventListener,Accessible,org.jfree.chart.event.ChartChangeListener,org.jfree.chart.event.ChartProgressListener
- Direct Known Subclasses:
PMIChart,PMIEasyChart.EasyChart
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected Colorprotected Stringprotected Strokeprotected floatprotected booleanprotected intControls the mouse-mode of the graph, such as panning and zoomingprotected static final intprotected static final intprotected static final intprotected static final intprotected Line2Dprotected final Strokeprotected Point2Dprotected Colorprotected intprotected Stringprotected PropertyChangeListenerprotected Stringprotected Fontprotected booleanFields inherited from class com.inductiveautomation.factorypmi.application.components.chart.PMIChartPanel
context, cursorCode, extensionFunctions, print, properties, save, showPopup, zoomFields inherited from class org.jfree.chart.ChartPanel
DEFAULT_BUFFER_USED, DEFAULT_HEIGHT, DEFAULT_MAXIMUM_DRAW_HEIGHT, DEFAULT_MAXIMUM_DRAW_WIDTH, DEFAULT_MINIMUM_DRAW_HEIGHT, DEFAULT_MINIMUM_DRAW_WIDTH, DEFAULT_WIDTH, DEFAULT_ZOOM_TRIGGER_DISTANCE, localizationResources, PRINT_COMMAND, PROPERTIES_COMMAND, SAVE_COMMAND, ZOOM_IN_BOTH_COMMAND, ZOOM_IN_DOMAIN_COMMAND, ZOOM_IN_RANGE_COMMAND, ZOOM_OUT_BOTH_COMMAND, ZOOM_OUT_DOMAIN_COMMAND, ZOOM_OUT_RANGE_COMMAND, ZOOM_RESET_BOTH_COMMAND, ZOOM_RESET_DOMAIN_COMMAND, ZOOM_RESET_RANGE_COMMANDFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface com.inductiveautomation.vision.api.client.components.model.ComponentLifecycle
COMPONENT_RUNNINGFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface com.inductiveautomation.ignition.client.model.LocaleListener
LOCAL_CHANGE_EVENTFields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTSFields inherited from interface com.inductiveautomation.vision.api.client.components.model.VisionComponent
COMPONENT_LOCKED, COMPONENT_PERMISSIONS, COMPONENT_SECURITY, COMPONENT_TRANSLATIONS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void_setSelectedXValue(String domainAnchor) voidactionPerformed(ActionEvent event) This function ONLY overrides the ZOOM_RESET_BOTH_COMMAND, to route it to the correct version of the overridden restoreAutoBounds() functionfinal voidprotected abstract org.jfree.chart.JFreeChartprotected static org.jfree.chart.JFreeChartcreateEmptyChart(String title, Color bg, Color plot) protected JPopupMenucreatePopupMenu(boolean properties, boolean save, boolean print, boolean zoom) Creates a popup menu for the panel.protected org.jfree.chart.title.TextTitlevoiddoSaveAs()Opens a file chooser and gives the user an opportunity to save the chart in PNG format.floatprotected abstract AutoAnnotateXYPlot[]getPlots()byte[]getPNGBytes(int width, int height) static Point2DgetPointInRectangle(double x, double y, Rectangle2D area) intgetTitle()booleanbooleanisLegend()booleanisOpaque()booleanvoidmouseDragged(MouseEvent event) Handles a mouse dragged event to perform panning & interactive marking/xtracingvoidmouseMoved(MouseEvent event) voidmousePressed(MouseEvent event) Handles a mouse pressed event (to start panning).voidmouseReleased(MouseEvent event) Handles a mouse released event (stops panning).voidintprint(Graphics g, PageFormat pf, int pageIndex) Overridden to correctly adjust the anchor point for the printed size of the chartprotected voidredrawAtEventPoint(MouseEvent event) protected voidDefault implementation simply calls createChart()protected booleanDetermines whether or not the X-axis panning respects the axis's range.voidThis is overridden so that when it is called because of zooming a negative rectangle, the chart is totally reset, instead of restoring auto-bounds, because restoring auto-bounds assumes that the axes were set to auto-range in the first place, which isn't necessarilly truesaveAsImage(int width, int height) protected voidsetAutoAnnotationMode(int mode) voidsetBackground(Color bg) voidvoidvoidsetForeground(Color fg) voidsetGridlineColor(Color gridlineColor) voidsetGridlineDashPattern(String gridlineDashPattern) voidsetGridlineWidth(float gridlineWidth) voidsetLegend(boolean b) voidsetMode(int newMode) Sets the current mode to ZOOM, PAN, MARK, or XTRACEvoidsetPlotBackground(Color color) voidsetPropertiesLoading(int i) voidsetSelectedXValue(String domainAnchor) voidvoidsetTitleFont(Font font) voidsetTooltips(boolean b) voidsetXTraceTrackMouse(boolean value) Methods inherited from class com.inductiveautomation.factorypmi.application.components.chart.PMIChartPanel
createChartPrintJob, displayPopupMenu, getAppContext, getCursorCode, getDataQuality, getExtensionFunctions, getQuality, getScientificNumberFormat, getToolTipText, getToolTipText, isAntialias, isShowPopup, localeChanged, onShutdown, onStartup, paintChildren, print, setAntialias, setCursorCode, setDataQuality, setExtensionFunctions, setName, setQuality, setShowPopup, setVisible, shutdownComponent, startupComponent, translate, translateTerm, updateQualityMethods inherited from class org.jfree.chart.ChartPanel
addChartMouseListener, chartChanged, chartProgress, doEditChartProperties, getAnchor, getChart, getChartRenderingInfo, getDefaultDirectoryForSaveAs, getDismissDelay, getEntityForPoint, getFillZoomRectangle, getHorizontalAxisTrace, getHorizontalTraceLine, getInitialDelay, getListeners, getMaximumDrawHeight, getMaximumDrawWidth, getMinimumDrawHeight, getMinimumDrawWidth, getPopupMenu, getRefreshBuffer, getReshowDelay, getScaleX, getScaleY, getScreenDataArea, getScreenDataArea, getVerticalAxisTrace, getVerticalTraceLine, getZoomAroundAnchor, getZoomInFactor, getZoomOutFactor, getZoomTriggerDistance, isDomainZoomable, isEnforceFileExtensions, isRangeZoomable, mouseClicked, mouseEntered, mouseExited, removeChartMouseListener, restoreAutoDomainBounds, restoreAutoRangeBounds, scale, setAnchor, setChart, setDefaultDirectoryForSaveAs, setDismissDelay, setDisplayToolTips, setDomainZoomable, setEnforceFileExtensions, setFillZoomRectangle, setHorizontalAxisTrace, setHorizontalTraceLine, setInitialDelay, setMaximumDrawHeight, setMaximumDrawWidth, setMinimumDrawHeight, setMinimumDrawWidth, setMouseZoomable, setMouseZoomable, setPopupMenu, setRangeZoomable, setRefreshBuffer, setReshowDelay, setVerticalAxisTrace, setVerticalTraceLine, setZoomAroundAnchor, setZoomInFactor, setZoomOutFactor, setZoomTriggerDistance, translateJava2DToScreen, translateScreenToJava2D, updateUI, zoom, zoomInBoth, zoomInDomain, zoomInRange, zoomOutBoth, zoomOutDomain, zoomOutRangeMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUIMethods 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, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, updateMethods 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, validateTreeMethods 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
MODE_ZOOM
protected static final int MODE_ZOOM- See Also:
-
MODE_PAN
protected static final int MODE_PAN- See Also:
-
MODE_MARK
protected static final int MODE_MARK- See Also:
-
MODE_XTRACE
protected static final int MODE_XTRACE- See Also:
-
plotBackground
-
gridlineColor
-
gridlineStroke
-
gridlineDashPattern
-
gridlineWidth
protected float gridlineWidth -
title
-
titleFont
-
legend
protected boolean legend -
tooltips
protected boolean tooltips -
propertiesLoading
protected int propertiesLoading -
selectedXValue
-
antialias
protected boolean antialias -
selectedXValueListener
-
mode
protected int modeControls the mouse-mode of the graph, such as panning and zooming -
panStartPoint
-
panLine
-
panLineStroke
-
-
Constructor Details
-
PMILineChartPanel
public PMILineChartPanel()
-
-
Method Details
-
createEmptyChart
-
getPlots
-
createChart
public final void createChart() -
createChartImpl
protected abstract org.jfree.chart.JFreeChart createChartImpl() -
print
Overridden to correctly adjust the anchor point for the printed size of the chart -
doSaveAs
Description copied from class:PMIChartPanelOpens a file chooser and gives the user an opportunity to save the chart in PNG format.- Overrides:
doSaveAsin classPMIChartPanel- Throws:
IOException- if there is an I/O error.
-
saveAsImage
- Throws:
IOException
-
saveAsImage
- Throws:
IOException
-
getPNGBytes
- Throws:
IOException
-
paintComponent
- Overrides:
paintComponentin classorg.jfree.chart.ChartPanel
-
createPopupMenu
Description copied from class:PMIChartPanelCreates a popup menu for the panel. Overridden here to get the localized properties from BundleUtil.- Overrides:
createPopupMenuin classPMIChartPanel- Parameters:
properties- include a menu item for the chart property editor.save- include a menu item for saving the chart.print- include a menu item for printing the chart.zoom- include menu items for zooming.- Returns:
- The popup menu.
-
resetAxes
protected void resetAxes()Default implementation simply calls createChart() -
getPlotBackground
-
setPlotBackground
-
getTitle
-
setTitle
-
isLegend
public boolean isLegend() -
isTooltips
public boolean isTooltips() -
setLegend
public void setLegend(boolean b) -
setTooltips
public void setTooltips(boolean b) -
isOpaque
public boolean isOpaque()- Overrides:
isOpaquein classJComponent
-
getPropertiesLoading
public int getPropertiesLoading()- Specified by:
getPropertiesLoadingin interfaceLoadingMonitor
-
setPropertiesLoading
public void setPropertiesLoading(int i) - Specified by:
setPropertiesLoadingin interfaceLoadingMonitor
-
setBackground
- Overrides:
setBackgroundin classJComponent
-
setFont
- Overrides:
setFontin classJComponent
-
setTitleFont
-
getTitleFont
-
setForeground
- Overrides:
setForegroundin classJComponent
-
createTitle
protected org.jfree.chart.title.TextTitle createTitle() -
setMode
public void setMode(int newMode) Sets the current mode to ZOOM, PAN, MARK, or XTRACE -
setAutoAnnotationMode
protected void setAutoAnnotationMode(int mode) -
mousePressed
Handles a mouse pressed event (to start panning).Overridden to support PAN mode
- Specified by:
mousePressedin interfaceMouseListener- Overrides:
mousePressedin classorg.jfree.chart.ChartPanel- Parameters:
event- the event.
-
mouseMoved
- Specified by:
mouseMovedin interfaceMouseMotionListener- Overrides:
mouseMovedin classorg.jfree.chart.ChartPanel
-
mouseReleased
Handles a mouse released event (stops panning).Overridden to support PAN mode
- Specified by:
mouseReleasedin interfaceMouseListener- Overrides:
mouseReleasedin classorg.jfree.chart.ChartPanel- Parameters:
event- the event.
-
mouseDragged
Handles a mouse dragged event to perform panning & interactive marking/xtracing- Specified by:
mouseDraggedin interfaceMouseMotionListener- Overrides:
mouseDraggedin classorg.jfree.chart.ChartPanel- Parameters:
event- the event.
-
redrawAtEventPoint
-
respectDomainRangeOnPan
protected boolean respectDomainRangeOnPan()Determines whether or not the X-axis panning respects the axis's range. -
setBounds
-
actionPerformed
This function ONLY overrides the ZOOM_RESET_BOTH_COMMAND, to route it to the correct version of the overridden restoreAutoBounds() function- Specified by:
actionPerformedin interfaceActionListener- Overrides:
actionPerformedin classorg.jfree.chart.ChartPanel
-
restoreAutoBounds
public void restoreAutoBounds()This is overridden so that when it is called because of zooming a negative rectangle, the chart is totally reset, instead of restoring auto-bounds, because restoring auto-bounds assumes that the axes were set to auto-range in the first place, which isn't necessarilly true- Overrides:
restoreAutoBoundsin classorg.jfree.chart.ChartPanel
-
getPointInRectangle
-
getXTraceTrackMouse
public boolean getXTraceTrackMouse() -
setXTraceTrackMouse
public void setXTraceTrackMouse(boolean value) -
getGridlineColor
-
setGridlineColor
-
getGridlineDashPattern
-
setGridlineDashPattern
-
getGridlineWidth
public float getGridlineWidth() -
setGridlineWidth
public void setGridlineWidth(float gridlineWidth) -
getGridlineStroke
-
getSelectedXValue
-
_setSelectedXValue
-
setSelectedXValue
-