blob: cd378e008d0495cbca522f11bfb880d04f8d9415 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2004 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.views.framelist;
/**
* A frame source is the source of frames which appear in a frame list.
* The frame list asks for the current frame whenever it switches
* to another frame, so that the context can be restored when the
* frame becomes current again.
*
* @see FrameList
*/
public interface IFrameSource {
/**
* Frame constant indicating the current frame.
*/
public static final int CURRENT_FRAME = 0x0001;
/**
* Frame constant indicating the frame for the selection.
*/
public static final int SELECTION_FRAME = 0x0002;
/**
* Frame constant indicating the parent frame.
*/
public static final int PARENT_FRAME = 0x0003;
/**
* Flag constant indicating that the full context should be captured.
*/
public static final int FULL_CONTEXT = 0x0001;
/**
* Returns a new frame describing the state of the source.
* If the <code>FULL_CONTEXT</code> flag is specified, then the full
* context of the source should be captured by the frame.
* Otherwise, only the visible aspects of the frame, such as the name and tool tip text,
* will be used.
*
* @param whichFrame one of the frame constants defined in this interface
* @param flags a bit-wise OR of the flag constants defined in this interface
* @return a new frame describing the current state of the source
*/
public Frame getFrame(int whichFrame, int flags);
}