diff --git a/tutorials/action_system.md b/tutorials/action_system.md index 93c8dba38..8f575a0a8 100644 --- a/tutorials/action_system.md +++ b/tutorials/action_system.md @@ -96,6 +96,50 @@ Parameter e carries information on the invocation place and data available ------------- +#How to create a custom group of actions? + +If some part of the functionality requires to implement several actions or actions are simply too many and overload the menu +they can be joined into groups. In this case the group will be available as a top-level menu item, action will be represented as drop-down menu items. +Grouping can be done by placing attribute into +[plugin.xml] (https://github.com/JetBrains/intellij-sdk/blob/master/code_samples/plugin_sample/META-INF/plugin.xml) +file. + + + + + + + + + + + + +Class +[DummyActionGroup] (https://github.com/JetBrains/intellij-sdk/blob/master/code_samples/plugin_sample/src/org/jetbrains/plugins/sample/DummyActionGroup.java) +should be +derived from [ActionGroup] (https://github.com/JetBrains/intellij-community/blob/master/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/ActionGroup.java) +and its +[getChildren()](https://github.com/JetBrains/intellij-sdk/blob/master/code_samples/plugin_sample/src/org/jetbrains/plugins/sample/DummyActionGroup.java) +method should return an +array of +[actions] (https://github.com/JetBrains/intellij-sdk/blob/master/code_samples/plugin_sample/src/org/jetbrains/plugins/sample/GroupedAction.java) +belonging to this group. + +--------------- + +