Merge branch 'dany/grails-project-view-smart'

This commit is contained in:
Daniil Ovchinnikov
2017-02-14 20:37:37 +03:00
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2016 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -255,14 +255,18 @@ public abstract class AbstractProjectViewPSIPane extends AbstractProjectViewPane
@NotNull
public ActionCallback selectCB(Object element, VirtualFile file, boolean requestFocus) {
if (file != null) {
BaseProjectTreeBuilder builder = (BaseProjectTreeBuilder)getTreeBuilder();
// actually, getInitialized().doWhenDone() should be called by builder internally
// this will be done in 2017
return builder.getInitialized().doWhenDone(() -> builder.select(element, file, requestFocus));
beforeSelect().doWhenDone(() -> ((BaseProjectTreeBuilder)getTreeBuilder()).select(element, file, requestFocus));
}
return ActionCallback.DONE;
}
@NotNull
public ActionCallback beforeSelect() {
// actually, getInitialized().doWhenDone() should be called by builder internally
// this will be done in 2017
return getTreeBuilder().getInitialized();
}
@NotNull
protected BaseProjectTreeBuilder createBuilder(DefaultTreeModel treeModel) {
return new ProjectTreeBuilder(myProject, myTree, treeModel, null, (ProjectAbstractTreeStructureBase)myTreeStructure) {