This is the main package of the Workflow project.

## Overview

The Workflow editor is an Eclipse plugin with a graphical editor to create Workflow diagrams.

The editor consists of two main parts: The activity editor is used to graphically create activity models. The model editor is used to create and configure all model elements.
The editor classes are located in the `editors` package.

### Activity Editor

The graphical editor is implemented by the {@link org.eclipse.jwt.we.editors.WEEditor Workflow Editor} using the Graphical Editing Framework (GEF). It consists of the {@link org.eclipse.jwt.we.editors.pages.WEEditorSheet activity editor} and an {@link org.eclipse.jwt.we.editors.pages.WEOverviewPage overview page}.
The GEF is using a Model-View-Controller pattern, i.e. it separates the model from its view and combines them using controller.
The model is generated from the Workflow metamodel using the Eclipse Modeling Framework (EMF). The model can be found in the `model` package.
The view is provided by {@link org.eclipse.draw2d.IFigure Figure} classes and is located in the `figures` package.
The controller are provided by {@link org.eclipse.gef.EditPart EditPart} classes and are located in the `parts` package.

### Model Editor

The model editor is generated by the Eclipse Modeling Framework (EMF). It is currently available through the `outline` and the `properties` view.
The model editor is based on the same model as the activity editor. The content is provided through EMF {@link org.eclipse.emf.edit.provider.ItemProviderAdapter ItemProviderAdapters}.

## Plugin

The Workflow editor is an Eclipse plugin. The plugin data and setting are located in the `plugin.xml` and `META-INF/MANIFEST.MF` files.
They contain the following informations:

- Plugin ID
- Plugin version
- Plugin Name
- Plugin Provider
- Plugin activator class: {@link org.eclipse.jwt.we.Plugin}
- Plugin dependencies
- Editors: {@link org.eclipse.jwt.we.editors.WEEditor}, with
  - Extension: workflow
  - Action bar contributer: {@link org.eclipse.jwt.we.editors.WEActionBarContributor}
- Wizards: {@link org.eclipse.jwt.we.editors.wizards.CreationWizard}
- Build configuration for deployment

## Messages and Localization

All Strings and message used by the plugin are located in the `plugin.properties`. This allows an easy localization for different language. For example the property file `plugin_de.properties` contains German translations of the messages.
The properties are access through static fields and methods from the {@link org.eclipse.jwt.we.PluginProperties} class.

## Framework Documentation

- GEF documentation: http://www.eclipse.org/gef/reference/articles.html.
- GefDescription http://eclipsewiki.editme.com/GefDescription.
- EMF documentation: http://www.eclipse.org/emf/docs.php.
- EMF Overview: http://www.eclipse.org/emf/docs.php?doc=references/overview/EMF.html.
- EMF.Edit Overview: http://www.eclipse.org/emf/docs.php?doc=references/overview/EMF.Edit.html.
- EMF Book: Eclipse Modeling Framework (Overview and Developer's Guide) Sample, Chapter 2. Introduction, Defining the Model, Generating Code, EMF Framework. http://www.awprofessional.com/content/images/0131425420/samplechapter/budinskych02.pdf.
- Create an Eclipse-based application using the Graphical Editing Framework http://www-128.ibm.com/developerworks/opensource/library/os-gef.
- Using GEF with EMF http://www.eclipse.org/articles/Article-GEF-EMF/gef-emf.html.
- IBM Redbook: Eclipse Development using the Graphical Editing Framework and the Eclipse Modeling Framework http://www.redbooks.ibm.com/abstracts/sg246302.html.
- Java Logging Overview: http://java.sun.com/j2se/1.5.0/docs/guide/logging/overview.html.

## Links

- Eclipse home: http://www.eclipse.org
- GEF home: http://www.eclipse.org/gef
- EMF home: http://www.eclipse.org/emf

(c) 2005-2011 Eclipse Java Workflow Tooling (JWT) Project <www.eclipse.org/jwt>