We are always trying to keep the documentation up-to-date. If you find anything outdated, wrong or missing, please do not hesitate to contact us.
- Getting started
- Components of ECP
- The Explorer
- The Editor
- The Repository Explorer
- Adding your custom model
- Define a custom product/feature based on ECP
- Customizing ECP
- Customize the Look of Model Elements
- Define Model Validation Constraints
- Replace the Default Editor
- Customize Editor Controls
- Customize the Layout of the editor (EMF Forms)
- Use and Set-Up Backends
- EMF Client Platform Core API
Here you will find a list a presentations related to ECP.
Are you still manually coding UIs?
Building a Tool based on Eclipse Modeling Framework
Long Version available here.
The latest JavaDoc can always be found here .
EMF Client Platform Bundle Overview
EMF Forms Coreecp.common
This plugin includes classes used in EMF Forms and ECP plugins like UniqueSetting. UniqueSetting implements the equals method as well as the hashcode method and thus can be used in Collections other than Setting.ecp.edit
This plugin defines interfaces and abstract classes for Controls as well as a factory for creating controls. The factory defines an extension point that allows the user to contribute his own controls.ecp.edit.swt
Uses the Controls Extension Point to contribute default controls for SWT such as TextControl or TableControl.ecp.ui.view
This contains UI independent classes that are needed for rendering, e.g., ViewProviderHelper, which allows the user to find a View for an EObject.ecp.ui.view.swt
This contains SWT classes. It provides abstract implementations for renderers and an entry point for rendering a View Model (ECPSWTViewRenderer).ecp.view.context
The ViewModelContext contains the model information for an open editor. Its lifecycle is bound to the lifecycle of an ECP editor, thus each instance of an editor has exactly one ViewModelContext. It provides access to the View Model and to the domain model. It also allows the user to register and retrieve registered ViewServices.ecp.view.core.swt
This defines renderers for core model elements (VView, VControl).ecp.view.model
This provides core model elements (View and Control) as well as abstract classes.ecp.view.model.edit
This is the generated edit plugin for core models.ecp.view.model.provider.generator
This is a ViewModel provider that generates a View Model based on the provided EObject.ecp.view.model.provider.xmi
This is a ViewModel provider that provides an extension point allowing the user to register serialized View Models.
EMF Forms Extension Models
This defines a model for Categorizations, allowing the user to categorize the domain model.ecp.view.categorization.model.edit
This is the generated edit plugin for Categorizations.ecp.view.categorization.swt
This provides the SWT Renderer for the Categorization model.
This model provides the HardcodedDomainModelReference, which allows the user to reference a specific control directly. In this way, custom controls (controls that reference an arbitrary number of features) can be added to the view model.ecp.view.custom.model.edit
This is the generated edit plugin for custom models.ecp.view.custom.ui.swt
This defines an abstract SWT implementation of custom controls by providing helper methods, e.g., by creating the validation icon.
This is a group that behaves like a vertical layout but also shows a border with the group name as the title.ecp.view.group.model.edit
This is the generated edit plugin for group models.ecp.view.group.ui.swt
This is the SWT renderer for group models that renders groups.
This defines a model for horizontal layouts wherein elements are ordered next to each other.ecp.view.horizontal.model.edit
This is the generated edit plugin for a horizontal layout.ecp.view.horizontal.ui.swt
This is the SWT Renderer for a horizontal layout.
This allows the user to define a label with a name (the displayed text) and a style.ecp.view.label.model.edit
This is the generated edit plugin for labels.ecp.view.label.ui.swt
This is the SWT renderer for label models.
This is the rule service, which evaluates visibility and enablement rules.ecp.view.rule.model
This is the rule model, which allows users to define dynamic behavior like enabling/disabling of elements or showing/hiding of elements based on value changes in the domain model. A ShowRule, an EnableRule and Conditions are provided by this plugin.ecp.view.rule.model.edit
This is the generated edit plugin for the rule model.
Contains the stack model.ecp.view.stack.model.edit
This is the generated edit plugin for the stack model.ecp.view.stack.ui.swt
SWT renderer for stacks.ecp.view.stack.viewmodel
Stack Layout Viewmodel.
This provides classes like a table and columns for defining and configuring tables.ecp.view.table.model.edit
This is the generated edit plugin for the table model.ecp.view.table.ui.swt
This is the SWT renderer for table elements.ecp.view.table.columnservice
This is a context service that adds all columns to tables that do not have any columns defined.ecp.view.table.editor
ECP View Table Additional Features for Editor.ecp.view.table.migrate
Handles table mirgration, if necessary.
This is a model for configuring icons and colors of validation errors.ecp.view.template.model.edit
This is the generated edit plugin for the template model.ecp.view.template.service
This is the template service that provides the Current Template model.
This is a tree master detail, which provides an element that displays the domain model on the left-hand side as a tree and allows users to edit it on the right-hand side.ecp.view.treemasterdetail.model.edit
This is the generated edit plugin for the TreeMasterDetail model.ecp.view.treemasterdetail.ui.swt
This is the SWT renderer for the tree master detail element.
This is the unset service, which monitors the View Model instance and sets all values of the domain model to default if they are not displayed anywhere in the View Model.
This is the validation service, which monitors the domain model and calculates validation errors.ecp.view.validation.bean
Performs validation using JSR 303.
Contains the validation view.ecp.ui.validation.e4
Contains the e4 validation view.ecp.validation.diagnostician
ECP Diagnostician used during validation.ecp.validation.validationvieweditorbridge
ECP Validation View to Editor Bridge
Mapping Domain Model Referencesecp.view.mappingdmr.databinding
Provides the databinding for domain model references that need to be resolved via a map key entry.ecp.view.mappingdmr.model
Contains the model for mapped domain model references.ecp.view.mappingdmr.model.edit
Contains the model edit functionality for domain model references.ecp.view.mappingdmr.model.tooling
Provides tooling for mapped domain model references.
Dependency Injection Featureecp.ui.view.swt.di
Contains the Dependency Injection SWT Renderer.ecp.view.custom.ui.swt.di
Custom View SWT Dependency Injection.ecp.view.model.common.di
Contains Common View Model Classes for Dependency Injection.
This defines a vertical layout model wherein children are positioned under each other.ecp.view.vertical.model.edit
This is the generated edit plugin for a vertical layout.ecp.view.vertical.ui.swt
This is the SWT renderer for a vertical layout.
This provides a specific ViewModelContext that can calculate a diff between two elements.ecp.diffmerge.renderer.swt
This provides a specific renderer for the diff merge case.ecp.diffmerge.swt
This bundle provides the Diff Dialog that allows users to see and merge diffs.
EMF Forms Model Edit Controlsecp.ui.view.editor.controls
These are specific controls to edit the view model (e.g., in the IDE).ecp.view.template.controls.swt
These are specific controls to edit the template model.
This defines core classes like ECPProject.ecp.core.emffilter
This provides a filter for default EPackages.ecp.explorerbridge
This provides classes for connecting an ECPProject with a model element editor.ecp.ui
These are SWT classes for ECP, e.g., ModelExplorer.ecp.validation
This provides ECP validation used to calculate errors for ECPProjects.
This is the e3 demo application for ECP.ecp.editor.e3
This is the e3 editor used in ECP.ecp.ui.e3
These are necessary e3 classes for ECP like handlers and views.ecp.validation.connector
These are specific classes to display the validation errors in the model explorer tree.ecp.emfstore.ui.e3
These are Eclipse 3.x specific UI parts for the EMFStore like share, commit and update commands.
This is the e4 demo application for ECP.ecp.ui.e4
These are necessary e4 classes for ECP like handlers and views.ecp.emfstore.ui.e4
These are e4-specific UI parts for EMFStore like share, commit and update commands defined in a fragment.xml.
ECP Workspace Providerecp.workspace.core
A dataprovider for editing models from XMI files directly in the IDE.ecp.workspace.ui
These are UI parts for the workspace provider like wizards for creating and loading xmi files.
This is a data provider for the CDO model repository.ecp.cdo.ui
These are UI parts for the CDO provider like check-in and update commands.
This is a data provider for EMFStore.ecp.emfstore.ui
These are UI parts for the EMFStore like share, commit and update handler.
This is the RAP demo application for ECP.ecp.rap.util
This provides utility classes for RAP, e.g., a JFace Dialog wrapper.