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.ValueEditorComponentNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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_BORDERFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 voidchangeNodeType(NodeType type) Called when the user requests a type change from the menu action item.protected JComponentcreateValueEditor(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 StringgetAddChildText(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 voidinitContextMenu(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 voidSubclasses 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
createKeyEditorMethods 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, visitMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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:NodeEditorSubclasses may override this to provide custom initialization.- Overrides:
onInitin 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:
changeNodeTypein classNodeEditor
-
getObjectHelper
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
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
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
-
getAddChildText
- Overrides:
getAddChildTextin classNodeEditor
-
openBindingEditor
-