blob: aff69c1c4974b2163f2b634bcd5c9be9d837fd5e [file] [log] [blame]
package org.eclipse.ui.views.framelist;
/**********************************************************************
Copyright (c) 2000, 2001, 2002, International Business Machines Corp and others.
All rights reserved.   This program and the accompanying materials
are made available under the terms of the Common Public License v0.5
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/cpl-v05.html
 
Contributors:
**********************************************************************/
/**
* 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 frame 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);
}