Please navigate to the EMF Forms web site, as ECP is now merged into EMFForms.

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

Presentations

Here you will find a list a presentations related to ECP.

JavaDoc

The latest JavaDoc can always be found here .

EMF Client Platform Bundle Overview

EMF Forms

EMF Forms Core
ecp.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
Categorization
ecp.view.categorization.model

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.

Custom controls

ecp.view.custom.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.

Group widget

ecp.view.group.model

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.

Horizontal layout
ecp.view.horizontal.model

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.

Label widget
ecp.view.label.model

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.

Rule service
ecp.view.rule

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.

Stack layout
ecp.view.table.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.

Table control
ecp.view.table.model

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.

Template model
ecp.view.template.model

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.

Treemaster detail
ecp.view.treemasterdetail.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.

Unset service
ecp.view.unset

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.

Validation Service
ecp.view.validation

This is the validation service, which monitors the domain model and calculates validation errors.

ecp.view.validation.bean

Performs validation using JSR 303.

Validation View
ecp.ui.validation

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 References
ecp.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 Feature
ecp.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.

Vertical model
ecp.view.vertical.model

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.

EMF Diffmerge
ecp.diffmerge.context

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 Controls
ecp.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.

ECP

ECP Core
ecp.core

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.

ECP e3
ecp.application.e3

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.

ECP e4
ecp.application.e4

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 Provider
ecp.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.

CDO Provider

ecp.cdo.core

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.

EMFStore Provider
ecp.emfstore.core

This is a data provider for EMFStore.

ecp.emfstore.ui

These are UI parts for the EMFStore like share, commit and update handler.

RAP

ecp.rap

This is the RAP demo application for ECP.

ecp.rap.util

This provides utility classes for RAP, e.g., a JFace Dialog wrapper.