Bug 514634 Updates & refactoring

[Refactor] common elements of efm.execution.launchconfiguration
and efm.execution.ui.views by creating
efm.execution.configuration.common.ui
[Rename] MainTab element became OverviewPage Element

Change-Id: I3a7cb39582637dca3c550faf1dbfb94a992d3bf6
Signed-off-by: Arnault Lapitre <arnault.lapitre@cea.fr>
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/.classpath b/execution/org.eclipse.efm.execution.configuration.common.ui/.classpath
new file mode 100644
index 0000000..b862a29
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<classpath>

+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>

+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

+	<classpathentry kind="src" path="src"/>

+	<classpathentry kind="output" path="bin"/>

+</classpath>

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/.gitignore b/execution/org.eclipse.efm.execution.configuration.common.ui/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/.project b/execution/org.eclipse.efm.execution.configuration.common.ui/.project
new file mode 100644
index 0000000..56c40fd
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<projectDescription>

+	<name>org.eclipse.efm.execution.configuration.common.ui</name>

+	<comment></comment>

+	<projects>

+	</projects>

+	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.jdt.core.javabuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.pde.ManifestBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+		<buildCommand>

+			<name>org.eclipse.pde.SchemaBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

+	</buildSpec>

+	<natures>

+		<nature>org.eclipse.pde.PluginNature</nature>

+		<nature>org.eclipse.jdt.core.javanature</nature>

+	</natures>

+</projectDescription>

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/.settings/org.eclipse.jdt.core.prefs b/execution/org.eclipse.efm.execution.configuration.common.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..295926d
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1

+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8

+org.eclipse.jdt.core.compiler.compliance=1.8

+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

+org.eclipse.jdt.core.compiler.source=1.8

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/META-INF/MANIFEST.MF b/execution/org.eclipse.efm.execution.configuration.common.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ed242a1
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.efm.execution.configuration.common.ui
+Bundle-Version: 0.0.1.qualifier
+Bundle-Activator: org.eclipse.efm.execution.configuration.common.ui.Activator
+Bundle-Vendor: %pluginVendor
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.debug.core,
+ org.eclipse.efm.execution.core,
+ org.eclipse.ui.forms
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.efm.execution.configuration.common.ui.api,
+ org.eclipse.efm.execution.configuration.common.ui.editors,
+ org.eclipse.efm.execution.configuration.common.ui.page.debug,
+ org.eclipse.efm.execution.configuration.common.ui.page.developer,
+ org.eclipse.efm.execution.configuration.common.ui.page.expert,
+ org.eclipse.efm.execution.configuration.common.ui.page.overview,
+ org.eclipse.efm.execution.configuration.common.ui.page.supervisor,
+ org.eclipse.efm.execution.configuration.common.ui.page.testgen,
+ org.eclipse.efm.execution.configuration.common.ui.util
+Import-Package: org.eclipse.ui.dialogs,
+ org.eclipse.ui.model,
+ org.eclipse.ui.views.navigator
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/about.html b/execution/org.eclipse.efm.execution.configuration.common.ui/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/build.properties b/execution/org.eclipse.efm.execution.configuration.common.ui/build.properties
new file mode 100644
index 0000000..41eb6ad
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/build.properties
@@ -0,0 +1,4 @@
+source.. = src/

+output.. = bin/

+bin.includes = META-INF/,\

+               .

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/pom.xml b/execution/org.eclipse.efm.execution.configuration.common.ui/pom.xml
new file mode 100644
index 0000000..584d838
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.efm</groupId>
+		<artifactId>org.eclipse.efm.execution</artifactId>
+		<version>0.0.1-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.efm.execution.configuration.common.ui</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.efm.execution.configuration.common.ui</name>
+	<description>This plug-in contains the Execution Configuration Common UI components.</description>
+</project>
\ No newline at end of file
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/Activator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/Activator.java
new file mode 100644
index 0000000..2718081
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/Activator.java
@@ -0,0 +1,62 @@
+/*******************************************************************************

+ * Copyright (c) 2017 CEA LIST.

+ *

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr

+ *   - Initial API and Implementation

+ *******************************************************************************/

+package org.eclipse.efm.execution.configuration.common.ui;

+

+import org.eclipse.ui.plugin.AbstractUIPlugin;

+import org.osgi.framework.BundleContext;

+

+/**

+ * The activator class controls the plug-in life cycle

+ */

+public class Activator extends AbstractUIPlugin {

+

+	// The plug-in ID

+	public static final String PLUGIN_ID = "org.eclipse.efm.execution.configuration.common.ui"; //$NON-NLS-1$

+

+	// The shared instance

+	private static Activator plugin;

+	

+	/**

+	 * The constructor

+	 */

+	public Activator() {

+	}

+

+	/*

+	 * (non-Javadoc)

+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)

+	 */

+	public void start(BundleContext context) throws Exception {

+		super.start(context);

+		plugin = this;

+	}

+

+	/*

+	 * (non-Javadoc)

+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)

+	 */

+	public void stop(BundleContext context) throws Exception {

+		plugin = null;

+		super.stop(context);

+	}

+

+	/**

+	 * Returns the shared instance

+	 *

+	 * @return the shared instance

+	 */

+	public static Activator getDefault() {

+		return plugin;

+	}

+

+}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/AbstractTabComponentPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationComponent.java
similarity index 60%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/AbstractTabComponentPage.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationComponent.java
index fb12ee8..1fb9822 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/AbstractTabComponentPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationComponent.java
@@ -10,23 +10,23 @@
  *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr

  *   - Initial API and Implementation

  */

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages;

+package org.eclipse.efm.execution.configuration.common.ui.api;

 

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

 import org.eclipse.efm.execution.core.IWorkflowConfigurationConstants;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.layout.GridData;

 import org.eclipse.swt.layout.GridLayout;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.ui.forms.widgets.ExpandableComposite;

 import org.eclipse.ui.forms.widgets.FormToolkit;

+import org.eclipse.ui.forms.widgets.Section;

 

-public abstract class AbstractTabComponentPage

