Class ComponentScopeEditor.BindingCompatibleNodeEditor
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.inductiveautomation.ignition.client.jsonedit.NodeEditor
-
- com.inductiveautomation.perspective.designer.workspace.propertyeditor.PerspectiveNodeEditor
-
- com.inductiveautomation.perspective.designer.workspace.propertyeditor.ComponentScopeEditor.BindingCompatibleNodeEditor
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible
- Enclosing class:
- ComponentScopeEditor
protected class ComponentScopeEditor.BindingCompatibleNodeEditor extends PerspectiveNodeEditor
This custom node editor is what extends the base Json Editor's node editor in order to add perspective-specific things like the binding control in the left-side gutter and the documentation and non-persistent indicators in the right-hand icon area.It also listens to the component prop document model for any changes to the overall prop config for the scope, and updates the ui accordingly.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.inductiveautomation.ignition.client.jsonedit.NodeEditor
NodeEditor.MainEditor, NodeEditor.ValueEditorComponent
-
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 inherited from class com.inductiveautomation.ignition.client.jsonedit.NodeEditor
GUTTER_BACKGROUND, GUTTER_BORDER
-
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 BindingCompatibleNodeEditor(JsonEditor jsonEditor, int depth, NodeEditor parentEditor, DocumentNode node)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidchangeNodeType(NodeType type)Called when the user requests a type change from the menu action item.protected javax.swing.JComponentcreateValueEditor(DocumentNode node, java.awt.event.MouseListener popupListener)Called for "value" nodes, that is, nodes that are not objects or arrays, in order to create an editor for them.protected java.lang.StringgetAddChildText(DocumentNode parent)protected java.util.Optional<javax.swing.JComponent>getObjectHelper(JsonSchema schema)Called for object-typed nodes, in order to optionally create a helper component that will be added to the right of the object size indicator.protected voidinitContextMenu(javax.swing.JPopupMenu menu)Called to initialize the context menu at the very end (to add actions after the cut, copy, paste, delete, and type actions.protected voidinitContextMenuAdditionalActions(javax.swing.JPopupMenu menu)protected voidonDestroy()Subclasses may override this to do something when the editor is being destroyedprotected voidonInit()Subclasses may override this to provide custom initialization.protected voidonPropConfigChanged(PropertyConfigCollection newCollection)protected voidopenBindingEditor(BindingConfig binding)-
Methods inherited from class com.inductiveautomation.perspective.designer.workspace.propertyeditor.PerspectiveNodeEditor
createKeyEditor
-
Methods inherited from class com.inductiveautomation.ignition.client.jsonedit.NodeEditor
addAfterChildrenUpdateCallback, applyFilter, clearFilter, commitEdit, destroy, getArrayHelper, getChildPanel, getDepth, getMainEditor, getNode, getParentEditor, getPath, isExpanded, isFullyLoaded, isMutable, setExpanded, startEditing, toString, visit
-
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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
BindingCompatibleNodeEditor
public BindingCompatibleNodeEditor(JsonEditor jsonEditor, int depth, @Nullable NodeEditor parentEditor, @Nullable DocumentNode node)
-
-
Method Detail
-
onPropConfigChanged
protected void onPropConfigChanged(PropertyConfigCollection newCollection)
-
onInit
protected void onInit()
Description copied from class:NodeEditorSubclasses may override this to provide custom initialization.- Overrides:
onInitin classNodeEditor
-
changeNodeType
protected void changeNodeType(NodeType type)
Called when the user requests a type change from the menu action item. Checks to see if the model will have any orphaned bindings caused by a type change and warns users before committing to the change.- Overrides:
changeNodeTypein classNodeEditor
-
getObjectHelper
protected java.util.Optional<javax.swing.JComponent> getObjectHelper(JsonSchema schema)
Description copied from class:NodeEditorCalled for object-typed nodes, in order to optionally create a helper component that will be added to the right of the object size indicator.- Overrides:
getObjectHelperin classNodeEditor
-
createValueEditor
protected javax.swing.JComponent createValueEditor(DocumentNode node, java.awt.event.MouseListener popupListener)
Description copied from class:NodeEditorCalled for "value" nodes, that is, nodes that are not objects or arrays, in order to create an editor for them.If your editor happens to implement
NodeEditor.ValueEditorComponent, you'll get additional functionality like schema and ui lifecycle support- Overrides:
createValueEditorin classNodeEditorpopupListener- Mouse listener to add to any interior components in order for the context menu to work correctly- Returns:
- A component to use as the editor
-
onDestroy
protected void onDestroy()
Description copied from class:NodeEditorSubclasses may override this to do something when the editor is being destroyed- Overrides:
onDestroyin classNodeEditor
-
initContextMenu
protected void initContextMenu(javax.swing.JPopupMenu menu)
Description copied from class:NodeEditorCalled to initialize the context menu at the very end (to add actions after the cut, copy, paste, delete, and type actions.- Overrides:
initContextMenuin classNodeEditor
-
initContextMenuAdditionalActions
protected void initContextMenuAdditionalActions(javax.swing.JPopupMenu menu)
- Overrides:
initContextMenuAdditionalActionsin classNodeEditor
-
getAddChildText
protected java.lang.String getAddChildText(DocumentNode parent)
- Overrides:
getAddChildTextin classNodeEditor
-
openBindingEditor
protected void openBindingEditor(@Nullable BindingConfig binding)
-
-