| /******************************************************************************* |
| * Copyright (c) 2008 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| ******************************************************************************/ |
| |
| package org.eclipse.ui.internal.tweaklets; |
| |
| import org.eclipse.core.runtime.IAdaptable; |
| import org.eclipse.ui.WorkbenchException; |
| import org.eclipse.ui.internal.Perspective; |
| import org.eclipse.ui.internal.WorkbenchPage; |
| import org.eclipse.ui.internal.WorkbenchWindow; |
| import org.eclipse.ui.internal.registry.PerspectiveDescriptor; |
| import org.eclipse.ui.internal.tweaklets.Tweaklets.TweakKey; |
| |
| /** |
| * Tweak that enables experimental Eclipse 4.0 functionality |
| * |
| * @since 3.4 |
| * |
| */ |
| public abstract class WorkbenchImplementation { |
| public static TweakKey KEY = new Tweaklets.TweakKey(WorkbenchImplementation.class); |
| |
| static { |
| Tweaklets.setDefault(WorkbenchImplementation.KEY, new Workbench3xImplementation()); |
| } |
| |
| /** Default c'tor */ |
| public WorkbenchImplementation() {} |
| |
| /** |
| * @param newWindowNumber |
| * @return |
| */ |
| public abstract WorkbenchWindow createWorkbenchWindow(int newWindowNumber); |
| |
| /** |
| * @param workbenchWindow |
| * @param perspID |
| * @param input |
| * @return |
| * @throws WorkbenchException |
| */ |
| public abstract WorkbenchPage createWorkbenchPage(WorkbenchWindow workbenchWindow, |
| String perspID, IAdaptable input) throws WorkbenchException; |
| |
| /** |
| * @param workbenchWindow |
| * @param finalInput |
| * @return |
| * @throws WorkbenchException |
| */ |
| public abstract WorkbenchPage createWorkbenchPage(WorkbenchWindow workbenchWindow, |
| IAdaptable finalInput) throws WorkbenchException; |
| |
| /** |
| * @param desc |
| * @param workbenchPage |
| * @return |
| * @throws WorkbenchException |
| */ |
| public abstract Perspective createPerspective(PerspectiveDescriptor desc, |
| WorkbenchPage workbenchPage) throws WorkbenchException; |
| } |