Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcbrun2015-08-25 15:21:38 +0000
committercbrun2015-08-31 11:53:39 +0000
commit9a5022f50b039ca1ad976e5b98aeb2f7752d7fb4 (patch)
treeb33554c8f296b93222ee831da8c3dba3e3eaea58
parent5f9a6586707fa1a349c9494bb7da9628652007a0 (diff)
downloadorg.eclipse.sirius-9a5022f50b039ca1ad976e5b98aeb2f7752d7fb4.tar.gz
org.eclipse.sirius-9a5022f50b039ca1ad976e5b98aeb2f7752d7fb4.tar.xz
org.eclipse.sirius-9a5022f50b039ca1ad976e5b98aeb2f7752d7fb4.zip
[475829] Redirect xxxExecs calls to default display if no workbench
Redirect all the PlatformUI.getWorkbench().getDisplay().syncExec / asyncExec / readAndDispatch calls to a specific method which will check if the workbench is here and will use Display.getDefault() when the workbench is not present. Bug: 475829 Change-Id: Ib543ede26578db7354a28ac0ed59f54b7925e44c Signed-off-by: Cedric Brun <cedric.brun@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.common.ui/src/org/eclipse/sirius/common/ui/tools/api/util/EclipseUIUtil.java52
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/SequenceDiagramEditPart.java6
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF3
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/dialect/DiagramDialectUIServices.java5
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/image/refresh/WorkspaceImageFigureRefresher.java3
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/DiagramHeaderPostCommitListener.java4
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/VisibilityPostCommitListener.java4
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusValidationDecoratorProvider.java3
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/action/ConcernComboContributionItem.java4
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/editor/AbstractSpecificDDiagramEditor.java3
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/permission/EditPartAuthorityListener.java4
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java5
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/Tabbar.java4
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/TabbarRefresher.java3
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java4
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/filters/FiltersActivationAdapter.java6
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersActivationAdapter.java4
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersEventsListener.java4
-rw-r--r--plugins/org.eclipse.sirius.doc/doc/Release_Notes.html7
-rw-r--r--plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile1
-rw-r--r--plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/business/internal/dialect/TableDialectUIServices.java3
-rw-r--r--plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/provider/TableUIUpdater.java4
-rw-r--r--plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/properties/section/common/AbstractDTablePropertySection.java4
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/DeleteFromDiagramActionTests.java2
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/DiagramEditorBrowser.java (renamed from plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/DiagramEditorBrowser.java)19
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/MatchByAutoSizeStatus.java (renamed from plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/MatchByAutoSizeStatus.java)2
-rw-r--r--plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/MatchBySemanticElement.java (renamed from plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/MatchBySemanticElement.java)2
-rw-r--r--plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/ArrangeAllTest.java2
-rw-r--r--plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/business/internal/dialect/TreeDialectUIServices.java3
-rw-r--r--plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/provider/TreeUIUpdater.java4
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/EditorNameAdapter.java4
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionHelper.java3
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/analysis/SmartDialogAnalysisSelector.java3
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/command/AbstractSWTCallback.java3
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenViewpointSelectionAction.java4
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java3
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/SelectDRepresentationElementsListener.java3
38 files changed, 128 insertions, 70 deletions
diff --git a/plugins/org.eclipse.sirius.common.ui/src/org/eclipse/sirius/common/ui/tools/api/util/EclipseUIUtil.java b/plugins/org.eclipse.sirius.common.ui/src/org/eclipse/sirius/common/ui/tools/api/util/EclipseUIUtil.java
index d0450c0cab..b8fa6c94e4 100644
--- a/plugins/org.eclipse.sirius.common.ui/src/org/eclipse/sirius/common/ui/tools/api/util/EclipseUIUtil.java
+++ b/plugins/org.eclipse.sirius.common.ui/src/org/eclipse/sirius/common/ui/tools/api/util/EclipseUIUtil.java
@@ -294,4 +294,56 @@ public final class EclipseUIUtil {
}
}
}
+
+ /**
+ * Post a runnable to be invoked by the user-interface thread at the next
+ * reasonable opportunity.
+ *
+ * If a workbench is started its Display instance will be used, otherwhise
+ * Display.getDefault() will be used.
+ *
+ * @param r
+ * the runnable to execute.
+ */
+ public static void displayAsyncExec(Runnable r) {
+ getCurrentDisplay().asyncExec(r);
+ }
+
+ private static Display getCurrentDisplay() {
+ Display d;
+ if (PlatformUI.isWorkbenchRunning()) {
+ d = PlatformUI.getWorkbench().getDisplay();
+ } else {
+ d = Display.getDefault();
+ }
+ return d;
+ }
+
+ /**
+ * Post a runnable to be invoked by the user-interface thread at the next
+ * reasonable opportunity. The thread which calls this method is suspended
+ * until the runnable completes.
+ *
+ * If a workbench is started its Display instance will be used, otherwhise
+ * Display.getDefault() will be used.
+ *
+ * @param r
+ * the runnable to execute.
+ */
+ public static void displaySyncExec(Runnable r) {
+ getCurrentDisplay().syncExec(r);
+ }
+
+ /**
+ * Process any event or runnables waiting in the user-interface queue.
+ */
+ public static void synchronizeWithUIThread() {
+ Display d = getCurrentDisplay();
+ while (d.readAndDispatch()) {
+ /*
+ * We wait for the UI thread to process all remaining events.
+ */
+ }
+ }
+
}
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.diagram.sequence.ui/META-INF/MANIFEST.MF
index 86bce59e40..57ab577148 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/META-INF/MANIFEST.MF
@@ -11,6 +11,7 @@ Require-Bundle: com.google.guava;bundle-version="[11.0.2,16.0)",
org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.6.0",
org.eclipse.ui.ide;bundle-version="3.8.2",
org.eclipse.sirius.diagram.ui;bundle-version="2.0.0",
+ org.eclipse.sirius.common.ui;bundle-version="3.0.0",
org.eclipse.sirius.diagram.ui.ext;bundle-version="3.0.0",
org.eclipse.emf.common.ui;bundle-version="2.7.0"
Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/SequenceDiagramEditPart.java b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/SequenceDiagramEditPart.java
index 8215ff43ab..efc1d0c6c6 100644
--- a/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/SequenceDiagramEditPart.java
+++ b/plugins/org.eclipse.sirius.diagram.sequence.ui/src/org/eclipse/sirius/diagram/sequence/ui/tool/internal/edit/part/SequenceDiagramEditPart.java
@@ -26,6 +26,7 @@ import org.eclipse.sirius.business.api.session.ModelChangeTrigger;
import org.eclipse.sirius.business.api.session.Session;
import org.eclipse.sirius.business.api.session.SessionEventBroker;
import org.eclipse.sirius.business.internal.session.SessionEventBrokerImpl;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElementAccessor;
import org.eclipse.sirius.diagram.sequence.business.internal.elements.SequenceDiagram;
import org.eclipse.sirius.diagram.sequence.business.internal.refresh.RefreshLayoutCommand;
@@ -50,7 +51,6 @@ import org.eclipse.sirius.ext.base.Option;
import org.eclipse.sirius.ext.base.Options;
import org.eclipse.sirius.tools.api.ui.property.IPropertiesProvider;
import org.eclipse.sirius.ui.business.api.dialect.DialectUIManager;
-import org.eclipse.ui.PlatformUI;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
@@ -156,14 +156,14 @@ public class SequenceDiagramEditPart extends DDiagramEditPart {
public void propertyChange(org.eclipse.jface.util.PropertyChangeEvent event) {
if (event.getNewValue() instanceof Boolean && ((Boolean) event.getNewValue()).booleanValue()) {
if (WorkspaceViewerProperties.SNAPTOGEOMETRY.equals(event.getProperty())) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
@Override
public void run() {
workspaceViewerPreferenceStore.setValue(WorkspaceViewerProperties.SNAPTOGEOMETRY, Boolean.FALSE);
}
});
} else if (WorkspaceViewerProperties.SNAPTOGRID.equals(event.getProperty())) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
@Override
public void run() {
workspaceViewerPreferenceStore.setValue(WorkspaceViewerProperties.SNAPTOGRID, Boolean.FALSE);
diff --git a/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
index 37634d3bd4..fc7e69cb6e 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.sirius.diagram.ui/META-INF/MANIFEST.MF
@@ -56,8 +56,7 @@ Export-Package: org.eclipse.sirius.diagram.description.concern.provider;version=
org.eclipse.sirius.diagram.ui.business.api.view;version="2.0.4",
org.eclipse.sirius.diagram.ui.business.internal.bracket;x-internal:=true;version="2.0.4",
org.eclipse.sirius.diagram.ui.business.internal.bracket.handles;x-internal:=true;version="2.0.4",
- org.eclipse.sirius.diagram.ui.business.internal.bracket.locators;x-internal:=true;version="2.0.4",
- org.eclipse.sirius.diagram.ui.business.internal.browser;x-internal:=true;version="2.0.4",
+ org.eclipse.sirius.diagram.ui.business.internal.bracket.locators;x-internal:=true;version="2.0.4",
org.eclipse.sirius.diagram.ui.business.internal.command;x-internal:=true;version="2.1.0",
org.eclipse.sirius.diagram.ui.business.internal.dialect;x-internal:=true;version="3.0.0",
org.eclipse.sirius.diagram.ui.business.internal.edit.helpers;x-internal:=true;version="2.0.4",
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/dialect/DiagramDialectUIServices.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/dialect/DiagramDialectUIServices.java
index b7f54d8982..9130921969 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/dialect/DiagramDialectUIServices.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/dialect/DiagramDialectUIServices.java
@@ -63,6 +63,7 @@ import org.eclipse.sirius.business.api.session.SessionManager;
import org.eclipse.sirius.common.tools.DslCommonPlugin;
import org.eclipse.sirius.common.tools.api.interpreter.IInterpreterSiriusVariables;
import org.eclipse.sirius.common.tools.api.util.StringUtil;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DDiagram;
import org.eclipse.sirius.diagram.DDiagramElement;
import org.eclipse.sirius.diagram.DSemanticDiagram;
@@ -212,7 +213,7 @@ public class DiagramDialectUIServices implements DialectUIServices {
}
};
- PlatformUI.getWorkbench().getDisplay().syncExec(runnable);
+ EclipseUIUtil.displaySyncExec(runnable);
monitor.worked(10);
if (runnable.getResult() != null) {
dialectEditor = runnable.getResult();
@@ -252,7 +253,7 @@ public class DiagramDialectUIServices implements DialectUIServices {
viewpointsName += ", " + neededSirius.getName(); //$NON-NLS-1$
}
final String description = viewpointsName;
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
@Override
public void run() {
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/image/refresh/WorkspaceImageFigureRefresher.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/image/refresh/WorkspaceImageFigureRefresher.java
index 9baff5e62d..1012504c10 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/image/refresh/WorkspaceImageFigureRefresher.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/image/refresh/WorkspaceImageFigureRefresher.java
@@ -18,6 +18,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DiagramPlugin;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
@@ -67,7 +68,7 @@ public class WorkspaceImageFigureRefresher implements IResourceChangeListener {
* Refresh all the edit parts of the opened editors.
*/
private void refreshOpenedEditors() {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (activeWorkbenchWindow != null) {
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/DiagramHeaderPostCommitListener.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/DiagramHeaderPostCommitListener.java
index 6406210408..83895cd94c 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/DiagramHeaderPostCommitListener.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/DiagramHeaderPostCommitListener.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.transaction.ResourceSetChangeEvent;
import org.eclipse.emf.transaction.ResourceSetListenerImpl;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DiagramPackage;
import org.eclipse.sirius.diagram.ui.tools.internal.editor.header.DiagramHeaderComposite;
import org.eclipse.sirius.viewpoint.ViewpointPackage;
-import org.eclipse.ui.PlatformUI;
/**
* A ResourceSet listener to refresh the diagram header after changes on :
@@ -81,7 +81,7 @@ public class DiagramHeaderPostCommitListener extends ResourceSetListenerImpl {
* Refresh the diagram header composite.
*/
private void refreshDiagramHeader() {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
if (diagramHeader != null && !diagramHeader.isDisposed()) {
diagramHeader.rebuildHeaderSection();
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/VisibilityPostCommitListener.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/VisibilityPostCommitListener.java
index 745fd63bdd..8c522db490 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/VisibilityPostCommitListener.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/edit/internal/part/listener/VisibilityPostCommitListener.java
@@ -23,11 +23,11 @@ import org.eclipse.gmf.runtime.notation.Edge;
import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.sirius.common.tools.api.listener.NotificationUtil;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DDiagram;
import org.eclipse.sirius.diagram.ui.internal.edit.parts.DEdgeEditPart;
import org.eclipse.sirius.ext.base.Option;
import org.eclipse.sirius.ext.base.Options;
-import org.eclipse.ui.PlatformUI;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
@@ -101,7 +101,7 @@ public class VisibilityPostCommitListener extends ResourceSetListenerImpl {
parts.add(elementParts.get());
}
}
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
for (DEdgeEditPart edgePart : Iterables.filter(parts, DEdgeEditPart.class)) {
Edge edge = (Edge) edgePart.getNotationView();
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusValidationDecoratorProvider.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusValidationDecoratorProvider.java
index dcfe0559b3..77d9a50595 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusValidationDecoratorProvider.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/providers/SiriusValidationDecoratorProvider.java
@@ -45,6 +45,7 @@ import org.eclipse.gmf.runtime.draw2d.ui.mapmode.MapModeUtil;
import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.gmf.runtime.notation.Edge;
import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DiagramPlugin;
import org.eclipse.sirius.diagram.ui.business.api.view.SiriusGMFHelper;
import org.eclipse.sirius.diagram.ui.internal.edit.parts.DDiagramEditPart;
@@ -133,7 +134,7 @@ public class SiriusValidationDecoratorProvider extends AbstractProvider implemen
return;
}
final Diagram fdiagram = diagram;
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
@Override
public void run() {
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/action/ConcernComboContributionItem.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/action/ConcernComboContributionItem.java
index 06f0eb48a4..e1b0c74d1a 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/action/ConcernComboContributionItem.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/action/ConcernComboContributionItem.java
@@ -21,6 +21,7 @@ import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.emf.transaction.util.TransactionUtil;
import org.eclipse.jface.action.ContributionItem;
import org.eclipse.sirius.common.tools.api.util.StringUtil;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DDiagram;
import org.eclipse.sirius.diagram.description.concern.ConcernDescription;
import org.eclipse.sirius.diagram.ui.tools.api.editor.DDiagramEditor;
@@ -42,7 +43,6 @@ import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.IPartListener;
import org.eclipse.ui.IPartService;
import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
/**
* A ControlContribution that uses a {@link org.eclipse.swt.widgets.Combo} as
@@ -136,7 +136,7 @@ public class ConcernComboContributionItem extends ContributionItem {
private void diagramChanged() {
if (Display.getCurrent() == null) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
refresh(false);
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/editor/AbstractSpecificDDiagramEditor.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/editor/AbstractSpecificDDiagramEditor.java
index a0aabe3048..ba91e43816 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/editor/AbstractSpecificDDiagramEditor.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/editor/AbstractSpecificDDiagramEditor.java
@@ -36,7 +36,6 @@ import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IWorkbenchPartSite;
import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
/**
* A specific editor you may extend, which includes a session. The session
@@ -68,7 +67,7 @@ public abstract class AbstractSpecificDDiagramEditor extends DDiagramEditorImpl
});
domain.getCommandStack().execute(new CreateAndStoreGMFDiagramCommand(session, (DSemanticDiagram) diagram));
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
final IEditorPart activeEditor = EclipseUIUtil.getActiveEditor();
if (activeEditor != null) {
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/permission/EditPartAuthorityListener.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/permission/EditPartAuthorityListener.java
index c66c301f86..a7d27c355b 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/permission/EditPartAuthorityListener.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/permission/EditPartAuthorityListener.java
@@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramRootEditPart;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DecorationEditPolicy;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DDiagramElement;
import org.eclipse.sirius.diagram.ui.internal.edit.parts.DDiagramEditPart;
import org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin;
@@ -30,7 +31,6 @@ import org.eclipse.sirius.ecore.extender.business.api.permission.LockStatus;
import org.eclipse.sirius.ext.base.Option;
import org.eclipse.sirius.ext.base.Options;
import org.eclipse.sirius.viewpoint.DSemanticDecorator;
-import org.eclipse.ui.PlatformUI;
/**
* Listener disabling /enabling edit parts when their locking status is
@@ -129,7 +129,7 @@ public class EditPartAuthorityListener implements IAuthorityListener {
doRefreshEditMode(enableEditMode, diagramEditor, semanticElement);
} else {
// Otherwise, we launch it asynchronously
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
@Override
public void run() {
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java
index 4602675dde..1629bdfa92 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorImpl.java
@@ -96,6 +96,7 @@ import org.eclipse.sirius.business.api.session.SessionManager;
import org.eclipse.sirius.business.api.session.SessionManagerListener;
import org.eclipse.sirius.common.tools.api.interpreter.IInterpreter;
import org.eclipse.sirius.common.tools.api.util.StringUtil;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.common.ui.tools.api.util.IObjectActionDelegateWrapper;
import org.eclipse.sirius.diagram.DDiagram;
import org.eclipse.sirius.diagram.DDiagramElement;
@@ -1106,7 +1107,7 @@ public class DDiagramEditorImpl extends SiriusDiagramEditor implements DDiagramE
public void notify(final int changeKind) {
DDiagramEditorSessionListenerDelegate dDiagramEditorSessionListenerDelegate = new DDiagramEditorSessionListenerDelegate(this, toolFilterWhenRepresentationIsLocked, changeKind);
if (Display.getCurrent() == null) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(dDiagramEditorSessionListenerDelegate);
+ EclipseUIUtil.displayAsyncExec(dDiagramEditorSessionListenerDelegate);
} else {
dDiagramEditorSessionListenerDelegate.run();
}
@@ -1144,7 +1145,7 @@ public class DDiagramEditorImpl extends SiriusDiagramEditor implements DDiagramE
}
};
if (Display.getCurrent() == null) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(runnable);
+ EclipseUIUtil.displayAsyncExec(runnable);
} else {
runnable.run();
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/Tabbar.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/Tabbar.java
index 7aa8abbf88..c287512c0f 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/Tabbar.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/Tabbar.java
@@ -21,6 +21,7 @@ import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.ui.tools.api.editor.DDiagramEditor;
import org.eclipse.sirius.ecore.extender.business.api.permission.IAuthorityListener;
import org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority;
@@ -33,7 +34,6 @@ import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
import org.osgi.framework.Bundle;
import org.osgi.framework.Version;
@@ -196,7 +196,7 @@ public class Tabbar extends Composite implements ISelectionListener, IAuthorityL
}
private void updateAllItems() {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
List<IContributionItem> items = Arrays.asList(manager.getItems());
for (IContributionItem item : items) {
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/TabbarRefresher.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/TabbarRefresher.java
index 04cc8f11fd..445fead1c6 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/TabbarRefresher.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/TabbarRefresher.java
@@ -13,6 +13,7 @@ package org.eclipse.sirius.diagram.ui.tools.internal.editor.tabbar;
import org.eclipse.emf.transaction.ResourceSetChangeEvent;
import org.eclipse.emf.transaction.ResourceSetListenerImpl;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
@@ -61,7 +62,7 @@ public class TabbarRefresher extends ResourceSetListenerImpl {
* Reinit the toolbar
*/
private void reinitToolbar() {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (activeWorkbenchWindow != null) {
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java
index 82c941e6fd..6a6142d525 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java
@@ -25,11 +25,11 @@ import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer;
import org.eclipse.jface.util.TransferDropTargetListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DiagramPlugin;
import org.eclipse.sirius.diagram.ui.tools.api.part.IDiagramDialectGraphicalViewer;
import org.eclipse.sirius.diagram.ui.tools.internal.editor.SiriusPaletteToolDropTargetListener;
import org.eclipse.sirius.diagram.ui.tools.internal.graphical.edit.policies.ChangeBoundRequestRecorder;
-import org.eclipse.ui.PlatformUI;
/**
* {@link org.eclipse.gef.GraphicalViewer} used for the
@@ -173,7 +173,7 @@ public class SiriusDiagramGraphicalViewer extends DiagramGraphicalViewer impleme
*/
@Override
protected void sendUpdateRequest() {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new UpdateRequest());
+ EclipseUIUtil.displayAsyncExec(new UpdateRequest());
}
/**
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/filters/FiltersActivationAdapter.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/filters/FiltersActivationAdapter.java
index b27aaafc54..7a9241758a 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/filters/FiltersActivationAdapter.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/filters/FiltersActivationAdapter.java
@@ -16,10 +16,10 @@ import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DDiagram;
import org.eclipse.sirius.diagram.DiagramPackage;
import org.eclipse.sirius.diagram.description.filter.FilterDescription;
-import org.eclipse.ui.PlatformUI;
/**
* An adapter to listen layer activation change.
@@ -44,7 +44,7 @@ public class FiltersActivationAdapter extends AdapterImpl {
}
private void update(final DDiagram diagram, final FilterDescription filter, final boolean activate) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
if (viewer != null) {
viewer.update(filter, null);
@@ -54,7 +54,7 @@ public class FiltersActivationAdapter extends AdapterImpl {
}
private void update(final DDiagram notifier, final Collection<FilterDescription> filters, final boolean b) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
if (viewer != null && filters != null) {
for (FilterDescription filter : filters) {
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersActivationAdapter.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersActivationAdapter.java
index 4e3a9e6522..baaa5535e6 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersActivationAdapter.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersActivationAdapter.java
@@ -14,11 +14,11 @@ import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.diagram.DDiagram;
import org.eclipse.sirius.diagram.DiagramPackage;
import org.eclipse.sirius.diagram.description.Layer;
import org.eclipse.sirius.diagram.ui.tools.api.graphical.edit.palette.PaletteManager;
-import org.eclipse.ui.PlatformUI;
/**
* An adapter to listen layer activation change.
@@ -56,7 +56,7 @@ public class LayersActivationAdapter extends AdapterImpl {
}
private void update(final DDiagram diagram, final Layer layer, final boolean activate) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
if (viewer != null) {
viewer.update(layer, null);
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersEventsListener.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersEventsListener.java
index fe1c824152..169957e9d4 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersEventsListener.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/layers/LayersEventsListener.java
@@ -13,7 +13,7 @@ package org.eclipse.sirius.diagram.ui.tools.internal.views.providers.layers;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.sirius.business.api.session.SessionListener;
-import org.eclipse.ui.PlatformUI;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
/**
* A listener to update the viewer.
@@ -55,7 +55,7 @@ public class LayersEventsListener implements SessionListener {
}
private void updateViewer() {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
if (viewer != null && !viewer.getControl().isDisposed()) {
viewer.refresh();
diff --git a/plugins/org.eclipse.sirius.doc/doc/Release_Notes.html b/plugins/org.eclipse.sirius.doc/doc/Release_Notes.html
index 2acffdc33a..ba8457cf6f 100644
--- a/plugins/org.eclipse.sirius.doc/doc/Release_Notes.html
+++ b/plugins/org.eclipse.sirius.doc/doc/Release_Notes.html
@@ -769,6 +769,13 @@
<li><span class="label label-success">Added</span> Classes from
<code>org.eclipse.sirius.common.ui.tools.api.dialog.quickoutline</code> packages are available in API to allow editor to provide quick outline feature easily.
</li>
+ <li><span class="label label-success">Added</span> The methods
+ <code>displaySyncExec(Runnable)</code> ,
+ <code>displayAsyncExec(Runnable)</code> and
+ <code>synchronizeWithUIThread()</code> have been added in class
+ <code>org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil</code> to encapsulate accesses to the current
+ <code>Display</code> instance.
+ </li>
<li><span class="label label-info">Moved</span> Extensions in
<code>plugin.xml</code> that provide UI functionalities have been moved to
<code>org.eclipse.sirius.common.ui.ext</code>.
diff --git a/plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile b/plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile
index 5c9cf2da43..235c52702d 100644
--- a/plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile
+++ b/plugins/org.eclipse.sirius.doc/doc/Release_Notes.textile
@@ -222,6 +222,7 @@ h4. Changes in @org.eclipse.sirius.common@
h4. Changes in @org.eclipse.sirius.common.ui@
* <span class="label label-success">Added</span> Classes from @org.eclipse.sirius.common.ui.tools.api.dialog.quickoutline@ packages are available in API to allow editor to provide quick outline feature easily.
+* <span class="label label-success">Added</span> The methods @displaySyncExec(Runnable)@ , @displayAsyncExec(Runnable)@ and @synchronizeWithUIThread()@ have been added in class @org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil@ to encapsulate accesses to the current @Display@ instance.
* <span class="label label-info">Moved</span> Extensions in @plugin.xml@ that provide UI functionalities have been moved to @org.eclipse.sirius.common.ui.ext@.
h4. Changes in @org.eclipse.sirius@
diff --git a/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/business/internal/dialect/TableDialectUIServices.java b/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/business/internal/dialect/TableDialectUIServices.java
index 5dc2cd1ae9..4081911dad 100644
--- a/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/business/internal/dialect/TableDialectUIServices.java
+++ b/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/business/internal/dialect/TableDialectUIServices.java
@@ -35,6 +35,7 @@ import org.eclipse.jface.viewers.Viewer;
import org.eclipse.sirius.business.api.session.Session;
import org.eclipse.sirius.common.tools.DslCommonPlugin;
import org.eclipse.sirius.common.tools.api.util.StringUtil;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.table.business.internal.metamodel.TableToolVariables;
import org.eclipse.sirius.table.metamodel.table.DTable;
import org.eclipse.sirius.table.metamodel.table.DTableElement;
@@ -120,7 +121,7 @@ public class TableDialectUIServices implements DialectUIServices {
}
}
};
- PlatformUI.getWorkbench().getDisplay().syncExec(runnable);
+ EclipseUIUtil.displaySyncExec(runnable);
monitor.worked(8);
if (runnable.getResult() instanceof AbstractDTableEditor) {
editorPart = runnable.getResult();
diff --git a/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/provider/TableUIUpdater.java b/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/provider/TableUIUpdater.java
index 2fc2eca01b..bf1e57a58a 100644
--- a/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/provider/TableUIUpdater.java
+++ b/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/provider/TableUIUpdater.java
@@ -26,6 +26,7 @@ import org.eclipse.emf.transaction.ResourceSetListenerImpl;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.emf.transaction.util.TransactionUtil;
import org.eclipse.sirius.business.api.dialect.DRepresentationNotificationFilter;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.table.metamodel.table.DCell;
import org.eclipse.sirius.table.metamodel.table.DCellStyle;
import org.eclipse.sirius.table.metamodel.table.DColumn;
@@ -38,7 +39,6 @@ import org.eclipse.sirius.table.ui.tools.internal.editor.DTableTreeViewer;
import org.eclipse.sirius.table.ui.tools.internal.editor.DTableViewerManager;
import org.eclipse.sirius.viewpoint.DRepresentation;
import org.eclipse.sirius.viewpoint.ViewpointPackage;
-import org.eclipse.ui.PlatformUI;
import com.google.common.collect.Sets;
@@ -263,7 +263,7 @@ public class TableUIUpdater extends ResourceSetListenerImpl {
Runnable tableUIUpdaterRunnable = new TableUIUpdaterRunnable(dTableViewerManager, dTableTreeViewer, toExpands, toCollapses, toRefreshInViewerWithUpdateLabels,
launchGlobalRefreshWithoutUpdateLabels, launchGlobalRefreshWithUpdateLabels, objectsToUpdateInViewer, dColumnsToUpdateDirectly, dColumnsWidthToUpdate, dColumnsToRemove,
dColumnsToAdd, dColumnsToVisibilityChanged, updateHeaderColumnWidth);
- PlatformUI.getWorkbench().getDisplay().asyncExec(tableUIUpdaterRunnable);
+ EclipseUIUtil.displayAsyncExec(tableUIUpdaterRunnable);
}
}
diff --git a/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/properties/section/common/AbstractDTablePropertySection.java b/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/properties/section/common/AbstractDTablePropertySection.java
index 5760d8f5b4..e56830c043 100644
--- a/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/properties/section/common/AbstractDTablePropertySection.java
+++ b/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/properties/section/common/AbstractDTablePropertySection.java
@@ -31,13 +31,13 @@ import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.views.properties.IPropertySourceProvider;
import org.eclipse.ui.views.properties.PropertySheetPage;
import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.eclipse.sirius.common.tools.DslCommonPlugin;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.table.metamodel.table.provider.TableUIPlugin;
import org.eclipse.sirius.table.ui.tools.api.editor.DTableEditor;
import org.eclipse.sirius.tools.api.profiler.SiriusTasksKey;
@@ -325,7 +325,7 @@ public abstract class AbstractDTablePropertySection extends AbstractPropertySect
if (notifier instanceof EObject && contentPage != null && contentPage.getControl() != null) {
final Control control = contentPage.getControl();
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
if (!control.isDisposed() && control.isVisible()) {
refresh();
diff --git a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/DeleteFromDiagramActionTests.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/DeleteFromDiagramActionTests.java
index adc8abf35c..b624d337f2 100644
--- a/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/DeleteFromDiagramActionTests.java
+++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/DeleteFromDiagramActionTests.java
@@ -21,8 +21,6 @@ import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocument
import org.eclipse.jface.action.Action;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.ui.business.internal.browser.DiagramEditorBrowser;
-import org.eclipse.sirius.diagram.ui.business.internal.browser.MatchBySemanticElement;
import org.eclipse.sirius.diagram.ui.internal.edit.parts.DEdgeNameEditPart;
import org.eclipse.sirius.diagram.ui.tools.api.editor.DDiagramEditor;
import org.eclipse.sirius.diagram.ui.tools.internal.actions.delete.DeleteFromDiagramAction;
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/DiagramEditorBrowser.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/DiagramEditorBrowser.java
index 7840c8b8ee..073438efc6 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/DiagramEditorBrowser.java
+++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/DiagramEditorBrowser.java
@@ -8,7 +8,7 @@
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
-package org.eclipse.sirius.diagram.ui.business.internal.browser;
+package org.eclipse.sirius.tests.unit.diagram.action;
import java.util.Collections;
import java.util.Iterator;
@@ -18,7 +18,7 @@ import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.requests.ArrangeRequest;
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
-import org.eclipse.ui.PlatformUI;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterators;
@@ -99,7 +99,7 @@ public class DiagramEditorBrowser {
*/
public void arrangeAll() throws InterruptedException {
- synchronizationWithUIThread();
+ EclipseUIUtil.synchronizeWithUIThread();
final ArrangeRequest request = new ArrangeRequest(ActionIds.ACTION_ARRANGE_ALL);
request.setPartsToArrange(Lists.newArrayList(editor.getDiagramEditPart()));
@@ -108,18 +108,9 @@ public class DiagramEditorBrowser {
editor.getEditingDomain().getCommandStack().flush();
editor.getDiagramEditPart().getRoot().getViewer().flush();
- synchronizationWithUIThread();
+ EclipseUIUtil.synchronizeWithUIThread();
Thread.sleep(30000);
- synchronizationWithUIThread();
- }
-
- private void synchronizationWithUIThread() {
- while (PlatformUI.getWorkbench().getDisplay().readAndDispatch()) {
- /*
- * We'll just wait for the UI thread to process all the events
- * needed to refresh the diagram.
- */
- }
+ EclipseUIUtil.synchronizeWithUIThread();
}
}
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/MatchByAutoSizeStatus.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/MatchByAutoSizeStatus.java
index b7d58d67f5..0113f6dc5f 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/MatchByAutoSizeStatus.java
+++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/MatchByAutoSizeStatus.java
@@ -8,7 +8,7 @@
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
-package org.eclipse.sirius.diagram.ui.business.internal.browser;
+package org.eclipse.sirius.tests.unit.diagram.action;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.notation.Bounds;
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/MatchBySemanticElement.java b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/MatchBySemanticElement.java
index c386fb1f98..956bff7754 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/browser/MatchBySemanticElement.java
+++ b/plugins/org.eclipse.sirius.tests.junit/src/org/eclipse/sirius/tests/unit/diagram/action/MatchBySemanticElement.java
@@ -8,7 +8,7 @@
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
-package org.eclipse.sirius.diagram.ui.business.internal.browser;
+package org.eclipse.sirius.tests.unit.diagram.action;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
diff --git a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/ArrangeAllTest.java b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/ArrangeAllTest.java
index 1c1fcb50f0..4f1683cabd 100644
--- a/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/ArrangeAllTest.java
+++ b/plugins/org.eclipse.sirius.tests.swtbot/src/org/eclipse/sirius/tests/swtbot/ArrangeAllTest.java
@@ -20,7 +20,6 @@ import org.eclipse.gef.SnapToGrid;
import org.eclipse.gef.requests.ChangeBoundsRequest;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.sirius.diagram.ui.business.internal.browser.MatchByAutoSizeStatus;
import org.eclipse.sirius.diagram.ui.edit.api.part.IDiagramContainerEditPart;
import org.eclipse.sirius.diagram.ui.internal.edit.parts.DNodeContainerEditPart;
import org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase;
@@ -28,6 +27,7 @@ import org.eclipse.sirius.tests.swtbot.support.api.business.UIDiagramRepresentat
import org.eclipse.sirius.tests.swtbot.support.api.business.UILocalSession;
import org.eclipse.sirius.tests.swtbot.support.api.business.UIResource;
import org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor;
+import org.eclipse.sirius.tests.unit.diagram.action.MatchByAutoSizeStatus;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
diff --git a/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/business/internal/dialect/TreeDialectUIServices.java b/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/business/internal/dialect/TreeDialectUIServices.java
index b7961fdb6a..1df4cbb8b6 100644
--- a/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/business/internal/dialect/TreeDialectUIServices.java
+++ b/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/business/internal/dialect/TreeDialectUIServices.java
@@ -34,6 +34,7 @@ import org.eclipse.jface.viewers.Viewer;
import org.eclipse.sirius.business.api.session.Session;
import org.eclipse.sirius.common.tools.DslCommonPlugin;
import org.eclipse.sirius.common.tools.api.util.StringUtil;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.tools.api.profiler.SiriusTasksKey;
import org.eclipse.sirius.tree.DTree;
import org.eclipse.sirius.tree.DTreeItem;
@@ -140,7 +141,7 @@ public class TreeDialectUIServices implements DialectUIServices {
}
}
};
- PlatformUI.getWorkbench().getDisplay().syncExec(runnable);
+ EclipseUIUtil.displaySyncExec(runnable);
monitor.worked(8);
IEditorPart result = runnable.getResult();
if (canHandleEditor(result)) {
diff --git a/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/provider/TreeUIUpdater.java b/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/provider/TreeUIUpdater.java
index db4267e131..2f2db4d5f5 100644
--- a/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/provider/TreeUIUpdater.java
+++ b/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/provider/TreeUIUpdater.java
@@ -21,6 +21,7 @@ import org.eclipse.emf.transaction.ResourceSetListenerImpl;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.emf.transaction.util.TransactionUtil;
import org.eclipse.sirius.business.api.dialect.DRepresentationNotificationFilter;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.tree.DTree;
import org.eclipse.sirius.tree.DTreeItem;
import org.eclipse.sirius.tree.DTreeItemContainer;
@@ -30,7 +31,6 @@ import org.eclipse.sirius.tree.ui.tools.internal.editor.DTreeViewer;
import org.eclipse.sirius.viewpoint.DRepresentation;
import org.eclipse.sirius.viewpoint.ViewpointPackage;
import org.eclipse.sirius.viewpoint.description.style.StylePackage;
-import org.eclipse.ui.PlatformUI;
import com.google.common.collect.Sets;
@@ -167,7 +167,7 @@ public class TreeUIUpdater extends ResourceSetListenerImpl {
if (!toRefreshInViewer.isEmpty() || !toUpdateInViewer.isEmpty() || !toCollapses.isEmpty() || !toExpands.isEmpty()) {
final Object[] objectsToUpdateInViewer = Sets.difference(toUpdateInViewer, toRefreshInViewer).toArray(new Object[0]);
Runnable runnable = new TreeUIUpdaterRunnable(dTreeViewer, toRefreshInViewer, objectsToUpdateInViewer, toExpands, toCollapses);
- PlatformUI.getWorkbench().getDisplay().asyncExec(runnable);
+ EclipseUIUtil.displayAsyncExec(runnable);
}
}
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/EditorNameAdapter.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/EditorNameAdapter.java
index 37dad136f1..3c53cd27ad 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/EditorNameAdapter.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/EditorNameAdapter.java
@@ -19,13 +19,13 @@ import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
import org.eclipse.sirius.business.api.session.SessionListener;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.ui.business.api.dialect.DialectEditor;
import org.eclipse.sirius.viewpoint.DRepresentation;
import org.eclipse.sirius.viewpoint.ViewpointPackage;
import org.eclipse.sirius.viewpoint.provider.SiriusEditPlugin;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
/**
* Adapter which update name of editors when diagram name change.
@@ -95,7 +95,7 @@ public class EditorNameAdapter extends AdapterImpl {
* the editor part
*/
private void updateEditorInputName(final SessionEditorInput editorInput, final IEditorPart editor) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
editorInput.setName(editor.getTitle());
}
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionHelper.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionHelper.java
index 90029f40fa..2359005d28 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionHelper.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/SessionHelper.java
@@ -20,6 +20,7 @@ import org.eclipse.jface.window.Window;
import org.eclipse.sirius.business.api.dialect.DialectManager;
import org.eclipse.sirius.business.api.query.RepresentationDescriptionQuery;
import org.eclipse.sirius.business.api.session.Session;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.ui.business.api.dialect.DialectUIManager;
import org.eclipse.sirius.ui.tools.internal.dialogs.RepresentationsSelectionDialog;
import org.eclipse.sirius.viewpoint.DRepresentation;
@@ -144,7 +145,7 @@ public final class SessionHelper {
if (candidates.size() == 1) {
selection.addAll(candidates);
} else if (candidates.size() > 1) {
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
+ EclipseUIUtil.displaySyncExec(new Runnable() {
public void run() {
final Shell shell = PlatformUI.getWorkbench().getDisplay().getActiveShell();
final RepresentationsSelectionDialog dlg = new RepresentationsSelectionDialog(shell, candidates);
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/analysis/SmartDialogAnalysisSelector.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/analysis/SmartDialogAnalysisSelector.java
index b86ddf0a84..cdfd7f57aa 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/analysis/SmartDialogAnalysisSelector.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/api/session/analysis/SmartDialogAnalysisSelector.java
@@ -19,6 +19,7 @@ import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.window.Window;
import org.eclipse.sirius.business.api.session.danalysis.DAnalysisSelector;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.viewpoint.DAnalysis;
import org.eclipse.sirius.viewpoint.DRepresentation;
import org.eclipse.sirius.viewpoint.provider.SiriusEditPlugin;
@@ -100,7 +101,7 @@ public class SmartDialogAnalysisSelector implements DAnalysisSelector {
}
};
/* synch execution as the user need to choose before we can get further */
- PlatformUI.getWorkbench().getDisplay().syncExec(runnable);
+ EclipseUIUtil.displaySyncExec(runnable);
if (runnable.getResult() instanceof DAnalysis) {
return (DAnalysis) runnable.getResult();
}
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/command/AbstractSWTCallback.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/command/AbstractSWTCallback.java
index d79c594874..ce88b05c04 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/command/AbstractSWTCallback.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/api/command/AbstractSWTCallback.java
@@ -45,6 +45,7 @@ import org.eclipse.sirius.common.tools.api.util.TreeItemWrapper;
import org.eclipse.sirius.common.ui.SiriusTransPlugin;
import org.eclipse.sirius.common.ui.tools.api.selection.EMFMessageDialog;
import org.eclipse.sirius.common.ui.tools.api.selection.EObjectSelectionWizard;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.tools.api.command.ui.UICallBack;
import org.eclipse.sirius.ui.business.api.dialect.DialectUIManager;
import org.eclipse.sirius.ui.business.api.resource.LoadEMFResourceRunnableWithProgress;
@@ -278,7 +279,7 @@ public abstract class AbstractSWTCallback implements UICallBack {
setResult(MessageDialog.openQuestion(getActiveShell(), title, message));
}
};
- PlatformUI.getWorkbench().getDisplay().syncExec(reload);
+ EclipseUIUtil.displaySyncExec(reload);
return reload.getResult();
}
}
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenViewpointSelectionAction.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenViewpointSelectionAction.java
index 76a371bd65..977ff37fd1 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenViewpointSelectionAction.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/actions/session/OpenViewpointSelectionAction.java
@@ -14,9 +14,9 @@ import org.eclipse.emf.common.util.URI;
import org.eclipse.jface.action.Action;
import org.eclipse.sirius.business.api.session.Session;
import org.eclipse.sirius.business.api.session.SessionManager;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.ui.business.api.viewpoint.ViewpointSelection;
import org.eclipse.sirius.viewpoint.provider.SiriusEditPlugin;
-import org.eclipse.ui.PlatformUI;
/**
* An actions opening a dialog allowing to change the {@link ViewpointSelection}
@@ -59,7 +59,7 @@ public class OpenViewpointSelectionAction extends Action {
@Override
public void run() {
final Session session = SessionManager.INSTANCE.getExistingSession(sessionURI);
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ EclipseUIUtil.displayAsyncExec(new Runnable() {
public void run() {
ViewpointSelection.openViewpointsSelectionDialog(session);
}
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
index 6d0a36bda5..473ac1ea61 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
@@ -39,6 +39,7 @@ import org.eclipse.sirius.business.api.session.SessionManager;
import org.eclipse.sirius.business.api.session.SessionManagerListener;
import org.eclipse.sirius.business.api.session.SessionStatus;
import org.eclipse.sirius.common.ui.SiriusTransPlugin;
+import org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil;
import org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor;
import org.eclipse.sirius.ecore.extender.business.api.permission.IAuthorityListener;
import org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority;
@@ -663,7 +664,7 @@ public abstract class AbstractDTreeEditor extends EditorPart implements DialectE
public void notify(final int changeKind) {
AbstractDTreeEditorSessionListenerDelegate abstractDTreeEditorSessionListenerDelegate = new AbstractDTreeEditorSessionListenerDelegate(this, changeKind);
if (Display.getCurrent() == null) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(abstractDTreeEditorSessionListenerDelegate);
+ EclipseUIUtil.displayAsyncExec(abstractDTreeEditorSessionListenerDelegate);
} else {
abstractDTreeEditorSessionListenerDelegate.run();
}
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/SelectDRepresentationElementsListener.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/SelectDRepresentationElementsListener.java
index a648dd8014..20a7d3f3fe 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/SelectDRepresentationElementsListener.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/SelectDRepresentationElementsListener.java
@@ -34,7 +34,6 @@ import org.eclipse.sirius.viewpoint.DRepresentationElement;
import org.eclipse.sirius.viewpoint.UIState;
import org.eclipse.sirius.viewpoint.ViewpointPackage;
import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
@@ -131,7 +130,7 @@ public class SelectDRepresentationElementsListener extends ResourceSetListenerIm
// Set the selection in async exec: for some dialect, ui could
// be refresh by another post commit triggered after this one
// and doing some UI refresh in sync exec.
- PlatformUI.getWorkbench().getDisplay().asyncExec(new SetSelectionRunnable(dialectEditor, elementsToSelect));
+ EclipseUIUtil.displayAsyncExec(new SetSelectionRunnable(dialectEditor, elementsToSelect));
}
}
}

Back to the top