Class TagStructurePanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.inductiveautomation.ignition.designer.tags.editing.dialog.TagStructurePanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.TreeSelectionListener
public class TagStructurePanel extends javax.swing.JPanel implements javax.swing.event.TreeSelectionListener
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
TagStructurePanel.EditSelectionListener
protected class
TagStructurePanel.ErrorNode
protected class
TagStructurePanel.InternalTransferable
protected class
TagStructurePanel.LoadingNode
protected class
TagStructurePanel.NewFolderAction
protected class
TagStructurePanel.NewTagAction
class
TagStructurePanel.StructureNode
static interface
TagStructurePanel.StructureNodeList
protected class
TagStructurePanel.StructureNodeRenderer
protected class
TagStructurePanel.TagAction
protected class
TagStructurePanel.UdtTransferHandler
-
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 static java.awt.datatransfer.DataFlavor
FLAVOR_STRUCTURE_NODE_LIST
-
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 TagStructurePanel(DesignerContext context, TagStructurePanel.EditSelectionListener listener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
protected void
collectEdits(java.util.List<TagConfiguration> config, TagStructurePanel.StructureNode node)
protected TagStructurePanel.StructureNode
configureNewNode(TagStructurePanel.StructureNode parent, TagConfiguration config, boolean isValid)
Prepares a structure node for the new tag.protected void
configureToolbar()
protected TagStructurePanel.StructureNode
find(TagPath path)
java.util.List<TagConfiguration>
getModifiedConfigurations()
Returns all edits, in order from shallow to deep.protected TagStructurePanel.StructureNode
getParentForNewItem()
Returns the valid parent for a new tag, or null if a new tag is not allowed given the current selection.protected TagStructurePanel.StructureNode
getRootIfStructureNode()
Returns the root tree node IF it's a structure node, otherwise null.TagPath
getRootPath()
protected javax.swing.tree.DefaultTreeModel
getTreeModel()
protected javax.swing.tree.TreePath
getTreePathFor(TagPath tag)
protected javax.swing.tree.TreePath
getTreePathFor(TagStructurePanel.StructureNode node)
protected void
initChildrenModels(TagStructurePanel.StructureNode src, TagStructurePanel.StructureNode dest)
When we copy a udt instance, we need to initialize the config models of everything beneath it, to maintain overrides and such.protected void
initComponents()
void
loadRootTag(TagPath rootObject)
Sets the path as the root of all relative operations- and loads that root if not null.protected void
loadTreeStructure(TagPath pathToLoad, TagStructurePanel.StructureNode treeNode)
This retrieves the nodes from the gateway.protected void
loadTreeStructureFinish(TagStructureTree tagTree, TagStructurePanel.StructureNode root, java.lang.String source)
Builds out the structure under a given node.void
markNodesChanged()
Marks the current selected nodes as being modified.void
newTag(TagConfiguration config)
Creates a new tag relative to the root path.protected void
processTreeNodes(TagStructureTree.TagNode tn, TagStructurePanel.StructureNode sn, java.lang.String source)
protected void
refreshEnabledItems()
protected void
setRoot(javax.swing.tree.TreeNode node)
protected void
setSelectedNodes(java.util.List<TagStructurePanel.StructureNode> nodes)
void
setSelectedTags(java.util.List<TagPath> tags)
void
valueChanged(javax.swing.event.TreeSelectionEvent e)
-
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
-
-
-
-
Constructor Detail
-
TagStructurePanel
public TagStructurePanel(DesignerContext context, TagStructurePanel.EditSelectionListener listener)
-
-
Method Detail
-
initComponents
protected void initComponents()
-
clear
public void clear()
-
getRootPath
public TagPath getRootPath()
-
getModifiedConfigurations
public java.util.List<TagConfiguration> getModifiedConfigurations()
Returns all edits, in order from shallow to deep.
-
collectEdits
protected void collectEdits(java.util.List<TagConfiguration> config, TagStructurePanel.StructureNode node)
-
loadRootTag
public void loadRootTag(TagPath rootObject)
Sets the path as the root of all relative operations- and loads that root if not null. Should only be null if we're creating a new root object, and newTag will be called next.
-
getTreeModel
protected javax.swing.tree.DefaultTreeModel getTreeModel()
-
getRootIfStructureNode
protected TagStructurePanel.StructureNode getRootIfStructureNode()
Returns the root tree node IF it's a structure node, otherwise null.
-
setRoot
protected void setRoot(javax.swing.tree.TreeNode node)
-
configureToolbar
protected void configureToolbar()
-
refreshEnabledItems
protected void refreshEnabledItems()
-
getParentForNewItem
protected TagStructurePanel.StructureNode getParentForNewItem()
Returns the valid parent for a new tag, or null if a new tag is not allowed given the current selection.
-
setSelectedTags
public void setSelectedTags(java.util.List<TagPath> tags)
-
getTreePathFor
protected javax.swing.tree.TreePath getTreePathFor(TagPath tag)
-
getTreePathFor
protected javax.swing.tree.TreePath getTreePathFor(TagStructurePanel.StructureNode node)
-
find
protected TagStructurePanel.StructureNode find(TagPath path) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
configureNewNode
protected TagStructurePanel.StructureNode configureNewNode(TagStructurePanel.StructureNode parent, TagConfiguration config, boolean isValid)
Prepares a structure node for the new tag. If the tag is complex, it will load its structure under it.
-
newTag
public void newTag(TagConfiguration config)
Creates a new tag relative to the root path. If the root is null, this will become the root.
-
loadTreeStructure
protected void loadTreeStructure(TagPath pathToLoad, TagStructurePanel.StructureNode treeNode)
This retrieves the nodes from the gateway. It may be the root object that we're editing or its parent type, if we're a new node.The tree node should not be null.
-
loadTreeStructureFinish
protected void loadTreeStructureFinish(TagStructureTree tagTree, TagStructurePanel.StructureNode root, java.lang.String source)
Builds out the structure under a given node. If node is null, a new node will be created and installed
-
processTreeNodes
protected void processTreeNodes(TagStructureTree.TagNode tn, TagStructurePanel.StructureNode sn, java.lang.String source)
-
valueChanged
public void valueChanged(javax.swing.event.TreeSelectionEvent e)
- Specified by:
valueChanged
in interfacejavax.swing.event.TreeSelectionListener
-
setSelectedNodes
protected void setSelectedNodes(java.util.List<TagStructurePanel.StructureNode> nodes)
-
markNodesChanged
public void markNodesChanged()
Marks the current selected nodes as being modified.
-
initChildrenModels
protected void initChildrenModels(TagStructurePanel.StructureNode src, TagStructurePanel.StructureNode dest)
When we copy a udt instance, we need to initialize the config models of everything beneath it, to maintain overrides and such. These don't exist yet on the gateway.
-
-