The last major change to Eclipse was with the 3.0 release when it migrated to OSGi. The Eclipse 4 model provides a significant departure from the Eclipse 3.x line, with the user interface being represented as a dynamic EMF model. In addition, both the model and views can be represented as simple POJOs with services provided by dependency injection. There is also a separate rendering mechanism which allows an E4 application to be hosted by different UIs, although we'll look at the SWT renderer specifically. In this chapter, we'll take a look at the differences and how you can evolve Eclipse plug-ins forward.
In this chapter we shall:
Set up an Eclipse 4 instance for development
Create an E4 application with parts
Style UI with CSS
Send and receive events
Create commands, handlers, and menus
Integrate with preferences
Inject custom POJOs