public class SmartTreeStructure extends AbstractTreeStructure
| Modifier and Type | Field and Description |
|---|---|
protected TreeModel |
myModel |
protected Project |
myProject |
| Constructor and Description |
|---|
SmartTreeStructure(Project project,
TreeModel model) |
| Modifier and Type | Method and Description |
|---|---|
ActionCallback |
asyncCommit() |
void |
commit() |
NodeDescriptor |
createDescriptor(java.lang.Object element,
NodeDescriptor parentDescriptor) |
protected TreeElementWrapper |
createTree() |
java.lang.Object [] |
getChildElements(java.lang.Object element) |
java.lang.Object |
getParentElement(java.lang.Object element) |
java.lang.Object |
getRootElement() |
boolean |
hasSomethingToCommit() |
boolean |
isAlwaysLeaf(java.lang.Object element) |
void |
rebuildTree() |
asyncCommitDocuments, getLeafState, isToBuildChildrenInBackground, isValid, revalidateElementpublic void commit()
commit in class AbstractTreeStructurepublic ActionCallback asyncCommit()
asyncCommit in class AbstractTreeStructureActionCallback.setDone() when the tree structure is committed.
By default it just calls AbstractTreeStructure.commit() synchronously but it is desirable to override it
to provide asynchronous commit to the tree structure to make it more responsible.
E.g. when you should commit all documents during the AbstractTreeStructure.commit(),
you can use AbstractTreeStructure.asyncCommitDocuments(Project) to do it asynchronously.public boolean hasSomethingToCommit()
hasSomethingToCommit in class AbstractTreeStructurepublic NodeDescriptor createDescriptor(java.lang.Object element, NodeDescriptor parentDescriptor)
createDescriptor in class AbstractTreeStructurepublic java.lang.Object [] getChildElements(java.lang.Object element)
getChildElements in class AbstractTreeStructurepublic java.lang.Object getParentElement(java.lang.Object element)
getParentElement in class AbstractTreeStructurepublic java.lang.Object getRootElement()
getRootElement in class AbstractTreeStructureprotected TreeElementWrapper createTree()
public boolean isAlwaysLeaf(java.lang.Object element)
isAlwaysLeaf in class AbstractTreeStructurepublic void rebuildTree()