package com.onpositive.ui.dummy.editors;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IEditorActionBarContributor;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IKeyBindingService;
import org.eclipse.ui.IPartListener;
import org.eclipse.ui.IPartListener2;
import org.eclipse.ui.IPartService;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchPartReference;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.EditorActionBars;
import org.eclipse.ui.internal.KeyBindingService;
import org.eclipse.ui.internal.WorkbenchPage;
import org.eclipse.ui.internal.services.ServiceLocator;
import org.eclipse.ui.part.MultiPageEditorPart;
import org.eclipse.ui.part.MultiPageSelectionProvider;
public class DummyEditorSite implements IEditorSite {
protected IEditorPart editor;
protected String id;
protected Composite editorParent;
protected KeyBindingService instance;
protected ISelectionProvider selectionProvider;
private Shell shell;
public DummyEditorSite(IEditorPart editor, String id, Composite editorParent) {
this.editor = editor;
this.id = id;
this.editorParent = editorParent;
shell = editorParent.getShell();
}
public IEditorActionBarContributor getActionBarContributor() {
// TODO Auto-generated method stub
return null;
}
public IActionBars getActionBars() {
return new EditorActionBars((WorkbenchPage) PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage(),
new ServiceLocator(), "simple") {
public void setGlobalActionHandler(String actionID, IAction handler) {
}
};
}
public void registerContextMenu(MenuManager menuManager,
ISelectionProvider selectionProvider, boolean includeEditorInput) {
// TODO Auto-generated method stub
}
public void registerContextMenu(String menuId, MenuManager menuManager,
ISelectionProvider selectionProvider, boolean includeEditorInput) {
// TODO Auto-generated method stub
}
public String getId() {
return id;
}
public IKeyBindingService getKeyBindingService() {
if (instance == null)
instance = new KeyBindingService(this);
return instance;
}
public IWorkbenchPart getPart() {
return editor;
}
public String getPluginId() {
return "";
}
public String getRegisteredName() {
// TODO Auto-generated method stub
return null;
}
public void registerContextMenu(MenuManager menuManager,
ISelectionProvider selectionProvider) {
// TODO Auto-generated method stub
}
public void registerContextMenu(String menuId, MenuManager menuManager,
ISelectionProvider selectionProvider) {
// TODO Auto-generated method stub
}
public IWorkbenchPage getPage() {
return PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getActivePage();
}
public ISelectionProvider getSelectionProvider() {
if (selectionProvider == null) {
if (editor instanceof MultiPageEditorPart) {
selectionProvider = new MultiPageSelectionProvider(
(MultiPageEditorPart) editor);
} else {
selectionProvider = new SimpleSelectionProvider();
}
}
return selectionProvider;
}
public Shell getShell() {
return shell;
}
public IWorkbenchWindow getWorkbenchWindow() {
return PlatformUI.getWorkbench().getActiveWorkbenchWindow();
}
public void setSelectionProvider(ISelectionProvider provider) {
// TODO Auto-generated method stub
}
public Object getAdapter(Class adapter) {
// TODO Auto-generated method stub
return null;
}
public Object getService(Class api) {
if (api == IPartService.class) {
return new IPartService() {
public void addPartListener(IPartListener listener) {
}
public void addPartListener(IPartListener2 listener) {
}
public IWorkbenchPart getActivePart() {
return null;
}
public IWorkbenchPartReference getActivePartReference() {
return null;
}
public void removePartListener(IPartListener listener) {
}
public void removePartListener(IPartListener2 listener) {
}
};
}
return PlatformUI.getWorkbench().getService(api);
}
public boolean hasService(Class api) {
return PlatformUI.getWorkbench().hasService(api);
}
}