Reputation: 555
So, for learning purposes, I am writing an eclipse plugin which should take an already existing launch configuration, and rerun it with just some new VM - attributes.
Through the org.eclipse.ui.commands extension point i was able to create the command.
<extension point="org.eclipse.ui.commands">
<command
defaultHandler="launchconfigurator.LaunchConfiguratorCommandHandler"
id="launchconfigurator.toolbar.command"
name="JCCRun">
</command>
</extension>
Next I added the button to the toolbar :
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="toolbar:org.eclipse.ui.main.toolbar">
</menuContribution>
<menuContribution
locationURI="toolbar:org.eclipse.debug.ui.launchActionSet">
<command
commandId="launchconfigurator.toolbar.command"
icon="favicon_1_-3.png"
style="pulldown">
<visibleWhen
checkEnabled="true">
</visibleWhen>
</command>
</menuContribution>
At this point i have a button on my toolbar which shows me my button and has an arrow for a drop down menu. But when i click on the menue arrow, nothing happens...
What i want to have is exactly the same menu like the eclipse run or debug buttons have... Does anyone know how i could aproach this?
I guess there should be something what i need to do with my plugin.xml to make eclipse see my button as a run button, but i am not sure what exactly does eclipse need... Maybe there is some eclipse source code i could look at?
I even implemented own delegates and tab groups, which i didn't need for my execution but thought it would help... But , sadly, it didn't...
Thx in advance for your answer, May the force be with you
Upvotes: 2
Views: 928
Reputation: 111142
The 'Run' button is defined using the old style org.eclipse.ui.actionSets
extension point:
<action
id="org.eclipse.debug.internal.ui.actions.RunDropDownAction"
toolbarPath="org.eclipse.debug.ui.launchActionSet/debug"
hoverIcon="$nl$/icons/full/etool16/run_exc.png"
class="org.eclipse.debug.internal.ui.actions.RunToolbarAction"
disabledIcon="$nl$/icons/full/dtool16/run_exc.png"
icon="$nl$/icons/full/etool16/run_exc.png"
helpContextId="run_action_context"
label="%RunDropDownAction.label"
style="pulldown">
</action>
So the code that creates the Run dropdown menu is org.eclipse.debug.internal.ui.actions.RunToolbarAction
. This is just a tiny class:
public class RunToolbarAction extends AbstractLaunchToolbarAction {
public RunToolbarAction() {
super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
}
}
So this is using the more general class AbstractLaunchToolbarAction
and specifying the launch group to be shown. You may be able to do something similar.
Upvotes: 2