package com.yoursway.sunrise.workbench; import java.util.ArrayList; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.dynamichelpers.IExtensionTracker; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StackLayout; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IEditorDescriptor; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorReference; import org.eclipse.ui.IMemento; import org.eclipse.ui.INavigationHistory; import org.eclipse.ui.IPartListener; import org.eclipse.ui.IPartListener2; import org.eclipse.ui.IPerspectiveDescriptor; import org.eclipse.ui.IReusableEditor; import org.eclipse.ui.ISaveablePart; import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IViewReference; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchPartReference; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkingSet; import org.eclipse.ui.PartInitException; import org.eclipse.ui.WorkbenchException; import org.eclipse.ui.internal.EditorAreaHelper; import org.eclipse.ui.internal.EditorManager; import org.eclipse.ui.internal.PartService; import org.eclipse.ui.internal.Perspective; import org.eclipse.ui.internal.PerspectiveHelper; import org.eclipse.ui.internal.ViewFactory; import org.eclipse.ui.internal.WorkbenchPage; import org.eclipse.ui.internal.WorkbenchWindow; import org.eclipse.ui.internal.registry.IActionSetDescriptor; @SuppressWarnings("restriction") public class SunriseWorkbenchPage extends WorkbenchPage { private SunriseEditorPresentation editorPresentation; private PerspectiveHelper perspectivePresentation; private SunriseViewManager sunriseViewManager; public SunriseWorkbenchPage(WorkbenchWindow w, IAdaptable input) throws WorkbenchException { super(w, input); // init(w, null, input); } public SunriseWorkbenchPage(WorkbenchWindow w, String layoutID, IAdaptable input) throws WorkbenchException { super(w, layoutID, input); // init(w, layoutID, input); } // private void init(WorkbenchWindow w, String layoutID, IAdaptable input) { // editorPresentation = new SunriseEditorPresentation(this); // } // public EditorAreaHelper getEditorPresentation() { // return editorPresentation; // } // // public PerspectiveHelper getPerspectivePresentation() { // return perspectivePresentation; // } @Override public void activate(IWorkbenchPart part) { super.activate(part); } @Override public void addFastView(IViewReference ref) { super.addFastView(ref); } @Override public void addPartListener(IPartListener l) { super.addPartListener(l); } @Override public void addPartListener(IPartListener2 l) { super.addPartListener(l); } @Override protected void addPerspective(Perspective persp) { super.addPerspective(persp); } @Override public void addPostSelectionListener(ISelectionListener listener) { super.addPostSelectionListener(listener); } @Override public void addPostSelectionListener(String partId, ISelectionListener listener) { super.addPostSelectionListener(partId, listener); } @Override public void addPropertyChangeListener(IPropertyChangeListener listener) { super.addPropertyChangeListener(listener); } @Override public void addSelectionListener(ISelectionListener listener) { super.addSelectionListener(listener); } @Override public void addSelectionListener(String partId, ISelectionListener listener) { super.addSelectionListener(partId, listener); } @Override public void attachView(IViewReference ref) { super.attachView(ref); } @Override public void bringToTop(IWorkbenchPart part) { super.bringToTop(part); } @Override protected IEditorPart busyOpenEditorBatched(IEditorInput input, String editorID, boolean activate, int matchFlags, IMemento editorState) throws PartInitException { return super.busyOpenEditorBatched(input, editorID, activate, matchFlags, editorState); } @Override protected IViewPart busyShowView(String viewID, String secondaryID, int mode) throws PartInitException { return super.busyShowView(viewID, secondaryID, mode); } @Override public boolean close() { return super.close(); } @Override public boolean closeAllEditors(boolean save) { return super.closeAllEditors(save); } @Override public void closeAllPerspectives(boolean saveEditors, boolean closePage) { super.closeAllPerspectives(saveEditors, closePage); } @Override public boolean closeAllSavedEditors() { return super.closeAllSavedEditors(); } @Override public boolean closeEditor(IEditorPart editor, boolean save) { return super.closeEditor(editor, save); } @Override public boolean closeEditor(IEditorReference editorRef, boolean save) { return super.closeEditor(editorRef, save); } @Override public boolean closeEditors(IEditorReference[] refArray, boolean save) { return super.closeEditors(refArray, save); } @Override public void closePerspective(IPerspectiveDescriptor desc, boolean saveParts, boolean closePage) { super.closePerspective(desc, saveParts, closePage); } @Override public void closePerspective(IPerspectiveDescriptor desc, IPerspectiveDescriptor descToActivate, boolean saveParts, boolean closePage) { super.closePerspective(desc, descToActivate, saveParts, closePage); } @Override public void detachView(IViewReference ref) { super.detachView(ref); } @Override public void dispose() { super.dispose(); } @Override public boolean editActionSets() { return super.editActionSets(); } @Override public IEditorPart findEditor(IEditorInput input) { return super.findEditor(input); } @Override public IEditorReference[] findEditors(IEditorInput input, String editorId, int matchFlags) { return super.findEditors(input, editorId, matchFlags); } @Override public Perspective findPerspective(IPerspectiveDescriptor desc) { return super.findPerspective(desc); } @Override public IViewPart findView(String id) { return super.findView(id); } @Override public IViewReference findViewReference(String viewId, String secondaryId) { return super.findViewReference(viewId, secondaryId); } @Override public IViewReference findViewReference(String viewId) { return super.findViewReference(viewId); } @Override public IActionBars getActionBars() { return super.getActionBars(); } @Override public IActionSetDescriptor[] getActionSets() { return super.getActionSets(); } @Override public IEditorPart getActiveEditor() { return super.getActiveEditor(); } @Override public IEditorReference getActiveEditorReference() { return super.getActiveEditorReference(); } @Override public IViewReference getActiveFastView() { return super.getActiveFastView(); } @Override public IWorkbenchPart getActivePart() { return super.getActivePart(); } @Override public IWorkbenchPartReference getActivePartReference() { return super.getActivePartReference(); } @Override public Perspective getActivePerspective() { return super.getActivePerspective(); } @Override public IWorkingSet getAggregateWorkingSet() { return super.getAggregateWorkingSet(); } @Override public Composite getClientComposite() { return super.getClientComposite(); } @Override public IEditorPart[] getDirtyEditors() { return super.getDirtyEditors(); } @Override public ISaveablePart[] getDirtyParts() { return super.getDirtyParts(); } @Override public EditorManager getEditorManager() { return super.getEditorManager(); } @Override public IEditorReference[] getEditorReferences() { return super.getEditorReferences(); } @Override public int getEditorReuseThreshold() { return super.getEditorReuseThreshold(); } @Override public IEditorPart[] getEditors() { return super.getEditors(); } @Override public IExtensionTracker getExtensionTracker() { return super.getExtensionTracker(); } @Override public IViewReference[] getFastViews() { return super.getFastViews(); } @Override public IAdaptable getInput() { return super.getInput(); } @Override public String getLabel() { return super.getLabel(); } @Override public INavigationHistory getNavigationHistory() { return super.getNavigationHistory(); } @Override public String[] getNewWizardShortcuts() { return super.getNewWizardShortcuts(); } @Override public IPerspectiveDescriptor[] getOpenPerspectives() { return super.getOpenPerspectives(); } @Override public PartService getPartService() { return super.getPartService(); } @Override public int getPartState(IWorkbenchPartReference ref) { return super.getPartState(ref); } @Override public IPerspectiveDescriptor getPerspective() { return super.getPerspective(); } @Override public String[] getPerspectiveShortcuts() { return super.getPerspectiveShortcuts(); } @Override public IWorkbenchPartReference getReference(IWorkbenchPart part) { return super.getReference(part); } @Override public ISelection getSelection() { return super.getSelection(); } @Override public ISelection getSelection(String partId) { return super.getSelection(partId); } @Override public ArrayList getShowInPartIds() { return super.getShowInPartIds(); } @Override public String[] getShowViewShortcuts() { return super.getShowViewShortcuts(); } @Override public IEditorReference[] getSortedEditors() { return super.getSortedEditors(); } @Override public IWorkbenchPartReference[] getSortedParts() { return super.getSortedParts(); } @Override public IPerspectiveDescriptor[] getSortedPerspectives() { return super.getSortedPerspectives(); } @Override public ViewFactory getViewFactory() { return super.getViewFactory(); } @Override public IViewReference[] getViewReferences() { return super.getViewReferences(); } @Override public IViewPart[] getViews() { return super.getViews(); } @Override public IViewPart[] getViewStack(IViewPart part) { return super.getViewStack(part); } @Override public IWorkbenchWindow getWorkbenchWindow() { return super.getWorkbenchWindow(); } @Override public IWorkingSet getWorkingSet() { return super.getWorkingSet(); } @Override public IWorkingSet[] getWorkingSets() { return super.getWorkingSets(); } @Override public void hideActionSet(String actionSetID) { super.hideActionSet(actionSetID); } @Override public void hideFastView() { super.hideFastView(); } @Override public void hideView(IViewPart view) { super.hideView(view); } @Override public void hideView(IViewReference ref) { super.hideView(ref); } @Override public boolean isCloseable(IViewReference ref) { return super.isCloseable(ref); } @Override public boolean isEditorAreaVisible() { return super.isEditorAreaVisible(); } @Override public boolean isEditorPinned(IEditorPart editor) { return super.isEditorPinned(editor); } @Override public boolean isFastView(IViewReference ref) { return super.isFastView(ref); } @Override public boolean isFixedLayout() { return super.isFixedLayout(); } @Override public boolean isMoveable(IViewReference ref) { return super.isMoveable(ref); } @Override public boolean isPageZoomed() { return super.isPageZoomed(); } @Override public boolean isPartVisible(IWorkbenchPart part) { return super.isPartVisible(part); } @Override public boolean isPartVisible(IWorkbenchPartReference reference) { return super.isPartVisible(reference); } @Override protected boolean isSaveNeeded() { return super.isSaveNeeded(); } @Override public boolean isZoomed() { return super.isZoomed(); } @Override public void makeFastView(IViewReference ref) { super.makeFastView(ref); } @Override protected void onActivate() { super.onActivate(); Composite clientComposite = getClientComposite(); Composite windowComposite = clientComposite.getParent(); Composite falseWitness = new Composite(windowComposite, SWT.NONE); falseWitness.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); falseWitness.setLayout(new GridLayout(2, false)); ((StackLayout) windowComposite.getLayout()).topControl = falseWitness; clientComposite.setParent(falseWitness); clientComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); clientComposite.setBackground(new Color(null, 255, 0, 0)); clientComposite.setData(this); sunriseViewManager = new SunriseViewManager(falseWitness); } public SunriseViewManager getSunriseViewManager() { return sunriseViewManager; } @Override protected void onDeactivate() { super.onDeactivate(); } @Override public IEditorPart openEditor(IEditorInput input, String editorID, boolean activate, int matchFlags, IMemento editorState) throws PartInitException { return super.openEditor(input, editorID, activate, matchFlags, editorState); } @Override public IEditorPart openEditor(IEditorInput input, String editorID, boolean activate, int matchFlags) throws PartInitException { return super.openEditor(input, editorID, activate, matchFlags); } @Override public IEditorPart openEditor(IEditorInput input, String editorID, boolean activate) throws PartInitException { return super.openEditor(input, editorID, activate); } @Override public IEditorPart openEditor(IEditorInput input, String editorID) throws PartInitException { return super.openEditor(input, editorID); } @Override public IEditorPart openEditorFromDescriptor(IEditorInput input, IEditorDescriptor editorDescriptor, boolean activate, IMemento editorState) throws PartInitException { return super.openEditorFromDescriptor(input, editorDescriptor, activate, editorState); } @Override public void openEmptyTab() { super.openEmptyTab(); } @Override public void openPerspectiveExtras() { super.openPerspectiveExtras(); } @Override public void performedShowIn(String partId) { super.performedShowIn(partId); } @Override public void removeFastView(IViewReference ref) { super.removeFastView(ref); } @Override public void removePartListener(IPartListener l) { super.removePartListener(l); } @Override public void removePartListener(IPartListener2 l) { super.removePartListener(l); } @Override public void removePostSelectionListener(ISelectionListener listener) { super.removePostSelectionListener(listener); } @Override public void removePostSelectionListener(String partId, ISelectionListener listener) { super.removePostSelectionListener(partId, listener); } @Override public void removePropertyChangeListener(IPropertyChangeListener listener) { super.removePropertyChangeListener(listener); } @Override public void removeSelectionListener(ISelectionListener listener) { super.removeSelectionListener(listener); } @Override public void removeSelectionListener(String partId, ISelectionListener listener) { super.removeSelectionListener(partId, listener); } @Override public void requestActivation(IWorkbenchPart part) { super.requestActivation(part); } @Override public void resetPerspective() { super.resetPerspective(); } @Override protected void resetToolBarLayout() { super.resetToolBarLayout(); } @Override public void resizeView(IViewPart part, int width, int height) { super.resizeView(part, width, height); } @Override public IStatus restoreState(IMemento memento, IPerspectiveDescriptor activeDescriptor) { return super.restoreState(memento, activeDescriptor); } @Override public void reuseEditor(IReusableEditor editor, IEditorInput input) { super.reuseEditor(editor, input); } @Override public boolean saveAllEditors(boolean confirm, boolean addNonPartSources) { return super.saveAllEditors(confirm, addNonPartSources); } @Override public boolean saveAllEditors(boolean confirm) { return super.saveAllEditors(confirm); } @Override public boolean saveEditor(IEditorPart editor, boolean confirm) { return super.saveEditor(editor, confirm); } @Override protected boolean savePart(ISaveablePart saveable, IWorkbenchPart part, boolean confirm) { return super.savePart(saveable, part, confirm); } @Override public void savePerspective() { super.savePerspective(); } @Override public void savePerspectiveAs(IPerspectiveDescriptor newDesc) { super.savePerspectiveAs(newDesc); } @Override public IStatus saveState(IMemento memento) { return super.saveState(memento); } @Override public void setEditorAreaVisible(boolean showEditorArea) { super.setEditorAreaVisible(showEditorArea); } @Override public void setEditorReuseThreshold(int openEditors) { super.setEditorReuseThreshold(openEditors); } @Override public void setPartState(IWorkbenchPartReference ref, int state) { super.setPartState(ref, state); } @Override public void setPerspective(IPerspectiveDescriptor desc) { super.setPerspective(desc); } @Override public void setState(IWorkbenchPartReference ref, int newState) { super.setState(ref, newState); } @Override public void setWorkingSet(IWorkingSet newWorkingSet) { super.setWorkingSet(newWorkingSet); } @Override public void setWorkingSets(IWorkingSet[] newWorkingSets) { super.setWorkingSets(newWorkingSets); } @Override public void showActionSet(String actionSetID) { super.showActionSet(actionSetID); } @Override protected void showEditor(boolean activate, IEditorPart editor) { super.showEditor(activate, editor); } @Override public IViewPart showView(String viewID, String secondaryID, int mode) throws PartInitException { return super.showView(viewID, secondaryID, mode); } @Override public IViewPart showView(String viewID) throws PartInitException { return super.showView(viewID); } @Override public void sortShowInPartIds(ArrayList partIds) { super.sortShowInPartIds(partIds); } @Override public void testInvariants() { super.testInvariants(); } @Override public void toggleFastView(IViewReference ref) { super.toggleFastView(ref); } @Override public void toggleZoom(IWorkbenchPartReference ref) { super.toggleZoom(ref); } @Override public void unzoomAllPerspectives() { super.unzoomAllPerspectives(); } @Override public void updateActionBars() { super.updateActionBars(); } @Override public void zoomOut() { super.zoomOut(); } }