In my plugin, I have a pop up menu with menu item ‘X’ and I want to add submenu to this menu item
and the number and labels of menu items in the submenu and their action will change.
I think I can’;t do this from plugin.xml, so how to do this programatically?
In your plugin.xml, under org.eclipse.ui.menus, add a menuContribution that refers to the id of your “root” menu, i.e. the menu that you want to have your submenus attached to (in this case, menu:myDynamicMenuRoot):
Note that allPopups=”true” ensures that your submenus will be added to any menu with the id myDynamicMenuRoot that you add anywhere in your application.
Finally, create a class extending ExtensionContributionFactory, whose job it will be to create your dynamic submenu items. Here I add items based on commands I have defined in my plugin.xml: