Eclipse Platform
2.0

org.eclipse.ui.views.contentoutline
Class ContentOutline

java.lang.Object
  |
  +--org.eclipse.ui.part.WorkbenchPart
        |
        +--org.eclipse.ui.part.ViewPart
              |
              +--org.eclipse.ui.part.PageBookView
                    |
                    +--org.eclipse.ui.views.contentoutline.ContentOutline
All Implemented Interfaces:
IAdaptable, IExecutableExtension, IPartListener, ISelectionChangedListener, ISelectionProvider, IViewPart, IWorkbenchPart

public class ContentOutline
extends PageBookView
implements ISelectionProvider, ISelectionChangedListener

Main class for the Content Outline View.

This standard view has id "org.eclipse.ui.views.ContentOutline".

When a content outline view notices an editor being activated, it asks the editor whether it has a content outline page to include in the outline view. This is done using getAdapter:
 IEditorPart editor = ...;
 IContentOutlinePage outlinePage = (IContentOutlinePage) editor.getAdapter(IContentOutlinePage.class);
 if (outlinePage != null) {
    // editor wishes to contribute outlinePage to content outline view
 }
 
If the editor supports a content outline page, the editor instantiates and configures the page, and returns it. This page is then added to the content outline view (a pagebook which presents one page at a time) and immediately made the current page (the content outline view need not be visible). If the editor does not support a content outline page, the content outline view shows a special default page which makes it clear to the user that the content outline view is disengaged. A content outline page is free to report selection events; the content outline view forwards these events along to interested parties. When the content outline view notices a different editor being activated, it flips to the editor's corresponding content outline page. When the content outline view notices an editor being closed, it destroys the editor's corresponding content outline page.

The workbench will automatically instantiate this class when a Content Outline view is needed for a workbench window. This class was not intended to be instantiated or subclassed by clients.


Nested Class Summary
 
Nested classes inherited from class org.eclipse.ui.part.PageBookView
PageBookView.PageRec, PageBookView.SelectionProvider
 
Field Summary
static String CONTENT_OUTLINE_VIEW_HELP_CONTEXT_ID
          Help context id used for the content outline view (value "org.eclipse.ui.content_outline_context").
static String PREFIX
           
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
ContentOutline()
          Creates a content outline view with no content outline pages.
 
Method Summary
 void addSelectionChangedListener(ISelectionChangedListener listener)
          Adds a listener for selection changes in this selection provider.
protected  IPage createDefaultPage(PageBook book)
          Creates and returns the default page for this view.
 void createPartControl(Composite parent)
          The PageBookView implementation of this IWorkbenchPart method creates a PageBook control with its default page showing.
protected  PageBookView.PageRec doCreatePage(IWorkbenchPart part)
          Creates a new page in the pagebook for a particular part.
protected  void doDestroyPage(IWorkbenchPart part, PageBookView.PageRec rec)
          Destroys a page in the pagebook for a particular part.
 Object getAdapter(Class key)
          Returns an object which is an instance of the given class associated with this object.
protected  IWorkbenchPart getBootstrapPart()
          Returns the active, important workbench part for this view.
 ISelection getSelection()
          Returns the current selection for this provider.
protected  boolean isImportant(IWorkbenchPart part)
          Returns whether the given part should be added to this view.
 void partBroughtToTop(IWorkbenchPart part)
          The PageBookView implementation of this IPartListener method does nothing.
 void removeSelectionChangedListener(ISelectionChangedListener listener)
          Removes the given selection change listener from this selection provider.
 void selectionChanged(SelectionChangedEvent event)
          Notifies that the selection has changed.
 void setSelection(ISelection selection)
          Sets the current selection for this selection provider.
protected  void showPageRec(PageBookView.PageRec pageRec)
          The ContentOutline implementation of this PageBookView method extends the behavior of its parent to use the current page as a selection provider.
 
Methods inherited from class org.eclipse.ui.part.PageBookView
dispose, getCurrentContributingPart, getCurrentPage, getDefaultPage, getPageBook, getPageRec, getPageRec, getPageSite, getSelectionProvider, init, initPage, partActivated, partClosed, partDeactivated, partOpened, setFocus
 
Methods inherited from class org.eclipse.ui.part.ViewPart
getViewSite, init, saveState
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPropertyListener, firePropertyChange, getConfigurationElement, getDefaultImage, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener, setInitializationData, setSite, setTitle, setTitleImage, setTitleToolTip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
 

Field Detail

PREFIX

public static final String PREFIX
See Also:
Constant Field Values

CONTENT_OUTLINE_VIEW_HELP_CONTEXT_ID

public static final String CONTENT_OUTLINE_VIEW_HELP_CONTEXT_ID
Help context id used for the content outline view (value "org.eclipse.ui.content_outline_context").

See Also:
Constant Field Values
Constructor Detail

ContentOutline

public ContentOutline()
Creates a content outline view with no content outline pages.

Method Detail

addSelectionChangedListener

