Class AbstractVisionPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.inductiveautomation.vision.api.client.components.model.AbstractVisionPanel
-
- All Implemented Interfaces:
DynamicPropertyProvider,LocaleListener,MutableDynamicPropertyProvider,StyleProvider,ComponentLifecycle,QualityMonitor,VisionComponent,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible
- Direct Known Subclasses:
AbstractAlarmTable,AbstractManagerPanel,AlertSummaryTable,BasicContainer,MovingAnalogIndicator,PDFViewer,PMIDateRange,PMIDateTimePopupSelector,PMIDateTimeSelector,PMIDayView,PMIMonthView,PMINStateButton,PMITabStrip,PMIWeekView,ReportBase,ReportViewer,SFCMonitoringPanel,TemplateCanvas,TemplateHolder,TemplateRepeater
public abstract class AbstractVisionPanel extends javax.swing.JPanel implements MutableDynamicPropertyProvider, StyleProvider, VisionComponent, LocaleListener
An abstract subclass of JPanel that provides boiler plate code for some common FactoryPMI things such as:- Proper vetoable name change
- Implementation of MutablyDynamicPropertyProvider
- Implementation of StyleProvider
- Implementation of QualityMonitor
- 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 protected booleanantialiasprotected VisionClientContextcontextThe current ClientContext that is set on startupComponent()protected intcursorCodeprotected java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor>dynamicProps-
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 com.inductiveautomation.vision.api.client.binding.MutableDynamicPropertyProvider
RESERVED_SET_KEY
-
Fields inherited from interface com.inductiveautomation.vision.api.client.components.model.VisionComponent
COMPONENT_LOCKED, COMPONENT_PERMISSIONS, COMPONENT_SECURITY, COMPONENT_TRANSLATIONS
-
-
Constructor Summary
Constructors Constructor Description AbstractVisionPanel()AbstractVisionPanel(boolean isDoubleBuffered)AbstractVisionPanel(java.awt.LayoutManager layout)AbstractVisionPanel(java.awt.LayoutManager layout, boolean isDoubleBuffered)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VisionClientContextgetAppContext()intgetCursorCode()intgetDataQuality()For backwards compatibility with scripts.java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor>getDynamicProps()DynamicPropertyDescriptor[]getProperties()java.lang.ObjectgetPropertyValue(java.lang.String name)QualityCodegetQuality()Retrieves the data quality code.DatasetgetStyles()java.lang.StringgetToolTipText()protected voidinitStyleListener()booleanisAntialias()protected booleanisComponentRunning()Returns true when this component is "running", between startupComponent() and shutdownComponent()booleanisPropertyDefined(java.lang.String name)voidlocaleChanged(java.util.Locale newLocale)protected voidonShutdown()Subclasses should override this to provide shutdown logic.protected voidonStartup()Subclasses should override this to provide startup logic.protected voidpaintChildren(java.awt.Graphics g)protected voidpaintComponent(java.awt.Graphics g)protected booleanpaintOverlayOverChildren()voidsetAntialias(boolean ignored)voidsetCursorCode(int cursorCode)voidsetDataQuality(int value)voidsetDynamicProps(java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> map)voidsetName(java.lang.String newName)voidsetPropertyValue(java.lang.String name, java.lang.Object value)voidsetQuality(QualityCode value)Sets the current data quality to the given valuevoidsetStyles(Dataset styleDS)voidsetToolTipText(java.lang.String text)voidsetVisible(boolean visible)voidshutdownComponent()Called when the component is now shown anymore.voidstartupComponent(VisionClientContext context)Called when the component is first shown.protected java.lang.Stringtranslate(java.lang.String key)voidupdateQuality(java.lang.String propName, QualityCode quality)Updates the quality for the given property name.-
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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, 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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, 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, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
context
protected VisionClientContext context
The current ClientContext that is set on startupComponent()
-
cursorCode
protected int cursorCode
-
antialias
protected boolean antialias
-
dynamicProps
protected java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> dynamicProps
-
-
Constructor Detail
-
AbstractVisionPanel
public AbstractVisionPanel()
-
AbstractVisionPanel
public AbstractVisionPanel(java.awt.LayoutManager layout)
-
AbstractVisionPanel
public AbstractVisionPanel(boolean isDoubleBuffered)
-
AbstractVisionPanel
public AbstractVisionPanel(java.awt.LayoutManager layout, boolean isDoubleBuffered)
-
-
Method Detail
-
translate
protected java.lang.String translate(java.lang.String key)
-
setToolTipText
public void setToolTipText(java.lang.String text)
- Overrides:
setToolTipTextin classjavax.swing.JComponent
-
getToolTipText
public java.lang.String getToolTipText()
- Overrides:
getToolTipTextin classjavax.swing.JComponent
-
setName
public void setName(java.lang.String newName)
- Overrides:
setNamein classjava.awt.Component
-
setVisible
public void setVisible(boolean visible)
- Overrides:
setVisiblein classjavax.swing.JComponent
-
isAntialias
public boolean isAntialias()
-
setAntialias
public void setAntialias(boolean ignored)
-
getCursorCode
public int getCursorCode()
-
setCursorCode
public void setCursorCode(int cursorCode)
-
localeChanged
public void localeChanged(java.util.Locale newLocale)
- Specified by:
localeChangedin interfaceLocaleListener
-
getDynamicProps
public java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> getDynamicProps()
- Specified by:
getDynamicPropsin interfaceMutableDynamicPropertyProvider
-
setDynamicProps
public void setDynamicProps(java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> map)
- Specified by:
setDynamicPropsin interfaceMutableDynamicPropertyProvider
-
setPropertyValue
public void setPropertyValue(java.lang.String name, java.lang.Object value) throws java.lang.ClassCastException- Specified by:
setPropertyValuein interfaceDynamicPropertyProvider- Throws:
java.lang.ClassCastException
-
getPropertyValue
public java.lang.Object getPropertyValue(java.lang.String name)
- Specified by:
getPropertyValuein interfaceDynamicPropertyProvider
-
getProperties
public DynamicPropertyDescriptor[] getProperties()
- Specified by:
getPropertiesin interfaceDynamicPropertyProvider
-
isPropertyDefined
public boolean isPropertyDefined(java.lang.String name)
- Specified by:
isPropertyDefinedin interfaceDynamicPropertyProvider
-
initStyleListener
protected void initStyleListener()
-
getStyles
public Dataset getStyles()
- Specified by:
getStylesin interfaceStyleProvider
-
setStyles
public void setStyles(Dataset styleDS)
- Specified by:
setStylesin interfaceStyleProvider
-
startupComponent
public final void startupComponent(VisionClientContext context)
Description copied from interface:ComponentLifecycleCalled when the component is first shown.- Specified by:
startupComponentin interfaceComponentLifecycle
-
shutdownComponent
public final void shutdownComponent()
Description copied from interface:ComponentLifecycleCalled when the component is now shown anymore. Any long-running processes should be stopped. All bindings will have also been shutdown.- Specified by:
shutdownComponentin interfaceComponentLifecycle
-
isComponentRunning
protected boolean isComponentRunning()
Returns true when this component is "running", between startupComponent() and shutdownComponent()
-
getAppContext
public VisionClientContext getAppContext()
- Specified by:
getAppContextin interfaceComponentLifecycle
-
onStartup
protected void onStartup()
Subclasses should override this to provide startup logic.
-
onShutdown
protected void onShutdown()
Subclasses should override this to provide shutdown logic.
-
getQuality
public QualityCode getQuality()
Description copied from interface:QualityMonitorRetrieves the data quality code.- Specified by:
getQualityin interfaceQualityMonitor
-
getDataQuality
public int getDataQuality()
Description copied from interface:QualityMonitorFor backwards compatibility with scripts. Would be awesome if this could just be a default method, but there's a bug (JDK-8071693) that makes that not work with property introspection.- Specified by:
getDataQualityin interfaceQualityMonitor
-
setDataQuality
public void setDataQuality(int value)
- Specified by:
setDataQualityin interfaceQualityMonitor
-
setQuality
public void setQuality(QualityCode value)
Description copied from interface:QualityMonitorSets the current data quality to the given value- Specified by:
setQualityin interfaceQualityMonitor
-
updateQuality
public void updateQuality(java.lang.String propName, QualityCode quality)Description copied from interface:QualityMonitorUpdates the quality for the given property name. The monitor will then evaluate a new quality based on the quality of its other properties. Overall, the worst quality is chosen.- Specified by:
updateQualityin interfaceQualityMonitor
-
paintChildren
protected void paintChildren(java.awt.Graphics g)
- Overrides:
paintChildrenin classjavax.swing.JComponent
-
paintOverlayOverChildren
protected boolean paintOverlayOverChildren()
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponentin classjavax.swing.JComponent
-
-