On this page we create a menu UI extension point, it assumes you have already created a new Plug-in Project (If you have not allready done this you can go back to this page for a guide to doing this).
Creating a Menu UI Extension Point.
In MANIFEST-MF Extensions click on Add.
and add org.eclipse.ui.commands
Click on the "Hello, World" template.
enter the:
and click on finish, |
|
This creates various extensions to the UI |
|
When we run the project in a new instance of Eclipse we can see a 'Sample Menu' entry in the menu and an ICON which has the same action. |
plugin.xml file
Here is the plugin.xml file produced
So what has the above done to the project code? Running the code from the extensions page, as described above, creates entries in the plugin.xmi which create extensions to the Eclipse UI.
|
<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension point="org.eclipse.ui.commands"> <category id="com.euclideanspace.modelText.commands.category" name="Sample Category"> </category> <command categoryId="com.euclideanspace.modelText.commands.category" id="com.euclideanspace.modelText.commands.sampleCommand" name="Sample Command"> </command> </extension> <extension point="org.eclipse.ui.handlers"> <handler class="com.euclideanspace.modeltext.handlers.SampleHandler" commandId="com.euclideanspace.modelText.commands.sampleCommand"> </handler> </extension> <extension point="org.eclipse.ui.bindings"> <key commandId="com.euclideanspace.modelText.commands.sampleCommand" contextId="org.eclipse.ui.contexts.window" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M1+6"> </key> </extension> <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions"> <menu id="com.euclideanspace.modelText.menus.sampleMenu" label="Sample Menu" mnemonic="M"> <command commandId="com.euclideanspace.modelText.commands.sampleCommand" id="com.euclideanspace.modelText.menus.sampleCommand" mnemonic="S"> </command> </menu> </menuContribution> <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions"> <toolbar id="com.euclideanspace.modelText.toolbars.sampleToolbar"> <command commandId="com.euclideanspace.modelText.commands.sampleCommand" icon="icons/sample.gif" id="com.euclideanspace.modelText.toolbars.sampleCommand" tooltip="Say hello world"> </command> </toolbar> </menuContribution> </extension> </plugin> |
Here is the plugin.xml file produced by the 'hello, world' template in File->New->plug-in
NOTE: actionSets are depreciated
So what has the above done to the project code? Running the code from the extensions page, as described above, creates entries in the plugin.xmi which create extensions to the Eclipse UI.
|
<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension point="org.eclipse.ui.actionSets"> <actionSet label="Sample Action Set" visible="true" id="com.euclideanspace.modelText2.actionSet"> <menu label="Sample &Menu" id="sampleMenu"> <separator |