mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-27 16:57:49 +08:00
[code] module demo
This commit is contained in:
parent
7cee8b7831
commit
f185d1af73
@ -18,6 +18,7 @@
|
||||
-->
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<moduleType id="DEMO_MODULE_TYPE" implementationClass="com.intellij.tutorials.module.DemoModuleType"/>
|
||||
</extensions>
|
||||
|
||||
<application-components>
|
||||
|
@ -0,0 +1,31 @@
|
||||
package com.intellij.tutorials.module;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.ModuleBuilder;
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author Anna Bulenkova
|
||||
*/
|
||||
public class DemoModuleBuilder extends ModuleBuilder {
|
||||
@Override
|
||||
public void setupRootModel(ModifiableRootModel model) throws ConfigurationException {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleType getModuleType() {
|
||||
return DemoModuleType.getInstance();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public ModuleWizardStep getCustomOptionsStep(WizardContext context, Disposable parentDisposable) {
|
||||
return new DemoModuleWizardStep();
|
||||
}
|
||||
}
|
60
module/src/com/intellij/tutorials/module/DemoModuleType.java
Normal file
60
module/src/com/intellij/tutorials/module/DemoModuleType.java
Normal file
@ -0,0 +1,60 @@
|
||||
package com.intellij.tutorials.module;
|
||||
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
import com.intellij.ide.util.projectWizard.WizardContext;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.module.ModuleTypeManager;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* @author Anna Bulenkova
|
||||
*/
|
||||
public class DemoModuleType extends ModuleType<DemoModuleBuilder> {
|
||||
private static final String ID = "DEMO_MODULE_TYPE";
|
||||
|
||||
public DemoModuleType() {
|
||||
super(ID);
|
||||
}
|
||||
|
||||
public static DemoModuleType getInstance() {
|
||||
return (DemoModuleType) ModuleTypeManager.getInstance().findByID(ID);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public DemoModuleBuilder createModuleBuilder() {
|
||||
return new DemoModuleBuilder();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Demo";
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Demo Module Type";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getBigIcon() {
|
||||
return AllIcons.General.Information;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getNodeIcon(@Deprecated boolean b) {
|
||||
return AllIcons.General.Information;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public ModuleWizardStep[] createWizardSteps(@NotNull WizardContext wizardContext, @NotNull DemoModuleBuilder moduleBuilder, @NotNull ModulesProvider modulesProvider) {
|
||||
return super.createWizardSteps(wizardContext, moduleBuilder, modulesProvider);
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.intellij.tutorials.module;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* @author Anna Bulenkova
|
||||
*/
|
||||
public class DemoModuleWizardStep extends ModuleWizardStep {
|
||||
@Override
|
||||
public JComponent getComponent() {
|
||||
return new JLabel("Provide some setting here");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDataModel() {
|
||||
//todo update model according to UI
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user