public abstract class AbstractProjectTreeStructure extends ProjectAbstractTreeStructureBase implements ViewSettings
ViewSettings.Immutable
myProject
DEFAULT
Constructor and Description |
---|
AbstractProjectTreeStructure(Project project) |
Modifier and Type | Method and Description |
---|---|
ActionCallback |
asyncCommit() |
void |
commit() |
protected AbstractTreeNode |
createRoot(Project project,
ViewSettings settings) |
java.lang.Object |
getRootElement() |
boolean |
hasSomethingToCommit() |
boolean |
isAlwaysLeaf(java.lang.Object element) |
getProviders, setProviders
createDescriptor, getChildElements, getDataFromProviders, getParentElement, isValid
asyncCommitDocuments, getLeafState, isToBuildChildrenInBackground, revalidateElement
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isFlattenModules, isFoldersAlwaysOnTop, isShowMembers, isShowModules, isShowURL, isStructureView
isAbbreviatePackageNames, isCompactDirectories, isFlattenPackages, isHideEmptyMiddlePackages, isShowLibraryContents
public AbstractProjectTreeStructure(Project project)
protected AbstractTreeNode createRoot(Project project, ViewSettings settings)
public final java.lang.Object getRootElement()
getRootElement
in class AbstractTreeStructure
public final void commit()
commit
in class AbstractTreeStructure
public ActionCallback asyncCommit()
asyncCommit
in class AbstractTreeStructure
ActionCallback.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 final boolean hasSomethingToCommit()
hasSomethingToCommit
in class AbstractTreeStructure
public boolean isAlwaysLeaf(java.lang.Object element)
isAlwaysLeaf
in class AbstractTreeStructure