blob: 01d71b7be7d53bdb25745af73bbb25c7eaea72b1 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>EMF Client Platform</title>
<link rel="stylesheet" media="screen"
href="public/stylesheets/bootstrap.css">
<link rel="stylesheet" media="screen"
href="public/stylesheets/bootstrap-responsive.css">
<link rel="stylesheet" media="screen"
href="public/stylesheets/theme.css">
<link href='https://fonts.googleapis.com/css?family=Lato'
rel='stylesheet' type='text/css'>
<link rel="icon" type="image/png" href="public/images/ecp.png" />
<script src="public/javascripts/jquery-1.9.0.min.js"
type="text/javascript"></script>
<script src="public/javascripts/bootstrap.js" type="text/javascript"></script>
<script src="public/javascripts/common.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
<script src="public/javascripts/cookieconsent.js" type="text/javascript"></script>
<style type="text/css">
#greyedout {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 1000;
background: rgba(0, 0, 0, 0.8);
display: flex;
justify-content: center;
align-items: center;
}
</style>
</head>
<body>
<div id="greyedout">
<h1>Please navigate to the <b><a href="./emfforms">EMF Forms</a></b> web site, as ECP is now merged into EMFForms.</h1>
</div>
<div class="container-fluid fill">
<div class="banner">
<div class="row-fluid">
<div class="span2" style="padding: 0.5em;">
<a href="index.html"> <img src="public/images/ecp.png"/>
</a>
</div>
<div class="span10 pull-left">
<h2>EMF Client Platform</h2>
<p>Build an EMF application with one click</p>
</div>
</div>
</div>
<div class="row-fluid">
<div class="navbar span12">
<div class="navbar-inner" id="topbar">
<button id="topbtn" type="button" class="btn btn-navbar"
data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span><span class="icon-bar"></span><span
class="icon-bar"></span>
</button>
<div class="nav-collapse">
<ul class="nav">
<li>
<a href="index.html">
<img class="nav-image" src="public/images/home.png"/>
<span>&nbsp;Home</span>
</a>
</li>
<li>
<a href="gettingstarted.html">
<img class="nav-image" src="public/images/getting-started.png"/>
<span>&nbsp;Getting Started</span>
</a>
</li>
<li>
<a href="download.html">
<img class="nav-image" src="public/images/download.png"/>
<span>&nbsp;Download</span>
</a>
</li>
<li>
<a href="documentation.html">
<img class="nav-image" src="public/images/documentation.png"/>
<span>&nbsp;Documentation</span>
</a>
</li>
<li>
<a href="support.html">
<img class="nav-image" src="public/images/support.png"/>
<span>&nbsp;Support</span>
</a>
</li>
<li>
<a href="gettinginvolved.html">
<img class="nav-image" src="public/images/getting-involved.png"/>
<span>&nbsp;Getting Involved</span>
</a>
</li>
<li>
<a href="communication.html">
<img class="nav-image" src="public/images/communication.png"/>
<span>&nbsp;Contact</span>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="content">
<h3>DOCUMENTATION</h3>
<p>We are always trying to keep the documentation up-to-date. If
you find anything outdated, wrong or missing, please do not hesitate
to <a href="communication.html">contact us</a>.</p>
<h4>Tutorials</h4>
<div class="row-fluid">
<div class="span12">
<ul class="no-bullets">
<li><a
href="http://eclipsesource.com/blogs/tutorials/getting-started-with-the-emf-client-platform/"
target="_blank"> Getting started </a></li>
<ul>
<li><a
href="http://eclipsesource.com/blogs/tutorials/getting-started-with-the-emf-client-platform/#components"
target="_blank"> Components of ECP </a></li>
<li><a
href="http://eclipsesource.com/blogs/tutorials/getting-started-with-the-emf-client-platform/#explorer"
target="_blank"> The Explorer </a></li>
<li><a
href="http://eclipsesource.com/blogs/tutorials/getting-started-with-the-emf-client-platform/#editor"
target="_blank"> The Editor </a></li>
<li><a
href="http://eclipsesource.com/blogs/tutorials/getting-started-with-the-emf-client-platform/#repositoryexplorer"
target="_blank"> The Repository Explorer </a></li>
<li><a
href="http://eclipsesource.com/blogs/tutorials/getting-started-with-the-emf-client-platform/#custommodel"
target="_blank"> Adding your custom model </a></li>
<li><a
href="http://eclipsesource.com/blogs/tutorials/getting-started-with-the-emf-client-platform/#product"
target="_blank"> Define a custom product/feature based on ECP </a></li>
</ul>
<li><a
href="http://eclipsesource.com/blogs/tutorials/tutorialshow-to-customize-the-emf-client-platform"
target="_blank"> Customizing ECP </a></li>
<ul>
<li><a
href="http://eclipsesource.com/blogs/tutorials/tutorialshow-to-customize-the-emf-client-platform/#look"
target="_blank"> Customize the Look of Model Elements </a></li>
<li><a
href="http://eclipsesource.com/blogs/tutorials/tutorialshow-to-customize-the-emf-client-platform/#validation"
target="_blank"> Define Model Validation Constraints </a></li>
<li><a
href="http://eclipsesource.com/blogs/tutorials/tutorialshow-to-customize-the-emf-client-platform/#replaceeditor"
target="_blank"> Replace the Default Editor </a></li>
<li><a
href="http://eclipsesource.com/blogs/tutorials/tutorialshow-to-customize-the-emf-client-platform/#customizecontrols"
target="_blank"> Customize Editor Controls</a></li>
</ul>
<li>
Customize the Layout of the editor (EMF Forms)
<ul>
<li>
<a href="http://eclipsesource.com/blogs/tutorials/getting-started-with-EMF-Forms/"
target="_blank">Getting started with EMF Forms</a></li>
<li>
<a
href="http://eclipsesource.com/blogs/tutorials/emf-forms-view-model-elements/"
target="_blank">Available View Model Elements</a>
<ul>
<li><a
href="http://eclipsesource.com/blogs/tutorials/emf-forms-view-model-elements/#tablecontrol"
target="_blank">Table Control</a></li>
</ul>
</li>
</ul>
</li>
<li>Use and Set-Up Backends</li>
<ul>
<li><a
href="http://eclipsesource.com/blogs/tutorials/getting-started-with-emfstore/"
target="_blank">Getting started with EMFStore</a></li>
</ul>
<li>RAP</li>
<ul>
<li><a
href="http://eclipsesource.com/blogs/tutorials/how-to-run-ecp-rap-on-tomcat/"
target="_blank">How to run ECP + RAP on Tomcat</a></li>
</ul>
<li>EMF Client Platform Core API</li>
<ul>
<li><a href="http://eclipsesource.com/blogs/tutorials/emf-client-platform-core-api/#observerbus"
target="_blank">Listening to core events</a></li>
</ul>
<ul>
<li><a href="http://eclipsesource.com/blogs/tutorials/emf-client-platform-core-api/#changebroker"
target="_blank">The EMF Change Broker</a></li>
</ul>
</ul>
</div>
</div>
<h4>Presentations</h4>
<p>
Here you will find a list a presentations related to ECP.
</p>
<ul class="no-bullets">
<li>
<h5>Are you still manually coding UIs?</h5>
<iframe width="420" height="315" src="//www.youtube.com/embed/LjF_ZWVyKXc" frameborder="0"
allowfullscreen></iframe>
</li>
<li>
<h5>
Building a Tool based on Eclipse Modeling Framework
</h5>
<iframe src="http://player.vimeo.com/video/75465334" width="640" height="480" frameborder="0"
webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p>
Long Version available <a
href="http://jaxenter.de/videos/JAX-TV-In-20-Minuten-zum-eigenen-Eclipse-Tool-171565">here</a>.
</p>
</li>
</ul>
<h4>JavaDoc</h4>
<p>
The latest JavaDoc can always be found
<a href="http://download.eclipse.org/ecp/releases/javadoc/index.html"
target="_blank">
here
</a>.
</p>
<h3>EMF Client Platform Bundle Overview</h3>
<h4 id="emfforms-bundle-overview">EMF Forms</h4>
<h5>EMF Forms Core</h5>
<strong>ecp.common</strong>
<p class="indent">
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.
</p>
<strong>ecp.edit</strong>
<p class="indent">
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.
</p>
</p>
<strong>ecp.edit.swt</strong>
<p class="indent">
Uses the Controls Extension Point to contribute default controls for SWT such as TextControl or TableControl.
</p>
</p>
<strong>ecp.ui.view</strong>
<p class="indent">
This contains UI independent classes that are needed for rendering, e.g., ViewProviderHelper, which allows the user
to find a View for an EObject.
</p>
</p>
<strong>ecp.ui.view.swt</strong>
<p class="indent">
This contains SWT classes. It provides abstract implementations for renderers and an entry point for rendering a
View Model (ECPSWTViewRenderer).
</p>
</p>
<strong>ecp.view.context</strong>
<p class="indent">
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.
</p>
</p>
<strong>ecp.view.core.swt</strong>
<p class="indent">
This defines renderers for core model elements (VView, VControl).
</p>
</p>
<strong>ecp.view.model</strong>
<p class="indent">
This provides core model elements (View and Control) as well as abstract classes.
</p>
</p>
<strong>ecp.view.model.edit</strong>
<p class="indent">
This is the generated edit plugin for core models.
</p>
</p>
<strong>ecp.view.model.provider.generator</strong>
<p class="indent">
This is a ViewModel provider that generates a View Model based on the provided EObject.
</p>
</p>
<strong>ecp.view.model.provider.xmi</strong>
<p class="indent">
This is a ViewModel provider that provides an extension point allowing the user to register serialized View Models.
</p>
<h5>EMF Forms Extension Models</h5>
<!-------------------- CUSTOM -------------------->
<h5>Categorization</h5>
<strong>ecp.view.categorization.model</strong>
<p class="indent">
This defines a model for Categorizations, allowing the user to categorize the domain model.
</p>
</p>
<strong>ecp.view.categorization.model.edit</strong>
<p class="indent">
This is the generated edit plugin for Categorizations.
</p>
</p>
<strong>ecp.view.categorization.swt</strong>
<p class="indent">
This provides the SWT Renderer for the Categorization model.
</p>
<!-------------------- CUSTOM -------------------->
<h5>Custom controls</h5>
</p>
<strong>ecp.view.custom.model</strong>
<p class="indent">
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.
</p>
<strong>ecp.view.custom.model.edit</strong>
<p class="indent">
This is the generated edit plugin for custom models.
</p>
<strong>ecp.view.custom.ui.swt</strong>
<p class="indent">
This defines an abstract SWT implementation of custom controls by providing helper methods, e.g., by creating the
validation icon.
</p>
<!-------------------- GROUP -------------------->
<h5>Group widget</h5>
</p>
<strong>ecp.view.group.model</strong>
<p class="indent">
This is a group that behaves like a vertical layout but also shows a border with the group name as the title.
</p>
</p>
<strong>ecp.view.group.model.edit</strong>
<p class="indent">
This is the generated edit plugin for group models.
</p>
</p>
<strong>ecp.view.group.ui.swt</strong>
<p class="indent">
This is the SWT renderer for group models that renders groups.
</p>
<!-------------------- HORIZONTAL -------------------->
<h5>Horizontal layout</h5>
<strong>ecp.view.horizontal.model</strong>
<p class="indent">
This defines a model for horizontal layouts wherein elements are ordered next to each other.
</p>
<strong>ecp.view.horizontal.model.edit</strong>
<p class="indent">
This is the generated edit plugin for a horizontal layout.
</p>
<strong>ecp.view.horizontal.ui.swt</strong>
<p class="indent">
This is the SWT Renderer for a horizontal layout.
</p>
<!-------------------- LABEL -------------------->
<h5>Label widget</h5>
<strong>ecp.view.label.model</strong>
<p class="indent">
This allows the user to define a label with a name (the displayed text) and a style.
</p>
<strong>ecp.view.label.model.edit</strong>
<p class="indent">
This is the generated edit plugin for labels.
</p>
<strong>ecp.view.label.ui.swt</strong>
<p class="indent">
This is the SWT renderer for label models.
</p>
<!-------------------- RULE SERVICE -------------------->
<h5>Rule service</h5>
<strong>ecp.view.rule</strong>
<p class="indent">
This is the rule service, which evaluates visibility and enablement rules.
</p>
<strong>ecp.view.rule.model</strong>
<p class="indent">
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.
</p>
<strong>ecp.view.rule.model.edit</strong>
<p class="indent">
This is the generated edit plugin for the rule model.
</p>
<!-------------------- STACK -------------------->
<h5>Stack layout</h5>
<strong>ecp.view.table.model</strong>
<p class="indent">
Contains the stack model.
</p>
<strong>ecp.view.stack.model.edit</strong>
<p class="indent">
This is the generated edit plugin for the stack model.
</p>
<strong>ecp.view.stack.ui.swt</strong>
<p class="indent">
SWT renderer for stacks.
</p>
<strong>ecp.view.stack.viewmodel</strong>
<p class="indent">
Stack Layout Viewmodel.
</p>
<!-------------------- TABLE -------------------->
<h5>Table control</h5>
<strong>ecp.view.table.model</strong>
<p class="indent">
This provides classes like a table and columns for defining and configuring tables.
</p>
<strong>ecp.view.table.model.edit</strong>
<p class="indent">
This is the generated edit plugin for the table model.
</p>
<strong>ecp.view.table.ui.swt</strong>
<p class="indent">
This is the SWT renderer for table elements.
</p>
<strong>ecp.view.table.columnservice</strong>
<p class="indent">
This is a context service that adds all columns to tables that do not have any columns defined.
</p>
<strong>ecp.view.table.editor</strong>
<p>
ECP View Table Additional Features for Editor.
</p>
<strong>ecp.view.table.migrate</strong>
<p>
Handles table mirgration, if necessary.
</p>
<!-------------------- TEMPLATE -------------------->
<h5>Template model</h5>
<strong>ecp.view.template.model</strong>
<p class="indent">
This is a model for configuring icons and colors of validation errors.
</p>
<strong>ecp.view.template.model.edit</strong>
<p class="indent">
This is the generated edit plugin for the template model.
</p>
<strong>ecp.view.template.service</strong>
<p class="indent">
This is the template service that provides the Current Template model.
</p>
<!-------------------- TREE MASTER DETAIL -------------------->
<h5>Treemaster detail</h5>
<strong>ecp.view.treemasterdetail.model</strong>
<p class="indent">
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.
</p>
<strong>ecp.view.treemasterdetail.model.edit</strong>
<p class="indent">
This is the generated edit plugin for the TreeMasterDetail model.
</p>
<strong>ecp.view.treemasterdetail.ui.swt</strong>
<p class="indent">
This is the SWT renderer for the tree master detail element.
</p>
<!-------------------- UNSET SERVICE -------------------->
<h5>Unset service</h5>
<strong>ecp.view.unset</strong>
<p class="indent">
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.
</p>
<!-------------------- VALIDATION SERVICE -------------------->
<h5>Validation Service</h5>
<strong>ecp.view.validation</strong>
<p class="indent">
This is the validation service, which monitors the domain model and calculates validation errors.
</p>
<strong>ecp.view.validation.bean</strong>
<p class="indent">
Performs validation using JSR 303.
</p>
<!-------------------- VALIDATION VIEW -------------------->
<h5>Validation View</h5>
<strong>ecp.ui.validation</strong>
<p class="indent">
Contains the validation view.
</p>
<strong>ecp.ui.validation.e4</strong>
<p class="indent">
Contains the e4 validation view.
</p>
<strong>ecp.validation.diagnostician</strong>
<p class="indent">
ECP Diagnostician used during validation.
</p>
<strong>ecp.validation.validationvieweditorbridge</strong>
<p class="indent">
ECP Validation View to Editor Bridge
</p>
<!-------------------- MAPPING DMR -------------------->
<h5>Mapping Domain Model References</h5>
<strong>ecp.view.mappingdmr.databinding</strong>
<p class="indent">
Provides the databinding for domain model references that need to be resolved via a map key entry.
</p>
<strong>ecp.view.mappingdmr.model</strong>
<p class="indent">
Contains the model for mapped domain model references.
</p>
<strong>ecp.view.mappingdmr.model.edit</strong>
<p class="indent">
Contains the model edit functionality for domain model references.
</p>
<strong>ecp.view.mappingdmr.model.tooling</strong>
<p class="indent">
Provides tooling for mapped domain model references.
</p>
<h5>Dependency Injection Feature</h5>
<strong>ecp.ui.view.swt.di</strong>
<p class="indent">
Contains the Dependency Injection SWT Renderer.
</p>
<strong>ecp.view.custom.ui.swt.di</strong>
<p class="indent">
Custom View SWT Dependency Injection.
</p>
<strong>ecp.view.model.common.di</strong>
<p class="indent">
Contains Common View Model Classes for Dependency Injection.
</p>
<!-------------------- VERTICAL LAYOUT -------------------->
<h5>Vertical model</h5>
<strong>ecp.view.vertical.model</strong>
<p class="indent">
This defines a vertical layout model wherein children are positioned under each other.
</p>
<strong>ecp.view.vertical.model.edit</strong>
<p class="indent">
This is the generated edit plugin for a vertical layout.
</p>
<strong>ecp.view.vertical.ui.swt</strong>
<p class="indent">
This is the SWT renderer for a vertical layout.
</p>
<!-------------------- DIFFMERGE -------------------->
<h5>EMF Diffmerge</h5>
<strong>ecp.diffmerge.context</strong>
<p class="indent">
This provides a specific ViewModelContext that can calculate a diff between two elements.
</p>
<strong>ecp.diffmerge.renderer.swt</strong>
<p class="indent">
This provides a specific renderer for the diff merge case.
</p>
<strong>ecp.diffmerge.swt</strong>
<p class="indent">
This bundle provides the Diff Dialog that allows users to see and merge diffs.
</p>
<!-------------------- MODEL EDIT CONTROLS -------------------->
<h5>EMF Forms Model Edit Controls</h5>
<strong>ecp.ui.view.editor.controls</strong>
<p class="indent">
These are specific controls to edit the view model (e.g., in the IDE).
</p>
<strong>ecp.view.template.controls.swt</strong>
<p class="indent">
These are specific controls to edit the template model.
</p>
<h4>ECP</h4>
<h5>ECP Core</h5>
<strong>ecp.core</strong>
<p class="indent">
This defines core classes like ECPProject.
</p>
<strong>ecp.core.emffilter</strong>
<p class="indent">
This provides a filter for default EPackages.
</p>
<strong>ecp.explorerbridge</strong>
<p class="indent">
This provides classes for connecting an ECPProject with a model element editor.
</p>
<strong>ecp.ui</strong>
<p class="indent">
These are SWT classes for ECP, e.g., ModelExplorer.
</p>
<strong>ecp.validation</strong>
<p class="indent">
This provides ECP validation used to calculate errors for ECPProjects.
</p>
<!-------------------- e3 -------------------->
<h5>ECP e3</h5>
<strong>ecp.application.e3</strong>
<p class="indent">
This is the e3 demo application for ECP.
</p>
<strong>ecp.editor.e3</strong>
<p class="indent">
This is the e3 editor used in ECP.
</p>
<strong>ecp.ui.e3</strong>
<p class="indent">
These are necessary e3 classes for ECP like handlers and views.
</p>
<strong>ecp.validation.connector</strong>
<p class="indent">
These are specific classes to display the validation errors in the model explorer tree.
</p>
<strong>ecp.emfstore.ui.e3</strong>
<p class="indent">
These are Eclipse 3.x specific UI parts for the EMFStore like share, commit and update commands.
</p>
<!-------------------- e4 -------------------->
<h5>ECP e4</h5>
<strong>ecp.application.e4</strong>
<p class="indent">
This is the e4 demo application for ECP.
</p>
<strong>ecp.ui.e4</strong>
<p class="indent">
These are necessary e4 classes for ECP like handlers and views.
</p>
<strong>ecp.emfstore.ui.e4</strong>
<p class="indent">
These are e4-specific UI parts for EMFStore like share, commit and update commands defined in a fragment.xml.
</p>
<!-------------------- WORKSPACE PROVIDER -------------------->
<h5>ECP Workspace Provider</h5>
<strong>ecp.workspace.core</strong>
<p class="indent">
A dataprovider for editing models from XMI files directly in the IDE.
</p>
<strong>ecp.workspace.ui</strong>
<p class="indent">
These are UI parts for the workspace provider like wizards for creating and loading xmi files.
</p>
<!-------------------- CDO PROVIDER -------------------->
<h5>CDO Provider</h5>
</p>
<strong>ecp.cdo.core</strong>
<p class="indent">
This is a data provider for the CDO model repository.
</p>
</p>
<strong>ecp.cdo.ui</strong>
<p class="indent">
These are UI parts for the CDO provider like check-in and update commands.
</p>
<!-------------------- EMFSTORE PROVIDER -------------------->
<h5>EMFStore Provider</h5>
<strong>ecp.emfstore.core</strong>
<p class="indent">
This is a data provider for EMFStore.
</p>
<strong>ecp.emfstore.ui</strong>
<p class="indent">
These are UI parts for the EMFStore like share, commit and update handler.
</p>
<h4>RAP</h4>
<strong>ecp.rap</strong>
<p class="indent">
This is the RAP demo application for ECP.
</p>
</p>
<strong>ecp.rap.util</strong>
<p class="indent">
This provides utility classes for RAP, e.g., a JFace Dialog wrapper.
</p>
</div>
<div class="footer">
<div class="row-fluid">
<div class="span2 text-center">
<a href="http://www.eclipse.org/legal/privacy.php" target="_blank">
Privacy Policy </a>
</div>
<div class="span2 text-center">
<a href="http://www.eclipse.org/legal/termsofuse.php"
target="_blank"> Terms of Use </a>
</div>
<div class="span2 text-center">
<a href="http://www.eclipse.org/legal/copyright.php"
target="_blank"> Copyright </a>
</div>
<div class="span2 text-center">
<a href="http://www.eclipse.org/legal/" target="_blank"> Legal
</a>
</div>
<div class="span2 text-center">
<a
href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.emf-client"
target="_blank"> About </a>
</div>
<div class="span2 text-center">
<a href="http://www.eclipse.org/" target="_blank">eclipse.org</a>
</div>
</div>
<div class="text-center">
Icons are from <a
href="http://www.icondeposit.com/theicondeposit:108"
target="_blank">Icon Deposit</a>
</div>
</div>
</div>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
<!-- End Google Tag Manager -->
<script>
(function(w) {
w.cookieconsent.init();
})(window)
</script>
</body>
</html>