blob: 608321e59c32f1a4a37b10df807a48e58ec17eaa [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 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.part;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IActionBars;
/**
* This interface has been replaced by <code>IPageBookViewPage</code>
* but is preserved for backward compatibility.
* <p>
* This class is not intended to be directly implemented by clients; clients
* should instead subclass <code>Page</code>.
* </p>
*
* @see PageBookView
* @see Page
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface IPage {
/**
* Creates the SWT control for this page under the given parent
* control.
* <p>
* Clients should not call this method (the workbench calls this method when
* it needs to, which may be never).
* </p>
*
* @param parent the parent control
*/
public void createControl(Composite parent);
/**
* Disposes of this page.
* <p>
* This is the last method called on the <code>IPage</code>. Implementors should
* clean up any resources associated with the page.
* </p>
* Callers of this method should ensure that the page's control (if it exists)
* has been disposed before calling this method. However, for backward compatibilty,
* implementors must also ensure that the page's control has been disposed before
* this method returns.
* </p>
* <p>
* Note that there is no guarantee that createControl() has been called,
* so the control may never have been created.
* </p>
*/
public void dispose();
/**
* Returns the SWT control for this page.
*
* @return the SWT control for this page, or <code>null</code> if this
* page does not have a control
*/
public Control getControl();
/**
* Allows the page to make contributions to the given action bars.
* The contributions will be visible when the page is visible.
* <p>
* This method is automatically called shortly after
* <code>createControl</code> is called
* </p>
*
* @param actionBars the action bars for this page
*/
public void setActionBars(IActionBars actionBars);
/**
* Asks this page to take focus within its pagebook view.
*/
public void setFocus();
}