summaryrefslogtreecommitdiff
path: root/java/idea-ui/src/com/intellij/ide/util
diff options
context:
space:
mode:
Diffstat (limited to 'java/idea-ui/src/com/intellij/ide/util')
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AbstractProjectWizard.java31
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddModuleWizard.java10
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/AddSupportForFrameworksPanel.java28
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworkSupportOptionsComponent.java2
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/FrameworksTree.java5
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/LoadingProjectTemplate.java2
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/ProjectTypesList.java2
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateStep.java1
-rw-r--r--java/idea-ui/src/com/intellij/ide/util/newProjectWizard/impl/FrameworkSupportModelBase.java14
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();
}
}