blob: 1c7afedaf2ca65d694229def3c9afbeee4af3f30 [file] [log] [blame]
/*******************************************************************************
* 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;
}