Class PMIComboBox
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JComboBox
-
- com.inductiveautomation.factorypmi.application.components.PMIComboBox
-
- All Implemented Interfaces:
DynamicPropertyProvider,LocaleListener,MutableDynamicPropertyProvider,StyleProvider,ComponentLifecycle,EnabledEx,QualityMonitor,VisionComponent,java.awt.event.ActionListener,java.awt.image.ImageObserver,java.awt.ItemSelectable,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.event.ListDataListener
public class PMIComboBox extends javax.swing.JComboBox implements MutableDynamicPropertyProvider, StyleProvider, VisionComponent, EnabledEx, LocaleListener
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classPMIComboBox.DataSetComboBoxModelclassPMIComboBox.DataSetListCellRenderer-
Nested classes/interfaces inherited from class javax.swing.JComboBox
javax.swing.JComboBox.AccessibleJComboBox, javax.swing.JComboBox.KeySelectionManager
-
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 Datasetdatastatic java.lang.StringLABEL_FORMATstatic intLISTstatic intMODE_EDITABLEstatic intMODE_LENIENTstatic intMODE_STRICTprotected PMIComboBox.DataSetComboBoxModelmodelprotected java.awt.ColorselectionBackgroundstatic intTABLE-
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
-
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 com.inductiveautomation.vision.api.client.components.model.EnabledEx
DISABLED_BY_PERMISSIONS
-
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 PMIComboBox()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcontentsChanged(javax.swing.event.ListDataEvent e)voidevaluateEnabled()VisionClientContextgetAppContext()intgetCursorCode()DatasetgetData()intgetDataQuality()For backwards compatibility with scripts.java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor>getDynamicProps()intgetEffectiveRowHeight()When the actual row height is -1, an automatic height is chosen from the current font metrics in order to fit the dropdown options.java.lang.StringgetHideTableColumns()intgetHorizontalAlignment()intgetMaxTableHeight()intgetMaxTableWidth()intgetMode()java.lang.StringgetNoSelectionLabel()java.lang.StringgetNoSelectionString()intgetNoSelectionValue()DynamicPropertyDescriptor[]getProperties()java.lang.ObjectgetPropertyValue(java.lang.String name)QualityCodegetQuality()Retrieves the data quality code.intgetRowHeight()com.inductiveautomation.factorypmi.application.components.PMIComboBox.DataSetComboBoxModel.CBSelectiongetSelectedItem()java.lang.StringgetSelectedLabel()java.lang.StringgetSelectedStringValue()java.lang.IntegergetSelectedValue()java.awt.ColorgetSelectionBackground()intgetSelectionMode()DatasetgetStyles()java.lang.StringgetToolTipText()DatasetgetTranslatedData()intgetVerticalAlignment()booleanisAntialias()booleanisComponentEnabled()booleanisOpaque()booleanisPropertyDefined(java.lang.String name)booleanisShowTableHeader()voidlocaleChanged(java.util.Locale newLocale)protected voidpaintChildren(java.awt.Graphics g)protected voidpaintComponent(java.awt.Graphics g)voidsetAntialias(boolean ignored)voidsetComponentEnabled(boolean componentEnabled)voidsetCursorCode(int cursorCode)voidsetData(Dataset set)voidsetDataQuality(int value)voidsetDynamicProps(java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> map)voidsetHideTableColumns(java.lang.String hideTableColumns)voidsetHorizontalAlignment(int horizontalAlignment)voidsetMaxTableHeight(int maxTableHeight)voidsetMaxTableWidth(int maxTableWidth)voidsetMode(int mode)voidsetName(java.lang.String newName)protected voidsetNoSelection(com.inductiveautomation.factorypmi.application.components.PMIComboBox.DataSetComboBoxModel.CBSelection sel)voidsetNoSelectionLabel(java.lang.String noSelectionLabel)voidsetNoSelectionString(java.lang.String noSelectionString)voidsetNoSelectionValue(int noSelectionValue)voidsetPropertyValue(java.lang.String name, java.lang.Object value)voidsetQuality(QualityCode value)Sets the current data quality to the given valuevoidsetRowHeight(int rowHeight)voidsetSelectedItem(java.lang.Object anObject)voidsetSelectedLabel(java.lang.String value)voidsetSelectedStringValue(java.lang.String value)voidsetSelectedValue(java.lang.Integer value)voidsetSelectedValue(java.lang.Number n)voidsetSelectionBackground(java.awt.Color selectionColor)voidsetSelectionMode(int selectionMode)voidsetShowTableHeader(boolean showTableHeader)voidsetStyles(Dataset styleDS)voidsetToolTipText(java.lang.String text)voidsetVerticalAlignment(int verticalAlignment)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.StringtranslateTerm(java.lang.String term)voidupdateQuality(java.lang.String propName, QualityCode quality)Updates the quality for the given property name.-
Methods inherited from class javax.swing.JComboBox
actionPerformed, actionPropertyChanged, addActionListener, addItem, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyBinding, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setUI, showPopup, 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, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, 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, 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
-
MODE_STRICT
public static final int MODE_STRICT
- See Also:
- Constant Field Values
-
MODE_LENIENT
public static final int MODE_LENIENT
- See Also:
- Constant Field Values
-
MODE_EDITABLE
public static final int MODE_EDITABLE
- See Also:
- Constant Field Values
-
LIST
public static final int LIST
- See Also:
- Constant Field Values
-
TABLE
public static final int TABLE
- See Also:
- Constant Field Values
-
LABEL_FORMAT
public static final java.lang.String LABEL_FORMAT
- See Also:
- Constant Field Values
-
model
protected PMIComboBox.DataSetComboBoxModel model
-
selectionBackground
protected java.awt.Color selectionBackground
-
data
protected Dataset data
-
cursorCode
protected int cursorCode
-
antialias
protected boolean antialias
-
context
protected VisionClientContext context
The current ClientContext that is set on startupComponent()
-
-
Method Detail
-
translateTerm
protected java.lang.String translateTerm(java.lang.String term)
-
getCursorCode
public int getCursorCode()
-
setCursorCode
public void setCursorCode(int cursorCode)
-
isComponentEnabled
public boolean isComponentEnabled()
- Specified by:
isComponentEnabledin interfaceEnabledEx
-
setComponentEnabled
public void setComponentEnabled(boolean componentEnabled)
- Specified by:
setComponentEnabledin interfaceEnabledEx
-
evaluateEnabled
public void evaluateEnabled()
- Specified by:
evaluateEnabledin interfaceEnabledEx
-
setVisible
public void setVisible(boolean visible)
- Overrides:
setVisiblein classjavax.swing.JComponent
-
setSelectedItem
public void setSelectedItem(java.lang.Object anObject)
- Overrides:
setSelectedItemin classjavax.swing.JComboBox
-
contentsChanged
public void contentsChanged(javax.swing.event.ListDataEvent e)
- Specified by:
contentsChangedin interfacejavax.swing.event.ListDataListener- Overrides:
contentsChangedin classjavax.swing.JComboBox
-
setToolTipText
public void setToolTipText(java.lang.String text)
- Overrides:
setToolTipTextin classjavax.swing.JComponent
-
getToolTipText
public java.lang.String getToolTipText()
- Overrides:
getToolTipTextin classjavax.swing.JComponent
-
isAntialias
public boolean isAntialias()
-
setAntialias
public void setAntialias(boolean ignored)
-
getMode
public int getMode()
-
setMode
public void setMode(int mode)
-
setName
public void setName(java.lang.String newName)
- Overrides:
setNamein classjava.awt.Component
-
getData
public Dataset getData()
-
getTranslatedData
public Dataset getTranslatedData()
-
setData
public void setData(Dataset set)
-
getSelectedValue
public java.lang.Integer getSelectedValue()
-
getSelectedStringValue
public java.lang.String getSelectedStringValue()
-
getSelectedLabel
public java.lang.String getSelectedLabel()
-
getSelectedItem
public com.inductiveautomation.factorypmi.application.components.PMIComboBox.DataSetComboBoxModel.CBSelection getSelectedItem()
- Overrides:
getSelectedItemin classjavax.swing.JComboBox
-
setSelectedValue
public void setSelectedValue(java.lang.Integer value)
-
setSelectedStringValue
public void setSelectedStringValue(java.lang.String value)
-
setSelectedValue
public void setSelectedValue(java.lang.Number n) throws org.python.core.PyIgnoreMethodTag- Throws:
org.python.core.PyIgnoreMethodTag
-
setSelectedLabel
public void setSelectedLabel(java.lang.String value)
-
localeChanged
public void localeChanged(java.util.Locale newLocale)
- Specified by:
localeChangedin interfaceLocaleListener
-
isOpaque
public boolean isOpaque()
- Overrides:
isOpaquein classjavax.swing.JComponent
-
getHorizontalAlignment
public int getHorizontalAlignment()
-
setHorizontalAlignment
public void setHorizontalAlignment(int horizontalAlignment)
-
getVerticalAlignment
public int getVerticalAlignment()
-
setVerticalAlignment
public void setVerticalAlignment(int verticalAlignment)
-
getSelectionBackground
public java.awt.Color getSelectionBackground()
-
setSelectionBackground
public void setSelectionBackground(java.awt.Color selectionColor)
-
setNoSelection
protected void setNoSelection(com.inductiveautomation.factorypmi.application.components.PMIComboBox.DataSetComboBoxModel.CBSelection sel)
-
getNoSelectionValue
public int getNoSelectionValue()
-
setNoSelectionValue
public void setNoSelectionValue(int noSelectionValue)
-
getNoSelectionString
public java.lang.String getNoSelectionString()
-
setNoSelectionString
public void setNoSelectionString(java.lang.String noSelectionString)
-
getNoSelectionLabel
public java.lang.String getNoSelectionLabel()
-
setNoSelectionLabel
public void setNoSelectionLabel(java.lang.String noSelectionLabel)
-
isShowTableHeader
public boolean isShowTableHeader()
-
setShowTableHeader
public void setShowTableHeader(boolean showTableHeader)
-
getHideTableColumns
public java.lang.String getHideTableColumns()
-
setHideTableColumns
public void setHideTableColumns(java.lang.String hideTableColumns)
-
getMaxTableWidth
public int getMaxTableWidth()
-
setMaxTableWidth
public void setMaxTableWidth(int maxTableWidth)
-
getMaxTableHeight
public int getMaxTableHeight()
-
setMaxTableHeight
public void setMaxTableHeight(int maxTableHeight)
-
getRowHeight
public int getRowHeight()
-
getEffectiveRowHeight
public int getEffectiveRowHeight()
When the actual row height is -1, an automatic height is chosen from the current font metrics in order to fit the dropdown options. Call this to retrieve the current non-negative row height- Returns:
- the current row height if >= 0, otherwise the height of the current font metrics
-
setRowHeight
public void setRowHeight(int rowHeight)
-
getSelectionMode
public int getSelectionMode()
-
setSelectionMode
public void setSelectionMode(int selectionMode)
-
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
-
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
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponentin classjavax.swing.JComponent
-
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
-
getAppContext
public VisionClientContext getAppContext()
- Specified by:
getAppContextin interfaceComponentLifecycle
-
-