Bug 514634 General improvement

[Update] Binding visibility of Debug/SecondStageSymbexWorkflow with
TestGeneration/Enabled Extension in Workflow/View tabs

Change-Id: Icdbb69fee8c5fdde5d073d71b47b535d03c55367
Signed-off-by: Arnault Lapitre <arnault.lapitre@cea.fr>
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/debug/DebugConfigurationPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/debug/DebugConfigurationPage.java
index 26cb566..5d19034 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/debug/DebugConfigurationPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/debug/DebugConfigurationPage.java
@@ -25,6 +25,7 @@
 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.jface.util.PropertyChangeEvent;

 import org.eclipse.swt.SWT;

 import org.eclipse.swt.events.ModifyEvent;

 import org.eclipse.swt.events.ModifyListener;

@@ -75,6 +76,7 @@
 	

 

 	// Second Symbex Workflow Page

+	private Group fGroupSecondStageSymbexWorkflow;

 //		private BooleanFieldEditor fSecondParsedModelGraphizEnabledBooleanField;

 ////		private StringFieldEditor  fSecondParsedModelGraphizFileNameStringField;

 //

@@ -84,6 +86,8 @@
 //		private BooleanFieldEditor fSecondCompiledModelTextualEnabledBooleanField;

 ////		private StringFieldEditor  fSecondCompiledModelTextualFileNameStringField;

 

+	private Group fGroupSymbexOutputGeneratedTraces;

+	

 	private BooleanFieldEditor fSecondSymbexOutputTextualEnabledBooleanField;

 //		private StringFieldEditor  fSecondSymbexOutputTextualFileNameStringField;

 

@@ -262,22 +266,19 @@
 

 

 	private void setEnableFirstExecutionPage(boolean checked) {

-		fGroupFirstSymbexOutputTrace.setVisible(checked);

 		propagateVisibility(fGroupFirstSymbexOutputTrace, checked);

 		

-		fGroupFirstSymbexOutputFormat.setVisible(checked);

 		propagateVisibility(fGroupFirstSymbexOutputFormat, checked);

 	}

 

 

 	public void createSecondSymbexWorkflowtPage(Composite parent, IWidgetToolkit widgetToolkit) {

-		Group group = widgetToolkit.createGroup(parent,

-				"Second Stage Symbex Workflow Page",

-				1, 1, GridData.FILL_HORIZONTAL);

+		fGroupSecondStageSymbexWorkflow = widgetToolkit.createGroup(parent,

+				"Second Stage Symbex Workflow Page", 1, 1, GridData.FILL_HORIZONTAL);

 

 //			createSecondInputModelGraphicComponent(group);

 

-		createSecondSymbexOutputComponent(group, widgetToolkit);

+		createSecondSymbexOutputComponent(fGroupSecondStageSymbexWorkflow, widgetToolkit);

 	}

 

 

@@ -306,19 +307,19 @@
 //		}

 

 	private void createSecondSymbexOutputComponent(Composite parent, IWidgetToolkit widgetToolkit) {

-		Group group = widgetToolkit.createGroup(parent,

+		fGroupSymbexOutputGeneratedTraces = widgetToolkit.createGroup(parent,

 				"Symbex Output Generated Traces",

 				1, 1, GridData.FILL_HORIZONTAL);

 

 		Composite comp = widgetToolkit.createComposite(

-				group, 1, 1, GridData.FILL_HORIZONTAL);

+				fGroupSymbexOutputGeneratedTraces, 1, 1, GridData.FILL_HORIZONTAL);

 

 		fSecondSymbexOutputTextualEnabledBooleanField = new BooleanFieldEditor(

 				this, ATTR_ENABLED_SECOND_SYMBEX_OUTPUT_TEXTUAL_GENERATION,

 				"&Basic Textual Representation", comp, false);

 

 

-		group = widgetToolkit.createGroup(comp,

+		Group group = widgetToolkit.createGroup(comp,

 				"Symbex Output Generated Graphic Traces",

 				1, 1, GridData.FILL_HORIZONTAL);

 

@@ -348,10 +349,8 @@
 

 

 	private void setEnableSecondExecutionPage(boolean checked) {

-		fGroupSecondSymbexOutputTrace.setVisible(checked);

 		propagateVisibility(fGroupSecondSymbexOutputTrace, checked);

 		

-		fGroupSecondSymbexOutputFormat.setVisible(checked);

 		propagateVisibility(fGroupSecondSymbexOutputFormat, checked);

 	}

 

@@ -561,25 +560,25 @@
 		fFirstSymbexOutputGraphizFormatStringField.performApply(configuration);

 

 

-//			fSecondParsedModelTextualEnabledBooleanField.performApply(configuration);

-//			fSecondParsedModelGraphizEnabledBooleanField.performApply(configuration);

-//			if( fEnabledSymbexDeveloperMode ) {

-//				fSecondCompiledModelTextualEnabledBooleanField.performApply(configuration);

-//			}

+//		fSecondParsedModelTextualEnabledBooleanField.performApply(configuration);

+//		fSecondParsedModelGraphizEnabledBooleanField.performApply(configuration);

+//		if( fEnabledSymbexDeveloperMode ) {

+//			fSecondCompiledModelTextualEnabledBooleanField.performApply(configuration);

+//		}

 

-			fSecondSymbexOutputTextualEnabledBooleanField.performApply(configuration);

-			fSecondSymbexOutputGraphizEnabledBooleanField.performApply(configuration);

-			fSecondSymbexOutputGraphizTraceStringField.performApply(configuration);

+		fSecondSymbexOutputTextualEnabledBooleanField.performApply(configuration);

+		fSecondSymbexOutputGraphizEnabledBooleanField.performApply(configuration);

+		fSecondSymbexOutputGraphizTraceStringField.performApply(configuration);

 

-			fSecondSymbexOutputGraphizFormatStringField.performApply(configuration);

+		fSecondSymbexOutputGraphizFormatStringField.performApply(configuration);

 

 

-			setEnableFirstExecutionPage(

-					fFirstSymbexOutputGraphizEnabledBooleanField.getBooleanValue() );

+		setEnableFirstExecutionPage(

+				fFirstSymbexOutputGraphizEnabledBooleanField.getBooleanValue() );

 

-			setEnableSecondExecutionPage(

-					fSecondSymbexOutputGraphizEnabledBooleanField.getBooleanValue() );

-		}

+		setEnableSecondExecutionPage(

+				fSecondSymbexOutputGraphizEnabledBooleanField.getBooleanValue() );

+	}

 

 

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

