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.JPanel
Holds 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 protected class
ConfigPropertyEditPanel.EditorRenderer
protected class
ConfigPropertyEditPanel.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 DesignerContext
context
protected ConfigPropertyEditorRenderer
editor
protected static PropertyEditModel
EMPTY_EDIT_MODEL
protected java.util.Comparator<Property>
namePropertyFirst
protected com.jidesoft.grid.PropertyPane
pane
protected ConfigPropertyEditorRenderer
renderer
protected ConfigPropertyTable
table
-
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 void
cancelEdit()
void
clear()
protected void
configureMenuForProperty(javax.swing.JPopupMenu menu, PropWrapper property)
protected ConfigPropTableModel
createModelFrom(java.util.List<PropWrapper> newModel)
protected void
editCustomProperty(Property<?> current)
protected void
evaluateModelForPropertyChange(Property<?> prop)
protected java.util.List<?>
filterOptions(Property<?> prop, java.util.Collection<?> options)
We may want to further filter the options based on the propvoid
firePropertyValueUpdated(java.lang.String property)
protected java.util.Collection<Property<?>>
getPropertiesForTarget()
protected Property<?>
getPropertyAt(int row)
protected java.lang.Object
getPropertyValue(Property<?> prop)
protected Property<?>
getSelectedProperty()
T
getTarget()
void
init(boolean allowCustomProperties)
protected void
initToolBar(boolean allowCustomProperties)
protected boolean
isCustomProperty(Property<?> prop)
protected boolean
isPropertyBindable(Property<?> prop)
protected boolean
isPropertyMetaMutable(T target, Property<?> prop)
protected boolean
isPropertyMutable(T target, Property<?> prop)
protected boolean
isPropertyVisible(T target, Property<?> prop)
protected void
onBeforePropertyChange(Property<?> prop, java.lang.Object oldValue, java.lang.Object newValue)
void
onPropertyChanged(Property<?> prop)
Should be called when we know a property has changed.protected void
rebuildInternal()
protected void
rebuildModel()
void
setTarget(T target)
protected void
showCustomEditor(Property<?> prop, CustomPropertyEditor editor)
boolean
stopCellEditing()
protected <T> PropWrapper<T>
toWrapper(Property<T> prop)
protected boolean
validateEdit(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.
-
-