01: /*******************************************************************************
02: * Copyright (c) 2000, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.ui.views.contentoutline;
11:
12: import org.eclipse.jface.viewers.ISelectionProvider;
13: import org.eclipse.ui.part.IPage;
14:
15: /**
16: * Marker-style interface for a content outline page. This interface defines
17: * the minimum requirement for pages within the content outline view, namely
18: * they must be pages (implement <code>IPage</code>) and provide selections
19: * (implement <code>ISelectionProvider</code>).
20: * <p>
21: * Access to a content outline page begins when an editor is activated. When
22: * activation occurs, the content outline view will ask the editor for its
23: * content outline page. This is done by invoking
24: * <code>getAdapter(IContentOutlinePage.class)</code> on the editor.
25: * If the editor returns a page, the view then creates the controls for that
26: * page (using <code>createControl</code>) and makes the page visible.
27: * </p>
28: * <p>
29: * Clients may implement this interface from scratch, or subclass the
30: * abstract base class <code>ContentOutlinePage</code>.
31: * </p>
32: * <p>
33: * Note that this interface extends <code>ISelectionProvider</code>.
34: * This is no longer required in the case of implementors who also
35: * implement <code>IPageBookViewPage</code> (or extend <code>Page</code>)
36: * as they are now passed an <code>IPageSite</code> during their initialization
37: * and this site can be configured with a selection provider.
38: * However to avoid a breaking change
39: * 1) this interface will continue to extend ISelectionProvider
40: * 2) if an IContentOutlinePage does not set a selection provider for its
41: * site, the ContentOutline will continue to use the page itself for
42: * this purpose.
43: * </p>
44: *
45: * @see ContentOutlinePage
46: */
47: public interface IContentOutlinePage extends IPage, ISelectionProvider {
48: }
|