Interface IIntroPart

All Superinterfaces:
IAdaptable
All Known Implementing Classes:
CustomizableIntroPart, IntroPart

public interface IIntroPart extends IAdaptable
The intro part is a visual component within the workbench responsible for introducing the product to new users. The intro part is typically shown the first time a product is started up.

The intro part implementation is contributed to the workbench via the org.eclipse.ui.intro extension point. There can be several intro part implementations, and associations between intro part implementations and products. The workbench will only make use of the intro part implementation for the current product (as given by Platform.getProduct(). There is at most one intro part instance in the entire workbench, and it resides in exactly one workbench window at a time.

This interface in not intended to be directly implemented. Rather, clients providing a intro part implementation should subclass IntroPart.

Since:
3.0
See Also:
Restriction:
This interface is not intended to be implemented by clients.
  • Field Details

    • PROP_TITLE

      static final int PROP_TITLE
      The property id for getTitleImage and getTitle.
      Since:
      3.2 this property now covers changes to getTitle in addition to getTitleImage
      See Also:
  • Method Details

    • getIntroSite

      IIntroSite getIntroSite()
      Returns the site for this intro part.
      Returns:
      the intro site
    • init

      void init(IIntroSite site, IMemento memento) throws PartInitException
      Initializes this intro part with the given intro site. A memento is passed to the part which contains a snapshot of the part state from a previous session. Where possible, the part should try to recreate that state.

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

      Parameters:
      site - the intro site
      memento - the intro part state or null if there is no previous saved state
      Throws:
      PartInitException - if this part was not initialized successfully
    • standbyStateChanged

      void standbyStateChanged(boolean standby)
      Sets the standby state of this intro part. An intro part should render itself differently in the full and standby modes. In standby mode, the part should be partially visible to the user but otherwise allow them to work. In full mode, the part should be fully visible and be the center of the user's attention.

      This method is automatically called by the workbench at appropriate times. Clients must not call this method directly (call IIntroManager.setIntroStandby(IIntroPart, boolean) instead.

      Parameters:
      standby - true to put this part in its partially visible standy mode, and false to make it fully visible
    • saveState

      void saveState(IMemento memento)
      Saves the object state within a memento.

      This method is automatically called by the workbench at appropriate times. Clients must not call this method directly.

      Parameters:
      memento - a memento to receive the object state
    • addPropertyListener

      void addPropertyListener(IPropertyListener listener)
      Adds a listener for changes to properties of this intro part. Has no effect if an identical listener is already registered.

      The properties ids are as follows:

      • IIntroPart.PROP_TITLE
      Parameters:
      listener - a property listener
    • createPartControl

      void createPartControl(Composite parent)
      Creates the SWT controls for this intro part.

      Clients should not call this method (the workbench calls this method when it needs to, which may be never).

      For implementors this is a multi-step process:

      1. Create one or more controls within the parent.
      2. Set the parent layout as needed.
      3. Register any global actions with the IActionService.
      4. Register any popup menus with the IActionService.
      5. Register a selection provider with the ISelectionService (optional).
      Parameters:
      parent - the parent control
    • dispose

      void dispose()
      Disposes of this intro part.

      This is the last method called on the IIntroPart. At this point the part controls (if they were ever created) have been disposed as part of an SWT composite. There is no guarantee that createPartControl() has been called, so the part controls may never have been created.

      Within this method a part may release any resources, fonts, images, etc.  held by this part. It is also very important to deregister all listeners from the workbench.

      Clients should not call this method (the workbench calls this method at appropriate times).

    • getTitleImage

      Image getTitleImage()
      Returns the title image of this intro part. If this value changes the part must fire a property listener event with PROP_TITLE.

      The title image is usually used to populate the title bar of this part's visual container. Since this image is managed by the part itself, callers must not dispose the returned image.

      Returns:
      the title image
    • getTitle

      String getTitle()
      Returns the title of this intro part. If this value changes the part must fire a property listener event with PROP_TITLE.

      The title is used to populate the title bar of this part's visual container.

      Returns:
      the intro part title (not null)
      Since:
      3.2
    • removePropertyListener

      void removePropertyListener(IPropertyListener listener)
      Removes the given property listener from this intro part. Has no effect if an identical listener is not registered.
      Parameters:
      listener - a property listener
    • setFocus

      void setFocus()
      Asks this part to take focus within the workbench.

      Clients should not call this method (the workbench calls this method at appropriate times). To have the workbench activate a part, use IIntroManager.showIntro(IWorkbenchWindow, boolean).