MyNode facetTypeNode = new MyNode(facetTypeConfigurable);
addNode(facetTypeNode, myRoot);
- for (Module module : myModuleManager.getModules()) {
- Collection<? extends Facet> facets = FacetManager.getInstance(module).getFacetsByType(facetType.getId());
- FacetEditorFacadeImpl editorFacade = ModuleStructureConfigurable.getInstance(myProject).getFacetEditorFacade();
- for (Facet facet : facets) {
- addFacetNode(facetTypeNode, facet, editorFacade, true);
- }
- }
- addNodeCompleted(facetTypeNode);
+ FacetEditorFacadeImpl editorFacade = ModuleStructureConfigurable.getInstance(myProject).getFacetEditorFacade();
+ addFacetNodes(facetTypeNode, ProjectFacetManager.getInstance(myProject).getFacets(facetType.getId()), editorFacade);
return facetTypeNode;
}
return addFacetTypeNode(facetType);
}
- public void addFacetNode(
- @NotNull MyNode facetTypeNode,
- @NotNull Facet facet,
- @NotNull FacetEditorFacadeImpl editorFacade,
- boolean delayRedraw) {
- FacetConfigurable facetConfigurable = editorFacade.getOrCreateConfigurable(facet);
- addNode(new FacetConfigurableNode(facetConfigurable), facetTypeNode, delayRedraw);
- myContext.getDaemonAnalyzer().queueUpdate(new FacetProjectStructureElement(myContext, facet));
+ public void addFacetNodes(@NotNull MyNode facetTypeNode, @NotNull List<? extends Facet> facets, @NotNull FacetEditorFacadeImpl editorFacade) {
+ for (Facet facet : facets) {
+ FacetConfigurable facetConfigurable = editorFacade.getOrCreateConfigurable(facet);
+ facetTypeNode.add(new FacetConfigurableNode(facetConfigurable));
+ myContext.getDaemonAnalyzer().queueUpdate(new FacetProjectStructureElement(myContext, facet));
+ }
+ sortDescendants(facetTypeNode);
}
@Nullable
super.addNode(nodeToAdd, parent);
}
- public void addNode(MyNode nodeToAdd, MyNode parent, boolean delayRedraw) {
- super.addNode(nodeToAdd, parent, delayRedraw);
- }
-
@Override
@NotNull
protected ArrayList<AnAction> createActions(final boolean fromPopup) {
}
final String[] groupPath = myPlainMode ? null : myContext.myModulesConfigurator.getModuleModel().getModuleGroupPath(module);
if (groupPath == null || groupPath.length == 0){
- addNode(moduleNode, myRoot, true);
- } else {
+ myRoot.add(moduleNode);
+ }
+ else {
final MyNode moduleGroupNode = ModuleGroupUtil
.buildModuleGroupPath(new ModuleGroup(groupPath), myRoot, moduleGroup2NodeMap,
new Consumer<ModuleGroupUtil.ParentChildRelation<MyNode>>() {
@Override
public void consume(final ModuleGroupUtil.ParentChildRelation<MyNode> parentChildRelation) {
- addNode(parentChildRelation.getChild(), parentChildRelation.getParent(), true);
+ parentChildRelation.getParent().add(parentChildRelation.getChild());
}
},
new Function<ModuleGroup, MyNode>() {
@Override
public MyNode fun(final ModuleGroup moduleGroup) {
- final NamedConfigurable moduleGroupConfigurable =
- createModuleGroupConfigurable(moduleGroup);
+ final NamedConfigurable moduleGroupConfigurable = createModuleGroupConfigurable(moduleGroup);
return new MyNode(moduleGroupConfigurable, true);
}
});
- addNode(moduleNode, moduleGroupNode, true);
+ moduleGroupNode.add(moduleNode);
}
}
- addNodeCompleted(myRoot);
+ sortDescendants(myRoot);
if (myProject.isDefault()) { //do not add modules node in case of template project
myRoot.removeAllChildren();
}
? null
: group != null ? group.getGroupPath() : null;
if (groupPath == null || groupPath.length == 0){
- addNode(moduleNode, myRoot);
+ myRoot.add(moduleNode);
} else {
final MyNode moduleGroupNode = ModuleGroupUtil
.updateModuleGroupPath(new ModuleGroup(groupPath), myRoot, new Function<ModuleGroup, MyNode>() {
}, new Consumer<ModuleGroupUtil.ParentChildRelation<MyNode>>() {
@Override
public void consume(final ModuleGroupUtil.ParentChildRelation<MyNode> parentChildRelation) {
- addNode(parentChildRelation.getChild(), parentChildRelation.getParent());
+ parentChildRelation.getParent().add(parentChildRelation.getChild());
}
}, new Function<ModuleGroup, MyNode>() {
@Override
return new MyNode(moduleGroupConfigurable, true);
}
});
- addNode(moduleNode, moduleGroupNode);
+ moduleGroupNode.add(moduleNode);
}
Module module = (Module)moduleNode.getConfigurable().getEditableObject();
myFacetEditorFacade.addFacetsNodes(module, moduleNode);
addNodesFromExtensions(module, moduleNode);
}
- TreeUtil.sort(myRoot, getNodeComparator());
- ((DefaultTreeModel)myTree.getModel()).reload(myRoot);
+ sortDescendants(myRoot);
return true;
}
protected void addNode(MyNode nodeToAdd, MyNode parent) {
parent.add(nodeToAdd);
- TreeUtil.sort(parent, getNodeComparator());
- ((DefaultTreeModel)myTree.getModel()).reload(parent);
+ sortDescendants(parent);
}
- protected void addNode(MyNode nodeToAdd, MyNode parent, boolean delayRedraw) {
- parent.add(nodeToAdd);
- if (!delayRedraw) {
- addNodeCompleted(parent);
- }
- }
-
- protected void addNodeCompleted(MyNode parent) {
- TreeUtil.sort(parent, getNodeComparator());
- ((DefaultTreeModel)myTree.getModel()).reload(parent);
+ protected void sortDescendants(MyNode root) {
+ TreeUtil.sort(root, getNodeComparator());
+ ((DefaultTreeModel)myTree.getModel()).reload(root);
}
protected Comparator<MyNode> getNodeComparator() {