diff --git a/project_wizard/META-INF/plugin.xml b/project_wizard/META-INF/plugin.xml index 5d536f7b8..7df902cd7 100644 --- a/project_wizard/META-INF/plugin.xml +++ b/project_wizard/META-INF/plugin.xml @@ -14,6 +14,7 @@ + diff --git a/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleBuilder.java b/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleBuilder.java new file mode 100644 index 000000000..50a9014c0 --- /dev/null +++ b/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleBuilder.java @@ -0,0 +1,24 @@ +package org.jetbrains.tutorials.project.wizard; + +import com.intellij.ide.util.projectWizard.JavaModuleBuilder; +import com.intellij.ide.util.projectWizard.ModuleBuilderListener; +import com.intellij.ide.util.projectWizard.ModuleWizardStep; +import com.intellij.ide.util.projectWizard.WizardContext; +import com.intellij.openapi.module.Module; +import com.intellij.openapi.roots.ui.configuration.ModulesProvider; +import org.jetbrains.annotations.NotNull; + +/** + * @author Anna Bulenkova + */ +public class DemoModuleBuilder extends JavaModuleBuilder implements ModuleBuilderListener { + @Override + public ModuleWizardStep[] createWizardSteps(@NotNull WizardContext wizardContext, @NotNull ModulesProvider modulesProvider) { + return new ModuleWizardStep[]{new DemoModuleWizardStep(this)}; + } + + @Override + public void moduleCreated(@NotNull Module module) { + + } +} diff --git a/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleType.java b/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleType.java new file mode 100644 index 000000000..62c444ecc --- /dev/null +++ b/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleType.java @@ -0,0 +1,44 @@ +package org.jetbrains.tutorials.project.wizard; + +import com.intellij.icons.AllIcons; +import com.intellij.openapi.module.ModuleType; +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; + +/** + * @author Anna Bulenkova + */ +public class DemoModuleType extends ModuleType { + public DemoModuleType() { + super("DEMO_MODULE"); + } + + @NotNull + @Override + public DemoModuleBuilder createModuleBuilder() { + return new DemoModuleBuilder(); + } + + @NotNull + @Override + public String getName() { + return "Demo"; + } + + @NotNull + @Override + public String getDescription() { + return "Demo module for educational purposes"; + } + + @Override + public Icon getBigIcon() { + return null; + } + + @Override + public Icon getNodeIcon(@Deprecated boolean isOpened) { + return AllIcons.General.Information; + } +} diff --git a/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleWizardStep.java b/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleWizardStep.java new file mode 100644 index 000000000..fd169375c --- /dev/null +++ b/project_wizard/src/org/jetbrains/tutorials/project/wizard/DemoModuleWizardStep.java @@ -0,0 +1,25 @@ +package org.jetbrains.tutorials.project.wizard; + +import com.intellij.ide.util.projectWizard.ModuleWizardStep; + +import javax.swing.*; + +/** + * @author Anna Bulenkova + */ +public class DemoModuleWizardStep extends ModuleWizardStep { + private DemoModuleBuilder myBuilder; + public DemoModuleWizardStep(DemoModuleBuilder builder) { + myBuilder = builder; + } + + @Override + public JComponent getComponent() { + return new JPanel(); + } + + @Override + public void updateDataModel() { + + } +}