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,StyleClassFolderNode,TemplateFolderNode,WindowFolderNode
public abstract class FolderNode extends AbstractResourceNavTreeNode
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFolderNode.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.IconexpandedIconprotected javax.swing.ActionnewFolderActionAction available for use in subclasses to add a new folder.static java.util.Comparator<ProjectResource>RESOURCE_COMPARATORSorts resources by path, but with folders firstprotected intresourceScope-
Fields inherited from class com.inductiveautomation.ignition.designer.navtree.model.AbstractResourceNavTreeNode
context, exportAction, inheritedIcon, overrideAction, overrideEnabledAction, overrideEnabledMenuItem, protectedAction, protectedMenuItem, resourceId, resourcePath, restricted, revertAction, revertMenuItem
-
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 protectedFolderNode(DesignerContext context, ProjectResource resource, int scope)protectedFolderNode(DesignerContext context, ResourcePath path, int scope)protectedFolderNode(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 voidaddOverrideEnabledMenuItem(javax.swing.JPopupMenu menu)protected voidaddRevertMenuItem(javax.swing.JPopupMenu menu)protected booleancanPaste(java.util.List<javax.swing.tree.TreePath> paths, javax.swing.tree.TreePath droppedOn)Protect against dropping on self, immediate parent, and descendantprotected abstract AbstractNavTreeNodecreateChildNode(ProjectResource resource)javax.swing.IcongetExpandedIcon()Returns an alternate icon for when this node is expanded, if applicable.protected ResourcePathgetPath()ResourceTypegetResourceType()voidinstall(AbstractNavTreeNode parent)booleanisEditActionHandler()Override to return true if you want this node to be an edit action handler for its children.booleanisProtectedEnabled()protected booleanisTopLevelNode()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 booleanpastingOnSelf(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 DesignableProjectproject()protected voidsetName(java.lang.String name)protected voidsetupEditActions(javax.swing.tree.TreePath[] paths, java.util.List<AbstractNavTreeNode> selection)Searches for a common edit action handling parent, and initializes each popup action by callingAbstractNavTreeNode.PopupAction.setSelection(AbstractNavTreeNode, AbstractNavTreeNode, List)protected voiduninstall()Called when the node is removed from the tree.-
Methods inherited from class com.inductiveautomation.ignition.designer.navtree.model.AbstractResourceNavTreeNode
addBadges, addConcurrentUsersBadges, addEditActions, addExportMenuItem, addProtectMenuItem, alterName, canCopy, canDelete, commitIfOpen, gatherChildrenIds, getIcon, getInvalidNameErrorMessage, getPopupActions, getProjectResource, getResourceId, getResourcePath, isChanged, isEditable, isInherited, isLocal, isOpen, isOverrideEnabled, isRestricted, isValid, onDoubleClick, onEdit, onResourceModified, open, revert, 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
-
expandedIcon
protected javax.swing.Icon expandedIcon
-
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.
-
RESOURCE_COMPARATOR
public static java.util.Comparator<ProjectResource> RESOURCE_COMPARATOR
Sorts resources by path, but with folders first
-
-
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:AbstractNavTreeNodeIndicates whether this node is the "root" of a given tree; primarily used to offer different edit options- Overrides:
isTopLevelNodein classAbstractNavTreeNode
-
isEditActionHandler
public boolean isEditActionHandler()
Description copied from class:AbstractNavTreeNodeOverride to return true if you want this node to be an edit action handler for its children.- Overrides:
isEditActionHandlerin classAbstractNavTreeNode
-
setupEditActions
protected void setupEditActions(javax.swing.tree.TreePath[] paths, java.util.List<AbstractNavTreeNode> selection)Description copied from class:AbstractNavTreeNodeSearches for a common edit action handling parent, and initializes each popup action by callingAbstractNavTreeNode.PopupAction.setSelection(AbstractNavTreeNode, AbstractNavTreeNode, List)- Overrides:
setupEditActionsin classAbstractResourceNavTreeNode
-
isProtectedEnabled
public boolean isProtectedEnabled()
- Overrides:
isProtectedEnabledin classAbstractResourceNavTreeNode
-
project
protected DesignableProject project()
-
install
public void install(AbstractNavTreeNode parent)
- Overrides:
installin classAbstractResourceNavTreeNode
-
uninstall
protected void uninstall()
Description copied from class:AbstractNavTreeNodeCalled when the node is removed from the tree. Override to provide meaningful implementation.- Overrides:
uninstallin classAbstractResourceNavTreeNode
-
getExpandedIcon
public javax.swing.Icon getExpandedIcon()
Description copied from class:AbstractNavTreeNodeReturns an alternate icon for when this node is expanded, if applicable. Default implementation simply returns getIcon()- Overrides:
getExpandedIconin classAbstractNavTreeNode
-
addOverrideEnabledMenuItem
protected void addOverrideEnabledMenuItem(javax.swing.JPopupMenu menu)
- Overrides:
addOverrideEnabledMenuItemin classAbstractResourceNavTreeNode
-
addRevertMenuItem
protected void addRevertMenuItem(javax.swing.JPopupMenu menu)
- Overrides:
addRevertMenuItemin classAbstractResourceNavTreeNode
-
setName
protected void setName(java.lang.String name)
- Overrides:
setNamein classAbstractNavTreeNode
-
loadChildren
protected java.util.List<AbstractNavTreeNode> loadChildren()
Description copied from class:AbstractNavTreeNodeCalled 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:
loadChildrenin 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)
-
-