From 18a457de977e9ca791bb533d95164653e09586ca Mon Sep 17 00:00:00 2001 From: Anna Bulenkova Date: Mon, 2 Feb 2015 13:22:09 +0100 Subject: [PATCH] [md] custom framework support + img --- tutorials/framework/framework.md | 106 ++++++++++++++++++- tutorials/framework/img/custom_framework.png | Bin 0 -> 44031 bytes 2 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 tutorials/framework/img/custom_framework.png diff --git a/tutorials/framework/framework.md b/tutorials/framework/framework.md index 5d7c5899c..9856ee304 100644 --- a/tutorials/framework/framework.md +++ b/tutorials/framework/framework.md @@ -1,4 +1,108 @@ Supporting frameworks =============== -Under construction +The following tutorial meant to show how to support a custom framework type for a project and make this framework type embedded in a project wizard as a UI component. + +#Creating a new framework +In oder to make a custom framework available and configurable for a project +[FrameworkTypeEx]() +class needs to be extended: +```java +public class DemoFramework extends FrameworkTypeEx { +} +``` + +#Registering framework +The newly created framework should be registered as an extension point by putting *framework.type* attribute into ** section of +[plugin.xml]() +configuration file: +```xml + + + +``` + +#Setting up mandatory attributes +The framework component should have a unique name passed as a string literal to the constructor: + +```java +public class DemoFramework extends FrameworkTypeEx { + public static final String FRAMEWORK_ID = "Demo"; + protected DemoFramework() { + super(FRAMEWORK_ID); + } +} +``` + +*Presentable name* and *icon* define the appearance of visual components related to the framework: + +```java +public class DemoFramework extends FrameworkTypeEx { + public static final String FRAMEWORK_ID = "Demo"; + protected DemoFramework() { + super(FRAMEWORK_ID); + } + + @NotNull + @Override + public String getPresentableName() { + return "Demo Framework"; + } + + @NotNull + @Override + public Icon getIcon() { + return AllIcons.Providers.Apache; + } +} +``` + +#Creating provider for enabling framework support +To make framework set up available while executing project creating steps ```java public FrameworkSupportInModuleProvider createProvider();``` +of the +[DemoFramework]() +must be implemented: + +```java +@NotNull +@Override +public FrameworkSupportInModuleProvider createProvider() { + return new FrameworkSupportInModuleProvider() { + @NotNull + @Override + public FrameworkTypeEx getFrameworkType() { + return DemoFramework.this; + } + + @NotNull + @Override + public FrameworkSupportInModuleConfigurable createConfigurable(@NotNull FrameworkSupportModel model) { + return new FrameworkSupportInModuleConfigurable() { + @Nullable + @Override + public JComponent createComponent() { + return new JCheckBox("Extra Option"); + } + + @Override + public void addSupport(@NotNull Module module, @NotNull ModifiableRootModel model, @NotNull ModifiableModelsProvider provider) { + //do what you want here: setup a library, generate a specific file, etc + } + }; + } + + @Override + public boolean isEnabledForModuleType(@NotNull ModuleType type) { + return true; + } + }; +} +``` + +After compiling and running the code sample above an extra option for configuring the newly created custom framework should be available in the Project Wizard: +![Custom Framework Support](img/custom_framework.png) + + + + + diff --git a/tutorials/framework/img/custom_framework.png b/tutorials/framework/img/custom_framework.png new file mode 100644 index 0000000000000000000000000000000000000000..4131d571d30d79fb9b6a2a2676f65b07dc190afd GIT binary patch literal 44031 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 z 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