diff -r 000000000000 -r fb279309251b carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/tasks/CarbideMenu.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/tasks/CarbideMenu.htm Fri Apr 03 23:33:03 2009 +0100 @@ -0,0 +1,72 @@ + + + +
+ +If you are creating a plug-in specifically for use with Carbide.c++ we recommend that +any menu items you create be added to existing Eclipse menus or to the Carbide menu. +
+Following this guideline reduces the likelihood of menu clutter for uses with multiple Carbide extensions. +It also provides users with a consistent place to look for extension commands. +
+The standard Eclipse technique for adding items to a menu is the org.eclipse.ui.actionSet
+extension point. To add to the Carbide menu you use a standard action set, and specify the Carbide menu
+in the menubarPath
attribute. Below is an example:
+
+<extension + point="org.eclipse.ui.actionSets"> + <actionSet + id="Example.actionSet1" + label="Example Actions" + visible="true"> + <menu + id="com.nokia.carbide.cpp.ui.CarbideMenu" + label="&Carbide" + path="additions"> + <groupMarker name="CarbideExtensions"/> + </menu> + <action + class="SampleItem" + id="example.actions.CarbideExample" + label="My Extension" + icon="icons/sample.gif" + toolbarPath="sampleGroup" + menubarPath="com.nokia.carbide.cpp.ui.CarbideMenu/CarbideExtensions" + /> + </actionSet> +</extension> ++ +
The <menu> element must be included because Eclipse 3.2 does not completely support +declaring menus in one plugin and referencing them from another. Please include this element exactly as-is. +
+ +Note that the menubarPath
has two elements to the path:
com.nokia.carbide.cpp.ui.CarbideMenu
- this specifies the Carbide menu itself.
+CarbideExtensions
- this specifies the particular group in the menu for
+extension commands. It's important to include this specific group for compatibility with future Carbide.c++ releases.
+Carbide defines two other named groups in this menu: CarbideStart
and
+CarbideEnd
. These are for internal use and should not be used by third-party plugins.
+