mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
[code] module demo
This commit is contained in:
parent
7491a87a46
commit
c0e186494f
@ -18,6 +18,7 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<extensions defaultExtensionNs="com.intellij">
|
<extensions defaultExtensionNs="com.intellij">
|
||||||
|
<moduleType id="DEMO_MODULE_TYPE" implementationClass="com.intellij.tutorials.module.DemoModuleType"/>
|
||||||
</extensions>
|
</extensions>
|
||||||
|
|
||||||
<application-components>
|
<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();
|
||||||
|
}
|
||||||
|
}
|
@ -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