mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
selecting module type with specific steps
This commit is contained in:
+13
-10
@@ -356,17 +356,23 @@ public class ProjectNameWithTypeStep extends ProjectNameStep {
|
||||
|
||||
public void updateStep() {
|
||||
super.updateStep();
|
||||
if (myCreateModuleCb.isSelected()) {
|
||||
mySequence.setType(getSelectedBuilderId());
|
||||
} else {
|
||||
mySequence.setType(null);
|
||||
if (myHeader.isVisible()) {
|
||||
if (myCreateModuleCb.isSelected()) {
|
||||
mySequence.setType(getSelectedBuilderId());
|
||||
} else {
|
||||
mySequence.setType(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void updateDataModel() {
|
||||
if (myCreateModuleCb.isSelected()) {
|
||||
mySequence.setType(getSelectedBuilderId());
|
||||
super.updateDataModel();
|
||||
|
||||
if (myHeader.isVisible()) {
|
||||
mySequence.setType(myCreateModuleCb.isSelected() ? getSelectedBuilderId() : null);
|
||||
}
|
||||
super.updateDataModel();
|
||||
|
||||
if (myHeader.isVisible() && myCreateModuleCb.isSelected()) {
|
||||
final ModuleBuilder builder = (ModuleBuilder)myMode.getModuleBuilder();
|
||||
assert builder != null;
|
||||
final String moduleName = getModuleName();
|
||||
@@ -374,9 +380,6 @@ public class ProjectNameWithTypeStep extends ProjectNameStep {
|
||||
builder.setModuleFilePath(
|
||||
FileUtil.toSystemIndependentName(myModuleFileLocation.getText()) + "/" + moduleName + ModuleFileType.DOT_DEFAULT_EXTENSION);
|
||||
builder.setContentEntryPath(FileUtil.toSystemIndependentName(myModuleContentRoot.getText()));
|
||||
} else {
|
||||
mySequence.setType(null);
|
||||
super.updateDataModel();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -76,13 +76,16 @@ public class SelectTemplateStep extends ModuleWizardStep {
|
||||
private JPanel myDescriptionPanel;
|
||||
|
||||
private final WizardContext myContext;
|
||||
private final StepSequence mySequence;
|
||||
|
||||
private final ElementFilter.Active.Impl<SimpleNode> myFilter;
|
||||
private final FilteringTreeBuilder myBuilder;
|
||||
private MinusculeMatcher[] myMatchers;
|
||||
|
||||
public SelectTemplateStep(WizardContext context) {
|
||||
public SelectTemplateStep(WizardContext context, StepSequence sequence) {
|
||||
|
||||
myContext = context;
|
||||
mySequence = sequence;
|
||||
Messages.installHyperlinkSupport(myDescriptionPane);
|
||||
|
||||
ProjectTemplatesFactory[] factories = ProjectTemplatesFactory.EP_NAME.getExtensions();
|
||||
@@ -242,6 +245,12 @@ public class SelectTemplateStep extends ModuleWizardStep {
|
||||
@Override
|
||||
public void updateStep() {
|
||||
myBuilder.queueUpdate();
|
||||
setModuleType();
|
||||
}
|
||||
|
||||
private void setModuleType() {
|
||||
ProjectTemplate template = getSelectedTemplate();
|
||||
mySequence.setType(template == null ? null : template.createModuleBuilder().getBuilderId());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -342,6 +351,7 @@ public class SelectTemplateStep extends ModuleWizardStep {
|
||||
|
||||
@Override
|
||||
public void updateDataModel() {
|
||||
setModuleType();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-6
@@ -57,14 +57,13 @@ public class CreateFromScratchMode extends WizardMode {
|
||||
myBuildersMap.put(builder.getBuilderId(), builder);
|
||||
}
|
||||
myBuildersMap.put(ModuleType.EMPTY.getId(), new EmptyModuleBuilder());
|
||||
return createSequence(context, modulesProvider, this);
|
||||
return addSteps(context, modulesProvider, this, new StepSequence());
|
||||
}
|
||||
|
||||
static StepSequence createSequence(WizardContext context,
|
||||
ModulesProvider modulesProvider,
|
||||
WizardMode mode,
|
||||
ModuleWizardStep... firstSteps) {
|
||||
final StepSequence sequence = new StepSequence(firstSteps);
|
||||
static StepSequence addSteps(WizardContext context,
|
||||
ModulesProvider modulesProvider,
|
||||
WizardMode mode,
|
||||
StepSequence sequence) {
|
||||
sequence.addCommonStep(new ProjectNameWithTypeStep(context, sequence, mode));
|
||||
for (ModuleBuilder builder : ModuleBuilder.getAllBuilders()) {
|
||||
addModuleBuilder(builder, context, modulesProvider, sequence);
|
||||
|
||||
+6
-4
@@ -17,7 +17,7 @@ package com.intellij.ide.util.newProjectWizard.modes;
|
||||
|
||||
import com.intellij.ide.util.newProjectWizard.SelectTemplateStep;
|
||||
import com.intellij.ide.util.newProjectWizard.StepSequence;
|
||||
import com.intellij.ide.util.projectWizard.ProjectBuilder;
|
||||
import com.intellij.ide.util.projectWizard.ModuleBuilder;
|
||||
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
@@ -53,13 +53,15 @@ public class CreateFromTemplateMode extends WizardMode {
|
||||
@Nullable
|
||||
@Override
|
||||
protected StepSequence createSteps(WizardContext context, @NotNull ModulesProvider modulesProvider) {
|
||||
mySelectTemplateStep = new SelectTemplateStep(context);
|
||||
return CreateFromScratchMode.createSequence(context, modulesProvider, this, mySelectTemplateStep);
|
||||
StepSequence sequence = new StepSequence();
|
||||
mySelectTemplateStep = new SelectTemplateStep(context, sequence);
|
||||
sequence.addCommonStep(mySelectTemplateStep);
|
||||
return CreateFromScratchMode.addSteps(context, modulesProvider, this, sequence);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public ProjectBuilder getModuleBuilder() {
|
||||
public ModuleBuilder getModuleBuilder() {
|
||||
final ProjectTemplate template = mySelectTemplateStep.getSelectedTemplate();
|
||||
if (template == null) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user