diff options
Diffstat (limited to 'java/idea-ui/src/com/intellij/ide/util')
9 files changed, 55 insertions, 40 deletions
diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java index 60f6f6981cc8..4de1dda33846 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java @@ -31,11 +31,13 @@ import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.ui.IdeBorderFactory; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; +import javax.swing.*; import java.awt.*; import java.io.File; @@ -56,6 +58,14 @@ public abstract class AbstractProjectWizard extends AbstractWizard<ModuleWizardS myWizardContext = initContext(project, null); } + @Override + protected String addStepComponent(Component component) { + if (component instanceof JComponent) { + ((JComponent)component).setBorder(IdeBorderFactory.createEmptyBorder(0, 0, 0, 0)); + } + return super.addStepComponent(component); + } + public abstract StepSequence getSequence(); private static WizardContext initContext(@Nullable Project project, @Nullable String defaultPath) { @@ -156,15 +166,21 @@ public abstract class AbstractProjectWizard extends AbstractWizard<ModuleWizardS step._commit(true); } catch (CommitStepException e) { - String message = e.getMessage(); - if (message != null) { - Messages.showErrorDialog(getCurrentStepComponent(), message); - } + handleCommitException(e); return; } if (!isLastStep(idx)) { idx = getNextStep(idx); } else { + for (ModuleWizardStep wizardStep : mySteps) { + try { + wizardStep.onWizardFinished(); + } + catch (CommitStepException e) { + handleCommitException(e); + return; + } + } break; } } while (true); @@ -176,6 +192,13 @@ public abstract class AbstractProjectWizard extends AbstractWizard<ModuleWizardS super.doOKAction(); } + private void handleCommitException(CommitStepException e) { + String message = e.getMessage(); + if (message != null) { + Messages.showErrorDialog(getCurrentStepComponent(), message); + } + } + protected boolean commitStepData(final ModuleWizardStep step) { try { if (!step.validate()) { diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddModuleWizard.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddModuleWizard.java index 31af15d98b09..13f019e21147 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddModuleWizard.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddModuleWizard.java @@ -36,13 +36,11 @@ import com.intellij.openapi.roots.ui.configuration.ModulesProvider; import com.intellij.openapi.util.Condition; import com.intellij.projectImport.ProjectImportBuilder; import com.intellij.projectImport.ProjectImportProvider; -import com.intellij.ui.IdeBorderFactory; import com.intellij.util.Function; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; -import javax.swing.*; import java.awt.*; public class AddModuleWizard extends AbstractProjectWizard { @@ -135,14 +133,6 @@ public class AddModuleWizard extends AbstractProjectWizard { } @Override - protected String addStepComponent(Component component) { - if (component instanceof JComponent) { - ((JComponent)component).setBorder(IdeBorderFactory.createEmptyBorder(0, 0, 0, 0)); - } - return super.addStepComponent(component); - } - - @Override public StepSequence getSequence() { return myWizardMode.getSteps(myWizardContext, myModulesProvider); } diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java index 26571042d3df..79cace7526cf 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java @@ -108,7 +108,7 @@ public class AddSupportForFrameworksPanel implements Disposable { ((DefaultTreeModel)myFrameworksTree.getModel()).nodeChanged(getSelectedNode()); } }, this); - setProviders(providers, Collections.<String>emptySet()); + setProviders(providers, Collections.<String>emptySet(), Collections.<String>emptySet()); myFrameworksTree.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { @@ -129,10 +129,15 @@ public class AddSupportForFrameworksPanel implements Disposable { } - public void setProviders(List<FrameworkSupportInModuleProvider> providers, Set<String> associated) { + public void setProviders(List<FrameworkSupportInModuleProvider> providers, Set<String> associated, Set<String> preselected) { myProviders = providers; myAssociatedFrameworks = createNodes(myProviders, associated); + for (FrameworkSupportNodeBase node : myRoots) { + if (preselected.contains(node.getId())) { + node.setChecked(true); + } + } setAssociatedFrameworks(); myFrameworksTree.setRoots(myRoots); @@ -253,7 +258,7 @@ public class AddSupportForFrameworksPanel implements Disposable { private List<LibraryCompositionSettings> getLibrariesCompositionSettingsList() { List<LibraryCompositionSettings> list = new ArrayList<LibraryCompositionSettings>(); - List<FrameworkSupportNode> selected = getFrameworkNodes(true); + List<FrameworkSupportNode> selected = getSelectedNodes(); for (FrameworkSupportNode node : selected) { ContainerUtil.addIfNotNull(list, getLibraryCompositionSettings(node)); } @@ -349,34 +354,33 @@ public class AddSupportForFrameworksPanel implements Disposable { } public boolean hasSelectedFrameworks() { - return !getFrameworkNodes(true).isEmpty(); + return !getSelectedNodes().isEmpty(); } - private List<FrameworkSupportNode> getFrameworkNodes(final boolean selectedOnly) { + private List<FrameworkSupportNode> getSelectedNodes() { List<FrameworkSupportNode> list = new ArrayList<FrameworkSupportNode>(); if (myRoots != null) { - addChildFrameworks(myRoots, list, selectedOnly); + addChildFrameworks(myRoots, list); } + list.addAll(ContainerUtil.mapNotNull(myAssociatedFrameworks, new Function.InstanceOf<FrameworkSupportNodeBase, FrameworkSupportNode>(FrameworkSupportNode.class))); return list; } - private static void addChildFrameworks(final List<FrameworkSupportNodeBase> list, final List<FrameworkSupportNode> result, - final boolean selectedOnly) { + private static void addChildFrameworks(final List<FrameworkSupportNodeBase> list, final List<FrameworkSupportNode> result) { for (FrameworkSupportNodeBase node : list) { - if (!selectedOnly || node.isChecked() || node instanceof FrameworkGroupNode) { + if (node.isChecked() || node instanceof FrameworkGroupNode) { if (node instanceof FrameworkSupportNode) { result.add((FrameworkSupportNode)node); } //noinspection unchecked - addChildFrameworks(node.getChildren(), result, selectedOnly); + addChildFrameworks(node.getChildren(), result); } } } public void addSupport(final @NotNull Module module, final @NotNull ModifiableRootModel rootModel) { List<Library> addedLibraries = new ArrayList<Library>(); - List<FrameworkSupportNode> selectedFrameworks = getFrameworkNodes(true); - selectedFrameworks.addAll(ContainerUtil.mapNotNull(myAssociatedFrameworks, new Function.InstanceOf<FrameworkSupportNodeBase, FrameworkSupportNode>(FrameworkSupportNode.class))); + List<FrameworkSupportNode> selectedFrameworks = getSelectedNodes(); sortFrameworks(selectedFrameworks); List<FrameworkSupportConfigurable> selectedConfigurables = new ArrayList<FrameworkSupportConfigurable>(); final IdeaModifiableModelsProvider modifiableModelsProvider = new IdeaModifiableModelsProvider(); diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworkSupportOptionsComponent.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworkSupportOptionsComponent.java index 8237baf4538e..1b5c3b9404c8 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworkSupportOptionsComponent.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworkSupportOptionsComponent.java @@ -100,7 +100,7 @@ public class FrameworkSupportOptionsComponent { myLibraryOptionsPanel = new LibraryOptionsPanel(description, myModel.getBaseDirectoryForLibrariesPath(), createLibraryVersionFilter(), container, !myConfigurable.isOnlyLibraryAdded()) { @Override - protected void onVersionChanged(FrameworkLibraryVersion version) { + protected void onVersionChanged(@Nullable String version) { if (myFrameworkVersionComponent == null) { myModel.setSelectedLibraryVersion(provider.getId(), version); } diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworksTree.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworksTree.java index 6dcd22561e80..dc2cecdd5422 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworksTree.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworksTree.java @@ -16,7 +16,6 @@ package com.intellij.ide.util.newProjectWizard; import com.intellij.framework.FrameworkOrGroup; -import com.intellij.framework.PresentableVersion; import com.intellij.ide.util.newProjectWizard.impl.FrameworkSupportModelBase; import com.intellij.ui.CheckboxTree; import com.intellij.ui.CheckedTreeNode; @@ -114,9 +113,9 @@ public class FrameworksTree extends CheckboxTree { getTextRenderer().append(node.getTitle(), attributes); if (node.isChecked()) { FrameworkOrGroup object = node.getUserObject(); - PresentableVersion version = myModel.getPresentableVersion(object.getId()); + String version = myModel.getFrameworkVersion(object.getId()); if (version != null) { - getTextRenderer().append(" (" + version.getVersionNumber() + ")", SimpleTextAttributes.GRAYED_ATTRIBUTES); + getTextRenderer().append(" (" + version + ")", SimpleTextAttributes.GRAYED_ATTRIBUTES); } } getTextRenderer().setIcon(node.getIcon()); diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/LoadingProjectTemplate.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/LoadingProjectTemplate.java index 2154ec25c4ed..9cd0f67c9549 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/LoadingProjectTemplate.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/LoadingProjectTemplate.java @@ -27,7 +27,7 @@ import javax.swing.*; * @author Dmitry Avdeev * Date: 11/28/12 */ -class LoadingProjectTemplate implements ProjectTemplate { +public class LoadingProjectTemplate implements ProjectTemplate { @NotNull @Override public String getName() { diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/ProjectTypesList.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/ProjectTypesList.java index 813eae735b90..1af97c19d3cd 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/ProjectTypesList.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/ProjectTypesList.java @@ -68,7 +68,6 @@ public class ProjectTypesList implements Disposable { } }.setComparator(new SpeedSearchComparator(false)); List<TemplateItem> items = buildItems(map); - final RemoteTemplatesFactory factory = new RemoteTemplatesFactory(); final TemplatesGroup samplesGroup = new TemplatesGroup("Loading Templates...", "", null, 0); myLoadingItem = new TemplateItem(new LoadingProjectTemplate(), samplesGroup) { @Override @@ -84,6 +83,7 @@ public class ProjectTypesList implements Disposable { items.add(myLoadingItem); myModel = new CollectionListModel<TemplateItem>(items); + final RemoteTemplatesFactory factory = new RemoteTemplatesFactory(); ProgressManager.getInstance().run(new Task.Backgroundable(context.getProject(), "Loading Templates") { @Override public void run(@NotNull ProgressIndicator indicator) { diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateStep.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateStep.java index e1d46ea35e30..d0a353617b5b 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateStep.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateStep.java @@ -519,6 +519,7 @@ public class SelectTemplateStep extends ModuleWizardStep implements SettingsStep myModuleNameDocListenerEnabled = true; } + @Override @NotNull public JTextField getModuleNameField() { return myModuleName; diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/impl/FrameworkSupportModelBase.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/impl/FrameworkSupportModelBase.java index 3ac7333ce294..aa109764df9e 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/impl/FrameworkSupportModelBase.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/impl/FrameworkSupportModelBase.java @@ -17,10 +17,8 @@ package com.intellij.ide.util.newProjectWizard.impl; import com.intellij.facet.impl.ui.libraries.FrameworkLibraryProvider; import com.intellij.framework.FrameworkVersion; -import com.intellij.framework.PresentableVersion; import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider; import com.intellij.framework.addSupport.FrameworkVersionListener; -import com.intellij.framework.library.FrameworkLibraryVersion; import com.intellij.ide.util.frameworkSupport.FrameworkSupportConfigurable; import com.intellij.ide.util.frameworkSupport.FrameworkSupportModel; import com.intellij.ide.util.frameworkSupport.FrameworkSupportModelListener; @@ -55,7 +53,7 @@ public abstract class FrameworkSupportModelBase extends UserDataHolderBase imple private final Map<String, FrameworkSupportNode> mySettingsMap = new HashMap<String, FrameworkSupportNode>(); private final Map<String, FrameworkSupportOptionsComponent> myOptionsComponentsMap = new HashMap<String, FrameworkSupportOptionsComponent>(); private final Map<String, FrameworkVersion> mySelectedVersions = new HashMap<String, FrameworkVersion>(); - private final Map<String, FrameworkLibraryVersion> myLibraryVersions = new HashMap<String, FrameworkLibraryVersion>(); + private final Map<String, String> myFrameworkVersions = new HashMap<String, String>(); private FrameworkLibraryProvider myLibraryProvider; public FrameworkSupportModelBase(final @Nullable Project project, @Nullable ModuleBuilder builder, @NotNull LibrariesContainer librariesContainer) { @@ -169,7 +167,7 @@ public abstract class FrameworkSupportModelBase extends UserDataHolderBase imple return myLibraryProvider; } - public void setLibraryProvider(FrameworkLibraryProvider libraryProvider) { + public void setLibraryProvider(@Nullable FrameworkLibraryProvider libraryProvider) { myLibraryProvider = libraryProvider; for (FrameworkSupportOptionsComponent optionsComponent : myOptionsComponentsMap.values()) { optionsComponent.updateLibrariesPanel(); @@ -205,13 +203,13 @@ public abstract class FrameworkSupportModelBase extends UserDataHolderBase imple return myLibrariesContainer; } - public void setSelectedLibraryVersion(String id, FrameworkLibraryVersion version) { - myLibraryVersions.put(id, version); + public void setSelectedLibraryVersion(String id, String version) { + myFrameworkVersions.put(id, version); myVersionEventDispatcher.getMulticaster().versionChanged(getSelectedVersion(id)); } - public PresentableVersion getPresentableVersion(String id) { + public String getFrameworkVersion(String id) { FrameworkVersion version = mySelectedVersions.get(id); - return version == null ? myLibraryVersions.get(id) : version; + return version == null ? myFrameworkVersions.get(id) : version.getVersionNumber(); } } |