Class AbstractVisionComponent
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- com.inductiveautomation.vision.api.client.components.model.AbstractVisionComponent
-
- All Implemented Interfaces:
DynamicPropertyProvider
,LocaleListener
,MutableDynamicPropertyProvider
,StyleProvider
,ComponentLifecycle
,QualityMonitor
,VisionComponent
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
- Direct Known Subclasses:
AbstractRangedComponent
,AbstractVisionBufferedComponent
,AbstractVisionShape
,LinearScale
,PMIBarcode
,PMIDigitalDisplay
,PMILightrailSignal
,PMILine
,PMIPaintableCanvas
,PMIRectangle
,PMIShape
,PMISoundComponent
,PMITrackSegment
,RadarChart
,RadarChart2
,SparklineChart
public abstract class AbstractVisionComponent extends javax.swing.JComponent implements MutableDynamicPropertyProvider, StyleProvider, VisionComponent, LocaleListener
An abstract subclass of JComponent 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
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
antialias
protected VisionClientContext
context
The current ClientContext that is set on startupComponent()protected int
cursorCode
-
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.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 Modifier Constructor Description protected
AbstractVisionComponent()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VisionClientContext
getAppContext()
int
getCursorCode()
int
getDataQuality()
For backwards compatibility with scripts.java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor>
getDynamicProps()
DynamicPropertyDescriptor[]
getProperties()
java.lang.Object
getPropertyValue(java.lang.String name)
QualityCode
getQuality()
Retrieves the data quality code.Dataset
getStyles()
java.lang.String
getToolTipText()
boolean
isAntialias()
boolean
isPropertyDefined(java.lang.String name)
void
localeChanged(java.util.Locale newLocale)
protected void
onShutdown()
Subclasses should override this to provide shutdown logic.protected void
onStartup()
Subclasses should override this to provide startup logic.protected void
paintChildren(java.awt.Graphics g)
protected void
paintComponent(java.awt.Graphics g)
void
setAntialias(boolean ignored)
void
setCursorCode(int cursorCode)
void
setDataQuality(int value)
void
setDynamicProps(java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> map)
void
setName(java.lang.String newName)
void
setPropertyValue(java.lang.String name, java.lang.Object value)
void
setQuality(QualityCode value)
Sets the current data quality to the given valuevoid
setStyles(Dataset styleDS)
void
setToolTipText(java.lang.String text)
void
setVisible(boolean visible)
void
shutdownComponent()
Called when the component is now shown anymore.void
startupComponent(VisionClientContext context)
Called when the component is first shown.void
updateQuality(java.lang.String propName, QualityCode quality)
Updates the quality for the given property name.-
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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintImmediately, paintImmediately, paramString, 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, updateUI
-
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, getAccessibleContext, 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
-
-
Method Detail
-
setToolTipText
public void setToolTipText(java.lang.String text)
- Overrides:
setToolTipText
in classjavax.swing.JComponent
-
getToolTipText
public java.lang.String getToolTipText()
- Overrides:
getToolTipText
in classjavax.swing.JComponent
-
setName
public void setName(java.lang.String newName)
- Overrides:
setName
in classjava.awt.Component
-
setVisible
public void setVisible(boolean visible)
- Overrides:
setVisible
in classjavax.swing.JComponent
-
getCursorCode
public int getCursorCode()
-
setCursorCode
public void setCursorCode(int cursorCode)
-
localeChanged
public void localeChanged(java.util.Locale newLocale)
- Specified by:
localeChanged
in interfaceLocaleListener
-
isAntialias
public boolean isAntialias()
-
setAntialias
public void setAntialias(boolean ignored)
-
getDynamicProps
public java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> getDynamicProps()
- Specified by:
getDynamicProps
in interfaceMutableDynamicPropertyProvider
-
setDynamicProps
public void setDynamicProps(java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> map)
- Specified by:
setDynamicProps
in interfaceMutableDynamicPropertyProvider
-
setPropertyValue
public void setPropertyValue(java.lang.String name, java.lang.Object value) throws java.lang.ClassCastException
- Specified by:
setPropertyValue
in interfaceDynamicPropertyProvider
- Throws:
java.lang.ClassCastException
-
getPropertyValue
public java.lang.Object getPropertyValue(java.lang.String name)
- Specified by:
getPropertyValue
in interfaceDynamicPropertyProvider
-
getProperties
public DynamicPropertyDescriptor[] getProperties()
- Specified by:
getProperties
in interfaceDynamicPropertyProvider
-
isPropertyDefined
public boolean isPropertyDefined(java.lang.String name)
- Specified by:
isPropertyDefined
in interfaceDynamicPropertyProvider
-
getStyles
public Dataset getStyles()
- Specified by:
getStyles
in interfaceStyleProvider
-
setStyles
public void setStyles(Dataset styleDS)
- Specified by:
setStyles
in interfaceStyleProvider
-
startupComponent
public final void startupComponent(VisionClientContext context)
Description copied from interface:ComponentLifecycle
Called when the component is first shown.- Specified by:
startupComponent
in interfaceComponentLifecycle
-
shutdownComponent
public final void shutdownComponent()
Description copied from interface:ComponentLifecycle
Called when the component is now shown anymore. Any long-running processes should be stopped. All bindings will have also been shutdown.- Specified by:
shutdownComponent
in interfaceComponentLifecycle
-
getAppContext
public VisionClientContext getAppContext()
- Specified by:
getAppContext
in 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
@Nullable public QualityCode getQuality()
Description copied from interface:QualityMonitor
Retrieves the data quality code.- Specified by:
getQuality
in interfaceQualityMonitor
-
getDataQuality
public int getDataQuality()
Description copied from interface:QualityMonitor
For 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:
getDataQuality
in interfaceQualityMonitor
-
setDataQuality
public void setDataQuality(int value)
- Specified by:
setDataQuality
in interfaceQualityMonitor
-
setQuality
public void setQuality(QualityCode value)
Description copied from interface:QualityMonitor
Sets the current data quality to the given value- Specified by:
setQuality
in interfaceQualityMonitor
-
updateQuality
public void updateQuality(java.lang.String propName, QualityCode quality)
Description copied from interface:QualityMonitor
Updates 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:
updateQuality
in interfaceQualityMonitor
-
paintChildren
protected void paintChildren(java.awt.Graphics g)
- Overrides:
paintChildren
in classjavax.swing.JComponent
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponent
in classjavax.swing.JComponent
-
-