Class FolderNode
- java.lang.Object
-
- com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode
-
- com.inductiveautomation.ignition.designer.navtree.model.AbstractResourceNavTreeNode
-
- com.inductiveautomation.ignition.designer.navtree.model.FolderNode
-
- All Implemented Interfaces:
java.lang.Iterable<AbstractNavTreeNode>
,javax.swing.tree.TreeNode
- Direct Known Subclasses:
PipelineFolderNode
,ResourceFolderNode
,ScriptPackageNode
,SfcFolderNode
,TemplateFolderNode
,WindowFolderNode
public abstract class FolderNode extends AbstractResourceNavTreeNode
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FolderNode.NewFolderAction
-
Nested classes/interfaces inherited from class com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode
AbstractNavTreeNode.DeleteReason, AbstractNavTreeNode.PopupAction
-
-
Field Summary
Fields Modifier and Type Field Description protected javax.swing.Action
newFolderAction
Action available for use in subclasses to add a new folder.protected static java.util.Comparator<ProjectResource>
resourceComparator
protected int
resourceScope
-
Fields inherited from class com.inductiveautomation.ignition.designer.navtree.model.AbstractResourceNavTreeNode
context, inheritedIcon, overrideAction, overrideEnabledAction, overrideEnabledMenuItem, protectedAction, protectedMenuItem, resourceId, resourcePath, restricted
-
Fields inherited from class com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode
bold, children, childrenLoaded, copyAction, copyPathAction, cutAction, deleteAction, depth, icon, italic, log, model, name, parent, pasteAction, renameAction, selectionModel, text, thumbnail, tooltip
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FolderNode(DesignerContext context, ProjectResource resource, int scope)
protected
FolderNode(DesignerContext context, ResourcePath path, int scope)
protected
FolderNode(DesignerContext context, ResourceType resourceType, int scope)
Root resource folder constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addOverrideEnabledMenuItem(javax.swing.JPopupMenu menu)
protected boolean
canPaste(java.util.List<javax.swing.tree.TreePath> paths, javax.swing.tree.TreePath droppedOn)
Protect against dropping on self, immediate parent, and descendantprotected abstract AbstractNavTreeNode
createChildNode(ProjectResource resource)
javax.swing.Icon
getExpandedIcon()
Returns an alternate icon for when this node is expanded, if applicable.protected ResourcePath
getPath()
ResourceType
getResourceType()
void
install(AbstractNavTreeNode parent)
boolean
isEditActionHandler()
Override to return true if you want this node to be an edit action handler for its children.boolean
isProtectedEnabled()
protected boolean
isTopLevelNode()
Indicates whether this node is the "root" of a given tree; primarily used to offer different edit optionsprotected java.util.List<AbstractNavTreeNode>
loadChildren()
Called before this node responds from any of the children-related TreeNode functions, if a list of children wasn't already set.protected boolean
pastingOnSelf(java.util.List<? extends AbstractNavTreeNode> selectedChildren, java.awt.datatransfer.Transferable transferable)
Returns true (meaning paste should be aborted) if the given folder is being dropped on itselfprotected DesignableProject
project()
protected void
setName(java.lang.String name)
protected void
setupEditActions(javax.swing.tree.TreePath[] paths, java.util.List<AbstractNavTreeNode> selection)
Searches for a common edit action handling parent, and if one exists, sets up the edit actions appropriately.protected void
uninstall()
Called when the node is removed from the tree.-
Methods inherited from class com.inductiveautomation.ignition.designer.navtree.model.AbstractResourceNavTreeNode
addBadges, addConcurrentUsersBadges, addEditActions, addProtectMenuItem, alterName, canCopy, canDelete, commitIfOpen, gatherChildrenIds, getIcon, getInvalidNameErrorMessage, getPopupActions, getProjectResource, getResourceId, getResourcePath, isChanged, isEditable, isInherited, isLocal, isOpen, isOverrideEnabled, isRestricted, isValid, onDoubleClick, onEdit, onResourceModified, open, selectChild, setOverrideEnabled, setProtected
-
Methods inherited from class com.inductiveautomation.ignition.designer.navtree.model.AbstractNavTreeNode
canDrag, canDrop, canPaste, checkChildren, children, confirmDelete, createResourceCopy, debug, debug, dispatchSelectionEvent, doCopy, doCut, doDelete, doPaste, expand, expandAndSelect, findChild, findCommonEditActionHandler, findDropHandler, findEditActionHandler, forceChildrenReload, getAllowsChildren, getChildAt, getChildCount, getClipboard, getDeleteAction, getDepth, getIndex, getModel, getName, getParent, getSelectionModel, getSortOrder, getText, getThumbnail, getTooltip, getWorkspaceName, initPopupMenu, isBold, isItalic, isLeaf, isSelected, isValidName, iterator, newLogger, notifyChildNameChanged, onChildrenSelected, onSelected, pathToRoot, recreate, recreate, refresh, reload, select, select, setBold, setChildren, setIcon, setItalic, setText, setThumbnail, setTooltip, showPopupMenu, toString, uninstallChildren, useThumbnailTooltip, visitIfLoaded
-
-
-
-
Field Detail
-
resourceScope
protected int resourceScope
-
newFolderAction
protected javax.swing.Action newFolderAction
Action available for use in subclasses to add a new folder. Will use the installed module id to create.
-
resourceComparator
protected static java.util.Comparator<ProjectResource> resourceComparator
-
-
Constructor Detail
-
FolderNode
protected FolderNode(DesignerContext context, ProjectResource resource, int scope)
-
FolderNode
protected FolderNode(DesignerContext context, ResourceType resourceType, int scope)
Root resource folder constructor.
-
FolderNode
protected FolderNode(DesignerContext context, ResourcePath path, int scope)
-
-
Method Detail
-
isTopLevelNode
protected boolean isTopLevelNode()
Description copied from class:AbstractNavTreeNode
Indicates whether this node is the "root" of a given tree; primarily used to offer different edit options- Overrides:
isTopLevelNode
in classAbstractNavTreeNode
-
isEditActionHandler
public boolean isEditActionHandler()
Description copied from class:AbstractNavTreeNode
Override to return true if you want this node to be an edit action handler for its children.- Overrides:
isEditActionHandler
in classAbstractNavTreeNode
-
setupEditActions
protected void setupEditActions(javax.swing.tree.TreePath[] paths, java.util.List<AbstractNavTreeNode> selection)
Description copied from class:AbstractNavTreeNode
Searches for a common edit action handling parent, and if one exists, sets up the edit actions appropriately. If not, disables them.- Overrides:
setupEditActions
in classAbstractResourceNavTreeNode
-
isProtectedEnabled
public boolean isProtectedEnabled()
- Overrides:
isProtectedEnabled
in classAbstractResourceNavTreeNode
-
project
protected DesignableProject project()
-
install
public void install(AbstractNavTreeNode parent)
- Overrides:
install
in classAbstractResourceNavTreeNode
-
uninstall
protected void uninstall()
Description copied from class:AbstractNavTreeNode
Called when the node is removed from the tree. Override to provide meaningful implementation.- Overrides:
uninstall
in classAbstractResourceNavTreeNode
-
getExpandedIcon
public javax.swing.Icon getExpandedIcon()
Description copied from class:AbstractNavTreeNode
Returns an alternate icon for when this node is expanded, if applicable. Default implementation simply returns getIcon()- Overrides:
getExpandedIcon
in classAbstractNavTreeNode
-
addOverrideEnabledMenuItem
protected void addOverrideEnabledMenuItem(javax.swing.JPopupMenu menu)
- Overrides:
addOverrideEnabledMenuItem
in classAbstractResourceNavTreeNode
-
setName
protected void setName(java.lang.String name)
- Overrides:
setName
in classAbstractNavTreeNode
-
loadChildren
protected java.util.List<AbstractNavTreeNode> loadChildren()
Description copied from class:AbstractNavTreeNode
Called before this node responds from any of the children-related TreeNode functions, if a list of children wasn't already set. Override to use lazy child loading.- Overrides:
loadChildren
in classAbstractNavTreeNode
-
getPath
protected ResourcePath getPath()
-
canPaste
protected boolean canPaste(java.util.List<javax.swing.tree.TreePath> paths, javax.swing.tree.TreePath droppedOn)
Protect against dropping on self, immediate parent, and descendant
-
pastingOnSelf
protected boolean pastingOnSelf(java.util.List<? extends AbstractNavTreeNode> selectedChildren, java.awt.datatransfer.Transferable transferable)
Returns true (meaning paste should be aborted) if the given folder is being dropped on itself
-
getResourceType
public ResourceType getResourceType()
-
createChildNode
protected abstract AbstractNavTreeNode createChildNode(ProjectResource resource)
-
-