Book Image

Eclipse 4 Plug-in Development by Example : Beginner's Guide

By : Dr Alex Blewitt
Book Image

Eclipse 4 Plug-in Development by Example : Beginner's Guide

By: Dr Alex Blewitt

Overview of this book

<p>As a highly extensible platform, Eclipse is used by everyone from independent software developers to NASA. Key to this is Eclipse’s plug-in ecosystem, which allows applications to be developed in a modular architecture and extended through its use of plug-ins and features.<br /><br />"Eclipse 4 Plug-in Development by Example Beginner's Guide" takes the reader through the full journey of plug-in development, starting with an introduction to Eclipse plug-ins, continued through packaging and culminating in automated testing and deployment. The example code provides simple snippets which can be developed and extended to get you going quickly.</p> <p>This book covers basics of plug-in development, creating user interfaces with both SWT and JFace, and interacting with the user and execution of long-running tasks in the background.</p> <p>Example-based tasks such as creating and working with preferences and advanced tasks such as well as working with Eclipse’s files and resources. A specific chapter on the differences between Eclipse 3.x and Eclipse 4.x presents a detailed view of the changes needed by applications and plug-ins upgrading to the new model. Finally, the book concludes on how to package plug-ins into update sites, and build and test them automatically.</p>
Table of Contents (19 chapters)
Eclipse 4 Plug-in Development by Example Beginner's Guide
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Time for action – passing command parameters


Displaying a message to System.out shows that the command works, but what if the command needed to pick up a local state? Fortunately, the @Named and @Inject annotations allow objects to be injected into the method when it is called.

  1. Modify the hello() method so that instead of printing a message to System.out, it opens a dialog window, using the active shell:

    public void hello(@Named(IServiceConstants.ACTIVE_SHELL) Shell s){
      MessageDialog.openInformation(s, "Hello World",
        "Welcome to Eclipse 4 technology");
    }
  2. Other arguments can be passed in from the context, managed by the IEclipseContext interface. For example, using the math.random function from earlier, a value could be injected into the handler like this:

    public void hello(@Named(IServiceConstants.ACTIVE_SHELL) Shell s,
      @Named("math.random") double value) {
  3. If the same handler is being used for different functions (for example, Paste and Paste Special) they can be disambiguated by passing...