@@ -591,5 +590,28 @@
 		return new FieldValidationReturn(true, null);

 	}

 

+	

+	///////////////////////////////////////////////////////////////////////////

+	// Property Change

+	//

+	@Override

+	protected void handleConfigurationPropertyChange(PropertyChangeEvent event) {

+		switch( event.getProperty() ) {

+		case ATTR_ENABLED_TRACE_EXTENSION:

+//			fGroupSecondStageSymbexWorkflow.setEnabled( (Boolean)( event.getNewValue() ) );

+			

+			propagateVisibility(fGroupSecondStageSymbexWorkflow,

+					(Boolean)( event.getNewValue() ) );

+			

+//			propagateVisibility(fGroupSymbexOutputGeneratedTraces,

+//					(Boolean)( event.getNewValue() ) );

+			break;

+				

+		default:

+			break;

+		}

+	}

+	

+

 }

 

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/developer/DeveloperTuningConfigurationPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/developer/DeveloperTuningConfigurationPage.java
index 0099353..20be8ac 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/developer/DeveloperTuningConfigurationPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/developer/DeveloperTuningConfigurationPage.java
@@ -194,8 +194,7 @@
 		createDebugTraceOptionsComponent(group, widgetToolkit);

 	}

 

-	private void setEnableDeveloperTuningOptionsPage(

-			ILaunchConfiguration configuration, boolean enabled) {

+	private void setEnableDeveloperTuningOptionsPage(boolean enabled) {

 		fLogFileNameStringField.setEnabled(enabled);

 		fDebugTraceFileNameStringField.setEnabled(enabled);

 

@@ -219,6 +218,15 @@
 

 		fDeveloperModeEnabledBooleanField = new BooleanFieldEditor(this,

 				ATTR_ENABLED_DEVELOPER_TUNING, "&Developer Mode", comp, false);

+		

+		fDeveloperModeEnabledBooleanField.addSelectionListener(

+				new SelectionAdapter() {

+					@Override

+					public void widgetSelected(SelectionEvent e) {

+						setEnableDeveloperTuningOptionsPage(

+								fDeveloperModeEnabledBooleanField.getBooleanValue() );

+					}

+				});

 

 		comp = widgetToolkit.createComposite(

 				parent, 1, 5, GridData.FILL_HORIZONTAL);

@@ -691,7 +699,7 @@
 		fNothingEnabledBooleanField.initializeFrom(configuration);

 		fGodModeEnabledBooleanField.initializeFrom(configuration);

 

-		setEnableDeveloperTuningOptionsPage(configuration,

+		setEnableDeveloperTuningOptionsPage(

 				fDeveloperModeEnabledBooleanField.getBooleanValue() );

 	}

 

@@ -727,7 +735,7 @@
 	public void applyUpdatesOnFieldValuesFrom(ILaunchConfigurationWorkingCopy configuration) {

 		fDeveloperModeEnabledBooleanField.performApply(configuration);

 

-		setEnableDeveloperTuningOptionsPage(configuration,

+		setEnableDeveloperTuningOptionsPage(

 				fDeveloperModeEnabledBooleanField.getBooleanValue() );

 

 		fLogFileNameStringField.performApply(configuration);

diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
index 22e730a..c10cbfe 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/testgen/TestGenerationConfigurationPage.java
@@ -89,6 +89,11 @@
 					@Override

 					public void widgetSelected(SelectionEvent e) {

 						handleEnablingTraceExtension();

+						

+						propertyChange( new PropertyChangeEvent(this, ATTR_ENABLED_TRACE_EXTENSION,

+								new Boolean(fTraceExtensionEnabledBooleanField.getBooleanValue()),

+								new Boolean(fTraceExtensionEnabledBooleanField.getBooleanValue()) ));

+

 					}

 				});

 

diff --git a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/DeveloperTuningOptionCustomImpl.java b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/DeveloperTuningOptionCustomImpl.java
index 6bf0b12..2ea1215 100644
--- a/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/DeveloperTuningOptionCustomImpl.java
+++ b/execution/org.eclipse.efm.execution.core/src/org/eclipse/efm/execution/core/workflow/common/DeveloperTuningOptionCustomImpl.java
@@ -832,7 +832,7 @@
 					}

 

 					if( isEnabledConfiguring() ) {

-						writer.appendTab2Eol( "flag = 'CONFIGURE'" );

+						writer.appendTab2Eol( "flag = 'CONFIGURING'" );

 					}

 

 					if( isEnabledCompiling() ) {