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,ImageObserver,MenuContainer,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 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:
-
Nested Class Summary
Nested 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 VisionClientContextThe current ClientContext that is set on startupComponent()protected intFields 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 com.inductiveautomation.vision.api.client.binding.MutableDynamicPropertyProvider
RESERVED_SET_KEYFields 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 TypeMethodDescriptionintintFor backwards compatibility with scripts.getPropertyValue(String name) Retrieves the data quality code.booleanbooleanisPropertyDefined(String name) voidlocaleChanged(Locale newLocale) protected voidSubclasses should override this to provide shutdown logic.protected voidSubclasses should override this to provide startup logic.protected voidprotected voidvoidsetAntialias(boolean ignored) voidsetCursorCode(int cursorCode) voidsetDataQuality(int value) voidvoidvoidsetPropertyValue(String name, Object value) voidsetQuality(QualityCode value) Sets the current data quality to the given valuevoidvoidsetToolTipText(String text) voidsetVisible(boolean visible) final voidCalled when the component is now shown anymore.final voidstartupComponent(VisionClientContext context) Called when the component is first shown.voidupdateQuality(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, updateUIMethods 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, 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 Details
-
context
The current ClientContext that is set on startupComponent() -
cursorCode
protected int cursorCode -
antialias
protected boolean antialias
-
-
Constructor Details
-
AbstractVisionComponent
protected AbstractVisionComponent()
-
-
Method Details
-
setToolTipText
- Overrides:
setToolTipTextin classJComponent
-
getToolTipText
- Overrides:
getToolTipTextin classJComponent
-
setName
-
setVisible
public void setVisible(boolean visible) - Overrides:
setVisiblein classJComponent
-
getCursorCode
public int getCursorCode() -
setCursorCode
public void setCursorCode(int cursorCode) -
localeChanged
- Specified by:
localeChangedin interfaceLocaleListener
-
isAntialias
public boolean isAntialias() -
setAntialias
public void setAntialias(boolean ignored) -
getDynamicProps
- Specified by:
getDynamicPropsin interfaceMutableDynamicPropertyProvider
-
setDynamicProps
- Specified by:
setDynamicPropsin interfaceMutableDynamicPropertyProvider
-
setPropertyValue
- Specified by:
setPropertyValuein interfaceDynamicPropertyProvider- Throws:
ClassCastException
-
getPropertyValue
- Specified by:
getPropertyValuein interfaceDynamicPropertyProvider
-
getProperties
- Specified by:
getPropertiesin interfaceDynamicPropertyProvider
-
isPropertyDefined
- Specified by:
isPropertyDefinedin interfaceDynamicPropertyProvider
-
getStyles
- Specified by:
getStylesin interfaceStyleProvider
-
setStyles
- Specified by:
setStylesin interfaceStyleProvider
-
startupComponent
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
-
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
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
Description copied from interface:QualityMonitorSets the current data quality to the given value- Specified by:
setQualityin interfaceQualityMonitor
-
updateQuality
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
- Overrides:
paintChildrenin classJComponent
-
paintComponent
- Overrides:
paintComponentin classJComponent
-