Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Moffatt2009-02-20 14:40:52 +0000
committerEric Moffatt2009-02-20 14:40:52 +0000
commitd8d9665b3dca88b1fd981fe8ad1c984fdde03edf (patch)
tree8be95be41e639de3c84e46628d984c53e478e4dc
parentc270a0b41d408143e668eed641111b6ff47c5cd9 (diff)
downloadorg.eclipse.e4.ui-d8d9665b3dca88b1fd981fe8ad1c984fdde03edf.tar.gz
org.eclipse.e4.ui-d8d9665b3dca88b1fd981fe8ad1c984fdde03edf.tar.xz
org.eclipse.e4.ui-d8d9665b3dca88b1fd981fe8ad1c984fdde03edf.zip
Fix for Bug 265162 - PDE editor needs the IServiceLocatorCreator 'service'
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/LegacyWBWImpl.java46
-rw-r--r--bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/part/LegacyWPSImpl.java21
2 files changed, 62 insertions, 5 deletions
diff --git a/bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/LegacyWBWImpl.java b/bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/LegacyWBWImpl.java
index 603d9c8a..1003a058 100644
--- a/bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/LegacyWBWImpl.java
+++ b/bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/LegacyWBWImpl.java
@@ -34,6 +34,8 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.internal.NavigationHistory;
import org.eclipse.ui.internal.WWinPartService;
+import org.eclipse.ui.internal.services.EvaluationService;
+import org.eclipse.ui.services.IEvaluationService;
/**
* @since 3.3
@@ -47,6 +49,8 @@ public class LegacyWBWImpl implements IWorkbenchWindow, IWorkbenchPage {
private WWinPartService partService = new WWinPartService(this);
private INavigationHistory navHistory = new NavigationHistory(this);
+ private ISelectionService selService;
+ private IEvaluationService evalService;
public static IEditorInput hackInput;
/**
@@ -102,8 +106,36 @@ public class LegacyWBWImpl implements IWorkbenchWindow, IWorkbenchPage {
* @see org.eclipse.ui.IWorkbenchWindow#getSelectionService()
*/
public ISelectionService getSelectionService() {
- // TODO Auto-generated method stub
- return null;
+ if (selService == null) {
+ selService = new ISelectionService(){
+ public void removeSelectionListener(String partId,
+ ISelectionListener listener) {
+ }
+ public void removeSelectionListener(ISelectionListener listener) {
+ }
+ public void removePostSelectionListener(String partId,
+ ISelectionListener listener) {
+ }
+ public void removePostSelectionListener(ISelectionListener listener) {
+ }
+ public ISelection getSelection(String partId) {
+ return null;
+ }
+ public ISelection getSelection() {
+ return null;
+ }
+ public void addSelectionListener(String partId, ISelectionListener listener) {
+ }
+ public void addSelectionListener(ISelectionListener listener) {
+ }
+ public void addPostSelectionListener(String partId,
+ ISelectionListener listener) {
+ }
+ public void addPostSelectionListener(ISelectionListener listener) {
+ }
+ };
+ }
+ return selService;
}
/* (non-Javadoc)
@@ -199,7 +231,12 @@ public class LegacyWBWImpl implements IWorkbenchWindow, IWorkbenchPage {
* @see org.eclipse.ui.services.IServiceLocator#getService(java.lang.Class)
*/
public Object getService(Class api) {
- // TODO Auto-generated method stub
+ if (IEvaluationService.class == api) {
+ if (evalService == null) {
+ evalService = new EvaluationService();
+ }
+ return evalService;
+ }
return null;
}
@@ -337,8 +374,7 @@ public class LegacyWBWImpl implements IWorkbenchWindow, IWorkbenchPage {
* @see org.eclipse.ui.IWorkbenchPage#getDirtyEditors()
*/
public IEditorPart[] getDirtyEditors() {
- // TODO Auto-generated method stub
- return null;
+ return new IEditorPart[0];
}
/* (non-Javadoc)
diff --git a/bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/part/LegacyWPSImpl.java b/bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/part/LegacyWPSImpl.java
index 86b980ac..cfe17b5d 100644
--- a/bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/part/LegacyWPSImpl.java
+++ b/bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/part/LegacyWPSImpl.java
@@ -43,6 +43,7 @@ import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IEditorActionBarContributor;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IKeyBindingService;
+import org.eclipse.ui.IPartService;
import org.eclipse.ui.ISourceProvider;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.IWorkbenchPage;
@@ -52,6 +53,10 @@ import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.handlers.IHandlerActivation;
import org.eclipse.ui.handlers.IHandlerService;
+import org.eclipse.ui.internal.PartService;
+import org.eclipse.ui.internal.misc.UIListenerLogging;
+import org.eclipse.ui.internal.services.IServiceLocatorCreator;
+import org.eclipse.ui.internal.services.ServiceLocatorCreator;
import org.eclipse.ui.menus.AbstractContributionFactory;
import org.eclipse.ui.menus.IMenuService;
import org.eclipse.ui.services.IServiceLocator;
@@ -69,6 +74,8 @@ public class LegacyWPSImpl implements IWorkbenchPartSite, IViewSite, IEditorSite
private IKeyBindingService kbService;
private IActionBars actionBars;
private ISelectionProvider selProvider;
+ private IServiceLocatorCreator serviceLocatorCreator;
+ private IPartService partService;
/**
* @param e4Workbench
@@ -231,6 +238,20 @@ public class LegacyWPSImpl implements IWorkbenchPartSite, IViewSite, IEditorSite
* @see org.eclipse.ui.services.IServiceLocator#getService(java.lang.Class)
*/
public Object getService(Class api) {
+ if (api == IPartService.class) {
+ if (partService == null) {
+ partService = new PartService(
+ UIListenerLogging.PAGE_PARTLISTENER_EVENTS,
+ UIListenerLogging.PAGE_PARTLISTENER2_EVENTS);
+ }
+ return partService;
+ }
+ if (api == IServiceLocatorCreator.class) {
+ if (serviceLocatorCreator == null) {
+ serviceLocatorCreator = new ServiceLocatorCreator();
+ }
+ return serviceLocatorCreator;
+ }
if (api == IMenuService.class) {
return new IMenuService() {

Back to the top