[518980] set the business object from the default dialog composite listener to update on tab changes
Change-Id: I48d2b98c5727e2cf4dfccf0b6279db69214e200c
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.bpmn2.modeler.core/META-INF/MANIFEST.MF
index 9e029c1..204737f 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.bpmn2.modeler.core/META-INF/MANIFEST.MF
@@ -8,7 +8,6 @@
Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.emf.transaction,
org.eclipse.emf.edit.ui,
- org.eclipse.emf.validation.ocl,
org.eclipse.osgi,
org.eclipse.graphiti;bundle-version="[0.14.0,0.15.0)",
org.eclipse.graphiti.ui;bundle-version="[0.14.0,0.15.0)",
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/AbstractDetailComposite.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/AbstractDetailComposite.java
index b949c27..78ef8c9 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/AbstractDetailComposite.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/AbstractDetailComposite.java
@@ -645,8 +645,8 @@
}
public void refresh() {
-// Display.getDefault().asyncExec( new Runnable() {
-// public void run() {
+ Display.getDefault().asyncExec( new Runnable() {
+ public void run() {
List<Control>kids = new ArrayList<Control>();
Composite parent = AbstractDetailComposite.this;
if (!parent.isDisposed()) {
@@ -673,8 +673,8 @@
catch (Exception e) {
}
}
-// }
-// });
+ }
+ });
}
public void setPropertiesProvider(AbstractPropertiesProvider provider) {
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/DefaultDialogComposite.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/DefaultDialogComposite.java
index c6e3a33..ea9fad4 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/DefaultDialogComposite.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/merrimac/clad/DefaultDialogComposite.java
@@ -233,11 +233,17 @@
int i = preferenceStore.getInt("dialog."+eclass.getName()+".tab"); //$NON-NLS-1$ //$NON-NLS-2$
if (i>=0 && i<folder.getItemCount())
folder.setSelection(i);
+
folder.addSelectionListener( new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
int i = folder.getSelectionIndex();
preferenceStore.setValue("dialog."+eclass.getName()+".tab", i); //$NON-NLS-1$ //$NON-NLS-2$
+ AbstractDetailComposite selectedDetail = details.get(i);
+
+ // This will trigger an update to the selected tab.
+ if (selectedDetail != null)
+ selectedDetail.setBusinessObject(businessObject);
}
});