Java源码示例:com.intellij.ide.projectView.BaseProjectTreeBuilder
示例1
@Override
@Nonnull
public BaseProjectTreeBuilder createBuilder(DefaultTreeModel treeModel) {
return new ProjectTreeBuilder(myProject, myTree, treeModel, AlphaComparator.INSTANCE,
(ProjectAbstractTreeStructureBase)myTreeStructure) {
@Override
protected AbstractTreeUpdater createUpdater() {
return createTreeUpdater(this);
}
protected void addTaskToWorker(final Runnable runnable, boolean first, final Runnable postRunnable) {
runnable.run();
postRunnable.run();
}
};
}
示例2
private void doSelectModuleOrGroup(@Nonnull Object toSelect, final boolean requestFocus) {
ToolWindowManager windowManager = ToolWindowManager.getInstance(myProject);
final Runnable runnable = () -> {
if (requestFocus) {
ProjectView projectView = ProjectView.getInstance(myProject);
if (projectView != null) {
projectView.changeView(getId(), getSubId());
}
}
BaseProjectTreeBuilder builder = (BaseProjectTreeBuilder)getTreeBuilder();
if (builder != null) {
builder.selectInWidth(toSelect, requestFocus, node -> node instanceof AbstractModuleNode || node instanceof ModuleGroupNode || node instanceof AbstractProjectNode);
}
};
if (requestFocus) {
windowManager.getToolWindow(ToolWindowId.PROJECT_VIEW).activate(runnable);
}
else {
runnable.run();
}
}
示例3
@Nonnull
public AsyncResult<Void> selectCB(Object element, VirtualFile file, boolean requestFocus) {
if (file != null) {
AbstractTreeBuilder builder = getTreeBuilder();
if (builder instanceof BaseProjectTreeBuilder) {
beforeSelect().doWhenDone(() -> UIUtil.invokeLaterIfNeeded(() -> {
if (!builder.isDisposed()) {
((BaseProjectTreeBuilder)builder).selectAsync(element, file, requestFocus);
}
}));
}
else if (myAsyncSupport != null) {
myAsyncSupport.select(myTree, element, file);
}
}
return AsyncResult.resolved();
}
示例4
@Nonnull
protected BaseProjectTreeBuilder createBuilder(DefaultTreeModel treeModel) {
return new KnowledgeViewTreeBuilder(myProject, myTree, treeModel, null, (KnowledgeViewPanelTreeStructure) myTreeStructure) {
@Override
protected AbstractTreeUpdater createUpdater() {
return createTreeUpdater(this);
}
};
}
示例5
protected BaseProjectTreeBuilder createBuilder(@Nonnull DefaultTreeModel treeModel) {
return new ProjectTreeBuilder(myProject, myTree, treeModel, null, (ProjectAbstractTreeStructureBase)myTreeStructure) {
@Override
protected AbstractTreeUpdater createUpdater() {
return createTreeUpdater(this);
}
};
}
示例6
@Override
public BaseProjectTreeBuilder createBuilder(@Nonnull DefaultTreeModel model) {
return null;
}
示例7
@Override
protected BaseProjectTreeBuilder createBuilder(@Nonnull DefaultTreeModel model) {
return null;
}