Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Eclipse4/RCP"
< Eclipse4
(→Compatibility Layer) |
(→Tutorials) |
||
(56 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{Eclipse4}} | |
− | + | ||
− | + | '''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: |
− | *Overview | + | |
− | * | + | *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. |
+ | |||
+ | ==Programming Model== | ||
+ | *[[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/Contexts | Contexts]] | ||
+ | *[[Eclipse4/RCP/Event_Model | Event Model]] | ||
==Workbench Model== | ==Workbench Model== | ||
− | *Modeled UI | + | |
− | * | + | Source material: http://wiki.eclipse.org/E4/UI/Modeled_UI |
− | **Model | + | |
− | ** | + | ===Model Elements=== |
− | * | + | *[[Eclipse4/RCP/Modeled UI/Model Elements#Overview|Overview]] |
− | ** | + | *[[Eclipse4/RCP/Modeled UI/Model Elements#Abstract Elements|Abstract Elements]] |
− | ** | + | **[[Eclipse4/RCP/Modeled UI/Model Elements#Containers|Containers]] |
− | * | + | *[[Eclipse4/RCP/Modeled UI/Model Elements#Concrete Elements|Concrete Elements]] |
− | *Defining the Application Layout | + | **[[Eclipse4/RCP/Modeled UI/Model Elements#Windows|Windows]] |
− | **Creating an e4xmi File | + | **[[Eclipse4/RCP/Modeled UI/Model Elements#Parts|Parts]] |
− | **Creating the Model Instance Programmatically | + | **[[Eclipse4/RCP/Modeled UI/Model Elements#Menus|Menus]] |
+ | **[[Eclipse4/RCP/Modeled UI/Model Elements#Handlers|Handlers]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Model Elements#Commands|Commands]] | ||
+ | *[[Eclipse4/RCP/Modeled UI/Model Elements#Shared Elements|Shared Elements]] | ||
+ | |||
+ | ===Contributing to the Model=== | ||
+ | *[[Eclipse4/RCP/Modeled UI/Application Layout|Defining the Application Layout]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Application Layout#Creating an e4xmi File|Creating an e4xmi File]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Application Layout#Creating the Model Instance Programmatically|Creating the Model Instance Programmatically]] | ||
+ | *[[Eclipse4/RCP/Modeled UI/Contributing to the Model|Contributing to the Model]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Contributing to the Model#Model Fragments|Model Fragments]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Contributing to the Model#Creating Model Elements at Runtime|Creating Model Elements at Runtime]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Contributing to the Model#Manipulating the Model With Processors|Manipulating the Model With Processors]] | ||
+ | *[[Eclipse4/RCP/Modeled UI/Modifying the Model|Modifying the Model]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Modifying the Model#Reparenting an Element|Reparenting an Element]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Modifying the Model#Changing the Visibility|Changing the Visibility]] | ||
+ | *[[Eclipse4/RCP/Modeled UI/Listening to Model Changes|Listening to Model Changes]] | ||
*Customizing the Behaviour | *Customizing the Behaviour | ||
− | |||
**Drag and Drop | **Drag and Drop | ||
− | * | + | *[[Eclipse4/RCP/Modeled UI/Addons|Addons]] |
− | * | + | *[[Eclipse4/RCP/Modeled UI/Localization|Localization]] |
− | * | + | *[[Eclipse4/RCP/Modeled UI/Tags|Suggesting Behaviour with Tags]] |
− | + | ||
− | === | + | ===Workbench Renderers=== |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * [[Eclipse4/RCP/Modeled UI/Rendering the Model|Rendering the Model]] | |
+ | *[[Eclipse4/RCP/Modeled UI/Extending the Model|Extending the Model]] | ||
+ | **[[Eclipse4/RCP/Modeled UI/Extending the Model#Defining New Model Elements|Defining New Model Elements]] | ||
==Application Services== | ==Application Services== | ||
− | *The "Twenty Things" | + | |
− | *Obtaining Services | + | Source material: http://wiki.eclipse.org/E4/Eclipse_Application_Services |
− | *Contributing Services | + | |
− | *OSGi Services | + | *[[Eclipse4/RCP/EAS|The "Twenty Things"]] |
− | *Common Services | + | *[[Eclipse4/RCP/EAS/Obtaining Services|Obtaining Services]] |
− | **Logging | + | *[[Eclipse4/RCP/EAS/Contributing Services|Contributing Services]] |
− | *Workbench Services | + | *[[Eclipse4/RCP/EAS/OSGi Services|OSGi Services]] |
− | **Part Service | + | *[[Eclipse4/RCP/EAS/Common Services|Common Services]] |
− | **Selection Service | + | **[[Eclipse4/RCP/EAS/Common Services#Logging|Logging]] |
− | **Handler Service | + | **[[Eclipse4/RCP/EAS/Common Services#Adapter Pattern|Adapter Pattern]] |
− | ** | + | **Internationalization/Translation |
+ | *[[Eclipse4/RCP/EAS/Workbench Services|Workbench Services]] | ||
+ | **[[Eclipse4/RCP/EAS/Workbench Services#Part Service|Part Service]] | ||
+ | **[[Eclipse4/RCP/EAS/Workbench Services#Selection Service|Selection Service]] | ||
+ | **[[Eclipse4/RCP/EAS/Workbench Services#Handler Service|Handler Service]] | ||
+ | * [[Eclipse4/RCP/EAS/List of All Provided Services|List of All Provided Services]] | ||
+ | |||
+ | ==Application Lifecycle== | ||
+ | |||
+ | *[[Eclipse4/RCP/Lifecycle#Overview|Overview]] | ||
+ | |||
+ | ==Compatibility Layer== | ||
+ | *[[Eclipse4/RCP/Compatibility Layer/Overview|Overview]] | ||
+ | *[[Eclipse4/RCP/Compatibility Layer/Overview#When to Use|When to Use]] | ||
+ | *[[Eclipse4/RCP/Compatibility Layer/Limitations|Limitations]] | ||
+ | **[[Eclipse4/RCP/Compatibility Layer/Limitations#Known Issues|Known Issues]] | ||
+ | *[[Eclipse4/RCP/Compatibility Layer/Migration|Migration]] | ||
+ | |||
+ | == Further Information == | ||
+ | |||
+ | * [[Eclipse4/RCP/FAQ|Frequently Asked Questions about Eclipse 4 RCP development]]. | ||
+ | * [[Eclipse4/RCP/Modeled UI/Best Practices|Best Practices for Eclipse 4 RCP development]] | ||
+ | * [[Platform_UI/How_to_Contribute | How to Contribute]] | ||
+ | |||
+ | == Tutorials == | ||
+ | * [http://www.vogella.de/articles/Eclipse4RCP/article.html Eclipse 4 RCP Tutorial - by Lars Vogel] | ||
+ | * [http://www.vogella.de/articles/Eclipse4Services/article.html Eclipse 4 Services Tutorial - by Lars Vogel] | ||
+ | * [http://www.vogella.de/articles/Eclipse4CSS/article.html Eclipse 4 CSS Styling - by Lars Vogel] | ||
+ | * [http://developer.eclipsesource.com/tutorials/#eclipse4 Eclipse 4 (e4) RCP Tutorial - by Jonas Helming] |
Latest revision as of 08:24, 4 April 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.
Contents
Programming Model
Workbench Model
Source material: http://wiki.eclipse.org/E4/UI/Modeled_UI
Model Elements
Contributing to the Model
- Defining the Application Layout
- Contributing to the Model
- Modifying the Model
- Listening to Model Changes
- Customizing the Behaviour
- Drag and Drop
- Addons
- Localization
- Suggesting Behaviour with Tags
Workbench Renderers
Application Services
Source material: http://wiki.eclipse.org/E4/Eclipse_Application_Services
- The "Twenty Things"
- Obtaining Services
- Contributing Services
- OSGi Services
- Common Services
- Logging
- Adapter Pattern
- Internationalization/Translation
- Workbench Services
- List of All Provided Services
Application Lifecycle
Compatibility Layer
Further Information
- Frequently Asked Questions about Eclipse 4 RCP development.
- Best Practices for Eclipse 4 RCP development
- How to Contribute