API for creating SupportForFrameworksStep

This commit is contained in:
Dmitry Jemerov
2009-08-31 19:51:11 +04:00
parent 85abcbae5b
commit 1a4bf5bb1a
3 changed files with 19 additions and 6 deletions
@@ -31,8 +31,6 @@
*/
package com.intellij.openapi.module;
import com.intellij.ide.util.frameworkSupport.FrameworkSupportUtil;
import com.intellij.ide.util.newProjectWizard.SupportForFrameworksStep;
import com.intellij.ide.util.projectWizard.JavaModuleBuilder;
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
import com.intellij.ide.util.projectWizard.ProjectWizardStepFactory;
@@ -40,10 +38,9 @@ import com.intellij.ide.util.projectWizard.WizardContext;
import com.intellij.openapi.project.ProjectBundle;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory;
import com.intellij.openapi.util.IconLoader;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.CommonClassNames;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.util.ArrayUtil;
import org.jetbrains.annotations.NonNls;
@@ -86,8 +83,9 @@ public class JavaModuleType extends ModuleType<JavaModuleBuilder> {
ArrayList<ModuleWizardStep> steps = new ArrayList<ModuleWizardStep>();
steps.add(wizardFactory.createSourcePathsStep(wizardContext, moduleBuilder, getWizardIcon(), "reference.dialogs.new.project.fromScratch.source"));
steps.add(wizardFactory.createProjectJdkStep(wizardContext));
if (!FrameworkSupportUtil.getProviders(moduleBuilder).isEmpty()) {
steps.add(new SupportForFrameworksStep(moduleBuilder, LibrariesContainerFactory.createContainer(wizardContext.getProject())));
final ModuleWizardStep supportForFrameworksStep = wizardFactory.createSupportForFrameworksStep(wizardContext, moduleBuilder);
if (supportForFrameworksStep != null) {
steps.add(supportForFrameworksStep);
}
final ModuleWizardStep[] wizardSteps = steps.toArray(new ModuleWizardStep[steps.size()]);
return ArrayUtil.mergeArrays(wizardSteps, super.createWizardSteps(wizardContext, moduleBuilder, modulesProvider), ModuleWizardStep.class);
@@ -20,6 +20,7 @@ import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.util.Computable;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
@@ -56,4 +57,7 @@ public abstract class ProjectWizardStepFactory {
public abstract ModuleWizardStep createProjectJdkStep(WizardContext context, SdkType type, JavaModuleBuilder builder, Computable<Boolean> isVisibile, Icon icon, @NonNls String helpId);
public abstract ModuleWizardStep createProjectJdkStep(final WizardContext wizardContext);
@Nullable
public abstract ModuleWizardStep createSupportForFrameworksStep(WizardContext context, ModuleBuilder builder);
}
@@ -5,8 +5,11 @@
package com.intellij.ide.util.projectWizard;
import com.intellij.ide.util.newProjectWizard.SourcePathsStep;
import com.intellij.ide.util.newProjectWizard.SupportForFrameworksStep;
import com.intellij.ide.util.frameworkSupport.FrameworkSupportUtil;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory;
import com.intellij.openapi.util.Computable;
import org.jetbrains.annotations.NonNls;
@@ -83,4 +86,12 @@ public class ProjectWizardStepFactoryImpl extends ProjectWizardStepFactory {
};
}
@Override
public ModuleWizardStep createSupportForFrameworksStep(WizardContext wizardContext, ModuleBuilder moduleBuilder) {
if (!FrameworkSupportUtil.getProviders(moduleBuilder).isEmpty()) {
return new SupportForFrameworksStep(moduleBuilder, LibrariesContainerFactory.createContainer(wizardContext.getProject()));
}
return null;
}
}