<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
<title>Migration 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>
<a name="MigrationGuide"></a>
<h1>Migration Guide</h1>
<a name="VersionOne"></a>
<h2>From 0.7.0 to 1.0.0</h2>
<p>
<ul>
	<li>
		<em>API changes</em> If in your custom <em>ControlFactory</em> you were using the field
		<em>edbc</em> you should now use the getter <em>getDatabindingContext()</em>. Similarly for the field
		<em>domain</em>: use <em>getEditingDomain()</em>.
	</li>
</ul>
</p>
<a name="SixSeven"></a>
<h2>From 0.6.0 to 0.7.0</h2>
<p>
<ul>
	<li>
		<em>Multiple DSL files in the same project</em>: thanks to the radical change to the structure
		of EMF Parsley projects, detailed in the following, it is now possible to define several
		<em>.parsley</em> files in the same project.
	</li>
	<li>
		<em>Structure of projects</em>: the structure of EMF Parsley projects has radically changed
		(see <a href="01-Overview.html#DslProjectStructure" title="Go to &quot;The structure of an EMF Parsley project&quot;">The structure of an EMF Parsley project</a>).
		If you have existing projects you need to perform these steps to adjust the compilation errors you will
		get:
		<ol>
			<li>
				Remove the executable extension factory class from the <em>src</em> folder (the DSL will now generate it in the
				<em>emfparsley-gen</em> source folder)
				<div class="image" >
				<img src="images/project-migration-exec-ext-fact.png" class=" " 
				/>
				<div class="caption">
				</div>
				</div>
				
			</li>
			<li>
				Remove the guice module from the <em>src</em> folder, in the example above, it is <em>FirstexampleGuiceModule</em>
			</li>
			<li>
				Modify the activator: instead of extending <em>EmfParsleyAbstractActivator</em> it must extend the
				standard <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/plugin/AbstractUIPlugin.html" title="View JavaDoc"><abbr title="org.eclipse.ui.plugin.AbstractUIPlugin" >AbstractUIPlugin</abbr></a>; then remove the method
				<div class="literallayout">
				<div class="incode">
				<p class="code">
				<span class="keyword">public</span>&nbsp;EmfParsleyGuiceModule&nbsp;createModule()<br/>
				</p>
				</div>
				</div>
				
			</li>
			<li>
				Manually remove all the contents of the <em>emfparsley-gen</em> folder (the name of the generated
				classes are now prefixed with the module name, but the previously generated ones might still be there)
				<div class="image" >
				<img src="images/project-migration-clean-gen.png" class=" " 
				/>
				<div class="caption">
				</div>
				</div>
				
			</li>
			<li>
				Perform a "clean" on the project (so that the contents of <em>emfparsley-gen</em> are generated)
			</li>
			<li>
				Read the next part about <em>plugin.xml</em>
			</li>
		</ol>
		
	</li>
	<li>
		<em>The plugin.xml and the new EMF Parsley builder</em>: the way we handle the
		<em>plugin.xml</em> has improved, and we also automatically merge subsequent changes in the
		DSL file <em>parts</em> section.  Please have a look at <a href="01-Overview.html#PluginXml" title="Go to &quot;How the DSL handles the plugin.xml&quot;">How the DSL handles the plugin.xml</a> for
		the details.
		IMPORTANT: This merging takes place ONLY if your project has the <em>EMF Parsley builder nature</em>.
		Since version 0.6.1 this nature is automatically applied to the projects created with our wizard.
		In existing projects, you have to enable the nature yourself by right-clicking on the project,
		then "Configure" and then "Enable EMF Parsley builder.
		Once you added this new nature, please remove the <em>plugin.xml_emfparsley_gen</em> from the root
		of your project, and perform a clean of the project.
	</li>
	<li>
		<em>InjectorProvider</em>: the activator generated by the project wizard does not provide
		anymore a means to retrieve the injector.  This functionality is now implemented by an <em>InjectorProvider</em>
		class which is automatically generated for each DSL module (see <a href="01-Overview.html#InjectorProvider" title="Go to &quot;Obtaining the Injector&quot;">Obtaining the Injector</a>).
		For example, in the first example,
		<a href="02-FirstExample.html#FirstExample" title="Go to &quot;First Example&quot;">First Example</a>, instead of doing
		<div class="literallayout">
		<div class="incode">
		<p class="code">
		FirstexampleActivator.getDefault().getInjector();<br/>
		</p>
		</div>
		</div>
		you need to do
		<div class="literallayout">
		<div class="incode">
		<p class="code">
		FirstexampleInjectorProvider.getInjector();<br/>
		</p>
		</div>
		</div>
		
	</li>
