Class ConfigPropertyEditPanel<T extends PropertyConfigurationController>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.inductiveautomation.ignition.designer.propertyeditor.config.ConfigPropertyEditPanel<T>
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible
- Direct Known Subclasses:
TagEditorDialog.TagPropertyEditPanel,TagGroupEditorPanel.TagGroupPropertyPanel
public class ConfigPropertyEditPanel<T extends PropertyConfigurationController> extends javax.swing.JPanelHolds the editor table and custom property button. Listens to property change events.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceConfigPropertyEditPanel.ClearPropertyHandlerAny class implementing this is fully responsible for removing a property from the target PropertySet, and calling ConfigPropertyEditPanel#onPropertyChanged and ConfigPropertyEditPanel#rebuildModelprotected classConfigPropertyEditPanel.EditorRendererprotected classConfigPropertyEditPanel.PropWrapperEditObserver<T>-
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 DesignerContextcontextprotected ConfigPropertyEditorRenderereditorprotected static PropertyEditModelEMPTY_EDIT_MODELprotected java.util.Comparator<Property>namePropertyFirstprotected com.jidesoft.grid.PropertyPanepaneprotected ConfigPropertyEditorRendererrendererprotected ConfigPropertyTabletable-
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
-
-
Constructor Summary
Constructors Constructor Description ConfigPropertyEditPanel(DesignerContext context, boolean allowCustomProperties)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancelEdit()voidclear()protected voidconfigureMenuForProperty(javax.swing.JPopupMenu menu, PropWrapper property)protected ConfigPropTableModelcreateModelFrom(java.util.List<PropWrapper> newModel)protected voideditCustomProperty(Property<?> current)protected voidevaluateModelForPropertyChange(Property<?> prop)protected java.util.List<?>filterOptions(Property<?> prop, java.util.Collection<?> options)We may want to further filter the options based on the propvoidfirePropertyValueUpdated(java.lang.String property)protected java.util.Collection<Property<?>>getPropertiesForTarget()protected Property<?>getPropertyAt(int row)protected java.lang.ObjectgetPropertyValue(Property<?> prop)protected Property<?>getSelectedProperty()TgetTarget()voidinit(boolean allowCustomProperties)protected voidinitToolBar(boolean allowCustomProperties)protected booleanisCustomProperty(Property<?> prop)protected booleanisPropertyBindable(Property<?> prop)protected booleanisPropertyMetaMutable(T target, Property<?> prop)protected booleanisPropertyMutable(T target, Property<?> prop)protected booleanisPropertyVisible(T target, Property<?> prop)protected voidonBeforePropertyChange(Property<?> prop, java.lang.Object oldValue, java.lang.Object newValue)voidonPropertyChanged(Property<?> prop)Should be called when we know a property has changed.protected voidrebuildInternal()protected voidrebuildModel()voidsetTarget(T target)protected voidshowCustomEditor(Property<?> prop, CustomPropertyEditor editor)booleanstopCellEditing()protected <T> PropWrapper<T>toWrapper(Property<T> prop)protected booleanvalidateEdit(Property<?> prop, java.lang.Object newValue)-
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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, 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, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
EMPTY_EDIT_MODEL
protected static PropertyEditModel EMPTY_EDIT_MODEL
-
context
protected final DesignerContext context
-
pane
protected com.jidesoft.grid.PropertyPane pane
-
table
protected ConfigPropertyTable table
-
editor
protected ConfigPropertyEditorRenderer editor
-
renderer
protected ConfigPropertyEditorRenderer renderer
-
namePropertyFirst
protected java.util.Comparator<Property> namePropertyFirst
-
-
Constructor Detail
-
ConfigPropertyEditPanel
public ConfigPropertyEditPanel(DesignerContext context, boolean allowCustomProperties)
-
-
Method Detail
-
getTarget
public T getTarget()
-
setTarget
public void setTarget(T target)
-
clear
public void clear()
-
firePropertyValueUpdated
public void firePropertyValueUpdated(java.lang.String property)
-
init
public void init(boolean allowCustomProperties)
-
initToolBar
protected void initToolBar(boolean allowCustomProperties)
-
editCustomProperty
protected void editCustomProperty(Property<?> current)
-
getPropertyValue
protected java.lang.Object getPropertyValue(Property<?> prop)
-
getSelectedProperty
protected Property<?> getSelectedProperty()
-
getPropertyAt
protected Property<?> getPropertyAt(int row)
-
isCustomProperty
protected boolean isCustomProperty(Property<?> prop)
-
rebuildModel
protected void rebuildModel()
-
evaluateModelForPropertyChange
protected void evaluateModelForPropertyChange(Property<?> prop)
-
cancelEdit
public void cancelEdit()
-
rebuildInternal
protected void rebuildInternal()
-
getPropertiesForTarget
protected java.util.Collection<Property<?>> getPropertiesForTarget()
-
stopCellEditing
public boolean stopCellEditing()
-
createModelFrom
protected ConfigPropTableModel createModelFrom(java.util.List<PropWrapper> newModel)
-
validateEdit
protected boolean validateEdit(Property<?> prop, java.lang.Object newValue)
-
isPropertyBindable
protected boolean isPropertyBindable(Property<?> prop)
-
filterOptions
protected java.util.List<?> filterOptions(Property<?> prop, java.util.Collection<?> options)
We may want to further filter the options based on the prop
-
toWrapper
protected <T> PropWrapper<T> toWrapper(Property<T> prop)
-
showCustomEditor
protected void showCustomEditor(Property<?> prop, CustomPropertyEditor editor)
-
configureMenuForProperty
protected void configureMenuForProperty(javax.swing.JPopupMenu menu, PropWrapper property)
-
onBeforePropertyChange
protected void onBeforePropertyChange(Property<?> prop, java.lang.Object oldValue, java.lang.Object newValue) throws java.beans.PropertyVetoException
- Throws:
java.beans.PropertyVetoException
-
onPropertyChanged
public void onPropertyChanged(Property<?> prop)
Should be called when we know a property has changed. Public since occasionally that is handled externally, like for custom editors.
-
-