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.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 TypeFieldDescriptionprotected boolean
protected Color
protected String
protected Stroke
protected float
protected boolean
protected int
Controls the mouse-mode of the graph, such as panning and zoomingprotected static final int
protected static final int
protected static final int
protected static final int
protected Line2D
protected final Stroke
protected Point2D
protected Color
protected int
protected String
protected PropertyChangeListener
protected String
protected Font
protected boolean
Fields inherited from class com.inductiveautomation.factorypmi.application.components.chart.PMIChartPanel
context, cursorCode, extensionFunctions, print, properties, save, showPopup, zoom
Fields 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_COMMAND
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 com.inductiveautomation.vision.api.client.components.model.ComponentLifecycle
COMPONENT_RUNNING
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface com.inductiveautomation.ignition.client.model.LocaleListener
LOCAL_CHANGE_EVENT
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
Fields 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) void
actionPerformed
(ActionEvent event) This function ONLY overrides the ZOOM_RESET_BOTH_COMMAND, to route it to the correct version of the overridden restoreAutoBounds() functionfinal void
protected abstract org.jfree.chart.JFreeChart
protected static org.jfree.chart.JFreeChart
createEmptyChart
(String title, Color bg, Color plot) protected JPopupMenu
createPopupMenu
(boolean properties, boolean save, boolean print, boolean zoom) Creates a popup menu for the panel.protected org.jfree.chart.title.TextTitle
void
doSaveAs()
Opens a file chooser and gives the user an opportunity to save the chart in PNG format.float
protected abstract AutoAnnotateXYPlot[]
getPlots()
byte[]
getPNGBytes
(int width, int height) static Point2D
getPointInRectangle
(double x, double y, Rectangle2D area) int
getTitle()
boolean
boolean
isLegend()
boolean
isOpaque()
boolean
void
mouseDragged
(MouseEvent event) Handles a mouse dragged event to perform panning & interactive marking/xtracingvoid
mouseMoved
(MouseEvent event) void
mousePressed
(MouseEvent event) Handles a mouse pressed event (to start panning).void
mouseReleased
(MouseEvent event) Handles a mouse released event (stops panning).void
int
print
(Graphics g, PageFormat pf, int pageIndex) Overridden to correctly adjust the anchor point for the printed size of the chartprotected void
redrawAtEventPoint
(MouseEvent event) protected void
Default implementation simply calls createChart()protected boolean
Determines whether or not the X-axis panning respects the axis's range.void
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 truesaveAsImage
(int width, int height) protected void
setAutoAnnotationMode
(int mode) void
setBackground
(Color bg) void
void
void
setForeground
(Color fg) void
setGridlineColor
(Color gridlineColor) void
setGridlineDashPattern
(String gridlineDashPattern) void
setGridlineWidth
(float gridlineWidth) void
setLegend
(boolean b) void
setMode
(int newMode) Sets the current mode to ZOOM, PAN, MARK, or XTRACEvoid
setPlotBackground
(Color color) void
setPropertiesLoading
(int i) void
setSelectedXValue
(String domainAnchor) void
void
setTitleFont
(Font font) void
setTooltips
(boolean b) void
setXTraceTrackMouse
(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, updateQuality
Methods 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, zoomOutRange
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
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, 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, 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, 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:PMIChartPanel
Opens a file chooser and gives the user an opportunity to save the chart in PNG format.- Overrides:
doSaveAs
in classPMIChartPanel
- Throws:
IOException
- if there is an I/O error.
-
saveAsImage
- Throws:
IOException
-
saveAsImage
- Throws:
IOException
-
getPNGBytes
- Throws:
IOException
-
paintComponent
- Overrides:
paintComponent
in classorg.jfree.chart.ChartPanel
-
createPopupMenu
Description copied from class:PMIChartPanel
Creates a popup menu for the panel. Overridden here to get the localized properties from BundleUtil.- Overrides:
createPopupMenu
in 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:
isOpaque
in classJComponent
-
getPropertiesLoading
public int getPropertiesLoading()- Specified by:
getPropertiesLoading
in interfaceLoadingMonitor
-
setPropertiesLoading
public void setPropertiesLoading(int i) - Specified by:
setPropertiesLoading
in interfaceLoadingMonitor
-
setBackground
- Overrides:
setBackground
in classJComponent
-
setFont
- Overrides:
setFont
in classJComponent
-
setTitleFont
-
getTitleFont
-
setForeground
- Overrides:
setForeground
in 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:
mousePressed
in interfaceMouseListener
- Overrides:
mousePressed
in classorg.jfree.chart.ChartPanel
- Parameters:
event
- the event.
-
mouseMoved
- Specified by:
mouseMoved
in interfaceMouseMotionListener
- Overrides:
mouseMoved
in classorg.jfree.chart.ChartPanel
-
mouseReleased
Handles a mouse released event (stops panning).Overridden to support PAN mode
- Specified by:
mouseReleased
in interfaceMouseListener
- Overrides:
mouseReleased
in classorg.jfree.chart.ChartPanel
- Parameters:
event
- the event.
-
mouseDragged
Handles a mouse dragged event to perform panning & interactive marking/xtracing- Specified by:
mouseDragged
in interfaceMouseMotionListener
- Overrides:
mouseDragged
in 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:
actionPerformed
in interfaceActionListener
- Overrides:
actionPerformed
in 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:
restoreAutoBounds
in 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
-