</ul>
</p>
<a name="FiveMinors"></a>
<h2>From 0.5.0 to 0.6.0</h2>
<p>
<ul>
	<li>
		The way we handle the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/edit/domain/EditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.EditingDomain" >EditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/EditingDomain.java" title="View Source Code" >(src)</a> is
		changed and improved to some extent.  In standard scenarios this should not
		require any modifications.  In advanced scenarios this will provide complete
		control on the editing domain.  We refer to the new section in the documentation,
		<a href="06-Customization.html#EditingDomain" title="Go to &quot;Editing Domain&quot;">Editing Domain</a>.
	</li>
	<li>
		<em>Tree With Columns</em>: a new component has been added:
		The <em>Tree With Columns Component</em> provides a tree representation just like <a href="05-Components.html#TreeComponent" title="Go to &quot;Tree Component&quot;">Tree Component</a>,
		but it also shows table columns representing the features of the specified <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.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_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>.
		IMPORTANT: the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.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_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is used to retrieve the features to be shown, and
		NOT to filter elements to be shown (as opposite to the <a href="05-Components.html#TableComponent" title="Go to &quot;Table Component&quot;">Table Component</a>).  If a given
		row in the tree represents an object whose class does not have the feature for a given column, then the
		corresponding table cell for that object will be empty.
		For example, the following screenshot shows a tree with columns representing a library; the specified
		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.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_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is the <em>Writer</em> so the columns show the features of the
		<em>Writer</em>&apos;s class.  Some of these features, e.g., <em>address</em>, <em>firstName</em> and <em>lastName</em>, are defined
		in the superclasses of <em>Writer</em>.  The objects of class <em>Employee</em> have these features as well, while
		they don&apos;t have features that are specific of <em>Writer</em>, e.g., <em>name</em> and <em>books</em>, thus the corresponding
		cells for employees will be empty.
		<div class="image" >
		<img src="images/03-components-treecolumns.png" class=" " 
		/>
		<div class="caption">
		</div>
		</div>
		<em>EMF Parsley</em> provides a factory that can be used to create such a component, like in the code below:
		<div class="literallayout">
		<div class="incode">
		<p class="code">
		@Inject&nbsp;ViewerFactory&nbsp;viewerFactory;<br/>
		<br/>
		(...)<br/>
		<br/>
		treeViewer&nbsp;=&nbsp;createTreeViewerWithColumns(parent,&nbsp;getEClass(),&nbsp;getContents());<br/>
		</p>
		</div>
		</div>
		Since this component mixes the features of a tree and a table, the customizations are basically the
		same shown in the subsections of <a href="05-Components.html#TreeComponent" title="Go to &quot;Tree Component&quot;" >section TreeComponent</a> and <a href="05-Components.html#TableComponent" title="Go to &quot;Table Component&quot;" >section TableComponent</a>.
	</li>
	<li>
		<em>EmfSelectionHelper</em> only deals with selection element; utility methods for events is now
		delegated to <em>EmfEventHelper</em>.
	</li>
	<li>
		label provider for trees and table label providers for tables can now specify declaratively custom
		fonts, foreground and background colors.
		For tables, you can customize the font, foreground and background color for the entire row or for a single
		cell.
		Here are some examples:
		<div class="literallayout">
		<div class="incode">
		<p class="code">
		<span class="keyword">labelProvider</span>{<br/>
		...<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">font</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Book&nbsp;-&gt;&nbsp;<span class="comment">//&nbsp;must&nbsp;return&nbsp;a&nbsp;org.eclipse.swt.graphics.Font<br/>
		</span>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">foreground</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Book&nbsp;-&gt;&nbsp;<span class="comment">//&nbsp;must&nbsp;return&nbsp;a&nbsp;org.eclipse.swt.graphics.Color<br/>
		</span>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Book&nbsp;-&gt;&nbsp;<span class="comment">//&nbsp;must&nbsp;return&nbsp;a&nbsp;org.eclipse.swt.graphics.Color<br/>
		</span>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		}<br/>
		</p>
		</div>
		</div>
		<div class="literallayout">
		<div class="incode">
		<p class="code">
		<span class="keyword">tableLabelProvider</span>&nbsp;{<br/>
		...&nbsp;&nbsp;&nbsp;&nbsp;<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">font</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;:&nbsp;name&nbsp;-&gt;&nbsp;JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">foreground</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;:&nbsp;books&nbsp;-&gt;&nbsp;Display.getCurrent().getSystemColor(SWT.COLOR_BLUE)<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;:&nbsp;address&nbsp;-&gt;&nbsp;Display.getCurrent().getSystemColor(SWT.COLOR_GREEN)<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">rowFont</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;-&gt;&nbsp;JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">rowForeground</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;-&gt;&nbsp;Display.getCurrent().getSystemColor(SWT.COLOR_BLUE)<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">rowBackground</span>&nbsp;{<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;-&gt;&nbsp;Display.getCurrent().getSystemColor(SWT.COLOR_GREEN)<br/>
		&nbsp;&nbsp;&nbsp;&nbsp;}<br/>
		}<br/>
		</p>
		</div>
		</div>
		
	</li>
