'''Eclipse 4''' is the next generation platform for building Eclipse-based tools and rich client desktop applications. This new release makes it easier for developers to develop and assemble applications and tools based on the Eclipse platform.

'''Eclipse 4''' is the next generation platform for building Eclipse-based tools and rich client desktop applications. This new release makes it easier for developers to develop and assemble applications and tools based on the Eclipse platform.

Line 6:

Line 7:

*a model-based user interface and a new CSS-based declarative mechanism for application styling. These facilities make it easier to design and customize an application user interface. This also adds greater flexibility to UI layout, making it easier to make a user interface look different from an IDE.

*a model-based user interface and a new CSS-based declarative mechanism for application styling. These facilities make it easier to design and customize an application user interface. This also adds greater flexibility to UI layout, making it easier to make a user interface look different from an IDE.

*a new services-oriented programming model that makes it easier to use discreet application services of the Eclipse platform.

*a new services-oriented programming model that makes it easier to use discreet application services of the Eclipse platform.

+

*a compatibility layer to allow existing well-behaved Eclipse 3.x applications to take advantage of the new functionality of the Eclipse 4 Application Platform.

==Programming Model==

==Programming Model==

*[[Eclipse4/RCP/Architectural_Overview | Architectural Overview]]

*[[Eclipse4/RCP/Architectural_Overview | Architectural Overview]]

+

*[[Eclipse4/RCP/Modeled UI|Modeled UI]]

+

*[[Eclipse4/RCP/CSS|Styling with CSS]]

*[[Eclipse4/RCP/Dependency_Injection | Dependency Injection]]

*[[Eclipse4/RCP/Dependency_Injection | Dependency Injection]]

*[[Eclipse4/RCP/Contexts | Contexts]]

*[[Eclipse4/RCP/Contexts | Contexts]]

*[[Eclipse4/RCP/Event_Model | Event Model]]

*[[Eclipse4/RCP/Event_Model | Event Model]]

−

−

==Compatibility Layer==

−

*[[Eclipse4/RCP/Compatibility Layer/Overview|Overview]]

−

*[[Eclipse4/RCP/Compatibility Layer/Overview#When to Use|When to Use]]

With the Eclipse 4 Application Platform, the UI model has been separated from how the model is rendered. Eclipse 4 ships with a standard SWT renderer, defined in ''org.eclipse.e4.ui.workbench.renderer.swt''.

+

===Workbench Renderers===

−

Renderers are installed through the XXX extension point. See YYY for an example of how to add a renderer.

+

* [[Eclipse4/RCP/Modeled UI/Rendering the Model|Rendering the Model]]

−

+

*[[Eclipse4/RCP/Modeled UI/Extending the Model|Extending the Model]]

−

=== What is the difference between #visible and #toBeRendered? ===

+

**[[Eclipse4/RCP/Modeled UI/Extending the Model#Defining New Model Elements|Defining New Model Elements]]

−

+

−

''#visible'' captures whether the rendered UI elements are in presentation or hidden from view. With the SWT renderer, when ''#visible = false'', then the element's widgets are reparented to an invisible shell; the widget is still alive, but won't be seen.

+

−

+

−

''#toBeRendered'' captures whether this UI element should be rendered; it serves as an instruction to the renderer as to whether the element should or should not be rendered. When set to ''true'', the renderer should explicitly When set to ''false'', all resources are removed and nulled.

Revision as of 16:23, 7 March 2013

Eclipse 4 is the next generation platform for building Eclipse-based tools and rich client desktop applications. This new release makes it easier for developers to develop and assemble applications and tools based on the Eclipse platform.

Eclipse 4 introduces the following:

a model-based user interface and a new CSS-based declarative mechanism for application styling. These facilities make it easier to design and customize an application user interface. This also adds greater flexibility to UI layout, making it easier to make a user interface look different from an IDE.

a new services-oriented programming model that makes it easier to use discreet application services of the Eclipse platform.

a compatibility layer to allow existing well-behaved Eclipse 3.x applications to take advantage of the new functionality of the Eclipse 4 Application Platform.