diff options
author | Eric Moffatt | 2009-02-20 14:40:52 +0000 |
---|---|---|
committer | Eric Moffatt | 2009-02-20 14:40:52 +0000 |
commit | d8d9665b3dca88b1fd981fe8ad1c984fdde03edf (patch) | |
tree | 8be95be41e639de3c84e46628d984c53e478e4dc | |
parent | c270a0b41d408143e668eed641111b6ff47c5cd9 (diff) | |
download | org.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.java | 46 | ||||
-rw-r--r-- | bundles/org.eclipse.e4.ui.workbench.fragment/src/org/eclipse/ui/part/LegacyWPSImpl.java | 21 |
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() { |