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:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Enclosing class:
- ComponentScopeEditor
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.inductiveautomation.ignition.client.jsonedit.NodeEditor
NodeEditor.MainEditor, NodeEditor.MainEditorLayout, NodeEditor.ValueEditorComponent
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
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
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorsConstructorDescriptionBindingCompatibleNodeEditor
(JsonEditor jsonEditor, int depth, NodeEditor parentEditor, DocumentNode node) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
changeNodeType
(NodeType type) Called when the user requests a type change from the menu action item.protected JComponent
createValueEditor
(DocumentNode node, MouseListener popupListener) Called for "value" nodes, that is, nodes that are not objects or arrays, in order to create an editor for them.protected String
getAddChildText
(DocumentNode parent) protected Optional<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 void
initContextMenu
(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 void
Subclasses may override this to do something when the editor is being destroyedprotected void
onInit()
Subclasses may override this to provide custom initialization.protected void
onPropConfigChanged
(PropertyConfigCollection newCollection) protected void
openBindingEditor
(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, initContextMenuAdditionalActions, 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 Details
-
BindingCompatibleNodeEditor
public BindingCompatibleNodeEditor(JsonEditor jsonEditor, int depth, @Nullable NodeEditor parentEditor, @Nullable DocumentNode node)
-
-
Method Details
-
onPropConfigChanged
-
onInit
protected void onInit()Description copied from class:NodeEditor
Subclasses may override this to provide custom initialization.- Overrides:
onInit
in classNodeEditor
-
changeNodeType
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:
changeNodeType
in classNodeEditor
-
getObjectHelper
Description copied from class:NodeEditor
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.- Overrides:
getObjectHelper
in classNodeEditor
-
createValueEditor
Description copied from class:NodeEditor
Called 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:
createValueEditor
in classNodeEditor
popupListener
- 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:NodeEditor
Subclasses may override this to do something when the editor is being destroyed- Overrides:
onDestroy
in classNodeEditor
-
initContextMenu
Description copied from class:NodeEditor
Called to initialize the context menu at the very end (to add actions after the cut, copy, paste, delete, and type actions.- Overrides:
initContextMenu
in classNodeEditor
-
getAddChildText
- Overrides:
getAddChildText
in classNodeEditor
-
openBindingEditor
-