</ul>
</p>
<a name="FourFive"></a>
<h2>From 0.4 to 0.5</h2>
<p>
<ul>
	<li>
		<em>ViewerInitializer</em> has been removed: all creation and initialization of viewers
		is performed using <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/viewers/ViewerFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.viewers.ViewerFactory" >ViewerFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/ViewerFactory.java" title="View Source Code" >(src)</a>; its API has been
		revised and simplified.
	</li>
	<li>
		the packages <em>factories</em> and <em>builders</em> have been removed
		and their classes have been moved to other packages.
		If you get compiler errors, a simple "Organize Imports" should fix
		the imports.  If you use the DSL a simple regeneration should fix things.
	</li>
	<li>
		<em>IViewerMouseListener</em> has been moved from the <em>listeners</em>
		package to the <em>viewers</em> package.
	</li>
	<li>
		classes in <em>editor.outline</em> have been moved into <em>editors</em>
		package.
	</li>
	<li>
		The creation of caption labels for forms and dialogs has slightly
		changed, concerning the default behavior
		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=472691">https://bugs.eclipse.org/bugs/show_bug.cgi?id=472691</a>):
		we take the text from <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.provider.IItemPropertyDescriptor" >IItemPropertyDescriptor</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.java" title="View Source Code" >(src)</a> if
		the EObject provides it. (This does not happen for table column headers, since we don&apos;t have
		any EObject when we build the table columns).
		If you used to call this method on a
		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider" >FormFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.java" title="View Source Code" >(src)</a> or
		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider" >DialogFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.java" title="View Source Code" >(src)</a>
		<div class="literallayout">
		<div class="incode">
		<p class="code">
		<span class="keyword">public</span>&nbsp;Label&nbsp;getLabel(Composite&nbsp;parent,&nbsp;EClass&nbsp;eClass,&nbsp;EStructuralFeature&nbsp;feature)<br/>
		</p>
		</div>
		</div>
		be warned that this method has changed its signature into
		<div class="literallayout">
		<div class="incode">
		<p class="code">
		<span class="keyword">public</span>&nbsp;Label&nbsp;getLabel(Composite&nbsp;parent,&nbsp;EObject&nbsp;o,&nbsp;EStructuralFeature&nbsp;feature)<br/>
		</p>
		</div>
		</div>
		and of course also its semantics, since you need to pass an EObject not its EClass.
	</li>
	<li>
		a new method is available in <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder" >EditingMenuBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.java" title="View Source Code" >(src)</a>,
		<em>actionChange</em>: If you want to implement more complex menu commands that do not
		only add elements to a container, you can use the method
		<em>actionChange</em>, specifying the label for the menu, the model&apos;s element
		that will be affected by the changes specified as a lambda expression
		(the third argument).  The lambda expression will also get the specified
		model&apos;s element as argument.  (This is related to
		<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=475188">https://bugs.eclipse.org/bugs/show_bug.cgi?id=475188</a>).
		Please also have a look at the updated documentation of section <a href="06-Customization.html#ContextualMenu" title="Go to &quot;Contextual Menu&quot;">Contextual Menu</a>:
		the already existing <em>actionAdd</em> should be used with care, since it might leave the model
		with dangling references -- with that respect we also updated the first example
		<a href="02-FirstExample.html#FirstExample" title="Go to &quot;First Example&quot;">First Example</a>, so that
		it uses <em>actionChange</em> to implement correctly what we used to achieve with <em>actionAdd</em>.
	</li>
	<li>
		Adding context menu to a viewer has been extremely simplified
		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=455727">https://bugs.eclipse.org/bugs/show_bug.cgi?id=455727</a>):
		A context menu can be added to any <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StructuredViewer.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.StructuredViewer" >StructuredViewer</abbr></a> by using an
		injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>. This provides some
		methods for adding the context menu
		<div class="literallayout">
		<div class="incode">
		<p class="code">
		@Inject&nbsp;ViewerContextMenuHelper&nbsp;contextMenuHelper;<br/>
		(...)<br/>
		<br/>
		<span class="comment">//&nbsp;simplest&nbsp;form<br/>
		</span>contextMenuHelper.addViewerContextMenu(viewer);<br/>
		<br/>
		<span class="comment">//&nbsp;if&nbsp;you&nbsp;have&nbsp;an&nbsp;AdapterFactoryEditingDomain&nbsp;already<br/>
		</span>contextMenuHelper.addViewerContextMenu(viewer,&nbsp;editingDomain);<br/>
		<br/>
		<span class="comment">//&nbsp;if&nbsp;you&apos;re&nbsp;inside&nbsp;an&nbsp;IWorkbenchPart<br/>
		</span>contextMenuHelper.addViewerContextMenu(viewer,&nbsp;editingDomain,&nbsp;part);<br/>
		</p>
		</div>
		</div>
		
	</li>
	<li>
		Drag and drop support has been separated from context menu support
		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=475914">https://bugs.eclipse.org/bugs/show_bug.cgi?id=475914</a>):
		thus, adding context menu does NOT automatically add drag and drop.
		Drag and drop can be added to any <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StructuredViewer.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.StructuredViewer" >StructuredViewer</abbr></a> by using an
		injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.dnd.ViewerDragAndDropHelper" >ViewerDragAndDropHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.java" title="View Source Code" >(src)</a>,
		using its methods <em>addDragAndDrop</em>.
	</li>
	<li>
		
		Saveable table views and table views reacting on selection
		do not require an implementation of the method
		<em>getContents()</em>, which has also been removed from the API, from the
		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/config/Configurator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.config.Configurator" >Configurator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/config/Configurator.java" title="View Source Code" >(src)</a> methods, and from
		the <em>configurator</em> section in the DSL: contents retrieval is completely
		delegated to the new <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>,
		whose default implementation is able to automatically retrieve all the
		contents of a given type (i.e., EClass) automatically.
		The DSL provides the new <em>tableViewerContentProvider</em> specification,
		see the new section <a href="06-Customization.html#TableViewerContentProvider" title="Go to &quot;Table Viewer Content Provider&quot;">Table Viewer Content Provider</a>.
	</li>
	<li>
		
		Similarly, table views reacting on selection
		do not require an implementation of the method
		<em>getEStructuralFeature()</em>: they require an implementation of
		<em>getEClass()</em> which specifies the type of the objects to be
		shown in the table.
		<em>getEStructuralFeature()</em> has also been removed from the API, from the
		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/config/Configurator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.config.Configurator" >Configurator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/config/Configurator.java" title="View Source Code" >(src)</a> methods, and from
		the <em>configurator</em> section in the DSL: contents retrieval is not
		performed using a feature (which is limitative): it is completely
		delegated to the new <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>,
		whose default implementation is able to automatically retrieve all the
		contents of a given type (i.e., EClass) automatically.
	</li>
</ul>
</p>
<a name="ThreeFour"></a>
<h2>From 0.3 to 0.4</h2>
<p>
<ul>
	<li>
		<em>EmptyResourceInitializer</em> has been removed: you should now use
		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ResourceManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceManager" >ResourceManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceManager.java" title="View Source Code" >(src)</a>,
		see section <a href="06-Customization.html#ResourceManager" title="Go to &quot;Resource Manager&quot;">Resource Manager</a>
	</li>
	<li>
		<em>ResourceSaveManager</em> has been removed: you should now use
		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceSaveStrategy" >ResourceSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.java" title="View Source Code" >(src)</a>,
		see section <a href="06-Customization.html#ResourceSaveStrategy" title="Go to &quot;Resource Save Strategy&quot;">Resource Save Strategy</a>
	</li>
	<li>
		Project wizards have been redesigned: they generate a <em>module.parsley</em>
		that uses the <em>configurator</em> for specifying required information
		(see section <a href="06-Customization.html#Configurator" title="Go to &quot;Configurator&quot;">Configurator</a> and the updated
		first example, section <a href="02-FirstExample.html#FirstExample" title="Go to &quot;First Example&quot;">First Example</a>)
	</li>
</ul>
</p>
</body>
</html>
