Bug 514634 General improvement
[Add] Listener for Configuration Property change
Change-Id: I2a33d734b0399e5f92f07f4391937bf562b30863
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/api/AbstractConfigurationPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationPage.java
index 33a912d..88273f5 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractConfigurationPage.java
@@ -26,11 +26,13 @@
import org.eclipse.efm.execution.core.IWorkflowPreferenceConstants;
import org.eclipse.efm.execution.core.SymbexPreferenceUtil;
import org.eclipse.jface.action.Action;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
-public abstract class AbstractConfigurationPage
- implements IWorkflowConfigurationConstants, IWorkflowPreferenceConstants {
+public abstract class AbstractConfigurationPage implements IPropertyChangeListener,
+ IWorkflowConfigurationConstants, IWorkflowPreferenceConstants {
private ILaunchConfigurationGUIelement masterGUIelement;
@@ -114,10 +116,22 @@
///////////////////////////////////////////////////////////////////////////
- // Model Analysis Profile changed
+ // Property Change as Model Analysis Profile changed
//
- public void handleModelAnalysisProfileSelectionChanged(String analysisProfile) {
- //!! Nothing
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+// System.out.print( "PropertyChangeEvent : " );
+// System.out.print( event.getProperty() );
+// System.out.print( " <-- " );
+// System.out.println( event.getNewValue().toString() );
+
+ for( AbstractConfigurationPage confPage : getConfigurationPages() ) {
+ confPage.handleConfigurationPropertyChange(event);
+ }
+ }
+
+ protected void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ //!! Default
}
@@ -130,6 +144,7 @@
// Fields Validation
// ======================================================================================
+
public final class FieldValidationReturn {
private final boolean fieldValidation;
private final String reasonString;
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractSectionPart.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractSectionPart.java
index f0eab22..0e65e86 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractSectionPart.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/api/AbstractSectionPart.java
@@ -19,6 +19,7 @@
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.efm.execution.configuration.common.ui.editors.FieldEditor;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.widgets.Composite;
public abstract class AbstractSectionPart {
@@ -153,5 +154,11 @@
}
-
+ ///////////////////////////////////////////////////////////////////////////
+ // Property Change
+ //
+ public void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ //!! Default
+ }
+
}
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/BooleanFieldEditor.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/BooleanFieldEditor.java
index 91c6f47..7be7931 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/BooleanFieldEditor.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/BooleanFieldEditor.java
@@ -60,12 +60,6 @@
private Button checkBox = null;
/**
- * Creates a new boolean field editor
- */
- public BooleanFieldEditor() {
- }
-
- /**
* Creates a boolean field editor in the given style.
*
* @param name
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/FieldEditor.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/FieldEditor.java
index b27e40a..aa4ebfe 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/FieldEditor.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/FieldEditor.java
@@ -421,6 +421,9 @@
Assert.isNotNull(labelText);
this.labelText = labelText;
+
+ // @NOT SYSTEMATIC, used with parsimony
+// setPropertyChangeListener( configurationPage );
}
/**
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/StringFieldEditor.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/StringFieldEditor.java
index 56192fd..8019b12 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/StringFieldEditor.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/editors/StringFieldEditor.java
@@ -143,13 +143,6 @@
*/
private int validateStrategy = VALIDATE_ON_KEY_STROKE;
-
- /**
- * Creates a new string field editor
- */
- protected StringFieldEditor() {
- }
-
/**
* Creates a new string field editor
*/
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertConfigurationPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertConfigurationPage.java
index 8954242..fc2c6cb 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertConfigurationPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertConfigurationPage.java
@@ -20,6 +20,7 @@
import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationProfile;
import org.eclipse.efm.execution.configuration.common.ui.api.ILaunchConfigurationGUIelement;
import org.eclipse.efm.execution.configuration.common.ui.api.IWidgetToolkit;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.layout.GridData;
@@ -180,12 +181,23 @@
///////////////////////////////////////////////////////////////////////////
- // Model Analysis Profile changed
+ // Property Change
//
@Override
- public void handleModelAnalysisProfileSelectionChanged(String analysisProfile) {
- setVisibleProfilePage(analysisProfile);
+ protected void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ switch( event.getProperty() ) {
+ case ATTR_SPECIFICATION_MODEL_ANALYSIS_PROFILE: {
+ setVisibleProfilePage( event.getNewValue().toString() );
+
+ break;
+ }
+ default:
+ break;
+ }
+
+ fBehaviorSelectionPage.handleConfigurationPropertyChange(event);
+
+ fTransitionCoveragePage.handleConfigurationPropertyChange(event);
}
-
-
+
}
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertTransitionCoverageConfigurationProfile.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertTransitionCoverageConfigurationProfile.java
index 92a9700..1f6e18d 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertTransitionCoverageConfigurationProfile.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/expert/ExpertTransitionCoverageConfigurationProfile.java
@@ -20,6 +20,7 @@
import org.eclipse.efm.execution.configuration.common.ui.api.IWidgetToolkit;
import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;
import org.eclipse.efm.execution.configuration.common.ui.editors.IntegerFieldEditor;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
@@ -635,4 +636,27 @@
return true;
}
+
+ ///////////////////////////////////////////////////////////////////////////
+ // Property Change
+ //
+ @Override
+ public void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ switch( event.getProperty() ) {
+ case ATTR_ENABLED_TRANSITION_COVERAGE_DETAILS_SELECTION: {
+ if( event.getNewValue() instanceof Boolean ) {
+ if( (Boolean)(event.getNewValue()) ) {
+ fTCScopeCombo.select(2); // SCOPE_COMBO_ITEM_DETAILS:
+ }
+ else {
+ fTCScopeCombo.select(0); // SCOPE_COMBO_ITEM_MODEL:
+ }
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ }
+
}
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
index 4636e4c..dcd38f4 100644
--- 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
@@ -19,6 +19,7 @@
import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationSection;
import org.eclipse.efm.execution.configuration.common.ui.api.IWidgetToolkit;
import org.eclipse.efm.ui.utils.ImageResources;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -120,7 +121,12 @@
fTabFolder.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- handleModelAnalysisProfileSelectionChange( true );
+ handleModelAnalysisProfileSelectionChange();
+
+ fConfigurationPage.propertyChange(
+ new PropertyChangeEvent(this,
+ ATTR_SPECIFICATION_MODEL_ANALYSIS_PROFILE,
+ fModelAnalysisProfile, fModelAnalysisProfile) );
fConfigurationPage.propagateUpdateJobScheduling();
}
@@ -230,22 +236,13 @@
break;
}
- handleModelAnalysisProfileSelectionChange( false );
+ handleModelAnalysisProfileSelectionChange();
}
// ======================================================================================
// Miscellaneous handling
// ======================================================================================
- public void handleModelFileChange() {
- if( fModelAnalysisProfile.equals(ANALYSIS_PROFILE_MODEL_COVERAGE_TRANSITION) )
- {
- fTransitionCoveragePage.handleModelFilePathChanged(
- ((OverviewConfigurationPage) fConfigurationPage).getModelPathText());
- }
- }
-
-
- private void handleModelAnalysisProfileSelectionChange(boolean notifyAll) {
+ private void handleModelAnalysisProfileSelectionChange() {
if( fModelAnalysisProfileSelectionTabItem != null ) {
fModelAnalysisProfileSelectionTabItem.setImage(null);
}
@@ -257,15 +254,6 @@
fModelAnalysisProfileSelectionTabItem.setImage(
ImageResources.getImageDescriptor(
ImageResources.IMAGE__VALIDATE_ICON).createImage());
-
-
- if( notifyAll ) {
- for( AbstractConfigurationPage confPage : getConfigurationPages() ) {
- confPage.handleModelAnalysisProfileSelectionChanged(fModelAnalysisProfile);
- }
-
-// getConfigurationPage().propagateGUIupdate();
- }
}
@@ -354,7 +342,7 @@
protected boolean isValidImpl(ILaunchConfiguration launchConfig) {
switch( fModelAnalysisProfile ) {
case ANALYSIS_PROFILE_MODEL_EXPLORATION: {
- // TRANSITION COVERAGE ANALYSIS
+ // MODEL EXPLORATION ANALYSIS
if( ! fExplorationPage.isValid(launchConfig) )
{
return false;
@@ -400,5 +388,20 @@
return true;
}
+
+
+ ///////////////////////////////////////////////////////////////////////////
+ // Property Change
+ //
+ @Override
+ public void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ fExplorationPage.handleConfigurationPropertyChange(event);
+
+ fTransitionCoveragePage.handleConfigurationPropertyChange(event);
+
+ fBehaviorSelectionPage.handleConfigurationPropertyChange(event);
+
+ fTestOfflinePage.handleConfigurationPropertyChange(event);
+ }
}
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewBehaviorSelectionConfigurationProfile.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewBehaviorSelectionConfigurationProfile.java
index 8a3a525..01e3535 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewBehaviorSelectionConfigurationProfile.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewBehaviorSelectionConfigurationProfile.java
@@ -14,9 +14,9 @@
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.AbstractConfigurationProfile;
import org.eclipse.efm.execution.configuration.common.ui.api.IWidgetToolkit;
-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;
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewConfigurationPage.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewConfigurationPage.java
index 30a399b..cb698a4 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewConfigurationPage.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewConfigurationPage.java
@@ -25,6 +25,7 @@
import org.eclipse.efm.execution.configuration.common.ui.util.GenericCompositeCreator;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ToolBarManager;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
import org.eclipse.swt.accessibility.AccessibleAdapter;
@@ -75,11 +76,6 @@
}
- public String getModelPathText() {
- return fModelPathText.getText();
- }
-
-
/**
* Modify listener that simply updates the owning launch configuration dialog.
*/
@@ -88,7 +84,9 @@
public void modifyText(ModifyEvent evt) {
propagateUpdateJobScheduling();
- fAnalysisProfileSection.handleModelFileChange();
+ propertyChange( new PropertyChangeEvent(this,
+ ATTR_SPECIFICATION_MODEL_FILE_LOCATION,
+ fModelPathText.getText(), fModelPathText.getText()) );
}
};
@@ -285,5 +283,15 @@
return new FieldValidationReturn(isValid, messageToSend);
}
+
+ ///////////////////////////////////////////////////////////////////////////
+ // Property Change
+ //
+ @Override
+ protected void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ fOverviewWorkspaceDataSection.handleConfigurationPropertyChange(event);
+
+ fAnalysisProfileSection.handleConfigurationPropertyChange(event);
+ }
}
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewExplorationConfigurationProfile.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewExplorationConfigurationProfile.java
index ec75a9f..6cc2119 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewExplorationConfigurationProfile.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewExplorationConfigurationProfile.java
@@ -22,6 +22,7 @@
//import org.eclipse.efm.execution.configuration.common.ui.page.supervisor.SupervisorEvaluationLimitsSection;
//import org.eclipse.efm.execution.configuration.common.ui.page.supervisor.SupervisorGraphSizeLimitsSection;
import org.eclipse.efm.execution.core.workflow.common.GraphExplorationStrategyKind;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
@@ -216,18 +217,19 @@
{
// Case Analyze Strategy
//
+ GraphExplorationStrategyKind oldAnalyzeStrategy = fAnalyzeStrategy;
+
try {
fAnalyzeStrategy = GraphExplorationStrategyKind.get(
- configuration.getAttribute(
- ATTR_SPECIFICATION_ANALYZE_STRATEGY,
- GraphExplorationStrategyKind.
- BREADTH_FIRST_SEARCH.getLiteral()) );
+ configuration.getAttribute(ATTR_SPECIFICATION_ANALYZE_STRATEGY,
+ GraphExplorationStrategyKind.BREADTH_FIRST_SEARCH.getLiteral()) );
} catch (CoreException e) {
e.printStackTrace();
}
finally {
if( fAnalyzeStrategy == null ) {
- fAnalyzeStrategy = GraphExplorationStrategyKind.BREADTH_FIRST_SEARCH;
+ fAnalyzeStrategy = (oldAnalyzeStrategy != null) ? oldAnalyzeStrategy :
+ GraphExplorationStrategyKind.BREADTH_FIRST_SEARCH;
}
}
@@ -284,4 +286,37 @@
return true;
}
+
+ ///////////////////////////////////////////////////////////////////////////
+ // Property Change
+ //
+ @Override
+ public void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ switch( event.getProperty() ) {
+ case ATTR_SPECIFICATION_MODEL_ANALYSIS_PROFILE:
+
+ switch( event.getNewValue().toString() ) {
+ case ANALYSIS_PROFILE_MODEL_COVERAGE_BEHAVIOR:
+ case ANALYSIS_PROFILE_MODEL_COVERAGE_TRANSITION:
+ case ANALYSIS_PROFILE_MODEL_TEST_OFFLINE: {
+ fDFSButton.setSelection(false);
+ fRFSButton.setSelection(false);
+
+ fBFSButton.setSelection(true); // BREADTH_FIRST_SEARCH
+ break;
+ }
+
+ case ANALYSIS_PROFILE_MODEL_EXPLORATION:
+ default:
+ break;
+ }
+
+ break;
+
+ default:
+ break;
+ }
+ }
+
+
}
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTestOfflineConfigurationProfile.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTestOfflineConfigurationProfile.java
index 9d1e127..3d40a5a 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTestOfflineConfigurationProfile.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTestOfflineConfigurationProfile.java
@@ -23,7 +23,6 @@
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.core.Activator;
-import org.eclipse.efm.execution.core.workflow.common.GraphExplorationStrategyKind;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.window.Window;
@@ -322,9 +321,6 @@
configuration.setAttribute(
ATTR_TEST_OFFLINE_PURPOSE_FILE_LOCATION,
fTestPurposePathText.getText());
-
- configuration.setAttribute(ATTR_SPECIFICATION_ANALYZE_STRATEGY,
- GraphExplorationStrategyKind.BREADTH_FIRST_SEARCH.getLiteral());
}
diff --git a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTransitionCoverageConfigurationProfile.java b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTransitionCoverageConfigurationProfile.java
index fa80273..ddc7836 100644
--- a/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTransitionCoverageConfigurationProfile.java
+++ b/execution/org.eclipse.efm.execution.configuration.common.ui/src/org/eclipse/efm/execution/configuration/common/ui/page/overview/OverviewTransitionCoverageConfigurationProfile.java
@@ -27,7 +27,7 @@
import org.eclipse.efm.execution.configuration.common.ui.api.AbstractConfigurationProfile;
import org.eclipse.efm.execution.configuration.common.ui.api.IWidgetToolkit;
import org.eclipse.efm.execution.configuration.common.ui.editors.BooleanFieldEditor;
-import org.eclipse.efm.execution.configuration.common.ui.page.expert.ExpertTransitionCoverageConfigurationProfile;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
@@ -89,6 +89,9 @@
ATTR_ENABLED_TRANSITION_COVERAGE_DETAILS_SELECTION,
"&Enable Transitions Selection", parent, false);
addField(fEnabledDetailedSelectionBooleanField);
+
+ fEnabledDetailedSelectionBooleanField.
+ setPropertyChangeListener(fConfigurationPage);
fEnabledDetailedSelectionBooleanField.addSelectionListener(
new SelectionAdapter() {
@@ -429,12 +432,6 @@
configuration.setAttribute(
ATTR_TRANSITION_COVERAGE_SELECTION, fSelectedTransitionsList);
- if( fEnabledDetailedSelectionBooleanField.getBooleanValue() ) {
- configuration.setAttribute(
- ATTR_TRANSITION_COVERAGE_SCOPE,
- ExpertTransitionCoverageConfigurationProfile.SCOPE_COMBO_ITEM_DETAILS);
- }
-
configuration.setAttribute(ATTR_SPECIFICATION_ANALYZE_STRATEGY, "WEIGHT_BFS");
}
@@ -451,4 +448,21 @@
return true;
}
+
+ ///////////////////////////////////////////////////////////////////////////
+ // Property Change
+ //
+ @Override
+ public void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ switch( event.getProperty() ) {
+ case ATTR_SPECIFICATION_MODEL_FILE_LOCATION: {
+ handleModelFilePathChanged( event.getNewValue().toString() );
+
+ break;
+ }
+ default:
+ break;
+ }
+ }
+
}
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 57ebe09..22e730a 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
@@ -21,6 +21,7 @@
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.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -218,37 +219,44 @@
///////////////////////////////////////////////////////////////////////////
- // Model Analysis Profile changed
+ // Property Change
//
@Override
- public void handleModelAnalysisProfileSelectionChanged(String analysisProfile) {
- switch ( analysisProfile ) {
- case ANALYSIS_PROFILE_MODEL_TEST_OFFLINE:
- groupTraceExtension.setEnabled(false);
-
- propagateVisibility(groupExtensionObjective, false);
-
- setVisibleAndEnabled(fBasicTracePage.getSection(), false);
- setVisibleAndEnabled(fTTCNTracePage.getSection() , false);
+ protected void handleConfigurationPropertyChange(PropertyChangeEvent event) {
+ switch( event.getProperty() ) {
+ case ATTR_SPECIFICATION_MODEL_ANALYSIS_PROFILE:
+ switch ( event.getNewValue().toString() ) {
+ case ANALYSIS_PROFILE_MODEL_TEST_OFFLINE:
+ groupTraceExtension.setEnabled(false);
+
+ propagateVisibility(groupExtensionObjective, false);
+
+ setVisibleAndEnabled(fBasicTracePage.getSection(), false);
+ setVisibleAndEnabled(fTTCNTracePage.getSection() , false);
+
+ break;
+
+ case ANALYSIS_PROFILE_MODEL_COVERAGE_TRANSITION:
+ case ANALYSIS_PROFILE_MODEL_COVERAGE_BEHAVIOR:
+ case ANALYSIS_PROFILE_MODEL_EXPLORATION:
+ default:
+ groupTraceExtension.setEnabled(true);
+
+ propagateVisibility(groupExtensionObjective, true);
+
+ setVisibleAndEnabled(fBasicTracePage.getSection(), true);
+ setVisibleAndEnabled(fTTCNTracePage.getSection() , true);
+
+
+ handleEnablingTraceExtension();;
+ break;
+ }
break;
-
- case ANALYSIS_PROFILE_MODEL_COVERAGE_TRANSITION:
- case ANALYSIS_PROFILE_MODEL_COVERAGE_BEHAVIOR:
- case ANALYSIS_PROFILE_MODEL_EXPLORATION:
- default:
- groupTraceExtension.setEnabled(true);
-
- propagateVisibility(groupExtensionObjective, true);
-
- setVisibleAndEnabled(fBasicTracePage.getSection(), true);
- setVisibleAndEnabled(fTTCNTracePage.getSection() , true);
-
- handleEnablingTraceExtension();;
+ default:
break;
}
}
-
-
+
}
diff --git a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowView.java b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowView.java
index 1143d9c..d8a20eb 100644
--- a/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowView.java
+++ b/execution/org.eclipse.efm.execution.ui.views/src/org/eclipse/efm/execution/ui/views/symbexlauncher/SymbexWorkflowView.java
@@ -86,11 +86,13 @@
// Actions
makeActions();
setupTopLevelActionBars(new Action[] {
+ action_apply_changes,
+
action_launch_runconf,
action_launch_debugconf,
+
action_opend_runconf,
- action_opend_debugconf,
- action_apply_changes
+ action_opend_debugconf
});
// Frame
@@ -450,6 +452,10 @@
acm.applyUpdatesOnFieldValuesFrom(rwConfiguration);
}
rwConfiguration.doSave();
+
+ if( action_apply_changes != null ) {
+ action_apply_changes.setEnabled(false);
+ }
} catch (CoreException e) {
e.printStackTrace();
}
@@ -471,6 +477,22 @@
private Action action_apply_changes;
private void makeActions() {
+ action_apply_changes = new Action() {
+ public void run() {
+ if( launchConfigurationManager.hasSelection() ) {
+ saveLaunchConfiguration( launchConfigurationManager.getSelection() );
+ }
+ }
+ };
+ action_apply_changes.setText("Apply changes on Launch Configuration");
+ action_apply_changes.setToolTipText("Apply changes on Launch Configuration");
+ action_apply_changes.setImageDescriptor(
+ ImageResources.getImageDescriptor(
+// ImageResources.IMAGE__PUSH_ICON));
+ ImageResources.IMAGE__SAVE_ICON));
+
+ action_apply_changes.setEnabled(false);
+
action_launch_runconf = new Action() {
public void run() {
if( launchConfigurationManager.hasSelection() ) {
@@ -545,17 +567,6 @@
action_opend_help.setToolTipText("Open the Diversity Help");
action_opend_help.setImageDescriptor(
ImageResources.getImageDescriptor(ImageResources.IMAGE__HELP_ICON));
-
- action_apply_changes = new Action() {
- public void run() {
- if( launchConfigurationManager.hasSelection() ) {
- saveLaunchConfiguration( launchConfigurationManager.getSelection() );
- }
- }
- };
- action_apply_changes.setText("Apply changes on Launch Configuration");
- action_apply_changes.setToolTipText("Apply changes on Launch Configuration");
- action_apply_changes.setImageDescriptor(ImageResources.getImageDescriptor(ImageResources.IMAGE__PUSH_ICON));
}
// ======================================================================================
@@ -577,6 +588,10 @@
if( launchConfigurationManager.hasSelection() ) {
ILaunchConfiguration selectedLC = launchConfigurationManager.getSelection();
updateEnableTab(true);
+
+ if( action_apply_changes != null ) {
+ action_apply_changes.setEnabled(true);
+ }
try {
ILaunchConfigurationWorkingCopy newcopy = selectedLC.getWorkingCopy();
diff --git a/gui/org.eclipse.efm.modeling.ui.views.property.tab.xlia/src/org/eclipse/efm/papyrus/view/property/concretesyntax/sheet/EditingPropertySectionFilter.java b/gui/org.eclipse.efm.modeling.ui.views.property.tab.xlia/src/org/eclipse/efm/papyrus/view/property/concretesyntax/sheet/EditingPropertySectionFilter.java
index 6a410c5..f6a31de 100644
--- a/gui/org.eclipse.efm.modeling.ui.views.property.tab.xlia/src/org/eclipse/efm/papyrus/view/property/concretesyntax/sheet/EditingPropertySectionFilter.java
+++ b/gui/org.eclipse.efm.modeling.ui.views.property.tab.xlia/src/org/eclipse/efm/papyrus/view/property/concretesyntax/sheet/EditingPropertySectionFilter.java
@@ -85,7 +85,7 @@
return( true );
}
else if( (element instanceof Model ) ||
- (element instanceof Class ) ||
+ (element instanceof Class ) ||
(element instanceof Property ) ||
(element instanceof Parameter) ||
(element instanceof Operation) ||
diff --git a/gui/org.eclipse.efm.ui/resources/icons/save.gif b/gui/org.eclipse.efm.ui/resources/icons/save.gif
new file mode 100644
index 0000000..499dd0c
--- /dev/null
+++ b/gui/org.eclipse.efm.ui/resources/icons/save.gif
Binary files differ
diff --git a/gui/org.eclipse.efm.ui/resources/icons/save_as.gif b/gui/org.eclipse.efm.ui/resources/icons/save_as.gif
new file mode 100644
index 0000000..466bfb1
--- /dev/null
+++ b/gui/org.eclipse.efm.ui/resources/icons/save_as.gif
Binary files differ
diff --git a/gui/org.eclipse.efm.ui/src/org/eclipse/efm/ui/utils/ImageResources.java b/gui/org.eclipse.efm.ui/src/org/eclipse/efm/ui/utils/ImageResources.java
index 4034a6f..a3df349 100644
--- a/gui/org.eclipse.efm.ui/src/org/eclipse/efm/ui/utils/ImageResources.java
+++ b/gui/org.eclipse.efm.ui/src/org/eclipse/efm/ui/utils/ImageResources.java
@@ -39,16 +39,22 @@
public static final String IMAGE__PUSH_ICON = ICONS_PLUGIN_PATH + "push.png";
+
+ public static final String IMAGE__SAVE_ICON = ICONS_PLUGIN_PATH + "save.gif";
+
+ public static final String IMAGE__SAVE_AS_ICON = ICONS_PLUGIN_PATH + "save_as.gis";
+
+
public static final String IMAGE__LAUNCHDEBUG_ICON = ICONS_PLUGIN_PATH + "debug_exc.png";
public static final String IMAGE__LAUNCHRUN_ICON = ICONS_PLUGIN_PATH + "run_exc.png";
-
public static final String IMAGE__DIALDEBUG_ICON = ICONS_PLUGIN_PATH + "debug_dial.png";
public static final String IMAGE__DIALRUN_ICON = ICONS_PLUGIN_PATH + "run_dial.png";
+
public static final String IMAGE__WARNING_ICON = ICONS_PLUGIN_PATH + "warning_st_obj.png";
public static final String IMAGE__ERROR_ICON = ICONS_PLUGIN_PATH + "error_st_obj.gif";