Merge branch 'master' of git.labs.intellij.net:idea/community

This commit is contained in:
Dmitry Trofimov
2011-08-11 16:18:25 +04:00
66 changed files with 1163 additions and 424 deletions
@@ -25,9 +25,12 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.OrderEntry;
import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.roots.libraries.LibraryUtil;
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator;
import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.WrappingVirtualFile;
import org.jetbrains.annotations.NotNull;
@@ -35,12 +38,11 @@ import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
/**
* @author nik
*/
public class ProjectSettingsSelectInTarget implements SelectInTarget, DumbAware {
public class ProjectStructureSelectInTarget implements SelectInTarget, DumbAware {
public boolean canSelect(final SelectInContext context) {
final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(context.getProject()).getFileIndex();
final VirtualFile file = context.getVirtualFile();
@@ -54,7 +56,6 @@ public class ProjectSettingsSelectInTarget implements SelectInTarget, DumbAware
public void selectIn(final SelectInContext context, final boolean requestFocus) {
final Project project = context.getProject();
final VirtualFile file = context.getVirtualFile();
final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
final Module module;
final Facet facet;
@@ -64,8 +65,9 @@ public class ProjectSettingsSelectInTarget implements SelectInTarget, DumbAware
module = facet == null? null : facet.getModule();
}
else {
final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
module = fileIndex.getModuleForFile(file);
facet = findFacet(project, file, fileIndex);
facet = fileIndex.isInSourceContent(file) ? null : findFacet(project, file);
}
if (module != null || facet != null) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
@@ -74,64 +76,30 @@ public class ProjectSettingsSelectInTarget implements SelectInTarget, DumbAware
ModulesConfigurator.showFacetSettingsDialog(facet, null);
}
else {
ModulesConfigurator.showDialog(project, module.getName(), null, false);
ProjectSettingsService.getInstance(project).openModuleSettings(module);
}
}
});
return;
}
final LibraryOrderEntry libraryOrderEntry = findLibrary(file, fileIndex);
if (libraryOrderEntry != null) {
final OrderEntry orderEntry = LibraryUtil.findLibraryEntry(file, project);
if (orderEntry != null) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
public void run() {
ModulesConfigurator.showLibrarySettings(project, libraryOrderEntry);
}
});
return;
}
final Sdk jdk = findJdk(file, fileIndex);
if (jdk != null) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
public void run() {
ModulesConfigurator.showSdkSettings(project, jdk);
ProjectSettingsService.getInstance(project).openLibraryOrSdkSettings(orderEntry);
}
});
}
}
@Nullable
private static LibraryOrderEntry findLibrary(final VirtualFile file, final ProjectFileIndex fileIndex) {
List<OrderEntry> entries = fileIndex.getOrderEntriesForFile(file);
for (OrderEntry entry : entries) {
if (entry instanceof LibraryOrderEntry) {
return (LibraryOrderEntry)entry;
}
}
return null;
}
@Nullable
private static Sdk findJdk(final VirtualFile file, final ProjectFileIndex fileIndex) {
List<OrderEntry> entries = fileIndex.getOrderEntriesForFile(file);
for (OrderEntry entry : entries) {
if (entry instanceof JdkOrderEntry) {
return ((JdkOrderEntry)entry).getJdk();
}
}
return null;
}
@Nullable
private static Facet findFacet(final @NotNull Project project, final @NotNull VirtualFile file, final @NotNull ProjectFileIndex fileIndex) {
if (!fileIndex.isInSourceContent(file)) {
for (FacetTypeId id : FacetTypeRegistry.getInstance().getFacetTypeIds()) {
if (hasFacetWithRoots(project, id)) {
Facet facet = FacetFinder.getInstance(project).findFacet(file, id);
if (facet != null) {
return facet;
}
private static Facet findFacet(final @NotNull Project project, final @NotNull VirtualFile file) {
for (FacetTypeId id : FacetTypeRegistry.getInstance().getFacetTypeIds()) {
if (hasFacetWithRoots(project, id)) {
Facet facet = FacetFinder.getInstance(project).findFacet(file, id);
if (facet != null) {
return facet;
}
}
}
@@ -16,7 +16,6 @@
package com.intellij.openapi.roots.ui.configuration;
import com.intellij.ide.projectView.impl.ModuleGroup;
import com.intellij.ide.projectView.impl.nodes.NamedLibraryElement;
import com.intellij.ide.util.projectWizard.JdkChooserPanel;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.options.ShowSettingsUtil;
@@ -85,21 +84,20 @@ public class IdeaProjectSettingsService extends ProjectSettingsService {
ShowSettingsUtil.getInstance().editConfigurable(myProject, ProjectStructureConfigurable.getInstance(myProject), new Runnable() {
@Override
public void run() {
ModuleStructureConfigurable.getInstance(myProject).selectOrderEntry(module, orderEntry);
ProjectStructureConfigurable.getInstance(myProject).selectOrderEntry(module, orderEntry);
}
});
}
@Override
public boolean canOpenProjectLibrarySettings(NamedLibraryElement value) {
public boolean canOpenLibraryOrSdkSettings(OrderEntry orderEntry) {
return true;
}
public void openProjectLibrarySettings(final NamedLibraryElement element) {
public void openLibraryOrSdkSettings(@NotNull final OrderEntry orderEntry) {
final ProjectStructureConfigurable config = ProjectStructureConfigurable.getInstance(myProject);
ShowSettingsUtil.getInstance().editConfigurable(myProject, config, new Runnable() {
public void run() {
final OrderEntry orderEntry = element.getOrderEntry();
if (orderEntry instanceof JdkOrderEntry) {
config.select(((JdkOrderEntry)orderEntry).getJdk(), true);
} else {
@@ -35,7 +35,6 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectBundle;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.LibraryOrderEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootModel;
import com.intellij.openapi.roots.impl.ProjectRootManagerImpl;
@@ -519,24 +518,6 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change
return myModified || myFacetsConfigurator.isModified();
}
public static boolean showSdkSettings(@NotNull Project project, final Sdk sdk) {
final ProjectStructureConfigurable configurable = ProjectStructureConfigurable.getInstance(project);
return ShowSettingsUtil.getInstance().editConfigurable(project, configurable, new Runnable() {
public void run() {
configurable.select(sdk, true);
}
});
}
public static boolean showLibrarySettings(@NotNull Project project, @NotNull final LibraryOrderEntry library) {
final ProjectStructureConfigurable configurable = ProjectStructureConfigurable.getInstance(project);
return ShowSettingsUtil.getInstance().editConfigurable(project, configurable, new Runnable() {
public void run() {
configurable.select(library, true);
}
});
}
public static boolean showArtifactSettings(@NotNull Project project, @Nullable final Artifact artifact) {
final ProjectStructureConfigurable configurable = ProjectStructureConfigurable.getInstance(project);
return ShowSettingsUtil.getInstance().editConfigurable(project, configurable, new Runnable() {
@@ -20,6 +20,7 @@ import com.intellij.ide.util.PropertiesComponent;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleConfigurationEditor;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.options.BaseConfigurable;
import com.intellij.openapi.options.Configurable;
@@ -30,6 +31,7 @@ import com.intellij.openapi.project.ProjectBundle;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.LibraryOrderEntry;
import com.intellij.openapi.roots.OrderEntry;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar;
import com.intellij.openapi.roots.ui.configuration.artifacts.ArtifactsStructureConfigurable;
@@ -420,15 +422,32 @@ public class ProjectStructureConfigurable extends BaseConfigurable implements Se
public ActionCallback select(@NotNull LibraryOrderEntry libraryOrderEntry, final boolean requestFocus) {
final Library lib = libraryOrderEntry.getLibrary();
if (lib == null || lib.getTable() == null) {
Place place = createPlaceFor(myModulesConfig);
place.putPath(BaseStructureConfigurable.TREE_OBJECT, libraryOrderEntry.getOwnerModule());
return navigateTo(place, requestFocus);
return selectOrderEntry(libraryOrderEntry.getOwnerModule(), libraryOrderEntry);
}
Place place = createPlaceFor(getConfigurableFor(lib));
place.putPath(BaseStructureConfigurable.TREE_NAME, libraryOrderEntry.getLibraryName());
return navigateTo(place, requestFocus);
}
public ActionCallback selectOrderEntry(@NotNull final Module module, @Nullable final OrderEntry orderEntry) {
return select(module.getName(), null, true).doWhenDone(new Runnable() {
public void run() {
final MasterDetailsComponent.MyNode node = ModuleStructureConfigurable.getInstance(myProject).findModuleNode(module);
if (node != null) {
ModuleConfigurable moduleConfigurable = (ModuleConfigurable)node.getConfigurable();
ModuleEditor moduleEditor = moduleConfigurable.getModuleEditor();
moduleEditor.setSelectedTabName(ClasspathEditor.NAME);
if (orderEntry != null) {
ModuleConfigurationEditor editor = moduleEditor.getEditor(ClasspathEditor.NAME);
if (editor instanceof ClasspathEditor) {
((ClasspathEditor)editor).selectOrderEntry(orderEntry);
}
}
}
}
});
}
public ActionCallback navigateTo(@Nullable final Place place, final boolean requestFocus) {
final Configurable toSelect = (Configurable)place.getPath(CATEGORY);
@@ -30,7 +30,6 @@ import com.intellij.openapi.roots.ui.configuration.ChooseModulesDialog;
import com.intellij.openapi.roots.ui.configuration.FacetsProvider;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable;
import com.intellij.packaging.artifacts.Artifact;
import com.intellij.packaging.artifacts.ArtifactModel;
import com.intellij.packaging.artifacts.ArtifactType;
@@ -124,7 +123,7 @@ public class ArtifactEditorContextImpl implements ArtifactEditorContext {
final ModuleLibraryOrderEntryImpl libraryEntry = (ModuleLibraryOrderEntryImpl)entry;
if (libraryName != null && libraryName.equals(libraryEntry.getLibraryName())
|| libraryName == null && library.equals(libraryEntry.getLibrary())) {
ModuleStructureConfigurable.getInstance(getProject()).selectOrderEntry(module, libraryEntry);
ProjectStructureConfigurable.getInstance(getProject()).selectOrderEntry(module, libraryEntry);
return;
}
}
@@ -26,7 +26,7 @@ import com.intellij.openapi.roots.ModuleRootEvent;
import com.intellij.openapi.roots.ModuleRootListener;
import com.intellij.openapi.roots.ModuleSourceOrderEntry;
import com.intellij.openapi.roots.OrderEntry;
import com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
import com.intellij.openapi.roots.ui.util.CellAppearance;
import com.intellij.openapi.roots.ui.util.OrderEntryCellAppearanceUtils;
import com.intellij.openapi.ui.MasterDetailsComponent;
@@ -39,8 +39,8 @@ import com.intellij.ui.PopupHandler;
import com.intellij.ui.SimpleColoredComponent;
import com.intellij.ui.SimpleTextAttributes;
import com.intellij.ui.components.JBScrollPane;
import com.intellij.util.PathUtil;
import com.intellij.ui.treeStructure.Tree;
import com.intellij.util.PathUtil;
import com.intellij.util.messages.MessageBusConnection;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.ui.tree.TreeUtil;
@@ -269,13 +269,12 @@ public class AnalyzeDependenciesComponent extends MasterDetailsComponent {
if (module == null) {
return;
}
ModuleStructureConfigurable c = ModuleStructureConfigurable.getInstance(module.getProject());
final ModuleDependenciesAnalyzer.OrderPathElement element = e.getData(ORDER_PATH_ELEMENT_KEY);
if (element != null && element instanceof ModuleDependenciesAnalyzer.OrderEntryPathElement) {
final ModuleDependenciesAnalyzer.OrderEntryPathElement o = (ModuleDependenciesAnalyzer.OrderEntryPathElement)element;
final OrderEntry entry = o.entry();
final Module m = entry.getOwnerModule();
c.selectOrderEntry(m, entry);
ProjectStructureConfigurable.getInstance(module.getProject()).selectOrderEntry(m, entry);
}
}
}
@@ -20,7 +20,7 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.LibraryOrderEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.projectRoot.StructureConfigurableContext;
import javax.swing.*;
@@ -29,15 +29,15 @@ import javax.swing.*;
* @author nik
*/
public class AddExistingCustomLibraryAction extends CustomLibraryActionBase {
private Library myLibrary;
private final Library myLibrary;
public AddExistingCustomLibraryAction(Library library,
Icon icon,
CustomLibraryCreator creator,
StructureConfigurableContext context,
ModuleStructureConfigurable moduleStructureConfigurable,
ProjectStructureConfigurable projectStructureConfigurable,
Module module) {
super(library.getName(), null, icon, context, moduleStructureConfigurable, creator, module);
super(library.getName(), null, icon, context, projectStructureConfigurable, creator, module);
myLibrary = library;
}
@@ -48,6 +48,6 @@ public class AddExistingCustomLibraryAction extends CustomLibraryActionBase {
return;
}
final LibraryOrderEntry orderEntry = rootModel.addLibraryEntry(myLibrary);
myModuleStructureConfigurable.selectOrderEntry(myModule, orderEntry);
myProjectStructureConfigurable.selectOrderEntry(myModule, orderEntry);
}
}
@@ -29,12 +29,14 @@ import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryKind;
import com.intellij.openapi.roots.libraries.LibraryTable;
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar;
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.libraryEditor.CreateNewLibraryDialog;
import com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEditor;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainer;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory;
import com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.projectRoot.StructureConfigurableContext;
import com.intellij.ui.treeStructure.Tree;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
@@ -46,13 +48,14 @@ import java.util.*;
public class CreateCustomLibraryAction extends CustomLibraryActionBase {
private CreateCustomLibraryAction(final String name, CustomLibraryCreator creator,
StructureConfigurableContext context,
ModuleStructureConfigurable moduleStructureConfigurable, Module module) {
super(name, null, creator.getIcon(), context, moduleStructureConfigurable, creator, module);
ProjectStructureConfigurable projectStructureConfigurable, Module module) {
super(name, null, creator.getIcon(), context, projectStructureConfigurable, creator, module);
}
@Override
public void actionPerformed(AnActionEvent e) {
final NewLibraryConfiguration libraryConfiguration = myCreator.getDescription().createNewLibrary(myModuleStructureConfigurable.getTree(),
final Tree parentComponent = ModuleStructureConfigurable.getInstance(myContext.getProject()).getTree();
final NewLibraryConfiguration libraryConfiguration = myCreator.getDescription().createNewLibrary(parentComponent,
null);
if (libraryConfiguration == null) {
return;
@@ -64,7 +67,7 @@ public class CreateCustomLibraryAction extends CustomLibraryActionBase {
LibraryTablesRegistrar registrar = LibraryTablesRegistrar.getInstance();
final Project project = myContext.getProject();
final List<LibraryTable> tables = Arrays.asList(registrar.getLibraryTable(project), registrar.getLibraryTable());
final CreateNewLibraryDialog dialog = new CreateNewLibraryDialog(myModuleStructureConfigurable.getTree(), myContext, libraryEditor, tables, 0);
final CreateNewLibraryDialog dialog = new CreateNewLibraryDialog(parentComponent, myContext, libraryEditor, tables, 0);
dialog.show();
if (dialog.isOK()) {
final Library library = dialog.createLibrary();
@@ -73,7 +76,7 @@ public class CreateCustomLibraryAction extends CustomLibraryActionBase {
return;
}
final LibraryOrderEntry orderEntry = rootModel.addLibraryEntry(library);
myModuleStructureConfigurable.selectOrderEntry(myModule, orderEntry);
myProjectStructureConfigurable.selectOrderEntry(myModule, orderEntry);
}
}
@@ -81,6 +84,7 @@ public class CreateCustomLibraryAction extends CustomLibraryActionBase {
final Module module = moduleStructureConfigurable.getSelectedModule();
if (module == null) return Collections.emptyList();
final ProjectStructureConfigurable projectStructureConfigurable = ProjectStructureConfigurable.getInstance(module.getProject());
final List<AnAction> actions = new ArrayList<AnAction>();
final LibrariesContainer container = LibrariesContainerFactory.createContainer(context);
for (CustomLibraryCreator creator : CustomLibraryCreator.EP_NAME.getExtensions()) {
@@ -98,15 +102,15 @@ public class CreateCustomLibraryAction extends CustomLibraryActionBase {
final Predicate<Library> notAddedLibrariesCondition = LibraryEditingUtil.getNotAddedLibrariesCondition(context.getModulesConfigurator().getRootModel(module));
final Collection<Library> librariesToAdd = Collections2.filter(libraries, Predicates.and(suitablePredicate, notAddedLibrariesCondition));
if (librariesToAdd.isEmpty()) {
actions.add(new CreateCustomLibraryAction(creator.getDisplayName(), creator, context, moduleStructureConfigurable, module));
actions.add(new CreateCustomLibraryAction(creator.getDisplayName(), creator, context, projectStructureConfigurable, module));
}
else {
final DefaultActionGroup group = new DefaultActionGroup(creator.getDisplayName(), true);
group.getTemplatePresentation().setIcon(creator.getIcon());
group.add(new CreateCustomLibraryAction("New...", creator, context, moduleStructureConfigurable, module));
group.add(new CreateCustomLibraryAction("New...", creator, context, projectStructureConfigurable, module));
for (Library library : librariesToAdd) {
Icon icon = LibraryPresentationManager.getInstance().getNamedLibraryIcon(library, context);
group.add(new AddExistingCustomLibraryAction(library, icon, creator, context, moduleStructureConfigurable, module));
group.add(new AddExistingCustomLibraryAction(library, icon, creator, context, projectStructureConfigurable, module));
}
actions.add(group);
}
@@ -21,9 +21,9 @@ import com.intellij.openapi.roots.LibraryOrderEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.OrderEntry;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainer;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory;
import com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.projectRoot.StructureConfigurableContext;
import com.intellij.openapi.ui.Messages;
import org.jetbrains.annotations.NotNull;
@@ -38,14 +38,14 @@ import java.util.List;
public abstract class CustomLibraryActionBase extends DumbAwareAction {
protected final CustomLibraryCreator myCreator;
protected final StructureConfigurableContext myContext;
protected final ModuleStructureConfigurable myModuleStructureConfigurable;
protected Module myModule;
protected final ProjectStructureConfigurable myProjectStructureConfigurable;
protected final Module myModule;
protected CustomLibraryActionBase(String text, String description, Icon icon, StructureConfigurableContext context,
ModuleStructureConfigurable moduleStructureConfigurable, CustomLibraryCreator creator, Module module) {
ProjectStructureConfigurable projectStructureConfigurable, CustomLibraryCreator creator, Module module) {
super(text, description, icon);
myContext = context;
myModuleStructureConfigurable = moduleStructureConfigurable;
myProjectStructureConfigurable = projectStructureConfigurable;
myCreator = creator;
myModule = module;
}
@@ -130,7 +130,7 @@ public class ModuleConfigurable extends ProjectStructureElementConfigurable<Modu
//do nothing
}
ModuleEditor getModuleEditor() {
public ModuleEditor getModuleEditor() {
return myConfigurator.getModuleEditor(myModule);
}
@@ -30,7 +30,10 @@ import com.intellij.ide.util.projectWizard.ProjectWizardUtil;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.module.*;
import com.intellij.openapi.module.ModifiableModuleModel;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
@@ -40,17 +43,14 @@ import com.intellij.openapi.roots.impl.ClonableOrderEntry;
import com.intellij.openapi.roots.impl.ProjectRootManagerImpl;
import com.intellij.openapi.roots.impl.RootModelImpl;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ui.configuration.ClasspathEditor;
import com.intellij.openapi.roots.ui.configuration.ModuleEditor;
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator;
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.libraries.CreateCustomLibraryAction;
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.LibraryProjectStructureElement;
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ModuleProjectStructureElement;
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureDaemonAnalyzer;
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.ui.MasterDetailsComponent;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.ui.NamedConfigurable;
import com.intellij.openapi.util.Comparing;
@@ -392,25 +392,6 @@ public class ModuleStructureConfigurable extends BaseStructureConfigurable imple
return myProject;
}
public void selectOrderEntry(@NotNull final Module module, @Nullable final OrderEntry orderEntry) {
ProjectStructureConfigurable.getInstance(myProject).select(module.getName(), null, true).doWhenDone(new Runnable() {
public void run() {
final MyNode node = findModuleNode(module);
if (node != null) {
ModuleConfigurable moduleConfigurable = (ModuleConfigurable)node.getConfigurable();
ModuleEditor moduleEditor = moduleConfigurable.getModuleEditor();
moduleEditor.setSelectedTabName(ClasspathEditor.NAME);
if (orderEntry != null) {
ModuleConfigurationEditor editor = moduleEditor.getEditor(ClasspathEditor.NAME);
if (editor instanceof ClasspathEditor) {
((ClasspathEditor)editor).selectOrderEntry(orderEntry);
}
}
}
}
});
}
public Module[] getModules() {
if (myContext.myModulesConfigurator != null) {
final ModifiableModuleModel model = myContext.myModulesConfigurator.getModuleModel();
@@ -5,7 +5,7 @@ import com.intellij.openapi.roots.ModuleRootModel;
import com.intellij.openapi.roots.OrderEntry;
import com.intellij.openapi.roots.impl.OrderEntryUtil;
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator;
import com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
import com.intellij.openapi.roots.ui.configuration.projectRoot.StructureConfigurableContext;
import org.jetbrains.annotations.NotNull;
@@ -65,7 +65,7 @@ public class UsageInModuleClasspath extends ProjectStructureElementUsage {
else {
entry = null;
}
ModuleStructureConfigurable.getInstance(myContext.getProject()).selectOrderEntry(myModule, entry);
ProjectStructureConfigurable.getInstance(myContext.getProject()).selectOrderEntry(myModule, entry);
}
@Override