12.10. Coding a Plug-in Action
Problem
You have an action, and you need to make it actually do something.
Solution
Edit its .java file, and implement the support
you need.
Discussion
Continuing the example developed over the previous three recipes,
open Action1.java now if it’s
not already open. This file contains plenty of
TODOs, such as adding code to the
action’s constructor to customize it, which
we’ll ignore in this example. Here,
we’ll display a message box when the user selects
our menu item or clicks our toolbar button, as the plug-in developed
earlier in this chapter did.
To do that, we’ll need an object that implements the
Workbench window interface, IWorkbenchWindow. The
object we need is passed to the init method in
Action1.java, so we’ll begin by
creating a private class variable,
window, to hold it:
public class Action1 implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window;
.
.
.Then we’ll store the Workbench window passed to us
in the init method in this variable like so:
public void init(IWorkbenchWindow window) {
this.window = window;
}We can use this variable and the openInformation
method of the MessageDialog class to display a
message box with the message This
plug-in
is
functional. in the action’s
run method. To use the
MessageDialog class, we first import it and then
call it in the run method:
import org.eclipse.jface.dialogs.MessageDialog; . . . public void run(IAction action) { MessageDialog.openInformation( window.getShell( ), "New Plug-in" ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access