relocate method
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/DefaultDirectEditPolicy.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/DefaultDirectEditPolicy.java
index d4916ef..f5dd0e4 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/DefaultDirectEditPolicy.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/DefaultDirectEditPolicy.java
@@ -74,7 +74,7 @@
final String message = request.getCellEditor().getErrorMessage();
if (message != null && message.length() != 0) {
- MessageDialog.openError(GraphitiUiInternal.getUiService().getShell(), Messages.DefaultDirectEditPolicy_0_xmsg, message);
+ MessageDialog.openError(GraphitiUiInternal.getWorkbenchService().getShell(), Messages.DefaultDirectEditPolicy_0_xmsg, message);
return null;
}
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IUiService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IUiService.java
index a8194d4..f6bb047 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IUiService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IUiService.java
@@ -72,11 +72,6 @@
*/
public abstract void startSaveAsImageDialog(GraphicalViewer graphicalViewer);
- /**
- * Returns the shell of the active workbench window.
- *
- * @return the shell
- */
- public abstract Shell getShell();
+
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IWorkbenchService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IWorkbenchService.java
index 4ed35e4..0b48d29 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IWorkbenchService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IWorkbenchService.java
@@ -20,6 +20,7 @@
import org.eclipse.graphiti.platform.IDiagramEditor;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.action.StatusLineManager;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
/**
@@ -70,4 +71,11 @@
public IDiagramEditor openDiagramEditor(Diagram diagram, TransactionalEditingDomain domain, String providerId,
boolean disposeEditingDomain);
+ /**
+ * Returns the shell of the active workbench window.
+ *
+ * @return the shell
+ */
+ public Shell getShell();
+
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/UiService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/UiService.java
index ccda88e..00c328f 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/UiService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/UiService.java
@@ -129,14 +129,15 @@
public void startSaveAsImageDialog(GraphicalViewer graphicalViewer) {
String METHOD = "startSaveAsImageDialog(graphicalViewer)"; //$NON-NLS-1$
+ Shell shell = GraphitiUiInternal.getWorkbenchService().getShell();
// select image-format and scale-factor
- SaveFigureAsImageDialog saveAsImageDialog = new SaveFigureAsImageDialog(getShell(), graphicalViewer);
+ SaveFigureAsImageDialog saveAsImageDialog = new SaveFigureAsImageDialog(shell, graphicalViewer);
saveAsImageDialog.open();
if (saveAsImageDialog.getReturnCode() == Window.CANCEL)
return;
// select filename with file-dialog
- FileDialog fileDialog = new FileDialog(getShell(), SWT.SAVE);
+ FileDialog fileDialog = new FileDialog(shell, SWT.SAVE);
String fileExtensions[] = new String[] { "*." + saveAsImageDialog.getFileExtensionForImageFormat() }; //$NON-NLS-1$
fileDialog.setFilterExtensions(fileExtensions);
String filename = fileDialog.open();
@@ -151,10 +152,10 @@
// save image as file
WorkspaceModifyOperation saveOperation = saveContentsToFile(filename, image);
- new ProgressMonitorDialog(getShell()).run(false, false, saveOperation);
+ new ProgressMonitorDialog(shell).run(false, false, saveOperation);
} catch (Exception e) {
String message = "Can not save image: "; //$NON-NLS-1$
- MessageDialog.openError(getShell(), "Can not save image", message + e.getMessage()); //$NON-NLS-1$
+ MessageDialog.openError(shell, "Can not save image", message + e.getMessage()); //$NON-NLS-1$
T.racer().error(METHOD, message + "\nDetails: " + GraphitiUiInternal.getTraceService().getStacktrace(e)); //$NON-NLS-1$
e.printStackTrace();
}
@@ -198,14 +199,4 @@
return operation;
}
- /**
- * Returns the currently active Shell.
- *
- * @return The currently active Shell.
- */
- @Override
- public Shell getShell() {
- return GraphitiUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
- }
-
}
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java
index c4015f3..4ef37cb 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/WorkbenchService.java
@@ -21,10 +21,12 @@
import org.eclipse.graphiti.platform.IDiagramEditor;
import org.eclipse.graphiti.ui.editor.DiagramEditor;
import org.eclipse.graphiti.ui.editor.DiagramEditorInput;
+import org.eclipse.graphiti.ui.internal.GraphitiUIPlugin;
import org.eclipse.graphiti.ui.internal.services.IWorkbenchService;
import org.eclipse.graphiti.ui.services.GraphitiUi;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.action.StatusLineManager;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IEditorActionBarContributor;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IViewPart;
@@ -42,12 +44,7 @@
*/
public class WorkbenchService implements IWorkbenchService {
- /*
- * (non-Javadoc)
- *
- * @seeorg.eclipse.graphiti.ui.internal.util.ui.IWorkbenchService#
- * getActiveStatusLineManager()
- */
+
public IStatusLineManager getActiveStatusLineManager() {
final IWorkbenchPart activePart = getActiveOrFirstWorkbenchWindow().getActivePage().getActivePart();
if (activePart instanceof IViewPart) {
@@ -66,12 +63,7 @@
return new StatusLineManager();
}
- /*
- * (non-Javadoc)
- *
- * @seeorg.eclipse.graphiti.ui.internal.util.ui.IWorkbenchService#
- * getActiveOrFirstWorkbenchWindow()
- */
+
public IWorkbenchWindow getActiveOrFirstWorkbenchWindow() {
IWorkbenchWindow result = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (result == null) {
@@ -140,4 +132,10 @@
return workbenchWindow.getActivePage();
return null;
}
+
+
+ @Override
+ public Shell getShell() {
+ return GraphitiUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
+ }
}