mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
framework.md: update
This commit is contained in:
parent
be15f51668
commit
cdc54c7d51
@ -1,6 +1,6 @@
|
||||
[//]: # (title: Frameworks)
|
||||
|
||||
<!-- Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
|
||||
<!-- Copyright 2000-2021 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
|
||||
|
||||
The following tutorial shows how to support a custom framework type for a project and make this framework type embedded in a project wizard as a UI component.
|
||||
The examples in this tutorial rely heavily on the [framework_basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/framework_basics) code sample.
|
||||
@ -28,11 +28,12 @@ It is best if this is the FQN name of the class:
|
||||
|
||||
```java
|
||||
public class DemoFramework extends FrameworkTypeEx {
|
||||
|
||||
public static final String FRAMEWORK_ID = "org.intellij.sdk.framework.DemoFramework";
|
||||
|
||||
protected DemoFramework() {
|
||||
super(FRAMEWORK_ID);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The *Presentable name* and *icon* define the appearance of visual components related to the framework:
|
||||
@ -73,14 +74,16 @@ public FrameworkSupportInModuleProvider createProvider() {
|
||||
@Override
|
||||
public FrameworkSupportInModuleConfigurable createConfigurable(@NotNull FrameworkSupportModel model) {
|
||||
return new FrameworkSupportInModuleConfigurable() {
|
||||
@Nullable
|
||||
|
||||
@Override
|
||||
public JComponent createComponent() {
|
||||
return new JCheckBox("SDK Extra Option");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addSupport(@NotNull Module module, @NotNull ModifiableRootModel model, @NotNull ModifiableModelsProvider provider) {
|
||||
public void addSupport(@NotNull Module module,
|
||||
@NotNull ModifiableRootModel model,
|
||||
@NotNull ModifiableModelsProvider provider) {
|
||||
// This is the place to set up a library, generate a specific file, etc
|
||||
// and actually add framework support to a module.
|
||||
}
|
||||
@ -93,8 +96,12 @@ public FrameworkSupportInModuleProvider createProvider() {
|
||||
}
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
After compiling and running the code sample above an extra option for configuring the newly created Demo custom framework should be available in the Project Wizard:
|
||||
```
|
||||
## Compile and Run the Plugin
|
||||
|
||||
See [Code Samples](code_samples.md) on how to set up and run the plugin.
|
||||
|
||||
Extra option for configuring the newly created Demo custom framework should be available in the Project Wizard:
|
||||
|
||||

|
||||
|
Loading…
x
Reference in New Issue
Block a user