+public abstract class AbstractConfigurationComponent

 		implements IWorkflowConfigurationConstants {

 

-	protected ILaunchConfigurationEditorComposite fParentTab;

+	protected AbstractConfigurationPage fConfigurationPage;

 

 	public Composite fCompositeParent;

 

@@ -37,11 +37,11 @@
 	 * Constructor

 	 * @param parentTab

 	 */

-	public AbstractTabComponentPage(ILaunchConfigurationEditorComposite parentTab) {

-		fParentTab = parentTab;

+	public AbstractConfigurationComponent(AbstractConfigurationPage configurationPage) {

+		fConfigurationPage = configurationPage;

 	}

 

-	abstract public void createPageWithToolkit(Composite parentComposite, FormToolkit toolkit);

+	abstract public void createPageWithToolkit(Composite parentComposite);

 	

 	public void collapseAndLockPage() {

 		masterExpandableComposite.setExpanded(false);

@@ -58,25 +58,39 @@
 		fCompositeControl.layout(true);

 	}

 	

-	protected void createExpandableFrameWithToolkit(Composite parentComposite, FormToolkit toolkit, String compo_title) {

+	protected void createExpandableFrameWithToolkit(Composite parentComposite, String title)

+	{

 		fCompositeParent = parentComposite;

-		masterExpandableComposite = toolkit.createExpandableComposite(fCompositeParent,

-				ExpandableComposite.CLIENT_INDENT | ExpandableComposite.TWISTIE);

-		masterExpandableComposite.setText(compo_title);

-		GridLayout gl = new GridLayout(1, false);

-		masterExpandableComposite.setLayout(gl);

+		FormToolkit toolkit = fConfigurationPage.getMasterFormToolkit();

+

+//		masterExpandableComposite = toolkit.createExpandableComposite(fCompositeParent,

+//				ExpandableComposite.CLIENT_INDENT | ExpandableComposite.TWISTIE);

+//		masterExpandableComposite.setText(title);

+//		GridLayout gl = new GridLayout(1, false);

+//		masterExpandableComposite.setLayout(gl);

+//		GridData gd = new GridData(SWT.FILL,SWT.FILL, true, false);

+//		masterExpandableComposite.setLayoutData(gd);

+//		

+//		fCompositeControl = toolkit.createComposite(

+//				masterExpandableComposite, fCompositeParent.getStyle());

+//		GridLayout gl2 = new GridLayout(1, false);

+//		fCompositeControl.setLayout(gl2);

+//		GridData gd2 = new GridData(SWT.FILL,SWT.FILL, true, false);

+//		fCompositeControl.setLayoutData(gd2);

+//		

+		masterExpandableComposite = toolkit.createSection(fCompositeParent,

+				Section.DESCRIPTION|Section.TWISTIE|Section.TITLE_BAR|Section.EXPANDED);

 		GridData gd = new GridData(SWT.FILL,SWT.FILL, true, false);

 		masterExpandableComposite.setLayoutData(gd);

+		masterExpandableComposite.setText(title);

 		

-		fCompositeControl = toolkit.createComposite(masterExpandableComposite, fCompositeParent.getStyle());

-		GridLayout gl2 = new GridLayout(1, false);

-		fCompositeControl.setLayout(gl2);

-		GridData gd2 = new GridData(SWT.FILL,SWT.FILL, true, false);

-		fCompositeControl.setLayoutData(gd2);

+		fCompositeControl = toolkit.createComposite(masterExpandableComposite);

+		fCompositeControl.setLayout(new GridLayout());

+

 		

 		masterExpandableComposite.setClient(fCompositeControl);

 		collapseAndLockPage();

-		}

+	}

 

 

 	abstract public void setDefaults(

@@ -91,11 +105,11 @@
 	abstract public boolean isValid(ILaunchConfiguration launchConfig);

 

 	protected void setWarningMessage(String warningMessage) {

-		fParentTab.propagateWarningMessage(warningMessage);

+		fConfigurationPage.propagateWarningMessage(warningMessage);

 	}

 

 	protected void setErrorMessage(String errorMessage) {

-		fParentTab.propagateErrorMessage(errorMessage);

+		fConfigurationPage.propagateErrorMessage(errorMessage);

 	}

 

 }

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/AbstractTabItemContentCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationPage.java
similarity index 77%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/AbstractTabItemContentCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationPage.java
index 12d2b69..97d110b 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/AbstractTabItemContentCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationPage.java
@@ -11,26 +11,24 @@
  *   - Initial API and Implementation

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components;

+package org.eclipse.efm.execution.configuration.common.ui.api;

 

 import java.util.HashMap;

 import java.util.HashSet;

 import java.util.Map;

 import java.util.Set;

 

+import org.eclipse.core.runtime.Assert;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

 import org.eclipse.efm.execution.core.IWorkflowConfigurationConstants;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

 import org.eclipse.jface.action.Action;

 import org.eclipse.swt.layout.GridData;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Control;

 import org.eclipse.ui.forms.widgets.FormToolkit;

 

-public abstract class AbstractTabItemContentCreator

-		implements ILaunchConfigurationEditorComposite, IWorkflowConfigurationConstants {

+public abstract class AbstractConfigurationPage implements IWorkflowConfigurationConstants {

 

 	private ILaunchConfigurationGUIelement masterGUIelement;

 

@@ -40,8 +38,10 @@
 

 	public abstract void applyUpdatesOnFieldValuesFrom(ILaunchConfigurationWorkingCopy configuration);

 

-	public AbstractTabItemContentCreator(ILaunchConfigurationGUIelement masterGUIelement) {

+	public AbstractConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {

+        Assert.isNotNull(masterGUIelement);

 		this.masterGUIelement = masterGUIelement;

+		

 		this.registered_actions = new HashMap<String, Action>();

 	}

 

@@ -66,7 +66,11 @@
 		return masterGUIelement.getFormToolkit();

 	}

 

-	protected ILaunchConfigurationGUIelement getMasterGUIelement() {

+	public ILaunchConfigurationGUIelement getMasterGUIelement() {

+		return masterGUIelement;

+	}

+

+	public ILaunchConfigurationGUIelement getWidgetToolkit() {

 		return masterGUIelement;

 	}

 

@@ -96,36 +100,26 @@
 

 	public abstract void createTabItemContent(Composite parentComposite);

 

-	@Override

 	public void propagateMessage(String message) {

-		if (masterGUIelement != null) {

-			masterGUIelement.setMessage(message);

-		}

+		masterGUIelement.setMessage(message);

 	}

 

-	@Override

 	public void propagateWarningMessage(String warningmessage) {

-		if (masterGUIelement != null) {

-			masterGUIelement.setWarningMessage(warningmessage);

-		}

+		masterGUIelement.setWarningMessage(warningmessage);

 	}

 

-	@Override

 	public void propagateErrorMessage(String errormessage) {

-		if (masterGUIelement != null) {

-			masterGUIelement.setErrorMessage(errormessage);

-		}

-

+		masterGUIelement.setErrorMessage(errormessage);

 	}

+	

+	/**

+	 * API Interface

+	 */

 

-	@Override

 	public void propagateGUIupdate() {

-		if (masterGUIelement != null) {

-			masterGUIelement.updateGUI();

-		}

+		masterGUIelement.updateGUI();

 	}

 

-	@Override

 	public void propagateVisibility(Control aControl, boolean visible) {

 		aControl.setVisible(visible);

 

@@ -139,16 +133,12 @@
 		}

 	}

 

-	@Override

 	public void propagateUpdateJobScheduling() {

-		if (masterGUIelement != null) {

-			masterGUIelement.scheduleUpdateJob();

-		}

+		masterGUIelement.scheduleUpdateJob();

 	}

 

 	private Map<String, Action> registered_actions;

 

-	@Override

 	public Map<String, Action> getRunnableActions() {

 		return registered_actions;

 	}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/AbstractSectionCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationSection.java
similarity index 62%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/AbstractSectionCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationSection.java
index be8bdf6..d12beac 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/AbstractSectionCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationSection.java
@@ -10,13 +10,11 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

  *   - Initial API and Implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.sections;

+package org.eclipse.efm.execution.configuration.common.ui.api;

 

 

+import org.eclipse.efm.execution.configuration.common.ui.editors.FieldEditor;

 import org.eclipse.efm.execution.core.IWorkflowConfigurationConstants;

-import org.eclipse.efm.execution.ui.views.editors.FieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

 import org.eclipse.jface.action.IToolBarManager;

 import org.eclipse.jface.action.ToolBarManager;

 import org.eclipse.swt.SWT;

@@ -27,25 +25,27 @@
 import org.eclipse.ui.forms.widgets.FormToolkit;

 import org.eclipse.ui.forms.widgets.Section;

 

-public abstract class AbstractSectionCreator implements IWorkflowConfigurationConstants {

+public abstract class AbstractConfigurationSection implements IWorkflowConfigurationConstants {

+	

+	protected AbstractConfigurationPage fConfigurationPage;

 	

 	public Section section;

 	protected Composite sectionClient;

-	protected ILaunchConfigurationEditorComposite fLaunchConfCommInt;

-	protected ILaunchConfigurationGUIelement guielt;

 	

-	public AbstractSectionCreator(ILaunchConfigurationGUIelement guielt, 

-			ILaunchConfigurationEditorComposite fLaunchConfCommInt, ToolBarManager tbm, Composite innertabcompo) {

-		this.fLaunchConfCommInt = fLaunchConfCommInt;

-		this.guielt = guielt;

+	public AbstractConfigurationSection(AbstractConfigurationPage configurationPage,

+			ToolBarManager tbm, Composite innertabcompo)

+	{

+		this.fConfigurationPage = configurationPage;

+		

 		this.addComposite(innertabcompo, tbm);

 	}

 	

 	public abstract void addComposite(Composite innertabcompo, IToolBarManager tbm);

 	

 	protected void addComposite_internal(Composite innertabcompo, IToolBarManager tbm, String title) {

-		FormToolkit toolkit = guielt.getFormToolkit();

-		section = toolkit.createSection(innertabcompo, Section.DESCRIPTION|Section.TWISTIE|Section.TITLE_BAR|Section.EXPANDED);

+		FormToolkit toolkit = fConfigurationPage.getMasterFormToolkit();

+		section = toolkit.createSection(innertabcompo,

+				Section.DESCRIPTION|Section.TWISTIE|Section.TITLE_BAR|Section.EXPANDED);

 		GridData gd = new GridData(SWT.FILL,SWT.FILL, true, false);

 		section.setLayoutData(gd);

 		section.setText(title);

@@ -56,11 +56,26 @@
 		}

 		sectionClient = toolkit.createComposite(section);

 		sectionClient.setLayout(new GridLayout());

-		addCollapsedContent(toolkit);

+		

+		addCollapsedContent();

+		

 		section.setClient(sectionClient);

 	}

 	

-	protected abstract void addCollapsedContent(FormToolkit toolkit);

+	public void requestLayout() {

+		section.layout();

+		section.requestLayout();

+	}

+	

+    /**

+     * Sets the label control's tool tip text to the argument

+     */

+    public void setToolTipText(String string) {

+//    	section.setToolTipText(string);

+    }

+

+	

+	protected abstract void addCollapsedContent();

 	

 	public abstract FieldEditor[] getFieldEditors();

 	

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/ILaunchConfigurationGUIelement.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/ILaunchConfigurationGUIelement.java
similarity index 73%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/ILaunchConfigurationGUIelement.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/ILaunchConfigurationGUIelement.java
index 6a38e8f..9bddd79 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/ILaunchConfigurationGUIelement.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/ILaunchConfigurationGUIelement.java
@@ -9,8 +9,10 @@
  *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - Initial API and implementation

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.utils;

+package org.eclipse.efm.execution.configuration.common.ui.api;

 

+import org.eclipse.swt.widgets.Composite;

+import org.eclipse.swt.widgets.Text;

 import org.eclipse.ui.forms.widgets.FormToolkit;

 

 

@@ -19,6 +21,11 @@
 	

 	public FormToolkit getFormToolkit();

 	

+	public Composite createComposite(Composite parent);

+	public Composite createComposite(Composite parent, int style);

+	public Text createText(Composite parent, String value, int style);

+	

+	

 	public void setMessage(String message);

 

 	public void setWarningMessage(String warningmessage);

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/BooleanFieldEditor.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/BooleanFieldEditor.java
similarity index 91%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/BooleanFieldEditor.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/BooleanFieldEditor.java
index 74e4c87..46e3d0e 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/BooleanFieldEditor.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/BooleanFieldEditor.java
@@ -7,15 +7,14 @@
  *

  * Contributors:

  *     Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr - Initial API and implementation

- *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (ILaunchConfigurationEditorComposite)

+ *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (AbstractConfigurationPage)

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.editors.impls;

+package org.eclipse.efm.execution.configuration.common.ui.editors;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.FieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.events.DisposeEvent;

 import org.eclipse.swt.events.DisposeListener;

@@ -80,11 +79,11 @@
 	 * @see #DEFAULT

 	 * @see #SEPARATE_LABEL

 	 */

-	public BooleanFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public BooleanFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, int style, Composite parent, boolean defaultValue) {

 		this.fDefaultValue = defaultValue;

 

-		init(fLaunchConfCommInt, storeKey, labelText);

+		init(configurationPage, storeKey, labelText);

 		this.style = style;

 		createControl(parent);

 

@@ -100,14 +99,14 @@
 	 * @param parent

 	 *            the parent of the field editor's control

 	 */

-	public BooleanFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public BooleanFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, Composite parent, boolean defaultValue) {

-		this(fLaunchConfCommInt, storeKey, labelText, DEFAULT, parent, defaultValue);

+		this(configurationPage, storeKey, labelText, DEFAULT, parent, defaultValue);

 	}

 

-	public BooleanFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public BooleanFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, Composite parent) {

-		this(fLaunchConfCommInt, storeKey, labelText, DEFAULT, parent, false);

+		this(configurationPage, storeKey, labelText, DEFAULT, parent, false);

 	}

 

 	@Override

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/FieldEditor.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/FieldEditor.java
similarity index 93%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/FieldEditor.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/FieldEditor.java
index 561daa2..7cdbaf2 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/FieldEditor.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/FieldEditor.java
@@ -7,15 +7,15 @@
  *

  * Contributors:

  *     Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr - Initial API and implementation

- *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (ILaunchConfigurationEditorComposite)

+ *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (AbstractConfigurationPage)

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.editors;

+package org.eclipse.efm.execution.configuration.common.ui.editors;

 

 import org.eclipse.core.runtime.Assert;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

 import org.eclipse.jface.dialogs.IDialogConstants;

 import org.eclipse.jface.resource.JFaceResources;

 import org.eclipse.jface.util.IPropertyChangeListener;

@@ -76,7 +76,7 @@
     /**

      * The page containing this field editor

      */

-    private ILaunchConfigurationEditorComposite fLaunchConfCommInt;

+    private AbstractConfigurationPage fConfigurationPage;

 

 

     /**

@@ -92,9 +92,9 @@
      * @param labelText the label text of the field editor

      * @param parent the parent of the field editor's control

      */

-    protected FieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+    protected FieldEditor(AbstractConfigurationPage configurationPage,

     		String storeKey, String labelText, Composite parent) {

-    	this.fLaunchConfCommInt = fLaunchConfCommInt;

+    	this.fConfigurationPage = configurationPage;

     	this.fStoreKey = storeKey;

         createControl(parent);

     }

@@ -141,8 +141,8 @@
      * Clears the error message from the message line.

      */

     protected void clearErrorMessage() {

-        if (fLaunchConfCommInt != null) {

-        	fLaunchConfCommInt.propagateErrorMessage(null);

+        if (fConfigurationPage != null) {

+        	fConfigurationPage.propagateErrorMessage(null);

 		}

     }

 

@@ -150,8 +150,8 @@
      * Clears the normal message from the message line.

      */

     protected void clearMessage() {

-        if (fLaunchConfCommInt != null) {

-        	fLaunchConfCommInt.propagateMessage(null);

+        if (fConfigurationPage != null) {

+        	fConfigurationPage.propagateMessage(null);

 		}

     }

 

@@ -403,8 +403,8 @@
      *

      * @since 3.1

      */

-    protected ILaunchConfigurationEditorComposite getLaunchConfCommInt(){

-    	return fLaunchConfCommInt;

+    protected AbstractConfigurationPage getConfigurationPage() {

+    	return fConfigurationPage;

     }

 

 

@@ -414,10 +414,10 @@
      * @param name the name of the preference this field editor works on

      * @param text the label text of the field editor

      */

-    protected void init(ILaunchConfigurationEditorComposite launchConfigurationTab,

+    protected void init(AbstractConfigurationPage configurationPage,

     		String storeKey, String labelText) {

-        Assert.isNotNull(launchConfigurationTab);

-    	this.fLaunchConfCommInt = launchConfigurationTab;

+        Assert.isNotNull(configurationPage);

+    	this.fConfigurationPage = configurationPage;

 

         Assert.isNotNull(storeKey);

     	this.fStoreKey = storeKey;

@@ -548,8 +548,8 @@
      * @param msg the error message

      */

     protected void showErrorMessage(String msg) {

-        if (fLaunchConfCommInt != null) {

-			fLaunchConfCommInt.propagateErrorMessage(msg);

+        if (fConfigurationPage != null) {

+			fConfigurationPage.propagateErrorMessage(msg);

 		}

     }

 

@@ -560,14 +560,14 @@
      * @param msg the message

      */

     protected void showMessage(String msg) {

-        if (fLaunchConfCommInt != null) {

-			fLaunchConfCommInt.propagateMessage(msg);

+        if (fConfigurationPage != null) {

+			fConfigurationPage.propagateMessage(msg);

 		}

     }

 

     public void updateLaunchConfigurationDialog() {

-        if (fLaunchConfCommInt != null) {

-			fLaunchConfCommInt.propagateGUIupdate();

+        if (fConfigurationPage != null) {

+			fConfigurationPage.propagateGUIupdate();

 		}

     }

 

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/IntegerFieldEditor.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/IntegerFieldEditor.java
similarity index 88%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/IntegerFieldEditor.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/IntegerFieldEditor.java
index 718baa4..b5ee235 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/IntegerFieldEditor.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/IntegerFieldEditor.java
@@ -7,14 +7,14 @@
  *

  * Contributors:

  *     Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr - Initial API and implementation

- *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (ILaunchConfigurationEditorComposite)

+ *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (AbstractConfigurationPage)

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.editors.impls;

+package org.eclipse.efm.execution.configuration.common.ui.editors;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

 import org.eclipse.jface.resource.JFaceResources;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Text;

@@ -30,18 +30,18 @@
     private static final int DEFAULT_TEXT_LIMIT = 10;

 

 

-	public IntegerFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public IntegerFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, Composite parent, int defaultValue) {

-		this(fLaunchConfCommInt, storeKey, labelText, parent, DEFAULT_TEXT_LIMIT, defaultValue);

+		this(configurationPage, storeKey, labelText, parent, DEFAULT_TEXT_LIMIT, defaultValue);

 	}

 

-	public IntegerFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public IntegerFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, Composite parent, int textLimit, int defaultValue) {

 		super( Integer.toString(defaultValue) , true );

 

 		fDefaultValue = defaultValue;

 

-		init(fLaunchConfCommInt, storeKey, labelText);

+		init(configurationPage, storeKey, labelText);

 

         setTextLimit(textLimit);

 //        widthInChars = 5;

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/ListOfStringFieldEditor.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/ListOfStringFieldEditor.java
similarity index 83%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/ListOfStringFieldEditor.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/ListOfStringFieldEditor.java
index 9c36c9d..fac97b2 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/ListOfStringFieldEditor.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/ListOfStringFieldEditor.java
@@ -7,17 +7,16 @@
  *

  * Contributors:

  *     Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr - Initial API and implementation

- *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (ILaunchConfigurationEditorComposite)

+ *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (AbstractConfigurationPage)

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.editors.impls;

+package org.eclipse.efm.execution.configuration.common.ui.editors;

 

 import java.util.List;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.FieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

 import org.eclipse.swt.widgets.Composite;

 

 public class ListOfStringFieldEditor extends FieldEditor {

@@ -25,9 +24,9 @@
 	private List< String > fValue;

 	private List< String > fDefaultValue;

 

-	public ListOfStringFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public ListOfStringFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, Composite parent, List< String > defaultValue) {

-		super(fLaunchConfCommInt, storeKey, labelText, parent);

+		super(configurationPage, storeKey, labelText, parent);

 		this.fDefaultValue = defaultValue;

 	}

 

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/StringFieldEditor.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/StringFieldEditor.java
similarity index 94%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/StringFieldEditor.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/StringFieldEditor.java
index fc5cafd..3a37be0 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/editors/impls/StringFieldEditor.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/StringFieldEditor.java
@@ -7,16 +7,15 @@
  *

  * Contributors:

  *     Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr - Initial API and implementation

- *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (ILaunchConfigurationEditorComposite)

+ *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New Interfacing (AbstractConfigurationPage)

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.editors.impls;

+package org.eclipse.efm.execution.configuration.common.ui.editors;

 

 import org.eclipse.core.runtime.Assert;

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.FieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

 import org.eclipse.jface.resource.JFaceResources;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.events.DisposeEvent;

@@ -176,12 +175,12 @@
      * @param parent the parent of the field editor's control

      * @since 2.0

      */

-	public StringFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public StringFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, int width,

             int strategy, Composite parent, String defaultValue, int textFieldStyle) {

 		this.fDefaultValue = defaultValue;

 

-        init(fLaunchConfCommInt, storeKey, labelText);

+        init(configurationPage, storeKey, labelText);

 

         widthInChars = width;

         setValidateStrategy(strategy);

@@ -194,15 +193,15 @@
     }

 

 	

-	public StringFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public StringFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, Composite parent, String defaultValue) {

-        this(fLaunchConfCommInt, storeKey, labelText, UNLIMITED,

+        this(configurationPage, storeKey, labelText, UNLIMITED,

         		VALIDATE_ON_KEY_STROKE, parent, defaultValue, SWT.SINGLE);

 	}

 

-	public StringFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+	public StringFieldEditor(AbstractConfigurationPage configurationPage,

 			String storeKey, String labelText, Composite parent, String defaultValue, int textFieldStyle) {

-        this(fLaunchConfCommInt, storeKey, labelText, UNLIMITED,

+        this(configurationPage, storeKey, labelText, UNLIMITED,

         		VALIDATE_ON_KEY_STROKE, parent, defaultValue, textFieldStyle);

 	}

 

@@ -216,9 +215,9 @@
      *  or <code>UNLIMITED</code> for no limit

      * @param parent the parent of the field editor's control

      */

-    public StringFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+    public StringFieldEditor(AbstractConfigurationPage configurationPage,

     		String storeKey, String labelText, int width, Composite parent) {

-        this(fLaunchConfCommInt, storeKey, labelText, width,

+        this(configurationPage, storeKey, labelText, width,

         		VALIDATE_ON_KEY_STROKE, parent, "", SWT.SINGLE);

     }

 

@@ -230,9 +229,9 @@
      * @param labelText the label text of the field editor

      * @param parent the parent of the field editor's control

      */

-    public StringFieldEditor(ILaunchConfigurationEditorComposite fLaunchConfCommInt,

+    public StringFieldEditor(AbstractConfigurationPage configurationPage,

     		String storeKey, String labelText, Composite parent) {

-        this(fLaunchConfCommInt, storeKey, labelText, UNLIMITED, parent);

+        this(configurationPage, storeKey, labelText, UNLIMITED, parent);

     }

 

     @Override

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/DebugTabItemContentCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/debug/DebugConfigurationPage.java
similarity index 96%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/DebugTabItemContentCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/debug/DebugConfigurationPage.java
index dbbbe50..95db629 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/DebugTabItemContentCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/debug/DebugConfigurationPage.java
@@ -11,19 +11,20 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New API (free-composite-based, no type assumptions on parent)

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components;

+package org.eclipse.efm.execution.configuration.common.ui.page.debug;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.efm.execution.core.AbstractLaunchDelegate;

 import org.eclipse.efm.execution.core.IWorkflowPreferenceConstants;

 import org.eclipse.efm.execution.core.SymbexPreferenceUtil;

 import org.eclipse.efm.execution.core.workflow.common.ConsoleVerbosityKind;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.events.ModifyEvent;

 import org.eclipse.swt.events.ModifyListener;

@@ -34,7 +35,7 @@
 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Group;

 

-public class DebugTabItemContentCreator extends AbstractTabItemContentCreator {

+public class DebugConfigurationPage extends AbstractConfigurationPage {

 

 	// Console Log

 	private static final String[] CONSOLE_LEVEL_COMBO_ITEMS = new String[] {

@@ -90,7 +91,7 @@
 	private StringFieldEditor  fSecondSymbexOutputGraphizFormatStringField;

 	private Composite fCompositeSecondSymbexOutputGraphiz;

 

-	public DebugTabItemContentCreator(ILaunchConfigurationGUIelement masterGUIelement) {

+	public DebugConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {

 		super(masterGUIelement);

 

 		if( AbstractLaunchDelegate.ENABLED_SYMBEX_DEVELOPER_MODE_OPTION ) {

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/DeveloperTuningTabItemContentCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/developer/DeveloperTuningConfigurationPage.java
similarity index 96%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/DeveloperTuningTabItemContentCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/developer/DeveloperTuningConfigurationPage.java
index 8ae2755..89198c9 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/DeveloperTuningTabItemContentCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/developer/DeveloperTuningConfigurationPage.java
@@ -11,16 +11,17 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New API (free-composite-based, no type assumptions on parent)

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components;

+package org.eclipse.efm.execution.configuration.common.ui.page.developer;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.efm.execution.core.workflow.common.DebuglevelKind;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.events.ModifyEvent;

 import org.eclipse.swt.events.ModifyListener;

@@ -32,7 +33,7 @@
 import org.eclipse.swt.widgets.Group;

 import org.eclipse.swt.widgets.Label;

 

-public class DeveloperTuningTabItemContentCreator extends AbstractTabItemContentCreator {

+public class DeveloperTuningConfigurationPage extends AbstractConfigurationPage {

 

 	private static final String[] TRACE_LEVEL_COMBO_ITEMS = new String[] {

 			DebuglevelKind.ZERO.getLiteral(),

@@ -126,7 +127,7 @@
 	private BooleanFieldEditor fNothingEnabledBooleanField;

 	private BooleanFieldEditor fGodModeEnabledBooleanField;

 

-	public DeveloperTuningTabItemContentCreator(ILaunchConfigurationGUIelement masterGUIelement) {

+	public DeveloperTuningConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {

 		super(masterGUIelement);

 	}

 

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/ExpertBehaviorSelectionPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertBehaviorSelectionConfigurationProfile.java
similarity index 84%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/ExpertBehaviorSelectionPage.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertBehaviorSelectionConfigurationProfile.java
index f018f10..b762a3b 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/ExpertBehaviorSelectionPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertBehaviorSelectionConfigurationProfile.java
@@ -10,21 +10,21 @@
  *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr

  *   - Initial API and Implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages;

+package org.eclipse.efm.execution.configuration.common.ui.page.expert;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.IntegerFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationComponent;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.IntegerFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.swt.layout.GridData;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Group;

-import org.eclipse.ui.forms.widgets.FormToolkit;

 

-public class ExpertBehaviorSelectionPage extends AbstractTabComponentPage {

+public class ExpertBehaviorSelectionConfigurationProfile extends AbstractConfigurationComponent {

 

 	// HIT OR JUMP

 	//

@@ -54,14 +54,13 @@
 	 * Constructor

 	 * @param parentTab

 	 */

-	public ExpertBehaviorSelectionPage(

-			ILaunchConfigurationEditorComposite parentTab) {

-		super(parentTab);

+	public ExpertBehaviorSelectionConfigurationProfile(AbstractConfigurationPage configurationPage) {

+		super(configurationPage);

 	}

 

 	@Override

-	public void createPageWithToolkit(Composite parentComposite, FormToolkit toolkit) {

-		createExpandableFrameWithToolkit(parentComposite, toolkit, "Behavior Selection Page");

+	public void createPageWithToolkit(Composite parentComposite) {

+		createExpandableFrameWithToolkit(parentComposite, "Behavior Selection Page");

 

 //				SWTFactory.createGroup(fCompositeParent,

 //				"Behavior Selection Page", 1, 2, GridData.FILL_HORIZONTAL);

@@ -72,7 +71,7 @@
 		Composite comp1 = SWTFactory.createComposite(groupHoJProperty, 1, 1,

 				GridData.FILL_HORIZONTAL);

 

-		fHoJBeginStep = new IntegerFieldEditor(fParentTab,

+		fHoJBeginStep = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_BEGIN_STEP,

 				"&Begin Step:", comp1, 0);

 		fHoJBeginStep.setToolTipText("Number of \"cumulated\" steps "

@@ -83,21 +82,21 @@
 

 		Composite compCommon = SWTFactory.createComposite(

 				groupCommon, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJHeuristic = new BooleanFieldEditor(fParentTab,

+		fHoJHeuristic = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_HEURISTIC,

 				"&Heuristic", compCommon, true);

 		fHoJHeuristic.setToolTipText("Activate the use of heuristics");

 

 		compCommon = SWTFactory.createComposite(

 				groupCommon, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJStop = new BooleanFieldEditor(fParentTab,

+		fHoJStop = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_STOP, "&Stop", compCommon, true);

 		fHoJStop.setToolTipText("Stop the symbolic excution "

 				+ "as soon as the behavior is covered");

 

 		compCommon = SWTFactory.createComposite(

 				groupCommon, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJSlice = new BooleanFieldEditor(fParentTab,

+		fHoJSlice = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_SLICE, "&Slice", compCommon, true);

 		fHoJSlice.setToolTipText("Pruning the symbolic execution graph "

 				+ "at the end of the analysis");

@@ -110,7 +109,7 @@
 				groupScope, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fHoJLocallySearchScope = new BooleanFieldEditor(

-				fParentTab, ATTR_BEHAVIOR_SELECTION_HOJ_SEARCH_SCOPE_LOCALLY,

+				fConfigurationPage, ATTR_BEHAVIOR_SELECTION_HOJ_SEARCH_SCOPE_LOCALLY,

 				"&Search Locally scope instead Globally", comp, false);

 

 		Group groupScheduler = SWTFactory.createGroup(groupHoJProperty,

@@ -118,14 +117,14 @@
 

 		Composite compScheduler = SWTFactory.createComposite(

 				groupScheduler, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJSchedulerOrdered = new BooleanFieldEditor(fParentTab,

+		fHoJSchedulerOrdered = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_SCHEDULER_ORDERED,

 				"&Ordered", compScheduler, true);

 		fHoJSchedulerOrdered.setToolTipText("Search ordered traces");

 

 		compScheduler = SWTFactory.createComposite(

 				groupScheduler, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJHitConsecutive = new BooleanFieldEditor(fParentTab,

+		fHoJHitConsecutive = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_HIT_CONSECUTIVE,

 				"&Consecutive", compScheduler, false);

 		fHoJHitConsecutive.setToolTipText(

@@ -137,7 +136,7 @@
 

 		Composite compOption = SWTFactory.createComposite(

 				groupOption, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJHitFolding = new BooleanFieldEditor(fParentTab,

+		fHoJHitFolding = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_HIT_FOLDING,

 				"&Folding", compOption, true);

 		fHoJHitFolding.setToolTipText(

@@ -145,7 +144,7 @@
 

 		compOption = SWTFactory.createComposite(

 				groupOption, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJHitLucky = new BooleanFieldEditor(fParentTab,

+		fHoJHitLucky = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_HIT_LUCKY,

 				"&Lucky", compOption, false);

 		fHoJHitLucky.setToolTipText(

@@ -153,14 +152,14 @@
 

 		compOption = SWTFactory.createComposite(

 				groupOption, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJHitMax = new BooleanFieldEditor(fParentTab,

+		fHoJHitMax = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_HIT_MAX,

 				"&Maximun Trace", compOption, false);

 		fHoJHitMax.setToolTipText("Search a maximun trace");

 

 		compOption = SWTFactory.createComposite(

 				groupOption, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJJumpSlice = new BooleanFieldEditor(fParentTab,

+		fHoJJumpSlice = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_JUMP_SLICE,

 				"&Jump Slice", compOption, false);

 		fHoJJumpSlice.setToolTipText(

@@ -172,19 +171,19 @@
 

 		Composite compHeuristic = SWTFactory.createComposite(

 				groupHoJHeuristic, 1, 1, GridData.FILL_HORIZONTAL);

-		fHoJJumpHeight = new IntegerFieldEditor(fParentTab,

+		fHoJJumpHeight = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_JUMP_HEIGHT,

 				"&Jump Height:", compHeuristic, 6);

 

-		fHoJJumpLimit = new IntegerFieldEditor(fParentTab,

+		fHoJJumpLimit = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_JUMP_TRIALS_LIMIT,

 				"&Jump Trials Limit:", compHeuristic, -1);

 

-		fHoJHitCount = new IntegerFieldEditor(fParentTab,

+		fHoJHitCount = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_HIT_COUNT,

 				"&Hit Count:", compHeuristic, 1);

 

-		fHoJJumpCount = new IntegerFieldEditor(fParentTab,

+		fHoJJumpCount = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_SELECTION_HOJ_JUMP_COUNT,

 				"&Jump Count:", compHeuristic, 1);

 	}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/ExpertTabItemContentCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertConfigurationPage.java
similarity index 81%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/ExpertTabItemContentCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertConfigurationPage.java
index 9b977d7..0e1bf11 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/ExpertTabItemContentCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertConfigurationPage.java
@@ -11,36 +11,35 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New API (free-composite-based, no type assumptions on parent)

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components;

+package org.eclipse.efm.execution.configuration.common.ui.page.expert;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.ExpertBehaviorSelectionPage;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.ExpertTransitionCoveragePage;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.swt.layout.GridData;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Group;

 

-public class ExpertTabItemContentCreator extends AbstractTabItemContentCreator {

+public class ExpertConfigurationPage extends AbstractConfigurationPage {

 

 	private Group groupExplorationPage;

 

 	// BEHAVIOR SELECTION : HIT OR JUMP

-	ExpertBehaviorSelectionPage fBehaviorSelectionPage;

+	ExpertBehaviorSelectionConfigurationProfile fBehaviorSelectionPage;

 

 	// TRANSITION COVERAGE

-	ExpertTransitionCoveragePage fTransitionCoveragePage;

+	ExpertTransitionCoverageConfigurationProfile fTransitionCoveragePage;

 

-	public ExpertTabItemContentCreator(ILaunchConfigurationGUIelement masterGUIelement) {

+	public ExpertConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {

 		super(masterGUIelement);

 		// BEHAVIOR SELECTION : HIT OR JUMP

-		fBehaviorSelectionPage = new ExpertBehaviorSelectionPage(this);

+		fBehaviorSelectionPage = new ExpertBehaviorSelectionConfigurationProfile(this);

 

 		//  TRANSITION COVERAGE

-		fTransitionCoveragePage = new ExpertTransitionCoveragePage(this);

+		fTransitionCoveragePage = new ExpertTransitionCoverageConfigurationProfile(this);

 	}

 

 

@@ -58,10 +57,10 @@
 		createExplorationPage(parentComposite);

 

 		// BEHAVIOR SELECTION : HIT OR JUMP

-		fBehaviorSelectionPage.createPageWithToolkit(parentComposite, getMasterFormToolkit());

+		fBehaviorSelectionPage.createPageWithToolkit(parentComposite);

 

 		// TRANSITION COVERAGE

-		fTransitionCoveragePage.createPageWithToolkit(parentComposite,getMasterFormToolkit());

+		fTransitionCoveragePage.createPageWithToolkit(parentComposite);

 	}

 

 	private void setEnableGroupExplorationPage(ILaunchConfiguration configuration) {

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/ExpertTransitionCoveragePage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertTransitionCoverageConfigurationProfile.java
similarity index 89%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/ExpertTransitionCoveragePage.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertTransitionCoverageConfigurationProfile.java
index d466748..13f7830 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/ExpertTransitionCoveragePage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertTransitionCoverageConfigurationProfile.java
@@ -10,15 +10,16 @@
  *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr

  *   - Initial API and Implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages;

+package org.eclipse.efm.execution.configuration.common.ui.page.expert;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.IntegerFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationComponent;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.IntegerFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.events.ModifyEvent;

 import org.eclipse.swt.events.ModifyListener;

@@ -28,9 +29,8 @@
 import org.eclipse.swt.widgets.Combo;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Group;

-import org.eclipse.ui.forms.widgets.FormToolkit;

 

-public class ExpertTransitionCoveragePage extends AbstractTabComponentPage {

+public class ExpertTransitionCoverageConfigurationProfile extends AbstractConfigurationComponent {

 

 	private static final String SCOPE_COMBO_ITEM_INSTANCE = "INSTANCE";

 	private static final String SCOPE_COMBO_ITEM_MODEL = "MODEL";

@@ -100,9 +100,8 @@
 	 * Constructor

 	 * @param parentTab

 	 */

-	public ExpertTransitionCoveragePage(

-			ILaunchConfigurationEditorComposite parentTab) {

-		super(parentTab);

+	public ExpertTransitionCoverageConfigurationProfile(AbstractConfigurationPage configurationPage) {

+		super(configurationPage);

 	}

 

 

@@ -113,7 +112,7 @@
 		 */

 		@Override

 		public void modifyText(ModifyEvent e) {

-			fParentTab.propagateGUIupdate();

+			fConfigurationPage.propagateGUIupdate();

 		}

 

 		/* (non-Javadoc)

@@ -138,23 +137,23 @@
 

 	private void handleScopeSelectionChange() {

 		fTCScope = fTCScopeCombo.getText();

-		fParentTab.propagateGUIupdate();

+		fConfigurationPage.propagateGUIupdate();

 	}

 

 	private void handleHeuristicStartSelectionChange() {

 		fTCHeuristicStart = fTCHeuristicStartCombo.getText();

-		fParentTab.propagateGUIupdate();

+		fConfigurationPage.propagateGUIupdate();

 	}

 

 	private void handleDirectiveTraceHeuristicSelectionChange() {

 		fTCDirectiveTraceHeuristic = fTCDirectiveTraceHeuristicCombo.getText();

-		fParentTab.propagateGUIupdate();

+		fConfigurationPage.propagateGUIupdate();

 	}

 

 

 	@Override

-	public void createPageWithToolkit(Composite parentComposite, FormToolkit toolkit) {

-		createExpandableFrameWithToolkit(parentComposite, toolkit, "Transition Coverage Page");

+	public void createPageWithToolkit(Composite parentComposite) {

+		createExpandableFrameWithToolkit(parentComposite, "Transition Coverage Page");

 				

 //				SWTFactory.createGroup(parent,

 //				"Transition Coverage Page", 1, 2, GridData.FILL_HORIZONTAL);

@@ -168,7 +167,7 @@
 		Composite comp = SWTFactory.createComposite(

 				groupTCProperty, 1, 1, GridData.FILL_HORIZONTAL);

 //				GridData.HORIZONTAL_ALIGN_BEGINNING);

-		fTCBeginStep = new IntegerFieldEditor(fParentTab,

+		fTCBeginStep = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_BEGIN_STEP,

 				"&Begin Step:", comp, 0);

 		fTCBeginStep.setToolTipText("Number of \"cumulated\" steps "

@@ -181,28 +180,28 @@
 

 		Composite compCommon = SWTFactory.createComposite(

 				groupCommon, 1, 1, GridData.FILL_HORIZONTAL);

-		fTCHeuristic = new BooleanFieldEditor(fParentTab,

+		fTCHeuristic = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_HEURISTIC,

 				"&Heuristic", compCommon, true);

 		fTCHeuristic.setToolTipText("Activate the use of heuristics");

 

 		compCommon = SWTFactory.createComposite(

 				groupCommon, 1, 1, GridData.FILL_HORIZONTAL);

-		fTCStop = new BooleanFieldEditor(fParentTab,

+		fTCStop = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_STOP, "&Stop", compCommon, true);

 		fTCStop.setToolTipText("Stop the symbolic excution "

 				+ "as soon as the coverage is completed");

 

 		compCommon = SWTFactory.createComposite(

 				groupCommon, 1, 1, GridData.FILL_HORIZONTAL);

-		fTCSlice = new BooleanFieldEditor(fParentTab,

+		fTCSlice = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_SLICE, "&Slice", compCommon, true);

 		fTCSlice.setToolTipText("Pruning symbolic execution "

 				+ "graph at the end of the analysis");

 

 		compCommon = SWTFactory.createComposite(

 				groupCommon, 1, 1, GridData.FILL_HORIZONTAL);

-		fTCMinimize = new BooleanFieldEditor(fParentTab,

+		fTCMinimize = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_MINIMIZE,

 				"&Minimize", compCommon, true);

 		fTCMinimize.setToolTipText(

@@ -235,7 +234,7 @@
 				1, HEURISTIC_START_COMBO_ITEMS);

 		fTCHeuristicStartCombo.addSelectionListener(fListener);

 

-		fTCHeuristicTrials = new IntegerFieldEditor(fParentTab,

+		fTCHeuristicTrials = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_HEURISTIC_TRIALS, "&Trials:", comp, -1);

 		fTCHeuristicTrials.widthInChars = 10;

 		//fTCHeuristicTrials.setTextLimit(20);

@@ -247,12 +246,12 @@
 		comp = SWTFactory.createComposite(

 				group, 2, 1, GridData.FILL_HORIZONTAL);

 

-		fTCObjectiveRate = new IntegerFieldEditor(fParentTab,

+		fTCObjectiveRate = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_OBJECTIVE_RATE, "&Rate:", comp, 100);

 		//fTCObjectiveRate.widthInChars = 3;

 		fTCObjectiveRate.setTextLimit(3);

 

-		fTCObjectiveRest = new IntegerFieldEditor(fParentTab,

+		fTCObjectiveRest = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_OBJECTIVE_REST, "&Rest:", comp, 0);

 		//fTCObjectiveRest.widthInChars = 3;

 		fTCObjectiveRest.setTextLimit(3);

@@ -264,10 +263,10 @@
 		comp = SWTFactory.createComposite(

 				group, 2, 1, GridData.FILL_HORIZONTAL);

 

-		fTCCoverageHeight = new IntegerFieldEditor(fParentTab,

+		fTCCoverageHeight = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_LOOKAHEAD_DEPTH, "&Depth:", comp, 7);

 

-		fTCCoverageHeightReachedLimit = new IntegerFieldEditor(fParentTab,

+		fTCCoverageHeightReachedLimit = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_LOOKAHEAD_WIDTH, "&Width:", comp, 42);

 

 

@@ -287,11 +286,11 @@
 		comp = SWTFactory.createComposite(

 				compGroup, 1, 2, GridData.FILL_HORIZONTAL);

 

-		fTCHitStronglyRandom = new BooleanFieldEditor(fParentTab,

+		fTCHitStronglyRandom = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_HIT_STRONGLY_RANDOM,

 				"&Hit Random", comp, false);

 

-		fTCHitStronglyCount = new IntegerFieldEditor(fParentTab,

+		fTCHitStronglyCount = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_HIT_STRONGLY_COUNT,

 				"&Hit Count:", compGroup, 1);

 

@@ -306,11 +305,11 @@
 		comp = SWTFactory.createComposite(

 				compGroup, 1, 2, GridData.FILL_HORIZONTAL);

 

-		fTCHitWeaklyRandom = new BooleanFieldEditor(fParentTab,

+		fTCHitWeaklyRandom = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_HIT_WEAKLY_RANDOM,

 				"&Hit Random", comp, false);

 

-		fTCHitWeaklyCount = new IntegerFieldEditor(fParentTab,

+		fTCHitWeaklyCount = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_HIT_WEAKLY_COUNT,

 				"&Hit Count:", compGroup, 1);

 

@@ -325,11 +324,11 @@
 		comp = SWTFactory.createComposite(

 				compGroup, 1, 2, GridData.FILL_HORIZONTAL);

 

-		fTCHitOtherRandom = new BooleanFieldEditor(fParentTab,

+		fTCHitOtherRandom = new BooleanFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_HIT_OTHER_RANDOM,

 				"&Hit Random", comp, false);

 

-		fTCHitOtherCount = new IntegerFieldEditor(fParentTab,

+		fTCHitOtherCount = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_HIT_OTHER_COUNT,

 				"&Hit Count:", compGroup, 1);

 

@@ -352,11 +351,11 @@
 				DIRECTIVE_TRACE_HEURISTIC_COMBO_ITEMS);

 		fTCDirectiveTraceHeuristicCombo.addSelectionListener(fListener);

 

-		fTCDirectiveTraceCountLimit = new IntegerFieldEditor(fParentTab,

+		fTCDirectiveTraceCountLimit = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_DIRECTIVE_TRACE_COUNT_LIMIT,

 				"&Count:", comp, 8);

 

-		fTCDirectiveTraceSizeLimit = new IntegerFieldEditor(fParentTab,

+		fTCDirectiveTraceSizeLimit = new IntegerFieldEditor(fConfigurationPage,

 				ATTR_TRANSITION_COVERAGE_DIRECTIVE_TRACE_SIZE_LIMIT,

 				"&Size:", comp, 8);

 	}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/NonRegressionTabItemContentCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/nonregression/NonRegressionConfigurationPage.java
similarity index 96%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/NonRegressionTabItemContentCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/nonregression/NonRegressionConfigurationPage.java
index c96e097..ebe9833 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/NonRegressionTabItemContentCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/nonregression/NonRegressionConfigurationPage.java
@@ -11,7 +11,7 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New API (free-composite-based, no type assumptions on parent)

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components;

+package org.eclipse.efm.execution.configuration.common.ui.page.nonregression;

 

 import java.io.BufferedReader;

 import java.io.FileInputStream;

@@ -27,9 +27,10 @@
 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.jface.window.Window;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.accessibility.AccessibleAdapter;

@@ -54,7 +55,7 @@
 import org.eclipse.ui.model.WorkbenchLabelProvider;

 import org.eclipse.ui.views.navigator.ResourceComparator;

 

-public class NonRegressionTabItemContentCreator extends AbstractTabItemContentCreator {

+public class NonRegressionConfigurationPage extends AbstractConfigurationPage {

 

     private BooleanFieldEditor fNonRegressionBooleanField;

 

@@ -85,7 +86,7 @@
 	private List< String > transitionsToBeSelected;

 	private List< String > selectedTransitions;

 

-	public NonRegressionTabItemContentCreator(ILaunchConfigurationGUIelement masterGUIelement) {

+	public NonRegressionConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {

 		super(masterGUIelement);

 	}

 

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewAnalysisProfileSection.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewAnalysisProfileSection.java
new file mode 100644
index 0000000..8447ae2
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewAnalysisProfileSection.java
@@ -0,0 +1,109 @@
+/*******************************************************************************

+ * Copyright (c) 2017 CEA LIST.

+ *

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

+ *   - Initial API and Implementation

+ *******************************************************************************/

+package org.eclipse.efm.execution.configuration.common.ui.page.overview;

+

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationSection;

+import org.eclipse.efm.execution.configuration.common.ui.editors.FieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

+import org.eclipse.jface.action.IToolBarManager;

+import org.eclipse.jface.action.ToolBarManager;

+import org.eclipse.swt.SWT;

+import org.eclipse.swt.events.SelectionEvent;

+import org.eclipse.swt.events.SelectionListener;

+import org.eclipse.swt.widgets.Button;

+import org.eclipse.swt.widgets.Combo;

+import org.eclipse.swt.widgets.Composite;

+

+public class OverviewAnalysisProfileSection extends AbstractConfigurationSection {

+	

+	private static final String[] MODEL_COMBO_ITEMS = new String[] {

+			ANALYSIS_PROFILE_MODEL_EXPLORATION ,

+			ANALYSIS_PROFILE_MODEL_COVERAGE_TRANSITION ,

+			ANALYSIS_PROFILE_MODEL_COVERAGE_BEHAVIOR,

+			ANALYSIS_PROFILE_TEST_OFFLINE

+	};

+	

+	public OverviewAnalysisProfileSection(

+			AbstractConfigurationPage configurationPage,

+			ToolBarManager tbm, Composite innertabcompo)

+	{

+		super(configurationPage, tbm, innertabcompo);

+	}

+	

+	@Override

+	public void addComposite(Composite innertabcompo, IToolBarManager tbm) {

+		addComposite_internal(innertabcompo, tbm, "&Analysis Profile");

+	}

+

+	private FieldEditor[] contentFieldEdit;

+	

+

+	public Combo fModelCombo;

+	public OverviewTransitionCoverageConfigurationProfile fTransitionCoveragePage;

+	public OverviewBehaviorSelectionConfigurationProfile fBehaviorSelectionPage;

+	public OverviewTestOfflineConfigurationProfile fTestOfflinePage;

+	public Button fTestOfflineButton;

+	

+	

+	@Override

+	public void requestLayout() {

+		super.requestLayout();

+	}

+	

+	@Override

+	protected void addCollapsedContent() {		

+		fModelCombo = SWTFactory.createCombo(sectionClient,

+				SWT.DROP_DOWN | SWT.READ_ONLY, 1, MODEL_COMBO_ITEMS);

+		fModelCombo.setToolTipText(

+				  "Choice of the strategy for the symbolic execution of the model\n"

+				+ "\t- Exploration: basic symbolic execution of the model\n"

+				+ "\t- Transition Coverage: compute a symbolic tree which covers all transitions of the model\n"

+				+ "\t- Behavior Selection: compute one or more symbolic path(s) which cover(s)\n"

+				+ "\t\t\t   a predefined behavior\n"

+				+ "\t- TESTOFFLINE : Test Verdict Computation: Offline testing...\n");

+		fModelCombo.addSelectionListener(new SelectionListener() {

+			@Override

+			public void widgetSelected(SelectionEvent e) {

+				fConfigurationPage.getMasterGUIelement().scheduleUpdateJob();

+				requestLayout();

+			}

+			@Override

+			public void widgetDefaultSelected(SelectionEvent e) {

+				fConfigurationPage.getMasterGUIelement().scheduleUpdateJob();

+				requestLayout();

+			}

+		});

+

+		// TRANSITION COVERAGE ANALYSIS

+		fTransitionCoveragePage = new OverviewTransitionCoverageConfigurationProfile(this.fConfigurationPage);

+		fTransitionCoveragePage.createPageWithToolkit(sectionClient);

+		fTransitionCoveragePage.updateLayouts();

+

+		// BEHAVIOR SELECTION ANALYSIS

+		fBehaviorSelectionPage = new OverviewBehaviorSelectionConfigurationProfile(this.fConfigurationPage);

+		fBehaviorSelectionPage.createPageWithToolkit(sectionClient);

+		fBehaviorSelectionPage.updateLayouts();

+		

+		fTestOfflinePage = new OverviewTestOfflineConfigurationProfile(this.fConfigurationPage);

+		fTestOfflinePage.createPageWithToolkit(sectionClient);

+		fTestOfflinePage.updateLayouts();

+	}

+

+	@Override

+	public FieldEditor[] getFieldEditors() {

+		return contentFieldEdit;

+	}

+	

+

+}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabBehaviorSelectionPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewBehaviorSelectionConfigurationProfile.java
similarity index 80%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabBehaviorSelectionPage.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewBehaviorSelectionConfigurationProfile.java
index 8d9c618..0155d69 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabBehaviorSelectionPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewBehaviorSelectionConfigurationProfile.java
@@ -10,17 +10,17 @@
  *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr

  *   - Initial API and Implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages;

+package org.eclipse.efm.execution.configuration.common.ui.page.overview;

 

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationComponent;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.forms.widgets.FormToolkit;

 

-public class MainTabBehaviorSelectionPage extends AbstractTabComponentPage {

+public class OverviewBehaviorSelectionConfigurationProfile extends AbstractConfigurationComponent {

 

 	private StringFieldEditor fBehaviorSpecificationStringField;

 

@@ -29,18 +29,17 @@
 	 * Constructor

 	 * @param parentTab

 	 */

-	public MainTabBehaviorSelectionPage(

-			ILaunchConfigurationEditorComposite parentTab) {

-		super(parentTab);

+	public OverviewBehaviorSelectionConfigurationProfile(AbstractConfigurationPage configurationPage) {

+		super(configurationPage);

 	}

 

 

 	@Override

-	public void createPageWithToolkit(Composite parentComposite, FormToolkit toolkit) {

-		createExpandableFrameWithToolkit(parentComposite, toolkit, "Behavior Selection Page");

+	public void createPageWithToolkit(Composite parentComposite) {

+		createExpandableFrameWithToolkit(parentComposite, "Behavior Selection Page");

 		fCompositeControl.setToolTipText(BEHAVIOR_DESCRIPTION);

 

-		fBehaviorSpecificationStringField = new StringFieldEditor(fParentTab,

+		fBehaviorSpecificationStringField = new StringFieldEditor(fConfigurationPage,

 				ATTR_BEHAVIOR_ANALYSIS_ELEMENT_NAME_LIST, "",

 				fCompositeControl, BEHAVIOR_DESCRIPTION, SWT.MULTI);

 

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/MainTabItemContentCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewConfigurationPage.java
similarity index 92%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/MainTabItemContentCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewConfigurationPage.java
index 61b5c7a..d7dfba0 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/MainTabItemContentCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewConfigurationPage.java
@@ -10,7 +10,7 @@
  *  Alain Faivre (CEA LIST) alain.faivre@cea.fr - Initial Implementation (tab-based, inserted in Run Configurations dialog)

  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New API (free-composite-based, no type assumptions on parent)

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components;

+package org.eclipse.efm.execution.configuration.common.ui.page.overview;

 

 import java.io.File;

 import java.util.ArrayList;

@@ -23,18 +23,14 @@
 import org.eclipse.core.runtime.Path;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;

+import org.eclipse.efm.execution.configuration.common.ui.editors.FieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.GenericCompositeCreator;

 import org.eclipse.efm.execution.core.AbstractLaunchDelegate;

 import org.eclipse.efm.execution.core.IWorkflowPreferenceConstants;

 import org.eclipse.efm.execution.core.SymbexPreferenceUtil;

-import org.eclipse.efm.execution.ui.views.editors.FieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.MainTabBehaviorSelectionPage;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.MainTabTestOfflinePage;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.MainTabTransitionCoveragePage;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.sections.AnalysisProfile1SectionCreator;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.sections.WorkspaceFolderNameSectionCreator;

-import org.eclipse.efm.execution.ui.views.utils.GenericCompositeCreator;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

 import org.eclipse.jface.action.Action;

 import org.eclipse.jface.action.ToolBarManager;

 import org.eclipse.jface.window.Window;

@@ -56,7 +52,7 @@
 import org.eclipse.ui.model.WorkbenchLabelProvider;

 import org.eclipse.ui.views.navigator.ResourceComparator;

 

-public class MainTabItemContentCreator extends AbstractTabItemContentCreator

+public class OverviewConfigurationPage extends AbstractConfigurationPage

 		implements IWorkflowPreferenceConstants {

 

 	private boolean fEnabledSymbexDeveloperMode;

@@ -95,22 +91,22 @@
 	// TRANSITION COVERAGE ANALYSIS

 	/////////////////////////////////////

 

-	MainTabTransitionCoveragePage fTransitionCoveragePage;

+	OverviewTransitionCoverageConfigurationProfile fTransitionCoveragePage;

 

 	/////////////////////////////////////

 	// BEHAVIOR SELECTION ANALYSIS

 	/////////////////////////////////////

 

-	MainTabBehaviorSelectionPage fBehaviorSelectionPage;

+	OverviewBehaviorSelectionConfigurationProfile fBehaviorSelectionPage;

 

 	/////////////////////////////////////

 	// TEST OFFLINE // INCUBATION MODE

 	/////////////////////////////////////

 

-	MainTabTestOfflinePage fTestOfflinePage;

+	OverviewTestOfflineConfigurationProfile fTestOfflinePage;

 

 

-	public MainTabItemContentCreator(ILaunchConfigurationGUIelement masterGUIelement) {

+	public OverviewConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {

 		super(masterGUIelement);

 

 		if( AbstractLaunchDelegate.ENABLED_SYMBEX_DEVELOPER_MODE_OPTION ) {

@@ -214,11 +210,8 @@
 	 */

 	private void createModelFileSelectionComponent(Composite parent) {

 		FormToolkit toolkit = getMasterFormToolkit();

-		fModelWorkspaceBrowse = GenericCompositeCreator.createComposite_label_pushbutton_from_toolkit(toolkit,

-				parent,

-				"Model File Selection",

-				"&Workspace...",

-				2);

+		fModelWorkspaceBrowse = GenericCompositeCreator.createComposite_label_pushbutton_from_toolkit(

+				toolkit, parent, "Model File Selection", "&Workspace...", 2);

 

 		fModelPathText = toolkit.createText(parent, "", SWT.NONE);

 		fModelPathText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

@@ -296,9 +289,8 @@
 		Action[] toputinbar = getActionsByStringKey(new String[]{"action_apply_changes"});

 		GenericCompositeCreator.fillToolBar(tbm, toputinbar);

 

-		WorkspaceFolderNameSectionCreator wfnsc =

-				new WorkspaceFolderNameSectionCreator(

-						this.getMasterGUIelement(), this, tbm, parent);

+		OverviewWorkspaceSection wfnsc =

+				new OverviewWorkspaceSection(this, tbm, parent);

 		FieldEditor[] editors = wfnsc.getFieldEditors();

 		fWorkspaceRootLocationStringField = (StringFieldEditor) editors[0];

 		fWorkspaceOuputFolderNameStringField = (StringFieldEditor) editors[1];

@@ -310,9 +302,8 @@
 		ToolBarManager tbm = new ToolBarManager(SWT.FLAT);

 		Action[] toputinbar = getActionsByStringKey(new String[]{"action_apply_changes"});

 		GenericCompositeCreator.fillToolBar(tbm, toputinbar);

-		AnalysisProfile1SectionCreator apsc =

-				new AnalysisProfile1SectionCreator(

-						this.getMasterGUIelement(), this, tbm, parent);

+		OverviewAnalysisProfileSection apsc =

+				new OverviewAnalysisProfileSection(this, tbm, parent);

 

 

 

@@ -463,6 +454,7 @@
 		catch (CoreException e) {

 			e.printStackTrace();

 		}

+		

 		if( fAnalysisProfile.equals(ANALYSIS_PROFILE_MODEL) &&

 			fModelAnalysis.equals(ANALYSIS_PROFILE_MODEL_COVERAGE_BEHAVIOR)	){

 			fTransitionCoveragePage.collapseAndLockPage();

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabTestOfflinePage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTestOfflineConfigurationProfile.java
similarity index 88%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabTestOfflinePage.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTestOfflineConfigurationProfile.java
index 9add21a..25ecd8c 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabTestOfflinePage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTestOfflineConfigurationProfile.java
@@ -8,7 +8,7 @@
  * Contributors:

  *     Alain Faivre (CEA LIST) alain.faivre@cea.fr - Initial API and implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages;

+package org.eclipse.efm.execution.configuration.common.ui.page.overview;

 

 import java.io.File;

 

@@ -17,12 +17,12 @@
 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationComponent;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.efm.execution.core.Activator;

-//import org.eclipse.efm.runconfiguration.ui.tabs.MainTab;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

 import org.eclipse.jface.dialogs.Dialog;

 import org.eclipse.jface.dialogs.IDialogSettings;

 import org.eclipse.jface.window.Window;

@@ -40,12 +40,11 @@
 import org.eclipse.swt.widgets.Text;

 import org.eclipse.ui.dialogs.ContainerSelectionDialog;

 import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;

-import org.eclipse.ui.forms.widgets.FormToolkit;

 import org.eclipse.ui.model.WorkbenchContentProvider;

 import org.eclipse.ui.model.WorkbenchLabelProvider;

 import org.eclipse.ui.views.navigator.ResourceComparator;

 

-public class MainTabTestOfflinePage extends AbstractTabComponentPage {

+public class OverviewTestOfflineConfigurationProfile extends AbstractConfigurationComponent {

 

 	/////////////////////////////////////

 	// TEST OFFLINE // INCUBATION MODE

@@ -69,9 +68,8 @@
 	 * Constructor

 	 * @param parentTab

 	 */

-	public MainTabTestOfflinePage(

-			ILaunchConfigurationEditorComposite parentTab) {

-		super(parentTab);

+	public OverviewTestOfflineConfigurationProfile(AbstractConfigurationPage configurationPage) {

+		super(configurationPage);

 	}

 

 	/**

@@ -80,7 +78,7 @@
 	private ModifyListener fBasicModifyListener = new ModifyListener() {

 		@Override

 		public void modifyText(ModifyEvent evt) {

-			fParentTab.propagateUpdateJobScheduling();

+			fConfigurationPage.propagateUpdateJobScheduling();

 		}

 	};

 

@@ -102,10 +100,10 @@
 

 

 	@Override

-	public void createPageWithToolkit(Composite parentComposite, FormToolkit toolkit) {

-		createExpandableFrameWithToolkit(parentComposite, toolkit, "&Offline Testing Configuration Page");

+	public void createPageWithToolkit(Composite parentComposite) {

+		createExpandableFrameWithToolkit(parentComposite, "&Offline Testing Configuration Page");

 				

-//				SWTFactory.createGroup(

+//		SWTFactory.createGroup(

 //				fCompositeParent, "&Offline Testing Configuration",

 //				1, 1, GridData.FILL_HORIZONTAL);

 

@@ -209,7 +207,7 @@
 				fCompositeControl, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fEnabledTraceConfigurationBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_TEST_OFFLINE_ENABLED_TRACE_CONFIGURATION,

 						"&Enable Observable / Controllable Configuration",

 						comp, false);

@@ -223,7 +221,7 @@
 				1, 1, GridData.FILL_HORIZONTAL);

 		comp.setToolTipText(TEST_OFFLINE_OBSERVABLE);

 

-		fObservableStringField = new StringFieldEditor(fParentTab,

+		fObservableStringField = new StringFieldEditor(fConfigurationPage,

 				ATTR_TEST_OFFLINE_OBSERVABLE_SPECIFICATION, "", comp,

 				DEFAULT_TEST_OFFLINE_OBSERVABLE_SPECIFICATION, SWT.MULTI);

 

@@ -235,7 +233,7 @@
 				1, 1, GridData.FILL_HORIZONTAL);

 		comp.setToolTipText(TEST_OFFLINE_CONTROLLABLE);

 

-		fControllableStringField = new StringFieldEditor(fParentTab,

+		fControllableStringField = new StringFieldEditor(fConfigurationPage,

 				ATTR_TEST_OFFLINE_CONTROLLABLE_SPECIFICATION, "", comp,

 				DEFAULT_TEST_OFFLINE_CONTROLLABLE_SPECIFICATION, SWT.MULTI);

 	}

@@ -245,8 +243,8 @@
 		boolean enabled =

 				fEnabledTraceConfigurationBooleanField.getBooleanValue();

 

-		fParentTab.propagateVisibility(fGroupObservable, enabled);

-		fParentTab.propagateVisibility(fGroupControllable, enabled);

+		fConfigurationPage.propagateVisibility(fGroupObservable, enabled);

+		fConfigurationPage.propagateVisibility(fGroupControllable, enabled);

 	}

 

 

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabTransitionCoveragePage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTransitionCoverageConfigurationProfile.java
similarity index 90%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabTransitionCoveragePage.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTransitionCoverageConfigurationProfile.java
index c4010a4..9675186 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/MainTabTransitionCoveragePage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTransitionCoverageConfigurationProfile.java
@@ -10,7 +10,7 @@
  *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr

  *   - Initial API and Implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages;

+package org.eclipse.efm.execution.configuration.common.ui.page.overview;

 

 import java.io.BufferedReader;

 import java.io.File;

@@ -23,9 +23,10 @@
 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationComponent;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.events.MouseEvent;

 import org.eclipse.swt.events.MouseListener;

@@ -37,9 +38,8 @@
 import org.eclipse.swt.widgets.Table;

 import org.eclipse.swt.widgets.TableColumn;

 import org.eclipse.swt.widgets.TableItem;

-import org.eclipse.ui.forms.widgets.FormToolkit;

 

-public class MainTabTransitionCoveragePage extends AbstractTabComponentPage {

+public class OverviewTransitionCoverageConfigurationProfile extends AbstractConfigurationComponent {

 

 	public BooleanFieldEditor fEnabledDetailedSelectionBooleanField;

 

@@ -61,17 +61,16 @@
 	 * Constructor

 	 * @param parentTab

 	 */

-	public MainTabTransitionCoveragePage(

-			ILaunchConfigurationEditorComposite parentTab) {

-		super(parentTab);

+	public OverviewTransitionCoverageConfigurationProfile(AbstractConfigurationPage configurationPage) {

+		super(configurationPage);

 

 		fModelFilePath = null;

 	}

 

 

 	@Override

-	public void createPageWithToolkit(Composite parentComposite, FormToolkit toolkit) {

-		createExpandableFrameWithToolkit(parentComposite, toolkit, "Transition Coverage Page");

+	public void createPageWithToolkit(Composite parentComposite) {

+		createExpandableFrameWithToolkit(parentComposite, "Transition Coverage Page");

 

 //				SWTFactory.createGroup(

 //				fCompositeParent,

@@ -82,7 +81,7 @@
 //				fCompositeControl, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fEnabledDetailedSelectionBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_ENABLED_TRANSITION_COVERAGE_DETAILS_SELECTION,

 						"&Enable Transitions Selection", fCompositeControl, false);

 

@@ -221,12 +220,12 @@
 						}

 					}

 

-					fParentTab.propagateGUIupdate();

+					fConfigurationPage.propagateGUIupdate();

 				}

 

 				@Override

 				public void widgetDefaultSelected(SelectionEvent e) {

-			    	  fParentTab.propagateGUIupdate();

+			    	  fConfigurationPage.propagateGUIupdate();

 				}

 			});

 

@@ -256,7 +255,7 @@
 

 							fSelectedTransitionsTable.remove(index);

 

-							fParentTab.propagateGUIupdate();

+							fConfigurationPage.propagateGUIupdate();

 

 							break;

 						}

@@ -269,15 +268,15 @@
 

 //	@Override

 //	public void setVisible(boolean visible) {

-//		fParentTab.propagateVisibility(fCompositeControl,visible);

+//		fConfigurationPage.propagateVisibility(fCompositeControl,visible);

 //

 //		if( visible ) {

 //			if( fEnabledDetailedSelectionBooleanField.getBooleanValue() )

 //			{

-//				fParentTab.propagateVisibility(fCompDetailedSelection, true);

+//				fConfigurationPage.propagateVisibility(fCompDetailedSelection, true);

 //			}

 //			else {

-//				fParentTab.propagateVisibility(fCompDetailedSelection, false);

+//				fConfigurationPage.propagateVisibility(fCompDetailedSelection, false);

 //			}

 //		}

 //	}

@@ -462,7 +461,7 @@
 

 		fEnabledDetailedSelectionBooleanField.initializeFrom(configuration);

 

-		fParentTab.propagateVisibility(fCompDetailedSelection,

+		fConfigurationPage.propagateVisibility(fCompDetailedSelection,

 				fEnabledDetailedSelectionBooleanField.getBooleanValue());

 

 		try {

@@ -488,7 +487,7 @@
 	{

 		fEnabledDetailedSelectionBooleanField.performApply(configuration);

 

-		fParentTab.propagateVisibility(fCompDetailedSelection,

+		fConfigurationPage.propagateVisibility(fCompDetailedSelection,

 				fEnabledDetailedSelectionBooleanField.getBooleanValue());

 

 

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewWorkspaceSection.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewWorkspaceSection.java
new file mode 100644
index 0000000..1330fa3
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewWorkspaceSection.java
@@ -0,0 +1,86 @@
+/*******************************************************************************

+ * Copyright (c) 2017 CEA LIST.

+ *

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

+ *   - Initial API and Implementation

+ *******************************************************************************/

+package org.eclipse.efm.execution.configuration.common.ui.page.overview;

+

+import org.eclipse.core.resources.ResourcesPlugin;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationSection;

+import org.eclipse.efm.execution.configuration.common.ui.editors.FieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

+import org.eclipse.jface.action.IToolBarManager;

+import org.eclipse.jface.action.ToolBarManager;

+import org.eclipse.swt.widgets.Composite;

+

+public class OverviewWorkspaceSection extends AbstractConfigurationSection {

+	

+	public OverviewWorkspaceSection(

+			AbstractConfigurationPage configurationPage,

+			ToolBarManager tbm, Composite innertabcompo)

+	{

+		super(configurationPage, tbm, innertabcompo);

+	}

+	

+	@Override

+	public void addComposite(Composite innertabcompo, IToolBarManager tbm) {

+		addComposite_internal(innertabcompo, tbm, "Workspace Folder Name");

+	}

+

+	private FieldEditor[] contentFieldEdit;

+	

+	@Override

+	protected void addCollapsedContent() {

+		String root =  ResourcesPlugin.getWorkspace().getRoot()

+				.getLocation().append( "<project-folder-name>" ).toString();

+

+		String toolTipText = "Name of the subfolder in the root and output folders";

+		String toolTipText2 = "Name of the subfolder in the root folder";

+		String toolTipText3 = "Name of the subfolder in the output folder";

+		setToolTipText(toolTipText);

+

+		StringFieldEditor fWorkspaceRootLocationStringField =

+				new StringFieldEditor(fConfigurationPage,

+						ATTR_WORKSPACE_ROOT_LOCATION, "Root", sectionClient, root);

+		fWorkspaceRootLocationStringField.setEnabled(false);

+		fWorkspaceRootLocationStringField.setToolTipText(toolTipText2);

+

+		StringFieldEditor fWorkspaceOuputFolderNameStringField =

+				new StringFieldEditor(fConfigurationPage,

+						ATTR_WORKSPACE_OUTPUT_FOLDER_NAME, "Output", sectionClient,

+						DEFAULT_WORKSPACE_OUTPUT_FOLDER_NAME);

+		fWorkspaceOuputFolderNameStringField.setToolTipText(toolTipText2);

+

+		StringFieldEditor fWorkspaceLogFolderNameStringField =

+				new StringFieldEditor(fConfigurationPage,

+						ATTR_WORKSPACE_LOG_FOLDER_NAME, "Log",

+						sectionClient, DEFAULT_WORKSPACE_LOG_FOLDER_NAME);

+		fWorkspaceLogFolderNameStringField.setToolTipText(toolTipText3);

+

+		StringFieldEditor fWorkspaceDebugFolderNameStringField =

+				new StringFieldEditor(fConfigurationPage,

+						ATTR_WORKSPACE_DEBUG_FOLDER_NAME, "Debug",

+						sectionClient, DEFAULT_WORKSPACE_DEBUG_FOLDER_NAME);

+		fWorkspaceDebugFolderNameStringField.setToolTipText(toolTipText3);

+		

+		contentFieldEdit = new FieldEditor[]{

+				fWorkspaceRootLocationStringField,

+				fWorkspaceOuputFolderNameStringField,

+				fWorkspaceLogFolderNameStringField,

+				fWorkspaceDebugFolderNameStringField

+			};

+	}

+

+	@Override

+	public FieldEditor[] getFieldEditors() {

+		return contentFieldEdit;

+	}

+}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/CommonCriteriaTabItemContentCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/supervisor/SupervisorConfigurationPage.java
similarity index 95%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/CommonCriteriaTabItemContentCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/supervisor/SupervisorConfigurationPage.java
index 1fa5e7a..095d57b 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/CommonCriteriaTabItemContentCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/supervisor/SupervisorConfigurationPage.java
@@ -11,16 +11,17 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New API (free-composite-based, no type assumptions on parent)

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components;

+package org.eclipse.efm.execution.configuration.common.ui.page.supervisor;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.IntegerFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.efm.execution.core.workflow.common.GraphExplorationStrategyKind;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.IntegerFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

 import org.eclipse.swt.events.ModifyEvent;

 import org.eclipse.swt.events.ModifyListener;

 import org.eclipse.swt.events.SelectionAdapter;

@@ -30,7 +31,7 @@
 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Group;

 

-public class CommonCriteriaTabItemContentCreator extends AbstractTabItemContentCreator {

+public class SupervisorConfigurationPage extends AbstractConfigurationPage {

 

 	//	public static final String ATTR_BEHAVIOR_ANALYSIS_TRANSITION_NAME =

 	//	Activator.PLUGIN_ID + ".ATTR_BEHAVIOR_ANALYSIS_TRANSITION_NAME"; //$NON-NLS-1$

@@ -54,7 +55,7 @@
 	//private Group groupBehaviorCharacterization;

 	private Group groupInclusionCriterion;

 

-	public CommonCriteriaTabItemContentCreator(ILaunchConfigurationGUIelement masterGUIelement) {

+	public SupervisorConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {

 		super(masterGUIelement);

 	}

 

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/TestGenerationBasicTracePage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationBasicTraceConfigurationProfile.java
similarity index 88%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/TestGenerationBasicTracePage.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationBasicTraceConfigurationProfile.java
index 46807bd..cd0d02a 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/TestGenerationBasicTracePage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationBasicTraceConfigurationProfile.java
@@ -10,23 +10,23 @@
  *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr

  *   - Initial API and Implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages;

+package org.eclipse.efm.execution.configuration.common.ui.page.testgen;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.GenericCompositeCreator;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationComponent;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.GenericCompositeCreator;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.layout.GridData;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Group;

-import org.eclipse.ui.forms.widgets.FormToolkit;

 

-public class TestGenerationBasicTracePage extends AbstractTabComponentPage {

+public class TestGenerationBasicTraceConfigurationProfile extends AbstractConfigurationComponent {

 

 	private Group groupBasicConfiguration;

 	private Group groupBasicObservable;

@@ -58,20 +58,19 @@
 	 * Constructor

 	 * @param parentTab

 	 */

-	public TestGenerationBasicTracePage(

-			ILaunchConfigurationEditorComposite parentTab) {

-		super(parentTab);

+	public TestGenerationBasicTraceConfigurationProfile(AbstractConfigurationPage configurationPage) {

+		super(configurationPage);

 	}

 

 	@Override

-	public void createPageWithToolkit(Composite parentComposite, FormToolkit toolkit) {

-		createExpandableFrameWithToolkit(parentComposite, toolkit, "BASIC <Ad'hoc> Tests Generation Page");

+	public void createPageWithToolkit(Composite parentComposite) {

+		createExpandableFrameWithToolkit(parentComposite, "BASIC <Ad'hoc> Tests Generation Page");

 

 		Composite comp = SWTFactory.createComposite(

 				fCompositeControl, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceEnabledGenerationBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_ENABLED_GENERATION,

 						"&Enabled Generation", comp, false);

 

@@ -88,7 +87,7 @@
 		Composite comp = SWTFactory.createComposite(

 				groupBasicConfiguration, 1, 1, GridData.FILL_HORIZONTAL);

 

-		fBasicTraceFolderNameStringField = new StringFieldEditor(fParentTab,

+		fBasicTraceFolderNameStringField = new StringFieldEditor(fConfigurationPage,

 				ATTR_BASIC_TRACE_FOLDER_NAME, "&Folder:",

 				comp, DEFAULT_BASIC_TRACE_FOLDER_NAME);

 		fBasicTraceFolderNameStringField.setToolTipText(

@@ -97,7 +96,7 @@
 		comp = SWTFactory.createComposite(

 				groupBasicConfiguration, 1, 1, GridData.FILL_HORIZONTAL);

 

-		fBasicTraceFileNameStringField = new StringFieldEditor(fParentTab,

+		fBasicTraceFileNameStringField = new StringFieldEditor(fConfigurationPage,

 				ATTR_BASIC_TRACE_FILE_NAME, "&File:",

 				comp, DEFAULT_BASIC_TRACE_FILE_NAME);

 		fBasicTraceFileNameStringField.setToolTipText("File name");

@@ -106,14 +105,14 @@
 				1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceNormalizationBooleanField = new BooleanFieldEditor(

-				fParentTab, ATTR_BASIC_TRACE_ENABLED_NORMALIZATION,

+				fConfigurationPage, ATTR_BASIC_TRACE_ENABLED_NORMALIZATION,

 				"&Normalization (Redundance Elimination...)", comp, true);

 

 		comp = SWTFactory.createComposite(groupBasicConfiguration,

 				1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceShowInitializationBooleanField = new BooleanFieldEditor(

-				fParentTab, ATTR_BASIC_TRACE_SHOW_INITIALIZATION,

+				fConfigurationPage, ATTR_BASIC_TRACE_SHOW_INITIALIZATION,

 				"&Show Parameters Initialization", comp, false);

 	}

 

@@ -143,7 +142,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceAllExternalInputComBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_ALL_EXTERNAL_INPUT_COM_SELECTION,

 						"&Input", comp, true);

 

@@ -152,7 +151,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceAllExternalOutputComBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_ALL_EXTERNAL_OUTPUT_COM_SELECTION,

 						"&Output", comp, true);

 	}

@@ -168,7 +167,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceAllInternalInputComBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_ALL_INPUT_COM_SELECTION,

 						"&Input", comp, false);

 

@@ -177,7 +176,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceAllInternalOutputComBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_ALL_OUTPUT_COM_SELECTION,

 						"&Output", comp, false);

 	}

@@ -192,7 +191,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceTimeBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_TIME_SELECTION,

 						"&Time", comp, true);

 

@@ -201,7 +200,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceAllVariableBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_ALL_VARIABLE_SELECTION,

 						"&Variable", comp, false);

 

@@ -210,7 +209,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceAllTransitionBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_ALL_TRANSITION_SELECTION,

 						"&Transition", comp, false);

 

@@ -219,7 +218,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceAllStateBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_BASIC_TRACE_ALL_STATE_SELECTION,

 						"&State", comp, false);

 	}

@@ -232,7 +231,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fBasicTraceObservableTraceDetailsStringField = new StringFieldEditor(

-				fParentTab, ATTR_BASIC_TRACE_DETAILS_ELEMENT_LIST, "",

+				fConfigurationPage, ATTR_BASIC_TRACE_DETAILS_ELEMENT_LIST, "",

 				comp, DEFAULT_BASIC_TRACE_DETAILS_ELEMENT_LIST, SWT.MULTI);

 	}

 

@@ -248,7 +247,7 @@
 		comp.setToolTipText( HELPER_TRACE_FORMAT_SPECIFICATION );

 

 		fBasicTraceObservableFormatStringField = new StringFieldEditor(

-				fParentTab, ATTR_BASIC_TRACE_FORMAT_ELEMENT_LIST, "", comp,

+				fConfigurationPage, ATTR_BASIC_TRACE_FORMAT_ELEMENT_LIST, "", comp,

 				DEFAULT_BASIC_TRACE_FORMAT_ELEMENT_LIST, SWT.MULTI);

 		fBasicTraceObservableFormatStringField.setToolTipText(

 				HELPER_TRACE_FORMAT_SPECIFICATION );

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/TestGenerationTabItemContentCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
similarity index 84%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/TestGenerationTabItemContentCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
index 71d45e0..5716d35 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/TestGenerationTabItemContentCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
@@ -11,24 +11,23 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - New API (free-composite-based, no type assumptions on parent)

  *******************************************************************************/

 

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components;

+package org.eclipse.efm.execution.configuration.common.ui.page.testgen;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.IntegerFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.TestGenerationBasicTracePage;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.TestGenerationTTCNTracePage;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.IntegerFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.layout.GridData;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Group;

 

-public class TestGenerationTabItemContentCreator extends AbstractTabItemContentCreator {

+public class TestGenerationConfigurationPage extends AbstractConfigurationPage {

 	private Group groupExtensionObjective;

 

 	private BooleanFieldEditor fTraceExtensionEnabledBooleanField;

@@ -36,16 +35,16 @@
 	private StringFieldEditor  fTraceExtensionObjectiveStringField;

 

 	// BASIC TRACE GENERATION

-	private TestGenerationBasicTracePage fBasicTracePage;

+	private TestGenerationBasicTraceConfigurationProfile fBasicTracePage;

 

 	// TTCN TRACE GENERATION

-	private TestGenerationTTCNTracePage fTTCNTracePage;

+	private TestGenerationTTCNConfigurationProfile fTTCNTracePage;

 

-	public TestGenerationTabItemContentCreator(ILaunchConfigurationGUIelement masterGUIelement) {

+	public TestGenerationConfigurationPage(ILaunchConfigurationGUIelement masterGUIelement) {

 		super(masterGUIelement);

-		fBasicTracePage = new TestGenerationBasicTracePage(this);

+		fBasicTracePage = new TestGenerationBasicTraceConfigurationProfile(this);

 

-		fTTCNTracePage = new TestGenerationTTCNTracePage(this);

+		fTTCNTracePage = new TestGenerationTTCNConfigurationProfile(this);

 	}

 

 	// ======================================================================================

@@ -59,9 +58,9 @@
 

 		createExtensionFormatPage(parentComposite);

 

-		fBasicTracePage.createPageWithToolkit(parentComposite, getMasterFormToolkit());

+		fBasicTracePage.createPageWithToolkit(parentComposite);

 

-		fTTCNTracePage.createPageWithToolkit(parentComposite, getMasterFormToolkit());

+		fTTCNTracePage.createPageWithToolkit(parentComposite);

 	}

 

 	public void createExtensionFormatPage(Composite parent) {

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/TestGenerationTTCNTracePage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationTTCNConfigurationProfile.java
similarity index 89%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/TestGenerationTTCNTracePage.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationTTCNConfigurationProfile.java
index b55ad51..ad88aab 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/pages/TestGenerationTTCNTracePage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationTTCNConfigurationProfile.java
@@ -10,23 +10,23 @@
  *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr

  *   - Initial API and Implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages;

+package org.eclipse.efm.execution.configuration.common.ui.page.testgen;

 

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

-import org.eclipse.efm.execution.ui.views.editors.impls.BooleanFieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.GenericCompositeCreator;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationComponent;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.editors.StringFieldEditor;

+import org.eclipse.efm.execution.configuration.common.ui.util.GenericCompositeCreator;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.layout.GridData;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Group;

-import org.eclipse.ui.forms.widgets.FormToolkit;

 

-public class TestGenerationTTCNTracePage extends AbstractTabComponentPage {

+public class TestGenerationTTCNConfigurationProfile extends AbstractConfigurationComponent {

 

 	private Group groupTTCNConfiguration;

 	private Group groupTTCNModule;

@@ -56,14 +56,13 @@
 	 * COnstructor

 	 * @param parentTab

 	 */

-	public TestGenerationTTCNTracePage(

-			ILaunchConfigurationEditorComposite parentTab) {

-		super(parentTab);

+	public TestGenerationTTCNConfigurationProfile(AbstractConfigurationPage configurationPage) {

+		super(configurationPage);

 	}

 

 	@Override

-	public void createPageWithToolkit(Composite parentComposite, FormToolkit toolkit) {

-		createExpandableFrameWithToolkit(parentComposite, toolkit, "TTCN Tests Generation Page");

+	public void createPageWithToolkit(Composite parentComposite) {

+		createExpandableFrameWithToolkit(parentComposite, "TTCN Tests Generation Page");

 

 		Group group = SWTFactory.createGroup(fCompositeControl,

 				"Enabled Options", 2, 1, GridData.FILL_HORIZONTAL);

@@ -72,7 +71,7 @@
 				group, 2, 1, GridData.FILL_HORIZONTAL);

 

 		fTTCNEnabledGenerationBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_TTCN_ENABLED_GENERATION,

 						"&Generation", comp, false);

 

@@ -80,7 +79,7 @@
 				group, 2, 1, GridData.FILL_HORIZONTAL);

 

 		fTTCNEnabledAdaptationModuleBooleanField =

-				new BooleanFieldEditor(fParentTab,

+				new BooleanFieldEditor(fConfigurationPage,

 						ATTR_TTCN_ENABLED_CUSTOMIZATION,

 						"&Customization", comp,

 						DEFAULT_TTCN_ENABLED_CUSTOMIZATION);

@@ -98,7 +97,7 @@
 		Composite comp = SWTFactory.createComposite(

 				groupTTCNConfiguration, 1, 1, GridData.FILL_HORIZONTAL);

 

-		fTTCNFolderNameStringField = new StringFieldEditor(fParentTab,

+		fTTCNFolderNameStringField = new StringFieldEditor(fConfigurationPage,

 				ATTR_TTCN_FOLDER_NAME, "&Folder:", comp,

 				DEFAULT_TTCN_FOLDER_NAME);

 		fTTCNFolderNameStringField.setToolTipText(

@@ -125,7 +124,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fTTCNControlModuleNameStringField =

-				new StringFieldEditor(fParentTab,

+				new StringFieldEditor(fConfigurationPage,

 						ATTR_TTCN_CONTROL_MODULE_NAME,

 						"&Name:", comp,

 						DEFAULT_TTCN_CONTROL_MODULE_NAME);

@@ -139,7 +138,7 @@
 				group, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fTTCNDeclarationsModuleNameStringField =

-				new StringFieldEditor(fParentTab,

+				new StringFieldEditor(fConfigurationPage,

 						ATTR_TTCN_DECLARATIONS_MODULE_NAME,

 						"&Name:", comp,

 						DEFAULT_TTCN_DECLARATIONS_MODULE_NAME);

@@ -153,7 +152,7 @@
 				group, 2, 1, GridData.FILL_HORIZONTAL);

 

 		fTTCNTemplatesModuleNameStringField =

-				new StringFieldEditor(fParentTab,

+				new StringFieldEditor(fConfigurationPage,

 						ATTR_TTCN_TEMPLATES_MODULE_NAME,

 						"&Name:", comp,

 						DEFAULT_TTCN_TEMPLATE_MODULE_NAME);

@@ -169,7 +168,7 @@
 				group, 2, 1, GridData.FILL_HORIZONTAL);

 

 		fTTCNTestcasesModuleNameStringField =

-				new StringFieldEditor(fParentTab,

+				new StringFieldEditor(fConfigurationPage,

 						ATTR_TTCN_TESTCASES_MODULE_NAME,

 						"&Name:", comp,

 						DEFAULT_TTCN_TESTCASES_MODULE_NAME);

@@ -191,13 +190,13 @@
 				HELPER_MODULE_TESTCASE_STARTING_ENDING_PATTERN_PARAMETERS );

 

 		fTTCNTestcasesStartingWrapperStringField = new StringFieldEditor(

-				fParentTab, ATTR_TTCN_TESTCASES_STARTING_WRAPPER, "&Starting:",

+				fConfigurationPage, ATTR_TTCN_TESTCASES_STARTING_WRAPPER, "&Starting:",

 				comp, DEFAULT_TTCN_TESTCASES_STARTING_WRAPPER, SWT.MULTI);

 		fTTCNTestcasesStartingWrapperStringField.setToolTipText(

 				HELPER_MODULE_TESTCASE_STARTING_ENDING_PATTERN_PARAMETERS );

 

 		fTTCNTestcasesEndingWrapperStringField = new StringFieldEditor(

-				fParentTab, ATTR_TTCN_TESTCASES_ENDING_WRAPPER, "&Ending:",

+				fConfigurationPage, ATTR_TTCN_TESTCASES_ENDING_WRAPPER, "&Ending:",

 				comp, DEFAULT_TTCN_TESTCASES_ENDING_WRAPPER, SWT.MULTI);

 		fTTCNTestcasesEndingWrapperStringField.setToolTipText(

 				HELPER_MODULE_TESTCASE_STARTING_ENDING_PATTERN_PARAMETERS );

@@ -214,13 +213,13 @@
 				HELPER_MODULE_TESTCASE_COMMUNICATION_PATTERN_PARAMETERS );

 

 		fTTCNTestcasesSendingWrapperStringField = new StringFieldEditor(

-				fParentTab, ATTR_TTCN_TESTCASES_SENDING_WRAPPER, "&Sending:",

+				fConfigurationPage, ATTR_TTCN_TESTCASES_SENDING_WRAPPER, "&Sending:",

 				comp, DEFAULT_TTCN_TESTCASES_SENDING_WRAPPER, SWT.MULTI);

 		fTTCNTestcasesSendingWrapperStringField.setToolTipText(

 				HELPER_MODULE_TESTCASE_COMMUNICATION_PATTERN_PARAMETERS );

 

 		fTTCNTestcasesReceivingWrapperStringField = new StringFieldEditor(

-				fParentTab, ATTR_TTCN_TESTCASES_RECEIVING_WRAPPER, "&Receiving:",

+				fConfigurationPage, ATTR_TTCN_TESTCASES_RECEIVING_WRAPPER, "&Receiving:",

 				comp, DEFAULT_TTCN_TESTCASES_RECEIVING_WRAPPER, SWT.MULTI);

 		fTTCNTestcasesReceivingWrapperStringField.setToolTipText(

 				HELPER_MODULE_TESTCASE_COMMUNICATION_PATTERN_PARAMETERS );

@@ -236,7 +235,7 @@
 				group, 2, 1, GridData.FILL_HORIZONTAL);

 

 		fTTCNAdaptationModuleNameStringField =

-				new StringFieldEditor(fParentTab,

+				new StringFieldEditor(fConfigurationPage,

 						ATTR_TTCN_ADAPTATION_MODULE_NAME,

 						"&Name:", comp,

 						DEFAULT_TTCN_ADAPTATION_MODULE_NAME);

@@ -259,7 +258,7 @@
 				HELPER_MODULE_TESTCASE_STARTING_ENDING_PATTERN_PARAMETERS );

 

 		fTTCNTestcasesStartingEndingImplStringField = new StringFieldEditor(

-				fParentTab, ATTR_TTCN_TESTCASES_STARTING_ENDING_IMPL, "",

+				fConfigurationPage, ATTR_TTCN_TESTCASES_STARTING_ENDING_IMPL, "",

 				comp, DEFAULT_TTCN_TESTCASES_STARTING_ENDING_IMPL, SWT.MULTI);

 		fTTCNTestcasesStartingEndingImplStringField.setToolTipText(

 				HELPER_MODULE_TESTCASE_STARTING_ENDING_PATTERN_PARAMETERS );

@@ -276,7 +275,7 @@
 				HELPER_MODULE_TESTCASE_COMMUNICATION_PATTERN_PARAMETERS );

 

 		fTTCNTestcasesSendingImplStringField =

-				new StringFieldEditor(fParentTab,

+				new StringFieldEditor(fConfigurationPage,

 						ATTR_TTCN_TESTCASES_SENDING_IMPL,

 						"&Sending:", comp,

 						DEFAULT_TTCN_TESTCASES_SENDING_IMPL, SWT.MULTI);

@@ -284,7 +283,7 @@
 				HELPER_MODULE_TESTCASE_COMMUNICATION_PATTERN_PARAMETERS );

 

 		fTTCNTestcasesReceivingImplStringField = new StringFieldEditor(

-				fParentTab, ATTR_TTCN_TESTCASES_RECEIVING_IMPL, "&Receiving:",

+				fConfigurationPage, ATTR_TTCN_TESTCASES_RECEIVING_IMPL, "&Receiving:",

 				comp, DEFAULT_TTCN_TESTCASES_RECEIVING_IMPL, SWT.MULTI);

 		fTTCNTestcasesReceivingImplStringField.setToolTipText(

 				HELPER_MODULE_TESTCASE_COMMUNICATION_PATTERN_PARAMETERS );

@@ -302,7 +301,7 @@
 				HELPER_MODULE_TESTCASE_STARTING_ENDING_PATTERN_PARAMETERS );

 

 		fTTCNAdaptationUtilsImplStringField = new StringFieldEditor(

-				fParentTab, ATTR_TTCN_ADAPTATION_UTILS_IMPL, "",

+				fConfigurationPage, ATTR_TTCN_ADAPTATION_UTILS_IMPL, "",

 				comp, DEFAULT_TTCN_ADAPTATION_UTILS_IMPL, SWT.MULTI);

 		fTTCNAdaptationUtilsImplStringField.setToolTipText(

 				HELPER_MODULE_TESTCASE_STARTING_ENDING_PATTERN_PARAMETERS );

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/GenericCompositeCreator.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/GenericCompositeCreator.java
similarity index 98%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/GenericCompositeCreator.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/GenericCompositeCreator.java
index d99b6df..77a9f90 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/GenericCompositeCreator.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/GenericCompositeCreator.java
@@ -10,7 +10,7 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

  *   - Initial API and Implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.utils;

+package org.eclipse.efm.execution.configuration.common.ui.util;

 

 import org.eclipse.jface.action.Action;

 import org.eclipse.jface.action.IToolBarManager;

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/SWTFactory.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/SWTFactory.java
similarity index 97%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/SWTFactory.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/SWTFactory.java
index 622ec12..fdc5a35 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/SWTFactory.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/SWTFactory.java
@@ -8,7 +8,7 @@
  * Contributors:

  *     Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr - Initial API and implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.utils;

+package org.eclipse.efm.execution.configuration.common.ui.util;

 

 import org.eclipse.core.runtime.Assert;

 import org.eclipse.jface.dialogs.IDialogConstants;

@@ -408,6 +408,16 @@
 	return g;

 }

 

+public static Composite createComposite(Composite parent, int style, int columns, int hspan, int fill) {

+	Composite g = new Composite(parent, style);

+	g.setLayout(new GridLayout(columns, false));

+	g.setFont(parent.getFont());

+	GridData gd = new GridData(fill);

+	gd.horizontalSpan = hspan;

+	g.setLayoutData(gd);

+	return g;

+}

+

 /**

  * Creates a vertical spacer for separating components. If applied to a

  * <code>GridLayout</code>, this method will automatically span all of the columns of the parent

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/util/SWTFactory.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/SWTFactoryOld.java
similarity index 98%
rename from execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/util/SWTFactory.java
rename to execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/SWTFactoryOld.java
index 6a9cd72..919f0a8 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/util/SWTFactory.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/util/SWTFactoryOld.java
@@ -8,7 +8,7 @@
  * Contributors:

  *     Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr - Initial API and implementation

  *******************************************************************************/

-package org.eclipse.efm.execution.launchconfiguration.util;

+package org.eclipse.efm.execution.configuration.common.ui.util;

 

 import org.eclipse.core.runtime.Assert;

 import org.eclipse.jface.dialogs.IDialogConstants;

@@ -28,7 +28,7 @@
 import org.eclipse.swt.widgets.Layout;

 import org.eclipse.swt.widgets.Text;

 

-public class SWTFactory {

+public class SWTFactoryOld {

 

 /**

  * Returns a width hint for a button control.

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/META-INF/MANIFEST.MF b/execution/org.eclipse.efm.execution.launchconfiguration/META-INF/MANIFEST.MF
index 5b896b1..ae29ee4 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/META-INF/MANIFEST.MF
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/META-INF/MANIFEST.MF
@@ -32,9 +32,9 @@
  org.eclipse.ui.views.properties.tabbed,
  org.eclipse.core.resources,
  org.eclipse.efm.execution.core,
- org.eclipse.efm.execution.ui.views,
  org.eclipse.efm.ui,
- org.eclipse.efm.modeling.doc.helpcontents
+ org.eclipse.efm.modeling.doc.helpcontents,
+ org.eclipse.efm.execution.configuration.common.ui
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.efm.execution.launchconfiguration
 Bundle-ActivationPolicy: lazy
diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/plugin2.xml b/execution/org.eclipse.efm.execution.launchconfiguration/plugin2.xml
deleted file mode 100644
index 0a5d095..0000000
--- a/execution/org.eclipse.efm.execution.launchconfiguration/plugin2.xml
+++ /dev/null
@@ -1,403 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.4"?>

-<plugin>

-

-   <extension

-         point="org.eclipse.debug.core.launchModes">

-      <launchMode

-            label="Run"

-            mode="run">

-      </launchMode>

-      <launchMode

-            label="Debug"

-            mode="debug">

-      </launchMode>

-   </extension>

-   <extension

-         point="org.eclipse.debug.core.launchDelegates">

-      <launchDelegate

-            delegate="org.eclipse.efm.execution.launchconfiguration.LaunchDelegate"

-            id="org.eclipse.efm.execution.launchconfiguration.launchDelegate"

-            modes="sew"

-            type="org.eclipse.jdt.launching.localJavaApplication">

-      </launchDelegate>

-   </extension>

-   <extension

-         point="org.eclipse.debug.core.launchConfigurationTypes">

-      <launchConfigurationType

-            delegate="org.eclipse.efm.execution.launchconfiguration.LaunchDelegate"

-            id="org.eclipse.efm.execution.launchconfiguration.launchConfigurationType"

-            modes="run,debug"

-            name="Symbolic Execution Workflow">

-      </launchConfigurationType>

-   </extension>

-   <extension

-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">

-      <launchConfigurationTabGroup

-            class="org.eclipse.efm.execution.launchconfiguration.LaunchConfigurationTabGroup"

-            id="org.eclipse.efm.execution.launchconfiguration.launchConfigurationTabGroup.diversityApplication"

-            helpContextId="org.eclipse.efm.execution.launchconfiguration.efm_runconf_tabgroup"

-            type="org.eclipse.efm.execution.launchconfiguration.launchConfigurationType">

-      </launchConfigurationTabGroup>

-   </extension>

-   <extension

-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">

-      <launchConfigurationTypeImage

-            configTypeID="org.eclipse.efm.execution.launchconfiguration.launchConfigurationType"

-            icon="resources/icons/diversity.png"

-            id="org.eclipse.efm.execution.launchconfiguration.launchConfigurationTypeImage">

-      </launchConfigurationTypeImage>

-   </extension>

-   <extension

-         point="org.eclipse.core.expressions.definitions">

-      <definition

-            id="org.eclipse.efm.execution.launchconfiguration.definition.isEnabledMenuSEW">

-         <or>

-            <with

-                  variable="activeEditorId">

-               <equals

-                     value="org.eclipse.diversity.ide.xtext.favm.FAVM">

-               </equals>

-            </with>

-            <with

-                  variable="selection">

-               <count

-                     value="1">

-               </count>

-               <iterate

-                     operator="and">

-                  <instanceof

-                        value="org.eclipse.core.resources.IFile">

-                  </instanceof>

-                  <or>

-                     <test

-                           property="org.eclipse.core.resources.extension"

-                           value="sew">

-                     </test>

-                     <test

-                           property="org.eclipse.core.resources.extension"

-                           value="favm">

-                     </test>

-                     <test

-                           property="org.eclipse.core.resources.extension"

-                           value="gv">

-                     </test>

-                  </or>

-               </iterate>

-            </with>

-         </or>

-      </definition>

-      <definition

-            id="org.eclipse.efm.execution.launchconfiguration.definition.isEnabledCommandRunSEW">

-         <or>

-            <with

-                  variable="activeEditorId">

-               <equals

-                     value="org.eclipse.diversity.ide.xtext.favm.FAVM">

-               </equals>

-            </with>

-            <with

-                  variable="selection">

-               <count

-                     value="1">

-               </count>

-               <iterate

-                     operator="and">

-                  <instanceof

-                        value="org.eclipse.core.resources.IFile">

-                  </instanceof>

-                  <or>

-                     <test

-                           property="org.eclipse.core.resources.extension"

-                           value="sew">

-                     </test>

-                     <test

-                           property="org.eclipse.core.resources.extension"

-                           value="favm">

-                     </test>

-                  </or>

-               </iterate>

-            </with>

-         </or>

-      </definition>

-      <definition

-            id="org.eclipse.efm.execution.launchconfiguration.definition.isEnabledCommandGraphViz">

-         <or>

-            <with

-                  variable="selection">

-               <count

-                     value="1">

-               </count>

-               <iterate

-                     operator="and">

-                  <instanceof

-                        value="org.eclipse.core.resources.IFile">

-                  </instanceof>

-                  <test

-                        property="org.eclipse.core.resources.extension"

-                        value="gv">

-                  </test>

-               </iterate>

-            </with>

-         </or>

-      </definition>

-   </extension>

-   <extension

-         point="org.eclipse.ui.commands">

-      <category

-            description="Run Symbolic Execution Workflow"

-            id="org.eclipse.efm.execution.launchconfiguration.commands.category.runSEW"

-            name="Run SEW">

-      </category>

-      <command

-            categoryId="org.eclipse.efm.execution.launchconfiguration.commands.category.runSEW"

-            description="Run Symbolic Execution Workflow"

-            id="org.eclipse.efm.execution.launchconfiguration.command.runSEW"

-            name="Run SEW">

-      </command>

-   </extension>

-   <extension

-         point="org.eclipse.ui.handlers">

-      <handler

-            class="org.eclipse.efm.execution.launchconfiguration.handlers.RunSewHandler"

-            commandId="org.eclipse.efm.execution.launchconfiguration.command.runSEW">

-         <enabledWhen>

-            <reference

-                  definitionId="org.eclipse.efm.execution.launchconfiguration.definition.isEnabledCommandRunSEW">

-            </reference>

-         </enabledWhen>

-      </handler>

-   </extension>

-   <extension

-         point="org.eclipse.ui.commands">

-      <category

-            id="org.eclipse.efm.execution.launchconfiguration.commands.category.graphviz"

-            name="GraphViz">

-      </category>

-      <command

-            categoryId="org.eclipse.efm.execution.launchconfiguration.commands.category.graphviz"

-            description="Graph Visualization Tool"

-            id="org.eclipse.efm.execution.launchconfiguration.command.graphviz"

-            name="GraphViz">

-      </command>

-   </extension>

-   <extension

-         point="org.eclipse.ui.handlers">

-      <handler

-            class="org.eclipse.efm.execution.launchconfiguration.handlers.GraphVizHandler"

-            commandId="org.eclipse.efm.execution.launchconfiguration.command.graphviz">

-         <enabledWhen>

-            <reference

-                  definitionId="org.eclipse.efm.execution.launchconfiguration.definition.isEnabledCommandGraphViz">

-            </reference>

-         </enabledWhen>

-      </handler>

-   </extension>

-   <extension

-         point="org.eclipse.ui.bindings">

-      <key

-            commandId="org.eclipse.efm.execution.launchconfiguration.command.graphviz"

-            contextId="org.eclipse.ui.contexts.window"

-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"

-            sequence="M1+7">

-      </key>

-   </extension>

-   <extension

-         point="org.eclipse.ui.menus">

-      <menuContribution

-            locationURI="menu:org.eclipse.ui.main.menu?after=additions">

-         <menu

-               id="org.eclipse.efm.execution.launchconfiguration.menu.main"

-               label="SEW"

-               mnemonic="S"

-               tooltip="Symbolic Execution Workflow">

-            <command

-                  commandId="org.eclipse.efm.execution.launchconfiguration.command.runSEW"

-                  icon="resources/icons/run_exc.gif"

-                  id="org.eclipse.efm.execution.launchconfiguration.menu.runSEW"

-                  label="Run Symbolic Execution Workflow"

-                  mnemonic="S">

-            </command>

-            <command

-                  commandId="org.eclipse.efm.execution.launchconfiguration.command.graphviz"

-                  icon="resources/icons/favicon.ico"

-                  id="org.eclipse.efm.execution.launchconfiguration.menu.graphviz"

-                  mnemonic="V">

-            </command>

-         </menu>

-      </menuContribution>

-      <menuContribution

-            allPopups="true"

-            locationURI="popup:org.eclipse.ui.popup.any?after=additions">

-         <menu

-               icon="resources/icons/diversity.png"

-               id="org.eclipse.efm.execution.launchconfiguration.menu.popup.sew"

-               label="Symbolic Execution Workflow">

-            <visibleWhen

-                  checkEnabled="false">

-               <reference

-                     definitionId="org.eclipse.efm.execution.launchconfiguration.definition.isEnabledMenuSEW">

-               </reference>

-            </visibleWhen>

-            <command

-                  commandId="org.eclipse.efm.execution.launchconfiguration.command.runSEW"

-                  icon="resources/icons/run_exc.gif"

-                  id="org.eclipse.efm.execution.launchconfiguration.menu.runSEW"

-                  mnemonic="S">

-            </command>

-            <command

-                  commandId="org.eclipse.efm.execution.launchconfiguration.command.graphviz"

-                  icon="resources/icons/favicon.ico"

-                  id="org.eclipse.efm.execution.launchconfiguration.menu.graphviz"

-                  mnemonic="V">

-            </command>

-         </menu>

-      </menuContribution>

-   </extension>

-   <extension

-         point="org.eclipse.ui.preferencePages">

-      <page

-            class="org.eclipse.efm.execution.launchconfiguration.ui.preferences.MainPreferencePage"

-            id="org.eclipse.efm.execution.launchconfiguration.preferencePages.sewPage"

-            name="Symbolic Execution Workflow">

-      </page>

-      <page

-            category="org.eclipse.efm.execution.launchconfiguration.preferencePages.sewPage"

-            class="org.eclipse.efm.execution.launchconfiguration.ui.preferences.ExternalToolsPreferencePage"

-            id="org.eclipse.efm.execution.launchconfiguration.ui.preferences.externalToolsPage"

-            name="External Tools">

-      </page>

-      <page

-            category="org.eclipse.efm.execution.launchconfiguration.preferencePages.sewPage"

-            class="org.eclipse.efm.execution.launchconfiguration.ui.preferences.LaunchConfigurationPreferencePage"

-            id="org.eclipse.efm.execution.launchconfiguration.ui.preferences.launchConfigurationPage"

-            name="Launch Configuration">

-      </page>

-   </extension>

-   <extension

-         point="org.eclipse.core.runtime.preferences">

-      <initializer

-            class="org.eclipse.efm.execution.launchconfiguration.ui.preferences.ToolPreferenceInitializer">

-      </initializer>

-   </extension>

-   <extension

-         point="org.eclipse.ui.commands">

-      <category

-            description="Symbolic Execution Workflow Tools"

-            id="org.eclipse.efm.execution.launchconfiguration.category.tools"

-            name="SEW Tools">

-      </category>

-      <command

-            categoryId="org.eclipse.efm.execution.launchconfiguration.category.tools"

-            defaultHandler="org.eclipse.efm.execution.launchconfiguration.handlers.RunSewToolsHandler"

-            id="org.eclipse.efm.execution.launchconfiguration.command.tools"

-            name="SEW Tools">

-         <commandParameter

-               id="org.eclipse.efm.execution.launchconfiguration.commandParameter.message"

-               name="Message"

-               optional="true">

-         </commandParameter>

-      </command>

-   </extension>

-   <extension

-         point="org.eclipse.ui.menus">

-      <menuContribution

-            allPopups="false"

-            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">

-         <toolbar

-               id="org.eclipse.efm.execution.launchconfiguration.toolbar.tools"

-               label="SEW Tools">

-            <command

-                  commandId="org.eclipse.efm.execution.launchconfiguration.command.tools"

-                  icon="resources/icons/diversity.png"

-                  id="org.eclipse.efm.execution.launchconfiguration.dropdowncommand.tools"

-                  style="pulldown"

-                  tooltip="Symbolic Execution Workflow Tools">

-            </command>

-         </toolbar>

-      </menuContribution>

-      <menuContribution

-            allPopups="false"

-            locationURI="menu:org.eclipse.efm.execution.launchconfiguration.dropdowncommand.tools">

-            <command

-                  commandId="org.eclipse.efm.execution.launchconfiguration.command.runSEW"

-                  icon="resources/icons/run_exc.gif"

-                  id="org.eclipse.efm.execution.launchconfiguration.toolbars.runSEW"

-                  tooltip="run Symbolic Execution Workflow">

-            </command>

-            <command

-                  commandId="org.eclipse.efm.execution.launchconfiguration.command.graphviz"

-                  icon="resources/icons/favicon.ico"

-                  id="org.eclipse.efm.execution.launchconfiguration.menu.graphviz"

-                  mnemonic="V"

-                  tooltip="Graph Visualization">

-            </command>

-      </menuContribution>

-   </extension>

-   <extension

-         point="org.eclipse.ui.views">

-      <category

-            id="org.eclipse.efm.execution.launchconfiguration.sewView"

-            name="Symbolic Execution Workflow">

-      </category>

-      <view

-            category="org.eclipse.efm.execution.launchconfiguration.sewView"

-            class="org.eclipse.efm.execution.launchconfiguration.ui.views.SymbolicExecutionView"

-            icon="icons/alt_diversity.png"

-            id="org.eclipse.efm.execution.launchconfiguration.ui.views.SymbolicExecutionView"

-            name="SEW Console">

-      </view>

-   </extension>

-   <extension

-         point="org.eclipse.ui.perspectiveExtensions">

-      <perspectiveExtension

-            targetID="org.eclipse.jdt.ui.JavaPerspective">

-         <view

-               id="org.eclipse.efm.execution.launchconfiguration.ui.views.SymbolicExecutionView"

-               ratio="0.5"

-               relationship="right"

-               relative="org.eclipse.ui.views.ProblemView">

-         </view>

-      </perspectiveExtension>

-   </extension>

-   <extension point="org.eclipse.emf.ecore.generated_package">

-      <!-- @generated workflow -->

-      <package

-            uri="http://www.eclipse.org/efm/Workflow"

-            class="org.eclipse.efm.execution.launchconfiguration.workflow.WorkflowPackage"

-            genModel="resources/ecore/workflow.genmodel"/>

-   </extension>

-

-   <extension point="org.eclipse.emf.ecore.generated_package">

-      <!-- @generated workflow -->

-      <package

-            uri="http://www.eclipse.org/efm/Workflow/Common"

-            class="org.eclipse.efm.execution.launchconfiguration.workflow.common.CommonPackage"

-            genModel="resources/ecore/workflow.genmodel"/>

-   </extension>

-

-   <extension point="org.eclipse.emf.ecore.generated_package">

-      <!-- @generated workflow -->

-      <package

-            uri="http://www.eclipse.org/efm/Workflow/Coverage"

-            class="org.eclipse.efm.execution.launchconfiguration.workflow.coverage.CoveragePackage"

-            genModel="resources/ecore/workflow.genmodel"/>

-   </extension>

-

-   <extension point="org.eclipse.emf.ecore.generated_package">

-      <!-- @generated workflow -->

-      <package

-            uri="http://www.eclipse.org/efm/Workflow/Test"

-            class="org.eclipse.efm.execution.launchconfiguration.workflow.test.TestPackage"

-            genModel="resources/ecore/workflow.genmodel"/>

-   </extension>

-

-   <extension point="org.eclipse.emf.ecore.generated_package">

-      <!-- @generated workflow -->

-      <package

-            uri="http://www.eclipse.org/efm/Workflow/Serializer"

-            class="org.eclipse.efm.execution.launchconfiguration.workflow.serializer.SerializerPackage"

-            genModel="resources/ecore/workflow.genmodel"/>

-   </extension>

-

-</plugin>

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/LaunchConfigurationTabGroup.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/LaunchConfigurationTabGroup.java
index 869d1a7..8fc6c54 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/LaunchConfigurationTabGroup.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/LaunchConfigurationTabGroup.java
@@ -23,21 +23,21 @@
 import org.eclipse.debug.ui.RefreshTab;

 import org.eclipse.efm.execution.core.IWorkflowPreferenceConstants;

 import org.eclipse.efm.execution.core.SymbexPreferenceUtil;

-import org.eclipse.efm.execution.launchconfiguration.ui.tabs.CommonCriteriaTab;

+import org.eclipse.efm.execution.launchconfiguration.ui.tabs.SupervisorTab;

 import org.eclipse.efm.execution.launchconfiguration.ui.tabs.DebugTab;

 import org.eclipse.efm.execution.launchconfiguration.ui.tabs.DeveloperTuningTab;

 import org.eclipse.efm.execution.launchconfiguration.ui.tabs.ExpertTab;

-import org.eclipse.efm.execution.launchconfiguration.ui.tabs.MainTab;

+import org.eclipse.efm.execution.launchconfiguration.ui.tabs.OverviewTab;

 import org.eclipse.efm.execution.launchconfiguration.ui.tabs.SymbexRuntimeTab;

 import org.eclipse.efm.execution.launchconfiguration.ui.tabs.TestGenerationTab;

 

 public class LaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {

 

-	protected MainTab fMainTab;

+	protected OverviewTab fMainTab;

 

 	protected ExpertTab fExpertTab;

 

-	public MainTab getMainTab() {

+	public OverviewTab getMainTab() {

 		return fMainTab;

 	}

 

@@ -51,10 +51,10 @@
 		ArrayList<ILaunchConfigurationTab> tabList =

 				new ArrayList<ILaunchConfigurationTab>();

 

-		fMainTab = new MainTab(this);

+		fMainTab = new OverviewTab(this);

 		tabList.add( fMainTab );

 

-		tabList.add( new CommonCriteriaTab(this) );

+		tabList.add( new SupervisorTab(this) );

 		tabList.add( new TestGenerationTab(this) );

 

 		if( ILaunchManager.DEBUG_MODE.equals(mode) )

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/AbstractSewLaunchConfigurationTab.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/AbstractSewLaunchConfigurationTab.java
index 8c0e14b..8807ed1 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/AbstractSewLaunchConfigurationTab.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/AbstractSewLaunchConfigurationTab.java
@@ -18,16 +18,17 @@
 import org.eclipse.debug.core.ILaunchConfiguration;

 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

 import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;

+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;

+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage.FieldValidationReturn;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.efm.execution.core.Activator;

 import org.eclipse.efm.execution.launchconfiguration.LaunchConfigurationTabGroup;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.AbstractTabItemContentCreator;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.AbstractTabItemContentCreator.FieldValidationReturn;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

 import org.eclipse.jface.dialogs.IDialogSettings;

 import org.eclipse.swt.layout.GridData;

 import org.eclipse.swt.widgets.Composite;

 import org.eclipse.swt.widgets.Display;

+import org.eclipse.swt.widgets.Text;

 import org.eclipse.ui.PlatformUI;

 import org.eclipse.ui.dialogs.ContainerSelectionDialog;

 import org.eclipse.ui.forms.widgets.FormToolkit;

@@ -36,9 +37,7 @@
 

 	private FormToolkit toolkit;

 	protected LaunchConfigurationTabGroup fGroupTab;

-	protected AbstractTabItemContentCreator contentCompositeManager;

-

-	protected Class<?> tabItemContentClass;

+	protected AbstractConfigurationPage contentCompositeManager;

 

 	/**

 	 * Constructor

@@ -55,17 +54,40 @@
 

 		this.contentCompositeManager = null;

 	}

+	

 

 	@Override

 	public FormToolkit getFormToolkit() {

 		return toolkit;

 	}

+	

+	@Override

+	public Composite createComposite(Composite parent) {

+		return SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL);

+	}

+	

+	@Override

+	public Composite createComposite(Composite parent, int style) {

+		return SWTFactory.createComposite(parent, style, 1, 1, GridData.FILL_HORIZONTAL);

+	}

+	

+	@Override

+	public Text createText(Composite parent, String value, int style) {

+		Text text = SWTFactory.createText(parent, style, 1);

+		

+		if (value != null) {

+			text.setText(value);

+		}

+

+		return text;

+	}

+	

 

 	public LaunchConfigurationTabGroup getGroupTab() {

 		return fGroupTab;

 	}

 

-	public MainTab getMainTab() {

+	public OverviewTab getMainTab() {

 		return fGroupTab.getMainTab();

 	}

 

@@ -91,15 +113,14 @@
 //

 

 //		try {

-//			Constructor<?> constructor = tabItemContentClass.getConstructor(ILaunchConfigurationGUIelement.class, Composite.class);

-//			contentCompositeManager = (AbstractTabItemContentCreator) constructor.newInstance(new Object[] { this, main_composite });

-			//contentCompositeManager = (AbstractTabItemContentCreator) constructor.newInstance(new Object[] { this, parent });

 			contentCompositeManager.createTabItemContent(main_composite);

 			setControl(main_composite);

 			//setControl(parent);

-//		} catch(InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {

+//		} catch(InstantiationException | IllegalAccessException | IllegalArgumentException

+//				| InvocationTargetException | NoSuchMethodException | SecurityException e) {

 //			e.printStackTrace();

 //		}

+

 		setControl(main_composite);

 		//setControl(parent);

 		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), getHelpContextId());

@@ -153,9 +174,9 @@
 		return section;

 	}

 

-	// ======================================================================================

-	//                              ILaunchConfigurationGUIelement interface methods

-	// ======================================================================================

+	// =========================================================================

+	//         ILaunchConfigurationGUIelement interface methods

+	// =========================================================================

 

 	@Override

 	public void updateGUI() {

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/DebugTab.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/DebugTab.java
index f59ed7f..ec4d394 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/DebugTab.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/DebugTab.java
@@ -12,9 +12,9 @@
  *******************************************************************************/

 package org.eclipse.efm.execution.launchconfiguration.ui.tabs;

 

+import org.eclipse.efm.execution.configuration.common.ui.page.debug.DebugConfigurationPage;

 import org.eclipse.efm.execution.launchconfiguration.HelpContextIdConstants;

 import org.eclipse.efm.execution.launchconfiguration.LaunchConfigurationTabGroup;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.DebugTabItemContentCreator;

 

 

 public class DebugTab extends AbstractSewLaunchConfigurationTab {

@@ -22,9 +22,8 @@
 	public DebugTab(LaunchConfigurationTabGroup groupTab) {

 		super(groupTab);

 

-		contentCompositeManager = new DebugTabItemContentCreator(this);

+		contentCompositeManager = new DebugConfigurationPage(this);

 

-		tabItemContentClass = DebugTabItemContentCreator.class;

 		setHelpContextId(HelpContextIdConstants.sew_launch_Debug_tab);

 	}

 

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/DeveloperTuningTab.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/DeveloperTuningTab.java
index bc941f3..8b31416 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/DeveloperTuningTab.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/DeveloperTuningTab.java
@@ -12,18 +12,17 @@
  *******************************************************************************/

 package org.eclipse.efm.execution.launchconfiguration.ui.tabs;

 

+import org.eclipse.efm.execution.configuration.common.ui.page.developer.DeveloperTuningConfigurationPage;

 import org.eclipse.efm.execution.launchconfiguration.HelpContextIdConstants;

 import org.eclipse.efm.execution.launchconfiguration.LaunchConfigurationTabGroup;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.DeveloperTuningTabItemContentCreator;

 

 public class DeveloperTuningTab extends AbstractSewLaunchConfigurationTab {

 

 	public DeveloperTuningTab(LaunchConfigurationTabGroup groupTab) {

 		super(groupTab);

 

-		contentCompositeManager = new DeveloperTuningTabItemContentCreator(this);

+		contentCompositeManager = new DeveloperTuningConfigurationPage(this);

 

-		tabItemContentClass = DeveloperTuningTabItemContentCreator.class;

 		setHelpContextId(HelpContextIdConstants.sew_launch_Debug_tab);

 	}

 

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/ExpertTab.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/ExpertTab.java
index 2534b4b..dc8c6e1 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/ExpertTab.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/ExpertTab.java
@@ -12,18 +12,17 @@
  *******************************************************************************/

 package org.eclipse.efm.execution.launchconfiguration.ui.tabs;

 

+import org.eclipse.efm.execution.configuration.common.ui.page.expert.ExpertConfigurationPage;

 import org.eclipse.efm.execution.launchconfiguration.HelpContextIdConstants;

 import org.eclipse.efm.execution.launchconfiguration.LaunchConfigurationTabGroup;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.ExpertTabItemContentCreator;

 

 public class ExpertTab extends AbstractSewLaunchConfigurationTab {

 

 	public ExpertTab(LaunchConfigurationTabGroup groupTab) {

 		super(groupTab);

 

-		contentCompositeManager = new ExpertTabItemContentCreator(this);

+		contentCompositeManager = new ExpertConfigurationPage(this);

 

-		tabItemContentClass = ExpertTabItemContentCreator.class;

 		setHelpContextId(HelpContextIdConstants.sew_launch_Expert_tab);

 	}

 

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/MainTab.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/OverviewTab.java
similarity index 76%
rename from execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/MainTab.java
rename to execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/OverviewTab.java
index fef15ff..5e3a5b9 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/MainTab.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/OverviewTab.java
@@ -12,23 +12,22 @@
  *******************************************************************************/

 package org.eclipse.efm.execution.launchconfiguration.ui.tabs;

 

+import org.eclipse.efm.execution.configuration.common.ui.page.overview.OverviewConfigurationPage;

 import org.eclipse.efm.execution.launchconfiguration.HelpContextIdConstants;

 import org.eclipse.efm.execution.launchconfiguration.LaunchConfigurationTabGroup;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.MainTabItemContentCreator;

 

 

-public class MainTab extends AbstractSewLaunchConfigurationTab {

+public class OverviewTab extends AbstractSewLaunchConfigurationTab {

 

 	/**

 	 * Constructor

 	 * @param groupTab

 	 */

-	public MainTab(LaunchConfigurationTabGroup groupTab) {

+	public OverviewTab(LaunchConfigurationTabGroup groupTab) {

 		super(groupTab);

 

-		contentCompositeManager = new MainTabItemContentCreator(this);

+		contentCompositeManager = new OverviewConfigurationPage(this);

 

-		tabItemContentClass = MainTabItemContentCreator.class;

 		setHelpContextId(HelpContextIdConstants.sew_launch_Main_tab);

 	}

 

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/CommonCriteriaTab.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/SupervisorTab.java
similarity index 68%
rename from execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/CommonCriteriaTab.java
rename to execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/SupervisorTab.java
index 348e80c..563287c 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/CommonCriteriaTab.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/SupervisorTab.java
@@ -10,25 +10,24 @@
  *******************************************************************************/

 package org.eclipse.efm.execution.launchconfiguration.ui.tabs;

 

+import org.eclipse.efm.execution.configuration.common.ui.page.supervisor.SupervisorConfigurationPage;

 import org.eclipse.efm.execution.launchconfiguration.HelpContextIdConstants;

 import org.eclipse.efm.execution.launchconfiguration.LaunchConfigurationTabGroup;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.CommonCriteriaTabItemContentCreator;

 

 

-public class CommonCriteriaTab extends AbstractSewLaunchConfigurationTab {

+public class SupervisorTab extends AbstractSewLaunchConfigurationTab {

 

-	public CommonCriteriaTab(LaunchConfigurationTabGroup groupTab) {

+	public SupervisorTab(LaunchConfigurationTabGroup groupTab) {

 		super(groupTab);

 

-		contentCompositeManager = new CommonCriteriaTabItemContentCreator(this);

+		contentCompositeManager = new SupervisorConfigurationPage(this);

 

-		tabItemContentClass = CommonCriteriaTabItemContentCreator.class;

 		setHelpContextId(HelpContextIdConstants.sew_launch_CommonCriteria_tab);

 	}

 

 	@Override

 	public String getName() {

-		return "Common Criteria";

+		return "Supervisor";

 	}

 

 }

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/SymbexRuntimeTab.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/SymbexRuntimeTab.java
index 16f18e7..4b8be7f 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/SymbexRuntimeTab.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/SymbexRuntimeTab.java
@@ -29,10 +29,10 @@
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;

 import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;

 import org.eclipse.debug.ui.StringVariableSelectionDialog;

+import org.eclipse.efm.execution.configuration.common.ui.util.SWTFactory;

 import org.eclipse.efm.execution.core.IWorkflowConfigurationConstants;

 import org.eclipse.efm.execution.core.SymbexPreferenceUtil;

 import org.eclipse.efm.execution.launchconfiguration.HelpContextIdConstants;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

 import org.eclipse.jface.dialogs.IDialogConstants;

 import org.eclipse.jface.window.Window;

 import org.eclipse.swt.SWT;

diff --git a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/TestGenerationTab.java b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/TestGenerationTab.java
index dce37b7..8e88630 100644
--- a/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/TestGenerationTab.java
+++ b/execution/org.eclipse.efm.execution.launchconfiguration/src/org/eclipse/efm/execution/launchconfiguration/ui/tabs/TestGenerationTab.java
@@ -12,9 +12,9 @@
  *******************************************************************************/

 package org.eclipse.efm.execution.launchconfiguration.ui.tabs;

 

+import org.eclipse.efm.execution.configuration.common.ui.page.testgen.TestGenerationConfigurationPage;

 import org.eclipse.efm.execution.launchconfiguration.HelpContextIdConstants;

 import org.eclipse.efm.execution.launchconfiguration.LaunchConfigurationTabGroup;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.TestGenerationTabItemContentCreator;

 

 public class TestGenerationTab extends AbstractSewLaunchConfigurationTab {

 

@@ -25,9 +25,8 @@
 	public TestGenerationTab(LaunchConfigurationTabGroup groupTab) {

 		super(groupTab);

 

-		contentCompositeManager = new TestGenerationTabItemContentCreator(this);

+		contentCompositeManager = new TestGenerationConfigurationPage(this);

 

-		tabItemContentClass = TestGenerationTabItemContentCreator.class;

 		setHelpContextId(HelpContextIdConstants.sew_launch_TestGeneration_tab);

 	}

 

diff --git a/execution/org.eclipse.efm.execution.ui.views/META-INF/MANIFEST.MF b/execution/org.eclipse.efm.execution.ui.views/META-INF/MANIFEST.MF
index a1187ba..ef95375 100644
--- a/execution/org.eclipse.efm.execution.ui.views/META-INF/MANIFEST.MF
+++ b/execution/org.eclipse.efm.execution.ui.views/META-INF/MANIFEST.MF
@@ -8,8 +8,9 @@
  org.eclipse.ui,
  org.eclipse.jface,
  org.eclipse.pde,
- org.eclipse.efm.execution.core,
- org.eclipse.efm.ui
+ org.eclipse.efm.ui,
+ org.eclipse.ui.forms,
+ org.eclipse.efm.execution.configuration.common.ui
 Import-Package: org.eclipse.core.resources,
  org.eclipse.debug.core,
  org.eclipse.debug.ui,
@@ -18,8 +19,4 @@
  org.eclipse.ui.forms.widgets,
  org.eclipse.ui.model,
  org.eclipse.ui.views.navigator
-Export-Package: org.eclipse.efm.execution.ui.views.editors,
- org.eclipse.efm.execution.ui.views.editors.impls,
- org.eclipse.efm.execution.ui.views.launchconfigurations.components,
- org.eclipse.efm.execution.ui.views.utils
 Bundle-Activator: org.eclipse.efm.execution.ui.views.Activator
diff --git a/execution/org.eclipse.efm.execution.ui.views/plugin.xml b/execution/org.eclipse.efm.execution.ui.views/plugin.xml
index 1746a0a..7e5f322 100644
--- a/execution/org.eclipse.efm.execution.ui.views/plugin.xml
+++ b/execution/org.eclipse.efm.execution.ui.views/plugin.xml
@@ -5,7 +5,7 @@
          point="org.eclipse.ui.views">

       <view

             category="org.eclipse.efm.ui.category.views"

-            class="org.eclipse.efm.execution.ui.views.viewparts.swv.SymbexWorkflowView"

+            class="org.eclipse.efm.execution.ui.views.symbexlauncher.SymbexWorkflowView"

             icon="platform:/plugin/org.eclipse.efm.ui/resources/icons/diversity_icon.png"

             id="org.eclipse.efm.execution.ui.views.SymbexWorkflowView"

             name="Symbex Workflow">

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/delegates/LaunchConfigurationManager.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/delegates/LaunchConfigurationManager.java
deleted file mode 100644
index 2ad8c1d..0000000
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/delegates/LaunchConfigurationManager.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2017 CEA LIST.

- *

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

- *   - Initial API and Implementation

- *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.delegates;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchConfigurationType;

-import org.eclipse.debug.core.ILaunchManager;

-

-public class LaunchConfigurationManager {

-

-	private static final String SYMBEX_LAUNCH_CONFIGURATION_TYPE =

-			"org.eclipse.efm.execution.launchconfiguration.sew_type";

-

-	private static ILaunchManager lc_manager;

-	private static ILaunchConfigurationType lc_symbex_type;

-

-	protected ILaunchConfiguration[] configurations;

-	protected String[] names;

-

-	protected ILaunchConfiguration selection;

-

-

-	public LaunchConfigurationManager() {

-		lc_manager = null;

-		lc_symbex_type = null;

-

-		configurations = new ILaunchConfiguration[0];

-		names = new String[0];

-

-		selection = null;

-

-		refresh();

-	}

-

-

-	public void refresh() {

-		lc_manager = DebugPlugin.getDefault().getLaunchManager();

-		lc_symbex_type = lc_manager.getLaunchConfigurationType(

-				SYMBEX_LAUNCH_CONFIGURATION_TYPE);

-		try {

-			configurations = lc_manager.getLaunchConfigurations(lc_symbex_type);

-

-			if( (selection == null) && (configurations.length > 0) ) {

-				selection = configurations[0];

-			}

-

-			names = new String[configurations.length];

-			for( int i = 0 ; i < configurations.length ; i++ ) {

-				names[i] = configurations[i].getName();

-			}

-

-		} catch (CoreException e) {

-			e.printStackTrace();

-			configurations = new ILaunchConfiguration[0];

-

-			names = new String[0];

-		}

-

-//		for (ILaunchConfiguration iLaunchConfiguration : lcs) {

-//			if (iLaunchConfiguration.getName().equals("Test PThread")) {

-//				ILaunchConfigurationWorkingCopy t = iLaunchConfiguration.getWorkingCopy();

-//				ILaunchConfiguration config = t.doSave();

-//				if (config != null) {

-//					// config.launch(ILaunchManager.RUN_MODE, null);

-//					DebugUITools.launch(config, ILaunchManager.DEBUG_MODE);

-//				}

-//			}

-//		}

-

-	}

-

-

-	public boolean isPopulated() {

-		return( configurations.length > 0 );

-	}

-

-	public ILaunchConfiguration[] getConfigurations() {

-		return configurations;

-	}

-

-	public ILaunchConfiguration firstConfiguration() {

-		return configurations[0];

-	}

-

-	public ILaunchConfiguration getConfiguration(int index) {

-		return configurations[index];

-	}

-

-

-	public ILaunchConfiguration getSelection() {

-		return selection;

-	}

-

-	public boolean hasSelection() {

-		return( selection != null );

-	}

-

-	public void select(int index) {

-		if( (index >= 0) && (index < configurations.length) ) {

-			selection = configurations[index];

-		}

-		else {

-			selection = null;

-		}

-	}

-

-

-	public String[] getNames() {

-		return names;

-	}

-

-

-}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/AnalysisProfile1SectionCreator.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/AnalysisProfile1SectionCreator.java
deleted file mode 100644
index fcaf773..0000000
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/AnalysisProfile1SectionCreator.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2017 CEA LIST.

- *

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

- *   - Initial API and Implementation

- *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.sections;

-

-import org.eclipse.efm.execution.ui.views.editors.FieldEditor;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.MainTabBehaviorSelectionPage;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.MainTabTestOfflinePage;

-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.pages.MainTabTransitionCoveragePage;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.efm.execution.ui.views.utils.SWTFactory;

-import org.eclipse.jface.action.IToolBarManager;

-import org.eclipse.jface.action.ToolBarManager;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Combo;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.forms.widgets.FormToolkit;

-

-public class AnalysisProfile1SectionCreator extends AbstractSectionCreator {

-	

-	private static final String[] MODEL_COMBO_ITEMS = new String[] {

-			ANALYSIS_PROFILE_MODEL_EXPLORATION ,

-			ANALYSIS_PROFILE_MODEL_COVERAGE_TRANSITION ,

-			ANALYSIS_PROFILE_MODEL_COVERAGE_BEHAVIOR,

-			ANALYSIS_PROFILE_TEST_OFFLINE

-	};

-	

-	public AnalysisProfile1SectionCreator(ILaunchConfigurationGUIelement guielt,

-			ILaunchConfigurationEditorComposite fLaunchConfCommInt, ToolBarManager tbm, Composite innertabcompo) {

-		super(guielt, fLaunchConfCommInt, tbm, innertabcompo);

-	}

-	

-	@Override

-	public void addComposite(Composite innertabcompo, IToolBarManager tbm) {

-		addComposite_internal(innertabcompo, tbm, "&Analysis Profile");

-	}

-

-	private FieldEditor[] contentFieldEdit;

-	

-

-	public Combo fModelCombo;

-	public MainTabTransitionCoveragePage fTransitionCoveragePage;

-	public MainTabBehaviorSelectionPage fBehaviorSelectionPage;

-	public MainTabTestOfflinePage fTestOfflinePage;

-	public Button fTestOfflineButton;

-	

-	@Override

-	protected void addCollapsedContent(FormToolkit toolkit) {		

-		fModelCombo = SWTFactory.createCombo(sectionClient,

-				SWT.DROP_DOWN | SWT.READ_ONLY, 1, MODEL_COMBO_ITEMS);

-		fModelCombo.setToolTipText(

-				  "Choice of the strategy for the symbolic execution of the model\n"

-				+ "\t- Exploration: basic symbolic execution of the model\n"

-				+ "\t- Transition Coverage: compute a symbolic tree which covers all transitions of the model\n"

-				+ "\t- Behavior Selection: compute one or more symbolic path(s) which cover(s)\n"

-				+ "\t\t\t   a predefined behavior\n"

-				+ "\t- TESTOFFLINE : Test Verdict Computation: Offline testing...\n");

-		fModelCombo.addSelectionListener(new SelectionListener() {

-			@Override

-			public void widgetSelected(SelectionEvent e) {

-				section.layout();

-				guielt.scheduleUpdateJob();

-				section.layout();

-			}

-			@Override

-			public void widgetDefaultSelected(SelectionEvent e) {

-				section.layout();

-				guielt.scheduleUpdateJob();

-				section.layout();

-			}

-		});

-

-		// TRANSITION COVERAGE ANALYSIS

-		fTransitionCoveragePage = new MainTabTransitionCoveragePage(this.fLaunchConfCommInt);

-		fTransitionCoveragePage.createPageWithToolkit(sectionClient, toolkit);

-		fTransitionCoveragePage.updateLayouts();

-

-		// BEHAVIOR SELECTION ANALYSIS

-		fBehaviorSelectionPage = new MainTabBehaviorSelectionPage(this.fLaunchConfCommInt);

-		fBehaviorSelectionPage.createPageWithToolkit(sectionClient, toolkit);

-		fBehaviorSelectionPage.updateLayouts();

-		

-		fTestOfflinePage = new MainTabTestOfflinePage(this.fLaunchConfCommInt);

-		fTestOfflinePage.createPageWithToolkit(sectionClient, toolkit);

-		fTestOfflinePage.updateLayouts();

-	}

-

-	@Override

-	public FieldEditor[] getFieldEditors() {

-		return contentFieldEdit;

-	}

-	

-

-}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/WorkspaceFolderNameSectionCreator.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/WorkspaceFolderNameSectionCreator.java
deleted file mode 100644
index ed53358..0000000
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/launchconfigurations/components/sections/WorkspaceFolderNameSectionCreator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2017 CEA LIST.

- *

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

- *   - Initial API and Implementation

- *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.launchconfigurations.components.sections;

-

-import org.eclipse.core.resources.ResourcesPlugin;

-import org.eclipse.efm.execution.ui.views.editors.FieldEditor;

-import org.eclipse.efm.execution.ui.views.editors.impls.StringFieldEditor;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationEditorComposite;

-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;

-import org.eclipse.jface.action.IToolBarManager;

-import org.eclipse.jface.action.ToolBarManager;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.ui.forms.widgets.FormToolkit;

-

-public class WorkspaceFolderNameSectionCreator extends AbstractSectionCreator {

-	

-	public WorkspaceFolderNameSectionCreator(ILaunchConfigurationGUIelement guielt,

-			ILaunchConfigurationEditorComposite fLaunchConfCommInt, ToolBarManager tbm, Composite innertabcompo) {

-		super(guielt, fLaunchConfCommInt, tbm, innertabcompo);

-	}

-	

-	@Override

-	public void addComposite(Composite innertabcompo, IToolBarManager tbm) {

-		addComposite_internal(innertabcompo, tbm, "Workspace Folder Name");

-	}

-

-	private FieldEditor[] contentFieldEdit;

-	

-	@Override

-	protected void addCollapsedContent(FormToolkit toolkit) {

-		String root =  ResourcesPlugin.getWorkspace().getRoot()

-				.getLocation().append( "<project-folder-name>" ).toString();

-

-		String toolTipText = "Name of the subfolder in the root and output folders";

-		String toolTipText2 = "Name of the subfolder in the root folder";

-		String toolTipText3 = "Name of the subfolder in the output folder";

-		section.setToolTipText(toolTipText);

-

-		StringFieldEditor fWorkspaceRootLocationStringField = new StringFieldEditor(fLaunchConfCommInt,

-				ATTR_WORKSPACE_ROOT_LOCATION, "Root", sectionClient, root);

-		fWorkspaceRootLocationStringField.setEnabled(false);

-		fWorkspaceRootLocationStringField.setToolTipText(toolTipText2);

-

-		StringFieldEditor fWorkspaceOuputFolderNameStringField = new StringFieldEditor(fLaunchConfCommInt,

-				ATTR_WORKSPACE_OUTPUT_FOLDER_NAME, "Output", sectionClient,

-				DEFAULT_WORKSPACE_OUTPUT_FOLDER_NAME);

-		fWorkspaceOuputFolderNameStringField.setToolTipText(toolTipText2);

-

-		StringFieldEditor fWorkspaceLogFolderNameStringField = new StringFieldEditor(

-				fLaunchConfCommInt, ATTR_WORKSPACE_LOG_FOLDER_NAME, "Log",

-				sectionClient, DEFAULT_WORKSPACE_LOG_FOLDER_NAME);

-		fWorkspaceLogFolderNameStringField.setToolTipText(toolTipText3);

-

-		StringFieldEditor fWorkspaceDebugFolderNameStringField = new StringFieldEditor(

-				fLaunchConfCommInt, ATTR_WORKSPACE_DEBUG_FOLDER_NAME, "Debug",

-				sectionClient, DEFAULT_WORKSPACE_DEBUG_FOLDER_NAME);

-		fWorkspaceDebugFolderNameStringField.setToolTipText(toolTipText3);

-		

-		contentFieldEdit = new FieldEditor[]{fWorkspaceRootLocationStringField,

-				fWorkspaceOuputFolderNameStringField,

-				fWorkspaceLogFolderNameStringField,

-				fWorkspaceDebugFolderNameStringField};

-	}

-

-	@Override

-	public FieldEditor[] getFieldEditors() {

-		return contentFieldEdit;

-	}

-}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/AbstractSymbexWorkflowView.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/AbstractSymbexWorkflowView.java
similarity index 85%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/AbstractSymbexWorkflowView.java
rename to execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/AbstractSymbexWorkflowView.java
index 8a0c7c8..1c379c0 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/AbstractSymbexWorkflowView.java
+++ b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/AbstractSymbexWorkflowView.java
@@ -10,10 +10,10 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr
  *   - Initial API and Implementation
  *******************************************************************************/
-package org.eclipse.efm.execution.ui.views.viewparts.swv;
+package org.eclipse.efm.execution.ui.views.symbexlauncher;
 
-import org.eclipse.efm.execution.ui.views.utils.GenericCompositeCreator;
-import org.eclipse.efm.execution.ui.views.utils.ILaunchConfigurationGUIelement;
+import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;
+import org.eclipse.efm.execution.configuration.common.ui.util.GenericCompositeCreator;
 import org.eclipse.efm.ui.utils.ImageResources;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IMenuManager;
@@ -26,6 +26,7 @@
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.ui.forms.widgets.ScrolledForm;
@@ -55,10 +56,27 @@
 		//this.setHelpContextId("org.eclipse.efm.runconfiguration.efm_runconf_commoncriteria_tab");
 	}
 
+	
 	@Override
 	public FormToolkit getFormToolkit() {
 		return toolkit;
 	}
+	
+	@Override
+	public Composite createComposite(Composite parent) {
+		return toolkit.createComposite(parent);
+	}
+	
+	@Override
+	public Composite createComposite(Composite parent, int style) {
+		return toolkit.createComposite(parent, style);
+	}
+	
+	@Override
+	public Text createText(Composite parent, String value, int style) {
+		return toolkit.createText(parent, value, style);
+	}
+	
 
 	private Composite message_display_parentcomposite;
 
@@ -142,9 +160,9 @@
 		} else {
 			message_text_display.setText("");
 		}
-		message_image_display.setImage(
-				ImageResources.getImageDescriptor(
-						ImageResources.IMAGE__ERROR_ICON).createImage());
+//!!!		message_image_display.setImage(
+//				ImageResources.getImageDescriptor(
+//						ImageResources.IMAGE__ERROR_ICON).createImage());
 		message_display_parentcomposite.layout();
 	}
 
diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/LaunchConfigurationManager.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/LaunchConfigurationManager.java
new file mode 100644
index 0000000..cbc0193
--- /dev/null
+++ b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/LaunchConfigurationManager.java
@@ -0,0 +1,187 @@
+/*******************************************************************************

+ * Copyright (c) 2017 CEA LIST.

+ *

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ *

+ * Contributors:

+ *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

+ *   - Initial API and Implementation

+ *******************************************************************************/

+package org.eclipse.efm.execution.ui.views.symbexlauncher;

+

+import java.util.Arrays;

+import java.util.List;

+

+import org.eclipse.core.runtime.CoreException;

+import org.eclipse.debug.core.DebugPlugin;

+import org.eclipse.debug.core.ILaunchConfiguration;

+import org.eclipse.debug.core.ILaunchConfigurationListener;

+import org.eclipse.debug.core.ILaunchConfigurationType;

+import org.eclipse.debug.core.ILaunchManager;

+

+public class LaunchConfigurationManager implements ILaunchConfigurationListener {

+

+	private static final String SYMBEX_LAUNCH_CONFIGURATION_TYPE =

+			"org.eclipse.efm.execution.launchconfiguration.sew_type";

+

+	private SymbexWorkflowView symbexWorkflowView;

+

+	private static ILaunchManager fLaunchManager;

+	private static ILaunchConfigurationType fLaunchConfigurationType;

+

+	

+	private final ILaunchConfiguration[] EMPTY_CONFIGURATIONS = new ILaunchConfiguration[0];

+	private final String[] EMPTY_NAMES = new String[0];

+

+	protected ILaunchConfiguration[] fConfigurations;

+	protected String[] fNames;

+

+	protected ILaunchConfiguration fSelection;

+

+

+	public LaunchConfigurationManager(SymbexWorkflowView symbexWorkflowView) {

+		this.symbexWorkflowView = symbexWorkflowView;

+		

+		fLaunchManager = null;

+		fLaunchConfigurationType = null;

+

+		fConfigurations = EMPTY_CONFIGURATIONS;

+		fNames = EMPTY_NAMES;

+

+		fSelection = null;

+

+		addLaunchConfigurationListener();

+

+		refresh();

+	}

+

+

+	public void refresh() {

+		fLaunchManager = DebugPlugin.getDefault().getLaunchManager();

+		fLaunchConfigurationType = fLaunchManager.getLaunchConfigurationType(

+				SYMBEX_LAUNCH_CONFIGURATION_TYPE);

+		try {

+			fConfigurations = fLaunchManager.getLaunchConfigurations(fLaunchConfigurationType);

+

+			if( (fSelection == null) && (fConfigurations.length > 0) ) {

+				fSelection = fConfigurations[0];

+			}

+

+			fNames = new String[fConfigurations.length];

+			for( int i = 0 ; i < fConfigurations.length ; i++ ) {

+				fNames[i] = fConfigurations[i].getName();

+			}

+

+		} catch (CoreException e) {

+			e.printStackTrace();

+			fConfigurations = EMPTY_CONFIGURATIONS;

+

+			fNames = EMPTY_NAMES;

+		}

+

+//		for (ILaunchConfiguration iLaunchConfiguration : lcs) {

+//			if (iLaunchConfiguration.getName().equals("Test PThread")) {

+//				ILaunchConfigurationWorkingCopy t = iLaunchConfiguration.getWorkingCopy();

+//				ILaunchConfiguration config = t.doSave();

+//				if (config != null) {

+//					// config.launch(ILaunchManager.RUN_MODE, null);

+//					DebugUITools.launch(config, ILaunchManager.DEBUG_MODE);

+//				}

+//			}

+//		}

+

+	}

+

+

+	public boolean isPopulated() {

+		return( fConfigurations.length > 0 );

+	}

+

+	public ILaunchConfiguration[] getConfigurations() {

+		return fConfigurations;

+	}

+

+	public ILaunchConfiguration firstConfiguration() {

+		return fConfigurations[0];

+	}

+

+	public ILaunchConfiguration getConfiguration(int index) {

+		return fConfigurations[index];

+	}

+

+

+	public ILaunchConfiguration getSelection() {

+		return fSelection;

+	}

+

+	public boolean hasSelection() {

+		return( fSelection != null );

+	}

+

+	public void select(int index) {

+		if( (index >= 0) && (index < fConfigurations.length) ) {

+			fSelection = fConfigurations[index];

+		}

+		else {

+			fSelection = null;

+		}

+	}

+

+

+	public String[] getNames() {

+		return fNames;

+	}

+

+

+	////////////////////////////////////////////////////////////////////////////

+	// ILaunchConfigurationListener

+	

+	private void addLaunchConfigurationListener() {

+		fLaunchManager = DebugPlugin.getDefault().getLaunchManager();

+		fLaunchManager.addLaunchConfigurationListener(this);

+	}

+	

+	public void dispose() {	

+		fLaunchManager = DebugPlugin.getDefault().getLaunchManager();

+		fLaunchManager.removeLaunchConfigurationListener(this);

+	}

+

+	

+	@Override

+	public void launchConfigurationAdded(ILaunchConfiguration configuration) {

+		refresh();

+

+		symbexWorkflowView.refreshLaunchConfigurationsGUI();

+	}

+

+	@Override

+	public void launchConfigurationChanged(ILaunchConfiguration configuration) {

+		if(configuration.isWorkingCopy()) {

+			return;

+		}

+		List<String> contents = Arrays.asList(fNames);

+		String chg_name = configuration.getName();

+

+		if(contents.contains(chg_name)) {

+			System.err.println("conf changed detected on symbex launch conf " + chg_name);

+			int new_index = contents.indexOf(chg_name);

+			

+			symbexWorkflowView.launchConfigurationChanged(configuration, new_index);

+		} else {

+			symbexWorkflowView.launchConfigurationChanged(configuration, -1);

+		}

+	}

+

+	@Override

+	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {

+		refresh();

+

+		symbexWorkflowView.refreshLaunchConfigurationsGUI();

+	}

+

+

+	

+}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/SymbexWorkflowView.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowView.java
similarity index 79%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/SymbexWorkflowView.java
rename to execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowView.java
index 309ca34..945bba8 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/SymbexWorkflowView.java
+++ b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowView.java
@@ -10,7 +10,7 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr
  *   - Initial API and Implementation
  *******************************************************************************/
-package org.eclipse.efm.execution.ui.views.viewparts.swv;
+package org.eclipse.efm.execution.ui.views.symbexlauncher;
 
 import java.util.Arrays;
 import java.util.HashMap;
@@ -25,12 +25,11 @@
 import org.eclipse.debug.ui.DebugUITools;
 import org.eclipse.debug.ui.IDebugUIConstants;
 import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.efm.execution.ui.views.delegates.LaunchConfigurationManager;
-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.AbstractTabItemContentCreator;
-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.CommonCriteriaTabItemContentCreator;
-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.MainTabItemContentCreator;
-import org.eclipse.efm.execution.ui.views.launchconfigurations.components.TestGenerationTabItemContentCreator;
-import org.eclipse.efm.execution.ui.views.utils.GenericCompositeCreator;
+import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationPage;
+import org.eclipse.efm.execution.configuration.common.ui.page.overview.OverviewConfigurationPage;
+import org.eclipse.efm.execution.configuration.common.ui.page.supervisor.SupervisorConfigurationPage;
+import org.eclipse.efm.execution.configuration.common.ui.page.testgen.TestGenerationConfigurationPage;
+import org.eclipse.efm.execution.configuration.common.ui.util.GenericCompositeCreator;
 import org.eclipse.efm.ui.utils.ImageResources;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -38,14 +37,15 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
 import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IFormColors;
+import org.eclipse.ui.forms.widgets.FormToolkit;
 
 public class SymbexWorkflowView extends AbstractSymbexWorkflowView {
 
@@ -56,7 +56,7 @@
 
 	//public Set<SectionCompositeCreator> compositeSections;
 
-	private Set<AbstractTabItemContentCreator> compMakers;
+	private Set<AbstractConfigurationPage> compMakers;
 
 	private Combo combo;
 
@@ -75,49 +75,66 @@
 		parentComposite = parent;
 		//compositeSections = new HashSet<SectionCompositeCreator>();
 
-		launchConfigurationManager = new LaunchConfigurationManager();
+		launchConfigurationManager = new LaunchConfigurationManager(this);
 
 		// Actions
 		makeActions();
-		setupTopLevelActionBars(new Action[] {action_launch_runconf, action_launch_debugconf, action_opend_runconf, action_opend_debugconf, action_apply_changes});
+		setupTopLevelActionBars(new Action[] {
+				action_launch_runconf,
+				action_launch_debugconf,
+				action_opend_runconf, 
+				action_opend_debugconf,
+				action_apply_changes
+			});
 
 		// Frame
 		setupFormFrame();
+		
+		FormToolkit toolkit = getFormToolkit();
 
-		combo = GenericCompositeCreator.createComposite_combo_text_from_toolkit(getFormToolkit(), scrollform.getBody(), "Run Configuration :", 2);
+		combo = GenericCompositeCreator.createComposite_combo_text_from_toolkit(
+				toolkit, scrollform.getBody(), "Run Configuration :", 2);
 				//new Combo(scrollform.getBody(), SWT.READ_ONLY);
 
 		combo.setItems( launchConfigurationManager.getNames() );
 
-		//text_model_file_path = GenericCompositeCreator.createComposite_label_text_from_toolkit(toolkit, scrollform.getBody(), "Model File :", 2);
+		//text_model_file_path = GenericCompositeCreator.createComposite_label_text_from_toolkit(
+//				toolkit, scrollform.getBody(), "Model File :", 2);
 
-		tabbedCompositeMaster = getFormToolkit().createComposite(scrollform.getBody());
+		tabbedCompositeMaster = toolkit.createComposite(scrollform.getBody());
 		GridLayout gl = new GridLayout(1, false);
 		tabbedCompositeMaster.setLayout(gl);
 		GridData gd = new GridData(SWT.FILL,SWT.FILL, true, true);
 		tabbedCompositeMaster.setLayoutData(gd);
 
-		tabFolder = new CTabFolder( tabbedCompositeMaster, SWT.BOTTOM );
-	    tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL, true, true));
-	    getFormToolkit().adapt(tabFolder, true, true);
+		tabFolder = new CTabFolder( tabbedCompositeMaster, SWT.FLAT | SWT.TOP );
+		toolkit.adapt(tabFolder, true, true);
+//	    tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL, true, true));
+		gd = new GridData(SWT.FILL,SWT.FILL, true, true);
+//		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+		tabFolder.setLayoutData(gd);
+		gd.heightHint = 2;
+		toolkit.getColors().initializeSectionToolBarColors();
+		Color selectedColor = toolkit.getColors().getColor(IFormColors.TB_BG);
+		tabFolder.setSelectionBackground(
+				new Color[] {selectedColor, toolkit.getColors().getBackground()},
+				new int[] {100}, true);
 
 	    createSectionsContent();
 
 		//PlatformUI.getWorkbench().getHelpSystem().setHelp(this, "");
 
-		addUpdateSWVlistener();
-
-
 		combo.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
+				launchConfigurationManager.select(combo.getSelectionIndex());
+
+				refreshGUI();
+
 				int index = combo.getSelectionIndex();
 				if (index != -1) {
 					launchConfigurationManager.select(index);
 				}
-				else {
-					launchConfigurationManager.select(-1);
-				}
 			}
 		});
 
@@ -128,6 +145,13 @@
 		}
 	}
 
+	
+	@Override
+	public void dispose() {
+		launchConfigurationManager.dispose();
+	
+		super.dispose();
+	}
 
 	public void refreshLaunchConfigurationsGUI() {
 		int cur_index = combo.getSelectionIndex();
@@ -137,7 +161,7 @@
 			cur_name = combo.getItem(cur_index);
 		}
 
-		launchConfigurationManager.refresh();
+//		launchConfigurationManager.refresh();
 
 		String[] contents = launchConfigurationManager.getNames();
 
@@ -148,31 +172,32 @@
 			int new_index = Arrays.asList(contents).indexOf(cur_name);
 			launchConfigurationManager.select(new_index);
 			combo.select(new_index);
-		} else {
+		} else if( launchConfigurationManager.isPopulated() ) {
+			launchConfigurationManager.select(0);
+			combo.select(0);
+		} else {			
 			combo.deselectAll();
+			launchConfigurationManager.select(-1);
 		}
 
-		updateGUI();
+		refreshGUI();
 		scheduleUpdateJob();
 	}
 
-
-	private void addUpdateSWVlistener() {
-		try {
-			UpdateSymbexWorkflowViewListener uSWVl = new UpdateSymbexWorkflowViewListener(combo, this);
-			this.parentComposite.addDisposeListener(new DisposeListener() {
-
-	            @Override
-	            public void widgetDisposed(DisposeEvent e) {
-	            	uSWVl.selfKill();
-	            }
-	        });
-
-		} catch (Exception e) {
-			e.printStackTrace();
+	
+	public void launchConfigurationChanged(ILaunchConfiguration configuration, int index) {
+		if( index >= 0 ) {
+			combo.select(index);
+			
+			updateGUI();
+			
+			scheduleUpdateJob();
+		} else {
+			combo.deselectAll();
 		}
 	}
 
+
 	private CTabItem createTabItemAndComposite(String tabname) {
 		CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE );
 		tabItem.setText(tabname);
@@ -201,11 +226,11 @@
 
 	private void createSectionsContent() {
 
-		compMakers = new HashSet<AbstractTabItemContentCreator>();
+		compMakers = new HashSet<AbstractConfigurationPage>();
 
 		fst_tabitem = createTabItemAndComposite("Main");
 		first_tbcomp = (Composite) fst_tabitem.getControl();
-		MainTabItemContentCreator firstcmp = new MainTabItemContentCreator(this);
+		OverviewConfigurationPage firstcmp = new OverviewConfigurationPage(this);
 		Map<String, Action> firstacts = new HashMap<String, Action>();
 		firstacts.put("action_apply_changes", action_apply_changes);
 		firstcmp.setRegisteredActions(firstacts);
@@ -215,14 +240,14 @@
 
 		cc_tabitem = createTabItemAndComposite("Common Criteria");
 		cc_tbcomp = (Composite) cc_tabitem.getControl();
-		CommonCriteriaTabItemContentCreator cccmp = new CommonCriteriaTabItemContentCreator(this);
+		SupervisorConfigurationPage cccmp = new SupervisorConfigurationPage(this);
 		cccmp.createTabItemContent(cc_tbcomp);
 		compMakers.add(cccmp);
 //		quickDico.put(1, cccmp);
 
 		tg_tabitem = createTabItemAndComposite("Test Generation");
 		tg_tbcomp = (Composite) tg_tabitem.getControl();
-		TestGenerationTabItemContentCreator tgcmp = new TestGenerationTabItemContentCreator(this);
+		TestGenerationConfigurationPage tgcmp = new TestGenerationConfigurationPage(this);
 		tgcmp.createTabItemContent(tg_tbcomp);
 		compMakers.add(tgcmp);
 //		quickDico.put(3, tgcmp);
@@ -273,15 +298,8 @@
 //				}
 //			}
 //	    });
-
-
-
-	    combo.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				updateGUI();
-			}
-		});
+		
+		tabFolder.setSelection(0);
 	}
 
 	private void updateEnableTab(boolean isLaunchConfSelected) {
@@ -400,7 +418,7 @@
 					ILaunchConfigurationWorkingCopy rwConfiguration;
 					try {
 						rwConfiguration = selectedConfiguration.getWorkingCopy();
-						for(AbstractTabItemContentCreator acm : compMakers) {
+						for(AbstractConfigurationPage acm : compMakers) {
 							acm.applyUpdatesOnFieldValuesFrom(rwConfiguration);
 						}
 						rwConfiguration.doSave();
@@ -420,26 +438,24 @@
 	//                              ILaunchConfigurationGUIelement interface methods
 	// ======================================================================================
 
-	private ILaunchConfigurationWorkingCopy lastlcwc;
+	private ILaunchConfigurationWorkingCopy fLasLaunchConfigurationWorkingCopy;
 
-	@Override
-	public void updateGUI() {
+	public void refreshGUI() {
 		if( launchConfigurationManager.hasSelection() ) {
 			ILaunchConfiguration selectedLC = launchConfigurationManager.getSelection();
 			updateEnableTab(true);
 
 			try {
 				ILaunchConfigurationWorkingCopy newcopy = selectedLC.getWorkingCopy();
-				if(lastlcwc != null && lastlcwc.contentsEqual(newcopy)) {
-					return;
-				} else {
-					lastlcwc = newcopy;
+				if( (fLasLaunchConfigurationWorkingCopy == null)
+					|| (! fLasLaunchConfigurationWorkingCopy.contentsEqual(newcopy)) ) {
+					fLasLaunchConfigurationWorkingCopy = newcopy;
 					System.err.println("++++---- Biopp");
-					for(AbstractTabItemContentCreator acm : compMakers) {
-						acm.initializeFieldValuesFrom(newcopy);
+					
+					for(AbstractConfigurationPage acm : compMakers) {
+						acm.initializeFieldValuesFrom(selectedLC);
 					}
 				}
-
 			} catch (CoreException e) {
 				setErrorMessage("could not get launch configuration working copy");
 				e.printStackTrace();
@@ -451,6 +467,12 @@
 		}
 	}
 
+
+	@Override
+	public void updateGUI() {
+		refreshGUI();
+	}
+
 	@Override // to change visibility to public
 	public void scheduleUpdateJob(){
 		scrollform.reflow(true);
diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/SymbexWorkflowViewOld.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowViewOld.java
similarity index 97%
rename from execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/SymbexWorkflowViewOld.java
rename to execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowViewOld.java
index 77f597a..f841376 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/SymbexWorkflowViewOld.java
+++ b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowViewOld.java
@@ -10,7 +10,7 @@
  *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr
  *   - Initial API and Implementation
  *******************************************************************************/
-package org.eclipse.efm.execution.ui.views.viewparts.swv;
+package org.eclipse.efm.execution.ui.views.symbexlauncher;
 
 //public class SymbexWorkflowViewOld {//extends AbstractSymbexWorkflowView {
 //
@@ -163,10 +163,10 @@
 //	}
 //	
 //	private void openLaunchConfigurationDialog(ILaunchConfiguration launchConfig, String mode) {
-//		IStructuredSelection selection = new StructuredSelection(launchConfig);
+//		IStructuredSelection fSelection = new StructuredSelection(launchConfig);
 //		ILaunchGroup group = DebugUITools.getLaunchGroup(launchConfig, mode);
 //		String groupIdentifier = group == null ? IDebugUIConstants.ID_RUN_LAUNCH_GROUP : group.getIdentifier();
-//		DebugUITools.openLaunchConfigurationDialogOnGroup(scrollform.getShell(), selection, groupIdentifier, null);
+//		DebugUITools.openLaunchConfigurationDialogOnGroup(scrollform.getShell(), fSelection, groupIdentifier, null);
 //	}
 //
 //	private Action action_launch_runconf;
diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/AbstractLaunchConfigurationGUIelement.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/AbstractLaunchConfigurationGUIelement.java
deleted file mode 100644
index 9720ba5..0000000
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/AbstractLaunchConfigurationGUIelement.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2017 CEA LIST.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.efm.execution.ui.views.utils;

-

-import org.eclipse.ui.forms.widgets.FormToolkit;

-

-public abstract class AbstractLaunchConfigurationGUIelement implements ILaunchConfigurationGUIelement {

-	

-	protected FormToolkit toolkit;

-	

-	@Override

-	public FormToolkit getFormToolkit() {

-		return toolkit;

-	}	

-	

-}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/ILaunchConfigurationEditorComposite.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/ILaunchConfigurationEditorComposite.java
deleted file mode 100644
index 388d172..0000000
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/utils/ILaunchConfigurationEditorComposite.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2017 CEA LIST.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Erwan Mahe (CEA LIST) erwan.mahe@cea.fr - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.efm.execution.ui.views.utils;

-

-import java.util.Map;

-

-import org.eclipse.jface.action.Action;

-import org.eclipse.swt.widgets.Control;

-

-public interface ILaunchConfigurationEditorComposite {

-	

-	public void propagateMessage(String message);

-

-	public void propagateWarningMessage(String warningmessage);

-	

-	public void propagateErrorMessage(String errormessage);

-	

-	public void propagateGUIupdate();

-	

-	public void propagateVisibility(Control smp, boolean isVisible);

-	

-	public void propagateUpdateJobScheduling();

-	

-	public Map<String, Action> getRunnableActions();

-}

diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/UpdateSymbexWorkflowViewListener.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/UpdateSymbexWorkflowViewListener.java
deleted file mode 100644
index 89cc3b5..0000000
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/viewparts/swv/UpdateSymbexWorkflowViewListener.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2017 CEA LIST.

- *

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *  Erwan Mahe (CEA LIST) erwan.mahe@cea.fr

- *   - Initial API and Implementation

- *******************************************************************************/

-package org.eclipse.efm.execution.ui.views.viewparts.swv;

-

-import java.util.Arrays;

-import java.util.HashMap;

-import java.util.Map;

-import java.util.concurrent.ThreadLocalRandom;

-

-import org.eclipse.debug.core.DebugPlugin;

-import org.eclipse.debug.core.ILaunchConfiguration;

-import org.eclipse.debug.core.ILaunchConfigurationListener;

-import org.eclipse.debug.core.ILaunchManager;

-import org.eclipse.swt.widgets.Combo;

-

-public class UpdateSymbexWorkflowViewListener implements ILaunchConfigurationListener {

-

-

-	private static Map<Integer, UpdateSymbexWorkflowViewListener> listenerTracker = new HashMap<>();

-

-	private SymbexWorkflowView symbexWorkflowView;

-

-	private ILaunchManager lc_manager;

-	private Integer ID;

-	private Combo combo;

-

-

-	public UpdateSymbexWorkflowViewListener(Combo combo,

-			SymbexWorkflowView symbexWorkflowView) throws Exception

-	{

-		final int min = 0;

-		final int max = 999;

-

-		if( UpdateSymbexWorkflowViewListener.listenerTracker.keySet().size() > max )

-		{

-			throw new Exception();

-		}

-		int id_n = 0;

-		while( UpdateSymbexWorkflowViewListener.listenerTracker.containsKey(id_n) )

-		{

-			id_n = ThreadLocalRandom.current().nextInt(min, max + 1);

-		}

-		this.ID = id_n;

-		this.combo = combo;

-		this.symbexWorkflowView = symbexWorkflowView;

-		lc_manager = DebugPlugin.getDefault().getLaunchManager();

-		lc_manager.addLaunchConfigurationListener(this);

-	}

-

-

-	public void selfKill() {

-		lc_manager = DebugPlugin.getDefault().getLaunchManager();

-		lc_manager.removeLaunchConfigurationListener(this);

-		UpdateSymbexWorkflowViewListener.listenerTracker.remove(ID);

-		try {

-			this.finalize();

-		} catch (Throwable e) {

-			e.printStackTrace();

-		}

-	}

-

-	@Override

-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {

-		symbexWorkflowView.refreshLaunchConfigurationsGUI();

-	}

-

-	@Override

-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {

-		if(configuration.isWorkingCopy()) {

-			return;

-		}

-		String[] contents = symbexWorkflowView.getLaunchConfigurationNames();

-		String chg_name = configuration.getName();

-

-		if(Arrays.asList(contents).contains(chg_name)) {

-			System.err.println("conf changed detected on symbex launch conf " + chg_name);

-			int new_index = Arrays.asList(contents).indexOf(chg_name);

-			combo.select(new_index);

-			symbexWorkflowView.updateGUI();

-			symbexWorkflowView.scheduleUpdateJob();

-		} else {

-			combo.deselectAll();

-		}

-	}

-

-	@Override

-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {

-		symbexWorkflowView.refreshLaunchConfigurationsGUI();

-	}

-

-}

diff --git a/execution/pom.xml b/execution/pom.xml
index 5a7c372..28dc2dc 100644
--- a/execution/pom.xml
+++ b/execution/pom.xml
@@ -13,6 +13,7 @@
 	<description>This module contains the different plugins relative to the workflow configuration of Execution by Symbex </description>
 
 	<modules>
+		<module>org.eclipse.efm.execution.configuration.common.ui</module>
 		<module>org.eclipse.efm.execution.core</module>
 		<module>org.eclipse.efm.execution.launchconfiguration</module>
 		<module>org.eclipse.efm.execution.ui</module>
diff --git a/releng/org.eclipse.efm.modeling.feature/feature.xml b/releng/org.eclipse.efm.modeling.feature/feature.xml
index fa9684d..5945c67 100644
--- a/releng/org.eclipse.efm.modeling.feature/feature.xml
+++ b/releng/org.eclipse.efm.modeling.feature/feature.xml
@@ -271,4 +271,11 @@
          version="0.0.0"

          unpack="false"/>

 

+   <plugin

+         id="org.eclipse.efm.execution.configuration.common.ui"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

 </feature>

diff --git a/releng/org.eclipse.efm.modeling.rcp/plugin.xml b/releng/org.eclipse.efm.modeling.rcp/plugin.xml
index 2a6f6f1..a6ef431 100644
--- a/releng/org.eclipse.efm.modeling.rcp/plugin.xml
+++ b/releng/org.eclipse.efm.modeling.rcp/plugin.xml
@@ -7,12 +7,12 @@
       <product
             application="org.eclipse.ui.ide.workbench"
             description="Papyrus&#x0D;&#x0A;&#x0D;&#x0A;Version: 1.0.0&#x0D;&#x0A;&#x0D;&#x0A;(c) Copyright Eclipse contributors and others 2000, 2015.  All rights reserved.&#x0D;&#x0A;Visit http://www.eclipse.org/platform&#x0D;&#x0A;&#x0D;&#x0A;This product includes software developed by the&#x0D;&#x0A;Apache Software Foundation http://www.apache.org/"
-            name="Eclipse Formal Modeling">
+            name="Eclipse Formal Modeling &amp; Symbex Tools">
          <property name="windowImages" value="icons/papyrus16.png,icons/papyrus32.png,icons/papyrus48.png,icons/papyrus64.png,icons/papyrus128.png"/> 
          <property name="aboutImage" value="icons/papyrus_lg.png"/>
          <property
                name="appName"
-               value="Eclipse Formal Modeling">
+               value="Eclipse Formal Modeling &amp; Symbex Tools">
          </property>
          <property
               name="introBrandingImage"
@@ -47,7 +47,13 @@
 		  </property>
     <property
           name="aboutText"
-          value="Eclipse Formal Modeling">
+          value="Eclipse Formal Modeling  (Incubation)
+
+(c) Copyright Eclipse contributors and others 2000, 2016.  All rights reserved.
+Visit http://www.eclipse.org/platform
+
+This product includes software developed by the
+Apache Software Foundation http://www.apache.org/">
     </property>
     <property
           name="preferenceCustomization"
diff --git a/releng/org.eclipse.efm.modeling.textual.feature/feature.xml b/releng/org.eclipse.efm.modeling.textual.feature/feature.xml
index aad4b02..a46aeb3 100644
--- a/releng/org.eclipse.efm.modeling.textual.feature/feature.xml
+++ b/releng/org.eclipse.efm.modeling.textual.feature/feature.xml
@@ -152,4 +152,11 @@
          version="0.0.0"

          unpack="false"/>

 

+   <plugin

+         id="org.eclipse.efm.execution.configuration.common.ui"

+         download-size="0"

+         install-size="0"

+         version="0.0.0"

+         unpack="false"/>

+

 </feature>