Documentation: web content
diff --git a/documentation/00-Main.html b/documentation/00-Main.html
deleted file mode 100644
index 8c2dab4..0000000
--- a/documentation/00-Main.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Emf Parsley Guide</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="00-Main.html" title="">
-</head>
-<body>
-<h1>Emf Parsley Guide</h1>
-<ol><li><a href="00-Main_4.html#Emf%20Parsley%20Guide_4">Documentation</a>
-<ol>	<li><a href="01-Introduction.html#Introduction">Introduction</a>
-	<ol>	<li><a href="01-Introduction.html#reflectiveComponents">Reflective Components</a>
-		</li>
-		<li><a href="01-Introduction.html#easyToCustomize">Easy to Customize</a>
-		</li>
-		<li><a href="01-Introduction.html#architecture">Architecture</a>
-		</li>
-	</ol></li>
-	<li><a href="02-GettingStarted.html#GettingStarted">Getting Started</a>
-	<ol>	<li><a href="02-GettingStarted.html#Installation">Installation</a>
-		</li>
-		<li><a href="02-GettingStarted.html#FirstExample">First Example</a>
-		</li>
-		<li><a href="02-GettingStarted.html#RCPMail">RCP Mail Example</a>
-		</li>
-	</ol></li>
-	<li><a href="03-Components.html#Components">Components</a>
-	<ol>	<li><a href="03-Components.html#FormComponent">Form Component</a>
-		<ol>	<li><a href="03-Components.html#Form_Customizations">Form Customizations</a>
-			</li>
-		</ol></li>
-		<li><a href="03-Components.html#TreeComponent">Tree Component</a>
-		<ol>	<li><a href="03-Components.html#Tree_Customizations">Tree Customizations</a>
-			</li>
-		</ol></li>
-		<li><a href="03-Components.html#TreeFormComponent">Tree Form Component</a>
-		<ol>	<li><a href="03-Components.html#TreeForm_Customizations">Tree Form Customization</a>
-			</li>
-		</ol></li>
-		<li><a href="03-Components.html#TableComponent">Table Component</a>
-		</li>
-	</ol></li>
-	<li><a href="04-Customization.html#Customization">Customization</a>
-	<ol>	<li><a href="04-Customization.html#ResourceManagers">Managing Resources</a>
-		<ol>	<li><a href="04-Customization.html#ResourceLoader">Resource Loader</a>
-			</li>
-			<li><a href="04-Customization.html#EmptyResourceInitializer">Empty Resource Initializer</a>
-			</li>
-			<li><a href="04-Customization.html#EditingDomainFinder">Editing Domain Finder</a>
-			</li>
-			<li><a href="04-Customization.html#ResourceSaveManager">Resource Save Manager</a>
-			<ol>	<li><a href="04-Customization.html#ValidateResourceSaveManager">Validate Resource Save Manager</a>
-				</li>
-			</ol></li>
-		</ol></li>
-		<li><a href="04-Customization.html#Providers">Providers</a>
-		<ol>	<li><a href="04-Customization.html#FeaturesProvider">Features Provider</a>
-			<ol>	<li><a href="04-Customization.html#FeatureProvider1">Prima versione</a>
-				</li>
-				<li><a href="04-Customization.html#FeatureProvider2">Seconda versione</a>
-				</li>
-				<li><a href="04-Customization.html#FeaturesColumnProvider">Features Column Provider</a>
-				</li>
-			</ol></li>
-			<li><a href="04-Customization.html#PropertyDescriptionProvider">Property Description Provider</a>
-			<ol>	<li><a href="04-Customization.html#FormPropertyDescriptionProvider">Form Property Description Provider</a>
-				</li>
-			</ol></li>
-			<li><a href="04-Customization.html#ViewerLabelProvider">Viewer Label Provider</a>
-			</li>
-			<li><a href="04-Customization.html#ViewerContentProvider">Viewer Content Provider</a>
-			</li>
-			<li><a href="04-Customization.html#ProposalProvider">Proposal Provider</a>
-			</li>
-			<li><a href="04-Customization.html#ViewerContextMenuFactory">Viewer Context Menu Factory</a>
-			</li>
-			<li><a href="04-Customization.html#TableColumnLabelProvider">Table Column Label Provider</a>
-			</li>
-		</ol></li>
-		<li><a href="04-Customization.html#SelectionAndMenu">Selection And Menu</a>
-		<ol>	<li><a href="04-Customization.html#EmfSelectionHelper">Emf Selection Helper</a>
-			</li>
-		</ol></li>
-		<li><a href="04-Customization.html#Builders">Builders</a>
-		<ol>	<li><a href="04-Customization.html#TableViewerBuilder">Table Viewer Builder</a>
-			</li>
-			<li><a href="04-Customization.html#TableViewerColumnBuilder">Table Viewer Column Builder</a>
-			<ol>	<li><a href="04-Customization.html#TableViewerEditableColumnBuilder">Table Viewer Editable Column Builder</a>
-				</li>
-			</ol></li>
-		</ol></li>
-		<li><a href="04-Customization.html#Factories">Factories</a>
-		<ol>	<li><a href="04-Customization.html#FormFactory">Form Factory</a>
-			</li>
-			<li><a href="04-Customization.html#JfaceProviderFactory">Jface Provider Factory</a>
-			</li>
-			<li><a href="04-Customization.html#FormControlFactory">Form Control Factory</a>
-			</li>
-			<li><a href="04-Customization.html#TreeFormFactory">Tree Form Factory</a>
-			</li>
-			<li><a href="04-Customization.html#ViewerFactory">Viewer Factory</a>
-			</li>
-			<li><a href="04-Customization.html#AdapterFactoryEditingDomain">Viewer Factory</a>
-			</li>
-		</ol></li>
-		<li><a href="04-Customization.html#Viewers">Viewers</a>
-		<ol>	<li><a href="04-Customization.html#ViewerInitializer">Viewer Initializer</a>
-			</li>
-		</ol></li>
-	</ol></li>
-	<li><a href="05-DSL.html#DSL">EMF Components DSL</a>
-	<ol>	<li><a href="05-DSL.html#xbase">Xbase features</a>
-		</li>
-	</ol></li>
-	<li><a href="06-AdvancedComponents.html#AdvancedComponents">Advanced Components</a>
-	</li>
-	<li><a href="07-Eclipse4.html#Eclipse4">Eclipse 4</a>
-	<ol>	<li><a href="07-Eclipse4.html#GetFirstExample">First Example Setup</a>
-		</li>
-		<li><a href="07-Eclipse4.html#PrepareForEclipse4Application">Preparing for a pure Eclipse 4 Application</a>
-		</li>
-		<li><a href="07-Eclipse4.html#CreateEclipse4Application">Create an Eclipse 4 Application</a>
-		</li>
-		<li><a href="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents">Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a>
-		</li>
-		<li><a href="07-Eclipse4.html#Eclipse4Save">Adding the dirty state and Save command</a>
-		</li>
-	</ol></li>
-</ol></li>
-<li><a href="00-Main_5.html#Emf%20Parsley%20Guide_5">Appendix</a>
-<ol>	<li><a href="GettingSources.html#GettingSources">Getting Sources</a>
-	<ol>	<li><a href="GettingSources.html#InstallBuckminster">Install Buckminster in the IDE</a>
-		</li>
-		<li><a href="GettingSources.html#PrepareTP">Prepare an empty target platform</a>
-		</li>
-		<li><a href="GettingSources.html#MaterializeWP">Materialize the Workspace</a>
-		<ol>	<li><a href="GettingSources.html#CustomizeProperties">(Optional) Customize some Properties</a>
-			</li>
-			<li><a href="GettingSources.html#StartMaterialization">Start Materialization</a>
-			</li>
-		</ol></li>
-	</ol></li>
-	<li><a href="samples.html#samples">Xdoc Samples</a>
-	<ol>	<li><a href="samples.html#Links">References</a>
-		</li>
-		<li><a href="samples.html#CodeSections">Code Sections</a>
-		</li>
-		<li><a href="samples.html#Lists">Lists and Tables</a>
-		</li>
-		<li><a href="samples.html#Tables">Tables</a>
-		</li>
-		<li><a href="samples.html#TODO">TODO</a>
-		</li>
-		<li><a href="samples.html#Images">Images</a>
-		</li>
-	</ol></li>
-</ol></li>
-</ol></body>
-</html>
diff --git a/documentation/00-Main_4.html b/documentation/00-Main_4.html
deleted file mode 100644
index 933bdfc..0000000
--- a/documentation/00-Main_4.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Documentation</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="00-Main.html" title="">
-</head>
-<body>
-<a name="Emf%20Parsley%20Guide_4"></a>
-<h1>Documentation</h1>
-<ol><li><a href="01-Introduction.html#Introduction">Introduction</a>
-<ol>	<li><a href="01-Introduction.html#reflectiveComponents">Reflective Components</a>
-	</li>
-	<li><a href="01-Introduction.html#easyToCustomize">Easy to Customize</a>
-	</li>
-	<li><a href="01-Introduction.html#architecture">Architecture</a>
-	</li>
-</ol></li>
-<li><a href="02-GettingStarted.html#GettingStarted">Getting Started</a>
-<ol>	<li><a href="02-GettingStarted.html#Installation">Installation</a>
-	</li>
-	<li><a href="02-GettingStarted.html#FirstExample">First Example</a>
-	</li>
-	<li><a href="02-GettingStarted.html#RCPMail">RCP Mail Example</a>
-	</li>
-</ol></li>
-<li><a href="03-Components.html#Components">Components</a>
-<ol>	<li><a href="03-Components.html#FormComponent">Form Component</a>
-	<ol>	<li><a href="03-Components.html#Form_Customizations">Form Customizations</a>
-		</li>
-	</ol></li>
-	<li><a href="03-Components.html#TreeComponent">Tree Component</a>
-	<ol>	<li><a href="03-Components.html#Tree_Customizations">Tree Customizations</a>
-		</li>
-	</ol></li>
-	<li><a href="03-Components.html#TreeFormComponent">Tree Form Component</a>
-	<ol>	<li><a href="03-Components.html#TreeForm_Customizations">Tree Form Customization</a>
-		</li>
-	</ol></li>
-	<li><a href="03-Components.html#TableComponent">Table Component</a>
-	</li>
-</ol></li>
-<li><a href="04-Customization.html#Customization">Customization</a>
-<ol>	<li><a href="04-Customization.html#ResourceManagers">Managing Resources</a>
-	<ol>	<li><a href="04-Customization.html#ResourceLoader">Resource Loader</a>
-		</li>
-		<li><a href="04-Customization.html#EmptyResourceInitializer">Empty Resource Initializer</a>
-		</li>
-		<li><a href="04-Customization.html#EditingDomainFinder">Editing Domain Finder</a>
-		</li>
-		<li><a href="04-Customization.html#ResourceSaveManager">Resource Save Manager</a>
-		<ol>	<li><a href="04-Customization.html#ValidateResourceSaveManager">Validate Resource Save Manager</a>
-			</li>
-		</ol></li>
-	</ol></li>
-	<li><a href="04-Customization.html#Providers">Providers</a>
-	<ol>	<li><a href="04-Customization.html#FeaturesProvider">Features Provider</a>
-		<ol>	<li><a href="04-Customization.html#FeatureProvider1">Prima versione</a>
-			</li>
-			<li><a href="04-Customization.html#FeatureProvider2">Seconda versione</a>
-			</li>
-			<li><a href="04-Customization.html#FeaturesColumnProvider">Features Column Provider</a>
-			</li>
-		</ol></li>
-		<li><a href="04-Customization.html#PropertyDescriptionProvider">Property Description Provider</a>
-		<ol>	<li><a href="04-Customization.html#FormPropertyDescriptionProvider">Form Property Description Provider</a>
-			</li>
-		</ol></li>
-		<li><a href="04-Customization.html#ViewerLabelProvider">Viewer Label Provider</a>
-		</li>
-		<li><a href="04-Customization.html#ViewerContentProvider">Viewer Content Provider</a>
-		</li>
-		<li><a href="04-Customization.html#ProposalProvider">Proposal Provider</a>
-		</li>
-		<li><a href="04-Customization.html#ViewerContextMenuFactory">Viewer Context Menu Factory</a>
-		</li>
-		<li><a href="04-Customization.html#TableColumnLabelProvider">Table Column Label Provider</a>
-		</li>
-	</ol></li>
-	<li><a href="04-Customization.html#SelectionAndMenu">Selection And Menu</a>
-	<ol>	<li><a href="04-Customization.html#EmfSelectionHelper">Emf Selection Helper</a>
-		</li>
-	</ol></li>
-	<li><a href="04-Customization.html#Builders">Builders</a>
-	<ol>	<li><a href="04-Customization.html#TableViewerBuilder">Table Viewer Builder</a>
-		</li>
-		<li><a href="04-Customization.html#TableViewerColumnBuilder">Table Viewer Column Builder</a>
-		<ol>	<li><a href="04-Customization.html#TableViewerEditableColumnBuilder">Table Viewer Editable Column Builder</a>
-			</li>
-		</ol></li>
-	</ol></li>
-	<li><a href="04-Customization.html#Factories">Factories</a>
-	<ol>	<li><a href="04-Customization.html#FormFactory">Form Factory</a>
-		</li>
-		<li><a href="04-Customization.html#JfaceProviderFactory">Jface Provider Factory</a>
-		</li>
-		<li><a href="04-Customization.html#FormControlFactory">Form Control Factory</a>
-		</li>
-		<li><a href="04-Customization.html#TreeFormFactory">Tree Form Factory</a>
-		</li>
-		<li><a href="04-Customization.html#ViewerFactory">Viewer Factory</a>
-		</li>
-		<li><a href="04-Customization.html#AdapterFactoryEditingDomain">Viewer Factory</a>
-		</li>
-	</ol></li>
-	<li><a href="04-Customization.html#Viewers">Viewers</a>
-	<ol>	<li><a href="04-Customization.html#ViewerInitializer">Viewer Initializer</a>
-		</li>
-	</ol></li>
-</ol></li>
-<li><a href="05-DSL.html#DSL">EMF Components DSL</a>
-<ol>	<li><a href="05-DSL.html#xbase">Xbase features</a>
-	</li>
-</ol></li>
-<li><a href="06-AdvancedComponents.html#AdvancedComponents">Advanced Components</a>
-</li>
-<li><a href="07-Eclipse4.html#Eclipse4">Eclipse 4</a>
-<ol>	<li><a href="07-Eclipse4.html#GetFirstExample">First Example Setup</a>
-	</li>
-	<li><a href="07-Eclipse4.html#PrepareForEclipse4Application">Preparing for a pure Eclipse 4 Application</a>
-	</li>
-	<li><a href="07-Eclipse4.html#CreateEclipse4Application">Create an Eclipse 4 Application</a>
-	</li>
-	<li><a href="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents">Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a>
-	</li>
-	<li><a href="07-Eclipse4.html#Eclipse4Save">Adding the dirty state and Save command</a>
-	</li>
-</ol></li>
-</ol></body>
-</html>
diff --git a/documentation/00-Main_5.html b/documentation/00-Main_5.html
deleted file mode 100644
index 46b658e..0000000
--- a/documentation/00-Main_5.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Appendix</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="00-Main.html" title="">
-</head>
-<body>
-<a name="Emf%20Parsley%20Guide_5"></a>
-<h1>Appendix</h1>
-<ol><li><a href="GettingSources.html#GettingSources">Getting Sources</a>
-<ol>	<li><a href="GettingSources.html#InstallBuckminster">Install Buckminster in the IDE</a>
-	</li>
-	<li><a href="GettingSources.html#PrepareTP">Prepare an empty target platform</a>
-	</li>
-	<li><a href="GettingSources.html#MaterializeWP">Materialize the Workspace</a>
-	<ol>	<li><a href="GettingSources.html#CustomizeProperties">(Optional) Customize some Properties</a>
-		</li>
-		<li><a href="GettingSources.html#StartMaterialization">Start Materialization</a>
-		</li>
-	</ol></li>
-</ol></li>
-<li><a href="samples.html#samples">Xdoc Samples</a>
-<ol>	<li><a href="samples.html#Links">References</a>
-	</li>
-	<li><a href="samples.html#CodeSections">Code Sections</a>
-	</li>
-	<li><a href="samples.html#Lists">Lists and Tables</a>
-	</li>
-	<li><a href="samples.html#Tables">Tables</a>
-	</li>
-	<li><a href="samples.html#TODO">TODO</a>
-	</li>
-	<li><a href="samples.html#Images">Images</a>
-	</li>
-</ol></li>
-</ol></body>
-</html>
diff --git a/documentation/01-Introduction.html b/documentation/01-Introduction.html
index 641cd88..c01757e 100644
--- a/documentation/01-Introduction.html
+++ b/documentation/01-Introduction.html
@@ -1,33 +1,159 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Introduction</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="Introduction"></a>
-<h1>Introduction</h1>
-<p>
-Emf Parsley is a lightweight framework that allows easy and quick development
-of EMF-based Applications. It can be configured to use all kind of EMF persistence 
-implementations (XMI, Teneo, CDO).
-</p>
-<p>
-It aims at providing a set of Components like Trees, Tables and Detail Forms 
-that manage the model with the introspective EMF capabilities. 
-Using these components you can easily build forms, viewer or editors. 
-The framework provides basic UI implementations which are customizable 
-with Injection mechanism
-(based on <a href="http://code.google.com/p/google-guice">Google Guice</a>). 
-</p>
-<a name="reflectiveComponents"></a>
-<h2>Reflective Components</h2>
-<a name="easyToCustomize"></a>
-<h2>Easy to Customize</h2>
-<a name="architecture"></a>
-<h2>Architecture</h2>
-</body>
-</html>
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="Introduction" ></a>
+		<h1>Introduction</h1>
+				<div class="toc">
+				  <ul>
+				    <li><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+				    <li><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+				    <li><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+				  </ul>
+				</div>
+				
+		<p>
+		Emf Parsley is a lightweight framework that allows easy and quick development
+		of EMF-based Applications. It can be configured to use all kind of EMF persistence 
+		implementations (XMI, Teneo, CDO).
+		</p>
+		<p>
+		It aims at providing a set of Components like Trees, Tables and Detail Forms 
+		that manage the model with the introspective EMF capabilities. 
+		Using these components you can easily build forms, viewer or editors. 
+		The framework provides basic UI implementations which are customizable 
+		with Injection mechanism
+		(based on <a href="http://code.google.com/p/google-guice" >Google Guice</a>). 
+		</p>
+		<a name="reflectiveComponents" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Reflective Components</h1>
+		<a name="easyToCustomize" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Easy to Customize</h1>
+		<a name="architecture" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Architecture</h1>
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
+		
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'Introduction';
+		    var disqus_url = documentationRoot+'01-Introduction.php';
+		
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/01-Introduction.php b/documentation/01-Introduction.php
new file mode 100644
index 0000000..db46f84
--- /dev/null
+++ b/documentation/01-Introduction.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "Introduction";
+	
+	$html = file_get_contents('01-Introduction.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "01-Introduction.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/02-GettingStarted.html b/documentation/02-GettingStarted.html
index 89112af..003ea8a 100644
--- a/documentation/02-GettingStarted.html
+++ b/documentation/02-GettingStarted.html
@@ -1,485 +1,576 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Getting Started</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="GettingStarted"></a>
-<h1>Getting Started</h1>
-<p>
-To get started, you should first download "Eclipse Modeling Tools" from <a href="http://www.eclipse.org/downloads/">Eclipse
-Downloads</a>
-<div class="image" >
-<img src="images/eclipseModelingTools.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-
-This will ensure you have EMF and related Tools installed and ready to go.
-</p>
-<a name="Installation"></a>
-<h2>Installation</h2>
-<p>
-Now select "Help" -&gt; "Install New Software..." and in the "Work with:" field insert the EMF Components update
-site <a href="http://www.rcp-vision.com/emf-components/updates/">http://www.rcp-vision.com/emf-components/updates/</a>
-and install all features.
-Although sources are not strictly required, it might help when using EMF Components
-to have a look at its sources.
-</p>
-<p>
-<div class="image" >
-<img src="images/emf-components-update-site.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<a name="FirstExample"></a>
-<h2>First Example</h2>
-<p>
-The purpose of this first example is to make use of the classical EMF Library Model example and
-create a view for editing such models using an EMF Components enabled plug-in.
-</p>
-<p>
-So let&apos;s start by creating the model plug-in with
-</p>
-<p>
-<ol>
-	<li>
-		File -&gt; New... -&gt; Example...
-	</li>
-	<li>
-		from Category "Eclipse Modeling Framework", select "Extended Library Model Example"
-	</li>
-	<li>
-		press Next and Finish
-	</li>
-</ol>
-</p>
-<p>
-You will end up with three plug-ins: 
-</p>
-<p>
-<ul>
-	<li>
-		org.eclipse.emf.examples.library (the model plug-in)
-	</li>
-	<li>
-		org.eclipse.emf.examples.library.edit (the edit plug-in)
-	</li>
-	<li>
-		org.eclipse.emf.examples.library.editor (the editor plug-in)
-	</li>
-</ul>
-</p>
-<p>
-We only need the first plugin, so you might want to remove the .edit and .editor plugins.
-</p>
-<p>
-Now you can create your first example with the appropriate wizard.
-</p>
-<p>
-<ol>
-	<li>
-		select "File" -&gt; "New" -&gt; "Project..."
-	</li>
-	<li>
-		from the "Emf Parsley" category select "Emf Parsley Dsl based Project"
-	</li>
-	<li>
-		click "Next"
-	</li>
-	<li>
-		give a name to the project (e.g. "org.eclipse.emf.parsley.examples.firstexample")
-	</li>
-	<li>
-		click "Finish"
-	</li>
-</ol>
-
- 
-The generated project has some classes and a <em>module.parlsey</em> file, which opens automatically.
-Just type the following content into the {} block (note that context assist is available)
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">parts</span>&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">viewpart</span>&nbsp;org.eclipse.emf.parsley.examples.firstexample.view.library.treeform&nbsp;{
-<br/>
-<span class="keyword">viewname</span>&nbsp;<span class="string">"My&nbsp;Library&nbsp;Tree&nbsp;Form"</span>
-<br/>
-<span class="keyword">viewclass</span>&nbsp;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-Here above we have just declared a view part with
- 
-<ol>
-	<li>
-		id <em>"org.eclipse.emf.parsley.examples.firstexample.view.library.treeform"</em>
-	</li>
-	<li>
-		name <em>"Library Tree Form"</em>
-	</li>
-	<li>
-		class: not yet set, we are going to create
-				 <em>"org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView"</em>
-	</li>
-</ol>
-</p>
-<p>
-So there is still an error, in fact we need to create the declared class. 
-<em>Suggestion:</em> Just copy the above qualified class name (<em>"org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView"</em>), 
-select the project, right-click and select File -&gt; New -&gt; Class. Now paste the clipboard content into <em>"Name:"</em> field: the
-package and class name will be automatically splitted into right fields. Then click <em>"Finish"</em>.
-</p>
-<p>
-Now modify the view class code with this content:
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.views.AbstractSaveableTreeFormView;
-<br/>
-<span class="keyword">import</span>&nbsp;org.eclipse.emf.common.util.URI;
-<br/>
-<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryTreeFormView&nbsp;<span class="keyword">extends</span>&nbsp;AbstractSaveableTreeFormView&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;URI&nbsp;createResourceURI()&nbsp;{
-<br/>
-<span class="keyword">return</span>&nbsp;URI.createFileURI(&nbsp;System.getProperty(<span class="string">"user.home"</span>)&nbsp;+&nbsp;<span class="string">"/MyLibrary.library"</span>&nbsp;);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-Now get back to <em>module.parlsey</em> file, go just after <em>"viewclass"</em> keyword, type <em>"LibraryTreeFormView"</em>
-and <em>Ctrl-Space</em>: the content assist will set automatically the correct qualified name
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">viewclass</span>&nbsp;org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-when you save the above file you will notice that a new file (<em>"plugin.xml_emfparsley_gen"</em>) 
-is generated into the root folder of your project. Just copy this file into <em>"plugin.xml"</em>.
-</p>
-<p>
-Let&apos;s focus briefly on the above <em>createResourceURI()</em> method: our goal is allowing to manage 
-a library model instance which persists on a EMF Resource.
-In this example we choose to use the EMF default persistence (XMI), but you can provide any URI 
-(e.g. using Teneo, CDO or any other EMF Resource Persistence implementation)
-In particular here we choose to persist the Resource in a XMI file named <em>"MyLibrary.library"</em> into the user home
-folder (you might want to change it with any other path). 
-</p>
-<p>
-We need a <em>Dependency</em> from the model plug-in: so open <em>MANIFEST.MF</em> file, go to <em>Dependencies</em>
-tab, press <em>"Add..."</em> button in <em>"Required Plug-ins"</em> section and insert <em>"org.eclipse.emf.examples.library"</em>
-among dependencies.
-</p>
-<p>
-Before executing this code we need to do some little more work in order to initialize the Resource.
-</p>
-<p>
-An easy way to overcome this issue can be the following:
-</p>
-<p>
-<ol>
-	<li>
-		open the class *GuiceModule (FirstexampleGuiceModule in this example) that the wizard created for you.
-			Note that this is a key	class for all customizations; it allows to override several methods in order to provide custom behaviors
-			and implementations.
-	</li>
-	<li>
-		override method <em>bindEmptyResourceInitializer()</em> providing a class for Resource initialization
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="GettingStarted" ></a>
+		<h1>Getting Started</h1>
+				<div class="toc">
+				  <ul>
+				    <li><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+				    <li><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+				    <li><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+				  </ul>
+				</div>
+				
+		<p>
+		To get started, you should first download &quot;Eclipse Modeling Tools&quot; from <a href="http://www.eclipse.org/downloads/" >Eclipse
+		Downloads</a>
+		<div class="image" >
+		<a class="gallery" rel="prettyPhoto[all]" title="" href="images/eclipseModelingTools.png">
+			<img src="images/eclipseModelingTools.png" 
+				width="600px"
+			/>
+		</a>
+		<div class="caption">
+		</div>
+		</div>
+		
+		This will ensure you have EMF and related Tools installed and ready to go.
+		</p>
+		<a name="Installation" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Installation</h1>
+			<p>
+			Now select &quot;Help&quot; -&gt; &quot;Install New Software...&quot; and in the &quot;Work with:&quot; field insert the EMF Components update
+			site <a href="http://www.rcp-vision.com/emf-components/updates/" >http://www.rcp-vision.com/emf-components/updates/</a>
+			and install all features.
+			Although sources are not strictly required, it might help when using EMF Components
+			to have a look at its sources.
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/emf-components-update-site.png">
+				<img src="images/emf-components-update-site.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+		<a name="FirstExample" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>First Example</h1>
+			<p>
+			The purpose of this first example is to make use of the classical EMF Library Model example and
+			create a view for editing such models using an EMF Components enabled plug-in.
+			</p>
+			<p>
+			So let's start by creating the model plug-in with
+			</p>
+			<p>
+			<ol>
+			  <li>File -&gt; New... -&gt; Example...</li>
+			  <li>from Category &quot;Eclipse Modeling Framework&quot;, select &quot;Extended Library Model Example&quot;</li>
+			  <li>press Next and Finish</li>
+			</ol>
+			</p>
+			<p>
+			You will end up with three plug-ins: 
+			</p>
+			<p>
+			<ul>
+			  <li>org.eclipse.emf.examples.library (the model plug-in)</li>
+			  <li>org.eclipse.emf.examples.library.edit (the edit plug-in)</li>
+			  <li>org.eclipse.emf.examples.library.editor (the editor plug-in)</li>
+			</ul>
+			</p>
+			<p>
+			We only need the first plugin, so you might want to remove the .edit and .editor plugins.
+			</p>
+			<p>
+			Now you can create your first example with the appropriate wizard.
+			</p>
+			<p>
+			<ol>
+			  <li>select &quot;File&quot; -&gt; &quot;New&quot; -&gt; &quot;Project...&quot;</li>
+			  <li>from the &quot;Emf Parsley&quot; category select &quot;Emf Parsley Dsl based Project&quot;</li>
+			  <li>click &quot;Next&quot;</li>
+			  <li>give a name to the project (e.g. &quot;org.eclipse.emf.parsley.examples.firstexample&quot;)</li>
+			  <li>click &quot;Finish&quot;</li>
+			</ol>
 			
-				<div class="literallayout">
-		<div class="incode">
-		<p class="code">
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;Class&lt;?&nbsp;<span class="keyword">extends</span>&nbsp;EmptyResourceInitializer&gt;&nbsp;bindEmptyResourceInitializer()&nbsp;{
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;LibraryEmptyResourceInitializer.<span class="keyword">class</span>;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-		<br/>
-		</p>
-		</div>
-		</div>
+			 
+			The generated project has some classes and a <em>module.parlsey</em> file, which opens automatically.
+			Just type the following content into the {} block (note that context assist is available)
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">parts</span>&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">viewpart</span>&nbsp;org.eclipse.emf.parsley.examples.firstexample.view.library.treeform&nbsp;{
+						<br/>
+						<span class="keyword">viewname</span>&nbsp;<span class="string">"My&nbsp;Library&nbsp;Tree&nbsp;Form"</span>
+						<br/>
+						<span class="keyword">viewclass</span>&nbsp;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			Here above we have just declared a view part with
+			 
+			<ol>
+			  <li>id <em>&quot;org.eclipse.emf.parsley.examples.firstexample.view.library.treeform&quot;</em></li>
+			  <li>name <em>&quot;Library Tree Form&quot;</em></li>
+			  <li>class: not yet set, we are going to create
+			  		 <em>&quot;org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView&quot;</em></li>
+			</ol>
+			</p>
+			<p>
+			So there is still an error, in fact we need to create the declared class. 
+			<em>Suggestion:</em> Just copy the above qualified class name (<em>&quot;org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView&quot;</em>), 
+			select the project, right-click and select File -&gt; New -&gt; Class. Now paste the clipboard content into <em>&quot;Name:&quot;</em> field: the
+			package and class name will be automatically splitted into right fields. Then click <em>&quot;Finish&quot;</em>.
+			</p>
+			<p>
+			Now modify the view class code with this content:
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.views.AbstractSaveableTreeFormView;
+						<br/>
+						<span class="keyword">import</span>&nbsp;org.eclipse.emf.common.util.URI;
+						<br/>
+						<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryTreeFormView&nbsp;<span class="keyword">extends</span>&nbsp;AbstractSaveableTreeFormView&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;URI&nbsp;createResourceURI()&nbsp;{
+						<br/>
+						<span class="keyword">return</span>&nbsp;URI.createFileURI(&nbsp;System.getProperty(<span class="string">"user.home"</span>)&nbsp;+&nbsp;<span class="string">"/MyLibrary.library"</span>&nbsp;);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			Now get back to <em>module.parlsey</em> file, go just after <em>&quot;viewclass&quot;</em> keyword, type <em>&quot;LibraryTreeFormView&quot;</em>
+			and <em>Ctrl-Space</em>: the content assist will set automatically the correct qualified name
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">viewclass</span>&nbsp;org.eclipse.emf.parsley.examples.firstexample.views.LibraryTreeFormView
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			when you save the above file you will notice that a new file (<em>&quot;plugin.xml_emfparsley_gen&quot;</em>) 
+			is generated into the root folder of your project. Just copy this file into <em>&quot;plugin.xml&quot;</em>.
+			</p>
+			<p>
+			Let's focus briefly on the above <em>createResourceURI()</em> method: our goal is allowing to manage 
+			a library model instance which persists on a EMF Resource.
+			In this example we choose to use the EMF default persistence (XMI), but you can provide any URI 
+			(e.g. using Teneo, CDO or any other EMF Resource Persistence implementation)
+			In particular here we choose to persist the Resource in a XMI file named <em>&quot;MyLibrary.library&quot;</em> into the user home
+			folder (you might want to change it with any other path). 
+			</p>
+			<p>
+			We need a <em>Dependency</em> from the model plug-in: so open <em>MANIFEST.MF</em> file, go to <em>Dependencies</em>
+			tab, press <em>&quot;Add...&quot;</em> button in <em>&quot;Required Plug-ins&quot;</em> section and insert <em>&quot;org.eclipse.emf.examples.library&quot;</em>
+			among dependencies.
+			</p>
+			<p>
+			Before executing this code we need to do some little more work in order to initialize the Resource.
+			</p>
+			<p>
+			An easy way to overcome this issue can be the following:
+			</p>
+			<p>
+			<ol>
+			  <li>open the class *GuiceModule (FirstexampleGuiceModule in this example) that the wizard created for you.
+			  	Note that this is a key	class for all customizations; it allows to override several methods in order to provide custom behaviors
+			  	and implementations.</li>
+			  <li>override method <em>bindEmptyResourceInitializer()</em> providing a class for Resource initialization
+			  	
+			  		<div class="literallayout">
+			  	<div class="incode">
+			  		<p class="code">
+			  			<span class="keyword">public</span>&nbsp;Class&lt;?&nbsp;<span class="keyword">extends</span>&nbsp;EmptyResourceInitializer&gt;&nbsp;bindEmptyResourceInitializer()&nbsp;{
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;LibraryEmptyResourceInitializer.<span class="keyword">class</span>;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+			  		</p>
+			  	</div>
+			  </div>
+			  
+			  </li>
+			  <li>create a new class <em>LibraryEmptyResourceInitializer</em> extending from <em>EmptyResourceInitializer</em> for Resource initialization
+			  		<div class="literallayout">
+			  	<div class="incode">
+			  		<p class="code">
+			  			<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.resource.EmptyResourceInitializer;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span>&nbsp;org.eclipse.emf.ecore.resource.Resource;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.EXTLibraryFactory;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.Library;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryEmptyResourceInitializer&nbsp;&nbsp;<span class="keyword">extends</span>&nbsp;EmptyResourceInitializer&nbsp;{&nbsp;
+			  			<br/>
+			  			&nbsp;&nbsp;
+			  			<br/>
+			  			&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">void</span>&nbsp;initialize(Resource&nbsp;resource)&nbsp;{&nbsp;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>.initialize(resource);&nbsp;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;library&nbsp;=&nbsp;EXTLibraryFactory.eINSTANCE.createLibrary();&nbsp;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resource.getContents().add(library);&nbsp;
+			  			<br/>
+			  			&nbsp;}&nbsp;
+			  			<br/>
+			  			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+			  		</p>
+			  	</div>
+			  </div>
+			  
+			  		The method <em>initialize()</em> will be executed only when the Resource is empty
+			  		(i.e., it has no contents).
+			  </li>
+			</ol>
+			</p>
+			<p>
+			now get back to the <em>MANIFEST.MF</em> and run the example
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/first-example-launch.png">
+				<img src="images/first-example-launch.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+			<p>
+			As an Eclipse RCP developer you know, of course, that this will start another Eclipse instance (unless
+			you add an Application plug-in to the launch or define an Application in the current plug-in). 
+			</p>
+			<p>
+			In this second Eclipse instance you can show the View in this way:
+			<ol>
+			  <li><em>Window -&gt; Show View -&gt; Other...</em></li>
+			  <li>from Category &quot;Emf Parsley&quot;, select &quot;My Library Tree Form&quot;</li>
+			  <li>press <em>OK</em></li>
+			</ol>
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/first-example-run.png">
+				<img src="images/first-example-run.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+			<p>
+			With this simple view you can start editing the model instance. For example you can set the <em>&quot;name&quot;</em>
+			field; as soon as you start typing characters into this field you will notice that:
+			<ol>
+			  <li>the View turns to a <em>&quot;dirty&quot;</em> state (an asterisk symbol appears on the view tab)</li>
+			  <li>the <em>&quot;Save&quot;</em> toolbar button is enabled</li>
+			  <li>the typed characters are reflected into the label correspondent to the Library icon</li>
+			</ol>
+			</p>
+			<p>
+			if you now perform a <em>&quot;Save&quot;</em> action the persistence mechanism will trigger and you will see that file 
+			<span class="inlinecode">&lt;user.home&gt;/MyLibrary.library</span>
+			is being created on the file system. From now on, this file will keep the state of the model object whenever
+			you change and save it. 
+			</p>
+			<p>
+			To create a Writer into the Library just right-click on the Library object and select <em>New Child -&gt; Writer</em>
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/createWriter.png">
+				<img src="images/createWriter.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+			<p>
+			Please note that you might see a slightly different content in the above context-menu in case you deleted
+			the .edit plugin when creating the model (e.g. <em>&quot;Writers Writer&quot;</em> instead of <em>&quot;Writer&quot;</em>, <em>&quot;Stock Book&quot;</em> instead of <em>&quot;Book&quot;</em> and
+			similar (this is because with EMF it is possible to customize labels also via .edit plugin).
+			</p>
+			<p>
+			Now set for instance the writer <em>&quot;name&quot;</em> field and save.
+			Now just play around creating Books, associating them to Writers and so on.
+			As you can see you can entirely manage the EMF model instance: creating, modifying and deleting elements.
+			</p>
+			<p>
+			Whenever the current selection on the upper side of the view changes, then the lower side shows the detail
+			of this selection.
+			</p>
+			<p>
+			However, up to this point, you have no control over the field to be shown and its order; for example
+			you may want just the <em>&quot;name&quot;</em> attribute for the Library and <em>&quot;name&quot;, &quot;address&quot; and &quot;books&quot;</em> attributes
+			for Writers and maybe <em>&quot;title&quot;, &quot;authors&quot; and &quot;category&quot;</em> for Books.
+			</p>
+			<p>
+			Well, it's indeed very easy to obtain this: just edit the <em>module.parsley</em> file, 
+			adding the following import (without ending line with &quot;;&quot;)
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.*
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			and then defining the features to show
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">module</span>&nbsp;...&nbsp;{
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">parts</span>&nbsp;{&nbsp;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						<span class="keyword">featuresProvider</span>&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">features</span>&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;-&gt;&nbsp;name
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;-&gt;&nbsp;name,&nbsp;address,&nbsp;books
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Book&nbsp;-&gt;&nbsp;author,&nbsp;title,&nbsp;category
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			Remeber that code completion is available, just exploit it since it helps a lot.
+			</p>
+			<p>
+			If you restart now the application you will see that, when selecting an object, only the declared attributes
+			will be shown. Furthermore, they are shown in the specified order.
+			</p>
+			<p>
+			Did you run the application in Debug mode? Well, then you can change fields and order, save and see the
+			changes without even restarting the application.
+			</p>
+			<p>
+			Do you want to change text used for attribute labels in the detail? Just add the following:
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">propertyDescriptionProvider</span>&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">text</span>&nbsp;{
+						<br/>
+						Book&nbsp;:&nbsp;author&nbsp;-&gt;&nbsp;<span class="string">&apos;Wrote&nbsp;by:&apos;</span>
+						<br/>
+						Writer&nbsp;:&nbsp;name&nbsp;-&gt;&nbsp;<span class="string">&apos;Name:&apos;</span>
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			
+			 
+			Or do you want to change the label shown on the tree nodes on the upper side and as detail title? 
+			Maybe want to format the book label like this?
+			 
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">labelProvider</span>&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">text</span>&nbsp;{
+						<br/>
+						Book&nbsp;b&nbsp;-&gt;&nbsp;<span class="string">&apos;"&apos;</span>&nbsp;+&nbsp;b.title&nbsp;+&nbsp;<span class="string">&apos;"&apos;</span>&nbsp;+<span class="string">&apos;&nbsp;(by&nbsp;&apos;</span>+&nbsp;b.author.name&nbsp;+&nbsp;<span class="string">&apos;)&apos;</span>
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			
+			 
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/labelCustomization.png">
+				<img src="images/labelCustomization.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			
+			 
+			  
+			 
+			 
+			</p>
+		<a name="RCPMail" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>RCP Mail Example</h1>
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
 		
-	</li>
-	<li>
-		create a new class <em>LibraryEmptyResourceInitializer</em> extending from <em>EmptyResourceInitializer</em> for Resource initialization
-				<div class="literallayout">
-		<div class="incode">
-		<p class="code">
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.resource.EmptyResourceInitializer;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span>&nbsp;org.eclipse.emf.ecore.resource.Resource;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.EXTLibraryFactory;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.Library;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryEmptyResourceInitializer&nbsp;&nbsp;<span class="keyword">extends</span>&nbsp;EmptyResourceInitializer&nbsp;{&nbsp;
-		<br/>
-		&nbsp;&nbsp;
-		<br/>
-		&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">void</span>&nbsp;initialize(Resource&nbsp;resource)&nbsp;{&nbsp;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>.initialize(resource);&nbsp;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;library&nbsp;=&nbsp;EXTLibraryFactory.eINSTANCE.createLibrary();&nbsp;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resource.getContents().add(library);&nbsp;
-		<br/>
-		&nbsp;}&nbsp;
-		<br/>
-		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;
-		<br/>
-		</p>
-		</div>
-		</div>
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'GettingStarted';
+		    var disqus_url = documentationRoot+'02-GettingStarted.php';
 		
-				The method <em>initialize()</em> will be executed only when the Resource is empty
-				(i.e., it has no contents).
-	</li>
-</ol>
-</p>
-<p>
-now get back to the <em>MANIFEST.MF</em> and run the example
-</p>
-<p>
-<div class="image" >
-<img src="images/first-example-launch.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<p>
-As an Eclipse RCP developer you know, of course, that this will start another Eclipse instance (unless
-you add an Application plug-in to the launch or define an Application in the current plug-in). 
-</p>
-<p>
-In this second Eclipse instance you can show the View in this way:
-<ol>
-	<li>
-		<em>Window -&gt; Show View -&gt; Other...</em>
-	</li>
-	<li>
-		from Category "Emf Parsley", select "My Library Tree Form"
-	</li>
-	<li>
-		press <em>OK</em>
-	</li>
-</ol>
-</p>
-<p>
-<div class="image" >
-<img src="images/first-example-run.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<p>
-With this simple view you can start editing the model instance. For example you can set the <em>"name"</em>
-field; as soon as you start typing characters into this field you will notice that:
-<ol>
-	<li>
-		the View turns to a <em>"dirty"</em> state (an asterisk symbol appears on the view tab)
-	</li>
-	<li>
-		the <em>"Save"</em> toolbar button is enabled
-	</li>
-	<li>
-		the typed characters are reflected into the label correspondent to the Library icon
-	</li>
-</ol>
-</p>
-<p>
-if you now perform a <em>"Save"</em> action the persistence mechanism will trigger and you will see that file 
-<span class="inlinecode">&lt;user.home&gt;/MyLibrary.library</span>
-is being created on the file system. From now on, this file will keep the state of the model object whenever
-you change and save it. 
-</p>
-<p>
-To create a Writer into the Library just right-click on the Library object and select <em>New Child -&gt; Writer</em>
-</p>
-<p>
-<div class="image" >
-<img src="images/createWriter.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<p>
-Please note that you might see a slightly different content in the above context-menu in case you deleted
-the .edit plugin when creating the model (e.g. <em>"Writers Writer"</em> instead of <em>"Writer"</em>, <em>"Stock Book"</em> instead of <em>"Book"</em> and
-similar (this is because with EMF it is possible to customize labels also via .edit plugin).
-</p>
-<p>
-Now set for instance the writer <em>"name"</em> field and save.
-Now just play around creating Books, associating them to Writers and so on.
-As you can see you can entirely manage the EMF model instance: creating, modifying and deleting elements.
-</p>
-<p>
-Whenever the current selection on the upper side of the view changes, then the lower side shows the detail
-of this selection.
-</p>
-<p>
-However, up to this point, you have no control over the field to be shown and its order; for example
-you may want just the <em>"name"</em> attribute for the Library and <em>"name", "address" and "books"</em> attributes
-for Writers and maybe <em>"title", "authors" and "category"</em> for Books.
-</p>
-<p>
-Well, it&apos;s indeed very easy to obtain this: just edit the <em>module.parsley</em> file, 
-adding the following import (without ending line with ";")
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="keyword">import</span>&nbsp;org.eclipse.emf.examples.extlibrary.*
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-and then defining the features to show
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="keyword">module</span>&nbsp;...&nbsp;{
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">parts</span>&nbsp;{&nbsp;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-<span class="keyword">featuresProvider</span>&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">features</span>&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;-&gt;&nbsp;name
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;-&gt;&nbsp;name,&nbsp;address,&nbsp;books
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Book&nbsp;-&gt;&nbsp;author,&nbsp;title,&nbsp;category
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-Remeber that code completion is available, just exploit it since it helps a lot.
-</p>
-<p>
-If you restart now the application you will see that, when selecting an object, only the declared attributes
-will be shown. Furthermore, they are shown in the specified order.
-</p>
-<p>
-Did you run the application in Debug mode? Well, then you can change fields and order, save and see the
-changes without even restarting the application.
-</p>
-<p>
-Do you want to change text used for attribute labels in the detail? Just add the following:
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">propertyDescriptionProvider</span>&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">text</span>&nbsp;{
-<br/>
-Book&nbsp;:&nbsp;author&nbsp;-&gt;&nbsp;<span class="string">&apos;Wrote&nbsp;by:&apos;</span>
-<br/>
-Writer&nbsp;:&nbsp;name&nbsp;-&gt;&nbsp;<span class="string">&apos;Name:&apos;</span>
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-
- 
-Or do you want to change the label shown on the tree nodes on the upper side and as detail title? 
-Maybe want to format the book label like this?
- 
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">labelProvider</span>&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">text</span>&nbsp;{
-<br/>
-Book&nbsp;b&nbsp;-&gt;&nbsp;<span class="string">&apos;"&apos;</span>&nbsp;+&nbsp;b.title&nbsp;+&nbsp;<span class="string">&apos;"&apos;</span>&nbsp;+<span class="string">&apos;&nbsp;(by&nbsp;&apos;</span>+&nbsp;b.author.name&nbsp;+&nbsp;<span class="string">&apos;)&apos;</span>
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-
- 
-<div class="image" >
-<img src="images/labelCustomization.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-
- 
-  
- 
- 
-</p>
-<a name="RCPMail"></a>
-<h2>RCP Mail Example</h2>
-</body>
-</html>
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/02-GettingStarted.php b/documentation/02-GettingStarted.php
new file mode 100644
index 0000000..273cffd
--- /dev/null
+++ b/documentation/02-GettingStarted.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "Getting Started";
+	
+	$html = file_get_contents('02-GettingStarted.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "02-GettingStarted.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/03-Components.html b/documentation/03-Components.html
index 18cb001..bef7d04 100644
--- a/documentation/03-Components.html
+++ b/documentation/03-Components.html
@@ -1,186 +1,320 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Components</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="Components"></a>
-<h1>Components</h1>
-<p>
-Here we list the behaviors that can be customized for all components.
-</p>
-<p>
-<ul>
-	<li>
-		If you need a machanism to fill some data for the first time you use a model, you can provide
-			a specific implementation of <a href="04-Customization.html#EmptyResourceInitializer" title="Go to &quot;Empty Resource Initializer&quot;">Emty Resource Initializer</a>.
-	</li>
-	<li>
-		If you want to interact with Resource Loading, you can provide a specific <a href="04-Customization.html#ResourceLoader" title="Go to &quot;Resource Loader&quot;">Resource
-			Loader</a>
-	</li>
-</ul>
-</p>
-<p>
-For what concern saving objects, there are some specific parts that can be customized:
-</p>
-<p>
-<ul>
-	<li>
-		<a href="04-Customization.html#ResourceSaveManager" title="Go to &quot;Resource Save Manager&quot;">Resource Save Manager</a>, if you want to manage the save.
-	</li>
-	<li>
-		<a href="04-Customization.html#ResourceSaveManager" title="Go to &quot;Resource Save Manager&quot;">Resource Save Manager</a>, if you want to manage the save.
-	</li>
-	<li>
-		In some cases, it can be usefull to specify an editing domain to work with. In this case it can be used the <a href="04-Customization.html#EditingDomainFinder" title="Go to &quot;Editing Domain Finder&quot;">Editing Domain Finder</a>.
-	</li>
-</ul>
-</p>
-<p>
-The following sections describe the basic components provided, that are the foundations for all parts built upon <em>Emf Parsley</em>.
-For each component we present a set of customizations, just to get an idea of how it works. You can refer
-to <a href="04-Customization.html#Customization" title="Go to &quot;Customization&quot;">Customization Section</a> for a complete list.
-</p>
-<a name="FormComponent"></a>
-<h2>Form Component</h2>
-<p>
-The <em>Form Component</em> can be used to rapresent an <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a> in a row-oriented form,
-like in the image above.
-</p>
-<p>
-<div class="image" >
-<img src="images/03-components-form.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<p>
-For each <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a> defined for the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>
-(that is the type of the object to rapresent), the component builds a row with a 
-<em>label</em> with the name of the feature and a <em>control</em> to access the data. It can be used the factory
-to create such a component, like in the code below.
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;formComposite&nbsp;=&nbsp;formFactory.createFormDetailComposite(parent,&nbsp;SWT.NONE);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;formComposite.init(eObject);
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-The <em>form component</em> can be customized in many way, in particular the feature list, the labels and the controls.  
-</p>
-<a name="Form_Customizations"></a>
-<h3>Form Customizations</h3>
-<p>
-The <em>Form Component</em> can be customized in several way. Here the complete list.
-</p>
-<p>
-<ul>
-	<li>
-		The <em>list fo feature</em> displayed on the form can be customized via the <a href="04-Customization.html#FeaturesProvider" title="Go to &quot;Features Provider&quot;">Feature
-			Provider</a> to select the features or the order.
-	</li>
-	<li>
-		The description on the left side of the form caan be customizzed via the <a href="04-Customization.html#PropertyDescriptionProvider" title="Go to &quot;Property Description Provider&quot;">Property
-			Description Provider</a>.
-	</li>
-	<li>
-		Otherwise to customize the controls on the right, you can use the <a href="04-Customization.html#FormControlFactory" title="Go to &quot;Form Control Factory&quot;">Form Control Factory</a>.
-	</li>
-	<li>
-		Depending on the feature types, can be some fields that use predefined values (e.g. combo). You can provide
-			the exact proposal list via the <a href="04-Customization.html#ProposalProvider" title="Go to &quot;Proposal Provider&quot;">Proposal Provider</a>.
-	</li>
-</ul>
-</p>
-<a name="TreeComponent"></a>
-<h2>Tree Component</h2>
-<p>
-The <em>Tree Component</em> provides a tree rapresentation of data that can be feeded with an EResource, a
-Resource URI, and a simple EObject. This component use the EMF Meta-Model information to display objects in the tree. 
-</p>
-<p>
-<div class="image" >
-<img src="images/03-components-tree.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<a name="Tree_Customizations"></a>
-<h3>Tree Customizations</h3>
-<p>
-The <em>Tree Component</em>can be customized in several way via the standard EMF Edit facilities or with the EMF Components 
-codeinjection based mechanism. If you are familiar with Jface APIs, you can easily use the basic class with some facilties to define the specific implementation. 
-See the corrisponding sections for more details.
-</p>
-<p>
-<ul>
-	<li>
-		The <a href="04-Customization.html#ViewerContentProvider" title="Go to &quot;Viewer Content Provider&quot;">Viewer Content Provider</a>
-	</li>
-	<li>
-		The <a href="04-Customization.html#ViewerLabelProvider" title="Go to &quot;Viewer Label Provider&quot;">Viewer Label Provider</a>
-	</li>
-	<li>
-		The <a href="04-Customization.html#ViewerContextMenuFactory" title="Go to &quot;Viewer Context Menu Factory&quot;">Viewer Context Menu Factory</a>
-	</li>
-</ul>
-</p>
-<p>
-<em>TODO</em>
-</p>
-<a name="TreeFormComponent"></a>
-<h2>Tree Form Component</h2>
-<p>
-The <em>Tree Form Component</em> contains a <a href="03-Components.html#TreeComponent" title="Go to &quot;Tree Component&quot;" >section TreeComponent</a> that provides a tree rapresentation of data that can be feeded with
-an EResource, a Resource URI, and a simple EObject. This component use the EMF Meta-Model information to display objects in 
-the tree. The component also combines a <a href="03-Components.html#FormComponent" title="Go to &quot;Form Component&quot;" >section FormComponent</a> detail that display the current selected object.
-</p>
-<p>
-<div class="image" >
-<img src="images/03-components-treeform.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<a name="TreeForm_Customizations"></a>
-<h3>Tree Form Customization</h3>
-<p>
-Since <em>Tree Form Component</em> is a combination of  <em>Tree Component</em> and  <em>Form Component</em>, all their customizations
-are avaible for it.
-</p>
-<a name="TableComponent"></a>
-<h2>Table Component</h2>
-<p>
-The <em>Table Component</em> can rapresent data in a grid, once you have specified what kind of object need to be rapresented. 
-It uses metamodel infos to build column as needed.
-</p>
-<p>
-<div class="image" >
-<img src="images/03-components-table.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<p>
-<div class="todo" >
- To be continued 
-</div>
-</p>
-</body>
-</html>
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="Components" ></a>
+		<h1>Components</h1>
+				<div class="toc">
+				  <ul>
+				    <li><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+				    <li><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+				    <li><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+				    <li><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+				  </ul>
+				</div>
+				
+		<p>
+		Here we list the behaviors that can be customized for all components.
+		</p>
+		<p>
+		<ul>
+		  <li>If you need a machanism to fill some data for the first time you use a model, you can provide
+		  	a specific implementation of <a href="04-Customization.php#EmptyResourceInitializer.php" title="Go to &quot;Empty Resource Initializer&quot;">Emty Resource Initializer</a>.</li>
+		  <li>If you want to interact with Resource Loading, you can provide a specific <a href="04-Customization.php#ResourceLoader.php" title="Go to &quot;Resource Loader&quot;">Resource
+		  	Loader</a></li>
+		</ul>
+		</p>
+		<p>
+		For what concern saving objects, there are some specific parts that can be customized:
+		</p>
+		<p>
+		<ul>
+		  <li><a href="04-Customization.php#ResourceSaveManager.php" title="Go to &quot;Resource Save Manager&quot;">Resource Save Manager</a>, if you want to manage the save.</li>
+		  <li><a href="04-Customization.php#ResourceSaveManager.php" title="Go to &quot;Resource Save Manager&quot;">Resource Save Manager</a>, if you want to manage the save.</li>
+		  <li>In some cases, it can be usefull to specify an editing domain to work with. In this case it can be used the <a href="04-Customization.php#EditingDomainFinder.php" title="Go to &quot;Editing Domain Finder&quot;">Editing Domain Finder</a>.</li>
+		</ul>
+		</p>
+		<p>
+		The following sections describe the basic components provided, that are the foundations for all parts built upon <em>Emf Parsley</em>.
+		For each component we present a set of customizations, just to get an idea of how it works. You can refer
+		to <a href="04-Customization.php" title="Go to &quot;Customization&quot;">Customization Section</a> for a complete list.
+		</p>
+		<a name="FormComponent" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Form Component</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="03-Components.php#Form_Customizations.php" >Form Customizations</a></li>
+			  </ul>
+			</div>
+			<p>
+			The <em>Form Component</em> can be used to rapresent an <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EObject.html" title="org.eclipse.emf.ecore.EObject">EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a> in a row-oriented form,
+			like in the image above.
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/03-components-form.png">
+				<img src="images/03-components-form.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+			<p>
+			For each <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="org.eclipse.emf.ecore.EStructuralFeature">EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a> defined for the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EClass.html" title="org.eclipse.emf.ecore.EClass">EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>
+			(that is the type of the object to rapresent), the component builds a row with a 
+			<em>label</em> with the name of the feature and a <em>control</em> to access the data. It can be used the factory
+			to create such a component, like in the code below.
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						formComposite&nbsp;=&nbsp;formFactory.createFormDetailComposite(parent,&nbsp;SWT.NONE);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;formComposite.init(eObject);
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			The <em>form component</em> can be customized in many way, in particular the feature list, the labels and the controls.  
+			</p>
+			<a name="Form_Customizations" ></a>
+			<h2>Form Customizations</h2>
+			<p>
+			The <em>Form Component</em> can be customized in several way. Here the complete list.
+			</p>
+			<p>
+			<ul>
+			  <li>The <em>list fo feature</em> displayed on the form can be customized via the <a href="04-Customization.php#FeaturesProvider.php" title="Go to &quot;Features Provider&quot;">Feature
+			  	Provider</a> to select the features or the order.</li>
+			  <li>The description on the left side of the form caan be customizzed via the <a href="04-Customization.php#PropertyDescriptionProvider.php" title="Go to &quot;Property Description Provider&quot;">Property
+			  	Description Provider</a>.</li>
+			  <li>Otherwise to customize the controls on the right, you can use the <a href="04-Customization.php#FormControlFactory.php" title="Go to &quot;Form Control Factory&quot;">Form Control Factory</a>.
+			  </li>
+			  <li>Depending on the feature types, can be some fields that use predefined values (e.g. combo). You can provide
+			  	the exact proposal list via the <a href="04-Customization.php#ProposalProvider.php" title="Go to &quot;Proposal Provider&quot;">Proposal Provider</a>.</li>
+			</ul>
+			</p>
+		<a name="TreeComponent" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Tree Component</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="03-Components.php#Tree_Customizations.php" >Tree Customizations</a></li>
+			  </ul>
+			</div>
+			<p>
+			The <em>Tree Component</em> provides a tree rapresentation of data that can be feeded with an EResource, a
+			Resource URI, and a simple EObject. This component use the EMF Meta-Model information to display objects in the tree. 
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/03-components-tree.png">
+				<img src="images/03-components-tree.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+			<a name="Tree_Customizations" ></a>
+			<h2>Tree Customizations</h2>
+			<p>
+			The <em>Tree Component</em>can be customized in several way via the standard EMF Edit facilities or with the EMF Components 
+			codeinjection based mechanism. If you are familiar with Jface APIs, you can easily use the basic class with some facilties to define the specific implementation. 
+			See the corrisponding sections for more details.
+			</p>
+			<p>
+			<ul>
+			  <li>The <a href="04-Customization.php#ViewerContentProvider.php" title="Go to &quot;Viewer Content Provider&quot;">Viewer Content Provider</a></li>
+			  <li>The <a href="04-Customization.php#ViewerLabelProvider.php" title="Go to &quot;Viewer Label Provider&quot;">Viewer Label Provider</a></li>
+			  <li>The <a href="04-Customization.php#ViewerContextMenuFactory.php" title="Go to &quot;Viewer Context Menu Factory&quot;">Viewer Context Menu Factory</a></li>
+			</ul>
+			</p>
+			<p>
+			<em>TODO</em>
+			</p>
+		<a name="TreeFormComponent" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Tree Form Component</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="03-Components.php#TreeForm_Customizations.php" >Tree Form Customization</a></li>
+			  </ul>
+			</div>
+			<p>
+			The <em>Tree Form Component</em> contains a <a href="03-Components.php#TreeComponent.php" title="Go to &quot;Tree Component&quot;" >section TreeComponent</a> that provides a tree rapresentation of data that can be feeded with
+			an EResource, a Resource URI, and a simple EObject. This component use the EMF Meta-Model information to display objects in 
+			the tree. The component also combines a <a href="03-Components.php#FormComponent.php" title="Go to &quot;Form Component&quot;" >section FormComponent</a> detail that display the current selected object.
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/03-components-treeform.png">
+				<img src="images/03-components-treeform.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+			<a name="TreeForm_Customizations" ></a>
+			<h2>Tree Form Customization</h2>
+			<p>
+			Since <em>Tree Form Component</em> is a combination of  <em>Tree Component</em> and  <em>Form Component</em>, all their customizations
+			are avaible for it.
+			</p>
+		<a name="TableComponent" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Table Component</h1>
+			<p>
+			The <em>Table Component</em> can rapresent data in a grid, once you have specified what kind of object need to be rapresented. 
+			It uses metamodel infos to build column as needed.
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/03-components-table.png">
+				<img src="images/03-components-table.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+			<p>
+			<div class="todo" >
+			 To be continued 
+			</div>
+			</p>
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
+		
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'Components';
+		    var disqus_url = documentationRoot+'03-Components.php';
+		
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/03-Components.php b/documentation/03-Components.php
new file mode 100644
index 0000000..33e1306
--- /dev/null
+++ b/documentation/03-Components.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "Components";
+	
+	$html = file_get_contents('03-Components.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "03-Components.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/04-Customization.html b/documentation/04-Customization.html
index 6202b04..414e60f 100644
--- a/documentation/04-Customization.html
+++ b/documentation/04-Customization.html
@@ -1,722 +1,855 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Customization</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="Customization"></a>
-<h1>Customization</h1>
-<a name="ResourceManagers"></a>
-<h2>Managing Resources</h2>
-<a name="ResourceLoader"></a>
-<h3>Resource Loader</h3>
-<p>
-The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/resource/ResourceLoader.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceLoader" >ResourceLoader</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceLoader.java" title="View Source Code" >(src)</a> can be used to handle resource loading.
-This class uses internally the <a href="04-Customization.html#EmptyResourceInitializer" title="Go to &quot;Empty Resource Initializer&quot;">Empty Resource Initializer</a>.
-</p>
-<a name="EmptyResourceInitializer"></a>
-<h3>Empty Resource Initializer</h3>
-<p>
-If you need to initialize your model, for the first use, you can define an implementation of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/resource/EmptyResourceInitializer.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.EmptyResourceInitializer" >EmptyResourceInitializer</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/EmptyResourceInitializer.java" title="View Source Code" >(src)</a>.
-When the main resource will be found empty, your code will be executed. 
-</p>
-<a name="EditingDomainFinder"></a>
-<h3>Editing Domain Finder</h3>
-<p>
-The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/edit/EditingDomainFinder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.EditingDomainFinder" >EditingDomainFinder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/EditingDomainFinder.java" title="View Source Code" >(src)</a> can be inherited to provide a specific
-way to find the editign domain.
-</p>
-<a name="ResourceSaveManager"></a>
-<h3>Resource Save Manager</h3>
-<p>
-Resource saving is delegated to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/edit/ResourceSaveManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ResourceSaveManager" >ResourceSaveManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ResourceSaveManager.java" title="View Source Code" >(src)</a>
-which, by defaults only saves the passed <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>.
-You can inject your own save manager and implement the method <span class="inlinecode">precondition(Resource)</span>, for
-instance, you may want to validate the resource before saving, and in case the validation
-fails to return <span class="inlinecode">false</span>.  If the precondition is <span class="inlinecode">false</span> the default implementation
-will not save the resource (and in turn will return <span class="inlinecode">false</span>).
-</p>
-<a name="ValidateResourceSaveManager"></a>
-<h4>Validate Resource Save Manager</h4>
-<p>
-We provide an example of custom resource save manager: <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/edit/ValidateResourceSaveManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ValidateResourceSaveManager" >ValidateResourceSaveManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ValidateResourceSaveManager.java" title="View Source Code" >(src)</a>,
-we show here only relevant parts to give an example:
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;ValidateResourceSaveManager&nbsp;<span class="keyword">extends</span>&nbsp;ResourceSaveManager&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;@Override
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">boolean</span>&nbsp;precondition(Resource&nbsp;resource)&nbsp;{
-<br/>
-<span class="keyword">return</span>&nbsp;<span class="keyword">super</span>.precondition(resource)&nbsp;&amp;&amp;&nbsp;validateModel(resource);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">boolean</span>&nbsp;validateModel(Resource&nbsp;resource)&nbsp;{
-<br/>
-<span class="keyword">for</span>&nbsp;(EObject&nbsp;eObject&nbsp;:&nbsp;resource.getContents())&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;Diagnostic&nbsp;diagnostic&nbsp;=&nbsp;Diagnostician.INSTANCE.validate(eObject);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(diagnostic.getSeverity()&nbsp;==&nbsp;Diagnostic.ERROR)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;SKIPPED:&nbsp;present&nbsp;the&nbsp;errors
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;false;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span>&nbsp;<span class="keyword">if</span>&nbsp;(diagnostic.getSeverity()&nbsp;==&nbsp;Diagnostic.WARNING)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;SKIPPED:&nbsp;present&nbsp;the&nbsp;warnings
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-<span class="keyword">return</span>&nbsp;true;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<a name="Providers"></a>
-<h2>Providers</h2>
-<a name="FeaturesProvider"></a>
-<h3>Features Provider</h3>
-<p>
- <em>This can be done with Parsley DSL too!</em>
- 
-<div class="todo" >
-TODO: merge delle 2 versioni
-</div>
-</p>
-<a name="FeatureProvider1"></a>
-<h4>Prima versione</h4>
-<p>
-To customize the <em>feature list</em> it can be injected a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider" >FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
-The default is to return the list of all the features in the EClass, but the programmer can customize it (for instance,
-by returning only a superset, or using a different order) on an EClass-based strategy. The customization can be done 
-redefining buildMap and adding mappings.
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">void</span>&nbsp;buildMap(EClassToEStructuralFeatureMap&nbsp;map)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>.buildMap(map);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map.mapTo(LIBRARY,LIBRARY__NAME,&nbsp;ADDRESSABLE__ADDRESS);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-In the example we specify that for the EClass <em>Library</em> the feature that are to be displayed are <em>name</em>
-and <em>address</em>.
-</p>
-<a name="FeatureProvider2"></a>
-<h4>Seconda versione</h4>
-<p>
-When the framework builds components according to the
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>s of a given
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> it relies on an injected
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider" >FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
-The default behavior is to simply return all the features of the a given EClass,
-in the order they are defined in the EClass;
-you may want to provide a custom implementation by redefining
-the method <span class="inlinecode">List&lt;EStructuralFeature&gt;&nbsp;getFeatures(EClass)</span>, or
-<span class="inlinecode">List&lt;EStructuralFeature&gt;&nbsp;getFeatures(EObject)</span>,
-for instance by returning the features ordered according to their name
-(the following snippet uses an utility class from the framework)
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;OrderedEStructuralFeaturesProvider&nbsp;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">extends</span>&nbsp;FeaturesProvider&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;@Inject
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;EStructuralFeatureNameComparator&nbsp;comparator;
-<br/>
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;@Override
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;List&lt;EStructuralFeature&gt;&nbsp;getFeatures(EClass&nbsp;eClass)&nbsp;{
-<br/>
-List&lt;EStructuralFeature&gt;&nbsp;features&nbsp;=&nbsp;<span class="keyword">super</span>.getFeatures(eClass);
-<br/>
-Collections.sort(features,&nbsp;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">new</span>&nbsp;EStructuralFeatureNameComparator());
-<br/>
-<span class="keyword">return</span>&nbsp;features;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-Alternatively, you can set the mappings, i.e., specify the structural
-features you want to be used given an EClass, by implementing
-the method <span class="inlinecode">buildMap</span>, which receives the
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.EClassToEStructuralFeatureMap.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider.EClassToEStructuralFeatureMap" >FeaturesProvider.EClassToEStructuralFeatureMap</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>
-that can be filled with the method <span class="inlinecode">mapTo</span>; 
-for instance, using the EMF extended library
-example, this customization will return only the <em>name</em> and <em>address</em> features
-for <span class="inlinecode">Library</span>, the <em>firstName</em>, <em>lastName</em> and <em>address</em> for
-<span class="inlinecode">Person</span>, and the <em>firstName</em>, <em>lastName</em> and <em>books</em> (but
-not <em>address</em>) for <span class="inlinecode">Writer</span> (which inherits from <span class="inlinecode">Person</span>).
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="keyword">import</span>&nbsp;<span class="keyword">static</span>&nbsp;org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*;
-<br/>
-<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.ui.provider.EStructuralFeaturesProvider;
-<br/>
-<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryEStructuralFeaturesProvider&nbsp;<span class="keyword">extends</span>
-<br/>
-FeaturesProvider&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;@Override
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">void</span>&nbsp;buildMap(EClassToEStructuralFeatureMap&nbsp;map)&nbsp;{
-<br/>
-<span class="keyword">super</span>.buildMap(map);
-<br/>
-map.mapTo(LIBRARY,
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIBRARY__NAME,&nbsp;ADDRESSABLE__ADDRESS);
-<br/>
-map.mapTo(PERSON,
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PERSON__FIRST_NAME,&nbsp;PERSON__LAST_NAME,
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ADDRESSABLE__ADDRESS);
-<br/>
-map.mapTo(WRITER,
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PERSON__FIRST_NAME,&nbsp;PERSON__LAST_NAME,
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITER__BOOKS);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-Another possibility is to build a map which relies on Strings
-both for the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> and for
-the list of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>;
-note that the name of the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> should
-be obtained by using <span class="inlinecode">getInstanceClassName()</span>; you can also
-combine the two approaches (in that case the map built with
-<span class="inlinecode">buildMap</span> has the precedence):
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="keyword">import</span>&nbsp;<span class="keyword">static</span>&nbsp;org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*;
-<br/>
-<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.ui.provider.FeaturesProvider;
-<br/>
-<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryEStructuralFeaturesAsStringsProvider&nbsp;<span class="keyword">extends</span>
-<br/>
-FeaturesProvider&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;@Override
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">void</span>&nbsp;buildMap(EClassToEStructuralFeatureMap&nbsp;map)&nbsp;{
-<br/>
-<span class="keyword">super</span>.buildMap(map);
-<br/>
-map.mapTo(LIBRARY,&nbsp;LIBRARY__NAME,&nbsp;ADDRESSABLE__ADDRESS);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;@Override
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">void</span>&nbsp;buildStringMap(
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;EClassToEStructuralFeatureAsStringsMap&nbsp;stringMap)&nbsp;{
-<br/>
-<span class="keyword">super</span>.buildStringMap(stringMap);
-<br/>
-stringMap.mapTo(PERSON.getInstanceClassName(),&nbsp;<span class="string">"firstName"</span>,&nbsp;<span class="string">"lastName"</span>,
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">"address"</span>);
-<br/>
-stringMap.mapTo(WRITER.getInstanceClassName(),&nbsp;<span class="string">"firstName"</span>,&nbsp;<span class="string">"lastName"</span>,
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">"books"</span>);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<a name="FeaturesColumnProvider"></a>
-<h4>Features Column Provider</h4>
-<p>
-As an extension, you can use the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FeaturesColumnProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesColumnProvider" >FeaturesColumnProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesColumnProvider.java" title="View Source Code" >(src)</a>:
-the customizations will be applied only to <a href="03-Components.html#TableComponent" title="Go to &quot;Table Component&quot;">tables</a>, not to <a href="03-Components.html#FormComponent" title="Go to &quot;Form Component&quot;">Forms</a>.
-</p>
-<a name="PropertyDescriptionProvider"></a>
-<h3>Property Description Provider</h3>
-<p>
- <em>This can be done with Parsley DSL too!</em>
- 
-The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/PropertyDescriptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.PropertyDescriptionProvider" >PropertyDescriptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/PropertyDescriptionProvider.java" title="View Source Code" >(src)</a> provides labels for
-the features. It can be customized, with injection (see Injection paragraph), to customize the label on the
-left of each control. The framework use a polimorphic mechanism to find customizations, so that It can
-be written a method with a specific signature build by the keyword <em>&apos;text&apos;</em> followed by the EClass and the EStructuralFeature.
-All parts of the name are separated by an underscore character and the method must accept a parameter of type EStructuralFeature.
-</p>
-<p>
-In the following example we specify the label text for the feature &apos;Author&apos; of Book and the feature &apos;Name&apos; for
-Writer.
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;text_Book_author(<span class="keyword">final</span>&nbsp;EStructuralFeature&nbsp;feature)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"Wrote&nbsp;by:"</span>;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;text_Writer_name(<span class="keyword">final</span>&nbsp;EStructuralFeature&nbsp;feature)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"Name:"</span>;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-Another chance of customization is to define a method the returns directly the control, like in the example
-below. In this case there is another parameter that is the parent composite.
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;Label&nbsp;label_Writer_name(Composite&nbsp;parent,&nbsp;EStructuralFeature&nbsp;feature)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Label&nbsp;label&nbsp;=&nbsp;defaultLabel(parent,&nbsp;feature);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label.setBackground(getFormToolkit().getColors().getColor(IFormColors.TITLE));
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;label;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<a name="FormPropertyDescriptionProvider"></a>
-<h4>Form Property Description Provider</h4>
-<p>
-The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FormPropertyDescriptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FormPropertyDescriptionProvider" >FormPropertyDescriptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormPropertyDescriptionProvider.java" title="View Source Code" >(src)</a> can be used if you want
-to define the description only for the form. For example using the <a href="03-Components.html#TreeFormComponent" title="Go to &quot;Tree Form Component&quot;">Tree
-Form</a> your definition will not be used in the tree.
-</p>
-<a name="ViewerLabelProvider"></a>
-<h3>Viewer Label Provider</h3>
-<p>
-The Label Provider can be customized by providing a specific implementation of <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ILabelProvider.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.ILabelProvider" >ILabelProvider</abbr></a>
-and injecting it in the spefic module <em>(TODO)</em>.
-EMF Components provides such an implementation with the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/ViewerLabelProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.ViewerLabelProvider" >ViewerLabelProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/ViewerLabelProvider.java" title="View Source Code" >(src)</a>
-that is inteded to be surclassed by the programmer to provides specific implementations like in the example below.
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;CustomLibraryLabelProvider&nbsp;<span class="keyword">extends</span>&nbsp;ViewerLabelProvider&nbsp;{
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Inject
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;CustomLibraryLabelProvider(AdapterFactoryLabelProvider&nbsp;delegate)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>(delegate);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;text(Book&nbsp;book)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"Book:&nbsp;"</span>&nbsp;+&nbsp;book.getTitle();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;image(Book&nbsp;book)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"book2.png"</span>;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;text(Borrower&nbsp;b)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"Borrower:&nbsp;"</span>&nbsp;+&nbsp;b.getFirstName();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<a name="ViewerContentProvider"></a>
-<h3>Viewer Content Provider</h3>
-<p>
-The programmer can provide a specific implementation of <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/IContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.IContentProvider" >IContentProvider</abbr></a>
-by injecting it in the spefic module <em>(TODO)</em>. EMF Components provides an implementation with the class
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.ViewerContentProvider" >ViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.java" title="View Source Code" >(src)</a> that can be easily used to
-specify the children of all object on the tree, like in the example below.
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;CustomLibraryViewerContentProvider&nbsp;<span class="keyword">extends</span>&nbsp;ViewerContentProvider&nbsp;{
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Inject
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;CustomLibraryViewerContentProvider(AdapterFactory&nbsp;adapterFactory)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>(adapterFactory);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;Object&nbsp;children(Library&nbsp;library)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;library.getBooks();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;Object&nbsp;children(Book&nbsp;book)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&lt;Object&gt;&nbsp;children&nbsp;=&nbsp;<span class="keyword">new</span>&nbsp;ArrayList&lt;Object&gt;();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;author&nbsp;=&nbsp;book.getAuthor();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(author&nbsp;!=&nbsp;null)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;children.add(author);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;children.addAll(book.getBorrowers());
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;children;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<a name="ProposalProvider"></a>
-<h3>Proposal Provider</h3>
-<p>
- <em>This can be done with Parsley DSL too!</em>
- 
-Some controls use a list of proposal to help the end user experince: for example the combo box has a
-list of proposal, but also the simple text can use the proposal to assist and correct the hand-writed
-values. For each feature it can be specified a list of proposals using a method that starts with the
-keyword <em>&apos;proposals&apos;</em> followed byt the EClass and Feature undescore-character-separated. 
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;List&lt;?&gt;&nbsp;proposals_Book_author(Book&nbsp;book)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;Object&gt;&nbsp;proposals&nbsp;=&nbsp;<span class="keyword">new</span>&nbsp;LinkedList&lt;Object&gt;();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;writer&nbsp;=&nbsp;EXTLibraryFactory.eINSTANCE.createWriter();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.setFirstName(<span class="string">"Fake"</span>);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.setLastName(<span class="string">"Writer"</span>);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proposals.add(writer);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer&nbsp;=&nbsp;EXTLibraryFactory.eINSTANCE.createWriter();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.setFirstName(<span class="string">"Fake"</span>);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.setLastName(<span class="string">"Writer2"</span>);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proposals.add(writer);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;proposals;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<a name="ViewerContextMenuFactory"></a>
-<h3>Viewer Context Menu Factory</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/menus/ViewerContextMenuFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuFactory" >ViewerContextMenuFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuFactory.java" title="View Source Code" >(src)</a>
-</p>
-<a name="TableColumnLabelProvider"></a>
-<h3>Table Column Label Provider</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/TableColumnLabelProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.TableColumnLabelProvider" >TableColumnLabelProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/TableColumnLabelProvider.java" title="View Source Code" >(src)</a>
-</p>
-<a name="SelectionAndMenu"></a>
-<h2>Selection And Menu</h2>
-<a name="EmfSelectionHelper"></a>
-<h3>Emf Selection Helper</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/util/EmfSelectionHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.util.EmfSelectionHelper" >EmfSelectionHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/util/EmfSelectionHelper.java" title="View Source Code" >(src)</a>
-</p>
-<a name="Builders"></a>
-<h2>Builders</h2>
-<a name="TableViewerBuilder"></a>
-<h3>Table Viewer Builder</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/builders/TableViewerBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.builders.TableViewerBuilder" >TableViewerBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/builders/TableViewerBuilder.java" title="View Source Code" >(src)</a>
-</p>
-<p>
-<ul>
-	<li>
-		<a href="04-Customization.html#TableViewerColumnBuilder" title="Go to &quot;Table Viewer Column Builder&quot;">TableViewerColumnBuilder</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#ViewerInitializer" title="Go to &quot;Viewer Initializer&quot;">ViewerInitializer</a>
-	</li>
-</ul>
-</p>
-<a name="TableViewerColumnBuilder"></a>
-<h3>Table Viewer Column Builder</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/builders/TableViewerColumnBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.builders.TableViewerColumnBuilder" >TableViewerColumnBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/builders/TableViewerColumnBuilder.java" title="View Source Code" >(src)</a>
-</p>
-<p>
-<ul>
-	<li>
-		<a href="04-Customization.html#JfaceProviderFactory" title="Go to &quot;Jface Provider Factory&quot;">JfaceProviderFactory</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#PropertyDescriptionProvider" title="Go to &quot;Property Description Provider&quot;">PropertyDescriptionProvider</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#FeaturesProvider" title="Go to &quot;Features Provider&quot;">FeaturesProvider</a>
-	</li>
-</ul>
-</p>
-<a name="TableViewerEditableColumnBuilder"></a>
-<h4>Table Viewer Editable Column Builder</h4>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/builders/TableViewerEditableColumnBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.builders.TableViewerEditableColumnBuilder" >TableViewerEditableColumnBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/builders/TableViewerEditableColumnBuilder.java" title="View Source Code" >(src)</a>
-</p>
-<a name="Factories"></a>
-<h2>Factories</h2>
-<a name="FormFactory"></a>
-<h3>Form Factory</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/factories/FormFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.factories.FormFactory" >FormFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/factories/FormFactory.java" title="View Source Code" >(src)</a>
-</p>
-<p>
-<ul>
-	<li>
-		<a href="04-Customization.html#FormPropertyDescriptionProvider" title="Go to &quot;Form Property Description Provider&quot;">FormPropertyDescriptionProvider</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#FormControlFactory" title="Go to &quot;Form Control Factory&quot;">Form Control Factory</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#EditingDomainFinder" title="Go to &quot;Editing Domain Finder&quot;">EditingDomainFinder</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#JfaceProviderFactory" title="Go to &quot;Jface Provider Factory&quot;">JfaceProviderFactory</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#FeaturesProvider" title="Go to &quot;Features Provider&quot;">FeaturesProvider</a>
-	</li>
-</ul>
-</p>
-<a name="JfaceProviderFactory"></a>
-<h3>Jface Provider Factory</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/factories/ColumnLabelProviderFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.factories.ColumnLabelProviderFactory" >ColumnLabelProviderFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/factories/ColumnLabelProviderFactory.java" title="View Source Code" >(src)</a>
-</p>
-<p>
-<ul>
-	<li>
-		<a href="04-Customization.html#ViewerLabelProvider" title="Go to &quot;Viewer Label Provider&quot;">ViewerLabelProvider</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#TableColumnLabelProvider" title="Go to &quot;Table Column Label Provider&quot;">TableColumnLabelProvider</a>
-	</li>
-</ul>
-</p>
-<a name="FormControlFactory"></a>
-<h3>Form Control Factory</h3>
-<p>
- <em>This can be done with Parsley DSL too!</em>
- 
-If you want to customize the controls on the right, it can be injected a specification of the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/binding/FormControlFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.binding.FormControlFactory" >FormControlFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/binding/FormControlFactory.java" title="View Source Code" >(src)</a>.
-Using the same polimorphic mechanism of the labels, the programmer can write a method with the keyword <em>&apos;control&apos;</em>
-followed by the EClass and EStructuralFeature undescore-character-separated. In the signature of the
-method must be both the <em>DataBinding Context</em> and the <em>Feature Observable</em> that can be used for databinding. 
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;Control&nbsp;control_Writer_name(DataBindingContext&nbsp;dbc,IObservableValue&nbsp;featureObservable)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//Creating&nbsp;the&nbsp;control
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;text&nbsp;=&nbsp;getToolkit().createText(getParent(),&nbsp;<span class="string">""</span>);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text.setData(FormToolkit.KEY_DRAW_BORDER,&nbsp;FormToolkit.TREE_BORDER);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text.setBackground(getToolkit().getColors().getColor(IFormColors.TITLE));
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//Binding&nbsp;the&nbsp;control&nbsp;to&nbsp;the&nbsp;feature&nbsp;observable
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbc.bindValue(SWTObservables.observeText(text,&nbsp;SWT.Modify),&nbsp;&nbsp;&nbsp;&nbsp;featureObservable);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;text;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-For more info, see the other parts that are used internally by the <em>Form Control Factory</em>:
-</p>
-<p>
-<ul>
-	<li>
-		<a href="04-Customization.html#JfaceProviderFactory" title="Go to &quot;Jface Provider Factory&quot;">JfaceProviderFactory</a>
-	</li>
-</ul>
-</p>
-<a name="TreeFormFactory"></a>
-<h3>Tree Form Factory</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/factories/TreeFormFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.factories.TreeFormFactory" >TreeFormFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/factories/TreeFormFactory.java" title="View Source Code" >(src)</a>
-</p>
-<p>
-<ul>
-	<li>
-		<a href="04-Customization.html#ViewerInitializer" title="Go to &quot;Viewer Initializer&quot;">ViewerInitializer</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#FormFactory" title="Go to &quot;Form Factory&quot;">FormFactory</a>
-	</li>
-</ul>
-</p>
-<a name="ViewerFactory"></a>
-<h3>Viewer Factory</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/factories/ViewerFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.factories.ViewerFactory" >ViewerFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/factories/ViewerFactory.java" title="View Source Code" >(src)</a>
-</p>
-<p>
-<ul>
-	<li>
-		<a href="04-Customization.html#TableViewerBuilder" title="Go to &quot;Table Viewer Builder&quot;">TableViewerBuilder</a>
-	</li>
-	<li>
-		<a href="04-Customization.html#ViewerInitializer" title="Go to &quot;Viewer Initializer&quot;">ViewerInitializer</a>
-	</li>
-</ul>
-</p>
-<a name="AdapterFactoryEditingDomain"></a>
-<h3>Viewer Factory</h3>
-<p>
-AdapterFactoryEditingDomain
-</p>
-<p>
-AdapterFactory
-</p>
-<a name="Viewers"></a>
-<h2>Viewers</h2>
-<a name="ViewerInitializer"></a>
-<h3>Viewer Initializer</h3>
-<p>
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/viewers/ViewerInitializer.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.viewers.ViewerInitializer" >ViewerInitializer</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/ViewerInitializer.java" title="View Source Code" >(src)</a>
-</p>
-<p>
-<ul>
-	<li>
-		<em>AdapterFactoryEditingDomain</em>
-	</li>
-	<li>
-		<a href="04-Customization.html#ViewerContextMenuFactory" title="Go to &quot;Viewer Context Menu Factory&quot;">AdapterFactory</a>
-	</li>
-	<li>
-		<em>ILabelProvider</em>
-	</li>
-	<li>
-		<em>IContentProvider</em>
-	</li>
-</ul>
-
-</p>
-</body>
-</html>
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="Customization" ></a>
+		<h1>Customization</h1>
+				<div class="toc">
+				  <ul>
+				    <li><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+				    <li><a href="04-Customization.php#Providers.php" >Providers</a></li>
+				    <li><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+				    <li><a href="04-Customization.php#Builders.php" >Builders</a></li>
+				    <li><a href="04-Customization.php#Factories.php" >Factories</a></li>
+				    <li><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+				  </ul>
+				</div>
+				
+		<a name="ResourceManagers" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Managing Resources</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="04-Customization.php#ResourceLoader.php" >Resource Loader</a></li>
+			    <li><a href="04-Customization.php#EmptyResourceInitializer.php" >Empty Resource Initializer</a></li>
+			    <li><a href="04-Customization.php#EditingDomainFinder.php" >Editing Domain Finder</a></li>
+			    <li><a href="04-Customization.php#ResourceSaveManager.php" >Resource Save Manager</a></li>
+			  </ul>
+			</div>
+			<a name="ResourceLoader" ></a>
+			<h2>Resource Loader</h2>
+			<p>
+			The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/resource/ResourceLoader.html" title="org.eclipse.emf.parsley.resource.ResourceLoader">ResourceLoader</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceLoader.java" title="View Source Code" >(src)</a> can be used to handle resource loading.
+			This class uses internally the <a href="04-Customization.php#EmptyResourceInitializer.php" title="Go to &quot;Empty Resource Initializer&quot;">Empty Resource Initializer</a>.
+			</p>
+			<a name="EmptyResourceInitializer" ></a>
+			<h2>Empty Resource Initializer</h2>
+			<p>
+			If you need to initialize your model, for the first use, you can define an implementation of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/resource/EmptyResourceInitializer.html" title="org.eclipse.emf.parsley.resource.EmptyResourceInitializer">EmptyResourceInitializer</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/EmptyResourceInitializer.java" title="View Source Code" >(src)</a>.
+			When the main resource will be found empty, your code will be executed. 
+			</p>
+			<a name="EditingDomainFinder" ></a>
+			<h2>Editing Domain Finder</h2>
+			<p>
+			The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/edit/EditingDomainFinder.html" title="org.eclipse.emf.parsley.edit.EditingDomainFinder">EditingDomainFinder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/EditingDomainFinder.java" title="View Source Code" >(src)</a> can be inherited to provide a specific
+			way to find the editign domain.
+			</p>
+			<a name="ResourceSaveManager" ></a>
+			<h2>Resource Save Manager</h2>
+			<p>
+			Resource saving is delegated to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/edit/ResourceSaveManager.html" title="org.eclipse.emf.parsley.edit.ResourceSaveManager">ResourceSaveManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ResourceSaveManager.java" title="View Source Code" >(src)</a>
+			which, by defaults only saves the passed <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/resource/Resource.html" title="org.eclipse.emf.ecore.resource.Resource">Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>.
+			You can inject your own save manager and implement the method <span class="inlinecode">precondition(Resource)</span>, for
+			instance, you may want to validate the resource before saving, and in case the validation
+			fails to return <span class="inlinecode">false</span>.  If the precondition is <span class="inlinecode">false</span> the default implementation
+			will not save the resource (and in turn will return <span class="inlinecode">false</span>).
+			</p>
+			<a name="ValidateResourceSaveManager" ></a>
+			<h3>Validate Resource Save Manager</h3>
+			<p>
+			We provide an example of custom resource save manager: <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/edit/ValidateResourceSaveManager.html" title="org.eclipse.emf.parsley.edit.ValidateResourceSaveManager">ValidateResourceSaveManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ValidateResourceSaveManager.java" title="View Source Code" >(src)</a>,
+			we show here only relevant parts to give an example:
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;ValidateResourceSaveManager&nbsp;<span class="keyword">extends</span>&nbsp;ResourceSaveManager&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;@Override
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">boolean</span>&nbsp;precondition(Resource&nbsp;resource)&nbsp;{
+						<br/>
+						<span class="keyword">return</span>&nbsp;<span class="keyword">super</span>.precondition(resource)&nbsp;&amp;&amp;&nbsp;validateModel(resource);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">boolean</span>&nbsp;validateModel(Resource&nbsp;resource)&nbsp;{
+						<br/>
+						<span class="keyword">for</span>&nbsp;(EObject&nbsp;eObject&nbsp;:&nbsp;resource.getContents())&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;Diagnostic&nbsp;diagnostic&nbsp;=&nbsp;Diagnostician.INSTANCE.validate(eObject);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(diagnostic.getSeverity()&nbsp;==&nbsp;Diagnostic.ERROR)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;SKIPPED:&nbsp;present&nbsp;the&nbsp;errors
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;false;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span>&nbsp;<span class="keyword">if</span>&nbsp;(diagnostic.getSeverity()&nbsp;==&nbsp;Diagnostic.WARNING)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;SKIPPED:&nbsp;present&nbsp;the&nbsp;warnings
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+						<br/>
+						<span class="keyword">return</span>&nbsp;true;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+		<a name="Providers" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Providers</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="04-Customization.php#FeaturesProvider.php" >Features Provider</a></li>
+			    <li><a href="04-Customization.php#PropertyDescriptionProvider.php" >Property Description Provider</a></li>
+			    <li><a href="04-Customization.php#ViewerLabelProvider.php" >Viewer Label Provider</a></li>
+			    <li><a href="04-Customization.php#ViewerContentProvider.php" >Viewer Content Provider</a></li>
+			    <li><a href="04-Customization.php#ProposalProvider.php" >Proposal Provider</a></li>
+			    <li><a href="04-Customization.php#ViewerContextMenuFactory.php" >Viewer Context Menu Factory</a></li>
+			    <li><a href="04-Customization.php#TableColumnLabelProvider.php" >Table Column Label Provider</a></li>
+			  </ul>
+			</div>
+			<a name="FeaturesProvider" ></a>
+			<h2>Features Provider</h2>
+			<p>
+			 <em>This can be done with Parsley DSL too!</em>
+			 
+			<div class="todo" >
+			TODO: merge delle 2 versioni
+			</div>
+			</p>
+			<a name="FeatureProvider1" ></a>
+			<h3>Prima versione</h3>
+			<p>
+			To customize the <em>feature list</em> it can be injected a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider">FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
+			The default is to return the list of all the features in the EClass, but the programmer can customize it (for instance,
+			by returning only a superset, or using a different order) on an EClass-based strategy. The customization can be done 
+			redefining buildMap and adding mappings.
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">protected</span>&nbsp;<span class="keyword">void</span>&nbsp;buildMap(EClassToEStructuralFeatureMap&nbsp;map)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>.buildMap(map);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map.mapTo(LIBRARY,LIBRARY__NAME,&nbsp;ADDRESSABLE__ADDRESS);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			In the example we specify that for the EClass <em>Library</em> the feature that are to be displayed are <em>name</em>
+			and <em>address</em>.
+			</p>
+			<a name="FeatureProvider2" ></a>
+			<h3>Seconda versione</h3>
+			<p>
+			When the framework builds components according to the
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="org.eclipse.emf.ecore.EStructuralFeature">EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>s of a given
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EClass.html" title="org.eclipse.emf.ecore.EClass">EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> it relies on an injected
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider">FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
+			The default behavior is to simply return all the features of the a given EClass,
+			in the order they are defined in the EClass;
+			you may want to provide a custom implementation by redefining
+			the method <span class="inlinecode">List&lt;EStructuralFeature&gt;&nbsp;getFeatures(EClass)</span>, or
+			<span class="inlinecode">List&lt;EStructuralFeature&gt;&nbsp;getFeatures(EObject)</span>,
+			for instance by returning the features ordered according to their name
+			(the following snippet uses an utility class from the framework)
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;OrderedEStructuralFeaturesProvider&nbsp;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">extends</span>&nbsp;FeaturesProvider&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;@Inject
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;EStructuralFeatureNameComparator&nbsp;comparator;
+						<br/>
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;@Override
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;List&lt;EStructuralFeature&gt;&nbsp;getFeatures(EClass&nbsp;eClass)&nbsp;{
+						<br/>
+						List&lt;EStructuralFeature&gt;&nbsp;features&nbsp;=&nbsp;<span class="keyword">super</span>.getFeatures(eClass);
+						<br/>
+						Collections.sort(features,&nbsp;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">new</span>&nbsp;EStructuralFeatureNameComparator());
+						<br/>
+						<span class="keyword">return</span>&nbsp;features;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			Alternatively, you can set the mappings, i.e., specify the structural
+			features you want to be used given an EClass, by implementing
+			the method <span class="inlinecode">buildMap</span>, which receives the
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.EClassToEStructuralFeatureMap.html" title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider.EClassToEStructuralFeatureMap">FeaturesProvider.EClassToEStructuralFeatureMap</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>
+			that can be filled with the method <span class="inlinecode">mapTo</span>; 
+			for instance, using the EMF extended library
+			example, this customization will return only the <em>name</em> and <em>address</em> features
+			for <span class="inlinecode">Library</span>, the <em>firstName</em>, <em>lastName</em> and <em>address</em> for
+			<span class="inlinecode">Person</span>, and the <em>firstName</em>, <em>lastName</em> and <em>books</em> (but
+			not <em>address</em>) for <span class="inlinecode">Writer</span> (which inherits from <span class="inlinecode">Person</span>).
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">import</span>&nbsp;<span class="keyword">static</span>&nbsp;org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*;
+						<br/>
+						<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.ui.provider.EStructuralFeaturesProvider;
+						<br/>
+						<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryEStructuralFeaturesProvider&nbsp;<span class="keyword">extends</span>
+						<br/>
+						FeaturesProvider&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;@Override
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">void</span>&nbsp;buildMap(EClassToEStructuralFeatureMap&nbsp;map)&nbsp;{
+						<br/>
+						<span class="keyword">super</span>.buildMap(map);
+						<br/>
+						map.mapTo(LIBRARY,
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIBRARY__NAME,&nbsp;ADDRESSABLE__ADDRESS);
+						<br/>
+						map.mapTo(PERSON,
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PERSON__FIRST_NAME,&nbsp;PERSON__LAST_NAME,
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ADDRESSABLE__ADDRESS);
+						<br/>
+						map.mapTo(WRITER,
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PERSON__FIRST_NAME,&nbsp;PERSON__LAST_NAME,
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WRITER__BOOKS);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			Another possibility is to build a map which relies on Strings
+			both for the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EClass.html" title="org.eclipse.emf.ecore.EClass">EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> and for
+			the list of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="org.eclipse.emf.ecore.EStructuralFeature">EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>;
+			note that the name of the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/ecore/EClass.html" title="org.eclipse.emf.ecore.EClass">EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> should
+			be obtained by using <span class="inlinecode">getInstanceClassName()</span>; you can also
+			combine the two approaches (in that case the map built with
+			<span class="inlinecode">buildMap</span> has the precedence):
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">import</span>&nbsp;<span class="keyword">static</span>&nbsp;org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*;
+						<br/>
+						<span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.ui.provider.FeaturesProvider;
+						<br/>
+						<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;LibraryEStructuralFeaturesAsStringsProvider&nbsp;<span class="keyword">extends</span>
+						<br/>
+						FeaturesProvider&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;@Override
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">void</span>&nbsp;buildMap(EClassToEStructuralFeatureMap&nbsp;map)&nbsp;{
+						<br/>
+						<span class="keyword">super</span>.buildMap(map);
+						<br/>
+						map.mapTo(LIBRARY,&nbsp;LIBRARY__NAME,&nbsp;ADDRESSABLE__ADDRESS);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;@Override
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">protected</span>&nbsp;<span class="keyword">void</span>&nbsp;buildStringMap(
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;EClassToEStructuralFeatureAsStringsMap&nbsp;stringMap)&nbsp;{
+						<br/>
+						<span class="keyword">super</span>.buildStringMap(stringMap);
+						<br/>
+						stringMap.mapTo(PERSON.getInstanceClassName(),&nbsp;<span class="string">"firstName"</span>,&nbsp;<span class="string">"lastName"</span>,
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">"address"</span>);
+						<br/>
+						stringMap.mapTo(WRITER.getInstanceClassName(),&nbsp;<span class="string">"firstName"</span>,&nbsp;<span class="string">"lastName"</span>,
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">"books"</span>);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+			<a name="FeaturesColumnProvider" ></a>
+			<h3>Features Column Provider</h3>
+			<p>
+			As an extension, you can use the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FeaturesColumnProvider.html" title="org.eclipse.emf.parsley.ui.provider.FeaturesColumnProvider">FeaturesColumnProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesColumnProvider.java" title="View Source Code" >(src)</a>:
+			the customizations will be applied only to <a href="03-Components.php#TableComponent.php" title="Go to &quot;Table Component&quot;">tables</a>, not to <a href="03-Components.php#FormComponent.php" title="Go to &quot;Form Component&quot;">Forms</a>.
+			</p>
+			<a name="PropertyDescriptionProvider" ></a>
+			<h2>Property Description Provider</h2>
+			<p>
+			 <em>This can be done with Parsley DSL too!</em>
+			 
+			The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/PropertyDescriptionProvider.html" title="org.eclipse.emf.parsley.ui.provider.PropertyDescriptionProvider">PropertyDescriptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/PropertyDescriptionProvider.java" title="View Source Code" >(src)</a> provides labels for
+			the features. It can be customized, with injection (see Injection paragraph), to customize the label on the
+			left of each control. The framework use a polimorphic mechanism to find customizations, so that It can
+			be written a method with a specific signature build by the keyword <em>'text'</em> followed by the EClass and the EStructuralFeature.
+			All parts of the name are separated by an underscore character and the method must accept a parameter of type EStructuralFeature.
+			</p>
+			<p>
+			In the following example we specify the label text for the feature 'Author' of Book and the feature 'Name' for
+			Writer.
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">public</span>&nbsp;String&nbsp;text_Book_author(<span class="keyword">final</span>&nbsp;EStructuralFeature&nbsp;feature)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"Wrote&nbsp;by:"</span>;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;text_Writer_name(<span class="keyword">final</span>&nbsp;EStructuralFeature&nbsp;feature)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"Name:"</span>;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			Another chance of customization is to define a method the returns directly the control, like in the example
+			below. In this case there is another parameter that is the parent composite.
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">public</span>&nbsp;Label&nbsp;label_Writer_name(Composite&nbsp;parent,&nbsp;EStructuralFeature&nbsp;feature)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Label&nbsp;label&nbsp;=&nbsp;defaultLabel(parent,&nbsp;feature);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label.setBackground(getFormToolkit().getColors().getColor(IFormColors.TITLE));
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;label;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<a name="FormPropertyDescriptionProvider" ></a>
+			<h3>Form Property Description Provider</h3>
+			<p>
+			The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/FormPropertyDescriptionProvider.html" title="org.eclipse.emf.parsley.ui.provider.FormPropertyDescriptionProvider">FormPropertyDescriptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormPropertyDescriptionProvider.java" title="View Source Code" >(src)</a> can be used if you want
+			to define the description only for the form. For example using the <a href="03-Components.php#TreeFormComponent.php" title="Go to &quot;Tree Form Component&quot;">Tree
+			Form</a> your definition will not be used in the tree.
+			</p>
+			<a name="ViewerLabelProvider" ></a>
+			<h2>Viewer Label Provider</h2>
+			<p>
+			The Label Provider can be customized by providing a specific implementation of <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/ILabelProvider.html" title="org.eclipse.jface.viewers.ILabelProvider">ILabelProvider</abbr></a>
+			and injecting it in the spefic module <em>(TODO)</em>.
+			EMF Components provides such an implementation with the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/ViewerLabelProvider.html" title="org.eclipse.emf.parsley.ui.provider.ViewerLabelProvider">ViewerLabelProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/ViewerLabelProvider.java" title="View Source Code" >(src)</a>
+			that is inteded to be surclassed by the programmer to provides specific implementations like in the example below.
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;CustomLibraryLabelProvider&nbsp;<span class="keyword">extends</span>&nbsp;ViewerLabelProvider&nbsp;{
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Inject
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;CustomLibraryLabelProvider(AdapterFactoryLabelProvider&nbsp;delegate)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>(delegate);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;text(Book&nbsp;book)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"Book:&nbsp;"</span>&nbsp;+&nbsp;book.getTitle();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;image(Book&nbsp;book)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"book2.png"</span>;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;String&nbsp;text(Borrower&nbsp;b)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;<span class="string">"Borrower:&nbsp;"</span>&nbsp;+&nbsp;b.getFirstName();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<a name="ViewerContentProvider" ></a>
+			<h2>Viewer Content Provider</h2>
+			<p>
+			The programmer can provide a specific implementation of <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/IContentProvider.html" title="org.eclipse.jface.viewers.IContentProvider">IContentProvider</abbr></a>
+			by injecting it in the spefic module <em>(TODO)</em>. EMF Components provides an implementation with the class
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.html" title="org.eclipse.emf.parsley.edit.ui.provider.ViewerContentProvider">ViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.java" title="View Source Code" >(src)</a> that can be easily used to
+			specify the children of all object on the tree, like in the example below.
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">public</span>&nbsp;<span class="keyword">class</span>&nbsp;CustomLibraryViewerContentProvider&nbsp;<span class="keyword">extends</span>&nbsp;ViewerContentProvider&nbsp;{
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Inject
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;CustomLibraryViewerContentProvider(AdapterFactory&nbsp;adapterFactory)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">super</span>(adapterFactory);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;Object&nbsp;children(Library&nbsp;library)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;library.getBooks();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;Object&nbsp;children(Book&nbsp;book)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&lt;Object&gt;&nbsp;children&nbsp;=&nbsp;<span class="keyword">new</span>&nbsp;ArrayList&lt;Object&gt;();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;author&nbsp;=&nbsp;book.getAuthor();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span>&nbsp;(author&nbsp;!=&nbsp;null)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;children.add(author);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;children.addAll(book.getBorrowers());
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;children;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<a name="ProposalProvider" ></a>
+			<h2>Proposal Provider</h2>
+			<p>
+			 <em>This can be done with Parsley DSL too!</em>
+			 
+			Some controls use a list of proposal to help the end user experince: for example the combo box has a
+			list of proposal, but also the simple text can use the proposal to assist and correct the hand-writed
+			values. For each feature it can be specified a list of proposals using a method that starts with the
+			keyword <em>'proposals'</em> followed byt the EClass and Feature undescore-character-separated. 
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">public</span>&nbsp;List&lt;?&gt;&nbsp;proposals_Book_author(Book&nbsp;book)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;Object&gt;&nbsp;proposals&nbsp;=&nbsp;<span class="keyword">new</span>&nbsp;LinkedList&lt;Object&gt;();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writer&nbsp;writer&nbsp;=&nbsp;EXTLibraryFactory.eINSTANCE.createWriter();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.setFirstName(<span class="string">"Fake"</span>);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.setLastName(<span class="string">"Writer"</span>);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proposals.add(writer);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer&nbsp;=&nbsp;EXTLibraryFactory.eINSTANCE.createWriter();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.setFirstName(<span class="string">"Fake"</span>);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.setLastName(<span class="string">"Writer2"</span>);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proposals.add(writer);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;proposals;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<a name="ViewerContextMenuFactory" ></a>
+			<h2>Viewer Context Menu Factory</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/menus/ViewerContextMenuFactory.html" title="org.eclipse.emf.parsley.menus.ViewerContextMenuFactory">ViewerContextMenuFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuFactory.java" title="View Source Code" >(src)</a>
+			</p>
+			<a name="TableColumnLabelProvider" ></a>
+			<h2>Table Column Label Provider</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/ui/provider/TableColumnLabelProvider.html" title="org.eclipse.emf.parsley.ui.provider.TableColumnLabelProvider">TableColumnLabelProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/TableColumnLabelProvider.java" title="View Source Code" >(src)</a>
+			</p>
+		<a name="SelectionAndMenu" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Selection And Menu</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="04-Customization.php#EmfSelectionHelper.php" >Emf Selection Helper</a></li>
+			  </ul>
+			</div>
+			<a name="EmfSelectionHelper" ></a>
+			<h2>Emf Selection Helper</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/util/EmfSelectionHelper.html" title="org.eclipse.emf.parsley.util.EmfSelectionHelper">EmfSelectionHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/util/EmfSelectionHelper.java" title="View Source Code" >(src)</a>
+			</p>
+		<a name="Builders" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Builders</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="04-Customization.php#TableViewerBuilder.php" >Table Viewer Builder</a></li>
+			    <li><a href="04-Customization.php#TableViewerColumnBuilder.php" >Table Viewer Column Builder</a></li>
+			  </ul>
+			</div>
+			<a name="TableViewerBuilder" ></a>
+			<h2>Table Viewer Builder</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/builders/TableViewerBuilder.html" title="org.eclipse.emf.parsley.builders.TableViewerBuilder">TableViewerBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/builders/TableViewerBuilder.java" title="View Source Code" >(src)</a>
+			</p>
+			<p>
+			<ul>
+			  <li><a href="04-Customization.php#TableViewerColumnBuilder.php" title="Go to &quot;Table Viewer Column Builder&quot;">TableViewerColumnBuilder</a></li>
+			  <li><a href="04-Customization.php#ViewerInitializer.php" title="Go to &quot;Viewer Initializer&quot;">ViewerInitializer</a></li>
+			</ul>
+			</p>
+			<a name="TableViewerColumnBuilder" ></a>
+			<h2>Table Viewer Column Builder</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/builders/TableViewerColumnBuilder.html" title="org.eclipse.emf.parsley.builders.TableViewerColumnBuilder">TableViewerColumnBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/builders/TableViewerColumnBuilder.java" title="View Source Code" >(src)</a>
+			</p>
+			<p>
+			<ul>
+			  <li><a href="04-Customization.php#JfaceProviderFactory.php" title="Go to &quot;Jface Provider Factory&quot;">JfaceProviderFactory</a></li>
+			  <li><a href="04-Customization.php#PropertyDescriptionProvider.php" title="Go to &quot;Property Description Provider&quot;">PropertyDescriptionProvider</a></li>
+			  <li><a href="04-Customization.php#FeaturesProvider.php" title="Go to &quot;Features Provider&quot;">FeaturesProvider</a></li>
+			</ul>
+			</p>
+			<a name="TableViewerEditableColumnBuilder" ></a>
+			<h3>Table Viewer Editable Column Builder</h3>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/builders/TableViewerEditableColumnBuilder.html" title="org.eclipse.emf.parsley.builders.TableViewerEditableColumnBuilder">TableViewerEditableColumnBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/builders/TableViewerEditableColumnBuilder.java" title="View Source Code" >(src)</a>
+			</p>
+		<a name="Factories" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Factories</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="04-Customization.php#FormFactory.php" >Form Factory</a></li>
+			    <li><a href="04-Customization.php#JfaceProviderFactory.php" >Jface Provider Factory</a></li>
+			    <li><a href="04-Customization.php#FormControlFactory.php" >Form Control Factory</a></li>
+			    <li><a href="04-Customization.php#TreeFormFactory.php" >Tree Form Factory</a></li>
+			    <li><a href="04-Customization.php#ViewerFactory.php" >Viewer Factory</a></li>
+			    <li><a href="04-Customization.php#AdapterFactoryEditingDomain.php" >Viewer Factory</a></li>
+			  </ul>
+			</div>
+			<a name="FormFactory" ></a>
+			<h2>Form Factory</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/factories/FormFactory.html" title="org.eclipse.emf.parsley.factories.FormFactory">FormFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/factories/FormFactory.java" title="View Source Code" >(src)</a>
+			</p>
+			<p>
+			<ul>
+			  <li><a href="04-Customization.php#FormPropertyDescriptionProvider.php" title="Go to &quot;Form Property Description Provider&quot;">FormPropertyDescriptionProvider</a></li>
+			  <li><a href="04-Customization.php#FormControlFactory.php" title="Go to &quot;Form Control Factory&quot;">Form Control Factory</a></li>
+			  <li><a href="04-Customization.php#EditingDomainFinder.php" title="Go to &quot;Editing Domain Finder&quot;">EditingDomainFinder</a></li>
+			  <li><a href="04-Customization.php#JfaceProviderFactory.php" title="Go to &quot;Jface Provider Factory&quot;">JfaceProviderFactory</a></li>
+			  <li><a href="04-Customization.php#FeaturesProvider.php" title="Go to &quot;Features Provider&quot;">FeaturesProvider</a></li>
+			</ul>
+			</p>
+			<a name="JfaceProviderFactory" ></a>
+			<h2>Jface Provider Factory</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/factories/ColumnLabelProviderFactory.html" title="org.eclipse.emf.parsley.factories.ColumnLabelProviderFactory">ColumnLabelProviderFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/factories/ColumnLabelProviderFactory.java" title="View Source Code" >(src)</a>
+			</p>
+			<p>
+			<ul>
+			  <li><a href="04-Customization.php#ViewerLabelProvider.php" title="Go to &quot;Viewer Label Provider&quot;">ViewerLabelProvider</a></li>
+			  <li><a href="04-Customization.php#TableColumnLabelProvider.php" title="Go to &quot;Table Column Label Provider&quot;">TableColumnLabelProvider</a></li>
+			</ul>
+			</p>
+			<a name="FormControlFactory" ></a>
+			<h2>Form Control Factory</h2>
+			<p>
+			 <em>This can be done with Parsley DSL too!</em>
+			 
+			If you want to customize the controls on the right, it can be injected a specification of the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/binding/FormControlFactory.html" title="org.eclipse.emf.parsley.binding.FormControlFactory">FormControlFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/binding/FormControlFactory.java" title="View Source Code" >(src)</a>.
+			Using the same polimorphic mechanism of the labels, the programmer can write a method with the keyword <em>'control'</em>
+			followed by the EClass and EStructuralFeature undescore-character-separated. In the signature of the
+			method must be both the <em>DataBinding Context</em> and the <em>Feature Observable</em> that can be used for databinding. 
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">public</span>&nbsp;Control&nbsp;control_Writer_name(DataBindingContext&nbsp;dbc,IObservableValue&nbsp;featureObservable)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//Creating&nbsp;the&nbsp;control
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;text&nbsp;=&nbsp;getToolkit().createText(getParent(),&nbsp;<span class="string">""</span>);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text.setData(FormToolkit.KEY_DRAW_BORDER,&nbsp;FormToolkit.TREE_BORDER);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text.setBackground(getToolkit().getColors().getColor(IFormColors.TITLE));
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//Binding&nbsp;the&nbsp;control&nbsp;to&nbsp;the&nbsp;feature&nbsp;observable
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbc.bindValue(SWTObservables.observeText(text,&nbsp;SWT.Modify),&nbsp;&nbsp;&nbsp;&nbsp;featureObservable);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span>&nbsp;text;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			For more info, see the other parts that are used internally by the <em>Form Control Factory</em>:
+			</p>
+			<p>
+			<ul>
+			  <li><a href="04-Customization.php#JfaceProviderFactory.php" title="Go to &quot;Jface Provider Factory&quot;">JfaceProviderFactory</a></li>
+			</ul>
+			</p>
+			<a name="TreeFormFactory" ></a>
+			<h2>Tree Form Factory</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/factories/TreeFormFactory.html" title="org.eclipse.emf.parsley.factories.TreeFormFactory">TreeFormFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/factories/TreeFormFactory.java" title="View Source Code" >(src)</a>
+			</p>
+			<p>
+			<ul>
+			  <li><a href="04-Customization.php#ViewerInitializer.php" title="Go to &quot;Viewer Initializer&quot;">ViewerInitializer</a></li>
+			  <li><a href="04-Customization.php#FormFactory.php" title="Go to &quot;Form Factory&quot;">FormFactory</a></li>
+			</ul>
+			</p>
+			<a name="ViewerFactory" ></a>
+			<h2>Viewer Factory</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/factories/ViewerFactory.html" title="org.eclipse.emf.parsley.factories.ViewerFactory">ViewerFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/factories/ViewerFactory.java" title="View Source Code" >(src)</a>
+			</p>
+			<p>
+			<ul>
+			  <li><a href="04-Customization.php#TableViewerBuilder.php" title="Go to &quot;Table Viewer Builder&quot;">TableViewerBuilder</a></li>
+			  <li><a href="04-Customization.php#ViewerInitializer.php" title="Go to &quot;Viewer Initializer&quot;">ViewerInitializer</a></li>
+			</ul>
+			</p>
+			<a name="AdapterFactoryEditingDomain" ></a>
+			<h2>Viewer Factory</h2>
+			<p>
+			AdapterFactoryEditingDomain
+			</p>
+			<p>
+			AdapterFactory
+			</p>
+		<a name="Viewers" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Viewers</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="04-Customization.php#ViewerInitializer.php" >Viewer Initializer</a></li>
+			  </ul>
+			</div>
+			<a name="ViewerInitializer" ></a>
+			<h2>Viewer Initializer</h2>
+			<p>
+			<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.6.0/org/eclipse/emf/parsley/viewers/ViewerInitializer.html" title="org.eclipse.emf.parsley.viewers.ViewerInitializer">ViewerInitializer</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_8_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/ViewerInitializer.java" title="View Source Code" >(src)</a>
+			</p>
+			<p>
+			<ul>
+			  <li><em>AdapterFactoryEditingDomain</em></li>
+			  <li><a href="04-Customization.php#ViewerContextMenuFactory.php" title="Go to &quot;Viewer Context Menu Factory&quot;">AdapterFactory</a></li>
+			  <li><em>ILabelProvider</em></li>
+			  <li><em>IContentProvider</em></li>
+			</ul>
+			
+			</p>
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
+		
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'Customization';
+		    var disqus_url = documentationRoot+'04-Customization.php';
+		
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/04-Customization.php b/documentation/04-Customization.php
new file mode 100644
index 0000000..0d69723
--- /dev/null
+++ b/documentation/04-Customization.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "Customization";
+	
+	$html = file_get_contents('04-Customization.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "04-Customization.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/05-DSL.html b/documentation/05-DSL.html
index 17772fd..64ea0cd 100644
--- a/documentation/05-DSL.html
+++ b/documentation/05-DSL.html
@@ -1,16 +1,132 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>EMF Components DSL</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="DSL"></a>
-<h1>EMF Components DSL</h1>
-<a name="xbase"></a>
-<h2>Xbase features</h2>
-</body>
-</html>
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="DSL" ></a>
+		<h1>EMF Components DSL</h1>
+				<div class="toc">
+				  <ul>
+				    <li><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+				  </ul>
+				</div>
+				
+		<a name="xbase" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Xbase features</h1>
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
+		
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'DSL';
+		    var disqus_url = documentationRoot+'05-DSL.php';
+		
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/05-DSL.php b/documentation/05-DSL.php
new file mode 100644
index 0000000..3fb7ea3
--- /dev/null
+++ b/documentation/05-DSL.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "EMF Components DSL";
+	
+	$html = file_get_contents('05-DSL.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "05-DSL.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/06-AdvancedComponents.html b/documentation/06-AdvancedComponents.html
index d434efa..da7b9c5 100644
--- a/documentation/06-AdvancedComponents.html
+++ b/documentation/06-AdvancedComponents.html
@@ -1,14 +1,121 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Advanced Components</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="AdvancedComponents"></a>
-<h1>Advanced Components</h1>
-</body>
-</html>
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="AdvancedComponents" ></a>
+		<h1>Advanced Components</h1>
+				
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
+		
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'AdvancedComponents';
+		    var disqus_url = documentationRoot+'06-AdvancedComponents.php';
+		
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/06-AdvancedComponents.php b/documentation/06-AdvancedComponents.php
new file mode 100644
index 0000000..da06e97
--- /dev/null
+++ b/documentation/06-AdvancedComponents.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "Advanced Components";
+	
+	$html = file_get_contents('06-AdvancedComponents.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "06-AdvancedComponents.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/07-Eclipse4.html b/documentation/07-Eclipse4.html
index 91e61e5..9a0e3ed 100644
--- a/documentation/07-Eclipse4.html
+++ b/documentation/07-Eclipse4.html
@@ -1,378 +1,495 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Eclipse 4</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="Eclipse4"></a>
-<h1>Eclipse 4</h1>
-<p>
-Instead of using the Extension Point mechanism, EMF Components leverages from DSL and Google Guice Injection.
-</p>
-<p>
-Because of this, it is very easy to use it with Eclipse 4.
-</p>
-<a name="GetFirstExample"></a>
-<h2>First Example Setup</h2>
-<p>
-If you followed the steps described in section <a href="02-GettingStarted.html#GettingStarted" title="Go to &quot;Getting Started&quot;">Getting Started</a> you will have already
-what we need to begin. Otherwise the following wizard will bring you to that point.
-</p>
-<p>
-<ol>
-	<li>
-		File -&gt; New... -&gt; Example...
-	</li>
-	<li>
-		from Category "Emf Parsley Examples", select "Emf Parsley First Example"
-	</li>
-	<li>
-		press Next and Finish
-	</li>
-</ol>
-</p>
-<p>
-You will end up with three plug-ins:
-</p>
-<p>
-<ul>
-	<li>
-		org.eclipse.emf.parsley.examples.firstexample (the EMF Components example plug-in)
-	</li>
-	<li>
-		org.eclipse.emf.examples.library (the model plug-in)
-	</li>
-	<li>
-		org.eclipse.emf.examples.library.edit (the model.edit plug-in)
-	</li>
-</ul>
-</p>
-<p>
-As a reminder, in section <a href="02-GettingStarted.html#GettingStarted" title="Go to &quot;Getting Started&quot;">Getting Started</a> we reached the point where we launched a second Eclipse
-instance (but, of course, just defining a product you could have a standalone 3.x application) with a
-view (called "My Library Tree Form") that allowed to manage the model.
-</p>
-<a name="PrepareForEclipse4Application"></a>
-<h2>Preparing for a pure Eclipse 4 Application</h2>
-<p>
-What we will do now is starting from the previous step and create an Eclipse 4 Application (on top of
-the previous plug-ins) that gets to the same result, but now with a pure Eclipse 4 Part.
-</p>
-<p>
-In order to do this we need to export the <em>"org.eclipse.emf.parsley.examples.firstexample"</em> package from the first plug-in.
-</p>
-<a name="CreateEclipse4Application"></a>
-<h2>Create an Eclipse 4 Application</h2>
-<p>
-Now let&apos;s create a new, empty, Eclipse 4 application, e.g. <em>"org.eclipse.emf.parsley.examples.firstexample.application"</em>
-(you can find details on how to create Eclipse 4 applications in <a href="http://www.rcp-vision.com/?p=4694&lang=en">our
-tutorials</a>).
-</p>
-<p>
-Create a Part and ensure that the application starts.
-</p>
-<a name="Eclipse4ApplicationAndEMFComponents"></a>
-<h2>Using an EMF Parsley TreeComposite into an Eclipse 4 Part</h2>
-<p>
-In the just created plug-in we need dependencies from the previous plug-ins: so open the <em>org.eclipse.emf.parsley.examples.firstexample.application/MANIFEST.MF</em> file, go to <em>Dependencies</em>
-tab and add the three previous plug-ins. Add also <em>"org.eclipse.emf.parsley"</em> plug-in.
-Don&apos;t forget to add the previous, and the required plug-ins, also to the Product.
-</p>
-<p>
-Open the Part java class and make the following changes:
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="comment">//&nbsp;Use&nbsp;these&nbsp;imports&nbsp;during&nbsp;Organizing&nbsp;Imports&nbsp;operation
-<br/>
-</span><span class="keyword">import</span>&nbsp;org.eclipse.emf.common.util.URI;
-<br/>
-<span class="keyword">import</span>&nbsp;org.eclipse.emf.ecore.resource.Resource;
-<br/>
-<span class="keyword">import</span>&nbsp;org.eclipse.swt.widgets.Composite;
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="comment">//&nbsp;The&nbsp;part&nbsp;implements&nbsp;IMenuListener&nbsp;for&nbsp;context&nbsp;menu&nbsp;handling
-<br/>
-</span>public&nbsp;class&nbsp;MyEclipse4Part&nbsp;implements&nbsp;IMenuListener
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-<span class="comment">//the&nbsp;parent&nbsp;composite
-<br/>
-</span>private&nbsp;Composite&nbsp;parent;
-<br/>
-<span class="comment">//the&nbsp;EMF&nbsp;Parley&nbsp;composite&nbsp;for&nbsp;showing&nbsp;a&nbsp;tree&nbsp;and&nbsp;a&nbsp;detail&nbsp;form
-<br/>
-</span>private&nbsp;TreeFormComposite&nbsp;treeFormComposite;
-<br/>
-<span class="comment">//the&nbsp;EMF&nbsp;Resource
-<br/>
-</span>private&nbsp;Resource&nbsp;resource;
-<br/>
-<span class="comment">//Guice&nbsp;injected&nbsp;EMF&nbsp;Parsley&nbsp;component&nbsp;for&nbsp;contributing&nbsp;to&nbsp;the&nbsp;tree&nbsp;context&nbsp;menu
-<br/>
-</span>private&nbsp;TreeActionBarContributor&nbsp;treeActionBarContributor&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(TreeActionBarContributor.class);
-<br/>
-
-<br/>
-<span class="comment">//Guice&nbsp;injected&nbsp;EMF&nbsp;Parsley&nbsp;factory&nbsp;for&nbsp;the&nbsp;tree&nbsp;detail&nbsp;form
-<br/>
-</span>private&nbsp;TreeFormFactory&nbsp;treeFormFactory&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(TreeFormFactory.class);
-<br/>
-<span class="comment">//Guice&nbsp;injected&nbsp;EMF&nbsp;Parsley&nbsp;Resource&nbsp;loader
-<br/>
-</span>private&nbsp;ResourceLoader&nbsp;resourceLoader&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(ResourceLoader.class);
-<br/>
-<span class="comment">//Guice&nbsp;injected&nbsp;EMF&nbsp;Parsley&nbsp;editing&nbsp;domain
-<br/>
-</span>private&nbsp;AdapterFactoryEditingDomain&nbsp;editingDomain&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(AdapterFactoryEditingDomain.class);
-<br/>
-<span class="comment">//Guice&nbsp;injected&nbsp;viewer&nbsp;initializer
-<br/>
-</span>private&nbsp;ViewerInitializer&nbsp;viewerInitializer&nbsp;=&nbsp;(ViewerInitializer)&nbsp;FirstexampleActivator.getDefault().getInjector()
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(ViewerInitializer.class);
-<br/>
-<span class="comment">//Guice&nbsp;injected&nbsp;save&nbsp;manager
-<br/>
-</span>private&nbsp;ResourceSaveManager&nbsp;resourceSaveManager&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(ResourceSaveManager.class);
-<br/>
-<span class="comment">//URI&nbsp;for&nbsp;EMF&nbsp;Resource
-<br/>
-</span>private&nbsp;URI&nbsp;uri&nbsp;=&nbsp;URI.createFileURI(System.getProperty(<span class="string">"user.home"</span>)
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;<span class="string">"/MyLibrary.library"</span>);
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-Modify the <em>@PostConstruct</em> method with this code:
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-@PostConstruct
-<br/>
-public&nbsp;void&nbsp;postConstruct(Composite&nbsp;parent)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;this.parent&nbsp;=&nbsp;parent;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;Initialize&nbsp;TreeFormFactory&nbsp;&amp;&nbsp;ResourceLoader
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;init(treeFormFactory,&nbsp;resourceLoader);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;Prepare&nbsp;the&nbsp;menu&nbsp;action&nbsp;bar&nbsp;contributor&nbsp;upon&nbsp;the&nbsp;selection
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;treeFormComposite.getViewer().addSelectionChangedListener(treeActionBarContributor);
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-and add the following methods:
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-public&nbsp;void&nbsp;init(TreeFormFactory&nbsp;treeFormFactory,&nbsp;ResourceLoader&nbsp;resourceLoader)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//create&nbsp;the&nbsp;tree-form&nbsp;composite
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;treeFormComposite&nbsp;=&nbsp;treeFormFactory.createTreeFormMasterDetailComposite(parent,&nbsp;SWT.BORDER);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//load&nbsp;the&nbsp;resource
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;resource&nbsp;=&nbsp;resourceLoader.getResource(editingDomain,&nbsp;uri).getResource();
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//update&nbsp;the&nbsp;composite
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;treeFormComposite.update(resource);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//initialize&nbsp;and&nbsp;bind&nbsp;the&nbsp;context&nbsp;menu&nbsp;to&nbsp;the&nbsp;tree-form&nbsp;composite
-<br/>
-</span>&nbsp;&nbsp;&nbsp;&nbsp;treeActionBarContributor.initialize(editingDomain);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;viewerInitializer.addContextMenu(
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;treeFormComposite.getViewer(),&nbsp;treeActionBarContributor,&nbsp;editingDomain,&nbsp;this);
-<br/>
-}
-<br/>
-@Override
-<br/>
-public&nbsp;void&nbsp;menuAboutToShow(IMenuManager&nbsp;manager)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;treeActionBarContributor.menuAboutToShow(manager);
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-If you now run the application you will be able to manage the model:
-</p>
-<p>
-<div class="image" >
-<img src="images/07-eclipse4-part.png" class=" " 
-/>
-<div class="caption">
-</div>
-</div>
-</p>
-<p>
-but you will notice that it is not possible to persist the changes to the model.
-</p>
-<a name="Eclipse4Save"></a>
-<h2>Adding the dirty state and Save command</h2>
-<p>
-In order to allow persisting the model changes we have to add the dirty state handling to the part and
-the Save command to the application.
-Let&apos;s start with adding the following attribute to the part
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-@Inject
-<br/>
-MDirtyable&nbsp;dirtyable;
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-initialize it in the <em>@PostConstruct</em> method
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-@PostConstruct
-<br/>
-public&nbsp;void&nbsp;postConstruct(Composite&nbsp;parent,&nbsp;MDirtyable&nbsp;dirtyable)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.dirtyable&nbsp;=&nbsp;dirtyable;
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.dirtyable.setDirty(false);
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-add to <em>init</em> method the following code in order to update the dirty state
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;editingDomain.getCommandStack().addCommandStackListener(
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;CommandStackListener()&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;commandStackChanged(EventObject&nbsp;event)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(dirtyable&nbsp;!=&nbsp;null)
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirtyable.setDirty(true);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;});
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-and add the <em>@Persist</em> method, which will be called when the part is saved
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-@Persist
-<br/>
-public&nbsp;void&nbsp;save(MDirtyable&nbsp;dirty)&nbsp;throws&nbsp;IOException&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(resourceSaveManager.save(resource))&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(dirty&nbsp;!=&nbsp;null)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirty.setDirty(false);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-and, in the end, add the <em>Save</em> handler along with the correspondent <em>Command</em> and <em>Menu</em>
-(you can find how to create handlers, commands and menus in an Eclipse 4 applications in <a href="http://www.rcp-vision.com/?p=4972&lang=en">our
-tutorials</a>)
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-public&nbsp;class&nbsp;SaveHandler&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;@Execute
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;execute(EPartService&nbsp;partService,&nbsp;@Named(IServiceConstants.ACTIVE_PART)&nbsp;MPart&nbsp;part)&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;partService.savePart(part,&nbsp;false);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-}
-<br/>
-</p>
-</div>
-</div>
-</p>
-</body>
-</html>
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="Eclipse4" ></a>
+		<h1>Eclipse 4</h1>
+				<div class="toc">
+				  <ul>
+				    <li><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+				    <li><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+				    <li><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+				    <li><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+				    <li><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+				  </ul>
+				</div>
+				
+		<p>
+		Instead of using the Extension Point mechanism, EMF Components leverages from DSL and Google Guice Injection.
+		</p>
+		<p>
+		Because of this, it is very easy to use it with Eclipse 4.
+		</p>
+		<a name="GetFirstExample" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>First Example Setup</h1>
+			<p>
+			If you followed the steps described in section <a href="02-GettingStarted.php" title="Go to &quot;Getting Started&quot;">Getting Started</a> you will have already
+			what we need to begin. Otherwise the following wizard will bring you to that point.
+			</p>
+			<p>
+			<ol>
+			  <li>File -&gt; New... -&gt; Example...</li>
+			  <li>from Category &quot;Emf Parsley Examples&quot;, select &quot;Emf Parsley First Example&quot;</li>
+			  <li>press Next and Finish</li>
+			</ol>
+			</p>
+			<p>
+			You will end up with three plug-ins:
+			</p>
+			<p>
+			<ul>
+			  <li>org.eclipse.emf.parsley.examples.firstexample (the EMF Components example plug-in)</li>
+			  <li>org.eclipse.emf.examples.library (the model plug-in)</li>
+			  <li>org.eclipse.emf.examples.library.edit (the model.edit plug-in)</li>
+			</ul>
+			</p>
+			<p>
+			As a reminder, in section <a href="02-GettingStarted.php" title="Go to &quot;Getting Started&quot;">Getting Started</a> we reached the point where we launched a second Eclipse
+			instance (but, of course, just defining a product you could have a standalone 3.x application) with a
+			view (called &quot;My Library Tree Form&quot;) that allowed to manage the model.
+			</p>
+		<a name="PrepareForEclipse4Application" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Preparing for a pure Eclipse 4 Application</h1>
+			<p>
+			What we will do now is starting from the previous step and create an Eclipse 4 Application (on top of
+			the previous plug-ins) that gets to the same result, but now with a pure Eclipse 4 Part.
+			</p>
+			<p>
+			In order to do this we need to export the <em>&quot;org.eclipse.emf.parsley.examples.firstexample&quot;</em> package from the first plug-in.
+			</p>
+		<a name="CreateEclipse4Application" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Create an Eclipse 4 Application</h1>
+			<p>
+			Now let's create a new, empty, Eclipse 4 application, e.g. <em>&quot;org.eclipse.emf.parsley.examples.firstexample.application&quot;</em>
+			(you can find details on how to create Eclipse 4 applications in <a href="http://www.rcp-vision.com/?p=4694&lang=en" >our
+			tutorials</a>).
+			</p>
+			<p>
+			Create a Part and ensure that the application starts.
+			</p>
+		<a name="Eclipse4ApplicationAndEMFComponents" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Using an EMF Parsley TreeComposite into an Eclipse 4 Part</h1>
+			<p>
+			In the just created plug-in we need dependencies from the previous plug-ins: so open the <em>org.eclipse.emf.parsley.examples.firstexample.application/MANIFEST.MF</em> file, go to <em>Dependencies</em>
+			tab and add the three previous plug-ins. Add also <em>&quot;org.eclipse.emf.parsley&quot;</em> plug-in.
+			Don't forget to add the previous, and the required plug-ins, also to the Product.
+			</p>
+			<p>
+			Open the Part java class and make the following changes:
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="comment">//&nbsp;Use&nbsp;these&nbsp;imports&nbsp;during&nbsp;Organizing&nbsp;Imports&nbsp;operation
+						<br/>
+						</span><span class="keyword">import</span>&nbsp;org.eclipse.emf.common.util.URI;
+						<br/>
+						<span class="keyword">import</span>&nbsp;org.eclipse.emf.ecore.resource.Resource;
+						<br/>
+						<span class="keyword">import</span>&nbsp;org.eclipse.swt.widgets.Composite;
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="comment">//&nbsp;The&nbsp;part&nbsp;implements&nbsp;IMenuListener&nbsp;for&nbsp;context&nbsp;menu&nbsp;handling
+						<br/>
+						</span>public&nbsp;class&nbsp;MyEclipse4Part&nbsp;implements&nbsp;IMenuListener
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="comment">//the&nbsp;parent&nbsp;composite
+						<br/>
+						</span>private&nbsp;Composite&nbsp;parent;
+						<br/>
+						<span class="comment">//the&nbsp;EMF&nbsp;Parley&nbsp;composite&nbsp;for&nbsp;showing&nbsp;a&nbsp;tree&nbsp;and&nbsp;a&nbsp;detail&nbsp;form
+						<br/>
+						</span>private&nbsp;TreeFormComposite&nbsp;treeFormComposite;
+						<br/>
+						<span class="comment">//the&nbsp;EMF&nbsp;Resource
+						<br/>
+						</span>private&nbsp;Resource&nbsp;resource;
+						<br/>
+						<span class="comment">//Guice&nbsp;injected&nbsp;EMF&nbsp;Parsley&nbsp;component&nbsp;for&nbsp;contributing&nbsp;to&nbsp;the&nbsp;tree&nbsp;context&nbsp;menu
+						<br/>
+						</span>private&nbsp;TreeActionBarContributor&nbsp;treeActionBarContributor&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(TreeActionBarContributor.class);
+						<br/>
+						
+						<br/>
+						<span class="comment">//Guice&nbsp;injected&nbsp;EMF&nbsp;Parsley&nbsp;factory&nbsp;for&nbsp;the&nbsp;tree&nbsp;detail&nbsp;form
+						<br/>
+						</span>private&nbsp;TreeFormFactory&nbsp;treeFormFactory&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(TreeFormFactory.class);
+						<br/>
+						<span class="comment">//Guice&nbsp;injected&nbsp;EMF&nbsp;Parsley&nbsp;Resource&nbsp;loader
+						<br/>
+						</span>private&nbsp;ResourceLoader&nbsp;resourceLoader&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(ResourceLoader.class);
+						<br/>
+						<span class="comment">//Guice&nbsp;injected&nbsp;EMF&nbsp;Parsley&nbsp;editing&nbsp;domain
+						<br/>
+						</span>private&nbsp;AdapterFactoryEditingDomain&nbsp;editingDomain&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(AdapterFactoryEditingDomain.class);
+						<br/>
+						<span class="comment">//Guice&nbsp;injected&nbsp;viewer&nbsp;initializer
+						<br/>
+						</span>private&nbsp;ViewerInitializer&nbsp;viewerInitializer&nbsp;=&nbsp;(ViewerInitializer)&nbsp;FirstexampleActivator.getDefault().getInjector()
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(ViewerInitializer.class);
+						<br/>
+						<span class="comment">//Guice&nbsp;injected&nbsp;save&nbsp;manager
+						<br/>
+						</span>private&nbsp;ResourceSaveManager&nbsp;resourceSaveManager&nbsp;=&nbsp;FirstexampleActivator.getDefault().getInjector()
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(ResourceSaveManager.class);
+						<br/>
+						<span class="comment">//URI&nbsp;for&nbsp;EMF&nbsp;Resource
+						<br/>
+						</span>private&nbsp;URI&nbsp;uri&nbsp;=&nbsp;URI.createFileURI(System.getProperty(<span class="string">"user.home"</span>)
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;<span class="string">"/MyLibrary.library"</span>);
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			Modify the <em>@PostConstruct</em> method with this code:
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						@PostConstruct
+						<br/>
+						public&nbsp;void&nbsp;postConstruct(Composite&nbsp;parent)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;this.parent&nbsp;=&nbsp;parent;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;Initialize&nbsp;TreeFormFactory&nbsp;&amp;&nbsp;ResourceLoader
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;init(treeFormFactory,&nbsp;resourceLoader);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//&nbsp;Prepare&nbsp;the&nbsp;menu&nbsp;action&nbsp;bar&nbsp;contributor&nbsp;upon&nbsp;the&nbsp;selection
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;treeFormComposite.getViewer().addSelectionChangedListener(treeActionBarContributor);
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			and add the following methods:
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						public&nbsp;void&nbsp;init(TreeFormFactory&nbsp;treeFormFactory,&nbsp;ResourceLoader&nbsp;resourceLoader)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//create&nbsp;the&nbsp;tree-form&nbsp;composite
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;treeFormComposite&nbsp;=&nbsp;treeFormFactory.createTreeFormMasterDetailComposite(parent,&nbsp;SWT.BORDER);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//load&nbsp;the&nbsp;resource
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;resource&nbsp;=&nbsp;resourceLoader.getResource(editingDomain,&nbsp;uri).getResource();
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//update&nbsp;the&nbsp;composite
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;treeFormComposite.update(resource);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//initialize&nbsp;and&nbsp;bind&nbsp;the&nbsp;context&nbsp;menu&nbsp;to&nbsp;the&nbsp;tree-form&nbsp;composite
+						<br/>
+						</span>&nbsp;&nbsp;&nbsp;&nbsp;treeActionBarContributor.initialize(editingDomain);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;viewerInitializer.addContextMenu(
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;treeFormComposite.getViewer(),&nbsp;treeActionBarContributor,&nbsp;editingDomain,&nbsp;this);
+						<br/>
+						}
+						<br/>
+						@Override
+						<br/>
+						public&nbsp;void&nbsp;menuAboutToShow(IMenuManager&nbsp;manager)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;treeActionBarContributor.menuAboutToShow(manager);
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			If you now run the application you will be able to manage the model:
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="" href="images/07-eclipse4-part.png">
+				<img src="images/07-eclipse4-part.png" 
+					width="600px"
+				/>
+			</a>
+			<div class="caption">
+			</div>
+			</div>
+			</p>
+			<p>
+			but you will notice that it is not possible to persist the changes to the model.
+			</p>
+		<a name="Eclipse4Save" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Adding the dirty state and Save command</h1>
+			<p>
+			In order to allow persisting the model changes we have to add the dirty state handling to the part and
+			the Save command to the application.
+			Let's start with adding the following attribute to the part
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						@Inject
+						<br/>
+						MDirtyable&nbsp;dirtyable;
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			initialize it in the <em>@PostConstruct</em> method
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						@PostConstruct
+						<br/>
+						public&nbsp;void&nbsp;postConstruct(Composite&nbsp;parent,&nbsp;MDirtyable&nbsp;dirtyable)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.dirtyable&nbsp;=&nbsp;dirtyable;
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.dirtyable.setDirty(false);
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			add to <em>init</em> method the following code in order to update the dirty state
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						editingDomain.getCommandStack().addCommandStackListener(
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;CommandStackListener()&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;commandStackChanged(EventObject&nbsp;event)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(dirtyable&nbsp;!=&nbsp;null)
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirtyable.setDirty(true);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;});
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			and add the <em>@Persist</em> method, which will be called when the part is saved
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						@Persist
+						<br/>
+						public&nbsp;void&nbsp;save(MDirtyable&nbsp;dirty)&nbsp;throws&nbsp;IOException&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(resourceSaveManager.save(resource))&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(dirty&nbsp;!=&nbsp;null)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dirty.setDirty(false);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			and, in the end, add the <em>Save</em> handler along with the correspondent <em>Command</em> and <em>Menu</em>
+			(you can find how to create handlers, commands and menus in an Eclipse 4 applications in <a href="http://www.rcp-vision.com/?p=4972&lang=en" >our
+			tutorials</a>)
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						public&nbsp;class&nbsp;SaveHandler&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;@Execute
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;execute(EPartService&nbsp;partService,&nbsp;@Named(IServiceConstants.ACTIVE_PART)&nbsp;MPart&nbsp;part)&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;partService.savePart(part,&nbsp;false);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						}
+					</p>
+				</div>
+			</div>
+			</p>
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
+		
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'Eclipse4';
+		    var disqus_url = documentationRoot+'07-Eclipse4.php';
+		
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/07-Eclipse4.php b/documentation/07-Eclipse4.php
new file mode 100644
index 0000000..cdd43c0
--- /dev/null
+++ b/documentation/07-Eclipse4.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "Eclipse 4";
+	
+	$html = file_get_contents('07-Eclipse4.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "07-Eclipse4.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/GettingSources.html b/documentation/GettingSources.html
index c02f563..41c9c6d 100644
--- a/documentation/GettingSources.html
+++ b/documentation/GettingSources.html
@@ -1,207 +1,339 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Getting Sources</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="GettingSources"></a>
-<h1>Getting Sources</h1>
-<p>
-If you want to get the sources of EMF Components,
-for instance, to contribute new features and patches, you can get them
-via Git.
-</p>
-<p>
-We use <a href="http://www.eclipse.org/buckminster/">Buckminster</a> as the
-building and materialization infrastructure; this will let you
-automatically materialize the sources in the workspace and setup
-the target platform, so that you will have everything that is necessary
-to have a working workspace with EMF Components sources.
-</p>
-<p>
-For <a href="http://eclipse.org/rap/">RAP</a> related project sources
-you will have to use a different workspace (and the materialized target
-platform will be different).  The procedure is the same, you will just
-need to use a different URL for the materialization (as explained in the
-following).
-</p>
-<p>
-Some projects will be common to both RCP environment
-and RAP environment.
-</p>
-<a name="InstallBuckminster"></a>
-<h2>Install Buckminster in the IDE</h2>
-<p>
-First of all, you need to install Buckminster in your Eclipse;
-you can do that using the update site
-</p>
-<p>
-<em>http://download.eclipse.org/tools/buckminster/updates-4.2</em>
-</p>
-<p>
-You need to install the core, git and pde features.
-</p>
-<p>
-<div class="image" >
-<img src="images/install-buckminster.png" class=" " 
- style="width:90%" />
-<div class="caption">
-Install Buckminster features
-</div>
-</div>
-</p>
-<a name="PrepareTP"></a>
-<h2>Prepare an empty target platform</h2>
-<p>
-It is better to start with an empty target platform in your IDE
-(then Buckminster will materialize the required features and
-bundles starting from that empty target);
-you then need to create an empty target platform manually that contains 
-one single and empty directory and set this target platform active.
-A subsequent resolution/materialization will use that platform.
-Here are the detailed steps:
-</p>
-<p>
-<ol>
-	<li>
-		Create a new general project named TP 
-			(or some name of your preference)
-	</li>
-	<li>
-		Open "Window" =&gt; "Preferences" and expand "Plug-in Development"
-	</li>
-	<li>
-		Select "Target Platform"
-	</li>
-	<li>
-		Click "Add..."
-	</li>
-	<li>
-		Click "Next&gt;" (i.e. start with nothing)
-	</li>
-	<li>
-		Enter TP in the Name: field
-	</li>
-	<li>
-		Click "Add..."
-	</li>
-	<li>
-		Select "Directory" and click "Next"
-	</li>
-	<li>
-		Click on "Variables..."
-	</li>
-	<li>
-		Scroll down and select "workspace_loc" and then type TP in the Argument: field.
-	</li>
-	<li>
-		Click "OK" and then "Finish" and then "Finish" again.
-	</li>
-	<li>
-		Set your new target definition active by checking it in the list of Target definitions: and click "OK"
-	</li>
-</ol>
-</p>
-<a name="MaterializeWP"></a>
-<h2>Materialize the Workspace</h2>
-<p>
-From the File menu choose <em>Open a Component Query...</em> and
-use this URL
-</p>
-<p>
-<a href="http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.buckminster/build.cquery">http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.buckminster/build.cquery</a>
-</p>
-<p>
-If you want to materialize a workspace with EMF Components RAP
-related projects use this URL instead
-</p>
-<p>
-<a href="http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.rap.buckminster/build.cquery">http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.rap.buckminster/build.cquery</a>
-</p>
-<p>
-<div class="image" >
-<img src="images/open-cquery.png" class=" " 
- style="width:90%" />
-<div class="caption">
-The component query opened
-</div>
-</div>
-</p>
-<a name="CustomizeProperties"></a>
-<h3>(Optional) Customize some Properties</h3>
-<p>
-Before starting the materialization, you might want to customize
-some properties; you can do that in the <em>Properties</em> tab of
-the opened component query:
-</p>
-<p>
-<div class="image" >
-<img src="images/open-cquery1.png" class=" " 
- style="width:90%" />
-<div class="caption">
-The properties tab
-</div>
-</div>
-</p>
-<p>
-You can add a property by pressing
-the <em>New</em> button.
-</p>
-<p>
-For instance, you can customize the path in your system where
-the git repository will be cloned, which defaults to
-<em>${user.home}/git/emf-components</em>); for instance, you can change it
-to something else
-</p>
-<p>
-<div class="image" >
-<img src="images/open-cquery-new-property1.png" class=" " 
- style="width:50%" />
-<div class="caption">
-Property customization
-</div>
-</div>
-</p>
-<a name="StartMaterialization"></a>
-<h3>Start Materialization</h3>
-<p>
-You can now press the button in the opened query <em>Resolve and Materialize</em>.
-This will start the materialization process which will consist of
-cloning the git repository, materialize the target platform and importing
-all the projects into the workspace.
-</p>
-<p>
-<div class="image" >
-<img src="images/resolving-cquery.png" class=" " 
- style="width:70%" />
-<div class="caption">
-Materialization...
-</div>
-</div>
-</p>
-<p>
-Materializing the target platform may take sometime (depending on your
-network connection), so you might want to go and get a coffee 
-in the meantime ;)
-</p>
-<p>
-When the whole process terminates, you will have a working
-workspace with EMF Components projects and the needed target platform
-(thus, you should have no error!).
-</p>
-<p>
-<div class="image" >
-<img src="images/materialized.png" class=" " 
- style="width:90%" />
-<div class="caption">
-The final materialized workspace
-</div>
-</div>
-
-</p>
-</body>
-</html>
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="GettingSources" ></a>
+		<h1>Getting Sources</h1>
+				<div class="toc">
+				  <ul>
+				    <li><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+				    <li><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+				    <li><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+				  </ul>
+				</div>
+				
+		<p>
+		If you want to get the sources of EMF Components,
+		for instance, to contribute new features and patches, you can get them
+		via Git.
+		</p>
+		<p>
+		We use <a href="http://www.eclipse.org/buckminster/" >Buckminster</a> as the
+		building and materialization infrastructure; this will let you
+		automatically materialize the sources in the workspace and setup
+		the target platform, so that you will have everything that is necessary
+		to have a working workspace with EMF Components sources.
+		</p>
+		<p>
+		For <a href="http://eclipse.org/rap/" >RAP</a> related project sources
+		you will have to use a different workspace (and the materialized target
+		platform will be different).  The procedure is the same, you will just
+		need to use a different URL for the materialization (as explained in the
+		following).
+		</p>
+		<p>
+		Some projects will be common to both RCP environment
+		and RAP environment.
+		</p>
+		<a name="InstallBuckminster" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Install Buckminster in the IDE</h1>
+			<p>
+			First of all, you need to install Buckminster in your Eclipse;
+			you can do that using the update site
+			</p>
+			<p>
+			<em>http://download.eclipse.org/tools/buckminster/updates-4.2</em>
+			</p>
+			<p>
+			You need to install the core, git and pde features.
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="Install Buckminster features" href="images/install-buckminster.png">
+				<img src="images/install-buckminster.png" 
+					width="600px"
+					style="width:90%" 
+				/>
+			</a>
+			<div class="caption">
+				Install Buckminster features
+			</div>
+			</div>
+			</p>
+		<a name="PrepareTP" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Prepare an empty target platform</h1>
+			<p>
+			It is better to start with an empty target platform in your IDE
+			(then Buckminster will materialize the required features and
+			bundles starting from that empty target);
+			you then need to create an empty target platform manually that contains 
+			one single and empty directory and set this target platform active.
+			A subsequent resolution/materialization will use that platform.
+			Here are the detailed steps:
+			</p>
+			<p>
+			<ol>
+			  <li>Create a new general project named TP 
+			  	(or some name of your preference)</li>
+			  <li>Open &quot;Window&quot; =&gt; &quot;Preferences&quot; and expand &quot;Plug-in Development&quot;</li>
+			  <li>Select &quot;Target Platform&quot;</li>
+			  <li>Click &quot;Add...&quot;</li>
+			  <li>Click &quot;Next&gt;&quot; (i.e. start with nothing)</li>
+			  <li>Enter TP in the Name: field</li>
+			  <li>Click &quot;Add...&quot;</li>
+			  <li>Select &quot;Directory&quot; and click &quot;Next&quot;</li>
+			  <li>Click on &quot;Variables...&quot;</li>
+			  <li>Scroll down and select &quot;workspace_loc&quot; and then type TP in the Argument: field.</li>
+			  <li>Click &quot;OK&quot; and then &quot;Finish&quot; and then &quot;Finish&quot; again.</li>
+			  <li>Set your new target definition active by checking it in the list of Target definitions: and click &quot;OK&quot;</li>
+			</ol>
+			</p>
+		<a name="MaterializeWP" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Materialize the Workspace</h1>
+			<div class="toc">
+			  <ul>
+			    <li><a href="GettingSources.php#CustomizeProperties.php" >(Optional) Customize some Properties</a></li>
+			    <li><a href="GettingSources.php#StartMaterialization.php" >Start Materialization</a></li>
+			  </ul>
+			</div>
+			<p>
+			From the File menu choose <em>Open a Component Query...</em> and
+			use this URL
+			</p>
+			<p>
+			<a href="http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.buckminster/build.cquery" >http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.buckminster/build.cquery</a>
+			</p>
+			<p>
+			If you want to materialize a workspace with EMF Components RAP
+			related projects use this URL instead
+			</p>
+			<p>
+			<a href="http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.rap.buckminster/build.cquery" >http://emf-components.eclipselabs.org.codespot.com/git/releng/org.eclipse.emf.parsley.rap.buckminster/build.cquery</a>
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="The component query opened" href="images/open-cquery.png">
+				<img src="images/open-cquery.png" 
+					width="600px"
+					style="width:90%" 
+				/>
+			</a>
+			<div class="caption">
+				The component query opened
+			</div>
+			</div>
+			</p>
+			<a name="CustomizeProperties" ></a>
+			<h2>(Optional) Customize some Properties</h2>
+			<p>
+			Before starting the materialization, you might want to customize
+			some properties; you can do that in the <em>Properties</em> tab of
+			the opened component query:
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="The properties tab" href="images/open-cquery1.png">
+				<img src="images/open-cquery1.png" 
+					width="600px"
+					style="width:90%" 
+				/>
+			</a>
+			<div class="caption">
+				The properties tab
+			</div>
+			</div>
+			</p>
+			<p>
+			You can add a property by pressing
+			the <em>New</em> button.
+			</p>
+			<p>
+			For instance, you can customize the path in your system where
+			the git repository will be cloned, which defaults to
+			<em>${user.home}/git/emf-components</em>); for instance, you can change it
+			to something else
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="Property customization" href="images/open-cquery-new-property1.png">
+				<img src="images/open-cquery-new-property1.png" 
+					width="600px"
+					style="width:50%" 
+				/>
+			</a>
+			<div class="caption">
+				Property customization
+			</div>
+			</div>
+			</p>
+			<a name="StartMaterialization" ></a>
+			<h2>Start Materialization</h2>
+			<p>
+			You can now press the button in the opened query <em>Resolve and Materialize</em>.
+			This will start the materialization process which will consist of
+			cloning the git repository, materialize the target platform and importing
+			all the projects into the workspace.
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="Materialization..." href="images/resolving-cquery.png">
+				<img src="images/resolving-cquery.png" 
+					width="600px"
+					style="width:70%" 
+				/>
+			</a>
+			<div class="caption">
+				Materialization...
+			</div>
+			</div>
+			</p>
+			<p>
+			Materializing the target platform may take sometime (depending on your
+			network connection), so you might want to go and get a coffee 
+			in the meantime ;)
+			</p>
+			<p>
+			When the whole process terminates, you will have a working
+			workspace with EMF Components projects and the needed target platform
+			(thus, you should have no error!).
+			</p>
+			<p>
+			<div class="image" >
+			<a class="gallery" rel="prettyPhoto[all]" title="The final materialized workspace" href="images/materialized.png">
+				<img src="images/materialized.png" 
+					width="600px"
+					style="width:90%" 
+				/>
+			</a>
+			<div class="caption">
+				The final materialized workspace
+			</div>
+			</div>
+			
+			</p>
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
+		
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'GettingSources';
+		    var disqus_url = documentationRoot+'GettingSources.php';
+		
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/GettingSources.php b/documentation/GettingSources.php
new file mode 100644
index 0000000..95ce04e
--- /dev/null
+++ b/documentation/GettingSources.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "Getting Sources";
+	
+	$html = file_get_contents('GettingSources.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "GettingSources.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/book.css b/documentation/book.css
deleted file mode 100644
index 380c47f..0000000
--- a/documentation/book.css
+++ /dev/null
@@ -1,215 +0,0 @@
-H6.CaptionFigColumn {
-	display: block;
-	text-align: left;
-	text-indent: 0.000000pt;
-	margin-top: 3.000000pt;
-	margin-bottom: 11.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 0.000000pt;
-	font-size: 9.000000pt;
-	font-weight: medium;
-	font-style: Italic;
-	color: #000000;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Arial";
-}
-
-P.Note {
-	display: block;
-	text-align: left;
-	text-indent: 0pt;
-	margin-top: 19.500000pt;
-	margin-bottom: 19.500000pt;
-	margin-right: 0.000000pt;
-	margin-left: 30pt;
-	font-size: 11.000000pt;
-	font-weight: medium;
-	font-style: Italic;
-	color: #000000;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Arial";
-}
-
-EM.UILabel {
-	font-weight: Bold;
-	font-style: Regular;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-}
-
-.image {
-	text-align:center;
-}
-
-a.srcLink {
-	text-decoration: none;
-	color: #7f7f7f !important;
-}
-
-abbr {
-	border-bottom: 1px dotted;
-}
-
-EM.CodeName {
-	font-weight: Bold;
-	font-style: Regular;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Courier New";
-}
-
-SPAN.NoWrap {
-	white-space: nowrap;
-}
-
-/* following font face declarations need to be removed for DBCS */
-body,h1,h2,h3,h4,h5,h6,p,table,td,caption,th,ul,ol,dl,li,dd,dt {
-	font-family: Arial, Helvetica, sans-serif;
-	color: #000000
-}
-
-pre {
-	font-family: Courier, monospace
-}
-
-/* end font face declarations */
-	/* following font size declarations should be OK for DBCS */
-body,h1,h2,h3,h4,h5,h6,p,table,td,caption,th,ul,ol,dl,li,dd,dt {
-	font-size: 10pt;
-}
-
-pre {
-	font-size: 10pt
-}
-
-h1 {
-	font-size: 18pt;
-	margin-top: 5;
-	margin-bottom: 1
-}
-
-h2 {
-	font-size: 14pt;
-	margin-top: 25;
-	margin-bottom: 3
-}
-
-h3 {
-	font-size: 11pt;
-	margin-top: 20;
-	margin-bottom: 3
-}
-
-h4 {
-	font-size: 10pt;
-	margin-top: 20;
-	margin-bottom: 3;
-	font-style: italic
-}
-
-p {
-	margin-top: 10px;
-	margin-bottom: 10px
-}
-
-pre {
-	margin-left: 6;
-	font-size: 9pt
-}
-
-a:hover {
-	color: #000080
-}
-
-a:visited {
-	text-decoration: underline
-}
-
-.image {
-	text-align:center;
-}
-
-a.jdoc {
-	border-bottom: .1em dotted;
-	text-decoration: none;
-	font-weight: normal;
-	color: #000000 !important;
-}
-
-a.srcLink {
-	text-decoration: none;
-	color: #7f7f7f !important;
-}
-
-abbr {
-	border-bottom: 1px dotted;
-}
-
-ul {
-	margin-top: 0;
-	margin-bottom: 10
-}
-
-li {
-	margin-top: 0;
-	margin-bottom: 0
-}
-
-li p {
-	margin-top: 0;
-	margin-bottom: 0
-}
-
-ol {
-	margin-top: 0;
-	margin-bottom: 10
-}
-
-dl {
-	margin-top: 0;
-	margin-bottom: 10
-}
-
-dt {
-	margin-top: 0;
-	margin-bottom: 0;
-	font-weight: bold
-}
-
-dd {
-	margin-top: 0;
-	margin-bottom: 0
-}
-
-strong {
-	font-weight: bold
-}
-
-em {
-	font-style: italic
-}
-
-var {
-	font-style: italic
-}
-
-div.revision {
-	border-left-style: solid;
-	border-left-width: thin;
-	border-left-color: #7B68EE;
-	padding-left: 5
-}
-
-th {
-	font-weight: bold
-}
-
-xxtd{
-	border-top:2px solid black;
-}
diff --git a/documentation/code.css b/documentation/code.css
deleted file mode 100644
index 3792ec3..0000000
--- a/documentation/code.css
+++ /dev/null
@@ -1,55 +0,0 @@
-.literallayout .code {
-	display: block;
-	border: 1px solid gray;
-	margin: 1em;
-	padding: 1em;
-	background-color: #F0F0F0;
-	color: #000000 !important;
-	font-family: "Lucida Console", Monaco, monospace;
-	font-size: 12px;
-}
-
-.inlinecode{
-	padding-left: 3pt;
-	padding-right: 3pt;
-	font-size: 9.000000pt;
-	font-family: "Lucida Console", Monaco, monospace;
-	color: #000000 !important;
-}
-
-.keyword {
-	font-weight: bold;
-	color: #7F0055;
-}
-
-.string {
-	font-weight: normal !important;
-	color: #2A00FF;
-}
-
-.comment {
-	font-style: italic;
-	color: #3F7F5F;
-}
-
-.incode {
-	display: inline;
-}
-
-P.Code {
-	display: block;
-	text-align: left;
-	text-indent: 0.00pt;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 15pt;
-	font-size: 9.000000pt;
-	font-weight: normal; 
-	font-style: Regular;
-	color: #000000 !important;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Lucida Console", Monaco, monospace;
-}
diff --git a/documentation/images/open-cquery-edit-property.png b/documentation/images/open-cquery-edit-property.png
deleted file mode 100644
index a9abe95..0000000
--- a/documentation/images/open-cquery-edit-property.png
+++ /dev/null
Binary files differ
diff --git a/documentation/images/open-cquery-edit-property1.png b/documentation/images/open-cquery-edit-property1.png
deleted file mode 100644
index 4aa18e5..0000000
--- a/documentation/images/open-cquery-edit-property1.png
+++ /dev/null
Binary files differ
diff --git a/documentation/images/open-cquery-new-property.png b/documentation/images/open-cquery-new-property.png
deleted file mode 100644
index f542f9f..0000000
--- a/documentation/images/open-cquery-new-property.png
+++ /dev/null
Binary files differ
diff --git a/documentation/include.php b/documentation/include.php
new file mode 100644
index 0000000..be8283f
--- /dev/null
+++ b/documentation/include.php
@@ -0,0 +1,23 @@
+<?php
+
+
+	# Set the theme for your project's web pages.
+	# See the Committer Tools "How Do I" for list of themes
+	# https://dev.eclipse.org/committers/
+	# Optional: defaults to system theme 
+	$theme = "Nova";
+	
+	# Define your project-wide Nav bars here.
+	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
+	# these are optional
+	# $Nav->setLinkList(array());
+
+	$pageAuthor		= "Lorenzo Bettini, Vincenzo Caselli, Francesco Guidieri";
+	$pageTitle 		= "Emf Parsley Guide";
+
+	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="code.css"/>' . "\n\t");
+	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="book.css"/>' . "\n\t");
+	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="novaAddon.css"/>' . "\n\t");
+
+	$App->Promotion = TRUE;
+	?>
diff --git a/documentation/index.html b/documentation/index.html
new file mode 100644
index 0000000..08e8473
--- /dev/null
+++ b/documentation/index.html
@@ -0,0 +1,98 @@
+<br style="clear:both;height:1em;">
+<div id="leftcol">
+<div class="nav-logo">
+	<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+</div>
+<ul id="leftnav">
+<li class="partentry" >
+Documentation
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="01-Introduction.php">Introduction</a></div>
+<ul style="display: none;" id="subToc_01-Introduction.html">
+<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+</ul>
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="02-GettingStarted.php">Getting Started</a></div>
+<ul style="display: none;" id="subToc_02-GettingStarted.html">
+<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+</ul>
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="03-Components.php">Components</a></div>
+<ul style="display: none;" id="subToc_03-Components.html">
+<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+</ul>
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="04-Customization.php">Customization</a></div>
+<ul style="display: none;" id="subToc_04-Customization.html">
+<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+</ul>
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="05-DSL.php">EMF Components DSL</a></div>
+<ul style="display: none;" id="subToc_05-DSL.html">
+<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+</ul>
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="07-Eclipse4.php">Eclipse 4</a></div>
+<ul style="display: none;" id="subToc_07-Eclipse4.html">
+<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+</ul>
+</li>
+<li class="partentry" >
+Appendix
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="GettingSources.php">Getting Sources</a></div>
+<ul style="display: none;" id="subToc_GettingSources.html">
+<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+</ul>
+</li>
+<li class="separator"><div class="separator">
+<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+<a href="samples.php">Xdoc Samples</a></div>
+<ul style="display: none;" id="subToc_samples.html">
+<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<br style="clear:both;height:1em;">
diff --git a/documentation/index.php b/documentation/index.php
new file mode 100644
index 0000000..5cb3e0c
--- /dev/null
+++ b/documentation/index.php
@@ -0,0 +1,70 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "00-Main.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	$pageTitle 		= "Emf Parsley Guide";
+	
+	$html .=  file_get_contents('_index.html');
+
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/logo.png b/documentation/logo.png
new file mode 100644
index 0000000..a1c0233
--- /dev/null
+++ b/documentation/logo.png
Binary files differ
diff --git a/documentation/samples.html b/documentation/samples.html
index 561c315..632316d 100644
--- a/documentation/samples.html
+++ b/documentation/samples.html
@@ -1,125 +1,245 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Xdoc Samples</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="xtext.html" title="">
-</head>
-<body>
-<a name="samples"></a>
-<h1>Xdoc Samples</h1>
-<p>
-This is text for the introduction. You can <em>emphasize</em> elements and create multiple
-paragraphs by adding a newline, like this. As you can see we also have splel checking
-with corrections. 
-</p>
-<p>
-In the following the different syntactical elements are explained by example.
-</p>
-<a name="Links"></a>
-<h2>References</h2>
-<p>
-The following is an <a href="http://www.google.com">external link</a> 
-and if you want to refer internally you can <a href="01-Introduction.html#Introduction" title="Go to &quot;Introduction&quot;">do so as well</a>.You can even
-refer to Java code like this : <a class="jdoc" href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="View JavaDoc"><abbr title="java.lang.String" >String</abbr></a>.
-</p>
-<a name="CodeSections"></a>
-<h2>Code Sections</h2>
-<p>
-A code section looks like this:
-</p>
-<p>
-<div class="literallayout">
-<div class="incode">
-<p class="code">
-&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">class</span>&nbsp;HelloWorld&nbsp;{
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">void</span>&nbsp;sayHello(String&nbsp;name)&nbsp;{
-<br/>
-System.out.println(<span class="string">"Hello&nbsp;"</span>+name);
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;}
-<br/>
-</p>
-</div>
-</div>
-</p>
-<p>
-Note how the code is highlighted according to the language you choose.
-It is even possible to have different language configurations to get different coloring.
-</p>
-<a name="Lists"></a>
-<h2>Lists and Tables</h2>
-<p>
-Lists are very similar to HTML.
-We&apos;ve got ordered lists:
- 
-<ol>
-	<li>
-		First
-	</li>
-	<li>
-		Second
-	</li>
-	<li>
-		Third
-	</li>
-</ol>
-</p>
-<p>
-and unordered lists:
-</p>
-<p>
-<ul>
-	<li>
-		Foo
-	</li>
-	<li>
-		Bar
-	</li>
-	<li>
-		Baz
-	</li>
-</ul>
-</p>
-<a name="Tables"></a>
-<h2>Tables</h2>
-<p>
-<table>
-<tr>
-<td>
-This is a table cell
-</td>
-<td>
-and another one
-</td>
-</tr>
-<tr>
-<td>
-table rows can contain many cells
-</td>
-<td>
-but each row has to contain the same number of cells
-</td>
-</tr>
-</table>
-</p>
-<a name="TODO"></a>
-<h2>TODO</h2>
-<p>
-<div class="todo" >
-document todo elements
-</div>
-</p>
-<a name="Images"></a>
-<h2>Images</h2>
-<p>
-Images are not fully supported by the new Xtend generator,
-but will of course be readded soon :-)
-</p>
-</body>
-</html>
+<br style="clear:both;height:1em;">
+	<div id="leftcol">
+		<div class="nav-logo">
+			<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
+		</div>
+		<ul id="leftnav">
+		<li class="partentry" >
+		Documentation
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="01-Introduction.php">Introduction</a></div>
+		<ul style="display: none;" id="subToc_01-Introduction.html">
+		<li id="01-Introduction.html#reflectiveComponents.html" ><a href="01-Introduction.php#reflectiveComponents.php" >Reflective Components</a></li>
+		<li id="01-Introduction.html#easyToCustomize.html" ><a href="01-Introduction.php#easyToCustomize.php" >Easy to Customize</a></li>
+		<li id="01-Introduction.html#architecture.html" ><a href="01-Introduction.php#architecture.php" >Architecture</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="02-GettingStarted.php">Getting Started</a></div>
+		<ul style="display: none;" id="subToc_02-GettingStarted.html">
+		<li id="02-GettingStarted.html#Installation.html" ><a href="02-GettingStarted.php#Installation.php" >Installation</a></li>
+		<li id="02-GettingStarted.html#FirstExample.html" ><a href="02-GettingStarted.php#FirstExample.php" >First Example</a></li>
+		<li id="02-GettingStarted.html#RCPMail.html" ><a href="02-GettingStarted.php#RCPMail.php" >RCP Mail Example</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="03-Components.php">Components</a></div>
+		<ul style="display: none;" id="subToc_03-Components.html">
+		<li id="03-Components.html#FormComponent.html" ><a href="03-Components.php#FormComponent.php" >Form Component</a></li>
+		<li id="03-Components.html#TreeComponent.html" ><a href="03-Components.php#TreeComponent.php" >Tree Component</a></li>
+		<li id="03-Components.html#TreeFormComponent.html" ><a href="03-Components.php#TreeFormComponent.php" >Tree Form Component</a></li>
+		<li id="03-Components.html#TableComponent.html" ><a href="03-Components.php#TableComponent.php" >Table Component</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="04-Customization.php">Customization</a></div>
+		<ul style="display: none;" id="subToc_04-Customization.html">
+		<li id="04-Customization.html#ResourceManagers.html" ><a href="04-Customization.php#ResourceManagers.php" >Managing Resources</a></li>
+		<li id="04-Customization.html#Providers.html" ><a href="04-Customization.php#Providers.php" >Providers</a></li>
+		<li id="04-Customization.html#SelectionAndMenu.html" ><a href="04-Customization.php#SelectionAndMenu.php" >Selection And Menu</a></li>
+		<li id="04-Customization.html#Builders.html" ><a href="04-Customization.php#Builders.php" >Builders</a></li>
+		<li id="04-Customization.html#Factories.html" ><a href="04-Customization.php#Factories.php" >Factories</a></li>
+		<li id="04-Customization.html#Viewers.html" ><a href="04-Customization.php#Viewers.php" >Viewers</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="05-DSL.php">EMF Components DSL</a></div>
+		<ul style="display: none;" id="subToc_05-DSL.html">
+		<li id="05-DSL.html#xbase.html" ><a href="05-DSL.php#xbase.php" >Xbase features</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="06-AdvancedComponents.php">Advanced Components</a></div>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="07-Eclipse4.php">Eclipse 4</a></div>
+		<ul style="display: none;" id="subToc_07-Eclipse4.html">
+		<li id="07-Eclipse4.html#GetFirstExample.html" ><a href="07-Eclipse4.php#GetFirstExample.php" >First Example Setup</a></li>
+		<li id="07-Eclipse4.html#PrepareForEclipse4Application.html" ><a href="07-Eclipse4.php#PrepareForEclipse4Application.php" >Preparing for a pure Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#CreateEclipse4Application.html" ><a href="07-Eclipse4.php#CreateEclipse4Application.php" >Create an Eclipse 4 Application</a></li>
+		<li id="07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents.html" ><a href="07-Eclipse4.php#Eclipse4ApplicationAndEMFComponents.php" >Using an EMF Parsley TreeComposite into an Eclipse 4 Part</a></li>
+		<li id="07-Eclipse4.html#Eclipse4Save.html" ><a href="07-Eclipse4.php#Eclipse4Save.php" >Adding the dirty state and Save command</a></li>
+		</ul>
+		</li>
+		<li class="partentry" >
+		Appendix
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="GettingSources.php">Getting Sources</a></div>
+		<ul style="display: none;" id="subToc_GettingSources.html">
+		<li id="GettingSources.html#InstallBuckminster.html" ><a href="GettingSources.php#InstallBuckminster.php" >Install Buckminster in the IDE</a></li>
+		<li id="GettingSources.html#PrepareTP.html" ><a href="GettingSources.php#PrepareTP.php" >Prepare an empty target platform</a></li>
+		<li id="GettingSources.html#MaterializeWP.html" ><a href="GettingSources.php#MaterializeWP.php" >Materialize the Workspace</a></li>
+		</ul>
+		</li>
+		<li class="separator"><div class="separator">
+		<img src="triangle.gif" style="height:12px; margin-right: 2px; "  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
+		<a href="samples.php">Xdoc Samples</a></div>
+		<ul style="display: none;" id="subToc_samples.html">
+		<li id="samples.html#Links.html" ><a href="samples.php#Links.php" >References</a></li>
+		<li id="samples.html#CodeSections.html" ><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+		<li id="samples.html#Lists.html" ><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+		<li id="samples.html#Tables.html" ><a href="samples.php#Tables.php" >Tables</a></li>
+		<li id="samples.html#TODO.html" ><a href="samples.php#TODO.php" >TODO</a></li>
+		<li id="samples.html#Images.html" ><a href="samples.php#Images.php" >Images</a></li>
+		</ul>
+		</li>
+		</ul>
+	</div>
+	<div id="midcolumn">
+		<a name="samples" ></a>
+		<h1>Xdoc Samples</h1>
+				<div class="toc">
+				  <ul>
+				    <li><a href="samples.php#Links.php" >References</a></li>
+				    <li><a href="samples.php#CodeSections.php" >Code Sections</a></li>
+				    <li><a href="samples.php#Lists.php" >Lists and Tables</a></li>
+				    <li><a href="samples.php#Tables.php" >Tables</a></li>
+				    <li><a href="samples.php#TODO.php" >TODO</a></li>
+				    <li><a href="samples.php#Images.php" >Images</a></li>
+				  </ul>
+				</div>
+				
+		<p>
+		This is text for the introduction. You can <em>emphasize</em> elements and create multiple
+		paragraphs by adding a newline, like this. As you can see we also have splel checking
+		with corrections. 
+		</p>
+		<p>
+		In the following the different syntactical elements are explained by example.
+		</p>
+		<a name="Links" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>References</h1>
+			<p>
+			The following is an <a href="http://www.google.com" >external link</a> 
+			and if you want to refer internally you can <a href="01-Introduction.php" title="Go to &quot;Introduction&quot;">do so as well</a>.You can even
+			refer to Java code like this : <a class="jdoc" href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="java.lang.String">String</abbr></a>.
+			</p>
+		<a name="CodeSections" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Code Sections</h1>
+			<p>
+			A code section looks like this:
+			</p>
+			<p>
+			<div class="literallayout">
+				<div class="incode">
+					<p class="code">
+						<span class="keyword">class</span>&nbsp;HelloWorld&nbsp;{
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">public</span>&nbsp;<span class="keyword">void</span>&nbsp;sayHello(String&nbsp;name)&nbsp;{
+						<br/>
+						System.out.println(<span class="string">"Hello&nbsp;"</span>+name);
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
+						<br/>
+						&nbsp;&nbsp;&nbsp;&nbsp;}
+					</p>
+				</div>
+			</div>
+			</p>
+			<p>
+			Note how the code is highlighted according to the language you choose.
+			It is even possible to have different language configurations to get different coloring.
+			</p>
+		<a name="Lists" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Lists and Tables</h1>
+			<p>
+			Lists are very similar to HTML.
+			We've got ordered lists:
+			 
+			<ol>
+			  <li>First</li>
+			  <li>Second</li>
+			  <li>Third</li>
+			</ol>
+			</p>
+			<p>
+			and unordered lists:
+			</p>
+			<p>
+			<ul>
+			  <li>Foo</li>
+			  <li>Bar</li>
+			  <li>Baz</li>
+			</ul>
+			</p>
+		<a name="Tables" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Tables</h1>
+			<p>
+			<table>
+			  <tr>
+			    <td>This is a table cell</td>
+			    <td>and another one</td>
+			  </tr>
+			  <tr>
+			    <td>table rows can contain many cells</td>
+			    <td>but each row has to contain the same number of cells</td>
+			  </tr>
+			</table>
+			</p>
+		<a name="TODO" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>TODO</h1>
+			<p>
+			<div class="todo" >
+			document todo elements
+			</div>
+			</p>
+		<a name="Images" ></a>
+		<span style="float:left; border-top: 1px dotted #d4d4dd; margin-left: 0; margin-top: 5px;
+			padding: 5px 0;
+			padding-top: 5px;"></span><a style="float: right" href="#">Top</a>
+			<br style="clear:both"></br>
+			<h1>Images</h1>
+			<p>
+			Images are not fully supported by the new Xtend generator,
+			but will of course be readded soon :-)
+			</p>
+		<div id="disqus_thread"></div>
+		<script type="text/javascript" src="documentationRoot.js"></script>
+		<script type="text/javascript">
+		    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+		    var disqus_shortname = 'xtext'; // required: replace example with your forum shortname
+		
+		    // The following are highly recommended additional parameters. Remove the slashes in front to use.
+		    var disqus_identifier = 'samples';
+		    var disqus_url = documentationRoot+'samples.php';
+		
+		    /* * * DON'T EDIT BELOW THIS LINE * * */
+		    (function() {
+		        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+		        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+		        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+		    })();
+		</script>
+ 		<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+	</div>
+	<br style="clear:both;height:1em;">
diff --git a/documentation/samples.php b/documentation/samples.php
new file mode 100644
index 0000000..baf37f2
--- /dev/null
+++ b/documentation/samples.php
@@ -0,0 +1,71 @@
+<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	include("include.php");
+	$pageTitle 		= "Xdoc Samples";
+	
+	$html = file_get_contents('samples.html');
+
+	$Nav->setLinkList(array());
+	
+	$App->AddExtraHtmlHeader('
+	<script type="text/javascript">
+	function init() {
+		var docName = "samples.html";
+	    initTocMenu(docName);
+		highlightCurrentSection(docName);
+	}
+	
+	function initTocMenu(ActiveSubTocElementId){
+		var menu = document.getElementById("leftnav");
+	
+		var chapters = menu.children;
+		addHideSubsectionFunction(chapters);
+		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
+		if(subToc) {
+			subToc.style.display = "block";
+			subToc.previousElementSibling.children[0].style.display = "none"
+			subToc.previousElementSibling.children[1].style.display = "inline"
+		}
+	}
+	
+	function switchImages(chap) {
+		
+	}
+	
+	function addHideSubsectionFunction(items){
+		for (var i = 0; i < items.length; i++) {
+			if (items[i].firstElementChild != null && items[i].className == "separator"){
+				if(items[i].firstElementChild.firstElementChild != null){
+					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
+				}
+	 			items[i].firstElementChild.style.cursor = "pointer";
+			}
+		}
+	}
+	
+	function toc_toggle_subsections(chap){
+		if ( chap.children[1].style.display != "none" ) {
+			chap.children[1].style.display = "none"
+		} else {
+			chap.children[1].style.display = "block"
+		}
+	}
+	
+	function highlightCurrentSection(sec) {
+		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
+	}
+	
+	if ( window.addEventListener ) { 
+		window.addEventListener( "load", init, false );
+	}
+	else if ( window.attachEvent ) { 
+		window.attachEvent( "onload", init );
+	} else 
+		if ( window.onLoad ) {
+			window.onload = init;
+	}
+	</script>');
+	
+	# Generate the web page
+	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/toc.xml b/documentation/toc.xml
deleted file mode 100644
index 2ec5ece..0000000
--- a/documentation/toc.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<toc topic="contents/00-Main.html" label="Emf Parsley Guide" >
-	<topic href="contents/00-Main_4.html#Emf%20Parsley%20Guide_4" label="Documentation" >
-		<topic href="contents/01-Introduction.html#Introduction" label="Introduction" >
-			<topic href="contents/01-Introduction.html#reflectiveComponents" label="Reflective Components" >
-			</topic>
-			<topic href="contents/01-Introduction.html#easyToCustomize" label="Easy to Customize" >
-			</topic>
-			<topic href="contents/01-Introduction.html#architecture" label="Architecture" >
-			</topic>
-		</topic>
-		<topic href="contents/02-GettingStarted.html#GettingStarted" label="Getting Started" >
-			<topic href="contents/02-GettingStarted.html#Installation" label="Installation" >
-			</topic>
-			<topic href="contents/02-GettingStarted.html#FirstExample" label="First Example" >
-			</topic>
-			<topic href="contents/02-GettingStarted.html#RCPMail" label="RCP Mail Example" >
-			</topic>
-		</topic>
-		<topic href="contents/03-Components.html#Components" label="Components" >
-			<topic href="contents/03-Components.html#FormComponent" label="Form Component" >
-				<topic href="contents/03-Components.html#Form_Customizations" label="Form Customizations" >
-				</topic>
-			</topic>
-			<topic href="contents/03-Components.html#TreeComponent" label="Tree Component" >
-				<topic href="contents/03-Components.html#Tree_Customizations" label="Tree Customizations" >
-				</topic>
-			</topic>
-			<topic href="contents/03-Components.html#TreeFormComponent" label="Tree Form Component" >
-				<topic href="contents/03-Components.html#TreeForm_Customizations" label="Tree Form Customization" >
-				</topic>
-			</topic>
-			<topic href="contents/03-Components.html#TableComponent" label="Table Component" >
-			</topic>
-		</topic>
-		<topic href="contents/04-Customization.html#Customization" label="Customization" >
-			<topic href="contents/04-Customization.html#ResourceManagers" label="Managing Resources" >
-				<topic href="contents/04-Customization.html#ResourceLoader" label="Resource Loader" >
-				</topic>
-				<topic href="contents/04-Customization.html#EmptyResourceInitializer" label="Empty Resource Initializer" >
-				</topic>
-				<topic href="contents/04-Customization.html#EditingDomainFinder" label="Editing Domain Finder" >
-				</topic>
-				<topic href="contents/04-Customization.html#ResourceSaveManager" label="Resource Save Manager" >
-					<topic href="contents/04-Customization.html#ValidateResourceSaveManager" label="Validate Resource Save Manager" >
-					</topic>
-				</topic>
-			</topic>
-			<topic href="contents/04-Customization.html#Providers" label="Providers" >
-				<topic href="contents/04-Customization.html#FeaturesProvider" label="Features Provider" >
-					<topic href="contents/04-Customization.html#FeatureProvider1" label="Prima versione" >
-					</topic>
-					<topic href="contents/04-Customization.html#FeatureProvider2" label="Seconda versione" >
-					</topic>
-					<topic href="contents/04-Customization.html#FeaturesColumnProvider" label="Features Column Provider" >
-					</topic>
-				</topic>
-				<topic href="contents/04-Customization.html#PropertyDescriptionProvider" label="Property Description Provider" >
-					<topic href="contents/04-Customization.html#FormPropertyDescriptionProvider" label="Form Property Description Provider" >
-					</topic>
-				</topic>
-				<topic href="contents/04-Customization.html#ViewerLabelProvider" label="Viewer Label Provider" >
-				</topic>
-				<topic href="contents/04-Customization.html#ViewerContentProvider" label="Viewer Content Provider" >
-				</topic>
-				<topic href="contents/04-Customization.html#ProposalProvider" label="Proposal Provider" >
-				</topic>
-				<topic href="contents/04-Customization.html#ViewerContextMenuFactory" label="Viewer Context Menu Factory" >
-				</topic>
-				<topic href="contents/04-Customization.html#TableColumnLabelProvider" label="Table Column Label Provider" >
-				</topic>
-			</topic>
-			<topic href="contents/04-Customization.html#SelectionAndMenu" label="Selection And Menu" >
-				<topic href="contents/04-Customization.html#EmfSelectionHelper" label="Emf Selection Helper" >
-				</topic>
-			</topic>
-			<topic href="contents/04-Customization.html#Builders" label="Builders" >
-				<topic href="contents/04-Customization.html#TableViewerBuilder" label="Table Viewer Builder" >
-				</topic>
-				<topic href="contents/04-Customization.html#TableViewerColumnBuilder" label="Table Viewer Column Builder" >
-					<topic href="contents/04-Customization.html#TableViewerEditableColumnBuilder" label="Table Viewer Editable Column Builder" >
-					</topic>
-				</topic>
-			</topic>
-			<topic href="contents/04-Customization.html#Factories" label="Factories" >
-				<topic href="contents/04-Customization.html#FormFactory" label="Form Factory" >
-				</topic>
-				<topic href="contents/04-Customization.html#JfaceProviderFactory" label="Jface Provider Factory" >
-				</topic>
-				<topic href="contents/04-Customization.html#FormControlFactory" label="Form Control Factory" >
-				</topic>
-				<topic href="contents/04-Customization.html#TreeFormFactory" label="Tree Form Factory" >
-				</topic>
-				<topic href="contents/04-Customization.html#ViewerFactory" label="Viewer Factory" >
-				</topic>
-				<topic href="contents/04-Customization.html#AdapterFactoryEditingDomain" label="Viewer Factory" >
-				</topic>
-			</topic>
-			<topic href="contents/04-Customization.html#Viewers" label="Viewers" >
-				<topic href="contents/04-Customization.html#ViewerInitializer" label="Viewer Initializer" >
-				</topic>
-			</topic>
-		</topic>
-		<topic href="contents/05-DSL.html#DSL" label="EMF Components DSL" >
-			<topic href="contents/05-DSL.html#xbase" label="Xbase features" >
-			</topic>
-		</topic>
-		<topic href="contents/06-AdvancedComponents.html#AdvancedComponents" label="Advanced Components" >
-		</topic>
-		<topic href="contents/07-Eclipse4.html#Eclipse4" label="Eclipse 4" >
-			<topic href="contents/07-Eclipse4.html#GetFirstExample" label="First Example Setup" >
-			</topic>
-			<topic href="contents/07-Eclipse4.html#PrepareForEclipse4Application" label="Preparing for a pure Eclipse 4 Application" >
-			</topic>
-			<topic href="contents/07-Eclipse4.html#CreateEclipse4Application" label="Create an Eclipse 4 Application" >
-			</topic>
-			<topic href="contents/07-Eclipse4.html#Eclipse4ApplicationAndEMFComponents" label="Using an EMF Parsley TreeComposite into an Eclipse 4 Part" >
-			</topic>
-			<topic href="contents/07-Eclipse4.html#Eclipse4Save" label="Adding the dirty state and Save command" >
-			</topic>
-		</topic>
-	</topic>
-	<topic href="contents/00-Main_5.html#Emf%20Parsley%20Guide_5" label="Appendix" >
-		<topic href="contents/GettingSources.html#GettingSources" label="Getting Sources" >
-			<topic href="contents/GettingSources.html#InstallBuckminster" label="Install Buckminster in the IDE" >
-			</topic>
-			<topic href="contents/GettingSources.html#PrepareTP" label="Prepare an empty target platform" >
-			</topic>
-			<topic href="contents/GettingSources.html#MaterializeWP" label="Materialize the Workspace" >
-				<topic href="contents/GettingSources.html#CustomizeProperties" label="(Optional) Customize some Properties" >
-				</topic>
-				<topic href="contents/GettingSources.html#StartMaterialization" label="Start Materialization" >
-				</topic>
-			</topic>
-		</topic>
-		<topic href="contents/samples.html#samples" label="Xdoc Samples" >
-			<topic href="contents/samples.html#Links" label="References" >
-			</topic>
-			<topic href="contents/samples.html#CodeSections" label="Code Sections" >
-			</topic>
-			<topic href="contents/samples.html#Lists" label="Lists and Tables" >
-			</topic>
-			<topic href="contents/samples.html#Tables" label="Tables" >
-			</topic>
-			<topic href="contents/samples.html#TODO" label="TODO" >
-			</topic>
-			<topic href="contents/samples.html#Images" label="Images" >
-			</topic>
-		</topic>
-	</topic>
-</toc>
diff --git a/documentation/triangle.gif b/documentation/triangle.gif
new file mode 100644
index 0000000..b43603d
--- /dev/null
+++ b/documentation/triangle.gif
Binary files differ