public abstract class CachingChildrenTreeNode<Value> extends AbstractTreeNode<Value>
PresentableNodeDescriptor.ColoredFragment
NodeDescriptor.NodeComparator<T extends NodeDescriptor<?>>
Modifier and Type | Field and Description |
---|---|
protected TreeModel |
myTreeModel |
DEFAULT_WEIGHT, EMPTY_ARRAY, myClosedIcon, myColor, myName, myOpenIcon, myProject
EMPTY_NAVIGATION_ITEM_ARRAY
Modifier and Type | Method and Description |
---|---|
boolean |
canNavigate()
Indicates whether this instance supports navigation of any kind.
|
boolean |
canNavigateToSource()
Indicates whether this instance supports navigation to source (that means some kind of editor).
|
protected void |
clearChildren() |
protected abstract void |
copyFromNewInstance(CachingChildrenTreeNode newInstance) |
protected TreeElementWrapper |
createChildNode(TreeElement child) |
protected GroupWrapper |
createGroupWrapper(Project project,
Group group,
TreeModel treeModel) |
protected void |
filterChildren(Filter [] filters) |
java.util.Collection<AbstractTreeNode<?>> |
getChildren() |
protected abstract void |
initChildren() |
void |
navigate(boolean requestFocus)
Open editor and select/navigate to the object there if possible.
|
protected abstract void |
performTreeActions() |
protected void |
resetChildren() |
protected void |
setChildren(java.util.Collection<? extends AbstractTreeNode<?>> children) |
protected void |
sortChildren(Sorter [] sorters) |
apply, canRepresent, equals, getChildToHighlightAt, getElement, getEqualityObject, getFileStatus, getFileStatusColor, getLeafState, getName, getNullValueSetTrace, getParent, getParentDescriptor, getParentValue, getTestPresentation, getToolTip, getValue, getVirtualFile, hashCode, hasProblemFileBeneath, isAlwaysExpand, isAlwaysLeaf, isAlwaysShowPlus, postprocess, setParent, setValue, shouldUpdateData, toTestString, valueIsCut
apply, apply, applyFrom, createPresentation, getHighlightColor, getPresentation, getTemplatePresentation, isAncestorOrSelf, isContentHighlighted, isHighlightableContentNode, isParentOf, shouldApply, shouldPostprocess, update, update
expandOnDoubleClick, getChildrenSortingStamp, getClosedIcon, getColor, getIcon, getIndex, getOpenIcon, getProject, getUpdateCount, getWeight, isWasDeclaredAlwaysLeaf, setChildrenSortingStamp, setIcon, setIndex, setUpdateCount, setWasDeclaredAlwaysLeaf, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getPresentation
protected final TreeModel myTreeModel
public java.util.Collection<AbstractTreeNode<?>> getChildren()
getChildren
in class AbstractTreeNode<Value>
protected void setChildren(java.util.Collection<? extends AbstractTreeNode<?>> children)
protected void sortChildren(Sorter [] sorters)
protected void filterChildren(Filter [] filters)
protected TreeElementWrapper createChildNode(TreeElement child)
protected GroupWrapper createGroupWrapper(Project project, Group group, TreeModel treeModel)
protected abstract void copyFromNewInstance(CachingChildrenTreeNode newInstance)
protected abstract void performTreeActions()
protected abstract void initChildren()
public void navigate(boolean requestFocus)
Navigatable
navigate
in interface Navigatable
navigate
in class AbstractTreeNode<Value>
requestFocus
- true
if focus requesting is necessarypublic boolean canNavigate()
Navigatable
Navigatable.canNavigateToSource()
returns true
.
We assume that this method should return true
in such case,
so implement this method respectively.canNavigate
in interface Navigatable
canNavigate
in class AbstractTreeNode<Value>
false
if navigation is not possible for any reason.public boolean canNavigateToSource()
Navigatable
false
.
In such cases it is not recommended to do batch navigation for all navigatables
available via CommonDataKeys.NAVIGATABLE_ARRAY
,
because it may lead to opening several modal dialogs.
Use OpenSourceUtil.navigate(com.intellij.pom.Navigatable...)
to process such arrays correctly.canNavigateToSource
in interface Navigatable
canNavigateToSource
in class AbstractTreeNode<Value>
false
if navigation to source is not possible for any reason.protected void clearChildren()
protected void resetChildren()