DOCUMENTATION
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.
Tutorials
- 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
- RAP
- EMF Client Platform Core API
Presentations
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.
JavaDoc
The latest JavaDoc can always be found here .
EMF Client Platform Bundle Overview
EMF Forms
EMF Forms Core
ecp.commonThis 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.editThis 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.swtUses the Controls Extension Point to contribute default controls for SWT such as TextControl or TableControl.
ecp.ui.viewThis 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.swtThis contains SWT classes. It provides abstract implementations for renderers and an entry point for rendering a View Model (ECPSWTViewRenderer).
ecp.view.contextThe 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.swtThis defines renderers for core model elements (VView, VControl).
ecp.view.modelThis provides core model elements (View and Control) as well as abstract classes.
ecp.view.model.editThis is the generated edit plugin for core models.
ecp.view.model.provider.generatorThis is a ViewModel provider that generates a View Model based on the provided EObject.
ecp.view.model.provider.xmiThis is a ViewModel provider that provides an extension point allowing the user to register serialized View Models.
EMF Forms Extension Models
Categorization
ecp.view.categorization.modelThis defines a model for Categorizations, allowing the user to categorize the domain model.
ecp.view.categorization.model.editThis is the generated edit plugin for Categorizations.
ecp.view.categorization.swtThis provides the SWT Renderer for the Categorization model.
Custom controls
ecp.view.custom.modelThis 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.editThis is the generated edit plugin for custom models.
ecp.view.custom.ui.swtThis defines an abstract SWT implementation of custom controls by providing helper methods, e.g., by creating the validation icon.
Group widget
ecp.view.group.modelThis 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.editThis is the generated edit plugin for group models.
ecp.view.group.ui.swtThis is the SWT renderer for group models that renders groups.
Horizontal layout
ecp.view.horizontal.modelThis defines a model for horizontal layouts wherein elements are ordered next to each other.
ecp.view.horizontal.model.editThis is the generated edit plugin for a horizontal layout.
ecp.view.horizontal.ui.swtThis is the SWT Renderer for a horizontal layout.
Label widget
ecp.view.label.modelThis allows the user to define a label with a name (the displayed text) and a style.
ecp.view.label.model.editThis is the generated edit plugin for labels.
ecp.view.label.ui.swtThis is the SWT renderer for label models.
Rule service
ecp.view.ruleThis is the rule service, which evaluates visibility and enablement rules.
ecp.view.rule.modelThis 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.editThis is the generated edit plugin for the rule model.
Stack layout
ecp.view.table.modelContains the stack model.
ecp.view.stack.model.editThis is the generated edit plugin for the stack model.
ecp.view.stack.ui.swtSWT renderer for stacks.
ecp.view.stack.viewmodelStack Layout Viewmodel.
Table control
ecp.view.table.modelThis provides classes like a table and columns for defining and configuring tables.
ecp.view.table.model.editThis is the generated edit plugin for the table model.
ecp.view.table.ui.swtThis is the SWT renderer for table elements.
ecp.view.table.columnserviceThis is a context service that adds all columns to tables that do not have any columns defined.
ecp.view.table.editorECP View Table Additional Features for Editor.
ecp.view.table.migrateHandles table mirgration, if necessary.
Template model
ecp.view.template.modelThis is a model for configuring icons and colors of validation errors.
ecp.view.template.model.editThis is the generated edit plugin for the template model.
ecp.view.template.serviceThis is the template service that provides the Current Template model.
Treemaster detail
ecp.view.treemasterdetail.modelThis 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.editThis is the generated edit plugin for the TreeMasterDetail model.
ecp.view.treemasterdetail.ui.swtThis is the SWT renderer for the tree master detail element.
Unset service
ecp.view.unsetThis 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.
Validation Service
ecp.view.validationThis is the validation service, which monitors the domain model and calculates validation errors.
ecp.view.validation.beanPerforms validation using JSR 303.
Validation View
ecp.ui.validationContains the validation view.
ecp.ui.validation.e4Contains the e4 validation view.
ecp.validation.diagnosticianECP Diagnostician used during validation.
ecp.validation.validationvieweditorbridgeECP Validation View to Editor Bridge
Mapping Domain Model References
ecp.view.mappingdmr.databindingProvides the databinding for domain model references that need to be resolved via a map key entry.
ecp.view.mappingdmr.modelContains the model for mapped domain model references.
ecp.view.mappingdmr.model.editContains the model edit functionality for domain model references.
ecp.view.mappingdmr.model.toolingProvides tooling for mapped domain model references.
Dependency Injection Feature
ecp.ui.view.swt.diContains the Dependency Injection SWT Renderer.
ecp.view.custom.ui.swt.diCustom View SWT Dependency Injection.
ecp.view.model.common.diContains Common View Model Classes for Dependency Injection.
Vertical model
ecp.view.vertical.modelThis defines a vertical layout model wherein children are positioned under each other.
ecp.view.vertical.model.editThis is the generated edit plugin for a vertical layout.
ecp.view.vertical.ui.swtThis is the SWT renderer for a vertical layout.
EMF Diffmerge
ecp.diffmerge.contextThis provides a specific ViewModelContext that can calculate a diff between two elements.
ecp.diffmerge.renderer.swtThis provides a specific renderer for the diff merge case.
ecp.diffmerge.swtThis bundle provides the Diff Dialog that allows users to see and merge diffs.
EMF Forms Model Edit Controls
ecp.ui.view.editor.controlsThese are specific controls to edit the view model (e.g., in the IDE).
ecp.view.template.controls.swtThese are specific controls to edit the template model.
ECP
ECP Core
ecp.coreThis defines core classes like ECPProject.
ecp.core.emffilterThis provides a filter for default EPackages.
ecp.explorerbridgeThis provides classes for connecting an ECPProject with a model element editor.
ecp.uiThese are SWT classes for ECP, e.g., ModelExplorer.
ecp.validationThis provides ECP validation used to calculate errors for ECPProjects.
ECP e3
ecp.application.e3This is the e3 demo application for ECP.
ecp.editor.e3This is the e3 editor used in ECP.
ecp.ui.e3These are necessary e3 classes for ECP like handlers and views.
ecp.validation.connectorThese are specific classes to display the validation errors in the model explorer tree.
ecp.emfstore.ui.e3These are Eclipse 3.x specific UI parts for the EMFStore like share, commit and update commands.
ECP e4
ecp.application.e4This is the e4 demo application for ECP.
ecp.ui.e4These are necessary e4 classes for ECP like handlers and views.
ecp.emfstore.ui.e4These are e4-specific UI parts for EMFStore like share, commit and update commands defined in a fragment.xml.
ECP Workspace Provider
ecp.workspace.coreA dataprovider for editing models from XMI files directly in the IDE.
ecp.workspace.uiThese are UI parts for the workspace provider like wizards for creating and loading xmi files.
CDO Provider
ecp.cdo.coreThis is a data provider for the CDO model repository.
ecp.cdo.uiThese are UI parts for the CDO provider like check-in and update commands.
EMFStore Provider
ecp.emfstore.coreThis is a data provider for EMFStore.
ecp.emfstore.uiThese are UI parts for the EMFStore like share, commit and update handler.
RAP
ecp.rapThis is the RAP demo application for ECP.
ecp.rap.utilThis provides utility classes for RAP, e.g., a JFace Dialog wrapper.