public void addSelectionChangedListener(ISelectionChangedListener listener)
Description copied from interface: ISelectionProvider
Adds a listener for selection changes in this selection provider. Has no effect if an identical listener is already registered.

Specified by:
addSelectionChangedListener in interface ISelectionProvider
Parameters:
listener - a selection changed listener

createDefaultPage

protected IPage createDefaultPage(PageBook book)
Description copied from class: PageBookView
Creates and returns the default page for this view.

Subclasses must implement this method.

Subclasses must call initPage with the new page (if it is an IPageBookViewPage) before calling createControl on the page.

Specified by:
createDefaultPage in class PageBookView
Parameters:
book - the pagebook control
Returns:
the default page

createPartControl

public void createPartControl(Composite parent)
The PageBookView implementation of this IWorkbenchPart method creates a PageBook control with its default page showing.

Specified by:
createPartControl in interface IWorkbenchPart
Overrides:
createPartControl in class PageBookView
Parameters:
parent - the parent control

doCreatePage

protected PageBookView.PageRec doCreatePage(IWorkbenchPart part)
Description copied from class: PageBookView
Creates a new page in the pagebook for a particular part. This page will be made visible whenever the part is active, and will be destroyed with a call to doDestroyPage.

Subclasses must implement this method.

Subclasses must call initPage with the new page (if it is an IPageBookViewPage) before calling createControl on the page.

Specified by:
doCreatePage in class PageBookView
Parameters:
part - the input part
Returns:
the record describing a new page for this view
See Also:
PageBookView.doDestroyPage(org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.part.PageBookView.PageRec)

doDestroyPage

protected void doDestroyPage(IWorkbenchPart part,
                             PageBookView.PageRec rec)
Description copied from class: PageBookView
Destroys a page in the pagebook for a particular part. This page was returned as a result from doCreatePage.

Subclasses must implement this method.

Specified by:
doDestroyPage in class PageBookView
Parameters:
part - the input part
rec - a page record for the part
See Also:
PageBookView.doCreatePage(org.eclipse.ui.IWorkbenchPart)

getAdapter

public Object getAdapter(Class key)
Description copied from interface: IAdaptable
Returns an object which is an instance of the given class associated with this object. Returns null if no such object can be found.

Specified by:
getAdapter in interface IAdaptable
Overrides:
getAdapter in class WorkbenchPart
Parameters:
key - the adapter class to look up
Returns:
a object castable to the given class, or null if this object does not have an adapter for the given class

getBootstrapPart

protected IWorkbenchPart getBootstrapPart()
Description copied from class: PageBookView
Returns the active, important workbench part for this view.

When the page book view is created it has no idea which part within the workbook should be used to generate the first page. Therefore, it delegates the choice to subclasses of PageBookView.

Implementors of this method should return an active, important part in the workbench or null if none found.

Subclasses must implement this method.

Specified by:
getBootstrapPart in class PageBookView
Returns:
the active important part, or null if none

getSelection

public ISelection getSelection()
Description copied from interface: ISelectionProvider
Returns the current selection for this provider.

Specified by:
getSelection in interface ISelectionProvider
Returns:
the current selection

isImportant

protected boolean isImportant(IWorkbenchPart part)
Description copied from class: PageBookView
Returns whether the given part should be added to this view.

Subclasses must implement this method.

Specified by:
isImportant in class PageBookView
Parameters:
part - the input part
Returns:
true if the part is relevant, and false otherwise

partBroughtToTop

public void partBroughtToTop(IWorkbenchPart part)
Description copied from class: PageBookView
The PageBookView implementation of this IPartListener method does nothing. Subclasses may extend.

Specified by:
partBroughtToTop in interface IPartListener
Overrides:
partBroughtToTop in class PageBookView
Parameters:
part - the part that was surfaced
See Also:
IPerspective#bringToTop

removeSelectionChangedListener

public void removeSelectionChangedListener(ISelectionChangedListener listener)
Description copied from interface: ISelectionProvider
Removes the given selection change listener from this selection provider. Has no affect if an identical listener is not registered.

Specified by:
removeSelectionChangedListener in interface ISelectionProvider
Parameters:
listener - a selection changed listener

selectionChanged

public void selectionChanged(SelectionChangedEvent event)
Description copied from interface: ISelectionChangedListener
Notifies that the selection has changed.

Specified by:
selectionChanged in interface ISelectionChangedListener
Parameters:
event - event object describing the change

setSelection

public void setSelection(ISelection selection)
Description copied from interface: ISelectionProvider
Sets the current selection for this selection provider.

Specified by:
setSelection in interface ISelectionProvider
Parameters:
selection - the new selection

showPageRec

protected void showPageRec(PageBookView.PageRec pageRec)
The ContentOutline implementation of this PageBookView method extends the behavior of its parent to use the current page as a selection provider.

Overrides:
showPageRec in class PageBookView
Parameters:
pageRec - the page record containing the page to show

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.