BlueBerry
A modular, cross-platform, C++ application framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
berry::IViewPart Struct Reference

#include <berryIViewPart.h>

+ Inheritance diagram for berry::IViewPart:
+ Collaboration diagram for berry::IViewPart:

List of all members.

Public Member Functions

 berryInterfaceMacro (IViewPart, berry) virtual ~IViewPart()
virtual IViewSite::Pointer GetViewSite ()=0
virtual void Init (IViewSite::Pointer site, IMemento::Pointer memento=IMemento::Pointer(0))=0
virtual void SaveState (IMemento::Pointer memento)=0

Detailed Description

A view is a visual component within a workbench page. It is typically used to navigate a hierarchy of information (like the workspace), open an editor, or display properties for the active editor. Modifications made in a view are saved immediately (in contrast to an editor part, which conforms to a more elaborate open-save-close lifecycle).

Only one instance of a particular view type may exist within a workbench page. This policy is designed to simplify part management for a user.

This interface may be implemented directly. For convenience, a base implementation is defined in ViewPart.

A view is added to the workbench in two steps:

  1. A view extension is contributed to the workbench registry. This extension defines the extension id and extension class.
  2. The view is included in the default layout for a perspective. Alternatively, the user may open the view from the Perspective menu.

Views implement the IAdaptable interface; extensions are managed by the platform's adapter manager.

As of 3.4, views may optionally adapt to ISizeProvider if they have a preferred size. The default presentation will make a best effort to allocate the preferred size to a view if it is the only part in a stack. If there is more than one part in the stack, the constraints will be disabled for that stack. The size constraints are adjusted for the size of the tab and border trim. Note that this is considered to be a hint to the presentation, and not all presentations may honor size constraints.

See also:
IWorkbenchPage::showView
org.blueberry.ui.part.ViewPart
ISizeProvider

Definition at line 74 of file berryIViewPart.h.


Member Function Documentation

Returns the site for this view. This method is equivalent to (IViewSite) getSite().

The site can be null while the view is being initialized. After the initialization is complete, this value must be non-null for the remainder of the view's life cycle.

Returns:
the view site; this value may be null if the view has not yet been initialized

Implemented in berry::ViewPart.

virtual void berry::IViewPart::Init ( IViewSite::Pointer  site,
IMemento::Pointer  memento = IMemento::Pointer(0) 
) [pure virtual]

Initializes this view with the given view site. A memento is passed to the view which contains a snapshot of the views state from a previous session. Where possible, the view should try to recreate that state within the part controls.

This method is automatically called by the workbench shortly after the part is instantiated. It marks the start of the views's lifecycle. Clients must not call this method.

Parameters:
sitethe view site
mementothe IViewPart state or null if there is no previous saved state
Exceptions:
PartInitExceptionif this view was not initialized successfully

Implemented in berry::ViewIntroAdapterPart, berry::ViewPart, and berry::ObjectBrowserView.

virtual void berry::IViewPart::SaveState ( IMemento::Pointer  memento) [pure virtual]

Saves the object state within a memento.

Parameters:
mementoa memento to receive the object state

Implemented in berry::ViewIntroAdapterPart, berry::ViewPart, and berry::ObjectBrowserView.


The documentation for this struct was generated from the following file: