Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2016-02-11 02:48:20 +0000
committerGerrit Code Review @ Eclipse.org2016-02-12 15:31:41 +0000
commitecd4928b327f5561364c5068c9ff5f1668e92d13 (patch)
tree7c34f46cf82a1d65ac753fa92c2a5d55371b8dba /plugins/developer
parent751a204d74e15eb2db6b41c937691fc56dcc1252 (diff)
downloadorg.eclipse.papyrus-ecd4928b327f5561364c5068c9ff5f1668e92d13.tar.gz
org.eclipse.papyrus-ecd4928b327f5561364c5068c9ff5f1668e92d13.tar.xz
org.eclipse.papyrus-ecd4928b327f5561364c5068c9ff5f1668e92d13.zip
Bug 485220: [Architecture] Provide a more modular architecture
https://bugs.eclipse.org/bugs/show_bug.cgi?id=485220 Factor UI dependencies out of the UML Element Types bundle. This includes moving some advices that interact with the user into a new org.eclipse.papyrus.uml.service.types.ui bundle. Pull up the PasteCommandService and IPasteCommandProvider API into the Infra Diagram layer where the extension point is defined. Deprecate the old API in the UML layer. Introduce a service for participation of languages in CSS styling: * styling reset actions in the Reset Style command * access to semantic model classes and properties to make available to CSS Factor PapyrusObservableValue and cohorts out of the UML Tools bundle into the Infra Layer for more general reuse and to relieve the Diagram Infrastructure layer of UML dependencies. The old API remains as deprecated. Remove the Infra Diagram Layer dependency on UML Layer for property testers governing deletion in the diagram. Includes introduction of a new IGraphicalDeletionHelper OSGi service for delegation of the determination of whether an element can be deleted from the diagram and replacement of the XML expression properties * org.eclipse.papyrus.uml.diagram.common.isSemanticDeletion * org.eclipse.papyrus.uml.diagram.common.isReadOnly by * org.eclipse.papyrus.infra.gmfdiag.common.isSemanticDeletion * org.eclipse.papyrus.infra.gmfdiag.common.canDelete (where the latter is the negation of the property that it supersedes) Extract UML dependencies from the Diagram Outline and CSS Editor bundles. Remove unused MDTUtil APIs that referenced a UML-specific annotation. Move the Diagram Infrastructure CSS Palette bundle into the UML layer because it serves to provide extensions on the Palette Service, which is an overtly UML-specific capability. All client APIs for the Properties View are moved from org.eclipse.papyrus.views.properties bundle to a new org.eclipse.papyrus.infra.properties.ui bundle. This includes renaming of: * extension points * label-provider contexts * XWT namespaces Add an "all UI tests" suite. Define a componentized hierarchical build layout of the main plug-ins Change-Id: I43f8f3644857a18b69715f5a2f1da9b1cf286d67
Diffstat (limited to 'plugins/developer')
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF56
-rw-r--r--plugins/developer/org.eclipse.papyrus.doc/tutorials/CreatingNewPlugin/PapyrusDevelopperTutorial_OnCreating&AddingNewPluginInPapyrus_v1.0_d2010-05-07.html1040
-rw-r--r--plugins/developer/org.eclipse.papyrus.doc/tutorials/PaletteCustomization/PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10.html1268
-rw-r--r--plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture.htm5058
-rw-r--r--plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture_fichiers/filelist.xml66
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.classpath14
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project56
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.settings/org.eclipse.jdt.core.prefs582
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF42
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/about.html48
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/build.properties18
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.properties24
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.xml60
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/Activator.java140
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateHandlers.java156
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateTypes.java158
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateCreationHandlersAction.java236
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateElementTypeAction.java238
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.classpath14
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project56
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.settings/org.eclipse.jdt.core.prefs582
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF34
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/about.html48
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/build.properties40
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/plugin.properties274
-rw-r--r--plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/META-INF/MANIFEST.MF54
-rw-r--r--plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/plugin.xml190
-rw-r--r--plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventContentProvider.java322
-rw-r--r--plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventLabelProvider.java270
-rw-r--r--plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/ElementTypesConfigurationsEventPrinter.java276
-rw-r--r--plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/NotifierNullEditHelper.java58
-rw-r--r--plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/view/ElementTypesConfigurationsListenerView.java454
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.classpath2
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF40
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/src/org/eclipse/papyrus/infra/emf/commandstack/view/CommandStackView.java80
-rw-r--r--plugins/developer/pom.xml9
37 files changed, 6036 insertions, 6033 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF
index b5120a970b4..c5b4c74a36f 100644
--- a/plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF
@@ -1,28 +1,28 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.codegen.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
- org.eclipse.draw2d;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.gmf.runtime.notation,
- org.eclipse.gmf.common;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.gmf.validate;bundle-version="[1.1.0,2.0.0)",
- org.eclipse.gmf.codegen;bundle-version="[2.0.0,3.1.0)",
- org.eclipse.gmf.graphdef;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.xtext;bundle-version="2.3.1",
- org.eclipse.xtext.builder;bundle-version="2.3.1",
- org.eclipse.xtend.lib,
- org.eclipse.ocl.ecore,
- com.google.guava;bundle-version="11.0.0",
- org.eclipse.xtext.xbase.lib,
- org.eclipse.gmf.codegen.xtend;bundle-version="1.0.0",
- org.eclipse.papyrus.gmfgenextension;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ClassPath: ., bin/
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.gmf.codegen.util.DefaultActivator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.def;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.codegen.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
+ org.eclipse.draw2d;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.gmf.runtime.notation,
+ org.eclipse.gmf.common;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.gmf.validate;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.gmf.codegen;bundle-version="[2.0.0,3.1.0)",
+ org.eclipse.gmf.graphdef;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.xtext;bundle-version="2.3.1",
+ org.eclipse.xtext.builder;bundle-version="2.3.1",
+ org.eclipse.xtend.lib,
+ org.eclipse.ocl.ecore,
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.gmf.codegen.xtend;bundle-version="1.0.0",
+ org.eclipse.papyrus.gmfgenextension;bundle-version="1.2.0"
+Bundle-Vendor: %providerName
+Bundle-ClassPath: .
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-Activator: org.eclipse.gmf.codegen.util.DefaultActivator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.def;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/developer/org.eclipse.papyrus.doc/tutorials/CreatingNewPlugin/PapyrusDevelopperTutorial_OnCreating&AddingNewPluginInPapyrus_v1.0_d2010-05-07.html b/plugins/developer/org.eclipse.papyrus.doc/tutorials/CreatingNewPlugin/PapyrusDevelopperTutorial_OnCreating&AddingNewPluginInPapyrus_v1.0_d2010-05-07.html
index c0473a6e5ec..2badc752ef7 100644
--- a/plugins/developer/org.eclipse.papyrus.doc/tutorials/CreatingNewPlugin/PapyrusDevelopperTutorial_OnCreating&AddingNewPluginInPapyrus_v1.0_d2010-05-07.html
+++ b/plugins/developer/org.eclipse.papyrus.doc/tutorials/CreatingNewPlugin/PapyrusDevelopperTutorial_OnCreating&AddingNewPluginInPapyrus_v1.0_d2010-05-07.html
@@ -1,521 +1,521 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
- <TITLE> </TITLE>
- <META NAME="GENERATOR" CONTENT="OpenOffice.org 3.1 (Win32)">
- <META NAME="AUTHOR" CONTENT="S&eacute;bastien G&eacute;rard">
- <META NAME="CREATED" CONTENT="20100507;12382300">
- <META NAME="CHANGEDBY" CONTENT="S&eacute;bastien G&eacute;rard">
- <META NAME="CHANGED" CONTENT="20100507;12594800">
- <META NAME="Info 1" CONTENT="">
- <META NAME="Info 2" CONTENT="">
- <META NAME="Info 3" CONTENT="">
- <META NAME="Info 4" CONTENT="">
- <STYLE TYPE="text/css">
- <!--
- @page { margin-left: 2.5cm; margin-right: 1.5cm; margin-top: 1.25cm; margin-bottom: 1.25cm }
- P { margin-bottom: 0.21cm; direction: ltr; color: #000000; text-align: justify; widows: 2; orphans: 2 }
- P.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- P.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- P.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }
- P.list-western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- P.list-cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- P.list-ctl { font-family: "Tahoma"; font-size: 10pt; so-language: ar-SA }
- H1 { margin-top: 0cm; margin-bottom: 0.42cm; background: #cccccc; border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding: 0.04cm 0cm; direction: ltr; color: #000000; text-align: left; widows: 2; orphans: 2; page-break-before: always; page-break-after: auto }
- H1.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- H1.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- H1.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA; font-weight: normal }
- H1.heading+no-numbering+new-page-western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- H1.heading+no-numbering+new-page-cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- H1.heading+no-numbering+new-page-ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA; font-weight: normal }
- TD P { margin-bottom: 0.21cm; direction: ltr; color: #000000; text-align: justify; widows: 2; orphans: 2 }
- TD P.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- TD P.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- TD P.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }
- P.list-1-end-western { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- P.list-1-end-cjk { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Times New Roman", serif; font-size: 11pt }
- P.list-1-end-ctl { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Tahoma"; font-size: 10pt; so-language: ar-SA }
- A:link { color: #0000ff }
- A.sdfootnotesym-western { font-size: 8pt }
- A.sdfootnotesym-cjk { font-size: 8pt }
- -->
- </STYLE>
-</HEAD>
-<BODY LANG="fr-FR" TEXT="#000000" LINK="#0000ff" DIR="LTR">
-<DIV TYPE=HEADER>
- <P LANG="en-GB" CLASS="western" STYLE="margin-top: 0.21cm; margin-bottom: 1.15cm; border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.04cm; padding-left: 0cm; padding-right: 0cm">
- <IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m1e24f929.gif" NAME="images1" ALIGN=LEFT WIDTH=16 HEIGHT=16 BORDER=0><BR CLEAR=LEFT><B> On
- creating/adding a new plug-in in Papyrus Version 1.0</B></P>
-</DIV>
-<TABLE WIDTH=648 BORDER=0 CELLPADDING=6 CELLSPACING=0 STYLE="page-break-before: always">
- <COL WIDTH=636>
- <TR>
- <TD WIDTH=636 HEIGHT=105 VALIGN=TOP>
- <P LANG="zxx" CLASS="western" ALIGN=CENTER><BR><BR>
- </P>
- <P LANG="en-US" ALIGN=CENTER><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m6e3b81b8.png" NAME="images3" ALIGN=LEFT WIDTH=131 HEIGHT=68 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_4ddfcb15.jpg" NAME="images2" ALIGN=LEFT WIDTH=86 HEIGHT=86 BORDER=0><BR CLEAR=LEFT><BR>
- </P>
- </TD>
- </TR>
-</TABLE>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><FONT SIZE=5><B>Papyrus
-Tutorial:</B></FONT></P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><FONT SIZE=5><B>How to
-create and add a new plug-in within Papyrus?</B></FONT></P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
- <COL WIDTH=175>
- <COL WIDTH=440>
- <TR VALIGN=TOP>
- <TD WIDTH=175>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Editor</P>
- </TD>
- <TD WIDTH=440>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">S&eacute;bastien
- G&eacute;rard, CEA LIST</P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=175>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Status</P>
- </TD>
- <TD WIDTH=440>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Final
- version</P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=175>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Version
- number</P>
- </TD>
- <TD WIDTH=440>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">1.0</P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=175>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Date of
- preparation</P>
- </TD>
- <TD WIDTH=440>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">2010-05-07</P>
- </TD>
- </TR>
-</TABLE>
-<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Authors</H1>
-<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
- <COL WIDTH=230>
- <COL WIDTH=124>
- <COL WIDTH=188>
- <COL WIDTH=45>
- <TR VALIGN=TOP>
- <TD WIDTH=230 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Editor
- name (first/last name)</B></P>
- </TD>
- <TD WIDTH=124 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Company</B></P>
- </TD>
- <TD WIDTH=188 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>E-mail</B></P>
- </TD>
- <TD WIDTH=45 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Initial</B></P>
- </TD>
- </TR>
- <TR VALIGN=BOTTOM>
- <TD WIDTH=230>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>S&eacute;bastien
- G&eacute;rard</FONT></FONT></P>
- </TD>
- <TD WIDTH=124>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>CEA LIST</FONT></FONT></P>
- </TD>
- <TD WIDTH=188>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2><A HREF="mailto:Sebastien.gerard@cea.fr">Sebastien.gerard@cea.fr</A></FONT></FONT></P>
- </TD>
- <TD WIDTH=45>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm">SG</P>
- </TD>
- </TR>
-</TABLE>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
- <COL WIDTH=230>
- <COL WIDTH=124>
- <COL WIDTH=188>
- <COL WIDTH=45>
- <TR VALIGN=TOP>
- <TD WIDTH=230 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Authors name (first/last name)</B></P>
- </TD>
- <TD WIDTH=124 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Company</B></P>
- </TD>
- <TD WIDTH=188 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>E-mail</B></P>
- </TD>
- <TD WIDTH=45 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Initial</B></P>
- </TD>
- </TR>
- <TR VALIGN=BOTTOM>
- <TD WIDTH=230>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>S&eacute;bastien
- G&eacute;rard</FONT></FONT></P>
- </TD>
- <TD WIDTH=124>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>CEA LIST</FONT></FONT></P>
- </TD>
- <TD WIDTH=188>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2><A HREF="mailto:Sebastien.gerard@cea.fr">Sebastien.gerard@cea.fr</A></FONT></FONT></P>
- </TD>
- <TD WIDTH=45>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm">SG</P>
- </TD>
- </TR>
-</TABLE>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Revision
-chart and history log</H1>
-<TABLE WIDTH=636 BORDER=0 CELLPADDING=7 CELLSPACING=0>
- <COL WIDTH=62>
- <COL WIDTH=83>
- <COL WIDTH=449>
- <TR VALIGN=TOP>
- <TD WIDTH=62 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Version </B>
- </P>
- </TD>
- <TD WIDTH=83 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Date</B></P>
- </TD>
- <TD WIDTH=449 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Reasons</B></P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>1.0</FONT></FONT></P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>2010-05-07</FONT></FONT></P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>Initial contribution.</FONT></FONT></P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- </TR>
-</TABLE>
-<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Table
-of contents</H1>
-<DIV ID="Table of Contents1" DIR="LTR">
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Authors 2</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Revision
- chart and history log 3</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>List
- of abbreviations 4</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Table
- of contents 5</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>List
- of figures 6</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>List
- of tables 7</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#1.Introduction|outline">1
- Introduction 8</A></FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#2.&lt;&lt;&lt;Main chapters&gt;&gt;&gt;|outline">2
- &lt;&lt;&lt;Main chapters&gt;&gt;&gt; 9</A></FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#3.Summary and conclusion|outline">3
- Summary and conclusion 10</A></FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#4.References|outline">4
- References 11</A></FONT></P>
-</DIV>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<H1 LANG="en-US" CLASS="western"><A NAME="1.Introduction|outline"></A>
-1Introduction</H1>
-<P LANG="en-US" CLASS="western">The purpose of this document is to
-provide to Papyrus developpers a tutorial explaining how to create
-and add a new plug-in within Papyrus.</P>
-<H1 LANG="en-US" CLASS="western"><A NAME="2.&lt;&lt;&lt;Main chapters&gt;&gt;&gt;|outline"></A>
-2How to create a new plug-in for Papyrus ?</H1>
-<OL>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Create a new plug-in
- for Papyrus</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_47da22ab.gif" NAME="images5" ALIGN=LEFT WIDTH=318 HEIGHT=194 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_11174b23.png" NAME="images6" ALIGN=LEFT WIDTH=293 HEIGHT=316 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=2>
- <LI><P LANG="en-US" CLASS="western">Name your new plug-in applying
- the formating rule: org.eclipse.papyrus.&lt;YourPluginName&gt;</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_ae49080.png" NAME="images4" ALIGN=LEFT WIDTH=353 HEIGHT=410 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=3>
- <LI><P LANG="en-US" CLASS="western" STYLE="page-break-before: always">
- Then click on the button <FONT FACE="Consolas, monospace">Finish</FONT><FONT FACE="Times New Roman, serif">.
- Then the following user interface is displayed:</FONT></P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_3b41e179.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m8c3db26.png" NAME="images13" ALIGN=LEFT WIDTH=326 HEIGHT=400 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_20d7fa65.gif" ALIGN=LEFT><BR><BR>
-</P>
-<OL START=4>
- <LI><P LANG="en-US" CLASS="western">Set the following properties and
- then click on the button <FONT FACE="Consolas, monospace">Finish</FONT>.</P>
-</OL>
-<UL>
- <LI><P LANG="en-US" CLASS="western">Version: 0.7.0.qualifier (The
- value of this parameter is to set according to the Papyrus version.
- At the time of the wirting of this documenbt, Papyrus was in version
- 0.7.0.)</P>
- <LI><P LANG="en-US" CLASS="western">Name: %pluginName</P>
- <LI><P LANG="en-US" CLASS="western">Provided: %providerName</P>
- <LI><P LANG="en-US" CLASS="western">Execution Environment: J2SE-1.5</P>
-</UL>
-<OL START=5>
- <LI><P LANG="en-US" CLASS="western" STYLE="page-break-before: always">
- Add a new file named <I>plugin.properties</I> under the plug-in
- project</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m4922ca4f.gif" NAME="images7" ALIGN=LEFT WIDTH=481 HEIGHT=200 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_6b592bb8.gif" ALIGN=LEFT><BR><BR>
-</P>
-<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>
- <COL WIDTH=128*>
- <COL WIDTH=128*>
- <TR VALIGN=TOP>
- <TD WIDTH=50%>
- <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m63a2afcc.png" NAME="images8" ALIGN=LEFT WIDTH=320 HEIGHT=227 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m32cc7b38.gif" ALIGN=LEFT><BR>
- </P>
- </TD>
- <TD WIDTH=50%>
- <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_mfb4253b.png" NAME="images9" ALIGN=LEFT WIDTH=291 HEIGHT=227 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m4ac5f84a.gif" ALIGN=LEFT><BR>
- </P>
- </TD>
- </TR>
-</TABLE>
-<P LANG="en-US" CLASS="western">You then should get then the
-following result:</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_3ff687e7.png" NAME="images10" ALIGN=LEFT WIDTH=245 HEIGHT=157 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=6>
- <LI><P LANG="en-US" CLASS="western">Edit the file and add the
- following text inside. This file is used for defining the variables
- used in the plug-in definition. In our case, we have previously
- introduced both following variables, pluginName and providerName.
- The value set for this variable may be any kind of string. Then do
- not forget to save the file and you can also close it.</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_2f921d3c.png" NAME="images11" ALIGN=LEFT WIDTH=569 HEIGHT=185 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=6>
- <LI><P LANG="en-US" CLASS="western">Configure the manifest of the
- plug-in. For that purpose, open the file named MANIFEST.MF under the
- folder named META-INF as shown below. In our case, we check the
- resource folder and plugin.properties file in order these later may
- be automatically included in the build of the plug-in. Then do not
- forget to save the file and you can also close it.</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m70e80a0b.png" NAME="images12" ALIGN=LEFT WIDTH=495 HEIGHT=391 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western">Your plug-in is now created and can
-be committed to the Papyrus repository. For that purpose please refer
-to next chpater.</P>
-<H1 LANG="en-US" CLASS="western"><A NAME="3.Summary and conclusion|outline"></A>
-3How to commit a new plug-in within the Papyrus repository?</H1>
-<OL>
- <LI><P LANG="en-US" CLASS="western">Now, the final step is to commit
- your new plug-in on the Papyrus svn. For that purpose, select your
- plug-in in the package explorer and do following action, <I>Team&gt;Share
- Project..,</I> as shown below.</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m318ea83a.gif" NAME="images14" ALIGN=LEFT WIDTH=386 HEIGHT=329 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=2>
- <LI><P LANG="en-US" CLASS="western">Then select svn as shown
- below...</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m2bea2a2a.png" NAME="images15" ALIGN=LEFT WIDTH=318 HEIGHT=210 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=3>
- <LI><P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_mfc790d3.png" NAME="images16" ALIGN=LEFT WIDTH=534 HEIGHT=205 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_51cd634f.gif" ALIGN=LEFT>&hellip;
- and next select the Papyrus svn repository.</P>
-</OL>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<OL START=4>
- <LI><P LANG="en-US" CLASS="western">Finish and then you get the user
- interface shwon below. You have to select <I>&ldquo;Use mutliple
- projects ...&rdquo;</I> option in the group named <I>&ldquo;Project
- Repository Layout&rdquo;</I>. The value to set is depending on the
- location you want to commit your new plug-in. A priori it is on the
- trunk of Papyrus, so it should start by &ldquo;/trunk&rdquo; and
- then you specify the path of the targeted location. In our example,
- the new plug-in will be committed under the path
- &ldquo;/trunk/plugins/uml&rdquo;. Then you have also to uncheck the
- box named &ldquo;Use Subversion recommend layout ...&rdquo;, and
- then you can press the button <I>Finish</I>.</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_21c4a62a.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_6bd32e21.png" NAME="images17" ALIGN=LEFT WIDTH=476 HEIGHT=402 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=5>
- <LI><P LANG="en-US" CLASS="western" STYLE="page-break-before: always">
- Finally, you will get the following last user interface that ask you
- to enter a comment denoting the new commit. Pressing the button OK,
- you will have finished the process and your plug-in should be added
- to the Papyrus svn repository.</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m5bcfb153.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_40231f8b.png" NAME="images18" ALIGN=LEFT WIDTH=444 HEIGHT=354 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=6>
- <LI><P LANG="en-US" CLASS="western">Last step is to check that
- everything has been done correctly. For that, switch to the svn view
- and check that your new plug-in has been uploaded correctly and at
- the right location and close then bug that was attached to that new
- feature supported by your plug-in.</P>
-</OL>
-<H1 LANG="en-US" CLASS="western"><A NAME="4.References|outline"></A>4References</H1>
-<P LANG="en-US" CLASS="western">N/A.</P>
-<DIV TYPE=FOOTER>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 1.15cm">&#61667;
- <FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zxx"><I>2009 The
- Papyrus Consortium </I></SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zxx"><I> </I></SPAN></FONT><SPAN LANG="zxx"><SDFIELD TYPE=PAGE SUBTYPE=RANDOM FORMAT=PAGE>13</SDFIELD></SPAN><SPAN LANG="zxx">/</SPAN><SPAN LANG="zxx"><SDFIELD TYPE=DOCSTAT SUBTYPE=PAGE FORMAT=ARABIC>13</SDFIELD></SPAN></P>
-</DIV>
-</BODY>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+ <TITLE> </TITLE>
+ <META NAME="GENERATOR" CONTENT="OpenOffice.org 3.1 (Win32)">
+ <META NAME="AUTHOR" CONTENT="S&eacute;bastien G&eacute;rard">
+ <META NAME="CREATED" CONTENT="20100507;12382300">
+ <META NAME="CHANGEDBY" CONTENT="S&eacute;bastien G&eacute;rard">
+ <META NAME="CHANGED" CONTENT="20100507;12594800">
+ <META NAME="Info 1" CONTENT="">
+ <META NAME="Info 2" CONTENT="">
+ <META NAME="Info 3" CONTENT="">
+ <META NAME="Info 4" CONTENT="">
+ <STYLE TYPE="text/css">
+ <!--
+ @page { margin-left: 2.5cm; margin-right: 1.5cm; margin-top: 1.25cm; margin-bottom: 1.25cm }
+ P { margin-bottom: 0.21cm; direction: ltr; color: #000000; text-align: justify; widows: 2; orphans: 2 }
+ P.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ P.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ P.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }
+ P.list-western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ P.list-cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ P.list-ctl { font-family: "Tahoma"; font-size: 10pt; so-language: ar-SA }
+ H1 { margin-top: 0cm; margin-bottom: 0.42cm; background: #cccccc; border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding: 0.04cm 0cm; direction: ltr; color: #000000; text-align: left; widows: 2; orphans: 2; page-break-before: always; page-break-after: auto }
+ H1.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ H1.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ H1.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA; font-weight: normal }
+ H1.heading+no-numbering+new-page-western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ H1.heading+no-numbering+new-page-cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ H1.heading+no-numbering+new-page-ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA; font-weight: normal }
+ TD P { margin-bottom: 0.21cm; direction: ltr; color: #000000; text-align: justify; widows: 2; orphans: 2 }
+ TD P.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ TD P.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ TD P.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }
+ P.list-1-end-western { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ P.list-1-end-cjk { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Times New Roman", serif; font-size: 11pt }
+ P.list-1-end-ctl { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Tahoma"; font-size: 10pt; so-language: ar-SA }
+ A:link { color: #0000ff }
+ A.sdfootnotesym-western { font-size: 8pt }
+ A.sdfootnotesym-cjk { font-size: 8pt }
+ -->
+ </STYLE>
+</HEAD>
+<BODY LANG="fr-FR" TEXT="#000000" LINK="#0000ff" DIR="LTR">
+<DIV TYPE=HEADER>
+ <P LANG="en-GB" CLASS="western" STYLE="margin-top: 0.21cm; margin-bottom: 1.15cm; border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.04cm; padding-left: 0cm; padding-right: 0cm">
+ <IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m1e24f929.gif" NAME="images1" ALIGN=LEFT WIDTH=16 HEIGHT=16 BORDER=0><BR CLEAR=LEFT><B> On
+ creating/adding a new plug-in in Papyrus Version 1.0</B></P>
+</DIV>
+<TABLE WIDTH=648 BORDER=0 CELLPADDING=6 CELLSPACING=0 STYLE="page-break-before: always">
+ <COL WIDTH=636>
+ <TR>
+ <TD WIDTH=636 HEIGHT=105 VALIGN=TOP>
+ <P LANG="zxx" CLASS="western" ALIGN=CENTER><BR><BR>
+ </P>
+ <P LANG="en-US" ALIGN=CENTER><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m6e3b81b8.png" NAME="images3" ALIGN=LEFT WIDTH=131 HEIGHT=68 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_4ddfcb15.jpg" NAME="images2" ALIGN=LEFT WIDTH=86 HEIGHT=86 BORDER=0><BR CLEAR=LEFT><BR>
+ </P>
+ </TD>
+ </TR>
+</TABLE>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><FONT SIZE=5><B>Papyrus
+Tutorial:</B></FONT></P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><FONT SIZE=5><B>How to
+create and add a new plug-in within Papyrus?</B></FONT></P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
+ <COL WIDTH=175>
+ <COL WIDTH=440>
+ <TR VALIGN=TOP>
+ <TD WIDTH=175>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Editor</P>
+ </TD>
+ <TD WIDTH=440>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">S&eacute;bastien
+ G&eacute;rard, CEA LIST</P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=175>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Status</P>
+ </TD>
+ <TD WIDTH=440>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Final
+ version</P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=175>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Version
+ number</P>
+ </TD>
+ <TD WIDTH=440>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">1.0</P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=175>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Date of
+ preparation</P>
+ </TD>
+ <TD WIDTH=440>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">2010-05-07</P>
+ </TD>
+ </TR>
+</TABLE>
+<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Authors</H1>
+<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
+ <COL WIDTH=230>
+ <COL WIDTH=124>
+ <COL WIDTH=188>
+ <COL WIDTH=45>
+ <TR VALIGN=TOP>
+ <TD WIDTH=230 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Editor
+ name (first/last name)</B></P>
+ </TD>
+ <TD WIDTH=124 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Company</B></P>
+ </TD>
+ <TD WIDTH=188 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>E-mail</B></P>
+ </TD>
+ <TD WIDTH=45 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Initial</B></P>
+ </TD>
+ </TR>
+ <TR VALIGN=BOTTOM>
+ <TD WIDTH=230>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>S&eacute;bastien
+ G&eacute;rard</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=124>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>CEA LIST</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=188>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2><A HREF="mailto:Sebastien.gerard@cea.fr">Sebastien.gerard@cea.fr</A></FONT></FONT></P>
+ </TD>
+ <TD WIDTH=45>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm">SG</P>
+ </TD>
+ </TR>
+</TABLE>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
+ <COL WIDTH=230>
+ <COL WIDTH=124>
+ <COL WIDTH=188>
+ <COL WIDTH=45>
+ <TR VALIGN=TOP>
+ <TD WIDTH=230 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Authors name (first/last name)</B></P>
+ </TD>
+ <TD WIDTH=124 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Company</B></P>
+ </TD>
+ <TD WIDTH=188 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>E-mail</B></P>
+ </TD>
+ <TD WIDTH=45 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Initial</B></P>
+ </TD>
+ </TR>
+ <TR VALIGN=BOTTOM>
+ <TD WIDTH=230>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>S&eacute;bastien
+ G&eacute;rard</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=124>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>CEA LIST</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=188>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2><A HREF="mailto:Sebastien.gerard@cea.fr">Sebastien.gerard@cea.fr</A></FONT></FONT></P>
+ </TD>
+ <TD WIDTH=45>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm">SG</P>
+ </TD>
+ </TR>
+</TABLE>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Revision
+chart and history log</H1>
+<TABLE WIDTH=636 BORDER=0 CELLPADDING=7 CELLSPACING=0>
+ <COL WIDTH=62>
+ <COL WIDTH=83>
+ <COL WIDTH=449>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Version </B>
+ </P>
+ </TD>
+ <TD WIDTH=83 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Date</B></P>
+ </TD>
+ <TD WIDTH=449 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Reasons</B></P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>1.0</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>2010-05-07</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>Initial contribution.</FONT></FONT></P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ </TR>
+</TABLE>
+<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Table
+of contents</H1>
+<DIV ID="Table of Contents1" DIR="LTR">
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Authors 2</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Revision
+ chart and history log 3</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>List
+ of abbreviations 4</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Table
+ of contents 5</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>List
+ of figures 6</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>List
+ of tables 7</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#1.Introduction|outline">1
+ Introduction 8</A></FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#2.&lt;&lt;&lt;Main chapters&gt;&gt;&gt;|outline">2
+ &lt;&lt;&lt;Main chapters&gt;&gt;&gt; 9</A></FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#3.Summary and conclusion|outline">3
+ Summary and conclusion 10</A></FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#4.References|outline">4
+ References 11</A></FONT></P>
+</DIV>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<H1 LANG="en-US" CLASS="western"><A NAME="1.Introduction|outline"></A>
+1Introduction</H1>
+<P LANG="en-US" CLASS="western">The purpose of this document is to
+provide to Papyrus developpers a tutorial explaining how to create
+and add a new plug-in within Papyrus.</P>
+<H1 LANG="en-US" CLASS="western"><A NAME="2.&lt;&lt;&lt;Main chapters&gt;&gt;&gt;|outline"></A>
+2How to create a new plug-in for Papyrus ?</H1>
+<OL>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Create a new plug-in
+ for Papyrus</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_47da22ab.gif" NAME="images5" ALIGN=LEFT WIDTH=318 HEIGHT=194 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_11174b23.png" NAME="images6" ALIGN=LEFT WIDTH=293 HEIGHT=316 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=2>
+ <LI><P LANG="en-US" CLASS="western">Name your new plug-in applying
+ the formating rule: org.eclipse.papyrus.&lt;YourPluginName&gt;</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_ae49080.png" NAME="images4" ALIGN=LEFT WIDTH=353 HEIGHT=410 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=3>
+ <LI><P LANG="en-US" CLASS="western" STYLE="page-break-before: always">
+ Then click on the button <FONT FACE="Consolas, monospace">Finish</FONT><FONT FACE="Times New Roman, serif">.
+ Then the following user interface is displayed:</FONT></P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_3b41e179.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m8c3db26.png" NAME="images13" ALIGN=LEFT WIDTH=326 HEIGHT=400 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_20d7fa65.gif" ALIGN=LEFT><BR><BR>
+</P>
+<OL START=4>
+ <LI><P LANG="en-US" CLASS="western">Set the following properties and
+ then click on the button <FONT FACE="Consolas, monospace">Finish</FONT>.</P>
+</OL>
+<UL>
+ <LI><P LANG="en-US" CLASS="western">Version: 0.7.0.qualifier (The
+ value of this parameter is to set according to the Papyrus version.
+ At the time of the wirting of this documenbt, Papyrus was in version
+ 0.7.0.)</P>
+ <LI><P LANG="en-US" CLASS="western">Name: %pluginName</P>
+ <LI><P LANG="en-US" CLASS="western">Provided: %providerName</P>
+ <LI><P LANG="en-US" CLASS="western">Execution Environment: J2SE-1.5</P>
+</UL>
+<OL START=5>
+ <LI><P LANG="en-US" CLASS="western" STYLE="page-break-before: always">
+ Add a new file named <I>plugin.properties</I> under the plug-in
+ project</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m4922ca4f.gif" NAME="images7" ALIGN=LEFT WIDTH=481 HEIGHT=200 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_6b592bb8.gif" ALIGN=LEFT><BR><BR>
+</P>
+<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>
+ <COL WIDTH=128*>
+ <COL WIDTH=128*>
+ <TR VALIGN=TOP>
+ <TD WIDTH=50%>
+ <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m63a2afcc.png" NAME="images8" ALIGN=LEFT WIDTH=320 HEIGHT=227 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m32cc7b38.gif" ALIGN=LEFT><BR>
+ </P>
+ </TD>
+ <TD WIDTH=50%>
+ <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_mfb4253b.png" NAME="images9" ALIGN=LEFT WIDTH=291 HEIGHT=227 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m4ac5f84a.gif" ALIGN=LEFT><BR>
+ </P>
+ </TD>
+ </TR>
+</TABLE>
+<P LANG="en-US" CLASS="western">You then should get then the
+following result:</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_3ff687e7.png" NAME="images10" ALIGN=LEFT WIDTH=245 HEIGHT=157 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=6>
+ <LI><P LANG="en-US" CLASS="western">Edit the file and add the
+ following text inside. This file is used for defining the variables
+ used in the plug-in definition. In our case, we have previously
+ introduced both following variables, pluginName and providerName.
+ The value set for this variable may be any kind of string. Then do
+ not forget to save the file and you can also close it.</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_2f921d3c.png" NAME="images11" ALIGN=LEFT WIDTH=569 HEIGHT=185 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=6>
+ <LI><P LANG="en-US" CLASS="western">Configure the manifest of the
+ plug-in. For that purpose, open the file named MANIFEST.MF under the
+ folder named META-INF as shown below. In our case, we check the
+ resource folder and plugin.properties file in order these later may
+ be automatically included in the build of the plug-in. Then do not
+ forget to save the file and you can also close it.</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m70e80a0b.png" NAME="images12" ALIGN=LEFT WIDTH=495 HEIGHT=391 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western">Your plug-in is now created and can
+be committed to the Papyrus repository. For that purpose please refer
+to next chpater.</P>
+<H1 LANG="en-US" CLASS="western"><A NAME="3.Summary and conclusion|outline"></A>
+3How to commit a new plug-in within the Papyrus repository?</H1>
+<OL>
+ <LI><P LANG="en-US" CLASS="western">Now, the final step is to commit
+ your new plug-in on the Papyrus svn. For that purpose, select your
+ plug-in in the package explorer and do following action, <I>Team&gt;Share
+ Project..,</I> as shown below.</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m318ea83a.gif" NAME="images14" ALIGN=LEFT WIDTH=386 HEIGHT=329 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=2>
+ <LI><P LANG="en-US" CLASS="western">Then select svn as shown
+ below...</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m2bea2a2a.png" NAME="images15" ALIGN=LEFT WIDTH=318 HEIGHT=210 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=3>
+ <LI><P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_mfc790d3.png" NAME="images16" ALIGN=LEFT WIDTH=534 HEIGHT=205 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_51cd634f.gif" ALIGN=LEFT>&hellip;
+ and next select the Papyrus svn repository.</P>
+</OL>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<OL START=4>
+ <LI><P LANG="en-US" CLASS="western">Finish and then you get the user
+ interface shwon below. You have to select <I>&ldquo;Use mutliple
+ projects ...&rdquo;</I> option in the group named <I>&ldquo;Project
+ Repository Layout&rdquo;</I>. The value to set is depending on the
+ location you want to commit your new plug-in. A priori it is on the
+ trunk of Papyrus, so it should start by &ldquo;/trunk&rdquo; and
+ then you specify the path of the targeted location. In our example,
+ the new plug-in will be committed under the path
+ &ldquo;/trunk/plugins/uml&rdquo;. Then you have also to uncheck the
+ box named &ldquo;Use Subversion recommend layout ...&rdquo;, and
+ then you can press the button <I>Finish</I>.</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_21c4a62a.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_6bd32e21.png" NAME="images17" ALIGN=LEFT WIDTH=476 HEIGHT=402 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=5>
+ <LI><P LANG="en-US" CLASS="western" STYLE="page-break-before: always">
+ Finally, you will get the following last user interface that ask you
+ to enter a comment denoting the new commit. Pressing the button OK,
+ you will have finished the process and your plug-in should be added
+ to the Papyrus svn repository.</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_m5bcfb153.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnCreating&amp;AddingNewPluginInPapyrus_v1.0_d2010-05-07_html_40231f8b.png" NAME="images18" ALIGN=LEFT WIDTH=444 HEIGHT=354 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=6>
+ <LI><P LANG="en-US" CLASS="western">Last step is to check that
+ everything has been done correctly. For that, switch to the svn view
+ and check that your new plug-in has been uploaded correctly and at
+ the right location and close then bug that was attached to that new
+ feature supported by your plug-in.</P>
+</OL>
+<H1 LANG="en-US" CLASS="western"><A NAME="4.References|outline"></A>4References</H1>
+<P LANG="en-US" CLASS="western">N/A.</P>
+<DIV TYPE=FOOTER>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 1.15cm">&#61667;
+ <FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zxx"><I>2009 The
+ Papyrus Consortium </I></SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zxx"><I> </I></SPAN></FONT><SPAN LANG="zxx"><SDFIELD TYPE=PAGE SUBTYPE=RANDOM FORMAT=PAGE>13</SDFIELD></SPAN><SPAN LANG="zxx">/</SPAN><SPAN LANG="zxx"><SDFIELD TYPE=DOCSTAT SUBTYPE=PAGE FORMAT=ARABIC>13</SDFIELD></SPAN></P>
+</DIV>
+</BODY>
</HTML> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.doc/tutorials/PaletteCustomization/PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10.html b/plugins/developer/org.eclipse.papyrus.doc/tutorials/PaletteCustomization/PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10.html
index 18ec732c480..7b536b58d4a 100644
--- a/plugins/developer/org.eclipse.papyrus.doc/tutorials/PaletteCustomization/PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10.html
+++ b/plugins/developer/org.eclipse.papyrus.doc/tutorials/PaletteCustomization/PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10.html
@@ -1,635 +1,635 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
- <TITLE> </TITLE>
- <META NAME="GENERATOR" CONTENT="OpenOffice.org 3.1 (Win32)">
- <META NAME="AUTHOR" CONTENT="S&eacute;bastien G&eacute;rard">
- <META NAME="CREATED" CONTENT="20100507;12382300">
- <META NAME="CHANGEDBY" CONTENT="Scott LEE">
- <META NAME="CHANGED" CONTENT="20100511;16302200">
- <META NAME="Info 1" CONTENT="">
- <META NAME="Info 2" CONTENT="">
- <META NAME="Info 3" CONTENT="">
- <META NAME="Info 4" CONTENT="">
- <STYLE TYPE="text/css">
- <!--
- @page { margin-left: 2.5cm; margin-right: 1.5cm; margin-top: 1.25cm; margin-bottom: 1.25cm }
- P { margin-bottom: 0.21cm; direction: ltr; color: #000000; text-align: justify; widows: 2; orphans: 2 }
- P.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- P.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- P.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }
- P.list-western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- P.list-cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- P.list-ctl { font-family: "Tahoma"; font-size: 10pt; so-language: ar-SA }
- H1 { margin-top: 0cm; margin-bottom: 0.42cm; background: #cccccc; border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding: 0.04cm 0cm; direction: ltr; color: #000000; text-align: left; widows: 2; orphans: 2; page-break-before: always; page-break-after: auto }
- H1.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- H1.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- H1.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA; font-weight: normal }
- H1.heading+no-numbering+new-page-western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- H1.heading+no-numbering+new-page-cjk { font-family: "Times New Roman", serif; font-size: 11pt }
- H1.heading+no-numbering+new-page-ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA; font-weight: normal }
- P.list-1-end-western { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
- P.list-1-end-cjk { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Times New Roman", serif; font-size: 11pt }
- P.list-1-end-ctl { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Tahoma"; font-size: 10pt; so-language: ar-SA }
- A:link { color: #0000ff }
- A.sdfootnotesym-western { font-size: 8pt }
- A.sdfootnotesym-cjk { font-size: 8pt }
- -->
- </STYLE>
-</HEAD>
-<BODY LANG="fr-FR" TEXT="#000000" LINK="#0000ff" DIR="LTR">
-<DIV TYPE=HEADER>
- <P LANG="en-GB" CLASS="western" STYLE="margin-top: 0.21cm; margin-bottom: 1.15cm; border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.04cm; padding-left: 0cm; padding-right: 0cm">
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m1e24f929.gif" NAME="images1" ALIGN=LEFT WIDTH=16 HEIGHT=16 BORDER=0><BR CLEAR=LEFT><B> Tutorial
- on Palette Customization in Papyrus Version 1.0</B></P>
-</DIV>
-<TABLE WIDTH=648 BORDER=0 CELLPADDING=6 CELLSPACING=0 STYLE="page-break-before: always">
- <COL WIDTH=636>
- <TR>
- <TD WIDTH=636 HEIGHT=105 VALIGN=TOP>
- <P LANG="zxx" CLASS="western" ALIGN=CENTER><BR><BR>
- </P>
- <P LANG="en-US" ALIGN=CENTER><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m6e3b81b8.png" NAME="images3" ALIGN=LEFT WIDTH=131 HEIGHT=68 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_4ddfcb15.jpg" NAME="images2" ALIGN=LEFT WIDTH=86 HEIGHT=86 BORDER=0><BR CLEAR=LEFT><BR>
- </P>
- </TD>
- </TR>
-</TABLE>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><FONT SIZE=5><B>Papyrus
-Tutorial:</B></FONT></P>
-<P LANG="en-US" CLASS="western" ALIGN=CENTER><FONT SIZE=5><B>How to
-customize a palette in Papyrus?</B></FONT></P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
- <COL WIDTH=175>
- <COL WIDTH=440>
- <TR VALIGN=TOP>
- <TD WIDTH=175>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Editor</P>
- </TD>
- <TD WIDTH=440>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Scott
- Uk-Jin Lee, CEA LIST</P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=175>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Status</P>
- </TD>
- <TD WIDTH=440>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Final
- version</P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=175>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Version
- number</P>
- </TD>
- <TD WIDTH=440>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">1.0</P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=175>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Date of
- preparation</P>
- </TD>
- <TD WIDTH=440>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">2010-05-07</P>
- </TD>
- </TR>
-</TABLE>
-<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Authors</H1>
-<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
- <COL WIDTH=230>
- <COL WIDTH=124>
- <COL WIDTH=188>
- <COL WIDTH=45>
- <TR VALIGN=TOP>
- <TD WIDTH=230 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Editor
- name (first/last name)</B></P>
- </TD>
- <TD WIDTH=124 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Company</B></P>
- </TD>
- <TD WIDTH=188 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>E-mail</B></P>
- </TD>
- <TD WIDTH=45 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Initial</B></P>
- </TD>
- </TR>
- <TR VALIGN=BOTTOM>
- <TD WIDTH=230>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>Scott Uk-Jin Lee</FONT></FONT></P>
- </TD>
- <TD WIDTH=124>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>CEA LIST</FONT></FONT></P>
- </TD>
- <TD WIDTH=188>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2><A HREF="mailto:scott.lee@cea.fr">scott.lee@cea.fr</A></FONT></FONT></P>
- </TD>
- <TD WIDTH=45>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm">SL</P>
- </TD>
- </TR>
-</TABLE>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
- <COL WIDTH=230>
- <COL WIDTH=124>
- <COL WIDTH=188>
- <COL WIDTH=45>
- <TR VALIGN=TOP>
- <TD WIDTH=230 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Authors name (first/last name)</B></P>
- </TD>
- <TD WIDTH=124 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Company</B></P>
- </TD>
- <TD WIDTH=188 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>E-mail</B></P>
- </TD>
- <TD WIDTH=45 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Initial</B></P>
- </TD>
- </TR>
- <TR VALIGN=BOTTOM>
- <TD WIDTH=230>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>Hubert Dubois</FONT></FONT></P>
- </TD>
- <TD WIDTH=124>
- <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>CEA LIST</FONT></FONT></P>
- </TD>
- <TD WIDTH=188>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2><A HREF="mailto:Sebastien.gerard@cea.fr">hubert.dubois@cea.fr</A></FONT></FONT></P>
- </TD>
- <TD WIDTH=45>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm">HD</P>
- </TD>
- </TR>
-</TABLE>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Revision
-chart and history log</H1>
-<TABLE WIDTH=636 BORDER=0 CELLPADDING=7 CELLSPACING=0>
- <COL WIDTH=62>
- <COL WIDTH=83>
- <COL WIDTH=449>
- <TR VALIGN=TOP>
- <TD WIDTH=62 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Version </B>
- </P>
- </TD>
- <TD WIDTH=83 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Date</B></P>
- </TD>
- <TD WIDTH=449 BGCOLOR="#ffff99">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
- <B>Reasons</B></P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>1.0</FONT></FONT></P>
- </TD>
- <TD WIDTH=83 SDVAL="40308" SDNUM="1036;0;JJ/MM/AA">
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>10/05/10</FONT></FONT></P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <FONT FACE="Arial, sans-serif"><FONT SIZE=2>Initial contribution.</FONT></FONT></P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- </TR>
- <TR VALIGN=TOP>
- <TD WIDTH=62>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=83>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- <TD WIDTH=449>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
- <BR>
- </P>
- </TD>
- </TR>
-</TABLE>
-<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Table
-of contents</H1>
-<DIV ID="Table of Contents1" DIR="LTR">
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Authors 2</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Revision
- chart and history log 3</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Table
- of contents 4</FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#1.Introduction|outline">1
-
- Introduction.....................................................................................................................................................5</A></FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#2.How to customize palette for Papyrus _|outline">2
- Palette Customization in Papyrus
- &hellip;...............................................................................................................6</A></FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#3.Application of customized palette to Papyrus Plug-ins|outline">3
- Application of customized palette to Papyrus plug-ins
- &hellip;.............................................................................12</A></FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#4.FAQs|outline">4
- FAQs
- &hellip;........................................................................................................................................................17</A></FONT></P>
- <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#4.References|outline">5
- References 18</A></FONT></P>
-</DIV>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<H1 LANG="en-US" CLASS="western"><A NAME="1.Introduction|outline"></A>
-1Introduction</H1>
-<P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY>The purpose of this
-document is to provide a tutorial for Papyrus users and developers,
-explaining the followings:
-</P>
-<UL>
- <UL>
- <LI><P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY>how to customize
- a palette in Papyrus</P>
- <LI><P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY>how to apply
- customized palette in Papyrus plug-ins</P>
- </UL>
-</UL>
-<P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY><BR><BR>
-</P>
-<P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY>A palette is a
-collection of UML elements available for a particular diagram. It is
-located on the right hand side of the Papyrus diagram editor as shown
-below. The palette allows convenient construction of a particular UML
-diagram.
-</P>
-<P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_7bb211b8.jpg" NAME="graphics1" ALIGN=LEFT WIDTH=642 HEIGHT=547 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_78f85dd6.gif" ALIGN=LEFT><BR><BR>
-</P>
-<H1 LANG="en-US" CLASS="western"><A NAME="2.How to customize palette for Papyrus _|outline"></A>
-2How to customize palette for Papyrus ?</H1>
-<OL>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Right click on the
- palette toolbar and select 'Customize...'</P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_2de6511e.jpg" NAME="graphics2" ALIGN=LEFT WIDTH=358 HEIGHT=173 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<OL START=2>
- <LI><P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_3ee63c30.jpg" NAME="graphics3" ALIGN=LEFT WIDTH=608 HEIGHT=291 BORDER=0>The
- 'Customize Palette' pop-up appears. Select 'Create a new local
- Palette' icon as indicated below.</P>
- <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m5b16696f.gif" ALIGN=LEFT></P>
- <LI><P LANG="en-US" CLASS="western"><FONT FACE="Arial, sans-serif">The
- 'Local Palette Information' pop-up is displayed. Type the name of
- the new Local Palette to be customized and click 'Next'.</FONT></P>
- <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_1a7383ef.jpg" NAME="graphics4" ALIGN=LEFT WIDTH=367 HEIGHT=239 BORDER=0><BR CLEAR=LEFT></P>
- <P LANG="en-US" CLASS="western"></P>
- <LI><P LANG="en-US" CLASS="western"><FONT FACE="Arial, sans-serif">The
- customization menu for the new Local Palette then appears as shown
- below. This menu allows customize the Local Palette with drawers,
- separators and UML elements. The UML elements can be renamed and
- assigned with custom icons. </FONT>
- </P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_411962d6.jpg" NAME="graphics5" ALIGN=LEFT WIDTH=617 HEIGHT=333 BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<OL START=5>
- <LI><P LANG="en-US" CLASS="western">Create a new drawer with the
- indicated button as shown below. When the 'Dialog Information Page'
- pop-up appears, type the name of the new drawer and click 'Finish'.
- Similarly, appropriate buttons can be utilized to rename or remove
- the drawer.
- </P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m5a174047.jpg" NAME="graphics6" ALIGN=LEFT WIDTH=618 HEIGHT=319 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m2a5d1838.gif" ALIGN=LEFT><BR><BR>
-</P>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<P LANG="en-GB" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m2d88bdd2.gif" ALIGN=LEFT><BR><BR>
-</P>
-<OL START=5>
- <P LANG="en-GB" CLASS="western" STYLE="margin-right: 0.09cm"></P>
- <LI><P LANG="en-GB" CLASS="western" STYLE="margin-right: 0.09cm">Add
- appropriate elements to the highlighted drawer in the local Palette
- by selecting the element to be added and clicking the right-arrow as
- shown below.</P>
-</OL>
-<P LANG="en-GB" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_4b33db00.jpg" NAME="graphics7" ALIGN=LEFT WIDTH=600 HEIGHT=373 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m1612afc0.gif" ALIGN=LEFT><BR><BR>
-</P>
-<OL START=7>
- <LI><P LANG="en-GB" CLASS="western">Customize name, description and
- icons for the added elements by selecting the added element and
- changing the information on the text fields of 'Entry Information:'
- as shown below.
- </P>
- <P LANG="en-GB" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_1f1d26a1.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m7a8be963.jpg" NAME="graphics8" ALIGN=LEFT WIDTH=606 HEIGHT=397 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m4a6d66e1.gif" ALIGN=LEFT></P>
- <P LANG="en-US" CLASS="western"></P>
- <LI><P LANG="en-US" CLASS="western">Add separators between elements
- in a drawer if necessary by selecting the element and clicking the
- indicated button as shown below. Note that the separator will be
- created below the selected element.
- </P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_74c8281f.jpg" NAME="graphics9" ALIGN=LEFT WIDTH=604 HEIGHT=374 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m62c1dd5.gif" ALIGN=LEFT><BR><BR>
-</P>
-<OL START=9>
- <LI><P LANG="en-US" CLASS="western">Customize the added elements
- with profile by applying stereotype to the element. First, click on
- the indicated button and select 'Set list of applied stereotypes'.</P>
- <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_6b592bb8.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_68bae2f2.jpg" NAME="graphics10" ALIGN=LEFT WIDTH=613 HEIGHT=382 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m62c1dd5.gif" ALIGN=LEFT></P>
- <P LANG="en-US" CLASS="western">Then, apply stereotype to the
- element by using the button indicated below and selecting the
- appropriate stereotype from the 'Stereotype selection' pop-up.
- </P>
-</OL>
-<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m4d2642df.jpg" NAME="graphics11" ALIGN=LEFT WIDTH=613 HEIGHT=387 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m62c1dd5.gif" ALIGN=LEFT><FONT COLOR="#ff0000"> *
-Note: The profile must be applied on the model that consists of the
-diagram with the palette to be customized prior to applying the
-stereotype.</FONT></P>
-<OL START=10>
- <LI><P LANG="en-US" CLASS="western">When the stereotypes to be
- applied are selected click 'ok'. The applied stereotypes are
- displayed as indicated below.
- </P>
- <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_fa9f27c.jpg" NAME="graphics12" ALIGN=LEFT WIDTH=618 HEIGHT=397 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_2e60cc27.gif" ALIGN=LEFT>
- </P>
- <P LANG="en-US" CLASS="western"></P>
- <LI><P LANG="en-US" CLASS="western">Add all the elements and apply
- appropriate stereotypes to complete the palette customization and
- click 'finish' button. Then the 'Customize Palette' pop-up reappears
- as shown below. Select only the palette to be displayed, then click
- 'ok'.</P>
- <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m4995407d.jpg" NAME="graphics13" ALIGN=LEFT WIDTH=588 HEIGHT=271 BORDER=0><BR CLEAR=LEFT></P>
- <LI><P LANG="en-US" CLASS="western">The palette customization is
- successfully finished indicating that the customized palette appears
- in the diagram editor as indicated below.
- </P>
- <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_524be928.jpg" NAME="graphics14" ALIGN=LEFT WIDTH=618 HEIGHT=432 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m1abb7658.gif" ALIGN=LEFT></P>
- <P LANG="en-US" CLASS="western"></P>
-</OL>
-<P LANG="en-US" CLASS="western"><BR><BR>
-</P>
-<H1 LANG="en-US" CLASS="western"><A NAME="3.Application of customized palette to Papyrus Plug-ins|outline"></A>
-3Application of customized palette to Papyrus Plug-ins</H1>
-<OL>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Once the palette is
- customized, go to the Papyrus workspace folder and navigate to the
- '\.metadata\.plugins\org.eclipse.papyrus.diagram.common' folder as
- shown below.
- </P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m79877ecd.jpg" NAME="graphics17" ALIGN=LEFT WIDTH=576 HEIGHT=200 BORDER=0><BR CLEAR=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Copy the XML file
- containing the palette customization information which has the name
- in the form of 'Palette_[UserName]_[numbers].xml'. (Note: XML file
- is created every time the new local palette is created for
- customization. So, copy the correct XML file that you want.)
- </P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m70da181d.jpg" NAME="graphics15" ALIGN=LEFT WIDTH=575 HEIGHT=199 BORDER=0><BR CLEAR=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">In the plug in that
- you want to apply customized palette, create folder with the name
- 'palettes'. In the created folder, paste the copied XML file and
- rename the file with '[Name].Palette.xml' format.
- </P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m21556a07.jpg" NAME="graphics16" ALIGN=LEFT WIDTH=447 HEIGHT=257 BORDER=0><BR CLEAR=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Open 'plug-in.xml'
- file. If the 'plug-in.xml' file is not yet generated, open
- 'MANIFEST.MF' file from 'META-INF' folder. Then, go to the
- 'dependencies' tab and click 'add' button to add required plug-ins
- as shown below.</P>
-</OL>
-<IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_76021fdc.jpg" NAME="graphics18" ALIGN=LEFT WIDTH=604 HEIGHT=386 BORDER=0><BR CLEAR=LEFT>
-<IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_23e9525f.gif" ALIGN=LEFT>
-<IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m35c81750.gif" ALIGN=LEFT>
-<P LANG="en-US" CLASS="list-1-end-western"><BR><BR>
-</P>
-<OL START=5>
- <LI><P LANG="en-US" CLASS="list-1-end-western">When 'Plug-in
- Selection' pop up appears as shown below, add
- 'org.eclipse.papyrus.diagram.common' plug-in as shown below.</P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m13347fb5.jpg" NAME="graphics19" ALIGN=LEFT WIDTH=548 HEIGHT=259 BORDER=0><BR CLEAR=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Similarly, go to the
- 'extension' tab and click 'Add' button. When the 'New Extension'
- pop-up appears as shown below, type 'paletteDefinition' at the
- 'Extension Point filter:' text field. Select
- 'org.eclipse.papyrus.diagram.common.paletteDefinition' and click
- 'Finish'.</P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_48d1d34a.jpg" NAME="graphics20" ALIGN=LEFT WIDTH=373 HEIGHT=393 BORDER=0><BR CLEAR=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Then the extension
- element is added under the extension point as shown below. Click
- extension element and set its 'name' and 'ID'. Also, set the 'path'
- to the path of the custom palette XML file,
- '/palettes/paletteName.Palette.xml'. For the 'class' setting, browse
- 'org.eclipse.papyrus.diagram.common.service.PluginPaletteProvider'
- class and select. For the 'icon' setting, eclipse icon can be reused
- by typing location of the Eclipse icon which is
- 'platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif'.</P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_mf9df094.jpg" NAME="graphics21" ALIGN=LEFT WIDTH=630 HEIGHT=322 BORDER=0><BR CLEAR=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Expand
- 'paletteDefinition' extension element, and click on the 'Priority'
- as indicated below. Then, set appropriate priority on the 'Extension
- Element Details' column.</P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_555bbb5d.gif" NAME="graphics22" ALIGN=LEFT WIDTH=618 HEIGHT=310 BORDER=0><BR CLEAR=LEFT>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_3dc01309.gif" ALIGN=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"><FONT COLOR="#ff0000">*
- Note: When the elements in the custom palette is shared with other
- palettes in the diagram editor, only the palette with higher
- priority will display the elements under its drawer. So, make sure
- to set the priority appropriately for the elements to appear in the
- desired palette.</FONT></P>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Right click on the
- added 'paletteDefinition' Extension and add new editor as shown
- below.
- </P>
-</OL>
-<IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_7c8e723e.jpg" NAME="graphics23" ALIGN=LEFT WIDTH=618 HEIGHT=310 BORDER=0><BR CLEAR=LEFT>
-<P LANG="en-US" CLASS="list-1-end-western"><BR><BR>
-</P>
-<P LANG="en-US" CLASS="list-1-end-western"><BR><BR>
-</P>
-<OL START=9>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Select the newly
- added editor and set appropriate 'id' of the editor where the custom
- palette is to be applied to. For example,
- 'org.eclipse.papyrus.diagram.clazz' for the class diagram as shown
- below.
- </P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_190000d0.jpg" NAME="graphics24" ALIGN=LEFT WIDTH=598 HEIGHT=296 BORDER=0><BR CLEAR=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
- <LI><P LANG="en-US" CLASS="list-1-end-western">Now when the plug-in
- is launched, the custom palette automatically appears for the
- selected diagram editor. For example, the custom palette for class
- diagram editor appears as shown below.
- </P>
- <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m33dcfb72.jpg" NAME="graphics25" ALIGN=LEFT WIDTH=607 HEIGHT=445 BORDER=0><BR CLEAR=LEFT>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
-</OL>
-<H1 LANG="en-US" CLASS="western"><A NAME="4.FAQs|outline"></A>4FAQs</H1>
-<OL>
- <LI><P LANG="en-US" CLASS="western">Why can I not see the
- stereotypes applicable to the added elements when customizing a
- palette?</P>
-</OL>
-<UL>
- <LI><P LANG="en-US" CLASS="western">This is because the profile,
- where the stereotypes are defined, is not applied to the model.
- Apply appropriate profile to the model that consists of the diagram
- with the palette to be customized. Then, the stereotype will be
- accessible during the palette customization.</P>
-</UL>
-<OL>
- <P LANG="en-US" CLASS="western"></P>
- <LI><P LANG="en-US" CLASS="western">Why are the customized elements
- do not appear in the customized palette when the palette
- customization is applied to a Papyrus plug-in?
- </P>
-</OL>
-<UL>
- <LI><P LANG="en-US" CLASS="western">This is because the priority of
- the customized palette is lower than other palettes of the selected
- diagram editor. Apply higher priority to the customized palette
- through the 'paletteDefinition' extension. (refer to 8 in page 15)</P>
- <P LANG="en-US" CLASS="list-1-end-western"></P>
-</UL>
-<H1 LANG="en-US" CLASS="western"><A NAME="4.References|outline"></A>5References</H1>
-<P LANG="en-US" CLASS="western">N/A.</P>
-<DIV TYPE=FOOTER>
- <P LANG="en-US" CLASS="western" STYLE="margin-top: 1.15cm">&#61667;
- <FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zxx"><I>2009 The
- Papyrus Consortium </I></SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zxx"><I> </I></SPAN></FONT><SPAN LANG="zxx"><SDFIELD TYPE=PAGE SUBTYPE=RANDOM FORMAT=PAGE>19</SDFIELD></SPAN><SPAN LANG="zxx">/</SPAN><SPAN LANG="zxx"><SDFIELD TYPE=DOCSTAT SUBTYPE=PAGE FORMAT=ARABIC>19</SDFIELD></SPAN></P>
-</DIV>
-</BODY>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+ <TITLE> </TITLE>
+ <META NAME="GENERATOR" CONTENT="OpenOffice.org 3.1 (Win32)">
+ <META NAME="AUTHOR" CONTENT="S&eacute;bastien G&eacute;rard">
+ <META NAME="CREATED" CONTENT="20100507;12382300">
+ <META NAME="CHANGEDBY" CONTENT="Scott LEE">
+ <META NAME="CHANGED" CONTENT="20100511;16302200">
+ <META NAME="Info 1" CONTENT="">
+ <META NAME="Info 2" CONTENT="">
+ <META NAME="Info 3" CONTENT="">
+ <META NAME="Info 4" CONTENT="">
+ <STYLE TYPE="text/css">
+ <!--
+ @page { margin-left: 2.5cm; margin-right: 1.5cm; margin-top: 1.25cm; margin-bottom: 1.25cm }
+ P { margin-bottom: 0.21cm; direction: ltr; color: #000000; text-align: justify; widows: 2; orphans: 2 }
+ P.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ P.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ P.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA }
+ P.list-western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ P.list-cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ P.list-ctl { font-family: "Tahoma"; font-size: 10pt; so-language: ar-SA }
+ H1 { margin-top: 0cm; margin-bottom: 0.42cm; background: #cccccc; border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding: 0.04cm 0cm; direction: ltr; color: #000000; text-align: left; widows: 2; orphans: 2; page-break-before: always; page-break-after: auto }
+ H1.western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ H1.cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ H1.ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA; font-weight: normal }
+ H1.heading+no-numbering+new-page-western { font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ H1.heading+no-numbering+new-page-cjk { font-family: "Times New Roman", serif; font-size: 11pt }
+ H1.heading+no-numbering+new-page-ctl { font-family: "Times New Roman", serif; font-size: 10pt; so-language: ar-SA; font-weight: normal }
+ P.list-1-end-western { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Arial", sans-serif; font-size: 11pt; so-language: en-US }
+ P.list-1-end-cjk { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Times New Roman", serif; font-size: 11pt }
+ P.list-1-end-ctl { margin-left: 0.64cm; text-indent: -0.64cm; margin-bottom: 0.42cm; font-family: "Tahoma"; font-size: 10pt; so-language: ar-SA }
+ A:link { color: #0000ff }
+ A.sdfootnotesym-western { font-size: 8pt }
+ A.sdfootnotesym-cjk { font-size: 8pt }
+ -->
+ </STYLE>
+</HEAD>
+<BODY LANG="fr-FR" TEXT="#000000" LINK="#0000ff" DIR="LTR">
+<DIV TYPE=HEADER>
+ <P LANG="en-GB" CLASS="western" STYLE="margin-top: 0.21cm; margin-bottom: 1.15cm; border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.04cm; padding-left: 0cm; padding-right: 0cm">
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m1e24f929.gif" NAME="images1" ALIGN=LEFT WIDTH=16 HEIGHT=16 BORDER=0><BR CLEAR=LEFT><B> Tutorial
+ on Palette Customization in Papyrus Version 1.0</B></P>
+</DIV>
+<TABLE WIDTH=648 BORDER=0 CELLPADDING=6 CELLSPACING=0 STYLE="page-break-before: always">
+ <COL WIDTH=636>
+ <TR>
+ <TD WIDTH=636 HEIGHT=105 VALIGN=TOP>
+ <P LANG="zxx" CLASS="western" ALIGN=CENTER><BR><BR>
+ </P>
+ <P LANG="en-US" ALIGN=CENTER><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m6e3b81b8.png" NAME="images3" ALIGN=LEFT WIDTH=131 HEIGHT=68 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_4ddfcb15.jpg" NAME="images2" ALIGN=LEFT WIDTH=86 HEIGHT=86 BORDER=0><BR CLEAR=LEFT><BR>
+ </P>
+ </TD>
+ </TR>
+</TABLE>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><FONT SIZE=5><B>Papyrus
+Tutorial:</B></FONT></P>
+<P LANG="en-US" CLASS="western" ALIGN=CENTER><FONT SIZE=5><B>How to
+customize a palette in Papyrus?</B></FONT></P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
+ <COL WIDTH=175>
+ <COL WIDTH=440>
+ <TR VALIGN=TOP>
+ <TD WIDTH=175>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Editor</P>
+ </TD>
+ <TD WIDTH=440>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Scott
+ Uk-Jin Lee, CEA LIST</P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=175>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Status</P>
+ </TD>
+ <TD WIDTH=440>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Final
+ version</P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=175>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Version
+ number</P>
+ </TD>
+ <TD WIDTH=440>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">1.0</P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=175>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">Date of
+ preparation</P>
+ </TD>
+ <TD WIDTH=440>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm">2010-05-07</P>
+ </TD>
+ </TR>
+</TABLE>
+<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Authors</H1>
+<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
+ <COL WIDTH=230>
+ <COL WIDTH=124>
+ <COL WIDTH=188>
+ <COL WIDTH=45>
+ <TR VALIGN=TOP>
+ <TD WIDTH=230 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Editor
+ name (first/last name)</B></P>
+ </TD>
+ <TD WIDTH=124 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Company</B></P>
+ </TD>
+ <TD WIDTH=188 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>E-mail</B></P>
+ </TD>
+ <TD WIDTH=45 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm"><B>Initial</B></P>
+ </TD>
+ </TR>
+ <TR VALIGN=BOTTOM>
+ <TD WIDTH=230>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>Scott Uk-Jin Lee</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=124>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>CEA LIST</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=188>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2><A HREF="mailto:scott.lee@cea.fr">scott.lee@cea.fr</A></FONT></FONT></P>
+ </TD>
+ <TD WIDTH=45>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm">SL</P>
+ </TD>
+ </TR>
+</TABLE>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<TABLE WIDTH=643 BORDER=0 CELLPADDING=7 CELLSPACING=0>
+ <COL WIDTH=230>
+ <COL WIDTH=124>
+ <COL WIDTH=188>
+ <COL WIDTH=45>
+ <TR VALIGN=TOP>
+ <TD WIDTH=230 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Authors name (first/last name)</B></P>
+ </TD>
+ <TD WIDTH=124 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Company</B></P>
+ </TD>
+ <TD WIDTH=188 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>E-mail</B></P>
+ </TD>
+ <TD WIDTH=45 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Initial</B></P>
+ </TD>
+ </TR>
+ <TR VALIGN=BOTTOM>
+ <TD WIDTH=230>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>Hubert Dubois</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=124>
+ <P LANG="zxx" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>CEA LIST</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=188>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2><A HREF="mailto:Sebastien.gerard@cea.fr">hubert.dubois@cea.fr</A></FONT></FONT></P>
+ </TD>
+ <TD WIDTH=45>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm">HD</P>
+ </TD>
+ </TR>
+</TABLE>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Revision
+chart and history log</H1>
+<TABLE WIDTH=636 BORDER=0 CELLPADDING=7 CELLSPACING=0>
+ <COL WIDTH=62>
+ <COL WIDTH=83>
+ <COL WIDTH=449>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Version </B>
+ </P>
+ </TD>
+ <TD WIDTH=83 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Date</B></P>
+ </TD>
+ <TD WIDTH=449 BGCOLOR="#ffff99">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.2cm; background: #ffff99">
+ <B>Reasons</B></P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>1.0</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=83 SDVAL="40308" SDNUM="1036;0;JJ/MM/AA">
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>10/05/10</FONT></FONT></P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <FONT FACE="Arial, sans-serif"><FONT SIZE=2>Initial contribution.</FONT></FONT></P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ </TR>
+ <TR VALIGN=TOP>
+ <TD WIDTH=62>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=83>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ <TD WIDTH=449>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 0.1cm; font-weight: normal">
+ <BR>
+ </P>
+ </TD>
+ </TR>
+</TABLE>
+<H1 LANG="en-US" CLASS="heading+no-numbering+new-page-western">Table
+of contents</H1>
+<DIV ID="Table of Contents1" DIR="LTR">
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Authors 2</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Revision
+ chart and history log 3</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"> <FONT SIZE=2>Table
+ of contents 4</FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#1.Introduction|outline">1
+
+ Introduction.....................................................................................................................................................5</A></FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#2.How to customize palette for Papyrus _|outline">2
+ Palette Customization in Papyrus
+ &hellip;...............................................................................................................6</A></FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#3.Application of customized palette to Papyrus Plug-ins|outline">3
+ Application of customized palette to Papyrus plug-ins
+ &hellip;.............................................................................12</A></FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#4.FAQs|outline">4
+ FAQs
+ &hellip;........................................................................................................................................................17</A></FONT></P>
+ <P LANG="en-US" ALIGN=LEFT STYLE="margin-top: 0.21cm"><FONT SIZE=2><A HREF="#4.References|outline">5
+ References 18</A></FONT></P>
+</DIV>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<H1 LANG="en-US" CLASS="western"><A NAME="1.Introduction|outline"></A>
+1Introduction</H1>
+<P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY>The purpose of this
+document is to provide a tutorial for Papyrus users and developers,
+explaining the followings:
+</P>
+<UL>
+ <UL>
+ <LI><P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY>how to customize
+ a palette in Papyrus</P>
+ <LI><P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY>how to apply
+ customized palette in Papyrus plug-ins</P>
+ </UL>
+</UL>
+<P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY><BR><BR>
+</P>
+<P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY>A palette is a
+collection of UML elements available for a particular diagram. It is
+located on the right hand side of the Papyrus diagram editor as shown
+below. The palette allows convenient construction of a particular UML
+diagram.
+</P>
+<P LANG="en-GB" CLASS="western" ALIGN=JUSTIFY><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_7bb211b8.jpg" NAME="graphics1" ALIGN=LEFT WIDTH=642 HEIGHT=547 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_78f85dd6.gif" ALIGN=LEFT><BR><BR>
+</P>
+<H1 LANG="en-US" CLASS="western"><A NAME="2.How to customize palette for Papyrus _|outline"></A>
+2How to customize palette for Papyrus ?</H1>
+<OL>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Right click on the
+ palette toolbar and select 'Customize...'</P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_2de6511e.jpg" NAME="graphics2" ALIGN=LEFT WIDTH=358 HEIGHT=173 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<OL START=2>
+ <LI><P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_3ee63c30.jpg" NAME="graphics3" ALIGN=LEFT WIDTH=608 HEIGHT=291 BORDER=0>The
+ 'Customize Palette' pop-up appears. Select 'Create a new local
+ Palette' icon as indicated below.</P>
+ <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m5b16696f.gif" ALIGN=LEFT></P>
+ <LI><P LANG="en-US" CLASS="western"><FONT FACE="Arial, sans-serif">The
+ 'Local Palette Information' pop-up is displayed. Type the name of
+ the new Local Palette to be customized and click 'Next'.</FONT></P>
+ <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_1a7383ef.jpg" NAME="graphics4" ALIGN=LEFT WIDTH=367 HEIGHT=239 BORDER=0><BR CLEAR=LEFT></P>
+ <P LANG="en-US" CLASS="western"></P>
+ <LI><P LANG="en-US" CLASS="western"><FONT FACE="Arial, sans-serif">The
+ customization menu for the new Local Palette then appears as shown
+ below. This menu allows customize the Local Palette with drawers,
+ separators and UML elements. The UML elements can be renamed and
+ assigned with custom icons. </FONT>
+ </P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_411962d6.jpg" NAME="graphics5" ALIGN=LEFT WIDTH=617 HEIGHT=333 BORDER=0><BR CLEAR=LEFT><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<OL START=5>
+ <LI><P LANG="en-US" CLASS="western">Create a new drawer with the
+ indicated button as shown below. When the 'Dialog Information Page'
+ pop-up appears, type the name of the new drawer and click 'Finish'.
+ Similarly, appropriate buttons can be utilized to rename or remove
+ the drawer.
+ </P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m5a174047.jpg" NAME="graphics6" ALIGN=LEFT WIDTH=618 HEIGHT=319 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m2a5d1838.gif" ALIGN=LEFT><BR><BR>
+</P>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<P LANG="en-GB" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m2d88bdd2.gif" ALIGN=LEFT><BR><BR>
+</P>
+<OL START=5>
+ <P LANG="en-GB" CLASS="western" STYLE="margin-right: 0.09cm"></P>
+ <LI><P LANG="en-GB" CLASS="western" STYLE="margin-right: 0.09cm">Add
+ appropriate elements to the highlighted drawer in the local Palette
+ by selecting the element to be added and clicking the right-arrow as
+ shown below.</P>
+</OL>
+<P LANG="en-GB" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_4b33db00.jpg" NAME="graphics7" ALIGN=LEFT WIDTH=600 HEIGHT=373 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m1612afc0.gif" ALIGN=LEFT><BR><BR>
+</P>
+<OL START=7>
+ <LI><P LANG="en-GB" CLASS="western">Customize name, description and
+ icons for the added elements by selecting the added element and
+ changing the information on the text fields of 'Entry Information:'
+ as shown below.
+ </P>
+ <P LANG="en-GB" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_1f1d26a1.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m7a8be963.jpg" NAME="graphics8" ALIGN=LEFT WIDTH=606 HEIGHT=397 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m4a6d66e1.gif" ALIGN=LEFT></P>
+ <P LANG="en-US" CLASS="western"></P>
+ <LI><P LANG="en-US" CLASS="western">Add separators between elements
+ in a drawer if necessary by selecting the element and clicking the
+ indicated button as shown below. Note that the separator will be
+ created below the selected element.
+ </P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_74c8281f.jpg" NAME="graphics9" ALIGN=LEFT WIDTH=604 HEIGHT=374 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m62c1dd5.gif" ALIGN=LEFT><BR><BR>
+</P>
+<OL START=9>
+ <LI><P LANG="en-US" CLASS="western">Customize the added elements
+ with profile by applying stereotype to the element. First, click on
+ the indicated button and select 'Set list of applied stereotypes'.</P>
+ <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_6b592bb8.gif" ALIGN=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_68bae2f2.jpg" NAME="graphics10" ALIGN=LEFT WIDTH=613 HEIGHT=382 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m62c1dd5.gif" ALIGN=LEFT></P>
+ <P LANG="en-US" CLASS="western">Then, apply stereotype to the
+ element by using the button indicated below and selecting the
+ appropriate stereotype from the 'Stereotype selection' pop-up.
+ </P>
+</OL>
+<P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m4d2642df.jpg" NAME="graphics11" ALIGN=LEFT WIDTH=613 HEIGHT=387 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m62c1dd5.gif" ALIGN=LEFT><FONT COLOR="#ff0000"> *
+Note: The profile must be applied on the model that consists of the
+diagram with the palette to be customized prior to applying the
+stereotype.</FONT></P>
+<OL START=10>
+ <LI><P LANG="en-US" CLASS="western">When the stereotypes to be
+ applied are selected click 'ok'. The applied stereotypes are
+ displayed as indicated below.
+ </P>
+ <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_fa9f27c.jpg" NAME="graphics12" ALIGN=LEFT WIDTH=618 HEIGHT=397 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_2e60cc27.gif" ALIGN=LEFT>
+ </P>
+ <P LANG="en-US" CLASS="western"></P>
+ <LI><P LANG="en-US" CLASS="western">Add all the elements and apply
+ appropriate stereotypes to complete the palette customization and
+ click 'finish' button. Then the 'Customize Palette' pop-up reappears
+ as shown below. Select only the palette to be displayed, then click
+ 'ok'.</P>
+ <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m4995407d.jpg" NAME="graphics13" ALIGN=LEFT WIDTH=588 HEIGHT=271 BORDER=0><BR CLEAR=LEFT></P>
+ <LI><P LANG="en-US" CLASS="western">The palette customization is
+ successfully finished indicating that the customized palette appears
+ in the diagram editor as indicated below.
+ </P>
+ <P LANG="en-US" CLASS="western"><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_524be928.jpg" NAME="graphics14" ALIGN=LEFT WIDTH=618 HEIGHT=432 BORDER=0><BR CLEAR=LEFT><IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m1abb7658.gif" ALIGN=LEFT></P>
+ <P LANG="en-US" CLASS="western"></P>
+</OL>
+<P LANG="en-US" CLASS="western"><BR><BR>
+</P>
+<H1 LANG="en-US" CLASS="western"><A NAME="3.Application of customized palette to Papyrus Plug-ins|outline"></A>
+3Application of customized palette to Papyrus Plug-ins</H1>
+<OL>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Once the palette is
+ customized, go to the Papyrus workspace folder and navigate to the
+ '\.metadata\.plugins\org.eclipse.papyrus.diagram.common' folder as
+ shown below.
+ </P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m79877ecd.jpg" NAME="graphics17" ALIGN=LEFT WIDTH=576 HEIGHT=200 BORDER=0><BR CLEAR=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Copy the XML file
+ containing the palette customization information which has the name
+ in the form of 'Palette_[UserName]_[numbers].xml'. (Note: XML file
+ is created every time the new local palette is created for
+ customization. So, copy the correct XML file that you want.)
+ </P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m70da181d.jpg" NAME="graphics15" ALIGN=LEFT WIDTH=575 HEIGHT=199 BORDER=0><BR CLEAR=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">In the plug in that
+ you want to apply customized palette, create folder with the name
+ 'palettes'. In the created folder, paste the copied XML file and
+ rename the file with '[Name].Palette.xml' format.
+ </P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m21556a07.jpg" NAME="graphics16" ALIGN=LEFT WIDTH=447 HEIGHT=257 BORDER=0><BR CLEAR=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Open 'plug-in.xml'
+ file. If the 'plug-in.xml' file is not yet generated, open
+ 'MANIFEST.MF' file from 'META-INF' folder. Then, go to the
+ 'dependencies' tab and click 'add' button to add required plug-ins
+ as shown below.</P>
+</OL>
+<IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_76021fdc.jpg" NAME="graphics18" ALIGN=LEFT WIDTH=604 HEIGHT=386 BORDER=0><BR CLEAR=LEFT>
+<IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_23e9525f.gif" ALIGN=LEFT>
+<IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m35c81750.gif" ALIGN=LEFT>
+<P LANG="en-US" CLASS="list-1-end-western"><BR><BR>
+</P>
+<OL START=5>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">When 'Plug-in
+ Selection' pop up appears as shown below, add
+ 'org.eclipse.papyrus.diagram.common' plug-in as shown below.</P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m13347fb5.jpg" NAME="graphics19" ALIGN=LEFT WIDTH=548 HEIGHT=259 BORDER=0><BR CLEAR=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Similarly, go to the
+ 'extension' tab and click 'Add' button. When the 'New Extension'
+ pop-up appears as shown below, type 'paletteDefinition' at the
+ 'Extension Point filter:' text field. Select
+ 'org.eclipse.papyrus.diagram.common.paletteDefinition' and click
+ 'Finish'.</P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_48d1d34a.jpg" NAME="graphics20" ALIGN=LEFT WIDTH=373 HEIGHT=393 BORDER=0><BR CLEAR=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Then the extension
+ element is added under the extension point as shown below. Click
+ extension element and set its 'name' and 'ID'. Also, set the 'path'
+ to the path of the custom palette XML file,
+ '/palettes/paletteName.Palette.xml'. For the 'class' setting, browse
+ 'org.eclipse.papyrus.diagram.common.service.PluginPaletteProvider'
+ class and select. For the 'icon' setting, eclipse icon can be reused
+ by typing location of the Eclipse icon which is
+ 'platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif'.</P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_mf9df094.jpg" NAME="graphics21" ALIGN=LEFT WIDTH=630 HEIGHT=322 BORDER=0><BR CLEAR=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Expand
+ 'paletteDefinition' extension element, and click on the 'Priority'
+ as indicated below. Then, set appropriate priority on the 'Extension
+ Element Details' column.</P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_555bbb5d.gif" NAME="graphics22" ALIGN=LEFT WIDTH=618 HEIGHT=310 BORDER=0><BR CLEAR=LEFT>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_3dc01309.gif" ALIGN=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"><FONT COLOR="#ff0000">*
+ Note: When the elements in the custom palette is shared with other
+ palettes in the diagram editor, only the palette with higher
+ priority will display the elements under its drawer. So, make sure
+ to set the priority appropriately for the elements to appear in the
+ desired palette.</FONT></P>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Right click on the
+ added 'paletteDefinition' Extension and add new editor as shown
+ below.
+ </P>
+</OL>
+<IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_7c8e723e.jpg" NAME="graphics23" ALIGN=LEFT WIDTH=618 HEIGHT=310 BORDER=0><BR CLEAR=LEFT>
+<P LANG="en-US" CLASS="list-1-end-western"><BR><BR>
+</P>
+<P LANG="en-US" CLASS="list-1-end-western"><BR><BR>
+</P>
+<OL START=9>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Select the newly
+ added editor and set appropriate 'id' of the editor where the custom
+ palette is to be applied to. For example,
+ 'org.eclipse.papyrus.diagram.clazz' for the class diagram as shown
+ below.
+ </P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_190000d0.jpg" NAME="graphics24" ALIGN=LEFT WIDTH=598 HEIGHT=296 BORDER=0><BR CLEAR=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+ <LI><P LANG="en-US" CLASS="list-1-end-western">Now when the plug-in
+ is launched, the custom palette automatically appears for the
+ selected diagram editor. For example, the custom palette for class
+ diagram editor appears as shown below.
+ </P>
+ <IMG SRC="PapyrusDevelopperTutorial_OnPaletteCustomization_v1.0_d2010-05-10_html_m33dcfb72.jpg" NAME="graphics25" ALIGN=LEFT WIDTH=607 HEIGHT=445 BORDER=0><BR CLEAR=LEFT>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+</OL>
+<H1 LANG="en-US" CLASS="western"><A NAME="4.FAQs|outline"></A>4FAQs</H1>
+<OL>
+ <LI><P LANG="en-US" CLASS="western">Why can I not see the
+ stereotypes applicable to the added elements when customizing a
+ palette?</P>
+</OL>
+<UL>
+ <LI><P LANG="en-US" CLASS="western">This is because the profile,
+ where the stereotypes are defined, is not applied to the model.
+ Apply appropriate profile to the model that consists of the diagram
+ with the palette to be customized. Then, the stereotype will be
+ accessible during the palette customization.</P>
+</UL>
+<OL>
+ <P LANG="en-US" CLASS="western"></P>
+ <LI><P LANG="en-US" CLASS="western">Why are the customized elements
+ do not appear in the customized palette when the palette
+ customization is applied to a Papyrus plug-in?
+ </P>
+</OL>
+<UL>
+ <LI><P LANG="en-US" CLASS="western">This is because the priority of
+ the customized palette is lower than other palettes of the selected
+ diagram editor. Apply higher priority to the customized palette
+ through the 'paletteDefinition' extension. (refer to 8 in page 15)</P>
+ <P LANG="en-US" CLASS="list-1-end-western"></P>
+</UL>
+<H1 LANG="en-US" CLASS="western"><A NAME="4.References|outline"></A>5References</H1>
+<P LANG="en-US" CLASS="western">N/A.</P>
+<DIV TYPE=FOOTER>
+ <P LANG="en-US" CLASS="western" STYLE="margin-top: 1.15cm">&#61667;
+ <FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zxx"><I>2009 The
+ Papyrus Consortium </I></SPAN></FONT><FONT SIZE=2 STYLE="font-size: 9pt"><SPAN LANG="zxx"><I> </I></SPAN></FONT><SPAN LANG="zxx"><SDFIELD TYPE=PAGE SUBTYPE=RANDOM FORMAT=PAGE>19</SDFIELD></SPAN><SPAN LANG="zxx">/</SPAN><SPAN LANG="zxx"><SDFIELD TYPE=DOCSTAT SUBTYPE=PAGE FORMAT=ARABIC>19</SDFIELD></SPAN></P>
+</DIV>
+</BODY>
</HTML> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture.htm b/plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture.htm
index 349477a6215..84199d94e0d 100644
--- a/plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture.htm
+++ b/plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture.htm
@@ -1,2529 +1,2529 @@
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 11">
-<meta name=Originator content="Microsoft Word 11">
-<link rel=File-List href="sashAndCoreArchitecture_fichiers/filelist.xml">
-<link rel=Edit-Time-Data href="sashAndCoreArchitecture_fichiers/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]-->
-<title>Sash and Core </title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Author>Cedric</o:Author>
- <o:LastAuthor>TF227273</o:LastAuthor>
- <o:Revision>2</o:Revision>
- <o:TotalTime>7777</o:TotalTime>
- <o:LastPrinted>2010-01-22T13:54:00Z</o:LastPrinted>
- <o:Created>2010-06-22T14:54:00Z</o:Created>
- <o:LastSaved>2010-06-22T14:54:00Z</o:LastSaved>
- <o:Pages>1</o:Pages>
- <o:Words>3046</o:Words>
- <o:Characters>16753</o:Characters>
- <o:Company> dream factory</o:Company>
- <o:Lines>139</o:Lines>
- <o:Paragraphs>39</o:Paragraphs>
- <o:CharactersWithSpaces>19760</o:CharactersWithSpaces>
- <o:Version>11.9999</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:View>Print</w:View>
- <w:Zoom>FullPage</w:Zoom>
- <w:GrammarState>Clean</w:GrammarState>
- <w:HyphenationZone>21</w:HyphenationZone>
- <w:ValidateAgainstSchemas/>
- <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
- <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
- <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
- <w:Compatibility>
- <w:BreakWrappedTables/>
- <w:SnapToGridInCell/>
- <w:WrapTextWithPunct/>
- <w:UseAsianBreakRules/>
- <w:UseWord2002TableStyleRules/>
- </w:Compatibility>
- <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
- </w:WordDocument>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
- </w:LatentStyles>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
- @font-face
- {font-family:Wingdings;
- panose-1:5 0 0 0 0 0 0 0 0 0;
- mso-font-charset:2;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
-@font-face
- {font-family:"HG Mincho Light J";
- mso-font-alt:"Times New Roman";
- mso-font-charset:0;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 0 0 0 0 0;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0cm;
- margin-bottom:.0001pt;
- text-align:justify;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-h1
- {mso-style-next:Normal;
- margin-top:12.0pt;
- margin-right:0cm;
- margin-bottom:3.0pt;
- margin-left:18.0pt;
- text-align:justify;
- text-indent:-18.0pt;
- mso-pagination:widow-orphan;
- page-break-after:avoid;
- mso-outline-level:1;
- mso-list:l17 level1 lfo13;
- tab-stops:list 18.0pt;
- font-size:16.0pt;
- font-family:Arial;
- mso-font-kerning:16.0pt;
- mso-fareast-language:EN-US;}
-h2
- {mso-style-next:Normal;
- margin-top:12.0pt;
- margin-right:0cm;
- margin-bottom:3.0pt;
- margin-left:39.6pt;
- text-align:justify;
- text-indent:-21.6pt;
- mso-pagination:widow-orphan;
- page-break-after:avoid;
- mso-outline-level:2;
- mso-list:l17 level2 lfo13;
- tab-stops:list 54.0pt;
- font-size:14.0pt;
- font-family:Arial;
- mso-fareast-language:EN-US;
- font-style:italic;}
-h3
- {mso-style-next:Normal;
- margin-top:12.0pt;
- margin-right:0cm;
- margin-bottom:3.0pt;
- margin-left:61.2pt;
- text-align:justify;
- text-indent:-25.2pt;
- mso-pagination:widow-orphan;
- page-break-after:avoid;
- mso-outline-level:3;
- mso-list:l17 level3 lfo13;
- tab-stops:list 72.0pt;
- font-size:13.0pt;
- font-family:Arial;
- mso-fareast-language:EN-US;}
-h4
- {mso-style-next:Normal;
- margin-top:12.0pt;
- margin-right:0cm;
- margin-bottom:3.0pt;
- margin-left:0cm;
- text-align:justify;
- mso-pagination:widow-orphan;
- page-break-after:avoid;
- mso-outline-level:4;
- font-size:14.0pt;
- font-family:"Times New Roman";}
-h5
- {mso-style-next:Normal;
- margin-top:12.0pt;
- margin-right:0cm;
- margin-bottom:3.0pt;
- margin-left:0cm;
- text-align:justify;
- mso-pagination:widow-orphan;
- mso-outline-level:5;
- font-size:13.0pt;
- font-family:"Times New Roman";
- font-style:italic;}
-p.MsoFooter, li.MsoFooter, div.MsoFooter
- {margin:0cm;
- margin-bottom:.0001pt;
- text-align:justify;
- mso-pagination:widow-orphan;
- tab-stops:center 207.65pt right 415.3pt;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";
- mso-ansi-language:EN-US;
- mso-fareast-language:EN-US;}
-p.MsoCaption, li.MsoCaption, div.MsoCaption
- {mso-style-next:Normal;
- margin-top:6.0pt;
- margin-right:0cm;
- margin-bottom:6.0pt;
- margin-left:0cm;
- text-align:justify;
- mso-pagination:widow-orphan;
- font-size:10.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";
- font-weight:bold;}
-p.MsoTitle, li.MsoTitle, div.MsoTitle
- {margin-top:12.0pt;
- margin-right:0cm;
- margin-bottom:3.0pt;
- margin-left:0cm;
- text-align:center;
- mso-pagination:widow-orphan;
- mso-outline-level:1;
- font-size:16.0pt;
- font-family:Arial;
- mso-fareast-font-family:"Times New Roman";
- mso-font-kerning:14.0pt;
- font-weight:bold;}
-a:link, span.MsoHyperlink
- {color:blue;
- text-decoration:underline;
- text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
- {color:#606420;
- text-decoration:underline;
- text-underline:single;}
-p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
- {mso-style-noshow:yes;
- margin:0cm;
- margin-bottom:.0001pt;
- text-align:justify;
- mso-pagination:widow-orphan;
- background:navy;
- font-size:12.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-p.Titre1Unnumbered, li.Titre1Unnumbered, div.Titre1Unnumbered
- {mso-style-name:"Titre 1 Unnumbered";
- mso-style-parent:"Titre 2";
- margin-top:12.0pt;
- margin-right:0cm;
- margin-bottom:3.0pt;
- margin-left:0cm;
- mso-pagination:widow-orphan;
- page-break-after:avoid;
- mso-outline-level:2;
- font-size:14.0pt;
- font-family:Arial;
- mso-fareast-font-family:"Times New Roman";
- mso-fareast-language:EN-US;
- font-weight:bold;
- font-style:italic;}
-span.GramE
- {mso-style-name:"";
- mso-gram-e:yes;}
-@page Section1
- {size:595.3pt 841.9pt;
- margin:70.85pt 70.85pt 70.85pt 70.85pt;
- mso-header-margin:35.4pt;
- mso-footer-margin:35.4pt;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
- /* List Definitions */
- @list l0
- {mso-list-id:-132;
- mso-list-type:simple;
- mso-list-template-ids:-249420238;}
-@list l0:level1
- {mso-level-tab-stop:74.6pt;
- mso-level-number-position:left;
- margin-left:74.6pt;
- text-indent:-18.0pt;}
-@list l1
- {mso-list-id:-131;
- mso-list-type:simple;
- mso-list-template-ids:-1333508160;}
-@list l1:level1
- {mso-level-tab-stop:60.45pt;
- mso-level-number-position:left;
- margin-left:60.45pt;
- text-indent:-18.0pt;}
-@list l2
- {mso-list-id:-130;
- mso-list-type:simple;
- mso-list-template-ids:394265852;}
-@list l2:level1
- {mso-level-tab-stop:46.3pt;
- mso-level-number-position:left;
- margin-left:46.3pt;
- text-indent:-18.0pt;}
-@list l3
- {mso-list-id:-129;
- mso-list-type:simple;
- mso-list-template-ids:287878184;}
-@list l3:level1
- {mso-level-tab-stop:32.15pt;
- mso-level-number-position:left;
- margin-left:32.15pt;
- text-indent:-18.0pt;}
-@list l4
- {mso-list-id:-128;
- mso-list-type:simple;
- mso-list-template-ids:583202384;}
-@list l4:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:74.6pt;
- mso-level-number-position:left;
- margin-left:74.6pt;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l5
- {mso-list-id:-127;
- mso-list-type:simple;
- mso-list-template-ids:-961781948;}
-@list l5:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:60.45pt;
- mso-level-number-position:left;
- margin-left:60.45pt;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l6
- {mso-list-id:-126;
- mso-list-type:simple;
- mso-list-template-ids:902342150;}
-@list l6:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:46.3pt;
- mso-level-number-position:left;
- margin-left:46.3pt;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l7
- {mso-list-id:-125;
- mso-list-type:simple;
- mso-list-template-ids:-1088380170;}
-@list l7:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:32.15pt;
- mso-level-number-position:left;
- margin-left:32.15pt;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l8
- {mso-list-id:-120;
- mso-list-type:simple;
- mso-list-template-ids:2017499872;}
-@list l8:level1
- {mso-level-tab-stop:18.0pt;
- mso-level-number-position:left;
- margin-left:18.0pt;
- text-indent:-18.0pt;}
-@list l9
- {mso-list-id:-119;
- mso-list-type:simple;
- mso-list-template-ids:-936112584;}
-@list l9:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:18.0pt;
- mso-level-number-position:left;
- margin-left:18.0pt;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l10
- {mso-list-id:50926754;
- mso-list-type:hybrid;
- mso-list-template-ids:-1978739192 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l10:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l11
- {mso-list-id:63653096;
- mso-list-type:hybrid;
- mso-list-template-ids:-2051903002 -46369714 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
-@list l11:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l12
- {mso-list-id:215090344;
- mso-list-type:hybrid;
- mso-list-template-ids:-1156575396 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l12:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l13
- {mso-list-id:224686809;
- mso-list-type:hybrid;
- mso-list-template-ids:1702673594 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l13:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l14
- {mso-list-id:370152369;
- mso-list-type:hybrid;
- mso-list-template-ids:1376048120 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l14:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l15
- {mso-list-id:389617626;
- mso-list-type:hybrid;
- mso-list-template-ids:1453601744 67895311 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
-@list l15:level1
- {mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-@list l16
- {mso-list-id:450638552;
- mso-list-type:hybrid;
- mso-list-template-ids:-1575564428 67895311 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
-@list l16:level1
- {mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-@list l16:level2
- {mso-level-number-format:alpha-lower;
- mso-level-tab-stop:72.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-@list l17
- {mso-list-id:469055050;
- mso-list-template-ids:1387152692;}
-@list l17:level1
- {mso-level-style-link:"Titre 1";
- mso-level-tab-stop:18.0pt;
- mso-level-number-position:left;
- margin-left:18.0pt;
- text-indent:-18.0pt;}
-@list l17:level2
- {mso-level-style-link:"Titre 2";
- mso-level-text:"%1\.%2\.";
- mso-level-tab-stop:54.0pt;
- mso-level-number-position:left;
- margin-left:39.6pt;
- text-indent:-21.6pt;}
-@list l17:level3
- {mso-level-style-link:"Titre 3";
- mso-level-text:"%1\.%2\.%3\.";
- mso-level-tab-stop:72.0pt;
- mso-level-number-position:left;
- margin-left:61.2pt;
- text-indent:-25.2pt;}
-@list l17:level4
- {mso-level-text:"%1\.%2\.%3\.%4\.";
- mso-level-tab-stop:108.0pt;
- mso-level-number-position:left;
- margin-left:86.4pt;
- text-indent:-32.4pt;}
-@list l17:level5
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
- mso-level-tab-stop:144.0pt;
- mso-level-number-position:left;
- margin-left:111.6pt;
- text-indent:-39.6pt;}
-@list l17:level6
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
- mso-level-tab-stop:162.0pt;
- mso-level-number-position:left;
- margin-left:136.8pt;
- text-indent:-46.8pt;}
-@list l17:level7
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
- mso-level-tab-stop:198.0pt;
- mso-level-number-position:left;
- margin-left:162.0pt;
- text-indent:-54.0pt;}
-@list l17:level8
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
- mso-level-tab-stop:234.0pt;
- mso-level-number-position:left;
- margin-left:187.2pt;
- text-indent:-61.2pt;}
-@list l17:level9
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
- mso-level-tab-stop:252.0pt;
- mso-level-number-position:left;
- margin-left:216.0pt;
- text-indent:-72.0pt;}
-@list l18
- {mso-list-id:578253460;
- mso-list-type:hybrid;
- mso-list-template-ids:-465642354 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l18:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l19
- {mso-list-id:591745468;
- mso-list-type:hybrid;
- mso-list-template-ids:-1061151342 -46369714 67895299 -46369714 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l19:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l19:level2
- {mso-level-number-format:bullet;
- mso-level-text:o;
- mso-level-tab-stop:72.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:"Courier New";}
-@list l19:level3
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:108.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l20
- {mso-list-id:633022734;
- mso-list-type:hybrid;
- mso-list-template-ids:-1804438702 67895311 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l20:level1
- {mso-level-tab-stop:53.4pt;
- mso-level-number-position:left;
- margin-left:53.4pt;
- text-indent:-18.0pt;
- color:windowtext;}
-@list l21
- {mso-list-id:834296254;
- mso-list-type:hybrid;
- mso-list-template-ids:1253721346 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l21:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l22
- {mso-list-id:863861844;
- mso-list-type:hybrid;
- mso-list-template-ids:256962598 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l22:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l23
- {mso-list-id:920483153;
- mso-list-template-ids:-2027151842;}
-@list l23:level1
- {mso-level-tab-stop:18.0pt;
- mso-level-number-position:left;
- margin-left:18.0pt;
- text-indent:-18.0pt;}
-@list l23:level2
- {mso-level-text:"%1\.%2\.";
- mso-level-tab-stop:54.0pt;
- mso-level-number-position:left;
- margin-left:39.6pt;
- text-indent:-21.6pt;}
-@list l23:level3
- {mso-level-text:"%1\.%2\.%3\.";
- mso-level-tab-stop:72.0pt;
- mso-level-number-position:left;
- margin-left:61.2pt;
- text-indent:-25.2pt;}
-@list l23:level4
- {mso-level-text:"%1\.%2\.%3\.%4\.";
- mso-level-tab-stop:108.0pt;
- mso-level-number-position:left;
- margin-left:86.4pt;
- text-indent:-32.4pt;}
-@list l23:level5
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
- mso-level-tab-stop:144.0pt;
- mso-level-number-position:left;
- margin-left:111.6pt;
- text-indent:-39.6pt;}
-@list l23:level6
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
- mso-level-tab-stop:162.0pt;
- mso-level-number-position:left;
- margin-left:136.8pt;
- text-indent:-46.8pt;}
-@list l23:level7
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
- mso-level-tab-stop:198.0pt;
- mso-level-number-position:left;
- margin-left:162.0pt;
- text-indent:-54.0pt;}
-@list l23:level8
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
- mso-level-tab-stop:234.0pt;
- mso-level-number-position:left;
- margin-left:187.2pt;
- text-indent:-61.2pt;}
-@list l23:level9
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
- mso-level-tab-stop:252.0pt;
- mso-level-number-position:left;
- margin-left:216.0pt;
- text-indent:-72.0pt;}
-@list l24
- {mso-list-id:923954546;
- mso-list-type:hybrid;
- mso-list-template-ids:-463724184 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l24:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l25
- {mso-list-id:1220478831;
- mso-list-type:hybrid;
- mso-list-template-ids:-2048500308 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l25:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l25:level2
- {mso-level-number-format:bullet;
- mso-level-text:o;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:"Courier New";}
-@list l26
- {mso-list-id:1224557434;
- mso-list-type:hybrid;
- mso-list-template-ids:-1483294370 -46369714 67895311 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l26:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:53.4pt;
- mso-level-number-position:left;
- margin-left:53.4pt;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l26:level2
- {mso-level-tab-stop:89.4pt;
- mso-level-number-position:left;
- margin-left:89.4pt;
- text-indent:-18.0pt;
- color:windowtext;}
-@list l27
- {mso-list-id:1336374424;
- mso-list-type:hybrid;
- mso-list-template-ids:1765186426 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l27:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l28
- {mso-list-id:1400590077;
- mso-list-template-ids:1754717086;}
-@list l28:level1
- {mso-level-tab-stop:18.0pt;
- mso-level-number-position:left;
- margin-left:18.0pt;
- text-indent:-18.0pt;}
-@list l28:level2
- {mso-level-text:"%1\.%2\.";
- mso-level-tab-stop:54.0pt;
- mso-level-number-position:left;
- margin-left:39.6pt;
- text-indent:-21.6pt;}
-@list l28:level3
- {mso-level-text:"%1\.%2\.%3\.";
- mso-level-tab-stop:72.0pt;
- mso-level-number-position:left;
- margin-left:61.2pt;
- text-indent:-25.2pt;}
-@list l28:level4
- {mso-level-text:"%1\.%2\.%3\.%4\.";
- mso-level-tab-stop:108.0pt;
- mso-level-number-position:left;
- margin-left:86.4pt;
- text-indent:-32.4pt;}
-@list l28:level5
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
- mso-level-tab-stop:144.0pt;
- mso-level-number-position:left;
- margin-left:111.6pt;
- text-indent:-39.6pt;}
-@list l28:level6
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
- mso-level-tab-stop:162.0pt;
- mso-level-number-position:left;
- margin-left:136.8pt;
- text-indent:-46.8pt;}
-@list l28:level7
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
- mso-level-tab-stop:198.0pt;
- mso-level-number-position:left;
- margin-left:162.0pt;
- text-indent:-54.0pt;}
-@list l28:level8
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
- mso-level-tab-stop:234.0pt;
- mso-level-number-position:left;
- margin-left:187.2pt;
- text-indent:-61.2pt;}
-@list l28:level9
- {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
- mso-level-tab-stop:252.0pt;
- mso-level-number-position:left;
- margin-left:216.0pt;
- text-indent:-72.0pt;}
-@list l29
- {mso-list-id:1645770726;
- mso-list-type:hybrid;
- mso-list-template-ids:-480600758 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l29:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l30
- {mso-list-id:1846168918;
- mso-list-type:hybrid;
- mso-list-template-ids:1576944272 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l30:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l31
- {mso-list-id:1990741231;
- mso-list-type:hybrid;
- mso-list-template-ids:1991534240 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l31:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
-@list l31:level2
- {mso-level-number-format:bullet;
- mso-level-text:o;
- mso-level-tab-stop:none;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:"Courier New";}
-@list l32
- {mso-list-id:2008243448;
- mso-list-type:hybrid;
- mso-list-template-ids:-1566939782 -46369714 67895299 -46369714 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l32:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l32:level2
- {mso-level-number-format:bullet;
- mso-level-text:o;
- mso-level-tab-stop:72.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:"Courier New";}
-@list l32:level3
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:108.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l33
- {mso-list-id:2044086261;
- mso-list-type:hybrid;
- mso-list-template-ids:2025750302 -46369714 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
-@list l33:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:53.4pt;
- mso-level-number-position:left;
- margin-left:53.4pt;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l33:level2
- {mso-level-number-format:alpha-lower;
- mso-level-tab-stop:89.4pt;
- mso-level-number-position:left;
- margin-left:89.4pt;
- text-indent:-18.0pt;}
-@list l34
- {mso-list-id:2085371194;
- mso-list-type:hybrid;
- mso-list-template-ids:614252818 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
-@list l34:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;
- mso-fareast-font-family:"HG Mincho Light J";
- color:windowtext;}
-@list l34:level2
- {mso-level-number-format:bullet;
- mso-level-text:o;
- mso-level-tab-stop:72.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:"Courier New";}
-ol
- {margin-bottom:0cm;}
-ul
- {margin-bottom:0cm;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
- {mso-style-name:"Tableau Normal";
- mso-tstyle-rowband-size:0;
- mso-tstyle-colband-size:0;
- mso-style-noshow:yes;
- mso-style-parent:"";
- mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
- mso-para-margin:0cm;
- mso-para-margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:10.0pt;
- font-family:"Times New Roman";
- mso-ansi-language:#0400;
- mso-fareast-language:#0400;
- mso-bidi-language:#0400;}
-table.MsoTableGrid
- {mso-style-name:"Grille du tableau";
- mso-tstyle-rowband-size:0;
- mso-tstyle-colband-size:0;
- border:solid windowtext 1.0pt;
- mso-border-alt:solid windowtext .5pt;
- mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
- mso-border-insideh:.5pt solid windowtext;
- mso-border-insidev:.5pt solid windowtext;
- mso-para-margin:0cm;
- mso-para-margin-bottom:.0001pt;
- text-align:justify;
- mso-pagination:widow-orphan;
- font-size:10.0pt;
- font-family:"Times New Roman";
- mso-ansi-language:#0400;
- mso-fareast-language:#0400;
- mso-bidi-language:#0400;}
-</style>
-<![endif]--><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="2050"/>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <o:shapelayout v:ext="edit">
- <o:idmap v:ext="edit" data="1"/>
- </o:shapelayout></xml><![endif]-->
-</head>
-
-<body lang=FR link=blue vlink="#606420" style='tab-interval:35.4pt'>
-
-<div class=Section1>
-
-<p class=MsoTitle><span lang=EN-GB style='mso-ansi-language:EN-GB'>Sash and
-Core <br>
-Architectures<o:p></o:p></span></p>
-
-<p class=MsoNormal align=center style='text-align:center'><span class=GramE><span
-lang=EN-GB style='mso-ansi-language:EN-GB'>Author :</span></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> </span><a
-href="mailto:cedric.dumoulin@lifl.fr"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Cedric Dumoulin</span></a><span lang=EN-GB style='mso-ansi-language:
-EN-GB'><o:p></o:p></span></p>
-
-<p class=MsoNormal align=center style='text-align:center'><span class=GramE><span
-lang=EN-GB style='mso-ansi-language:EN-GB'>Date :</span></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> </span><!--[if supportFields]><span
-style='mso-element:field-begin'></span><span
-style='mso-spacerun:yes'> </span>CREATEDATE \@ &quot;d MMM. yyyy&quot; \*
-MERGEFORMAT <span style='mso-element:field-separator'></span><![endif]--><span
-style='mso-no-proof:yes'>6 déc. 2009</span><!--[if supportFields]><span
-style='mso-element:field-end'></span><![endif]--><span lang=EN-GB
-style='mso-ansi-language:EN-GB'><o:p></o:p></span></p>
-
-<p class=MsoFooter align=center style='text-align:center'><span class=GramE><span
-lang=EN-GB style='mso-ansi-language:EN-GB'>Rev :</span></span><span lang=EN-GB
-style='mso-ansi-language:EN-GB'> </span><!--[if supportFields]><span
-lang=EN-US><span style='mso-element:field-begin'></span><span
-style='mso-spacerun:yes'> </span>SAVEDATE \@ &quot;d MMM. yyyy&quot; \*
-MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><span
-lang=EN-US><span style='mso-no-proof:yes'>22 Jan. 2010</span></span><!--[if supportFields]><span
-lang=EN-US><span style='mso-element:field-end'></span></span><![endif]--><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><o:p></o:p></span></p>
-
-<p class=MsoTitle><span lang=EN-GB style='mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></p>
-
-<h1><![if !supportLists]><span lang=EN-GB style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-GB'><span style='mso-list:Ignore'>1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-GB style='mso-ansi-language:EN-GB'>Introduction<o:p></o:p></span></h1>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash System
-and Core are used by the Papyrus UML editor.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Sash
-System provides an editor of pages that can be arranged in multiple pages
-separated by sashes. A page can be either an editor or a SWT Component.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Core
-provides the main Editor implemented with the Sash. The core also provides a
-notion of Services that can be added to the main editor. The services can then
-be retrieved and shared between nested pages.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Core
-depends on the Sash System (<span style='mso-field-code:" REF _Ref247902394 \\h "'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:
-yes'>1</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340037003900300032003300390034000000</w:data>
-</xml><![endif]--></span>). The Sash System is independent.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shapetype
- id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
- path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
- <v:stroke joinstyle="miter"/>
- <v:formulas>
- <v:f eqn="if lineDrawn pixelLineWidth 0"/>
- <v:f eqn="sum @0 1 0"/>
- <v:f eqn="sum 0 0 @1"/>
- <v:f eqn="prod @2 1 2"/>
- <v:f eqn="prod @3 21600 pixelWidth"/>
- <v:f eqn="prod @3 21600 pixelHeight"/>
- <v:f eqn="sum @0 0 1"/>
- <v:f eqn="prod @6 1 2"/>
- <v:f eqn="prod @7 21600 pixelWidth"/>
- <v:f eqn="sum @8 21600 0"/>
- <v:f eqn="prod @7 21600 pixelHeight"/>
- <v:f eqn="sum @10 21600 0"/>
- </v:formulas>
- <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
- <o:lock v:ext="edit" aspectratio="t"/>
-</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:182.25pt;
- height:214.5pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image001.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=243 height=286
-src="sashAndCoreArchitecture_fichiers/image002.jpg" v:shapes="_x0000_i1025"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref247902394"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref247902394'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref247902394'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref247902394'></span><span style='mso-bookmark:_Ref247902394'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>1</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref247902394'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref247902394'></span><span style='mso-bookmark:_Ref247902394'></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> Sash and Core packages</span><span
-lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-
-<h1><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Sash System<o:p></o:p></span></h1>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The sash
-system is used to render multiple nested pages in one main editor. A page can
-be an editor or a SWT component.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>In the sash
-system, nested pages can be layed in tabfolders and side by side. The sash
-system allows to move the pages from tabfolder to tabfolder, or to create new
-tabfolders.<o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Architecture
-Overview<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The sash
-system main component is the SashWindowsContainer class. It is used to render
-the pages as described above. The class requires two interfaces in order to
-work properly (<span style='mso-field-code:" REF _Ref247906499 \\h "'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:
-yes'>2</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340037003900300036003400390039000000</w:data>
-</xml><![endif]--></span>):<o:p></o:p></span></p>
-
-<ul style='margin-top:0cm' type=disc>
- <li class=MsoNormal style='mso-list:l24 level1 lfo15;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>ISashWindowsContentProvider – The
- content provider is used to store the structure representing the pages
- (editors or components) to be rendered. It is used by the SashContainer to
- discover and modify the structure.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l24 level1 lfo15;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>IMultiEditorManager – Is
- required if the SashContainer should render Eclipse IEditor. It is used to
- get Eclipse Site and EditorInput.<o:p></o:p></span></li>
-</ul>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1026" type="#_x0000_t75" style='width:453.75pt;height:236.25pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image003.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=605 height=315
-src="sashAndCoreArchitecture_fichiers/image004.jpg" v:shapes="_x0000_i1026"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref247906499"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref247906499'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref247906499'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref247906499'></span><span style='mso-bookmark:_Ref247906499'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>2</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref247906499'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref247906499'></span><span style='mso-bookmark:_Ref247906499'></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> Sash Container and its required
-interfaces<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'>The Sash
-Container can be used directly in an Eclipse editor. A base implementation is
-provided in </span><span lang=EN-GB style='font-family:"Courier New";
-mso-ansi-language:EN-GB'>AbstractMultiPageSashEditor</span><span lang=EN-GB
-style='mso-ansi-language:EN-GB'>. This implementation requires a concrete
-implementation for the </span><span lang=EN-US style='font-family:"Courier New";
-mso-ansi-language:EN-US'>ISashWindowsContentProvider</span><span lang=EN-US
-style='mso-ansi-language:EN-US'> interface.</span><span lang=EN-GB
-style='mso-ansi-language:EN-GB'><o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-ContentProvider is used by the SashContainer to discover the content of the
-sash, and to store this content externally.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-ContentProvider main API is ISashWindowContentProvider. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider structure<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-ContentProvider is used to read and store the structure to be rendered by the
-SashContainer. This structure can be implemented in different manners. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-ContentProvider API is design in order to be able to implement the structure by
-using any kind of Objects, called <i style='mso-bidi-font-style:normal'>raw
-model</i>. The Container call special methods (<span class=GramE>createChildSashModel(</span>Object))
-to obtain a well known API from a raw model used in the container.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The content
-provider returns a view on the real structure implementation. The SashContainer
-start to explore this view from the ISashWindowContentProvider. The virtual
-view is made of ‘<i style='mso-bidi-font-style:normal'>Model’</i> represented
-by the different </span><i style='mso-bidi-font-style:normal'><span lang=EN-US
-style='font-family:"Courier New";mso-ansi-language:EN-US'>IXxxModel </span></i><span
-lang=EN-US style='mso-ansi-language:EN-US'>interfaces in <span
-style='mso-field-code:" REF _Ref250718046 \\h "'>Figure <span style='mso-no-proof:
-yes'>3</span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350030003700310038003000340036000000</w:data>
-</xml><![endif]--></span>.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1027" type="#_x0000_t75" style='width:452.25pt;height:186.75pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image005.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=603 height=249
-src="sashAndCoreArchitecture_fichiers/image006.jpg" v:shapes="_x0000_i1027"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref250718046"><span lang=EN-US style='mso-ansi-language:
-EN-US'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref250718046'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref250718046'><span
-lang=EN-US style='mso-ansi-language:EN-US'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref250718046'></span><span style='mso-bookmark:_Ref250718046'><span
-lang=EN-US style='mso-ansi-language:EN-US;mso-no-proof:yes'>3</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref250718046'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref250718046'></span><span style='mso-bookmark:_Ref250718046'></span><span
-lang=EN-US style='mso-ansi-language:EN-US'> ContentProvider set of interfaces
-used by the SashContener<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>From the
-content provider, <span class=GramE>the <span style='mso-spacerun:yes'> </span>virtual</span>
-view is as follow:<o:p></o:p></span></p>
-
-<ul style='margin-top:0cm' type=disc>
- <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>A root contains a PanelModel
- which can be either <span class=GramE>a</span> ISashModel or a IFolderModel.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> ISashModel is made of two
- children of type IPanelModel. This represent two panel separated by a
- sash.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> IFolderModel is made of
- several children of type IPageModel. This represents a tabfolder made of
- pages.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> IPageModel can be either a IComponentModel
- or a IEditorModel.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> IComponentModel represents a
- SWT Component.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> IEditorModel represent an
- Eclipse Editor.<o:p></o:p></span></li>
-</ul>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider main API<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The main
-API of the content provider is ISashWindowsContentProvider. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>There is
-two methods to explore the ContentProvider structure: </span><span class=GramE><span
-lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>getRootModel(</span></span><span
-lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>)</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> and </span><span lang=EN-US
-style='font-family:"Courier New";mso-ansi-language:EN-US'>createChildSashModel(object</span><span
-lang=EN-US style='mso-ansi-language:EN-US'>).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Others
-methods are used by the Container to modify the content after a user
-interaction.<o:p></o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.3.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider exploration<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>To discover
-the content, the Container first call the <span class=GramE>getRootModel(</span>)
-to get the root model of the content. This returns an Object representing the
-root of the structure of the Sash. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Then the
-container call <span class=GramE>createChildSashModel(</span>object) whith the
-previous object to get the Model represented by the Object. This is either <span
-class=GramE>a</span> ISashPanelModel or a ITabFolderModel.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>For a
-ISashPanelModel the container call the <span class=GramE>getChildren(</span>)
-method to obtain the raw models of the node. Then for each childs it get the
-IAbstractPanelModel by calling <span class=GramE>createChildSashModel(</span>object).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>For a a
-ITabFolderModel, the container call the <span class=GramE>getChildren(</span>)
-method to obtain the raw models of the node. Then for each childs it get the
-IPageModel by calling <span class=GramE>createChildSashModel(</span>object). <span
-class=GramE>This return</span> either a IComponentModel or a IEditorModel,
-representing a SWT Component or a IEditor.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The <span
-class=GramE>container create</span> the corresponding SWT component or
-IEditorPart by calling appropriate method.<o:p></o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.4.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider Modification by the
-SashContainer<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-SashContainer modify the ContentProvider by the way of the
-ISashWindowsContentProvider interface. It doesn’t create models by itself.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-SashContainer transforms user interactions in calls to
-ISashWindowsContentProvider.<span style='mso-spacerun:yes'>  </span>This should
-modify the ContentProvider internal structure. In turn, something must call the
-</span><span class=GramE><span lang=EN-US style='font-family:"Courier New";
-mso-ansi-language:EN-US'>refresh(</span></span><span lang=EN-US
-style='font-family:"Courier New";mso-ansi-language:EN-US'>)</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> method on the SashContainer in
-order to refresh it (to force it to synchronize itself with the
-ContentProvider).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-SashContainer do not listen on the ContentProvider. This should be implemented
-externally.<o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.3.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>DI
-ContentProvider<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The DiContentProvider is an implementation of the
-ISashWindowContentProvider.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>It is implemented </span><span lang=EN-US style='mso-ansi-language:EN-US'>with
-an EMF metamodel, to save its content as EMF model.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-DiContentProvider is accessible throw the DiSashModelMngr class or
-TransactionalDiSashModelMngr class.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-internal EMF implementation is not intended to be used directly by users. Some
-interfaces are provided in order to access it: IPageMngr <span class=GramE>and<span
-style='mso-spacerun:yes'>  </span><span style='mso-fareast-language:EN-US'>ISashWindowContentProvider</span></span>.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span class=GramE><span lang=EN-US style='mso-ansi-language:
-EN-US'>IPageMngr,</span></span><span lang=EN-US style='mso-ansi-language:EN-US'>
-provides methods to add, open, remove Editors from the ContentProvider. This is
-the API used by user.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>An
-implementation of the IPageMngr can be obtained from the DiSashModelMngr or the
-TransactionalDiSashModelMngr.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.3.1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>DiSashModelMngr<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>To get an
-instance of the DiContentProvider, it is necessary to create an instance of
-DiSashModelMngr (or the Transactional one). This class requires two classes to
-work (<span style='mso-field-code:" REF _Ref250973441 \\h "'>Figure <span
-style='mso-no-proof:yes'>4</span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350030003900370033003400340031000000</w:data>
-</xml><![endif]--></span>): an <i style='mso-bidi-font-style:normal'>EMF
-Resource</i> that is used to store/retrieve content, and <span class=GramE>a</span>
-<i style='mso-bidi-font-style:normal'>IPageModelFactory</i>, used to create
-instance of IPageModel (model used by the SashContentProvider to create
-instance of nested Editor).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1028" type="#_x0000_t75" style='width:453pt;height:246.75pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image007.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=329
-src="sashAndCoreArchitecture_fichiers/image008.jpg" v:shapes="_x0000_i1028"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref250973441"><span lang=EN-US style='mso-ansi-language:
-EN-US'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref250973441'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref250973441'><span
-lang=EN-US style='mso-ansi-language:EN-US'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref250973441'></span><span style='mso-bookmark:_Ref250973441'><span
-lang=EN-US style='mso-ansi-language:EN-US;mso-no-proof:yes'>4</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref250973441'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref250973441'></span><span style='mso-bookmark:_Ref250973441'></span><span
-lang=EN-US style='mso-ansi-language:EN-US'> DiContentProvider Provided and Required
-Interfaces<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.3.2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Internal Structure<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The implementation is made of 3 parts:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo28'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>The manager, used to retrieve the concrete
-implementations of provided interfaces (<span style='mso-field-code:" REF _Ref250973441 \\h "'><span
-style='mso-fareast-language:FR'>Figure <span style='mso-no-proof:yes'>4</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350030003900370033003400340031000000</w:data>
-</xml><![endif]--></span>)<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo28'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Implementations of ISashWindowContentProvider and
-IPageMngr (<span style='mso-field-code:" REF _Ref250973441 \\h "'><span
-style='mso-fareast-language:FR'>Figure <span style='mso-no-proof:yes'>4</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350030003900370033003400340031000000</w:data>
-</xml><![endif]--></span>)<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo28'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>An EMF metamodel and model used to store/retrieve
-the sash structure (<span style='mso-field-code:" REF _Ref247906790 \\h "'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-fareast-language:FR'>Figure <span
-style='mso-no-proof:yes'>5</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340037003900300036003700390030000000</w:data>
-</xml><![endif]--></span>).<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US
-style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1029" type="#_x0000_t75" style='width:453pt;height:237.75pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image009.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=317
-src="sashAndCoreArchitecture_fichiers/image010.jpg" v:shapes="_x0000_i1029"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref247906790"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref247906790'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref247906790'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref247906790'></span><span style='mso-bookmark:_Ref247906790'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>5</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref247906790'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref247906790'></span><span style='mso-bookmark:_Ref247906790'></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> <span class=GramE>The</span> di
-sashwindows metamodel (internal structure).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'>The EMF
-metamodel is itself made of two parts:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo29'><![if !supportLists]><span
-lang=EN-GB style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-GB'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-GB style='mso-ansi-language:EN-GB'>A
-SashModel representing the structure of SashSystem. This is a tree structure
-whose leaf are objects representing pages (an Editor or a Component).<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo29'><![if !supportLists]><span
-lang=EN-GB style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-GB'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-GB style='mso-ansi-language:EN-GB'>A
-PageList – a list of pages currently available for the SashSystem. This list
-contains objects representing all the pages, the open ones as well as the
-closed ones.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.4.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>AbstractMultiPageSashEditor<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Sash
-System provides an abstract base implementation <span class=GramE>of a
-multieditors</span>. The class is </span><span lang=EN-GB style='font-family:
-"Courier New";mso-ansi-language:EN-GB'>AbstractMultiPageSashEditor. </span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'>This implementation uses a SashContainer
-and requires <span class=GramE>a</span> ISashWindowsContentProvider.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'>This later
-should be set by calling <span class=GramE>setContentProvider(</span>).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'><!--[if gte vml 1]><v:shape
- id="_x0000_i1030" type="#_x0000_t75" style='width:453pt;height:275.25pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image011.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=367
-src="sashAndCoreArchitecture_fichiers/image012.jpg" v:shapes="_x0000_i1030"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption>Figure <!--[if supportFields]><span style='mso-element:
-field-begin'></span><span style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC
-<span style='mso-element:field-separator'></span><![endif]--><span
-style='mso-no-proof:yes'>6</span><!--[if supportFields]><span style='mso-element:
-field-end'></span><![endif]--> AbstractMultiPageSashEditor Overview</p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.5.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>SashContainerFactory<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The SashContainerFactory class can be used to get an instance of the
-SashContainer, as this later is not directly accessible.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>Note: this class is not yet implemented. It will be if there is a need
-for it.<o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.6.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Glossary<o:p></o:p></span></h2>
-
-<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
- style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
- mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh:
- .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
- <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
- <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
- mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal align=center style='text-align:center'><b
- style='mso-bidi-font-weight:normal'><span lang=EN-US style='mso-ansi-language:
- EN-US'>Concept<o:p></o:p></span></b></p>
- </td>
- <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
- border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
- solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal align=center style='text-align:center'><b
- style='mso-bidi-font-weight:normal'><span lang=EN-US style='mso-ansi-language:
- EN-US'>Definition<o:p></o:p></span></b></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
- <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
- border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
- padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>SashContainer<o:p></o:p></span></p>
- </td>
- <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
- none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
- mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
- mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
- container is the main component of the sash system. It contains pages that
- can be arranged in multiple windows, and inside each window the pages can be
- arranged side by side or in sash folder. Two adjacent pages are separated by
- a sash allowing <span class=GramE>to resize</span> the pages.<o:p></o:p></span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
- <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
- border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
- padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
- Window<o:p></o:p></span></p>
- </td>
- <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
- none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
- mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
- mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
- window is a window that can be moved independently from the Eclipse window. A
- sash window show one or more pages of a Sash container.<o:p></o:p></span></p>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Note: the
- actual implementation allows only one window docked inside Eclipse.<o:p></o:p></span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
- <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
- border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
- padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
- Folder<o:p></o:p></span></p>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
- tabfolder<o:p></o:p></span></p>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Folder<o:p></o:p></span></p>
- </td>
- <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
- none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
- mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
- mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
- folder renders pages in a tab fashion. A folder contains several pages, but show
- only one of them at a time. Pages can be selected with a tab.<o:p></o:p></span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
- <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
- border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
- padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
- Panel<o:p></o:p></span></p>
- </td>
- <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
- none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
- mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
- mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
- panel render two <o:p></o:p></span></p>
- </td>
- </tr>
- <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
- <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
- border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
- padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash Page<o:p></o:p></span></p>
- </td>
- <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
- none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
- mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
- mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
- page is the final <o:p></o:p></span></p>
- </td>
- </tr>
-</table>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h1><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Core / Backbone<o:p></o:p></span></h1>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Core
-main intent is to provide <span class=GramE>a multieditors</span>, that is, an
-editor of editors. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-provided <span class=GramE>multieditors is</span> independent from the nested
-editors. These nested editors can be registered by using the Eclipse extension
-mechanism. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Nested
-editors can share objects thanks to the ServiceRegistry who register services.
-These services are registered programmatically or by using the Eclipse
-extension mechanism.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-multieditors use a Di ContentProvider to register the Sash content.<o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Architecture
-Overview<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The main
-class of the core is the CoreMultiDiagramEditor. It extends the
-sasheditor.AbstractMultiPageEditor to provide <span class=GramE>a multieditors</span>.
-It adds some services needed by the nested editors.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><span
-style='mso-field-code:" REF _Ref248079560 \\h "'>Figure <span style='mso-no-proof:
-yes'>7</span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003000370039003500360030000000</w:data>
-</xml><![endif]--></span> shows the main classes and the added services.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1031" type="#_x0000_t75" style='width:453.75pt;height:248.25pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image013.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=605 height=331
-src="sashAndCoreArchitecture_fichiers/image014.jpg" v:shapes="_x0000_i1031"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref248079560">Figure </a><!--[if supportFields]><span
-style='mso-bookmark:_Ref248079560'></span><span style='mso-element:field-begin'></span><span
-style='mso-bookmark:_Ref248079560'><span style='mso-spacerun:yes'> </span>SEQ
-Figure \* ARABIC <span style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref248079560'><span style='mso-no-proof:yes'>7</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref248079560'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref248079560'></span> Core multieditors overview.<span
-lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>All the
-services are also accessible thanks to the ServicesRegistry. This
-ServicesRegistry is provided to all nested editors while they are created. The
-nested editors can then retrieve any service it need.<o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Public
-API<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>Main API of the core is represented in <span style='mso-field-code:" REF _Ref251681771 \\h "'><span
-style='mso-fareast-language:FR'>Figure <span style='mso-no-proof:yes'>8</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350031003600380031003700370031000000</w:data>
-</xml><![endif]--></span>.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>From the main editor (aka instance of CoreMultiDiagramEditor<span
-class=GramE>) ,</span> it is possible to get the following members :<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>ServicesRegistry – To get other registered services<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>SashWindowsContainer – To get the active editor or
-refresh all editors<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>DiSashModelManager – To add, remove move, open,
-close diagrams in the editors<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Main IEditorSite – To get the Eclipse
-SelectionService<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>The currently active nested editor. – Required by
-some GMF stuff<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>LifeCycleEventsProvider – To listen on life cycles
-events on the main editor (doSave, doSaveAs)<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:18.0pt'><span lang=EN-US
-style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal style='margin-left:18.0pt'><span lang=EN-US
-style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'><!--[if gte vml 1]><v:shape id="_x0000_i1032" type="#_x0000_t75"
- style='width:453pt;height:315pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image015.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=420
-src="sashAndCoreArchitecture_fichiers/image016.jpg" v:shapes="_x0000_i1032"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref251681767"></a><a name="_Ref251681771"><span
-style='mso-bookmark:_Ref251681767'>Figure </span></a><!--[if supportFields]><span
-style='mso-bookmark:_Ref251681771'><span style='mso-bookmark:_Ref251681767'></span></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref251681771'><span
-style='mso-bookmark:_Ref251681767'><span style='mso-spacerun:yes'> </span>SEQ
-Figure \* ARABIC <span style='mso-element:field-separator'></span></span></span><![endif]--><span
-style='mso-bookmark:_Ref251681771'><span style='mso-bookmark:_Ref251681767'><span
-style='mso-no-proof:yes'>8</span></span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref251681771'><span style='mso-bookmark:_Ref251681767'></span></span><span
-style='mso-element:field-end'></span><![endif]--><span style='mso-bookmark:
-_Ref251681771'><span style='mso-bookmark:_Ref251681767'></span></span><span
-style='mso-bookmark:_Ref251681767'> Core main APIs</span><span
-style='mso-bookmark:_Ref251681767'></span><span lang=EN-US style='mso-ansi-language:
-EN-US;mso-fareast-language:EN-US'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo31'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>ServiceRegistry – Used to get registered services<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo31'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.3.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Available
-Services<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The core creates and registers a number of services:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>See org.eclipse.papyrus.core.editor.CoreMultiDiagramEditor.init(IEditorSite,
-IEditorInput) <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.4.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>ServiceRegistry<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-ServiceRegistry is used to register services that can be found by a key,
-generally the classname of the service.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A service
-can be retrieve in a standard way, generally by using its ID or its implementation
-class.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.4.1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Architecture Overview<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><span
-style='mso-field-code:" REF _Ref248121826 \\h "'>Figure <span style='mso-no-proof:
-yes'>9</span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003100320031003800320036000000</w:data>
-</xml><![endif]--></span> shows the architecture of the ServiceRegistry.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1033" type="#_x0000_t75" style='width:453pt;height:154.5pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image017.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=206
-src="sashAndCoreArchitecture_fichiers/image018.jpg" v:shapes="_x0000_i1033"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref248121826">Figure </a><!--[if supportFields]><span
-style='mso-bookmark:_Ref248121826'></span><span style='mso-element:field-begin'></span><span
-style='mso-bookmark:_Ref248121826'><span style='mso-spacerun:yes'> </span>SEQ
-Figure \* ARABIC <span style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref248121826'><span style='mso-no-proof:yes'>9</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref248121826'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref248121826'></span> ServiceRegistry Architecture<span
-lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.4.2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Designing a Service<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A service
-is a class providing some methods. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The class
-can be a Pojo, or it can extend the IService interface.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>If the
-service extends the IService interface, the ServiceRegistry will call the life
-cycle methods on the service.<o:p></o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.4.3.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Register a Service<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A service
-can be registered in several ways:<o:p></o:p></span></p>
-
-<ul style='margin-top:0cm' type=disc>
- <li class=MsoNormal style='mso-list:l12 level1 lfo17;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>Using the Eclipse extension
- mechanism<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l12 level1 lfo17;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>Programmatically<o:p></o:p></span></li>
-</ul>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h4><span lang=EN-US style='mso-ansi-language:EN-US'>Using the Eclipse
-extension mechanism<o:p></o:p></span></h4>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A service
-can be registered using the Eclipse extension mechanism.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><span
-style='mso-field-code:" REF _Ref248080737 \\h "'><span lang=EN-GB
-style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:yes'>10</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003000380030003700330037000000</w:data>
-</xml><![endif]--></span> shows the extension names and fields.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1034" type="#_x0000_t75" style='width:453.75pt;height:96pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image019.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=605 height=128
-src="sashAndCoreArchitecture_fichiers/image020.jpg" v:shapes="_x0000_i1034"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref248080737"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref248080737'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref248080737'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref248080737'></span><span style='mso-bookmark:_Ref248080737'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>10</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref248080737'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref248080737'></span><span style='mso-bookmark:_Ref248080737'></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> Register a Service with Eclipse
-extension</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-
-<ul style='margin-top:0cm' type=disc>
- <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>classname</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> – The name of the class
- implementing the service. The class should implements the IService
- interface.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>id</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> – id used to register the
- service when useClassTypeAsKey=true.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>useClassTypeAsKey</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> – Boolean. If true, use the
- class type as the key to register the service. Otherwise, use the id
- (which should not be null).<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>priority</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> – If more than one service are
- declared for the same key, only the service with the higher priority is
- registered.<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>startkind</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> – lazy or startup. Specify
- when the service should be started. <span class=GramE>startup</span>: the
- service will start as soon as it is registered; lazy: the service will
- start when it is first retrieved from the registry.<o:p></o:p></span></li>
-</ul>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h4><span lang=EN-US style='mso-ansi-language:EN-US'>Programmatically<o:p></o:p></span></h4>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Services
-can be registered programmatically using one of the </span><span class=GramE><span
-lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>add(</span></span><span
-lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>…)</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> methods (<span style='mso-field-code:
-" REF _Ref248115334 \\h "'><span lang=EN-GB style='mso-ansi-language:EN-GB'>Figure
-<span style='mso-no-proof:yes'>11</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003100310035003300330034000000</w:data>
-</xml><![endif]--></span>). In this case, the service can be a Pojo.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1035" type="#_x0000_t75" style='width:281.25pt;height:172.5pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image021.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=375 height=230
-src="sashAndCoreArchitecture_fichiers/image022.jpg" v:shapes="_x0000_i1035"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref248115334"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref248115334'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref248115334'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref248115334'></span><span style='mso-bookmark:_Ref248115334'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>11</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref248115334'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref248115334'></span><span style='mso-bookmark:_Ref248115334'></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> ServicesRegistry class public API.</span><span
-lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.5.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>EditorRegistry<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-EditorRegistry is used to register the descriptors of editors that can be
-created in the multieditor. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Editor
-descriptors can be registered using the Eclipse extension mechanism (<span
-style='mso-field-code:" REF _Ref248115692 \\h "'><span lang=EN-GB
-style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:yes'>12</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003100310035003600390032000000</w:data>
-</xml><![endif]--></span>).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1036" type="#_x0000_t75" style='width:453.75pt;height:78.75pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image023.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=605 height=105
-src="sashAndCoreArchitecture_fichiers/image024.jpg" v:shapes="_x0000_i1036"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref248115692"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref248115692'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref248115692'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref248115692'></span><span style='mso-bookmark:_Ref248115692'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>12</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref248115692'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref248115692'></span><span style='mso-bookmark:_Ref248115692'></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> Nested Editor registered with
-Eclipse Extension</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-EditorRegistry is mainly used by the SashContainer to create nested Editors
-when requested by the user, or when the multieditor is reopened.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
-EditorRegistry requires the following to work:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h1><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Nested Editors<o:p></o:p></span></h1>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A nested
-editor, or embedded editor, is an editor that can be created and rendered in
-the multieditors.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A nested
-editor can be a regular Eclipse editor implementing the IEditorPart interface.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>There is
-several ways to create nested editor, depending on which package you use (Sash
-only, <span class=GramE>Core, …)</span>.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Usually,
-all nested editors share common resources, like the EMF Resource. This can be
-achieved with the help of the ServiceRegistry.<o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
-Requirements for nested Editors<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>On the Sash
-level, it is necessary to provide a ContentProvider managing the structure of
-rendered editors.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The sash
-package provides 3 implementations for the ContentProvider:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>org.eclipse.papyrus.sasheditor.contentprovider.singlefolder<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l31 level2 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Mainly
-used for test purpose. This implementation only allows one tabfolder, and all
-nested editor are in this tabfolder. Implementation using this ContentProvider
-will react as the original Eclipse MultiTabEditor.<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>org.eclipse.papyrus.sasheditor.contentprovider.simple<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l31 level2 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>A
-simple implementation where the structure is only maintained in memory. There
-is no way to save the structure. This is an example design. <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>org.eclipse.papyrus.sasheditor.contentprovider.di<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l31 level2 lfo30'><![if !supportLists]><span
-lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>An
-implementation done with an EMF model called sashdi. This implementation allows
-save and restore of nested EMF based editors.<o:p></o:p></span></p>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
-Di Requirements for nested Editors<o:p></o:p></span></h2>
-
-<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.3.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Core
-Requirements for nested Editors<o:p></o:p></span></h2>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The Core provides some services helping to manage nested editors.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>To enable a nested editor in the multieditor, it is necessary to:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l10 level1 lfo33'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Register the nested editor in the Core Editor
-Factory<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l10 level1 lfo33'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Enable an action creating an new instance of the
-editor<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>You need to provide the following;<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>An Editor (not covered here)<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>An Action or an Handler allowing to create the
-EObject representing the editor and add this EObject to the SashContentProvider<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>A factory that will receive as input the previously
-created EObject, and will create an IEditorModel for your editor.<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>A subclass of IEditorModel. This class is used as
-model by the SashEditor. It serves to create the instance of the Editor for the
-previously created EObject. <o:p></o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.3.1.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Environment Provided by Core<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The Core provide following services that can be helpful when enabling a
-nested editor:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>PageModelFactoryRegistry – Used to register a
-nested editor. Editors are registered with the help of the Eclipse extension
-mechanism.<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>ActionBarContributorRegistry – Used to share common
-ActionBarContributor between nested editor<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>ServicesRegistry – Used to share services across
-nested editors.<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>IPageMngr – Used to add or open an editor instance<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>DiResourceSet – Use to get the available models.<o:p></o:p></span></p>
-
-<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
-mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.3.2.<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>Registering Nested Editor<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>You need an editor allowing <span class=GramE>to save</span> its
-representation as an EMF model. <span class=GramE>GMF editors falls</span> in
-this category, as well as EMF ones.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>Once you have such an editor, you need to:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo37'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Provide an implementation of IPluggableEditorFactory<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo37'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Provide an implementation of IEditorModel<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo37'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Register your editor with the Eclipse extension
-mechanism<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The core impose some requirements on its nested editors: mainly, such
-editor should rely on an EMF model.<o:p></o:p></span></p>
-
-<h4><span lang=EN-US style='mso-ansi-language:EN-US'>Editor Requirements<o:p></o:p></span></h4>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Your
-</span><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>Editor should answer to following requirements: <o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l25 level2 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
-mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span style='mso-list:Ignore'>o<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>Implements
-org.eclipse.ui.IEditorPart<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l25 level2 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
-mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span style='mso-list:Ignore'>o<span
-style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>Can be
-represented by an EObject. That is, it is possible to 1) Get an EObject
-representing the type and the content of the editor. 2) Reopen the editor from
-the EObject. GMF editors fall in this category.<o:p></o:p></span></p>
-
-<h4><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>IPluggableEditorFactory<o:p></o:p></span></h4>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>You need to provide an implementation of this class for your editor.
-This class will be used to register your editor in the Core. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The sash editor will ask the PageModelFactoryRegistry for an editor
-factory suitable for a specified EObject.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>When found, the sash <span class=GramE>editor ask</span> for the
-IEditorModel for this EObject.<o:p></o:p></span></p>
-
-<h4><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>IEditorModel<o:p></o:p></span></h4>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>Implementations of this interface are used to create instances of
-editors. <o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The class provides methods to:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Create the editor instance – Here you should
-instanciate your editor.<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Get the ActionBarContributor associated to the
-editor<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>Get the editor icon and name<o:p></o:p></span></p>
-
-<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
-lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
-Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
-style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
-mso-fareast-language:EN-US'>…<o:p></o:p></span></p>
-
-<h4><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>Register
-as Eclipse Extension<o:p></o:p></span></h4>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>The core load all EditorFactories registered as Eclipse extension (<span
-style='mso-field-code:" REF _Ref251942612 \\h "'><span style='mso-fareast-language:
-FR'>Figure <span style='mso-no-proof:yes'>13</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350031003900340032003600310032000000</w:data>
-</xml><![endif]--></span>).<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'><!--[if gte vml 1]><v:shape id="_x0000_i1037" type="#_x0000_t75"
- style='width:453pt;height:153.75pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image025.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=205
-src="sashAndCoreArchitecture_fichiers/image026.jpg" v:shapes="_x0000_i1037"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref251942612"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref251942612'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref251942612'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref251942612'></span><span style='mso-bookmark:_Ref251942612'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>13</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref251942612'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref251942612'></span><span style='mso-bookmark:_Ref251942612'></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> Registering an nested Editor</span><span
-lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'><o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<h3 style='mso-list:l17 level3 lfo35'><![if !supportLists]><span lang=EN-US
-style='mso-fareast-font-family:Arial;mso-ansi-language:EN-US'><span
-style='mso-list:Ignore'>4.3.1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Create
-Editor Instance Action<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>To add a
-nested editor to the core, following actions should be done:<o:p></o:p></span></p>
-
-<ol style='margin-top:0cm' start=1 type=1>
- <li class=MsoNormal style='mso-list:l16 level1 lfo22;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>Create the nested editor EMF
- representation<o:p></o:p></span></li>
-</ol>
-
-<p class=MsoNormal style='margin-left:53.4pt;text-indent:-18.0pt;mso-list:l33 level1 lfo24;
-tab-stops:list 53.4pt'><![if !supportLists]><span lang=EN-US style='font-family:
-Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
-EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Method
-</span><span class=GramE><span lang=EN-US style='font-family:"Courier New";
-mso-ansi-language:EN-US'>org.eclipse.papyrus.core.adaptor.gmf.AbstractPapyrusGmfCreateDiagramCommandHandler.runAsTransaction(</span></span><span
-lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>DiResourceSet,
-EObject, String) </span><span lang=EN-US style='mso-ansi-language:EN-US'>shows <span
-style='mso-spacerun:yes'> </span>an (complex) example of how a GMF diagram can
-be created.<o:p></o:p></span></p>
-
-<ol style='margin-top:0cm' start=2 type=1>
- <li class=MsoNormal style='mso-list:l16 level1 lfo22;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>Add the root EObject
- representing the nested editor to the DiContentProvider by using the </span><span
- class=GramE><span lang=EN-US style='font-family:"Courier New";mso-ansi-language:
- EN-US'>IPageMngr.openPage(</span></span><span lang=EN-US style='font-family:
- "Courier New";mso-ansi-language:EN-US'>eObject)</span><span lang=EN-US
- style='mso-ansi-language:EN-US'> method.<o:p></o:p></span></li>
-</ol>
-
-<p class=MsoNormal style='margin-left:53.4pt;text-indent:-18.0pt;mso-list:l26 level1 lfo23;
-tab-stops:list 53.4pt'><![if !supportLists]><span lang=EN-US style='font-family:
-Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
-EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>The
-</span><span lang=EN-US style='font-family:"Courier New";mso-ansi-language:
-EN-US'>IPageMngr</span><span lang=EN-US style='mso-ansi-language:EN-US'> can be
-obtained by calling </span><span lang=EN-US style='font-family:"Courier New";
-mso-ansi-language:EN-US'>org.eclipse.papyrus.core.utils.EditorUtils.getIPageMngr()</span><span
-lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-
-<ol style='margin-top:0cm' start=3 type=1>
- <li class=MsoNormal style='mso-list:l16 level1 lfo22;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>The SashSystem should react
- automatically and show the newly added nested editor (if it know how to
- handle such <span class=GramE>editor )</span>.<o:p></o:p></span></li>
-</ol>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>To let the
-Core handle a nested editor, following things are required:<o:p></o:p></span></p>
-
-<ul style='margin-top:0cm' type=disc>
- <li class=MsoNormal style='mso-list:l32 level1 lfo21;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>An implementation of IPageModel
- allowing to create the editor from its EObject (the object previously
- provided to </span><span lang=EN-US style='font-family:"Courier New";
- mso-ansi-language:EN-US'>IPageMngr.openPage(eObject)</span><span
- lang=EN-US style='mso-ansi-language:EN-US'> )<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l32 level1 lfo21;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>The PageModel is registered to
- the PageModelFactory. This is done with the Eclipse extension<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l32 level1 lfo21;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1038" type="#_x0000_t75" style='width:203.25pt;height:30.75pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image027.png" o:title=""/>
- </v:shape><![endif]--><![if !vml]><img border=0 width=271 height=41
- src="sashAndCoreArchitecture_fichiers/image028.jpg" v:shapes="_x0000_i1038"><![endif]><o:p></o:p></span></li>
-</ul>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>There can
-have several Action classes used to create a new editor. All the implementations
-should do what is described before (create a notation.Diagram and add it to the
-DiContentProvider). Example of implementation can be found for the class
-diagram:<o:p></o:p></span></p>
-
-<ul style='margin-top:0cm' type=disc>
- <li class=MsoNormal style='mso-list:l19 level1 lfo26;tab-stops:list 36.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>org.eclipse.papyrus.diagram.clazz.CreateClassDiagramCommand
- <o:p></o:p></span></li>
- <ul style='margin-top:0cm' type=circle>
- <li class=MsoNormal style='mso-list:l19 level2 lfo26;tab-stops:list 72.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>used by the creation wizard
- (declared as extensions)<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l19 level2 lfo26;tab-stops:list 72.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>used by the toolbar and menu
- actions (declared as another extensions)<o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l19 level2 lfo26;tab-stops:list 72.0pt'><span
- lang=EN-US style='mso-ansi-language:EN-US'>This class is quite complex
- because of old stuff (to be removed soon)<o:p></o:p></span></li>
- </ul>
-</ul>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>I would
-like to provide a more general mechanism for the creation wizard. This
-mechanism will complete the Eclipse mechanism for declaring menus and toolbar
-actions. It will allow:<o:p></o:p></span></p>
-
-<ul style='margin-top:0cm' type=disc>
- <li class=MsoNormal style='mso-list:l19 level1 lfo26;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>to</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> declare creation wizard
- actions. <o:p></o:p></span></li>
- <li class=MsoNormal style='mso-list:l19 level1 lfo26;tab-stops:list 36.0pt'><span
- class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>to</span></span><span
- lang=EN-US style='mso-ansi-language:EN-US'> declare custom creation actions
- (for the creation wizard). Among this it will be possible to declare
- actions creating a prepopulated diagram, or actions asking input data
- before being executed. <o:p></o:p></span></li>
-</ul>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>From the
-core point of view, <span class=GramE>an</span> nested editor can be added to
-the multieditor by adding the EObject representing the nested editor to the
-IPageMngr. <span style='mso-field-code:" REF _Ref248635576 \\h "'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:
-yes'>13</span></span><!--[if gte mso 9]><xml>
- <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003600330035003500370036000000</w:data>
-</xml><![endif]--></span> shows what happen when <span class=GramE>an</span>
-nested editor is added to the DiContentProvider.<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
- id="_x0000_i1039" type="#_x0000_t75" style='width:453pt;height:259.5pt'>
- <v:imagedata src="sashAndCoreArchitecture_fichiers/image029.png" o:title=""/>
-</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=346
-src="sashAndCoreArchitecture_fichiers/image030.jpg" v:shapes="_x0000_i1039"><![endif]><o:p></o:p></span></p>
-
-<p class=MsoCaption><a name="_Ref248635576"><span lang=EN-GB style='mso-ansi-language:
-EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref248635576'></span><span
-style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref248635576'><span
-lang=EN-GB style='mso-ansi-language:EN-GB'><span
-style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
-style='mso-element:field-separator'></span></span><![endif]--><span
-style='mso-bookmark:_Ref248635576'></span><span style='mso-bookmark:_Ref248635576'><span
-lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>14</span></span><!--[if supportFields]><span
-style='mso-bookmark:_Ref248635576'></span><span style='mso-element:field-end'></span><![endif]--><span
-style='mso-bookmark:_Ref248635576'></span><span style='mso-bookmark:_Ref248635576'></span><span
-lang=EN-GB style='mso-ansi-language:EN-GB'> Adding nested Editor&nbsp;- Core
-Point of View</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-
-<h3 style='mso-list:l17 level3 lfo36'><![if !supportLists]><span lang=EN-US
-style='mso-fareast-font-family:Arial;mso-ansi-language:EN-US'><span
-style='mso-list:Ignore'>4.3.1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
-</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Example<o:p></o:p></span></h3>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>A complete example can be found here:<o:p></o:p></span></p>
-
-<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
-EN-US'>org.eclipse.papyrus.diagram.umltools.clazz<o:p></o:p></span></p>
-
-</div>
-
-</body>
-
-</html>
+<html xmlns:v="urn:schemas-microsoft-com:vml"
+xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 11">
+<meta name=Originator content="Microsoft Word 11">
+<link rel=File-List href="sashAndCoreArchitecture_fichiers/filelist.xml">
+<link rel=Edit-Time-Data href="sashAndCoreArchitecture_fichiers/editdata.mso">
+<!--[if !mso]>
+<style>
+v\:* {behavior:url(#default#VML);}
+o\:* {behavior:url(#default#VML);}
+w\:* {behavior:url(#default#VML);}
+.shape {behavior:url(#default#VML);}
+</style>
+<![endif]-->
+<title>Sash and Core </title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Author>Cedric</o:Author>
+ <o:LastAuthor>TF227273</o:LastAuthor>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>7777</o:TotalTime>
+ <o:LastPrinted>2010-01-22T13:54:00Z</o:LastPrinted>
+ <o:Created>2010-06-22T14:54:00Z</o:Created>
+ <o:LastSaved>2010-06-22T14:54:00Z</o:LastSaved>
+ <o:Pages>1</o:Pages>
+ <o:Words>3046</o:Words>
+ <o:Characters>16753</o:Characters>
+ <o:Company> dream factory</o:Company>
+ <o:Lines>139</o:Lines>
+ <o:Paragraphs>39</o:Paragraphs>
+ <o:CharactersWithSpaces>19760</o:CharactersWithSpaces>
+ <o:Version>11.9999</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:View>Print</w:View>
+ <w:Zoom>FullPage</w:Zoom>
+ <w:GrammarState>Clean</w:GrammarState>
+ <w:HyphenationZone>21</w:HyphenationZone>
+ <w:ValidateAgainstSchemas/>
+ <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
+ <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
+ <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
+ <w:Compatibility>
+ <w:BreakWrappedTables/>
+ <w:SnapToGridInCell/>
+ <w:WrapTextWithPunct/>
+ <w:UseAsianBreakRules/>
+ <w:UseWord2002TableStyleRules/>
+ </w:Compatibility>
+ <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
+ </w:LatentStyles>
+</xml><![endif]-->
+<style>
+<!--
+ /* Font Definitions */
+ @font-face
+ {font-family:Wingdings;
+ panose-1:5 0 0 0 0 0 0 0 0 0;
+ mso-font-charset:2;
+ mso-generic-font-family:auto;
+ mso-font-pitch:variable;
+ mso-font-signature:0 268435456 0 0 -2147483648 0;}
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:1627421319 -2147483648 8 0 66047 0;}
+@font-face
+ {font-family:"HG Mincho Light J";
+ mso-font-alt:"Times New Roman";
+ mso-font-charset:0;
+ mso-generic-font-family:auto;
+ mso-font-pitch:variable;
+ mso-font-signature:0 0 0 0 0 0;}
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ text-align:justify;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+h1
+ {mso-style-next:Normal;
+ margin-top:12.0pt;
+ margin-right:0cm;
+ margin-bottom:3.0pt;
+ margin-left:18.0pt;
+ text-align:justify;
+ text-indent:-18.0pt;
+ mso-pagination:widow-orphan;
+ page-break-after:avoid;
+ mso-outline-level:1;
+ mso-list:l17 level1 lfo13;
+ tab-stops:list 18.0pt;
+ font-size:16.0pt;
+ font-family:Arial;
+ mso-font-kerning:16.0pt;
+ mso-fareast-language:EN-US;}
+h2
+ {mso-style-next:Normal;
+ margin-top:12.0pt;
+ margin-right:0cm;
+ margin-bottom:3.0pt;
+ margin-left:39.6pt;
+ text-align:justify;
+ text-indent:-21.6pt;
+ mso-pagination:widow-orphan;
+ page-break-after:avoid;
+ mso-outline-level:2;
+ mso-list:l17 level2 lfo13;
+ tab-stops:list 54.0pt;
+ font-size:14.0pt;
+ font-family:Arial;
+ mso-fareast-language:EN-US;
+ font-style:italic;}
+h3
+ {mso-style-next:Normal;
+ margin-top:12.0pt;
+ margin-right:0cm;
+ margin-bottom:3.0pt;
+ margin-left:61.2pt;
+ text-align:justify;
+ text-indent:-25.2pt;
+ mso-pagination:widow-orphan;
+ page-break-after:avoid;
+ mso-outline-level:3;
+ mso-list:l17 level3 lfo13;
+ tab-stops:list 72.0pt;
+ font-size:13.0pt;
+ font-family:Arial;
+ mso-fareast-language:EN-US;}
+h4
+ {mso-style-next:Normal;
+ margin-top:12.0pt;
+ margin-right:0cm;
+ margin-bottom:3.0pt;
+ margin-left:0cm;
+ text-align:justify;
+ mso-pagination:widow-orphan;
+ page-break-after:avoid;
+ mso-outline-level:4;
+ font-size:14.0pt;
+ font-family:"Times New Roman";}
+h5
+ {mso-style-next:Normal;
+ margin-top:12.0pt;
+ margin-right:0cm;
+ margin-bottom:3.0pt;
+ margin-left:0cm;
+ text-align:justify;
+ mso-pagination:widow-orphan;
+ mso-outline-level:5;
+ font-size:13.0pt;
+ font-family:"Times New Roman";
+ font-style:italic;}
+p.MsoFooter, li.MsoFooter, div.MsoFooter
+ {margin:0cm;
+ margin-bottom:.0001pt;
+ text-align:justify;
+ mso-pagination:widow-orphan;
+ tab-stops:center 207.65pt right 415.3pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";
+ mso-ansi-language:EN-US;
+ mso-fareast-language:EN-US;}
+p.MsoCaption, li.MsoCaption, div.MsoCaption
+ {mso-style-next:Normal;
+ margin-top:6.0pt;
+ margin-right:0cm;
+ margin-bottom:6.0pt;
+ margin-left:0cm;
+ text-align:justify;
+ mso-pagination:widow-orphan;
+ font-size:10.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";
+ font-weight:bold;}
+p.MsoTitle, li.MsoTitle, div.MsoTitle
+ {margin-top:12.0pt;
+ margin-right:0cm;
+ margin-bottom:3.0pt;
+ margin-left:0cm;
+ text-align:center;
+ mso-pagination:widow-orphan;
+ mso-outline-level:1;
+ font-size:16.0pt;
+ font-family:Arial;
+ mso-fareast-font-family:"Times New Roman";
+ mso-font-kerning:14.0pt;
+ font-weight:bold;}
+a:link, span.MsoHyperlink
+ {color:blue;
+ text-decoration:underline;
+ text-underline:single;}
+a:visited, span.MsoHyperlinkFollowed
+ {color:#606420;
+ text-decoration:underline;
+ text-underline:single;}
+p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
+ {mso-style-noshow:yes;
+ margin:0cm;
+ margin-bottom:.0001pt;
+ text-align:justify;
+ mso-pagination:widow-orphan;
+ background:navy;
+ font-size:12.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+p.Titre1Unnumbered, li.Titre1Unnumbered, div.Titre1Unnumbered
+ {mso-style-name:"Titre 1 Unnumbered";
+ mso-style-parent:"Titre 2";
+ margin-top:12.0pt;
+ margin-right:0cm;
+ margin-bottom:3.0pt;
+ margin-left:0cm;
+ mso-pagination:widow-orphan;
+ page-break-after:avoid;
+ mso-outline-level:2;
+ font-size:14.0pt;
+ font-family:Arial;
+ mso-fareast-font-family:"Times New Roman";
+ mso-fareast-language:EN-US;
+ font-weight:bold;
+ font-style:italic;}
+span.GramE
+ {mso-style-name:"";
+ mso-gram-e:yes;}
+@page Section1
+ {size:595.3pt 841.9pt;
+ margin:70.85pt 70.85pt 70.85pt 70.85pt;
+ mso-header-margin:35.4pt;
+ mso-footer-margin:35.4pt;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+ /* List Definitions */
+ @list l0
+ {mso-list-id:-132;
+ mso-list-type:simple;
+ mso-list-template-ids:-249420238;}
+@list l0:level1
+ {mso-level-tab-stop:74.6pt;
+ mso-level-number-position:left;
+ margin-left:74.6pt;
+ text-indent:-18.0pt;}
+@list l1
+ {mso-list-id:-131;
+ mso-list-type:simple;
+ mso-list-template-ids:-1333508160;}
+@list l1:level1
+ {mso-level-tab-stop:60.45pt;
+ mso-level-number-position:left;
+ margin-left:60.45pt;
+ text-indent:-18.0pt;}
+@list l2
+ {mso-list-id:-130;
+ mso-list-type:simple;
+ mso-list-template-ids:394265852;}
+@list l2:level1
+ {mso-level-tab-stop:46.3pt;
+ mso-level-number-position:left;
+ margin-left:46.3pt;
+ text-indent:-18.0pt;}
+@list l3
+ {mso-list-id:-129;
+ mso-list-type:simple;
+ mso-list-template-ids:287878184;}
+@list l3:level1
+ {mso-level-tab-stop:32.15pt;
+ mso-level-number-position:left;
+ margin-left:32.15pt;
+ text-indent:-18.0pt;}
+@list l4
+ {mso-list-id:-128;
+ mso-list-type:simple;
+ mso-list-template-ids:583202384;}
+@list l4:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:74.6pt;
+ mso-level-number-position:left;
+ margin-left:74.6pt;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l5
+ {mso-list-id:-127;
+ mso-list-type:simple;
+ mso-list-template-ids:-961781948;}
+@list l5:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:60.45pt;
+ mso-level-number-position:left;
+ margin-left:60.45pt;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l6
+ {mso-list-id:-126;
+ mso-list-type:simple;
+ mso-list-template-ids:902342150;}
+@list l6:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:46.3pt;
+ mso-level-number-position:left;
+ margin-left:46.3pt;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l7
+ {mso-list-id:-125;
+ mso-list-type:simple;
+ mso-list-template-ids:-1088380170;}
+@list l7:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:32.15pt;
+ mso-level-number-position:left;
+ margin-left:32.15pt;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l8
+ {mso-list-id:-120;
+ mso-list-type:simple;
+ mso-list-template-ids:2017499872;}
+@list l8:level1
+ {mso-level-tab-stop:18.0pt;
+ mso-level-number-position:left;
+ margin-left:18.0pt;
+ text-indent:-18.0pt;}
+@list l9
+ {mso-list-id:-119;
+ mso-list-type:simple;
+ mso-list-template-ids:-936112584;}
+@list l9:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:18.0pt;
+ mso-level-number-position:left;
+ margin-left:18.0pt;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l10
+ {mso-list-id:50926754;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1978739192 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l10:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l11
+ {mso-list-id:63653096;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-2051903002 -46369714 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
+@list l11:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l12
+ {mso-list-id:215090344;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1156575396 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l12:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l13
+ {mso-list-id:224686809;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1702673594 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l13:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l14
+ {mso-list-id:370152369;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1376048120 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l14:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l15
+ {mso-list-id:389617626;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1453601744 67895311 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
+@list l15:level1
+ {mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l16
+ {mso-list-id:450638552;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1575564428 67895311 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
+@list l16:level1
+ {mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l16:level2
+ {mso-level-number-format:alpha-lower;
+ mso-level-tab-stop:72.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l17
+ {mso-list-id:469055050;
+ mso-list-template-ids:1387152692;}
+@list l17:level1
+ {mso-level-style-link:"Titre 1";
+ mso-level-tab-stop:18.0pt;
+ mso-level-number-position:left;
+ margin-left:18.0pt;
+ text-indent:-18.0pt;}
+@list l17:level2
+ {mso-level-style-link:"Titre 2";
+ mso-level-text:"%1\.%2\.";
+ mso-level-tab-stop:54.0pt;
+ mso-level-number-position:left;
+ margin-left:39.6pt;
+ text-indent:-21.6pt;}
+@list l17:level3
+ {mso-level-style-link:"Titre 3";
+ mso-level-text:"%1\.%2\.%3\.";
+ mso-level-tab-stop:72.0pt;
+ mso-level-number-position:left;
+ margin-left:61.2pt;
+ text-indent:-25.2pt;}
+@list l17:level4
+ {mso-level-text:"%1\.%2\.%3\.%4\.";
+ mso-level-tab-stop:108.0pt;
+ mso-level-number-position:left;
+ margin-left:86.4pt;
+ text-indent:-32.4pt;}
+@list l17:level5
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
+ mso-level-tab-stop:144.0pt;
+ mso-level-number-position:left;
+ margin-left:111.6pt;
+ text-indent:-39.6pt;}
+@list l17:level6
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
+ mso-level-tab-stop:162.0pt;
+ mso-level-number-position:left;
+ margin-left:136.8pt;
+ text-indent:-46.8pt;}
+@list l17:level7
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
+ mso-level-tab-stop:198.0pt;
+ mso-level-number-position:left;
+ margin-left:162.0pt;
+ text-indent:-54.0pt;}
+@list l17:level8
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
+ mso-level-tab-stop:234.0pt;
+ mso-level-number-position:left;
+ margin-left:187.2pt;
+ text-indent:-61.2pt;}
+@list l17:level9
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
+ mso-level-tab-stop:252.0pt;
+ mso-level-number-position:left;
+ margin-left:216.0pt;
+ text-indent:-72.0pt;}
+@list l18
+ {mso-list-id:578253460;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-465642354 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l18:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l19
+ {mso-list-id:591745468;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1061151342 -46369714 67895299 -46369714 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l19:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l19:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:72.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:"Courier New";}
+@list l19:level3
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:108.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l20
+ {mso-list-id:633022734;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1804438702 67895311 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l20:level1
+ {mso-level-tab-stop:53.4pt;
+ mso-level-number-position:left;
+ margin-left:53.4pt;
+ text-indent:-18.0pt;
+ color:windowtext;}
+@list l21
+ {mso-list-id:834296254;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1253721346 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l21:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l22
+ {mso-list-id:863861844;
+ mso-list-type:hybrid;
+ mso-list-template-ids:256962598 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l22:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l23
+ {mso-list-id:920483153;
+ mso-list-template-ids:-2027151842;}
+@list l23:level1
+ {mso-level-tab-stop:18.0pt;
+ mso-level-number-position:left;
+ margin-left:18.0pt;
+ text-indent:-18.0pt;}
+@list l23:level2
+ {mso-level-text:"%1\.%2\.";
+ mso-level-tab-stop:54.0pt;
+ mso-level-number-position:left;
+ margin-left:39.6pt;
+ text-indent:-21.6pt;}
+@list l23:level3
+ {mso-level-text:"%1\.%2\.%3\.";
+ mso-level-tab-stop:72.0pt;
+ mso-level-number-position:left;
+ margin-left:61.2pt;
+ text-indent:-25.2pt;}
+@list l23:level4
+ {mso-level-text:"%1\.%2\.%3\.%4\.";
+ mso-level-tab-stop:108.0pt;
+ mso-level-number-position:left;
+ margin-left:86.4pt;
+ text-indent:-32.4pt;}
+@list l23:level5
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
+ mso-level-tab-stop:144.0pt;
+ mso-level-number-position:left;
+ margin-left:111.6pt;
+ text-indent:-39.6pt;}
+@list l23:level6
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
+ mso-level-tab-stop:162.0pt;
+ mso-level-number-position:left;
+ margin-left:136.8pt;
+ text-indent:-46.8pt;}
+@list l23:level7
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
+ mso-level-tab-stop:198.0pt;
+ mso-level-number-position:left;
+ margin-left:162.0pt;
+ text-indent:-54.0pt;}
+@list l23:level8
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
+ mso-level-tab-stop:234.0pt;
+ mso-level-number-position:left;
+ margin-left:187.2pt;
+ text-indent:-61.2pt;}
+@list l23:level9
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
+ mso-level-tab-stop:252.0pt;
+ mso-level-number-position:left;
+ margin-left:216.0pt;
+ text-indent:-72.0pt;}
+@list l24
+ {mso-list-id:923954546;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-463724184 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l24:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l25
+ {mso-list-id:1220478831;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-2048500308 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l25:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l25:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:"Courier New";}
+@list l26
+ {mso-list-id:1224557434;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1483294370 -46369714 67895311 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l26:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:53.4pt;
+ mso-level-number-position:left;
+ margin-left:53.4pt;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l26:level2
+ {mso-level-tab-stop:89.4pt;
+ mso-level-number-position:left;
+ margin-left:89.4pt;
+ text-indent:-18.0pt;
+ color:windowtext;}
+@list l27
+ {mso-list-id:1336374424;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1765186426 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l27:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l28
+ {mso-list-id:1400590077;
+ mso-list-template-ids:1754717086;}
+@list l28:level1
+ {mso-level-tab-stop:18.0pt;
+ mso-level-number-position:left;
+ margin-left:18.0pt;
+ text-indent:-18.0pt;}
+@list l28:level2
+ {mso-level-text:"%1\.%2\.";
+ mso-level-tab-stop:54.0pt;
+ mso-level-number-position:left;
+ margin-left:39.6pt;
+ text-indent:-21.6pt;}
+@list l28:level3
+ {mso-level-text:"%1\.%2\.%3\.";
+ mso-level-tab-stop:72.0pt;
+ mso-level-number-position:left;
+ margin-left:61.2pt;
+ text-indent:-25.2pt;}
+@list l28:level4
+ {mso-level-text:"%1\.%2\.%3\.%4\.";
+ mso-level-tab-stop:108.0pt;
+ mso-level-number-position:left;
+ margin-left:86.4pt;
+ text-indent:-32.4pt;}
+@list l28:level5
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
+ mso-level-tab-stop:144.0pt;
+ mso-level-number-position:left;
+ margin-left:111.6pt;
+ text-indent:-39.6pt;}
+@list l28:level6
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
+ mso-level-tab-stop:162.0pt;
+ mso-level-number-position:left;
+ margin-left:136.8pt;
+ text-indent:-46.8pt;}
+@list l28:level7
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
+ mso-level-tab-stop:198.0pt;
+ mso-level-number-position:left;
+ margin-left:162.0pt;
+ text-indent:-54.0pt;}
+@list l28:level8
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
+ mso-level-tab-stop:234.0pt;
+ mso-level-number-position:left;
+ margin-left:187.2pt;
+ text-indent:-61.2pt;}
+@list l28:level9
+ {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
+ mso-level-tab-stop:252.0pt;
+ mso-level-number-position:left;
+ margin-left:216.0pt;
+ text-indent:-72.0pt;}
+@list l29
+ {mso-list-id:1645770726;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-480600758 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l29:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l30
+ {mso-list-id:1846168918;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1576944272 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l30:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l31
+ {mso-list-id:1990741231;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1991534240 67895297 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l31:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;}
+@list l31:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:none;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:"Courier New";}
+@list l32
+ {mso-list-id:2008243448;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1566939782 -46369714 67895299 -46369714 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l32:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l32:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:72.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:"Courier New";}
+@list l32:level3
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:108.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l33
+ {mso-list-id:2044086261;
+ mso-list-type:hybrid;
+ mso-list-template-ids:2025750302 -46369714 67895321 67895323 67895311 67895321 67895323 67895311 67895321 67895323;}
+@list l33:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:53.4pt;
+ mso-level-number-position:left;
+ margin-left:53.4pt;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l33:level2
+ {mso-level-number-format:alpha-lower;
+ mso-level-tab-stop:89.4pt;
+ mso-level-number-position:left;
+ margin-left:89.4pt;
+ text-indent:-18.0pt;}
+@list l34
+ {mso-list-id:2085371194;
+ mso-list-type:hybrid;
+ mso-list-template-ids:614252818 -46369714 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
+@list l34:level1
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:Symbol;
+ mso-fareast-font-family:"HG Mincho Light J";
+ color:windowtext;}
+@list l34:level2
+ {mso-level-number-format:bullet;
+ mso-level-text:o;
+ mso-level-tab-stop:72.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ font-family:"Courier New";}
+ol
+ {margin-bottom:0cm;}
+ul
+ {margin-bottom:0cm;}
+-->
+</style>
+<!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+ {mso-style-name:"Tableau Normal";
+ mso-tstyle-rowband-size:0;
+ mso-tstyle-colband-size:0;
+ mso-style-noshow:yes;
+ mso-style-parent:"";
+ mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
+ mso-para-margin:0cm;
+ mso-para-margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:10.0pt;
+ font-family:"Times New Roman";
+ mso-ansi-language:#0400;
+ mso-fareast-language:#0400;
+ mso-bidi-language:#0400;}
+table.MsoTableGrid
+ {mso-style-name:"Grille du tableau";
+ mso-tstyle-rowband-size:0;
+ mso-tstyle-colband-size:0;
+ border:solid windowtext 1.0pt;
+ mso-border-alt:solid windowtext .5pt;
+ mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
+ mso-border-insideh:.5pt solid windowtext;
+ mso-border-insidev:.5pt solid windowtext;
+ mso-para-margin:0cm;
+ mso-para-margin-bottom:.0001pt;
+ text-align:justify;
+ mso-pagination:widow-orphan;
+ font-size:10.0pt;
+ font-family:"Times New Roman";
+ mso-ansi-language:#0400;
+ mso-fareast-language:#0400;
+ mso-bidi-language:#0400;}
+</style>
+<![endif]--><!--[if gte mso 9]><xml>
+ <o:shapedefaults v:ext="edit" spidmax="2050"/>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <o:shapelayout v:ext="edit">
+ <o:idmap v:ext="edit" data="1"/>
+ </o:shapelayout></xml><![endif]-->
+</head>
+
+<body lang=FR link=blue vlink="#606420" style='tab-interval:35.4pt'>
+
+<div class=Section1>
+
+<p class=MsoTitle><span lang=EN-GB style='mso-ansi-language:EN-GB'>Sash and
+Core <br>
+Architectures<o:p></o:p></span></p>
+
+<p class=MsoNormal align=center style='text-align:center'><span class=GramE><span
+lang=EN-GB style='mso-ansi-language:EN-GB'>Author :</span></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> </span><a
+href="mailto:cedric.dumoulin@lifl.fr"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Cedric Dumoulin</span></a><span lang=EN-GB style='mso-ansi-language:
+EN-GB'><o:p></o:p></span></p>
+
+<p class=MsoNormal align=center style='text-align:center'><span class=GramE><span
+lang=EN-GB style='mso-ansi-language:EN-GB'>Date :</span></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> </span><!--[if supportFields]><span
+style='mso-element:field-begin'></span><span
+style='mso-spacerun:yes'> </span>CREATEDATE \@ &quot;d MMM. yyyy&quot; \*
+MERGEFORMAT <span style='mso-element:field-separator'></span><![endif]--><span
+style='mso-no-proof:yes'>6 déc. 2009</span><!--[if supportFields]><span
+style='mso-element:field-end'></span><![endif]--><span lang=EN-GB
+style='mso-ansi-language:EN-GB'><o:p></o:p></span></p>
+
+<p class=MsoFooter align=center style='text-align:center'><span class=GramE><span
+lang=EN-GB style='mso-ansi-language:EN-GB'>Rev :</span></span><span lang=EN-GB
+style='mso-ansi-language:EN-GB'> </span><!--[if supportFields]><span
+lang=EN-US><span style='mso-element:field-begin'></span><span
+style='mso-spacerun:yes'> </span>SAVEDATE \@ &quot;d MMM. yyyy&quot; \*
+MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><span
+lang=EN-US><span style='mso-no-proof:yes'>22 Jan. 2010</span></span><!--[if supportFields]><span
+lang=EN-US><span style='mso-element:field-end'></span></span><![endif]--><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><o:p></o:p></span></p>
+
+<p class=MsoTitle><span lang=EN-GB style='mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></p>
+
+<h1><![if !supportLists]><span lang=EN-GB style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-GB'><span style='mso-list:Ignore'>1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-GB style='mso-ansi-language:EN-GB'>Introduction<o:p></o:p></span></h1>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash System
+and Core are used by the Papyrus UML editor.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Sash
+System provides an editor of pages that can be arranged in multiple pages
+separated by sashes. A page can be either an editor or a SWT Component.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Core
+provides the main Editor implemented with the Sash. The core also provides a
+notion of Services that can be added to the main editor. The services can then
+be retrieved and shared between nested pages.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Core
+depends on the Sash System (<span style='mso-field-code:" REF _Ref247902394 \\h "'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:
+yes'>1</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340037003900300032003300390034000000</w:data>
+</xml><![endif]--></span>). The Sash System is independent.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shapetype
+ id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
+ path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
+ <v:stroke joinstyle="miter"/>
+ <v:formulas>
+ <v:f eqn="if lineDrawn pixelLineWidth 0"/>
+ <v:f eqn="sum @0 1 0"/>
+ <v:f eqn="sum 0 0 @1"/>
+ <v:f eqn="prod @2 1 2"/>
+ <v:f eqn="prod @3 21600 pixelWidth"/>
+ <v:f eqn="prod @3 21600 pixelHeight"/>
+ <v:f eqn="sum @0 0 1"/>
+ <v:f eqn="prod @6 1 2"/>
+ <v:f eqn="prod @7 21600 pixelWidth"/>
+ <v:f eqn="sum @8 21600 0"/>
+ <v:f eqn="prod @7 21600 pixelHeight"/>
+ <v:f eqn="sum @10 21600 0"/>
+ </v:formulas>
+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
+ <o:lock v:ext="edit" aspectratio="t"/>
+</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:182.25pt;
+ height:214.5pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image001.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=243 height=286
+src="sashAndCoreArchitecture_fichiers/image002.jpg" v:shapes="_x0000_i1025"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref247902394"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref247902394'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref247902394'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref247902394'></span><span style='mso-bookmark:_Ref247902394'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>1</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref247902394'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref247902394'></span><span style='mso-bookmark:_Ref247902394'></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> Sash and Core packages</span><span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+
+<h1><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Sash System<o:p></o:p></span></h1>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The sash
+system is used to render multiple nested pages in one main editor. A page can
+be an editor or a SWT component.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>In the sash
+system, nested pages can be layed in tabfolders and side by side. The sash
+system allows to move the pages from tabfolder to tabfolder, or to create new
+tabfolders.<o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Architecture
+Overview<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The sash
+system main component is the SashWindowsContainer class. It is used to render
+the pages as described above. The class requires two interfaces in order to
+work properly (<span style='mso-field-code:" REF _Ref247906499 \\h "'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:
+yes'>2</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340037003900300036003400390039000000</w:data>
+</xml><![endif]--></span>):<o:p></o:p></span></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal style='mso-list:l24 level1 lfo15;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>ISashWindowsContentProvider – The
+ content provider is used to store the structure representing the pages
+ (editors or components) to be rendered. It is used by the SashContainer to
+ discover and modify the structure.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l24 level1 lfo15;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>IMultiEditorManager – Is
+ required if the SashContainer should render Eclipse IEditor. It is used to
+ get Eclipse Site and EditorInput.<o:p></o:p></span></li>
+</ul>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1026" type="#_x0000_t75" style='width:453.75pt;height:236.25pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image003.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=605 height=315
+src="sashAndCoreArchitecture_fichiers/image004.jpg" v:shapes="_x0000_i1026"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref247906499"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref247906499'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref247906499'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref247906499'></span><span style='mso-bookmark:_Ref247906499'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>2</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref247906499'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref247906499'></span><span style='mso-bookmark:_Ref247906499'></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> Sash Container and its required
+interfaces<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'>The Sash
+Container can be used directly in an Eclipse editor. A base implementation is
+provided in </span><span lang=EN-GB style='font-family:"Courier New";
+mso-ansi-language:EN-GB'>AbstractMultiPageSashEditor</span><span lang=EN-GB
+style='mso-ansi-language:EN-GB'>. This implementation requires a concrete
+implementation for the </span><span lang=EN-US style='font-family:"Courier New";
+mso-ansi-language:EN-US'>ISashWindowsContentProvider</span><span lang=EN-US
+style='mso-ansi-language:EN-US'> interface.</span><span lang=EN-GB
+style='mso-ansi-language:EN-GB'><o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+ContentProvider is used by the SashContainer to discover the content of the
+sash, and to store this content externally.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+ContentProvider main API is ISashWindowContentProvider. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider structure<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+ContentProvider is used to read and store the structure to be rendered by the
+SashContainer. This structure can be implemented in different manners. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+ContentProvider API is design in order to be able to implement the structure by
+using any kind of Objects, called <i style='mso-bidi-font-style:normal'>raw
+model</i>. The Container call special methods (<span class=GramE>createChildSashModel(</span>Object))
+to obtain a well known API from a raw model used in the container.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The content
+provider returns a view on the real structure implementation. The SashContainer
+start to explore this view from the ISashWindowContentProvider. The virtual
+view is made of ‘<i style='mso-bidi-font-style:normal'>Model’</i> represented
+by the different </span><i style='mso-bidi-font-style:normal'><span lang=EN-US
+style='font-family:"Courier New";mso-ansi-language:EN-US'>IXxxModel </span></i><span
+lang=EN-US style='mso-ansi-language:EN-US'>interfaces in <span
+style='mso-field-code:" REF _Ref250718046 \\h "'>Figure <span style='mso-no-proof:
+yes'>3</span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350030003700310038003000340036000000</w:data>
+</xml><![endif]--></span>.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1027" type="#_x0000_t75" style='width:452.25pt;height:186.75pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image005.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=603 height=249
+src="sashAndCoreArchitecture_fichiers/image006.jpg" v:shapes="_x0000_i1027"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref250718046"><span lang=EN-US style='mso-ansi-language:
+EN-US'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref250718046'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref250718046'><span
+lang=EN-US style='mso-ansi-language:EN-US'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref250718046'></span><span style='mso-bookmark:_Ref250718046'><span
+lang=EN-US style='mso-ansi-language:EN-US;mso-no-proof:yes'>3</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref250718046'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref250718046'></span><span style='mso-bookmark:_Ref250718046'></span><span
+lang=EN-US style='mso-ansi-language:EN-US'> ContentProvider set of interfaces
+used by the SashContener<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>From the
+content provider, <span class=GramE>the <span style='mso-spacerun:yes'> </span>virtual</span>
+view is as follow:<o:p></o:p></span></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>A root contains a PanelModel
+ which can be either <span class=GramE>a</span> ISashModel or a IFolderModel.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> ISashModel is made of two
+ children of type IPanelModel. This represent two panel separated by a
+ sash.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> IFolderModel is made of
+ several children of type IPageModel. This represents a tabfolder made of
+ pages.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> IPageModel can be either a IComponentModel
+ or a IEditorModel.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> IComponentModel represents a
+ SWT Component.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l22 level1 lfo14;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>A</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> IEditorModel represent an
+ Eclipse Editor.<o:p></o:p></span></li>
+</ul>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.2.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider main API<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The main
+API of the content provider is ISashWindowsContentProvider. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>There is
+two methods to explore the ContentProvider structure: </span><span class=GramE><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>getRootModel(</span></span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>)</span><span
+lang=EN-US style='mso-ansi-language:EN-US'> and </span><span lang=EN-US
+style='font-family:"Courier New";mso-ansi-language:EN-US'>createChildSashModel(object</span><span
+lang=EN-US style='mso-ansi-language:EN-US'>).<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Others
+methods are used by the Container to modify the content after a user
+interaction.<o:p></o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.3.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider exploration<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>To discover
+the content, the Container first call the <span class=GramE>getRootModel(</span>)
+to get the root model of the content. This returns an Object representing the
+root of the structure of the Sash. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Then the
+container call <span class=GramE>createChildSashModel(</span>object) whith the
+previous object to get the Model represented by the Object. This is either <span
+class=GramE>a</span> ISashPanelModel or a ITabFolderModel.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>For a
+ISashPanelModel the container call the <span class=GramE>getChildren(</span>)
+method to obtain the raw models of the node. Then for each childs it get the
+IAbstractPanelModel by calling <span class=GramE>createChildSashModel(</span>object).<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>For a a
+ITabFolderModel, the container call the <span class=GramE>getChildren(</span>)
+method to obtain the raw models of the node. Then for each childs it get the
+IPageModel by calling <span class=GramE>createChildSashModel(</span>object). <span
+class=GramE>This return</span> either a IComponentModel or a IEditorModel,
+representing a SWT Component or a IEditor.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The <span
+class=GramE>container create</span> the corresponding SWT component or
+IEditorPart by calling appropriate method.<o:p></o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.2.4.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>ContentProvider Modification by the
+SashContainer<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+SashContainer modify the ContentProvider by the way of the
+ISashWindowsContentProvider interface. It doesn’t create models by itself.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+SashContainer transforms user interactions in calls to
+ISashWindowsContentProvider.<span style='mso-spacerun:yes'>  </span>This should
+modify the ContentProvider internal structure. In turn, something must call the
+</span><span class=GramE><span lang=EN-US style='font-family:"Courier New";
+mso-ansi-language:EN-US'>refresh(</span></span><span lang=EN-US
+style='font-family:"Courier New";mso-ansi-language:EN-US'>)</span><span
+lang=EN-US style='mso-ansi-language:EN-US'> method on the SashContainer in
+order to refresh it (to force it to synchronize itself with the
+ContentProvider).<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+SashContainer do not listen on the ContentProvider. This should be implemented
+externally.<o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.3.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>DI
+ContentProvider<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The DiContentProvider is an implementation of the
+ISashWindowContentProvider.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>It is implemented </span><span lang=EN-US style='mso-ansi-language:EN-US'>with
+an EMF metamodel, to save its content as EMF model.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+DiContentProvider is accessible throw the DiSashModelMngr class or
+TransactionalDiSashModelMngr class.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+internal EMF implementation is not intended to be used directly by users. Some
+interfaces are provided in order to access it: IPageMngr <span class=GramE>and<span
+style='mso-spacerun:yes'>  </span><span style='mso-fareast-language:EN-US'>ISashWindowContentProvider</span></span>.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span class=GramE><span lang=EN-US style='mso-ansi-language:
+EN-US'>IPageMngr,</span></span><span lang=EN-US style='mso-ansi-language:EN-US'>
+provides methods to add, open, remove Editors from the ContentProvider. This is
+the API used by user.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>An
+implementation of the IPageMngr can be obtained from the DiSashModelMngr or the
+TransactionalDiSashModelMngr.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.3.1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>DiSashModelMngr<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>To get an
+instance of the DiContentProvider, it is necessary to create an instance of
+DiSashModelMngr (or the Transactional one). This class requires two classes to
+work (<span style='mso-field-code:" REF _Ref250973441 \\h "'>Figure <span
+style='mso-no-proof:yes'>4</span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350030003900370033003400340031000000</w:data>
+</xml><![endif]--></span>): an <i style='mso-bidi-font-style:normal'>EMF
+Resource</i> that is used to store/retrieve content, and <span class=GramE>a</span>
+<i style='mso-bidi-font-style:normal'>IPageModelFactory</i>, used to create
+instance of IPageModel (model used by the SashContentProvider to create
+instance of nested Editor).<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1028" type="#_x0000_t75" style='width:453pt;height:246.75pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image007.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=329
+src="sashAndCoreArchitecture_fichiers/image008.jpg" v:shapes="_x0000_i1028"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref250973441"><span lang=EN-US style='mso-ansi-language:
+EN-US'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref250973441'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref250973441'><span
+lang=EN-US style='mso-ansi-language:EN-US'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref250973441'></span><span style='mso-bookmark:_Ref250973441'><span
+lang=EN-US style='mso-ansi-language:EN-US;mso-no-proof:yes'>4</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref250973441'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref250973441'></span><span style='mso-bookmark:_Ref250973441'></span><span
+lang=EN-US style='mso-ansi-language:EN-US'> DiContentProvider Provided and Required
+Interfaces<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.3.2.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Internal Structure<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The implementation is made of 3 parts:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo28'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>The manager, used to retrieve the concrete
+implementations of provided interfaces (<span style='mso-field-code:" REF _Ref250973441 \\h "'><span
+style='mso-fareast-language:FR'>Figure <span style='mso-no-proof:yes'>4</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350030003900370033003400340031000000</w:data>
+</xml><![endif]--></span>)<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo28'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Implementations of ISashWindowContentProvider and
+IPageMngr (<span style='mso-field-code:" REF _Ref250973441 \\h "'><span
+style='mso-fareast-language:FR'>Figure <span style='mso-no-proof:yes'>4</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350030003900370033003400340031000000</w:data>
+</xml><![endif]--></span>)<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo28'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>An EMF metamodel and model used to store/retrieve
+the sash structure (<span style='mso-field-code:" REF _Ref247906790 \\h "'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-fareast-language:FR'>Figure <span
+style='mso-no-proof:yes'>5</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340037003900300036003700390030000000</w:data>
+</xml><![endif]--></span>).<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1029" type="#_x0000_t75" style='width:453pt;height:237.75pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image009.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=317
+src="sashAndCoreArchitecture_fichiers/image010.jpg" v:shapes="_x0000_i1029"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref247906790"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref247906790'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref247906790'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref247906790'></span><span style='mso-bookmark:_Ref247906790'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>5</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref247906790'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref247906790'></span><span style='mso-bookmark:_Ref247906790'></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> <span class=GramE>The</span> di
+sashwindows metamodel (internal structure).<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'>The EMF
+metamodel is itself made of two parts:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo29'><![if !supportLists]><span
+lang=EN-GB style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-GB'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-GB style='mso-ansi-language:EN-GB'>A
+SashModel representing the structure of SashSystem. This is a tree structure
+whose leaf are objects representing pages (an Editor or a Component).<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo29'><![if !supportLists]><span
+lang=EN-GB style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-GB'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-GB style='mso-ansi-language:EN-GB'>A
+PageList – a list of pages currently available for the SashSystem. This list
+contains objects representing all the pages, the open ones as well as the
+closed ones.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.4.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>AbstractMultiPageSashEditor<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Sash
+System provides an abstract base implementation <span class=GramE>of a
+multieditors</span>. The class is </span><span lang=EN-GB style='font-family:
+"Courier New";mso-ansi-language:EN-GB'>AbstractMultiPageSashEditor. </span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'>This implementation uses a SashContainer
+and requires <span class=GramE>a</span> ISashWindowsContentProvider.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'>This later
+should be set by calling <span class=GramE>setContentProvider(</span>).<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='mso-ansi-language:EN-GB'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1030" type="#_x0000_t75" style='width:453pt;height:275.25pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image011.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=367
+src="sashAndCoreArchitecture_fichiers/image012.jpg" v:shapes="_x0000_i1030"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption>Figure <!--[if supportFields]><span style='mso-element:
+field-begin'></span><span style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC
+<span style='mso-element:field-separator'></span><![endif]--><span
+style='mso-no-proof:yes'>6</span><!--[if supportFields]><span style='mso-element:
+field-end'></span><![endif]--> AbstractMultiPageSashEditor Overview</p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.5.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>SashContainerFactory<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The SashContainerFactory class can be used to get an instance of the
+SashContainer, as this later is not directly accessible.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>Note: this class is not yet implemented. It will be if there is a need
+for it.<o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>2.6.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Glossary<o:p></o:p></span></h2>
+
+<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
+ style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
+ mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh:
+ .5pt solid windowtext;mso-border-insidev:.5pt solid windowtext'>
+ <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
+ <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
+ mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal align=center style='text-align:center'><b
+ style='mso-bidi-font-weight:normal'><span lang=EN-US style='mso-ansi-language:
+ EN-US'>Concept<o:p></o:p></span></b></p>
+ </td>
+ <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
+ border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
+ solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal align=center style='text-align:center'><b
+ style='mso-bidi-font-weight:normal'><span lang=EN-US style='mso-ansi-language:
+ EN-US'>Definition<o:p></o:p></span></b></p>
+ </td>
+ </tr>
+ <tr style='mso-yfti-irow:1'>
+ <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
+ border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
+ padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>SashContainer<o:p></o:p></span></p>
+ </td>
+ <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
+ none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
+ mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
+ mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
+ container is the main component of the sash system. It contains pages that
+ can be arranged in multiple windows, and inside each window the pages can be
+ arranged side by side or in sash folder. Two adjacent pages are separated by
+ a sash allowing <span class=GramE>to resize</span> the pages.<o:p></o:p></span></p>
+ </td>
+ </tr>
+ <tr style='mso-yfti-irow:2'>
+ <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
+ border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
+ padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
+ Window<o:p></o:p></span></p>
+ </td>
+ <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
+ none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
+ mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
+ mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
+ window is a window that can be moved independently from the Eclipse window. A
+ sash window show one or more pages of a Sash container.<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Note: the
+ actual implementation allows only one window docked inside Eclipse.<o:p></o:p></span></p>
+ </td>
+ </tr>
+ <tr style='mso-yfti-irow:3'>
+ <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
+ border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
+ padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
+ Folder<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
+ tabfolder<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Folder<o:p></o:p></span></p>
+ </td>
+ <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
+ none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
+ mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
+ mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
+ folder renders pages in a tab fashion. A folder contains several pages, but show
+ only one of them at a time. Pages can be selected with a tab.<o:p></o:p></span></p>
+ </td>
+ </tr>
+ <tr style='mso-yfti-irow:4'>
+ <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
+ border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
+ padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
+ Panel<o:p></o:p></span></p>
+ </td>
+ <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
+ none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
+ mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
+ mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
+ panel render two <o:p></o:p></span></p>
+ </td>
+ </tr>
+ <tr style='mso-yfti-irow:5;mso-yfti-lastrow:yes'>
+ <td width=307 valign=top style='width:230.3pt;border:solid windowtext 1.0pt;
+ border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
+ padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Sash Page<o:p></o:p></span></p>
+ </td>
+ <td width=307 valign=top style='width:230.3pt;border-top:none;border-left:
+ none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
+ mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
+ mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A sash
+ page is the final <o:p></o:p></span></p>
+ </td>
+ </tr>
+</table>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h1><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Core / Backbone<o:p></o:p></span></h1>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The Core
+main intent is to provide <span class=GramE>a multieditors</span>, that is, an
+editor of editors. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+provided <span class=GramE>multieditors is</span> independent from the nested
+editors. These nested editors can be registered by using the Eclipse extension
+mechanism. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Nested
+editors can share objects thanks to the ServiceRegistry who register services.
+These services are registered programmatically or by using the Eclipse
+extension mechanism.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+multieditors use a Di ContentProvider to register the Sash content.<o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Architecture
+Overview<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The main
+class of the core is the CoreMultiDiagramEditor. It extends the
+sasheditor.AbstractMultiPageEditor to provide <span class=GramE>a multieditors</span>.
+It adds some services needed by the nested editors.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><span
+style='mso-field-code:" REF _Ref248079560 \\h "'>Figure <span style='mso-no-proof:
+yes'>7</span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003000370039003500360030000000</w:data>
+</xml><![endif]--></span> shows the main classes and the added services.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1031" type="#_x0000_t75" style='width:453.75pt;height:248.25pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image013.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=605 height=331
+src="sashAndCoreArchitecture_fichiers/image014.jpg" v:shapes="_x0000_i1031"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref248079560">Figure </a><!--[if supportFields]><span
+style='mso-bookmark:_Ref248079560'></span><span style='mso-element:field-begin'></span><span
+style='mso-bookmark:_Ref248079560'><span style='mso-spacerun:yes'> </span>SEQ
+Figure \* ARABIC <span style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref248079560'><span style='mso-no-proof:yes'>7</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref248079560'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref248079560'></span> Core multieditors overview.<span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>All the
+services are also accessible thanks to the ServicesRegistry. This
+ServicesRegistry is provided to all nested editors while they are created. The
+nested editors can then retrieve any service it need.<o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.2.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Public
+API<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>Main API of the core is represented in <span style='mso-field-code:" REF _Ref251681771 \\h "'><span
+style='mso-fareast-language:FR'>Figure <span style='mso-no-proof:yes'>8</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350031003600380031003700370031000000</w:data>
+</xml><![endif]--></span>.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>From the main editor (aka instance of CoreMultiDiagramEditor<span
+class=GramE>) ,</span> it is possible to get the following members :<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>ServicesRegistry – To get other registered services<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>SashWindowsContainer – To get the active editor or
+refresh all editors<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>DiSashModelManager – To add, remove move, open,
+close diagrams in the editors<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Main IEditorSite – To get the Eclipse
+SelectionService<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>The currently active nested editor. – Required by
+some GMF stuff<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo32'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>LifeCycleEventsProvider – To listen on life cycles
+events on the main editor (doSave, doSaveAs)<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:18.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal style='margin-left:18.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'><!--[if gte vml 1]><v:shape id="_x0000_i1032" type="#_x0000_t75"
+ style='width:453pt;height:315pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image015.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=420
+src="sashAndCoreArchitecture_fichiers/image016.jpg" v:shapes="_x0000_i1032"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref251681767"></a><a name="_Ref251681771"><span
+style='mso-bookmark:_Ref251681767'>Figure </span></a><!--[if supportFields]><span
+style='mso-bookmark:_Ref251681771'><span style='mso-bookmark:_Ref251681767'></span></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref251681771'><span
+style='mso-bookmark:_Ref251681767'><span style='mso-spacerun:yes'> </span>SEQ
+Figure \* ARABIC <span style='mso-element:field-separator'></span></span></span><![endif]--><span
+style='mso-bookmark:_Ref251681771'><span style='mso-bookmark:_Ref251681767'><span
+style='mso-no-proof:yes'>8</span></span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref251681771'><span style='mso-bookmark:_Ref251681767'></span></span><span
+style='mso-element:field-end'></span><![endif]--><span style='mso-bookmark:
+_Ref251681771'><span style='mso-bookmark:_Ref251681767'></span></span><span
+style='mso-bookmark:_Ref251681767'> Core main APIs</span><span
+style='mso-bookmark:_Ref251681767'></span><span lang=EN-US style='mso-ansi-language:
+EN-US;mso-fareast-language:EN-US'><o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo31'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>ServiceRegistry – Used to get registered services<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo31'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.3.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Available
+Services<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The core creates and registers a number of services:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>See org.eclipse.papyrus.core.editor.CoreMultiDiagramEditor.init(IEditorSite,
+IEditorInput) <o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.4.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>ServiceRegistry<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+ServiceRegistry is used to register services that can be found by a key,
+generally the classname of the service.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A service
+can be retrieve in a standard way, generally by using its ID or its implementation
+class.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.4.1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Architecture Overview<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><span
+style='mso-field-code:" REF _Ref248121826 \\h "'>Figure <span style='mso-no-proof:
+yes'>9</span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003100320031003800320036000000</w:data>
+</xml><![endif]--></span> shows the architecture of the ServiceRegistry.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1033" type="#_x0000_t75" style='width:453pt;height:154.5pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image017.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=206
+src="sashAndCoreArchitecture_fichiers/image018.jpg" v:shapes="_x0000_i1033"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref248121826">Figure </a><!--[if supportFields]><span
+style='mso-bookmark:_Ref248121826'></span><span style='mso-element:field-begin'></span><span
+style='mso-bookmark:_Ref248121826'><span style='mso-spacerun:yes'> </span>SEQ
+Figure \* ARABIC <span style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref248121826'><span style='mso-no-proof:yes'>9</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref248121826'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref248121826'></span> ServiceRegistry Architecture<span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.4.2.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Designing a Service<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A service
+is a class providing some methods. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The class
+can be a Pojo, or it can extend the IService interface.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>If the
+service extends the IService interface, the ServiceRegistry will call the life
+cycle methods on the service.<o:p></o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.4.3.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Register a Service<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A service
+can be registered in several ways:<o:p></o:p></span></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal style='mso-list:l12 level1 lfo17;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>Using the Eclipse extension
+ mechanism<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l12 level1 lfo17;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>Programmatically<o:p></o:p></span></li>
+</ul>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h4><span lang=EN-US style='mso-ansi-language:EN-US'>Using the Eclipse
+extension mechanism<o:p></o:p></span></h4>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A service
+can be registered using the Eclipse extension mechanism.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><span
+style='mso-field-code:" REF _Ref248080737 \\h "'><span lang=EN-GB
+style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:yes'>10</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003000380030003700330037000000</w:data>
+</xml><![endif]--></span> shows the extension names and fields.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1034" type="#_x0000_t75" style='width:453.75pt;height:96pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image019.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=605 height=128
+src="sashAndCoreArchitecture_fichiers/image020.jpg" v:shapes="_x0000_i1034"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref248080737"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref248080737'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref248080737'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref248080737'></span><span style='mso-bookmark:_Ref248080737'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>10</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref248080737'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref248080737'></span><span style='mso-bookmark:_Ref248080737'></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> Register a Service with Eclipse
+extension</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>classname</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> – The name of the class
+ implementing the service. The class should implements the IService
+ interface.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>id</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> – id used to register the
+ service when useClassTypeAsKey=true.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>useClassTypeAsKey</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> – Boolean. If true, use the
+ class type as the key to register the service. Otherwise, use the id
+ (which should not be null).<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>priority</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> – If more than one service are
+ declared for the same key, only the service with the higher priority is
+ registered.<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l11 level1 lfo19;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>startkind</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> – lazy or startup. Specify
+ when the service should be started. <span class=GramE>startup</span>: the
+ service will start as soon as it is registered; lazy: the service will
+ start when it is first retrieved from the registry.<o:p></o:p></span></li>
+</ul>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h4><span lang=EN-US style='mso-ansi-language:EN-US'>Programmatically<o:p></o:p></span></h4>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Services
+can be registered programmatically using one of the </span><span class=GramE><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>add(</span></span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>…)</span><span
+lang=EN-US style='mso-ansi-language:EN-US'> methods (<span style='mso-field-code:
+" REF _Ref248115334 \\h "'><span lang=EN-GB style='mso-ansi-language:EN-GB'>Figure
+<span style='mso-no-proof:yes'>11</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003100310035003300330034000000</w:data>
+</xml><![endif]--></span>). In this case, the service can be a Pojo.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1035" type="#_x0000_t75" style='width:281.25pt;height:172.5pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image021.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=375 height=230
+src="sashAndCoreArchitecture_fichiers/image022.jpg" v:shapes="_x0000_i1035"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref248115334"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref248115334'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref248115334'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref248115334'></span><span style='mso-bookmark:_Ref248115334'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>11</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref248115334'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref248115334'></span><span style='mso-bookmark:_Ref248115334'></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> ServicesRegistry class public API.</span><span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>3.5.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>EditorRegistry<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+EditorRegistry is used to register the descriptors of editors that can be
+created in the multieditor. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Editor
+descriptors can be registered using the Eclipse extension mechanism (<span
+style='mso-field-code:" REF _Ref248115692 \\h "'><span lang=EN-GB
+style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:yes'>12</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003100310035003600390032000000</w:data>
+</xml><![endif]--></span>).<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1036" type="#_x0000_t75" style='width:453.75pt;height:78.75pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image023.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=605 height=105
+src="sashAndCoreArchitecture_fichiers/image024.jpg" v:shapes="_x0000_i1036"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref248115692"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref248115692'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref248115692'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref248115692'></span><span style='mso-bookmark:_Ref248115692'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>12</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref248115692'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref248115692'></span><span style='mso-bookmark:_Ref248115692'></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> Nested Editor registered with
+Eclipse Extension</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+EditorRegistry is mainly used by the SashContainer to create nested Editors
+when requested by the user, or when the multieditor is reopened.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The
+EditorRegistry requires the following to work:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h1><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Nested Editors<o:p></o:p></span></h1>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A nested
+editor, or embedded editor, is an editor that can be created and rendered in
+the multieditors.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>A nested
+editor can be a regular Eclipse editor implementing the IEditorPart interface.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>There is
+several ways to create nested editor, depending on which package you use (Sash
+only, <span class=GramE>Core, …)</span>.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Usually,
+all nested editors share common resources, like the EMF Resource. This can be
+achieved with the help of the ServiceRegistry.<o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
+Requirements for nested Editors<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>On the Sash
+level, it is necessary to provide a ContentProvider managing the structure of
+rendered editors.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>The sash
+package provides 3 implementations for the ContentProvider:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>org.eclipse.papyrus.sasheditor.contentprovider.singlefolder<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l31 level2 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Mainly
+used for test purpose. This implementation only allows one tabfolder, and all
+nested editor are in this tabfolder. Implementation using this ContentProvider
+will react as the original Eclipse MultiTabEditor.<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>org.eclipse.papyrus.sasheditor.contentprovider.simple<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l31 level2 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>A
+simple implementation where the structure is only maintained in memory. There
+is no way to save the structure. This is an example design. <o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>org.eclipse.papyrus.sasheditor.contentprovider.di<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l31 level2 lfo30'><![if !supportLists]><span
+lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>o<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>An
+implementation done with an EMF model called sashdi. This implementation allows
+save and restore of nested EMF based editors.<o:p></o:p></span></p>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.2.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Sash
+Di Requirements for nested Editors<o:p></o:p></span></h2>
+
+<h2><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.3.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Core
+Requirements for nested Editors<o:p></o:p></span></h2>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The Core provides some services helping to manage nested editors.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>To enable a nested editor in the multieditor, it is necessary to:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l10 level1 lfo33'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Register the nested editor in the Core Editor
+Factory<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l10 level1 lfo33'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Enable an action creating an new instance of the
+editor<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>You need to provide the following;<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>An Editor (not covered here)<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>An Action or an Handler allowing to create the
+EObject representing the editor and add this EObject to the SashContentProvider<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>A factory that will receive as input the previously
+created EObject, and will create an IEditorModel for your editor.<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>A subclass of IEditorModel. This class is used as
+model by the SashEditor. It serves to create the instance of the Editor for the
+previously created EObject. <o:p></o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.3.1.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Environment Provided by Core<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The Core provide following services that can be helpful when enabling a
+nested editor:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>PageModelFactoryRegistry – Used to register a
+nested editor. Editors are registered with the help of the Eclipse extension
+mechanism.<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>ActionBarContributorRegistry – Used to share common
+ActionBarContributor between nested editor<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>ServicesRegistry – Used to share services across
+nested editors.<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>IPageMngr – Used to add or open an editor instance<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo34'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>DiResourceSet – Use to get the available models.<o:p></o:p></span></p>
+
+<h3><![if !supportLists]><span lang=EN-US style='mso-fareast-font-family:Arial;
+mso-ansi-language:EN-US'><span style='mso-list:Ignore'>4.3.2.<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>Registering Nested Editor<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>You need an editor allowing <span class=GramE>to save</span> its
+representation as an EMF model. <span class=GramE>GMF editors falls</span> in
+this category, as well as EMF ones.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>Once you have such an editor, you need to:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo37'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Provide an implementation of IPluggableEditorFactory<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo37'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Provide an implementation of IEditorModel<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo37'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Register your editor with the Eclipse extension
+mechanism<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The core impose some requirements on its nested editors: mainly, such
+editor should rely on an EMF model.<o:p></o:p></span></p>
+
+<h4><span lang=EN-US style='mso-ansi-language:EN-US'>Editor Requirements<o:p></o:p></span></h4>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Your
+</span><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>Editor should answer to following requirements: <o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l25 level2 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
+mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span style='mso-list:Ignore'>o<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>Implements
+org.eclipse.ui.IEditorPart<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l25 level2 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Courier New";
+mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span style='mso-list:Ignore'>o<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>Can be
+represented by an EObject. That is, it is possible to 1) Get an EObject
+representing the type and the content of the editor. 2) Reopen the editor from
+the EObject. GMF editors fall in this category.<o:p></o:p></span></p>
+
+<h4><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>IPluggableEditorFactory<o:p></o:p></span></h4>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>You need to provide an implementation of this class for your editor.
+This class will be used to register your editor in the Core. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The sash editor will ask the PageModelFactoryRegistry for an editor
+factory suitable for a specified EObject.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>When found, the sash <span class=GramE>editor ask</span> for the
+IEditorModel for this EObject.<o:p></o:p></span></p>
+
+<h4><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>IEditorModel<o:p></o:p></span></h4>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>Implementations of this interface are used to create instances of
+editors. <o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The class provides methods to:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Create the editor instance – Here you should
+instanciate your editor.<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Get the ActionBarContributor associated to the
+editor<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>Get the editor icon and name<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo27'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US;mso-fareast-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US;
+mso-fareast-language:EN-US'>…<o:p></o:p></span></p>
+
+<h4><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'>Register
+as Eclipse Extension<o:p></o:p></span></h4>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>The core load all EditorFactories registered as Eclipse extension (<span
+style='mso-field-code:" REF _Ref251942612 \\h "'><span style='mso-fareast-language:
+FR'>Figure <span style='mso-no-proof:yes'>13</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200350031003900340032003600310032000000</w:data>
+</xml><![endif]--></span>).<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'><!--[if gte vml 1]><v:shape id="_x0000_i1037" type="#_x0000_t75"
+ style='width:453pt;height:153.75pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image025.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=205
+src="sashAndCoreArchitecture_fichiers/image026.jpg" v:shapes="_x0000_i1037"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref251942612"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref251942612'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref251942612'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref251942612'></span><span style='mso-bookmark:_Ref251942612'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>13</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref251942612'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref251942612'></span><span style='mso-bookmark:_Ref251942612'></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> Registering an nested Editor</span><span
+lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:EN-US'><o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<h3 style='mso-list:l17 level3 lfo35'><![if !supportLists]><span lang=EN-US
+style='mso-fareast-font-family:Arial;mso-ansi-language:EN-US'><span
+style='mso-list:Ignore'>4.3.1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Create
+Editor Instance Action<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>To add a
+nested editor to the core, following actions should be done:<o:p></o:p></span></p>
+
+<ol style='margin-top:0cm' start=1 type=1>
+ <li class=MsoNormal style='mso-list:l16 level1 lfo22;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>Create the nested editor EMF
+ representation<o:p></o:p></span></li>
+</ol>
+
+<p class=MsoNormal style='margin-left:53.4pt;text-indent:-18.0pt;mso-list:l33 level1 lfo24;
+tab-stops:list 53.4pt'><![if !supportLists]><span lang=EN-US style='font-family:
+Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
+EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Method
+</span><span class=GramE><span lang=EN-US style='font-family:"Courier New";
+mso-ansi-language:EN-US'>org.eclipse.papyrus.core.adaptor.gmf.AbstractPapyrusGmfCreateDiagramCommandHandler.runAsTransaction(</span></span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>DiResourceSet,
+EObject, String) </span><span lang=EN-US style='mso-ansi-language:EN-US'>shows <span
+style='mso-spacerun:yes'> </span>an (complex) example of how a GMF diagram can
+be created.<o:p></o:p></span></p>
+
+<ol style='margin-top:0cm' start=2 type=1>
+ <li class=MsoNormal style='mso-list:l16 level1 lfo22;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>Add the root EObject
+ representing the nested editor to the DiContentProvider by using the </span><span
+ class=GramE><span lang=EN-US style='font-family:"Courier New";mso-ansi-language:
+ EN-US'>IPageMngr.openPage(</span></span><span lang=EN-US style='font-family:
+ "Courier New";mso-ansi-language:EN-US'>eObject)</span><span lang=EN-US
+ style='mso-ansi-language:EN-US'> method.<o:p></o:p></span></li>
+</ol>
+
+<p class=MsoNormal style='margin-left:53.4pt;text-indent:-18.0pt;mso-list:l26 level1 lfo23;
+tab-stops:list 53.4pt'><![if !supportLists]><span lang=EN-US style='font-family:
+Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
+EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>The
+</span><span lang=EN-US style='font-family:"Courier New";mso-ansi-language:
+EN-US'>IPageMngr</span><span lang=EN-US style='mso-ansi-language:EN-US'> can be
+obtained by calling </span><span lang=EN-US style='font-family:"Courier New";
+mso-ansi-language:EN-US'>org.eclipse.papyrus.core.utils.EditorUtils.getIPageMngr()</span><span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+
+<ol style='margin-top:0cm' start=3 type=1>
+ <li class=MsoNormal style='mso-list:l16 level1 lfo22;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>The SashSystem should react
+ automatically and show the newly added nested editor (if it know how to
+ handle such <span class=GramE>editor )</span>.<o:p></o:p></span></li>
+</ol>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>To let the
+Core handle a nested editor, following things are required:<o:p></o:p></span></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal style='mso-list:l32 level1 lfo21;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>An implementation of IPageModel
+ allowing to create the editor from its EObject (the object previously
+ provided to </span><span lang=EN-US style='font-family:"Courier New";
+ mso-ansi-language:EN-US'>IPageMngr.openPage(eObject)</span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> )<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l32 level1 lfo21;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>The PageModel is registered to
+ the PageModelFactory. This is done with the Eclipse extension<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l32 level1 lfo21;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1038" type="#_x0000_t75" style='width:203.25pt;height:30.75pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image027.png" o:title=""/>
+ </v:shape><![endif]--><![if !vml]><img border=0 width=271 height=41
+ src="sashAndCoreArchitecture_fichiers/image028.jpg" v:shapes="_x0000_i1038"><![endif]><o:p></o:p></span></li>
+</ul>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>There can
+have several Action classes used to create a new editor. All the implementations
+should do what is described before (create a notation.Diagram and add it to the
+DiContentProvider). Example of implementation can be found for the class
+diagram:<o:p></o:p></span></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal style='mso-list:l19 level1 lfo26;tab-stops:list 36.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>org.eclipse.papyrus.diagram.clazz.CreateClassDiagramCommand
+ <o:p></o:p></span></li>
+ <ul style='margin-top:0cm' type=circle>
+ <li class=MsoNormal style='mso-list:l19 level2 lfo26;tab-stops:list 72.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>used by the creation wizard
+ (declared as extensions)<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l19 level2 lfo26;tab-stops:list 72.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>used by the toolbar and menu
+ actions (declared as another extensions)<o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l19 level2 lfo26;tab-stops:list 72.0pt'><span
+ lang=EN-US style='mso-ansi-language:EN-US'>This class is quite complex
+ because of old stuff (to be removed soon)<o:p></o:p></span></li>
+ </ul>
+</ul>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>I would
+like to provide a more general mechanism for the creation wizard. This
+mechanism will complete the Eclipse mechanism for declaring menus and toolbar
+actions. It will allow:<o:p></o:p></span></p>
+
+<ul style='margin-top:0cm' type=disc>
+ <li class=MsoNormal style='mso-list:l19 level1 lfo26;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>to</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> declare creation wizard
+ actions. <o:p></o:p></span></li>
+ <li class=MsoNormal style='mso-list:l19 level1 lfo26;tab-stops:list 36.0pt'><span
+ class=GramE><span lang=EN-US style='mso-ansi-language:EN-US'>to</span></span><span
+ lang=EN-US style='mso-ansi-language:EN-US'> declare custom creation actions
+ (for the creation wizard). Among this it will be possible to declare
+ actions creating a prepopulated diagram, or actions asking input data
+ before being executed. <o:p></o:p></span></li>
+</ul>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>From the
+core point of view, <span class=GramE>an</span> nested editor can be added to
+the multieditor by adding the EObject representing the nested editor to the
+IPageMngr. <span style='mso-field-code:" REF _Ref248635576 \\h "'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'>Figure <span style='mso-no-proof:
+yes'>13</span></span><!--[if gte mso 9]><xml>
+ <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200340038003600330035003500370036000000</w:data>
+</xml><![endif]--></span> shows what happen when <span class=GramE>an</span>
+nested editor is added to the DiContentProvider.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'><!--[if gte vml 1]><v:shape
+ id="_x0000_i1039" type="#_x0000_t75" style='width:453pt;height:259.5pt'>
+ <v:imagedata src="sashAndCoreArchitecture_fichiers/image029.png" o:title=""/>
+</v:shape><![endif]--><![if !vml]><img border=0 width=604 height=346
+src="sashAndCoreArchitecture_fichiers/image030.jpg" v:shapes="_x0000_i1039"><![endif]><o:p></o:p></span></p>
+
+<p class=MsoCaption><a name="_Ref248635576"><span lang=EN-GB style='mso-ansi-language:
+EN-GB'>Figure </span></a><!--[if supportFields]><span style='mso-bookmark:_Ref248635576'></span><span
+style='mso-element:field-begin'></span><span style='mso-bookmark:_Ref248635576'><span
+lang=EN-GB style='mso-ansi-language:EN-GB'><span
+style='mso-spacerun:yes'> </span>SEQ Figure \* ARABIC </span><span
+style='mso-element:field-separator'></span></span><![endif]--><span
+style='mso-bookmark:_Ref248635576'></span><span style='mso-bookmark:_Ref248635576'><span
+lang=EN-GB style='mso-ansi-language:EN-GB;mso-no-proof:yes'>14</span></span><!--[if supportFields]><span
+style='mso-bookmark:_Ref248635576'></span><span style='mso-element:field-end'></span><![endif]--><span
+style='mso-bookmark:_Ref248635576'></span><span style='mso-bookmark:_Ref248635576'></span><span
+lang=EN-GB style='mso-ansi-language:EN-GB'> Adding nested Editor&nbsp;- Core
+Point of View</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+
+<h3 style='mso-list:l17 level3 lfo36'><![if !supportLists]><span lang=EN-US
+style='mso-fareast-font-family:Arial;mso-ansi-language:EN-US'><span
+style='mso-list:Ignore'>4.3.1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Example<o:p></o:p></span></h3>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>A complete example can be found here:<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US;mso-fareast-language:
+EN-US'>org.eclipse.papyrus.diagram.umltools.clazz<o:p></o:p></span></p>
+
+</div>
+
+</body>
+
+</html>
diff --git a/plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture_fichiers/filelist.xml b/plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture_fichiers/filelist.xml
index e285d4ed4d6..3d7665735d4 100644
--- a/plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture_fichiers/filelist.xml
+++ b/plugins/developer/org.eclipse.papyrus.doc/tutorials/SashEditor/sashAndCoreArchitecture_fichiers/filelist.xml
@@ -1,34 +1,34 @@
-<xml xmlns:o="urn:schemas-microsoft-com:office:office">
- <o:MainFile HRef="../sashAndCoreArchitecture.htm"/>
- <o:File HRef="image001.png"/>
- <o:File HRef="image002.jpg"/>
- <o:File HRef="image003.png"/>
- <o:File HRef="image004.jpg"/>
- <o:File HRef="image005.png"/>
- <o:File HRef="image006.jpg"/>
- <o:File HRef="image007.png"/>
- <o:File HRef="image008.jpg"/>
- <o:File HRef="image009.png"/>
- <o:File HRef="image010.jpg"/>
- <o:File HRef="image011.png"/>
- <o:File HRef="image012.jpg"/>
- <o:File HRef="image013.png"/>
- <o:File HRef="image014.jpg"/>
- <o:File HRef="image015.png"/>
- <o:File HRef="image016.jpg"/>
- <o:File HRef="image017.png"/>
- <o:File HRef="image018.jpg"/>
- <o:File HRef="image019.png"/>
- <o:File HRef="image020.jpg"/>
- <o:File HRef="image021.png"/>
- <o:File HRef="image022.jpg"/>
- <o:File HRef="image023.png"/>
- <o:File HRef="image024.jpg"/>
- <o:File HRef="image025.png"/>
- <o:File HRef="image026.jpg"/>
- <o:File HRef="image027.png"/>
- <o:File HRef="image028.jpg"/>
- <o:File HRef="image029.png"/>
- <o:File HRef="image030.jpg"/>
- <o:File HRef="filelist.xml"/>
+<xml xmlns:o="urn:schemas-microsoft-com:office:office">
+ <o:MainFile HRef="../sashAndCoreArchitecture.htm"/>
+ <o:File HRef="image001.png"/>
+ <o:File HRef="image002.jpg"/>
+ <o:File HRef="image003.png"/>
+ <o:File HRef="image004.jpg"/>
+ <o:File HRef="image005.png"/>
+ <o:File HRef="image006.jpg"/>
+ <o:File HRef="image007.png"/>
+ <o:File HRef="image008.jpg"/>
+ <o:File HRef="image009.png"/>
+ <o:File HRef="image010.jpg"/>
+ <o:File HRef="image011.png"/>
+ <o:File HRef="image012.jpg"/>
+ <o:File HRef="image013.png"/>
+ <o:File HRef="image014.jpg"/>
+ <o:File HRef="image015.png"/>
+ <o:File HRef="image016.jpg"/>
+ <o:File HRef="image017.png"/>
+ <o:File HRef="image018.jpg"/>
+ <o:File HRef="image019.png"/>
+ <o:File HRef="image020.jpg"/>
+ <o:File HRef="image021.png"/>
+ <o:File HRef="image022.jpg"/>
+ <o:File HRef="image023.png"/>
+ <o:File HRef="image024.jpg"/>
+ <o:File HRef="image025.png"/>
+ <o:File HRef="image026.jpg"/>
+ <o:File HRef="image027.png"/>
+ <o:File HRef="image028.jpg"/>
+ <o:File HRef="image029.png"/>
+ <o:File HRef="image030.jpg"/>
+ <o:File HRef="filelist.xml"/>
</xml> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.classpath b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.classpath
index 2d1a4302f04..64c5e31b7a2 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.classpath
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project
index 4681e7953a6..3a735d485c7 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.domaincodegen.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.domaincodegen.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.settings/org.eclipse.jdt.core.prefs
index 4759947300a..c585cc455ae 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,291 +1,291 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=260
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=260
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF
index 46500b18611..b1557336613 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF
@@ -1,21 +1,21 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.ocl,
- org.eclipse.ocl.ecore,
- org.eclipse.acceleo.model,
- org.eclipse.acceleo.engine,
- org.eclipse.papyrus.domaincontextcodegen;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Eclipse-LazyStart: true
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.papyrus.domaincodegen.ui.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.domaincodegen.ui;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.xmi,
+ org.eclipse.ocl,
+ org.eclipse.ocl.ecore,
+ org.eclipse.acceleo.model,
+ org.eclipse.acceleo.engine,
+ org.eclipse.papyrus.domaincontextcodegen;bundle-version="1.2.0"
+Bundle-Vendor: %providerName
+Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-Activator: org.eclipse.papyrus.domaincodegen.ui.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.domaincodegen.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/about.html b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/about.html
index a80e9697355..23506a4bae1 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/about.html
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/about.html
@@ -1,26 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-
-
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>About</title>
-</head><body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
</body></html> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/build.properties b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/build.properties
index 30ab365685b..fc1ae8f3c1a 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/build.properties
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/build.properties
@@ -1,10 +1,10 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- icons/,\
- plugin.properties,\
- about.html
-
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/,\
+ plugin.properties,\
+ about.html
+
src.includes = about.html
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.properties b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.properties
index 8d6b5ffad67..6c135dd415a 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.properties
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.properties
@@ -1,12 +1,12 @@
-#################################################################################
-# Copyright (c) 2010 CEA LIST.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Patrick Tessier patrick.tessier@cea.fr - Initial API and implementation
-##################################################################################
-pluginName=Acceleo DomainCodegen Module IDE Plug-in
-providerName=Eclipse Modeling Project
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Patrick Tessier patrick.tessier@cea.fr - Initial API and implementation
+##################################################################################
+pluginName=Acceleo DomainCodegen Module IDE Plug-in
+providerName=Eclipse Modeling Project
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.xml b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.xml
index c9a472f5c07..620c7bb156e 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.xml
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/plugin.xml
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension point="org.eclipse.ui.popupMenus">
- <objectContribution
- adaptable="true"
- objectClass="org.eclipse.core.resources.IFile"
- nameFilter="*.domaincontextcodegen"
- id="org.eclipse.papyrus.domaincodegen.ui.popupMenus.contribution.IFile">
- <menu id="org.eclipse.acceleo.module.menu" label="Acceleo Model to Text" path="additionsAcceleo">
- <groupMarker name="acceleo"/>
- </menu>
- <action
- class="org.eclipse.papyrus.domaincodegen.ui.popupMenus.AcceleoGenerateElementTypeAction"
- enablesFor="+"
- id="org.eclipse.papyrus.domaincodegen.ui.popupMenus.acceleoGenerateDomainCodegenAction"
- icon="icons/default.gif"
- label="Generate ElementType declarations"
- menubarPath="org.eclipse.acceleo.module.menu/acceleo"/>
- <action
- class="org.eclipse.papyrus.domaincodegen.ui.popupMenus.AcceleoGenerateCreationHandlersAction"
- enablesFor="+"
- icon="icons/default.gif"
- id="org.eclipse.papyrus.domaincodegen.ui.popupMenus.acceleoGenerateHandlersCodegenAction"
- label="Generate Creation handlers"
- menubarPath="org.eclipse.acceleo.module.menu/acceleo">
- </action>
- </objectContribution>
- </extension>
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension point="org.eclipse.ui.popupMenus">
+ <objectContribution
+ adaptable="true"
+ objectClass="org.eclipse.core.resources.IFile"
+ nameFilter="*.domaincontextcodegen"
+ id="org.eclipse.papyrus.domaincodegen.ui.popupMenus.contribution.IFile">
+ <menu id="org.eclipse.acceleo.module.menu" label="Acceleo Model to Text" path="additionsAcceleo">
+ <groupMarker name="acceleo"/>
+ </menu>
+ <action
+ class="org.eclipse.papyrus.domaincodegen.ui.popupMenus.AcceleoGenerateElementTypeAction"
+ enablesFor="+"
+ id="org.eclipse.papyrus.domaincodegen.ui.popupMenus.acceleoGenerateDomainCodegenAction"
+ icon="icons/default.gif"
+ label="Generate ElementType declarations"
+ menubarPath="org.eclipse.acceleo.module.menu/acceleo"/>
+ <action
+ class="org.eclipse.papyrus.domaincodegen.ui.popupMenus.AcceleoGenerateCreationHandlersAction"
+ enablesFor="+"
+ icon="icons/default.gif"
+ id="org.eclipse.papyrus.domaincodegen.ui.popupMenus.acceleoGenerateHandlersCodegenAction"
+ label="Generate Creation handlers"
+ menubarPath="org.eclipse.acceleo.module.menu/acceleo">
+ </action>
+ </objectContribution>
+ </extension>
+</plugin>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/Activator.java b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/Activator.java
index de717b6b8cf..c4f54c913d9 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/Activator.java
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/Activator.java
@@ -1,70 +1,70 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 Obeo.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Obeo - initial API and implementation
- *******************************************************************************/
-package org.eclipse.papyrus.domaincodegen.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle.
- */
-public class Activator extends AbstractUIPlugin {
-
- /**
- * The plug-in ID.
- */
- public static final String PLUGIN_ID = "org.eclipse.papyrus.domaincodegen.ui";
-
- /**
- * The shared instance.
- */
- private static Activator plugin;
-
- /**
- * The constructor.
- */
- public Activator() {
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
- * @generated
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
- * @generated
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance.
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.domaincodegen.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /**
+ * The plug-in ID.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.domaincodegen.ui";
+
+ /**
+ * The shared instance.
+ */
+ private static Activator plugin;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+ * @generated
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+ * @generated
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateHandlers.java b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateHandlers.java
index b930f4d0358..f66ecf9f5ac 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateHandlers.java
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateHandlers.java
@@ -1,78 +1,78 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 Obeo.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Obeo - initial API and implementation
- *******************************************************************************/
-package org.eclipse.papyrus.domaincodegen.ui.common;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.common.util.BasicMonitor;
-import org.eclipse.emf.common.util.URI;
-
-
-/**
- * Main entry point of the 'DomainCodegen' generation module.
- */
-public class GenerateHandlers {
-
- /**
- * The model URI.
- */
- private URI modelURI;
-
- /**
- * The output folder.
- */
- private File targetFolder;
-
- /**
- * The other arguments.
- */
- List<? extends Object> arguments;
-
- /**
- * Constructor.
- *
- * @param modelURI
- * is the URI of the model.
- * @param targetFolder
- * is the output folder
- * @param arguments
- * are the other arguments
- * @throws IOException
- * Thrown when the output cannot be saved.
- * @generated
- */
- public GenerateHandlers(URI modelURI, File targetFolder, List<? extends Object> arguments) {
- this.modelURI = modelURI;
- this.targetFolder = targetFolder;
- this.arguments = arguments;
- }
-
- /**
- * Launches the generation.
- *
- * @param monitor
- * This will be used to display progress information to the user.
- * @throws IOException
- * Thrown when the output cannot be saved.
- * @generated
- */
- public void doGenerate(IProgressMonitor monitor) throws IOException {
- if (!targetFolder.exists()) {
- targetFolder.mkdirs();
- }
-
- org.eclipse.papyrus.domaincontextcodegen.modules.GenerateHandlers gen0 = new org.eclipse.papyrus.domaincontextcodegen.modules.GenerateHandlers(modelURI, targetFolder, arguments);
- gen0.doGenerate(BasicMonitor.toMonitor(monitor));
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.domaincodegen.ui.common;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.BasicMonitor;
+import org.eclipse.emf.common.util.URI;
+
+
+/**
+ * Main entry point of the 'DomainCodegen' generation module.
+ */
+public class GenerateHandlers {
+
+ /**
+ * The model URI.
+ */
+ private URI modelURI;
+
+ /**
+ * The output folder.
+ */
+ private File targetFolder;
+
+ /**
+ * The other arguments.
+ */
+ List<? extends Object> arguments;
+
+ /**
+ * Constructor.
+ *
+ * @param modelURI
+ * is the URI of the model.
+ * @param targetFolder
+ * is the output folder
+ * @param arguments
+ * are the other arguments
+ * @throws IOException
+ * Thrown when the output cannot be saved.
+ * @generated
+ */
+ public GenerateHandlers(URI modelURI, File targetFolder, List<? extends Object> arguments) {
+ this.modelURI = modelURI;
+ this.targetFolder = targetFolder;
+ this.arguments = arguments;
+ }
+
+ /**
+ * Launches the generation.
+ *
+ * @param monitor
+ * This will be used to display progress information to the user.
+ * @throws IOException
+ * Thrown when the output cannot be saved.
+ * @generated
+ */
+ public void doGenerate(IProgressMonitor monitor) throws IOException {
+ if (!targetFolder.exists()) {
+ targetFolder.mkdirs();
+ }
+
+ org.eclipse.papyrus.domaincontextcodegen.modules.GenerateHandlers gen0 = new org.eclipse.papyrus.domaincontextcodegen.modules.GenerateHandlers(modelURI, targetFolder, arguments);
+ gen0.doGenerate(BasicMonitor.toMonitor(monitor));
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateTypes.java b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateTypes.java
index ca630d09d2f..af3e8ed44f9 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateTypes.java
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/common/GenerateTypes.java
@@ -1,79 +1,79 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 Obeo.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Obeo - initial API and implementation
- *******************************************************************************/
-package org.eclipse.papyrus.domaincodegen.ui.common;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.common.util.BasicMonitor;
-import org.eclipse.emf.common.util.URI;
-
-
-/**
- * Main entry point of the 'DomainCodegen' generation module.
- */
-public class GenerateTypes {
-
- /**
- * The model URI.
- */
- private URI modelURI;
-
- /**
- * The output folder.
- */
- private File targetFolder;
-
- /**
- * The other arguments.
- */
- List<? extends Object> arguments;
-
- /**
- * Constructor.
- *
- * @param modelURI
- * is the URI of the model.
- * @param targetFolder
- * is the output folder
- * @param arguments
- * are the other arguments
- * @throws IOException
- * Thrown when the output cannot be saved.
- * @generated
- */
- public GenerateTypes(URI modelURI, File targetFolder, List<? extends Object> arguments) {
- this.modelURI = modelURI;
- this.targetFolder = targetFolder;
- this.arguments = arguments;
- }
-
- /**
- * Launches the generation.
- *
- * @param monitor
- * This will be used to display progress information to the user.
- * @throws IOException
- * Thrown when the output cannot be saved.
- * @generated
- */
- public void doGenerate(IProgressMonitor monitor) throws IOException {
- if (!targetFolder.exists()) {
- targetFolder.mkdirs();
- }
-
- org.eclipse.papyrus.domaincontextcodegen.modules.GenerateTypes gen0 = new org.eclipse.papyrus.domaincontextcodegen.modules.GenerateTypes(modelURI, targetFolder, arguments);
- gen0.doGenerate(BasicMonitor.toMonitor(monitor));
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.domaincodegen.ui.common;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.BasicMonitor;
+import org.eclipse.emf.common.util.URI;
+
+
+/**
+ * Main entry point of the 'DomainCodegen' generation module.
+ */
+public class GenerateTypes {
+
+ /**
+ * The model URI.
+ */
+ private URI modelURI;
+
+ /**
+ * The output folder.
+ */
+ private File targetFolder;
+
+ /**
+ * The other arguments.
+ */
+ List<? extends Object> arguments;
+
+ /**
+ * Constructor.
+ *
+ * @param modelURI
+ * is the URI of the model.
+ * @param targetFolder
+ * is the output folder
+ * @param arguments
+ * are the other arguments
+ * @throws IOException
+ * Thrown when the output cannot be saved.
+ * @generated
+ */
+ public GenerateTypes(URI modelURI, File targetFolder, List<? extends Object> arguments) {
+ this.modelURI = modelURI;
+ this.targetFolder = targetFolder;
+ this.arguments = arguments;
+ }
+
+ /**
+ * Launches the generation.
+ *
+ * @param monitor
+ * This will be used to display progress information to the user.
+ * @throws IOException
+ * Thrown when the output cannot be saved.
+ * @generated
+ */
+ public void doGenerate(IProgressMonitor monitor) throws IOException {
+ if (!targetFolder.exists()) {
+ targetFolder.mkdirs();
+ }
+
+ org.eclipse.papyrus.domaincontextcodegen.modules.GenerateTypes gen0 = new org.eclipse.papyrus.domaincontextcodegen.modules.GenerateTypes(modelURI, targetFolder, arguments);
+ gen0.doGenerate(BasicMonitor.toMonitor(monitor));
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateCreationHandlersAction.java b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateCreationHandlersAction.java
index da641031e39..abc655e1e12 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateCreationHandlersAction.java
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateCreationHandlersAction.java
@@ -1,118 +1,118 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 Obeo.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Obeo - initial API and implementation
- *******************************************************************************/
-package org.eclipse.papyrus.domaincodegen.ui.popupMenus;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.papyrus.domaincodegen.ui.Activator;
-import org.eclipse.papyrus.domaincodegen.ui.common.GenerateHandlers;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionDelegate;
-
-/**
- * HandlersCodegen code generation.
- */
-public class AcceleoGenerateCreationHandlersAction extends ActionDelegate implements IActionDelegate {
-
- /**
- * Selected model files.
- */
- protected List<IFile> files;
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.ui.actions.ActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
- * @generated
- */
- @Override
- @SuppressWarnings("unchecked")
- public void selectionChanged(IAction action, ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- files = ((IStructuredSelection) selection).toList();
- }
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.ui.actions.ActionDelegate#run(org.eclipse.jface.action.IAction)
- * @generated
- */
- @Override
- public void run(IAction action) {
- if (files != null) {
- IRunnableWithProgress operation = new IRunnableWithProgress() {
-
- public void run(IProgressMonitor monitor) {
- try {
- Iterator<IFile> filesIt = files.iterator();
- while (filesIt.hasNext()) {
- IFile model = filesIt.next();
- URI modelURI = URI.createPlatformResourceURI(model.getFullPath().toString(), true);
- try {
- // IContainer target = model.getProject().getFolder("src-gen");
- IContainer target = model.getProject().getParent(); // target = Workspace location
- GenerateHandlers generator = new GenerateHandlers(modelURI, target.getLocation().toFile(), getArguments());
- generator.doGenerate(monitor);
- } catch (IOException e) {
- IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.getDefault().getLog().log(status);
- } finally {
- model.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
- }
- }
- } catch (CoreException e) {
- IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.getDefault().getLog().log(status);
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
- } catch (InvocationTargetException e) {
- IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.getDefault().getLog().log(status);
- } catch (InterruptedException e) {
- IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.getDefault().getLog().log(status);
- }
- }
- }
-
- /**
- * Computes the arguments of the generator.
- *
- * @return the arguments
- * @generated
- */
- protected List<? extends Object> getArguments() {
- return new ArrayList<String>();
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.domaincodegen.ui.popupMenus;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.domaincodegen.ui.Activator;
+import org.eclipse.papyrus.domaincodegen.ui.common.GenerateHandlers;
+import org.eclipse.ui.IActionDelegate;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionDelegate;
+
+/**
+ * HandlersCodegen code generation.
+ */
+public class AcceleoGenerateCreationHandlersAction extends ActionDelegate implements IActionDelegate {
+
+ /**
+ * Selected model files.
+ */
+ protected List<IFile> files;
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.actions.ActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public void selectionChanged(IAction action, ISelection selection) {
+ if (selection instanceof IStructuredSelection) {
+ files = ((IStructuredSelection) selection).toList();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.actions.ActionDelegate#run(org.eclipse.jface.action.IAction)
+ * @generated
+ */
+ @Override
+ public void run(IAction action) {
+ if (files != null) {
+ IRunnableWithProgress operation = new IRunnableWithProgress() {
+
+ public void run(IProgressMonitor monitor) {
+ try {
+ Iterator<IFile> filesIt = files.iterator();
+ while (filesIt.hasNext()) {
+ IFile model = filesIt.next();
+ URI modelURI = URI.createPlatformResourceURI(model.getFullPath().toString(), true);
+ try {
+ // IContainer target = model.getProject().getFolder("src-gen");
+ IContainer target = model.getProject().getParent(); // target = Workspace location
+ GenerateHandlers generator = new GenerateHandlers(modelURI, target.getLocation().toFile(), getArguments());
+ generator.doGenerate(monitor);
+ } catch (IOException e) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ } finally {
+ model.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ }
+ }
+ } catch (CoreException e) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ }
+ }
+ };
+ try {
+ PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
+ } catch (InvocationTargetException e) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ } catch (InterruptedException e) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ }
+ }
+ }
+
+ /**
+ * Computes the arguments of the generator.
+ *
+ * @return the arguments
+ * @generated
+ */
+ protected List<? extends Object> getArguments() {
+ return new ArrayList<String>();
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateElementTypeAction.java b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateElementTypeAction.java
index 10f3d258694..c6893ddda1c 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateElementTypeAction.java
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/src/org/eclipse/papyrus/domaincodegen/ui/popupMenus/AcceleoGenerateElementTypeAction.java
@@ -1,119 +1,119 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 Obeo.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Obeo - initial API and implementation
- *******************************************************************************/
-package org.eclipse.papyrus.domaincodegen.ui.popupMenus;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.papyrus.domaincodegen.ui.Activator;
-import org.eclipse.papyrus.domaincodegen.ui.common.GenerateTypes;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionDelegate;
-
-/**
- * DomainCodegen code generation.
- */
-public class AcceleoGenerateElementTypeAction extends ActionDelegate implements IActionDelegate {
-
- /**
- * Selected model files.
- */
- protected List<IFile> files;
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.ui.actions.ActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
- * @generated
- */
- @Override
- @SuppressWarnings("unchecked")
- public void selectionChanged(IAction action, ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- files = ((IStructuredSelection) selection).toList();
- }
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.ui.actions.ActionDelegate#run(org.eclipse.jface.action.IAction)
- * @generated
- */
- @Override
- public void run(IAction action) {
- if (files != null) {
- IRunnableWithProgress operation = new IRunnableWithProgress() {
-
- public void run(IProgressMonitor monitor) {
- try {
- Iterator<IFile> filesIt = files.iterator();
- while (filesIt.hasNext()) {
- IFile model = filesIt.next();
- URI modelURI = URI.createPlatformResourceURI(model.getFullPath().toString(), true);
- try {
-
- // IContainer target = model.getProject().getFolder("src-gen");
- IContainer target = model.getProject().getParent(); // target = Workspace location
- GenerateTypes generator = new GenerateTypes(modelURI, target.getLocation().toFile(), getArguments());
- generator.doGenerate(monitor);
- } catch (IOException e) {
- IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.getDefault().getLog().log(status);
- } finally {
- model.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
- }
- }
- } catch (CoreException e) {
- IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.getDefault().getLog().log(status);
- }
- }
- };
- try {
- PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
- } catch (InvocationTargetException e) {
- IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.getDefault().getLog().log(status);
- } catch (InterruptedException e) {
- IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
- Activator.getDefault().getLog().log(status);
- }
- }
- }
-
- /**
- * Computes the arguments of the generator.
- *
- * @return the arguments
- * @generated
- */
- protected List<? extends Object> getArguments() {
- return new ArrayList<String>();
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 Obeo.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.papyrus.domaincodegen.ui.popupMenus;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.domaincodegen.ui.Activator;
+import org.eclipse.papyrus.domaincodegen.ui.common.GenerateTypes;
+import org.eclipse.ui.IActionDelegate;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionDelegate;
+
+/**
+ * DomainCodegen code generation.
+ */
+public class AcceleoGenerateElementTypeAction extends ActionDelegate implements IActionDelegate {
+
+ /**
+ * Selected model files.
+ */
+ protected List<IFile> files;
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.actions.ActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public void selectionChanged(IAction action, ISelection selection) {
+ if (selection instanceof IStructuredSelection) {
+ files = ((IStructuredSelection) selection).toList();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.actions.ActionDelegate#run(org.eclipse.jface.action.IAction)
+ * @generated
+ */
+ @Override
+ public void run(IAction action) {
+ if (files != null) {
+ IRunnableWithProgress operation = new IRunnableWithProgress() {
+
+ public void run(IProgressMonitor monitor) {
+ try {
+ Iterator<IFile> filesIt = files.iterator();
+ while (filesIt.hasNext()) {
+ IFile model = filesIt.next();
+ URI modelURI = URI.createPlatformResourceURI(model.getFullPath().toString(), true);
+ try {
+
+ // IContainer target = model.getProject().getFolder("src-gen");
+ IContainer target = model.getProject().getParent(); // target = Workspace location
+ GenerateTypes generator = new GenerateTypes(modelURI, target.getLocation().toFile(), getArguments());
+ generator.doGenerate(monitor);
+ } catch (IOException e) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ } finally {
+ model.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ }
+ }
+ } catch (CoreException e) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ }
+ }
+ };
+ try {
+ PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
+ } catch (InvocationTargetException e) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ } catch (InterruptedException e) {
+ IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
+ Activator.getDefault().getLog().log(status);
+ }
+ }
+ }
+
+ /**
+ * Computes the arguments of the generator.
+ *
+ * @return the arguments
+ * @generated
+ */
+ protected List<? extends Object> getArguments() {
+ return new ArrayList<String>();
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.classpath b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.classpath
index 45f024e850e..304e86186aa 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.classpath
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project
index b9134737b66..702734004ed 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.domaincontextcodegen.edit</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.domaincontextcodegen.edit</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.settings/org.eclipse.jdt.core.prefs
index 4759947300a..c585cc455ae 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.settings/org.eclipse.jdt.core.prefs
@@ -1,291 +1,291 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=260
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=260
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF
index 5707bc32284..4bc7a38775d 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF
@@ -1,17 +1,17 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.papyrus.domaincontextcodegen;bundle-version="1.2.0";visibility:=reexport,
- org.eclipse.emf.edit;visibility:=reexport,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.ecore.edit;visibility:=reexport
-Export-Package: org.eclipse.papyrus.domaincontextcodegen.provider
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.domaincontextcodegen.provider.DomainContextEditPlugin$Implementation
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.domaincontextcodegen.edit;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.domaincontextcodegen;bundle-version="1.2.0";visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport
+Export-Package: org.eclipse.papyrus.domaincontextcodegen.provider
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.domaincontextcodegen.provider.DomainContextEditPlugin$Implementation
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.domaincontextcodegen.edit;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/about.html b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/about.html
index a80e9697355..23506a4bae1 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/about.html
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/about.html
@@ -1,26 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-
-
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>About</title>
-</head><body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 5, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
</body></html> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/build.properties b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/build.properties
index 9d86d19af85..586537efee5 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/build.properties
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/build.properties
@@ -1,21 +1,21 @@
-#################################################################################
-# Copyright (c) 2010 CEA LIST.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Patrick Tessier patrick.tessier@cea.fr - Initial API and implementation
-##################################################################################
-
-bin.includes = .,\
- icons/,\
- META-INF/,\
- plugin.xml,\
- plugin.properties,\
- about.html
-jars.compile.order = .
-source.. = src/
-output.. = bin/
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Patrick Tessier patrick.tessier@cea.fr - Initial API and implementation
+##################################################################################
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
src.includes = about.html
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/plugin.properties b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/plugin.properties
index 12d69c63ddd..b1ac1d61035 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/plugin.properties
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/plugin.properties
@@ -1,137 +1,137 @@
-#################################################################################
-# Copyright (c) 2010 CEA LIST.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Patrick Tessier patrick.tessier@cea.fr - Initial API and implementation
-##################################################################################
-pluginName = DomainContext Edit Support
-providerName=Eclipse Modeling Project
-
-_UI_CreateChild_text = {0}
-_UI_CreateChild_text2 = {1} {0}
-_UI_CreateChild_text3 = {1}
-_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
-_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
-_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
-
-_UI_PropertyDescriptor_description = The {0} of the {1}
-
-_UI_DomainContext_type = Domain Context
-_UI_ElementType_type = Element Type
-_UI_Unknown_type = Object
-
-_UI_Unknown_datatype= Value
-
-_UI_DomainContext_IClientContextID_feature = IClient Context ID
-_UI_DomainContext_metamodel_feature = Metamodel
-_UI_DomainContext_specializationOf_feature = Specialization Of
-_UI_DomainContext_elementTypeIDPrefix_feature = Element Type ID Prefix
-_UI_DomainContext_elementTypeNamePrefix_feature = Element Type Name Prefix
-_UI_DomainContext_matcherPatch_feature = Matcher Patch
-_UI_DomainContext_elementTypes_feature = Element Types
-_UI_ElementType_eclass_feature = Eclass
-_UI_ElementType_specificName_feature = Specific Name
-_UI_ElementType_edithelper_EditHelperAdvicePath_feature = Edithelper Edit Helper Advice Path
-_UI_ElementType_kind_feature = Kind
-_UI_ElementType_specializationof_feature = Specializationof
-_UI_Unknown_feature = Unspecified
-
-_UI_DomainContext_defaultHelperPath_feature = Default Helper Path
-_UI_DomainContext_projectName_feature = Project Name
-_UI_ElementType_metaClass_feature = Meta Class
-_UI_AdviceBinding_type = Advice Binding
-_UI_Binding_type = Binding
-_UI_DomainContext_advicebindings_feature = Advicebindings
-_UI_DomainContext_bindings_feature = Bindings
-_UI_ElementType_specializationIDof_feature = Specialization IDof
-_UI_AdviceBinding_path_feature = Path
-_UI_AdviceBinding_id_feature = Id
-_UI_AdviceBinding_typeID_feature = Type ID
-_UI_AdviceBinding_inheritance_feature = Inheritance
-_UI_AdviceBinding_elementTypeRef_feature = Element Type Ref
-_UI_Binding_elementType_feature = Element Type
-_UI_Binding_advice_feature = Advice
-_UI_Binding_elementTypeID_feature = Element Type ID
-_UI_Binding_adviceID_feature = Advice ID
-_UI_InheritanceKind_All_literal =
-_UI_InheritanceKind_none_literal = none
-_UI_AdviceBinding_advicePath_feature = Advice Path
-_UI_AdviceBinding_adviceID_feature = Advice ID
-_UI_AdviceBinding_elementTypeIDref_feature = Element Type IDref
-_UI_Binding_elementTypePattern_feature = Element Type Pattern
-_UI_InheritanceKind_all_literal = all
-_UI_GenHandlers_type = Gen Handlers
-_UI_DomainContext_genHandlers_feature = Gen Handlers
-_UI_GenHandlers_packageName_feature = Package Name
-_UI_GenHandlers_superClass_feature = Super Class
-_UI_GenHandlers_elementTypeEnumeratorClass_feature = Element Type Enumerator Class
-_UI_GenHandlers_handlerPackage_feature = Handler Package
-_UI_GenHandlers_superClassPackage_feature = Super Class Package
-_UI_GenHandlers_elementTypeEnumerator_feature = Element Type Enumerator
-_UI_GenHandlers_elementTypeEnumeratorPackage_feature = Element Type Enumerator Package
-_UI_ElementTypes_type = Element Types
-_UI_ElementTypes_types_feature = Types
-_UI_DomainContext_typeProjectName_feature = Type Project Name
-_UI_DomainContext_handlerProjectName_feature = Handler Project Name
-_UI_DomainContext_generatedSourceFolder_feature = Generated Source Folder
-_UI_MetaClassType_type = Meta Class Type
-_UI_SpecializationType_type = Specialization Type
-_UI_Advice_type = Advice
-_UI_ElementTypeBindings_type = Element Type Bindings
-_UI_ElementTypeBinding_type = Element Type Binding
-_UI_DomainContext_advices_feature = Advices
-_UI_ElementType_name_feature = Name
-_UI_ElementType_helper_feature = Helper
-_UI_MetaClassType_metaClass_feature = Meta Class
-_UI_SpecializationType_ref_feature = Ref
-_UI_Advice_adviceID_feature = Advice ID
-_UI_Advice_ref_feature = Ref
-_UI_Advice_advicePath_feature = Advice Path
-_UI_Advice_inheritance_feature = Inheritance
-_UI_ElementTypeBindings_clientContextID_feature = Client Context ID
-_UI_ElementTypeBindings_bindings_feature = Bindings
-_UI_Binding_owner_feature = Owner
-_UI_Binding_pattern_feature = Pattern
-_UI_ElementTypeBinding_ref_feature = Ref
-_UI_AdviceBinding_ref_feature = Ref
-_UI_SpecializationType_matcher_feature = Matcher
-_UI_ElementTypes_domain_feature = Domain
-_UI_ElementType_owner_feature = Owner
-_UI_GenMatcher_type = Gen Matcher
-_UI_GenHelper_type = Gen Helper
-_UI_StereotypedElementMatcher_type = Stereotyped Element Matcher
-_UI_StereotypedElementHelper_type = Stereotyped Element Helper
-_UI_SpecializationType_genMatcher_feature = Gen Matcher
-_UI_SpecializationType_genHelper_feature = Gen Helper
-_UI_GenMatcher_name_feature = Name
-_UI_GenHelper_name_feature = Name
-_UI_StereotypedElementMatcher_stereotype_feature = Stereotype
-_UI_StereotypedElementHelper_stereotype_feature = Stereotype
-_UI_StereotypedElementMatcher_stereotypeBase_feature = Stereotype Base
-_UI_StereotypedElementHelper_stereotypeBase_feature = Stereotype Base
-_UI_StereotypedElementMatcher_stereotypeName_feature = Stereotype Name
-_UI_StereotypedElementMatcher_stereotypePackage_feature = Stereotype Package
-_UI_StereotypedElementMatcher_baseElementName_feature = Base Element Name
-_UI_StereotypedElementMatcher_baseElementPackage_feature = Base Element Package
-_UI_StereotypedElementHelper_stereotypeName_feature = Stereotype Name
-_UI_StereotypedElementHelper_stereotypePackage_feature = Stereotype Package
-_UI_StereotypedElementHelper_baseElementName_feature = Base Element Name
-_UI_StereotypedElementHelper_baseElementPackage_feature = Base Element Package
-_UI_GenHandlers_visibleCreateChildHandlers_feature = Visible Create Child Handlers
-_UI_GenHandlers_parentDomainCreateChild_feature = Parent Domain Create Child
-_UI_MenuDeclaration_type = Menu Declaration
-_UI_CommandDeclaration_type = Command Declaration
-_UI_Command_type = Command
-_UI_DomainContext_menu_feature = Menu
-_UI_DomainContext_command_feature = Command
-_UI_ElementType_icon_feature = Icon
-_UI_MenuDeclaration_locationURI_feature = Location URI
-_UI_MenuDeclaration_commands_feature = Commands
-_UI_CommandDeclaration_commands_feature = Commands
-_UI_Command_elementType_feature = Element Type
-_UI_Command_icon_feature = Icon
-_UI_GenHandlers_createChildMenuLocationURI_feature = Create Child Menu Location URI
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Patrick Tessier patrick.tessier@cea.fr - Initial API and implementation
+##################################################################################
+pluginName = DomainContext Edit Support
+providerName=Eclipse Modeling Project
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_DomainContext_type = Domain Context
+_UI_ElementType_type = Element Type
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_DomainContext_IClientContextID_feature = IClient Context ID
+_UI_DomainContext_metamodel_feature = Metamodel
+_UI_DomainContext_specializationOf_feature = Specialization Of
+_UI_DomainContext_elementTypeIDPrefix_feature = Element Type ID Prefix
+_UI_DomainContext_elementTypeNamePrefix_feature = Element Type Name Prefix
+_UI_DomainContext_matcherPatch_feature = Matcher Patch
+_UI_DomainContext_elementTypes_feature = Element Types
+_UI_ElementType_eclass_feature = Eclass
+_UI_ElementType_specificName_feature = Specific Name
+_UI_ElementType_edithelper_EditHelperAdvicePath_feature = Edithelper Edit Helper Advice Path
+_UI_ElementType_kind_feature = Kind
+_UI_ElementType_specializationof_feature = Specializationof
+_UI_Unknown_feature = Unspecified
+
+_UI_DomainContext_defaultHelperPath_feature = Default Helper Path
+_UI_DomainContext_projectName_feature = Project Name
+_UI_ElementType_metaClass_feature = Meta Class
+_UI_AdviceBinding_type = Advice Binding
+_UI_Binding_type = Binding
+_UI_DomainContext_advicebindings_feature = Advicebindings
+_UI_DomainContext_bindings_feature = Bindings
+_UI_ElementType_specializationIDof_feature = Specialization IDof
+_UI_AdviceBinding_path_feature = Path
+_UI_AdviceBinding_id_feature = Id
+_UI_AdviceBinding_typeID_feature = Type ID
+_UI_AdviceBinding_inheritance_feature = Inheritance
+_UI_AdviceBinding_elementTypeRef_feature = Element Type Ref
+_UI_Binding_elementType_feature = Element Type
+_UI_Binding_advice_feature = Advice
+_UI_Binding_elementTypeID_feature = Element Type ID
+_UI_Binding_adviceID_feature = Advice ID
+_UI_InheritanceKind_All_literal =
+_UI_InheritanceKind_none_literal = none
+_UI_AdviceBinding_advicePath_feature = Advice Path
+_UI_AdviceBinding_adviceID_feature = Advice ID
+_UI_AdviceBinding_elementTypeIDref_feature = Element Type IDref
+_UI_Binding_elementTypePattern_feature = Element Type Pattern
+_UI_InheritanceKind_all_literal = all
+_UI_GenHandlers_type = Gen Handlers
+_UI_DomainContext_genHandlers_feature = Gen Handlers
+_UI_GenHandlers_packageName_feature = Package Name
+_UI_GenHandlers_superClass_feature = Super Class
+_UI_GenHandlers_elementTypeEnumeratorClass_feature = Element Type Enumerator Class
+_UI_GenHandlers_handlerPackage_feature = Handler Package
+_UI_GenHandlers_superClassPackage_feature = Super Class Package
+_UI_GenHandlers_elementTypeEnumerator_feature = Element Type Enumerator
+_UI_GenHandlers_elementTypeEnumeratorPackage_feature = Element Type Enumerator Package
+_UI_ElementTypes_type = Element Types
+_UI_ElementTypes_types_feature = Types
+_UI_DomainContext_typeProjectName_feature = Type Project Name
+_UI_DomainContext_handlerProjectName_feature = Handler Project Name
+_UI_DomainContext_generatedSourceFolder_feature = Generated Source Folder
+_UI_MetaClassType_type = Meta Class Type
+_UI_SpecializationType_type = Specialization Type
+_UI_Advice_type = Advice
+_UI_ElementTypeBindings_type = Element Type Bindings
+_UI_ElementTypeBinding_type = Element Type Binding
+_UI_DomainContext_advices_feature = Advices
+_UI_ElementType_name_feature = Name
+_UI_ElementType_helper_feature = Helper
+_UI_MetaClassType_metaClass_feature = Meta Class
+_UI_SpecializationType_ref_feature = Ref
+_UI_Advice_adviceID_feature = Advice ID
+_UI_Advice_ref_feature = Ref
+_UI_Advice_advicePath_feature = Advice Path
+_UI_Advice_inheritance_feature = Inheritance
+_UI_ElementTypeBindings_clientContextID_feature = Client Context ID
+_UI_ElementTypeBindings_bindings_feature = Bindings
+_UI_Binding_owner_feature = Owner
+_UI_Binding_pattern_feature = Pattern
+_UI_ElementTypeBinding_ref_feature = Ref
+_UI_AdviceBinding_ref_feature = Ref
+_UI_SpecializationType_matcher_feature = Matcher
+_UI_ElementTypes_domain_feature = Domain
+_UI_ElementType_owner_feature = Owner
+_UI_GenMatcher_type = Gen Matcher
+_UI_GenHelper_type = Gen Helper
+_UI_StereotypedElementMatcher_type = Stereotyped Element Matcher
+_UI_StereotypedElementHelper_type = Stereotyped Element Helper
+_UI_SpecializationType_genMatcher_feature = Gen Matcher
+_UI_SpecializationType_genHelper_feature = Gen Helper
+_UI_GenMatcher_name_feature = Name
+_UI_GenHelper_name_feature = Name
+_UI_StereotypedElementMatcher_stereotype_feature = Stereotype
+_UI_StereotypedElementHelper_stereotype_feature = Stereotype
+_UI_StereotypedElementMatcher_stereotypeBase_feature = Stereotype Base
+_UI_StereotypedElementHelper_stereotypeBase_feature = Stereotype Base
+_UI_StereotypedElementMatcher_stereotypeName_feature = Stereotype Name
+_UI_StereotypedElementMatcher_stereotypePackage_feature = Stereotype Package
+_UI_StereotypedElementMatcher_baseElementName_feature = Base Element Name
+_UI_StereotypedElementMatcher_baseElementPackage_feature = Base Element Package
+_UI_StereotypedElementHelper_stereotypeName_feature = Stereotype Name
+_UI_StereotypedElementHelper_stereotypePackage_feature = Stereotype Package
+_UI_StereotypedElementHelper_baseElementName_feature = Base Element Name
+_UI_StereotypedElementHelper_baseElementPackage_feature = Base Element Package
+_UI_GenHandlers_visibleCreateChildHandlers_feature = Visible Create Child Handlers
+_UI_GenHandlers_parentDomainCreateChild_feature = Parent Domain Create Child
+_UI_MenuDeclaration_type = Menu Declaration
+_UI_CommandDeclaration_type = Command Declaration
+_UI_Command_type = Command
+_UI_DomainContext_menu_feature = Menu
+_UI_DomainContext_command_feature = Command
+_UI_ElementType_icon_feature = Icon
+_UI_MenuDeclaration_locationURI_feature = Location URI
+_UI_MenuDeclaration_commands_feature = Commands
+_UI_CommandDeclaration_commands_feature = Commands
+_UI_Command_elementType_feature = Element Type
+_UI_Command_icon_feature = Icon
+_UI_GenHandlers_createChildMenuLocationURI_feature = Create Child Menu Location URI
diff --git a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/META-INF/MANIFEST.MF
index 0698a30e61b..26c0911395e 100644
--- a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/META-INF/MANIFEST.MF
@@ -1,27 +1,27 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.uml2.uml;bundle-version="5.0.0",
- org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.7.0",
- org.eclipse.emf.codegen.ecore;bundle-version="2.10.0",
- org.eclipse.papyrus.infra.elementtypesconfigurations;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.gmf.codegen;bundle-version="2.11.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- com.google.guava;bundle-version="11.0.0",
- org.eclipse.xtext.xbase.lib,
- org.eclipse.xtend.lib,
- org.eclipse.xtend.lib.macro,
- org.eclipse.ui.workbench,
- org.eclipse.ui.ide;bundle-version="3.10.100",
- org.eclipse.core.filesystem;bundle-version="1.6.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.elementtypesconfigurations.developer.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.elementtypesconfigurations.developer;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.uml2.uml;bundle-version="5.0.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.7.0",
+ org.eclipse.emf.codegen.ecore;bundle-version="2.10.0",
+ org.eclipse.papyrus.infra.elementtypesconfigurations;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.gmf.codegen;bundle-version="2.11.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtend.lib,
+ org.eclipse.xtend.lib.macro,
+ org.eclipse.ui.workbench,
+ org.eclipse.ui.ide;bundle-version="3.10.100",
+ org.eclipse.core.filesystem;bundle-version="1.6.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.elementtypesconfigurations.developer.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.elementtypesconfigurations.developer;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/plugin.xml b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/plugin.xml
index 96f841b7711..6acc490b601 100644
--- a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/plugin.xml
+++ b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/plugin.xml
@@ -1,95 +1,95 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-
-
-
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.ui.popup.any">
- <command
- commandId="org.eclipse.papyrus.infra.elementtypesconfigurations.commands.migrateElementTypesConfigurations"
- id="org.eclipse.papyrus.infra.elementtypesconfigurations.menus.migrateElementTypesConfigurations"
- label="Migrate ElementTypes Configurations"
- mnemonic="S"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IFile">
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.ui.popup.any">
- <command
- commandId="org.eclipse.papyrus.infra.elementtypesconfigurations.commands.generateElementTypesRegistry"
- id="org.eclipse.papyrus.infra.elementtypesconfigurations.menus.generateElementTypesRegistry"
- label="Generate ElementTypes Registry"
- mnemonic="G"
- style="push">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="selection">
- <iterate
- ifEmpty="false"
- operator="and">
- <adapt
- type="org.eclipse.core.resources.IFile">
- </adapt>
- </iterate>
- </with>
- </visibleWhen>
- </command>
- </menuContribution>
- </extension>
-
- <extension
- point="org.eclipse.ui.commands">
- <command
- defaultHandler="org.eclipse.papyrus.elementtypesconfigurations.developer.handlers.MigrateElementTypesConfigurations"
- id="org.eclipse.papyrus.infra.elementtypesconfigurations.commands.migrateElementTypesConfigurations"
- name="Migrate ElementTypesConfigurations">
- </command>
- <command
- defaultHandler="org.eclipse.papyrus.elementtypesconfigurations.developer.handlers.GenerateElementTypesRegistry"
- id="org.eclipse.papyrus.infra.elementtypesconfigurations.commands.generateElementTypesRegistry"
- name="Generate ElementTypes Registry">
- </command>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- category="org.eclipse.papyrus.views.category"
- class="org.eclipse.papyrus.elementtypesconfigurations.developer.view.RegistredElementTypesView"
- id="org.eclipse.papyrus.elementtypesconfigurations.developer.registeredElementTypesView"
- name="Registred ElementTypes View"
- restorable="true">
- </view>
- </extension>
-
- <extension
- point="org.eclipse.ui.views">
- <view
- category="org.eclipse.papyrus.views.category"
- class="org.eclipse.papyrus.elementtypesconfigurations.developer.view.ElementTypesConfigurationsListenerView"
- id="org.eclipse.papyrus.elementtypesconfigurations.developer.elementTypesConfigurationsListenerView"
- name="ElementTypesConfigurations Listener View"
- restorable="true">
- </view>
- </extension>
-
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+
+
+
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.ui.popup.any">
+ <command
+ commandId="org.eclipse.papyrus.infra.elementtypesconfigurations.commands.migrateElementTypesConfigurations"
+ id="org.eclipse.papyrus.infra.elementtypesconfigurations.menus.migrateElementTypesConfigurations"
+ label="Migrate ElementTypes Configurations"
+ mnemonic="S"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ </adapt>
+ </iterate>
+ </with>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.ui.popup.any">
+ <command
+ commandId="org.eclipse.papyrus.infra.elementtypesconfigurations.commands.generateElementTypesRegistry"
+ id="org.eclipse.papyrus.infra.elementtypesconfigurations.menus.generateElementTypesRegistry"
+ label="Generate ElementTypes Registry"
+ mnemonic="G"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ </adapt>
+ </iterate>
+ </with>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ defaultHandler="org.eclipse.papyrus.elementtypesconfigurations.developer.handlers.MigrateElementTypesConfigurations"
+ id="org.eclipse.papyrus.infra.elementtypesconfigurations.commands.migrateElementTypesConfigurations"
+ name="Migrate ElementTypesConfigurations">
+ </command>
+ <command
+ defaultHandler="org.eclipse.papyrus.elementtypesconfigurations.developer.handlers.GenerateElementTypesRegistry"
+ id="org.eclipse.papyrus.infra.elementtypesconfigurations.commands.generateElementTypesRegistry"
+ name="Generate ElementTypes Registry">
+ </command>
+ </extension>
+ <extension
+ point="org.eclipse.ui.views">
+ <view
+ category="org.eclipse.papyrus.views.category"
+ class="org.eclipse.papyrus.elementtypesconfigurations.developer.view.RegistredElementTypesView"
+ id="org.eclipse.papyrus.elementtypesconfigurations.developer.registeredElementTypesView"
+ name="Registred ElementTypes View"
+ restorable="true">
+ </view>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.views">
+ <view
+ category="org.eclipse.papyrus.views.category"
+ class="org.eclipse.papyrus.elementtypesconfigurations.developer.view.ElementTypesConfigurationsListenerView"
+ id="org.eclipse.papyrus.elementtypesconfigurations.developer.elementTypesConfigurationsListenerView"
+ name="ElementTypesConfigurations Listener View"
+ restorable="true">
+ </view>
+ </extension>
+
+</plugin>
diff --git a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventContentProvider.java b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventContentProvider.java
index dab888ab1c1..54b2d0c9a4e 100644
--- a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventContentProvider.java
+++ b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventContentProvider.java
@@ -1,161 +1,161 @@
-/*****************************************************************************
- * Copyright (c) 2016 CEA LIST and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.elementtypesconfigurations.developer.providers;
-
-import java.util.AbstractMap;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.ElementTypesConfigurationsEventsChain;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.AbstractElementTypesConfigurationsEvent;
-
-
-public class ElementTypesConfigurationsEventContentProvider implements ITreeContentProvider {
-
- /**
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- *
- */
- @Override
- public void dispose() {
- // TODO Auto-generated method stub
-
- }
-
- /**
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- *
- * @param viewer
- * @param oldInput
- * @param newInput
- */
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // TODO Auto-generated method stub
-
- }
-
- /**
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- *
- * @param inputElement
- * @return
- */
- @Override
- public Object[] getElements(Object inputElement) {
- List<ElementTypesConfigurationsEventsChain> result = new ArrayList<ElementTypesConfigurationsEventsChain>();
- if (inputElement instanceof List<?>) {
- List<?> inputSet = (List<?>) inputElement;
- for (Object element : inputSet) {
- if (element instanceof ElementTypesConfigurationsEventsChain) {
- result.add((ElementTypesConfigurationsEventsChain) element);
- }
- }
- }
-
- Collections.sort(result, new Comparator<ElementTypesConfigurationsEventsChain>() {
-
- @Override
- public int compare(ElementTypesConfigurationsEventsChain o1, ElementTypesConfigurationsEventsChain o2) {
- if (o1.getTimestamp() > o2.getTimestamp()) {
- return -1;
- }
- return 1;
- }
- });
-
-
- return result.toArray();
- }
-
- /**
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
- *
- * @param parentElement
- * @return
- */
- @Override
- public Object[] getChildren(Object parentElement) {
-
-
- List<Object> result = new ArrayList<Object>();
- if (parentElement instanceof ElementTypesConfigurationsEventsChain) {
- ElementTypesConfigurationsEventsChain elementTypesConfigurationsEventsChain = (ElementTypesConfigurationsEventsChain) parentElement;
-
- List<AbstractElementTypesConfigurationsEvent> adviceRequestConfigurationEvents = elementTypesConfigurationsEventsChain.getAdviceRequestConfigurationEvents();
- if (!adviceRequestConfigurationEvents.isEmpty()) {
- result.add(new AbstractMap.SimpleEntry<String, Object>("AdviceRequestConfigurationEvents", adviceRequestConfigurationEvents));
- }
- AbstractElementTypesConfigurationsEvent editHelperRequestConfigurationEvent = elementTypesConfigurationsEventsChain.getEditHelperRequestConfigurationEvent();
- if (editHelperRequestConfigurationEvent != null) {
- result.add(editHelperRequestConfigurationEvent);
- }
- List<AbstractElementTypesConfigurationsEvent> adviceApprovalEvents = elementTypesConfigurationsEventsChain.getAdviceApprovalEvents();
- if (!adviceApprovalEvents.isEmpty()) {
- result.add(new AbstractMap.SimpleEntry<String, Object>("AdviceApprovalEvents", adviceApprovalEvents));
- }
- AbstractElementTypesConfigurationsEvent editHelperApprovalEvent = elementTypesConfigurationsEventsChain.getEditHelperApprovalEvent();
- if (editHelperApprovalEvent != null) {
- result.add(editHelperApprovalEvent);
- }
- List<AbstractElementTypesConfigurationsEvent> beforeAdvicesCommandsEvents = elementTypesConfigurationsEventsChain.getBeforeAdvicesCommandsEvents();
- if (!beforeAdvicesCommandsEvents.isEmpty()) {
- result.add(new AbstractMap.SimpleEntry<String, Object>("BeforeAdvicesCommandsEvents", beforeAdvicesCommandsEvents));
- }
- AbstractElementTypesConfigurationsEvent editHelperCommandEvent = elementTypesConfigurationsEventsChain.getEditHelperCommandEvent();
- if (editHelperCommandEvent != null) {
- result.add(editHelperCommandEvent);
- }
- List<AbstractElementTypesConfigurationsEvent> afterAdvicesCommandsEvents = elementTypesConfigurationsEventsChain.getAfterAdvicesCommandsEvents();
- if (!afterAdvicesCommandsEvents.isEmpty()) {
- result.add(new AbstractMap.SimpleEntry<String, Object>("AfterAdvicesCommandsEvents", afterAdvicesCommandsEvents));
- }
- } else if (parentElement instanceof Map.Entry) {
- Object value = ((Map.Entry<?, ?>) parentElement).getValue();
- if (value instanceof Collection) {
- result.addAll((Collection<?>) value);
- }
- }
- return result.toArray();
- }
-
- /**
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
- *
- * @param element
- * @return
- */
- @Override
- public Object getParent(Object element) {
- return null;
- }
-
- /**
- * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
- *
- * @param element
- * @return
- */
- @Override
- public boolean hasChildren(Object element) {
- return getChildren(element).length == 0 ? false : true;
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.elementtypesconfigurations.developer.providers;
+
+import java.util.AbstractMap;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.ElementTypesConfigurationsEventsChain;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.AbstractElementTypesConfigurationsEvent;
+
+
+public class ElementTypesConfigurationsEventContentProvider implements ITreeContentProvider {
+
+ /**
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ *
+ */
+ @Override
+ public void dispose() {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
+ *
+ * @param viewer
+ * @param oldInput
+ * @param newInput
+ */
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+ *
+ * @param inputElement
+ * @return
+ */
+ @Override
+ public Object[] getElements(Object inputElement) {
+ List<ElementTypesConfigurationsEventsChain> result = new ArrayList<ElementTypesConfigurationsEventsChain>();
+ if (inputElement instanceof List<?>) {
+ List<?> inputSet = (List<?>) inputElement;
+ for (Object element : inputSet) {
+ if (element instanceof ElementTypesConfigurationsEventsChain) {
+ result.add((ElementTypesConfigurationsEventsChain) element);
+ }
+ }
+ }
+
+ Collections.sort(result, new Comparator<ElementTypesConfigurationsEventsChain>() {
+
+ @Override
+ public int compare(ElementTypesConfigurationsEventsChain o1, ElementTypesConfigurationsEventsChain o2) {
+ if (o1.getTimestamp() > o2.getTimestamp()) {
+ return -1;
+ }
+ return 1;
+ }
+ });
+
+
+ return result.toArray();
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
+ *
+ * @param parentElement
+ * @return
+ */
+ @Override
+ public Object[] getChildren(Object parentElement) {
+
+
+ List<Object> result = new ArrayList<Object>();
+ if (parentElement instanceof ElementTypesConfigurationsEventsChain) {
+ ElementTypesConfigurationsEventsChain elementTypesConfigurationsEventsChain = (ElementTypesConfigurationsEventsChain) parentElement;
+
+ List<AbstractElementTypesConfigurationsEvent> adviceRequestConfigurationEvents = elementTypesConfigurationsEventsChain.getAdviceRequestConfigurationEvents();
+ if (!adviceRequestConfigurationEvents.isEmpty()) {
+ result.add(new AbstractMap.SimpleEntry<String, Object>("AdviceRequestConfigurationEvents", adviceRequestConfigurationEvents));
+ }
+ AbstractElementTypesConfigurationsEvent editHelperRequestConfigurationEvent = elementTypesConfigurationsEventsChain.getEditHelperRequestConfigurationEvent();
+ if (editHelperRequestConfigurationEvent != null) {
+ result.add(editHelperRequestConfigurationEvent);
+ }
+ List<AbstractElementTypesConfigurationsEvent> adviceApprovalEvents = elementTypesConfigurationsEventsChain.getAdviceApprovalEvents();
+ if (!adviceApprovalEvents.isEmpty()) {
+ result.add(new AbstractMap.SimpleEntry<String, Object>("AdviceApprovalEvents", adviceApprovalEvents));
+ }
+ AbstractElementTypesConfigurationsEvent editHelperApprovalEvent = elementTypesConfigurationsEventsChain.getEditHelperApprovalEvent();
+ if (editHelperApprovalEvent != null) {
+ result.add(editHelperApprovalEvent);
+ }
+ List<AbstractElementTypesConfigurationsEvent> beforeAdvicesCommandsEvents = elementTypesConfigurationsEventsChain.getBeforeAdvicesCommandsEvents();
+ if (!beforeAdvicesCommandsEvents.isEmpty()) {
+ result.add(new AbstractMap.SimpleEntry<String, Object>("BeforeAdvicesCommandsEvents", beforeAdvicesCommandsEvents));
+ }
+ AbstractElementTypesConfigurationsEvent editHelperCommandEvent = elementTypesConfigurationsEventsChain.getEditHelperCommandEvent();
+ if (editHelperCommandEvent != null) {
+ result.add(editHelperCommandEvent);
+ }
+ List<AbstractElementTypesConfigurationsEvent> afterAdvicesCommandsEvents = elementTypesConfigurationsEventsChain.getAfterAdvicesCommandsEvents();
+ if (!afterAdvicesCommandsEvents.isEmpty()) {
+ result.add(new AbstractMap.SimpleEntry<String, Object>("AfterAdvicesCommandsEvents", afterAdvicesCommandsEvents));
+ }
+ } else if (parentElement instanceof Map.Entry) {
+ Object value = ((Map.Entry<?, ?>) parentElement).getValue();
+ if (value instanceof Collection) {
+ result.addAll((Collection<?>) value);
+ }
+ }
+ return result.toArray();
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
+ *
+ * @param element
+ * @return
+ */
+ @Override
+ public Object getParent(Object element) {
+ return null;
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
+ *
+ * @param element
+ * @return
+ */
+ @Override
+ public boolean hasChildren(Object element) {
+ return getChildren(element).length == 0 ? false : true;
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventLabelProvider.java b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventLabelProvider.java
index 7be683e4e2a..ad1fe1cf275 100644
--- a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventLabelProvider.java
+++ b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/providers/ElementTypesConfigurationsEventLabelProvider.java
@@ -1,135 +1,135 @@
-/*****************************************************************************
- * Copyright (c) 2016 CEA LIST and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.elementtypesconfigurations.developer.providers;
-
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.ElementTypesConfigurationsEventsChain;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.ElementTypesConfigurationsEventType;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IElementTypesConfigurationsEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-
-public class ElementTypesConfigurationsEventLabelProvider extends org.eclipse.jface.viewers.LabelProvider implements IColorProvider {
-
- @Override
- public Image getImage(Object element) {
-
- return null;
- }
-
- @Override
- public String getText(Object element) {
- String result = "";
- Calendar calendar = Calendar.getInstance();
- SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd - hh:mm:ss:SSS");
- if (element instanceof IElementTypesConfigurationsEvent) {
- calendar.setTimeInMillis(((IElementTypesConfigurationsEvent) element).getTimestamp());
- result += "[" + formater.format(calendar.getTime()) + "] " + ((IElementTypesConfigurationsEvent) element).getEventName();
- } else if (element instanceof ElementTypesConfigurationsEventsChain) {
- calendar.setTimeInMillis(((ElementTypesConfigurationsEventsChain) element).getTimestamp());
- result += "[" + formater.format(calendar.getTime()) + "] " + ((ElementTypesConfigurationsEventsChain) element).getName();
- } else if (element instanceof Map.Entry) {
- result += ((Map.Entry<?, ?>) element).getKey().toString();
- } else {
- result += element.toString();
- }
- return result;
- }
-
- Color yellow = new Color(Display.getCurrent(), new RGB(255, 200, 0));
- Color green = new Color(Display.getCurrent(), new RGB(0, 128, 0));
- Color red = new Color(Display.getCurrent(), new RGB(255, 0, 0));
- Color black = new Color(Display.getCurrent(), new RGB(0, 0, 0));
- Color blue = new Color(Display.getCurrent(), new RGB(0, 0, 255));
-
-
- /**
- * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
- *
- * @param element
- * @return
- */
- @Override
- public Color getForeground(Object element) {
- if (element instanceof IElementTypesConfigurationsEvent) {
- if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Disapproved)) {
- return red;
- } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Unexecutable)) {
- return red;
- } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Executable)) {
- return green;
- } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Approved)) {
- return green;
- } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Identity)) {
- return yellow;
- } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.RequestConfiguration)) {
- return blue;
- }
- } else if (element instanceof Map.Entry) {
- Object value = ((Map.Entry<?, ?>) element).getValue();
- if (value instanceof Collection) {
- return checkWorst((Collection<?>) value, true);
- }
- } else if (element instanceof ElementTypesConfigurationsEventsChain) {
- return checkWorst(((ElementTypesConfigurationsEventsChain) element).getAllEvents(), false);
- }
- return black;
- }
-
- /**
- * @param value
- */
- private Color checkWorst(Collection<?> value, boolean considerRequestConfiguration) {
- Color result = green;
- for (Object object : value) {
- if (((IElementTypesConfigurationsEvent) object).getEventType().equals(ElementTypesConfigurationsEventType.Disapproved)) {
- return red;
- } else if (((IElementTypesConfigurationsEvent) object).getEventType().equals(ElementTypesConfigurationsEventType.Unexecutable)) {
- return red;
- } else if (((IElementTypesConfigurationsEvent) object).getEventType().equals(ElementTypesConfigurationsEventType.Identity)) {
- if (result == green) {
- result = yellow;
- }
- } else if (((IElementTypesConfigurationsEvent) object).getEventType().equals(ElementTypesConfigurationsEventType.RequestConfiguration)) {
- if (considerRequestConfiguration) {
- if (result != yellow && result != red) {
- result = blue;
- }
- }
- }
- }
- return result;
- }
-
- /**
- * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
- *
- * @param element
- * @return
- */
- @Override
- public Color getBackground(Object element) {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.elementtypesconfigurations.developer.providers;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.ElementTypesConfigurationsEventsChain;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.ElementTypesConfigurationsEventType;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IElementTypesConfigurationsEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
+
+
+public class ElementTypesConfigurationsEventLabelProvider extends org.eclipse.jface.viewers.LabelProvider implements IColorProvider {
+
+ @Override
+ public Image getImage(Object element) {
+
+ return null;
+ }
+
+ @Override
+ public String getText(Object element) {
+ String result = "";
+ Calendar calendar = Calendar.getInstance();
+ SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd - hh:mm:ss:SSS");
+ if (element instanceof IElementTypesConfigurationsEvent) {
+ calendar.setTimeInMillis(((IElementTypesConfigurationsEvent) element).getTimestamp());
+ result += "[" + formater.format(calendar.getTime()) + "] " + ((IElementTypesConfigurationsEvent) element).getEventName();
+ } else if (element instanceof ElementTypesConfigurationsEventsChain) {
+ calendar.setTimeInMillis(((ElementTypesConfigurationsEventsChain) element).getTimestamp());
+ result += "[" + formater.format(calendar.getTime()) + "] " + ((ElementTypesConfigurationsEventsChain) element).getName();
+ } else if (element instanceof Map.Entry) {
+ result += ((Map.Entry<?, ?>) element).getKey().toString();
+ } else {
+ result += element.toString();
+ }
+ return result;
+ }
+
+ Color yellow = new Color(Display.getCurrent(), new RGB(255, 200, 0));
+ Color green = new Color(Display.getCurrent(), new RGB(0, 128, 0));
+ Color red = new Color(Display.getCurrent(), new RGB(255, 0, 0));
+ Color black = new Color(Display.getCurrent(), new RGB(0, 0, 0));
+ Color blue = new Color(Display.getCurrent(), new RGB(0, 0, 255));
+
+
+ /**
+ * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
+ *
+ * @param element
+ * @return
+ */
+ @Override
+ public Color getForeground(Object element) {
+ if (element instanceof IElementTypesConfigurationsEvent) {
+ if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Disapproved)) {
+ return red;
+ } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Unexecutable)) {
+ return red;
+ } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Executable)) {
+ return green;
+ } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Approved)) {
+ return green;
+ } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.Identity)) {
+ return yellow;
+ } else if (((IElementTypesConfigurationsEvent) element).getEventType().equals(ElementTypesConfigurationsEventType.RequestConfiguration)) {
+ return blue;
+ }
+ } else if (element instanceof Map.Entry) {
+ Object value = ((Map.Entry<?, ?>) element).getValue();
+ if (value instanceof Collection) {
+ return checkWorst((Collection<?>) value, true);
+ }
+ } else if (element instanceof ElementTypesConfigurationsEventsChain) {
+ return checkWorst(((ElementTypesConfigurationsEventsChain) element).getAllEvents(), false);
+ }
+ return black;
+ }
+
+ /**
+ * @param value
+ */
+ private Color checkWorst(Collection<?> value, boolean considerRequestConfiguration) {
+ Color result = green;
+ for (Object object : value) {
+ if (((IElementTypesConfigurationsEvent) object).getEventType().equals(ElementTypesConfigurationsEventType.Disapproved)) {
+ return red;
+ } else if (((IElementTypesConfigurationsEvent) object).getEventType().equals(ElementTypesConfigurationsEventType.Unexecutable)) {
+ return red;
+ } else if (((IElementTypesConfigurationsEvent) object).getEventType().equals(ElementTypesConfigurationsEventType.Identity)) {
+ if (result == green) {
+ result = yellow;
+ }
+ } else if (((IElementTypesConfigurationsEvent) object).getEventType().equals(ElementTypesConfigurationsEventType.RequestConfiguration)) {
+ if (considerRequestConfiguration) {
+ if (result != yellow && result != red) {
+ result = blue;
+ }
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
+ *
+ * @param element
+ * @return
+ */
+ @Override
+ public Color getBackground(Object element) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/ElementTypesConfigurationsEventPrinter.java b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/ElementTypesConfigurationsEventPrinter.java
index 07edd34b9ad..334f7317b5d 100644
--- a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/ElementTypesConfigurationsEventPrinter.java
+++ b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/ElementTypesConfigurationsEventPrinter.java
@@ -1,138 +1,138 @@
-/*****************************************************************************
- * Copyright (c) 2016 CEA LIST and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.elementtypesconfigurations.developer.utils;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.AdviceApprovedEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.AdviceDisapprovedEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.AdviceRequestConfigurationEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.EditHelperApprovedEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.EditHelperDisapprovedEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.EditHelperRequestConfigurationEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.ExecutableAdviceEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.ExecutableEditHelperEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IAdviceEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IElementTypesConfigurationsEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IdentityAdviceEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IdentityEditHelperEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.UnexecutableAdviceEvent;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.UnexecutableEditHelperEvent;
-
-public class ElementTypesConfigurationsEventPrinter {
- public static Map<String, String> getEventDetails(IElementTypesConfigurationsEvent event) {
- Map<String, String> result = new HashMap<>();
-
- if (event instanceof AdviceApprovedEvent) {
- result.put("Approved Advice", ((AdviceApprovedEvent) event).getAdvice().getClass().getName());
- } else if (event instanceof AdviceDisapprovedEvent) {
- result.put("Disapprover Advice", ((AdviceDisapprovedEvent) event).getAdvice().getClass().getName());
- } else if (event instanceof EditHelperApprovedEvent) {
- result.put("Approver edithelper", ((EditHelperApprovedEvent) event).getEditHelper().getClass().getName());
- } else if (event instanceof EditHelperDisapprovedEvent) {
- result.put("Disapprover edithelper", ((EditHelperDisapprovedEvent) event).getEditHelper().getClass().getName());
- } else if (event instanceof ExecutableAdviceEvent) {
- result.put("Advice", ((ExecutableAdviceEvent) event).getAdvice().getClass().getName());
- result.put("Phase ", ((ExecutableAdviceEvent) event).getAdvicePhase().name());
- result.put("Executable command", ((ExecutableAdviceEvent) event).getCommand().getClass().getName());
- } else if (event instanceof ExecutableEditHelperEvent) {
- result.put("Executable command from edithelper", ((ExecutableEditHelperEvent) event).getEditHelper().getClass().getName());
- result.put("Executable command", ((ExecutableEditHelperEvent) event).getCommand().getClass().getName());
- } else if (event instanceof IdentityAdviceEvent) {
- result.put("Identity Advice", ((IdentityAdviceEvent) event).getAdvice().getClass().getName());
- result.put("Phase ", ((IdentityAdviceEvent) event).getAdvicePhase().name());
- } else if (event instanceof IdentityEditHelperEvent) {
- result.put("Identity EditHelper", ((IdentityEditHelperEvent) event).getEditHelper().getClass().getName());
- } else if (event instanceof UnexecutableAdviceEvent) {
- result.put("Unexecutable Advice", ((UnexecutableAdviceEvent) event).getAdvice().getClass().getName());
- result.put("Phase ", ((UnexecutableAdviceEvent) event).getAdvicePhase().name());
- result.put("Unexecutable command", ((UnexecutableAdviceEvent) event).getCommand().getClass().getName());
- } else if (event instanceof UnexecutableEditHelperEvent) {
- result.put("Unexecutable command from edithelper", ((UnexecutableEditHelperEvent) event).getEditHelper().getClass().getName());
- result.put("Unexecutable command", ((UnexecutableEditHelperEvent) event).getCommand().getClass().getName());
- } else if (event instanceof AdviceRequestConfigurationEvent) {
- result.put("RequestConfiguration Advice", ((AdviceRequestConfigurationEvent) event).getAdvice().getClass().getName());
- } else if (event instanceof EditHelperRequestConfigurationEvent) {
- result.put("RequestConfiguration EditHelper", ((EditHelperRequestConfigurationEvent) event).getEditHelper().getClass().getName());
- }
-
- if (event instanceof IAdviceEvent) {
- String adviceNames = "";
- for (IEditHelperAdvice editHelperAdvice : ((IAdviceEvent) event).getAdvices()) {
- adviceNames += " -" + editHelperAdvice.getClass().getName() + "\n";
- }
- result.put("Among the following advices ", adviceNames);
- }
-
- return result;
- }
-
- public static String printHtmlEvent(Map<String, String> details) {
-
-
- String html = "<table border=\"1\">";
- for (String key : details.keySet()) {
- html += "<tr>";
- html += "<td><b>" + key + "<b></td>";
- html += "<td>" + details.get(key) + "</td>";
- html += "</tr>";
- }
- html += "</table>";
-
- html = html.replaceAll("\\n", "<br>");
-
- return html;
- }
-
- /**
- * @param req
- * @return
- */
- public static String printHtmRequest(IEditCommandRequest req) {
- String result = "<ul>";
- result += "<li><b>Request</b>: " + req + "</li>";
- result += "<li><b>Label</b>: " + req.getLabel() + "</li>";
- result += "<li><b>Kind</b>: " + req.getClass().getName() + "</li>";
- result += "<li><b>ElementsToEdit</b>: " + req.getElementsToEdit() + "</li>";
- result += "<li><b>Parameters</b>:</li>";
-
- if (!req.getParameters().keySet().isEmpty()) {
- result += "<ul>";
-
- for (Object key : req.getParameters().keySet()) {
- result += "<li><b>" + key + "</b> <-> " + req.getParameters().get(key) + "</li>";
- }
- result += "</ul>";
- }
- result += "<li><b>EditHelperContext</b>: " + req.getEditHelperContext() + "</li>";
-
- if (req instanceof CreateElementRequest) {
- result += "<li><b>ElementType</b>: " + ((CreateElementRequest) req).getElementType() + "</li>";
- result += "<li><b>Container</b>: " + ((CreateElementRequest) req).getContainer() + "</li>";
- result += "<li><b>ContainmentFeature</b>: " + ((CreateElementRequest) req).getContainmentFeature() + "</li>";
- if (req instanceof CreateRelationshipRequest) {
- result += "<li><b>Source</b>: " + ((CreateRelationshipRequest) req).getSource() + "</li>";
- result += "<li><b>Target</b>: " + ((CreateRelationshipRequest) req).getTarget() + "</li>";
- }
- }
- result += "</ul>";
-
- return result;
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.elementtypesconfigurations.developer.utils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.AdviceApprovedEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.AdviceDisapprovedEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.AdviceRequestConfigurationEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.EditHelperApprovedEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.EditHelperDisapprovedEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.EditHelperRequestConfigurationEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.ExecutableAdviceEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.ExecutableEditHelperEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IAdviceEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IElementTypesConfigurationsEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IdentityAdviceEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IdentityEditHelperEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.UnexecutableAdviceEvent;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.UnexecutableEditHelperEvent;
+
+public class ElementTypesConfigurationsEventPrinter {
+ public static Map<String, String> getEventDetails(IElementTypesConfigurationsEvent event) {
+ Map<String, String> result = new HashMap<>();
+
+ if (event instanceof AdviceApprovedEvent) {
+ result.put("Approved Advice", ((AdviceApprovedEvent) event).getAdvice().getClass().getName());
+ } else if (event instanceof AdviceDisapprovedEvent) {
+ result.put("Disapprover Advice", ((AdviceDisapprovedEvent) event).getAdvice().getClass().getName());
+ } else if (event instanceof EditHelperApprovedEvent) {
+ result.put("Approver edithelper", ((EditHelperApprovedEvent) event).getEditHelper().getClass().getName());
+ } else if (event instanceof EditHelperDisapprovedEvent) {
+ result.put("Disapprover edithelper", ((EditHelperDisapprovedEvent) event).getEditHelper().getClass().getName());
+ } else if (event instanceof ExecutableAdviceEvent) {
+ result.put("Advice", ((ExecutableAdviceEvent) event).getAdvice().getClass().getName());
+ result.put("Phase ", ((ExecutableAdviceEvent) event).getAdvicePhase().name());
+ result.put("Executable command", ((ExecutableAdviceEvent) event).getCommand().getClass().getName());
+ } else if (event instanceof ExecutableEditHelperEvent) {
+ result.put("Executable command from edithelper", ((ExecutableEditHelperEvent) event).getEditHelper().getClass().getName());
+ result.put("Executable command", ((ExecutableEditHelperEvent) event).getCommand().getClass().getName());
+ } else if (event instanceof IdentityAdviceEvent) {
+ result.put("Identity Advice", ((IdentityAdviceEvent) event).getAdvice().getClass().getName());
+ result.put("Phase ", ((IdentityAdviceEvent) event).getAdvicePhase().name());
+ } else if (event instanceof IdentityEditHelperEvent) {
+ result.put("Identity EditHelper", ((IdentityEditHelperEvent) event).getEditHelper().getClass().getName());
+ } else if (event instanceof UnexecutableAdviceEvent) {
+ result.put("Unexecutable Advice", ((UnexecutableAdviceEvent) event).getAdvice().getClass().getName());
+ result.put("Phase ", ((UnexecutableAdviceEvent) event).getAdvicePhase().name());
+ result.put("Unexecutable command", ((UnexecutableAdviceEvent) event).getCommand().getClass().getName());
+ } else if (event instanceof UnexecutableEditHelperEvent) {
+ result.put("Unexecutable command from edithelper", ((UnexecutableEditHelperEvent) event).getEditHelper().getClass().getName());
+ result.put("Unexecutable command", ((UnexecutableEditHelperEvent) event).getCommand().getClass().getName());
+ } else if (event instanceof AdviceRequestConfigurationEvent) {
+ result.put("RequestConfiguration Advice", ((AdviceRequestConfigurationEvent) event).getAdvice().getClass().getName());
+ } else if (event instanceof EditHelperRequestConfigurationEvent) {
+ result.put("RequestConfiguration EditHelper", ((EditHelperRequestConfigurationEvent) event).getEditHelper().getClass().getName());
+ }
+
+ if (event instanceof IAdviceEvent) {
+ String adviceNames = "";
+ for (IEditHelperAdvice editHelperAdvice : ((IAdviceEvent) event).getAdvices()) {
+ adviceNames += " -" + editHelperAdvice.getClass().getName() + "\n";
+ }
+ result.put("Among the following advices ", adviceNames);
+ }
+
+ return result;
+ }
+
+ public static String printHtmlEvent(Map<String, String> details) {
+
+
+ String html = "<table border=\"1\">";
+ for (String key : details.keySet()) {
+ html += "<tr>";
+ html += "<td><b>" + key + "<b></td>";
+ html += "<td>" + details.get(key) + "</td>";
+ html += "</tr>";
+ }
+ html += "</table>";
+
+ html = html.replaceAll("\\n", "<br>");
+
+ return html;
+ }
+
+ /**
+ * @param req
+ * @return
+ */
+ public static String printHtmRequest(IEditCommandRequest req) {
+ String result = "<ul>";
+ result += "<li><b>Request</b>: " + req + "</li>";
+ result += "<li><b>Label</b>: " + req.getLabel() + "</li>";
+ result += "<li><b>Kind</b>: " + req.getClass().getName() + "</li>";
+ result += "<li><b>ElementsToEdit</b>: " + req.getElementsToEdit() + "</li>";
+ result += "<li><b>Parameters</b>:</li>";
+
+ if (!req.getParameters().keySet().isEmpty()) {
+ result += "<ul>";
+
+ for (Object key : req.getParameters().keySet()) {
+ result += "<li><b>" + key + "</b> <-> " + req.getParameters().get(key) + "</li>";
+ }
+ result += "</ul>";
+ }
+ result += "<li><b>EditHelperContext</b>: " + req.getEditHelperContext() + "</li>";
+
+ if (req instanceof CreateElementRequest) {
+ result += "<li><b>ElementType</b>: " + ((CreateElementRequest) req).getElementType() + "</li>";
+ result += "<li><b>Container</b>: " + ((CreateElementRequest) req).getContainer() + "</li>";
+ result += "<li><b>ContainmentFeature</b>: " + ((CreateElementRequest) req).getContainmentFeature() + "</li>";
+ if (req instanceof CreateRelationshipRequest) {
+ result += "<li><b>Source</b>: " + ((CreateRelationshipRequest) req).getSource() + "</li>";
+ result += "<li><b>Target</b>: " + ((CreateRelationshipRequest) req).getTarget() + "</li>";
+ }
+ }
+ result += "</ul>";
+
+ return result;
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/NotifierNullEditHelper.java b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/NotifierNullEditHelper.java
index 9173ffb9af2..9c1ed6085ec 100644
--- a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/NotifierNullEditHelper.java
+++ b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/utils/NotifierNullEditHelper.java
@@ -1,30 +1,30 @@
-/*****************************************************************************
- * Copyright (c) 2016 CEA LIST and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.elementtypesconfigurations.developer.utils;
-
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.AbstractNotifierEditHelper;
-
-/**
- * Edit helper for the NullElementType that considers before and after
- * advice, only.
- */
-public class NotifierNullEditHelper
- extends AbstractNotifierEditHelper {
-
- protected ICommand getInsteadCommand(IEditCommandRequest req) {
- return null;
- }
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.elementtypesconfigurations.developer.utils;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.AbstractNotifierEditHelper;
+
+/**
+ * Edit helper for the NullElementType that considers before and after
+ * advice, only.
+ */
+public class NotifierNullEditHelper
+ extends AbstractNotifierEditHelper {
+
+ protected ICommand getInsteadCommand(IEditCommandRequest req) {
+ return null;
+ }
} \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/view/ElementTypesConfigurationsListenerView.java b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/view/ElementTypesConfigurationsListenerView.java
index 47ea0f8693b..0953772c4b6 100644
--- a/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/view/ElementTypesConfigurationsListenerView.java
+++ b/plugins/developer/org.eclipse.papyrus.elementtypesconfigurations.developer/src/org/eclipse/papyrus/elementtypesconfigurations/developer/view/ElementTypesConfigurationsListenerView.java
@@ -1,227 +1,227 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.elementtypesconfigurations.developer.view;
-
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
-import org.eclipse.gmf.runtime.emf.type.core.NullElementType;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.papyrus.elementtypesconfigurations.developer.Activator;
-import org.eclipse.papyrus.elementtypesconfigurations.developer.providers.ElementTypesConfigurationsEventContentProvider;
-import org.eclipse.papyrus.elementtypesconfigurations.developer.providers.ElementTypesConfigurationsEventLabelProvider;
-import org.eclipse.papyrus.elementtypesconfigurations.developer.utils.ElementTypeRegistryUtils;
-import org.eclipse.papyrus.elementtypesconfigurations.developer.utils.ElementTypesConfigurationsEventPrinter;
-import org.eclipse.papyrus.elementtypesconfigurations.developer.utils.NotifierNullEditHelper;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.ElementTypesConfigurationsEventsChain;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.ElementTypesConfigurationsListenersRegistry;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.IElementTypesConfigurationsEventsChainListener;
-import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IElementTypesConfigurationsEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-import org.eclipse.ui.part.ViewPart;
-
-public class ElementTypesConfigurationsListenerView extends ViewPart {
-
- IClientContext context = null;
- FilteredTree tree = null;
- SashForm sash = null;
- Browser browser = null;
- IElementTypesConfigurationsEventsChainListener listener = null;
- Text limitText = null;
-
- List<ElementTypesConfigurationsEventsChain> eventsChains = new ArrayList<ElementTypesConfigurationsEventsChain>();
-
- final private int MAX_SIZE = 1000;
-
-
- @Override
- public void createPartControl(Composite parent) {
- parent.setLayout(new GridLayout(3, true));
- Button startButton = new Button(parent, SWT.NONE);
- startButton.setText("Start");
- startButton.addMouseListener(new MouseAdapter() {
-
-
-
- @Override
- public void mouseUp(MouseEvent e) {
- if (!Platform.inDebugMode()) {
- MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Debug mode", "You must activate debug mode to be able to use this view. ");
- }
-
- // Dirty work to force the NullElementType edithelper if in debug mode
- if (Platform.inDebugMode()) {
-
- Field nullElementTypeEditHelperField = ElementTypeRegistryUtils.getNullElementTypeEditHelper();
-
- if (nullElementTypeEditHelperField != null) {
- // Register fake
-
- try {
- nullElementTypeEditHelperField.set(NullElementType.getInstance(), new NotifierNullEditHelper());
- } catch (IllegalArgumentException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (IllegalAccessException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- } else {
- Activator.log.warn("Failed to override NullElementType's EditHelper");
- }
-
- MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Debug mode", "Be careful, as the platform is in debug mode, the NullElementType's EditHelper has been overriden");
- }
-
- if (listener == null) {
- listener = new IElementTypesConfigurationsEventsChainListener() {
-
- @Override
- public void notifyChain(ElementTypesConfigurationsEventsChain chain) {
- int limit;
- String text = limitText.getText();
- try {
- limit = Integer.parseInt(text);
- } catch (NumberFormatException e) {
- limit = MAX_SIZE;
- }
- if (eventsChains.size() >= limit) {
- eventsChains.remove(0);
- }
- eventsChains.add(chain);
- Display.getCurrent().asyncExec(new Runnable() {
- @Override
- public void run() {
- tree.getViewer().refresh();
- }
- });
-
- }
- };
- ElementTypesConfigurationsListenersRegistry.getInstance().addEventChainListener(listener);
- }
- }
-
- });
- startButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
- Button stopButton = new Button(parent, SWT.NONE);
- stopButton.setText("Stop");
- stopButton.addMouseListener(new MouseAdapter() {
-
- @Override
- public void mouseUp(MouseEvent e) {
- ElementTypesConfigurationsListenersRegistry.getInstance().removeEventChainListener(listener);
- listener = null;
- }
-
- });
- stopButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
- Button clearButton = new Button(parent, SWT.NONE);
- clearButton.setText("Clear");
- clearButton.addMouseListener(new MouseAdapter() {
-
- @Override
- public void mouseUp(MouseEvent e) {
- eventsChains.clear();
- tree.getViewer().refresh();
- browser.setText("");
- }
-
- });
- clearButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
- Label label = new Label(parent, SWT.NONE);
- label.setText("Limit: ");
-
- limitText = new Text(parent, SWT.BORDER);
- limitText.setText(MAX_SIZE + "");
- limitText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
-
- sash = new SashForm(parent, SWT.HORIZONTAL | SWT.BORDER);
-
- sash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1));
-
- tree = new FilteredTree(sash, SWT.BORDER, new PatternFilter(), true);
- tree.getViewer().setLabelProvider(new ElementTypesConfigurationsEventLabelProvider());
- tree.getViewer().setContentProvider(new ElementTypesConfigurationsEventContentProvider());
- tree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
-
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- if (event.getSelection() instanceof IStructuredSelection) {
- Object first = ((IStructuredSelection) event.getSelection()).getFirstElement();
- String result = "";
- if (first instanceof IElementTypesConfigurationsEvent) {
-
- Map<String, String> details = ElementTypesConfigurationsEventPrinter.getEventDetails(((IElementTypesConfigurationsEvent) first));
- result = ElementTypesConfigurationsEventPrinter.printHtmlEvent(details);
- } else if (first instanceof ElementTypesConfigurationsEventsChain) {
- IEditCommandRequest req = ((ElementTypesConfigurationsEventsChain) first).getRequest();
- result = ElementTypesConfigurationsEventPrinter.printHtmRequest(req);
- }
- browser.setText(result);
- }
-
- }
- });
- tree.getViewer().setInput(eventsChains);
-
- browser = new Browser(sash, SWT.NONE);
-
-
- sash.setWeights(new int[] { 1, 3 });
- }
-
-
-
- @Override
- public void setFocus() {
-
- }
-
- /**
- * @see org.eclipse.ui.part.WorkbenchPart#dispose()
- *
- */
- @Override
- public void dispose() {
- ElementTypesConfigurationsListenersRegistry.getInstance().removeEventChainListener(listener);
- super.dispose();
- }
-
-
-}
+/*****************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.elementtypesconfigurations.developer.view;
+
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.gmf.runtime.emf.type.core.NullElementType;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.papyrus.elementtypesconfigurations.developer.Activator;
+import org.eclipse.papyrus.elementtypesconfigurations.developer.providers.ElementTypesConfigurationsEventContentProvider;
+import org.eclipse.papyrus.elementtypesconfigurations.developer.providers.ElementTypesConfigurationsEventLabelProvider;
+import org.eclipse.papyrus.elementtypesconfigurations.developer.utils.ElementTypeRegistryUtils;
+import org.eclipse.papyrus.elementtypesconfigurations.developer.utils.ElementTypesConfigurationsEventPrinter;
+import org.eclipse.papyrus.elementtypesconfigurations.developer.utils.NotifierNullEditHelper;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.ElementTypesConfigurationsEventsChain;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.ElementTypesConfigurationsListenersRegistry;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.IElementTypesConfigurationsEventsChainListener;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.notification.events.IElementTypesConfigurationsEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.custom.SashForm;
+import org.eclipse.swt.events.MouseAdapter;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.dialogs.FilteredTree;
+import org.eclipse.ui.dialogs.PatternFilter;
+import org.eclipse.ui.part.ViewPart;
+
+public class ElementTypesConfigurationsListenerView extends ViewPart {
+
+ IClientContext context = null;
+ FilteredTree tree = null;
+ SashForm sash = null;
+ Browser browser = null;
+ IElementTypesConfigurationsEventsChainListener listener = null;
+ Text limitText = null;
+
+ List<ElementTypesConfigurationsEventsChain> eventsChains = new ArrayList<ElementTypesConfigurationsEventsChain>();
+
+ final private int MAX_SIZE = 1000;
+
+
+ @Override
+ public void createPartControl(Composite parent) {
+ parent.setLayout(new GridLayout(3, true));
+ Button startButton = new Button(parent, SWT.NONE);
+ startButton.setText("Start");
+ startButton.addMouseListener(new MouseAdapter() {
+
+
+
+ @Override
+ public void mouseUp(MouseEvent e) {
+ if (!Platform.inDebugMode()) {
+ MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Debug mode", "You must activate debug mode to be able to use this view. ");
+ }
+
+ // Dirty work to force the NullElementType edithelper if in debug mode
+ if (Platform.inDebugMode()) {
+
+ Field nullElementTypeEditHelperField = ElementTypeRegistryUtils.getNullElementTypeEditHelper();
+
+ if (nullElementTypeEditHelperField != null) {
+ // Register fake
+
+ try {
+ nullElementTypeEditHelperField.set(NullElementType.getInstance(), new NotifierNullEditHelper());
+ } catch (IllegalArgumentException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ } catch (IllegalAccessException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ } else {
+ Activator.log.warn("Failed to override NullElementType's EditHelper");
+ }
+
+ MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Debug mode", "Be careful, as the platform is in debug mode, the NullElementType's EditHelper has been overriden");
+ }
+
+ if (listener == null) {
+ listener = new IElementTypesConfigurationsEventsChainListener() {
+
+ @Override
+ public void notifyChain(ElementTypesConfigurationsEventsChain chain) {
+ int limit;
+ String text = limitText.getText();
+ try {
+ limit = Integer.parseInt(text);
+ } catch (NumberFormatException e) {
+ limit = MAX_SIZE;
+ }
+ if (eventsChains.size() >= limit) {
+ eventsChains.remove(0);
+ }
+ eventsChains.add(chain);
+ Display.getCurrent().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ tree.getViewer().refresh();
+ }
+ });
+
+ }
+ };
+ ElementTypesConfigurationsListenersRegistry.getInstance().addEventChainListener(listener);
+ }
+ }
+
+ });
+ startButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+
+ Button stopButton = new Button(parent, SWT.NONE);
+ stopButton.setText("Stop");
+ stopButton.addMouseListener(new MouseAdapter() {
+
+ @Override
+ public void mouseUp(MouseEvent e) {
+ ElementTypesConfigurationsListenersRegistry.getInstance().removeEventChainListener(listener);
+ listener = null;
+ }
+
+ });
+ stopButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+
+ Button clearButton = new Button(parent, SWT.NONE);
+ clearButton.setText("Clear");
+ clearButton.addMouseListener(new MouseAdapter() {
+
+ @Override
+ public void mouseUp(MouseEvent e) {
+ eventsChains.clear();
+ tree.getViewer().refresh();
+ browser.setText("");
+ }
+
+ });
+ clearButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+
+ Label label = new Label(parent, SWT.NONE);
+ label.setText("Limit: ");
+
+ limitText = new Text(parent, SWT.BORDER);
+ limitText.setText(MAX_SIZE + "");
+ limitText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
+
+ sash = new SashForm(parent, SWT.HORIZONTAL | SWT.BORDER);
+
+ sash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1));
+
+ tree = new FilteredTree(sash, SWT.BORDER, new PatternFilter(), true);
+ tree.getViewer().setLabelProvider(new ElementTypesConfigurationsEventLabelProvider());
+ tree.getViewer().setContentProvider(new ElementTypesConfigurationsEventContentProvider());
+ tree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
+
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ if (event.getSelection() instanceof IStructuredSelection) {
+ Object first = ((IStructuredSelection) event.getSelection()).getFirstElement();
+ String result = "";
+ if (first instanceof IElementTypesConfigurationsEvent) {
+
+ Map<String, String> details = ElementTypesConfigurationsEventPrinter.getEventDetails(((IElementTypesConfigurationsEvent) first));
+ result = ElementTypesConfigurationsEventPrinter.printHtmlEvent(details);
+ } else if (first instanceof ElementTypesConfigurationsEventsChain) {
+ IEditCommandRequest req = ((ElementTypesConfigurationsEventsChain) first).getRequest();
+ result = ElementTypesConfigurationsEventPrinter.printHtmRequest(req);
+ }
+ browser.setText(result);
+ }
+
+ }
+ });
+ tree.getViewer().setInput(eventsChains);
+
+ browser = new Browser(sash, SWT.NONE);
+
+
+ sash.setWeights(new int[] { 1, 3 });
+ }
+
+
+
+ @Override
+ public void setFocus() {
+
+ }
+
+ /**
+ * @see org.eclipse.ui.part.WorkbenchPart#dispose()
+ *
+ */
+ @Override
+ public void dispose() {
+ ElementTypesConfigurationsListenersRegistry.getInstance().removeEventChainListener(listener);
+ super.dispose();
+ }
+
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.classpath b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.classpath
index 64c5e31b7a2..eca7bdba8f0 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.classpath
+++ b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.settings/org.eclipse.jdt.core.prefs b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.settings/org.eclipse.jdt.core.prefs
index c585cc455ae..b3aa6d60f94 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF
index d0b8fcc5d6c..069e7c13fcc 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF
@@ -1,20 +1,20 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.emf.edit;bundle-version="2.7.1",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.common.core;bundle-version="1.4.1",
- org.eclipse.emf.workspace;bundle-version="1.4.0",
- org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.7.0",
- org.eclipse.papyrus.emf.facet.common.ui;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.infra.emf.commandstack.Activator
-Bundle-Description: This plugin allows to show the command owned by the emf command stack
-Bundle-SymbolicName: org.eclipse.papyrus.infra.emf.commandstack;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.emf.edit;bundle-version="2.7.1",
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.common.core;bundle-version="1.4.1",
+ org.eclipse.emf.workspace;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.emf.gmf;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.7.0",
+ org.eclipse.papyrus.emf.facet.common.ui;bundle-version="1.2.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.infra.emf.commandstack.Activator
+Bundle-Description: This plugin allows to show the command owned by the emf command stack
+Bundle-SymbolicName: org.eclipse.papyrus.infra.emf.commandstack;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/src/org/eclipse/papyrus/infra/emf/commandstack/view/CommandStackView.java b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/src/org/eclipse/papyrus/infra/emf/commandstack/view/CommandStackView.java
index 093c1a345a9..1a7c7c2c46a 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/src/org/eclipse/papyrus/infra/emf/commandstack/view/CommandStackView.java
+++ b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/src/org/eclipse/papyrus/infra/emf/commandstack/view/CommandStackView.java
@@ -23,7 +23,6 @@ import java.util.List;
import java.util.ListIterator;
import java.util.Map;
-import org.eclipse.core.commands.operations.AbstractOperation;
import org.eclipse.core.commands.operations.IOperationHistory;
import org.eclipse.core.commands.operations.IOperationHistoryListener;
import org.eclipse.core.commands.operations.IUndoContext;
@@ -35,7 +34,6 @@ import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.CompoundCommand;
import org.eclipse.emf.workspace.EMFCommandOperation;
import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.diagram.ui.commands.CommandProxy;
import org.eclipse.gmf.runtime.emf.commands.core.command.EditingDomainUndoContext;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IToolBarManager;
@@ -43,9 +41,9 @@ import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.papyrus.commands.wrappers.GEFtoEMFCommandWrapper;
-import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.emf.facet.common.ui.internal.views.AbstractTreeView;
+import org.eclipse.papyrus.infra.emf.gmf.command.ICommandWrapper;
+import org.eclipse.papyrus.infra.emf.gmf.util.CommandUtils;
public class CommandStackView extends AbstractTreeView {
@@ -63,9 +61,10 @@ public class CommandStackView extends AbstractTreeView {
this.history = OperationHistoryFactory.getOperationHistory();
this.history.addOperationHistoryListener(historyListener = new IOperationHistoryListener() {
+ @Override
public void historyNotification(final OperationHistoryEvent event) {
- if(!CommandStackView.this.commandList.contains(event.getOperation())) {
- if(CommandStackView.this.commandList.size() == CommandStackView.this.maxSize) {
+ if (!CommandStackView.this.commandList.contains(event.getOperation())) {
+ if (CommandStackView.this.commandList.size() == CommandStackView.this.maxSize) {
IUndoableOperation removedOperation = CommandStackView.this.commandList.remove(CommandStackView.this.maxSize - 1);
dates.remove(removedOperation);
}
@@ -80,8 +79,8 @@ public class CommandStackView extends AbstractTreeView {
}
private boolean isValidUndoContext(IUndoableOperation operation) {
- for(IUndoContext undoContext : operation.getContexts()) {
- if(undoContext instanceof EditingDomainUndoContext) {
+ for (IUndoContext undoContext : operation.getContexts()) {
+ if (undoContext instanceof EditingDomainUndoContext) {
return true;
}
}
@@ -142,14 +141,7 @@ public class CommandStackView extends AbstractTreeView {
@Override
public String getText(final Object element) {
- if(element instanceof AbstractOperation) {
- return ((AbstractOperation)element).getLabel();
- } else if(element instanceof AbstractCommand) {
- return ((AbstractCommand)element).getLabel();
- } else if(element instanceof org.eclipse.gef.commands.Command) {
- return ((org.eclipse.gef.commands.Command)element).getLabel();
- }
- return "no managed";
+ return CommandUtils.getLabel(element);
}
};
createColumn("Name", "NAME_COLUMN_ID", 200, columnLabelProvider);
@@ -160,8 +152,8 @@ public class CommandStackView extends AbstractTreeView {
@Override
public String getText(final Object element) {
- if(element instanceof IUndoableOperation) {
- return Boolean.toString(isValidUndoContext((IUndoableOperation)element));
+ if (element instanceof IUndoableOperation) {
+ return Boolean.toString(isValidUndoContext((IUndoableOperation) element));
}
return "?";
}
@@ -174,8 +166,8 @@ public class CommandStackView extends AbstractTreeView {
@Override
public String getText(final Object element) {
- if(element instanceof AbstractCommand) {
- return ((AbstractCommand)element).getDescription();
+ if (element instanceof AbstractCommand) {
+ return ((AbstractCommand) element).getDescription();
}
return "no description";
}
@@ -188,7 +180,7 @@ public class CommandStackView extends AbstractTreeView {
@Override
public String getText(final Object element) {
- if(CommandStackView.this.dates.containsKey(element)) {
+ if (CommandStackView.this.dates.containsKey(element)) {
return CommandStackView.this.dates.get(element);
}
return "";
@@ -201,53 +193,61 @@ public class CommandStackView extends AbstractTreeView {
protected IContentProvider getContentProvider() {
return new ITreeContentProvider() {
+ @Override
public Object[] getElements(final Object inputElement) {
- if(inputElement instanceof Command) {
- return new Object[]{ inputElement };
- } else if(inputElement instanceof Collection<?>) {
- return ((Collection<?>)inputElement).toArray();
+ if (inputElement instanceof Command) {
+ return new Object[] { inputElement };
+ } else if (inputElement instanceof Collection<?>) {
+ return ((Collection<?>) inputElement).toArray();
}
return new Object[0];
}
+ @Override
public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
// nothing
}
+ @Override
public void dispose() {
// nothing
}
+ @Override
public boolean hasChildren(final Object element) {
return getChildren(element).length != 0;
}
+ @Override
public Object getParent(final Object element) {
return null;
}
+ @Override
public Object[] getChildren(final Object parentElement) {
- if(parentElement instanceof CompoundCommand) {
- return ((CompoundCommand)parentElement).getCommandList().toArray();
- } else if(parentElement instanceof CompositeCommand) {
+ if (parentElement instanceof CompoundCommand) {
+ return ((CompoundCommand) parentElement).getCommandList().toArray();
+ } else if (parentElement instanceof CompositeCommand) {
final List<Object> children = new ArrayList<Object>();
- final ListIterator<Object> iter = ((CompositeCommand)parentElement).listIterator();
- while(iter.hasNext()) {
+ final ListIterator<Object> iter = ((CompositeCommand) parentElement).listIterator();
+ while (iter.hasNext()) {
children.add(iter.next());
}
return children.toArray();
- } else if(parentElement instanceof EMFCommandOperation) {
+ } else if (parentElement instanceof EMFCommandOperation) {
final List<Object> children = new ArrayList<Object>();
- children.add(((EMFCommandOperation)parentElement).getCommand());
+ children.add(((EMFCommandOperation) parentElement).getCommand());
+ return children.toArray();
+ } else if (parentElement instanceof ICommandWrapper<?>) {
+ return new Object[] { ((ICommandWrapper<?>) parentElement).getWrappedCommand() };
+ } else if (CommandUtils.isCompound(parentElement)) {
+ final List<Object> children = new ArrayList<Object>();
+ for (Object next : CommandUtils.getChildren(parentElement)) {
+ children.add(next);
+ }
return children.toArray();
- } else if(parentElement instanceof GMFtoEMFCommandWrapper) {
- return new Object[]{ ((GMFtoEMFCommandWrapper)parentElement).getGMFCommand() };
- } else if(parentElement instanceof GEFtoEMFCommandWrapper) {
- return new Object[]{ ((GEFtoEMFCommandWrapper)parentElement).getGEFCommand() };
- } else if(parentElement instanceof CommandProxy) {
- return new Object[]{ ((CommandProxy)parentElement).getCommand() };
- } else if(parentElement instanceof org.eclipse.gef.commands.CompoundCommand) {
- return ((org.eclipse.gef.commands.CompoundCommand)parentElement).getChildren();
+ } else if (ICommandWrapper.isWrapper(parentElement, Object.class)) {
+ return new Object[] { ICommandWrapper.unwrap(parentElement, Object.class) };
}
return new Object[0];
}
diff --git a/plugins/developer/pom.xml b/plugins/developer/pom.xml
index 5da8afcdeb9..f6de93f7b87 100644
--- a/plugins/developer/pom.xml
+++ b/plugins/developer/pom.xml
@@ -12,8 +12,11 @@
<groupId>org.eclipse.papyrus</groupId>
<version>1.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
+ <name>Papyrus Developer Tools</name>
+ <description>Optional tools for Papyrus developers providing aids for debugging, releng, and other development tasks.</description>
+
<modules>
- <module>./org.eclipse.papyrus.dev.view.services.edit.request</module>
- <module>./org.eclipse.papyrus.infra.extendedtypes.elementtypeview</module>
+ <module>org.eclipse.papyrus.dev.view.services.edit.request</module>
+ <module>org.eclipse.papyrus.infra.extendedtypes.elementtypeview</module>
</modules>
-</project> \ No newline at end of file
+</project>

Back to the top