<!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>
</head>
<body>
<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>
