Eclipse Platform
Release 3.1

org.eclipse.ui.intro.config
Class CustomizableIntroPart

java.lang.Object
  extended byorg.eclipse.ui.part.IntroPart
      extended byorg.eclipse.ui.intro.config.CustomizableIntroPart
All Implemented Interfaces:
EventListener, IAdaptable, IExecutableExtension, org.eclipse.ui.internal.intro.impl.IIntroConstants, IIntroPart, IRegistryChangeListener

public final class CustomizableIntroPart
extends IntroPart
implements org.eclipse.ui.internal.intro.impl.IIntroConstants, IRegistryChangeListener

A re-usable intro part that the Eclipse platform uses for its Out of the Box Experience. It is a customizable intro part where both its presentation, and its content can be customized based on a configuration. Both are contributed using the org.eclipse.ui.intro.config extension point. There are two presentations: an SWT browser based presentation, and a UI forms presentation. Based on the configuration, one is chosen on startup. If a Browser based presentation is selected, and the intro is being loaded on a platform that does not support the SWT Browser control, the default behavior is to degrade to UI forms presentation. Content displayed in this intro part can be static or dynamic. Static is html files, dynamic is markup in content files. Again, both of which can be specified using the above extension point.

Memento Support: This intro part tries to restore its presvious state when possible. The state of the intro page is remembered, along with which standby content content part was opened. IStandbyContent parts are passed the Intro's memento shortly after construction, and are expected to restore there own state based on the momento. The customizable intro part handles there initial creation on load, and leaves restoring state to content part. Same with saving state. The memento is paased shortlt before shutdown to enable storing of part specific data. Note: This class was made public for re-use, as-is, as a valid class for the org.eclipse.ui.intro extension point. It is not intended to be subclassed or used otheriwse.

Since:
3.0

Field Summary
 
Fields inherited from interface org.eclipse.ui.internal.intro.impl.IIntroConstants
EMPTY_STANDBY_CONTENT_PART, INTRO, INTRO_LINK, MEMENTO_CURRENT_PAGE_ATT, MEMENTO_PRESENTATION_TAG, MEMENTO_RESTORE_ATT, MEMENTO_STANDBY_CONTENT_PART_ID_ATT, MEMENTO_STANDBY_CONTENT_PART_TAG, MEMENTO_STANDBY_PART_TAG, PAGE_SUBTITLE, PERF_SET_STANDBY_STATE, PERF_UI_ZOOM, PERF_VIEW_CREATION_TIME, PLUGIN_ID, PREFIX, SHOW_STANDBY_PART
 
Fields inherited from interface org.eclipse.ui.intro.IIntroPart
PROP_TITLE
 
Constructor Summary
CustomizableIntroPart()
           
 
Method Summary
 void createPartControl(Composite parent)
          Creates the UI based on how the InroPart has been configured.
 void dispose()
          The IntroPart implementation of this IIntroPart method disposes the title image loaded by setInitializationData.
 Control getControl()
          Returns the primary control associated with this Intro part.
 void init(IIntroSite site, IMemento memento)
          The base implementation of this IIntroPartmethod ignores the memento and initializes the part in a fresh state.
 void registryChanged(IRegistryChangeEvent event)
          Support dynamic awarness.
 void saveState(IMemento memento)
          The base implementation of this IIntroPart method does nothing.
 void setFocus()
          Asks this part to take focus within the workbench.
 void standbyStateChanged(boolean standby)
          Sets the standby state of this intro part.
 
Methods inherited from class org.eclipse.ui.part.IntroPart
addPropertyListener, firePropertyChange, getAdapter, getConfigurationElement, getDefaultImage, getIntroSite, getTitleImage, removePropertyListener, setInitializationData, setSite, setTitleImage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CustomizableIntroPart

public CustomizableIntroPart()
Method Detail

init

public void init(IIntroSite site,
                 IMemento memento)
          throws PartInitException
Description copied from class: IntroPart
The base implementation of this IIntroPartmethod ignores the memento and initializes the part in a fresh state. Subclasses may extend to perform any state restoration, but must call the super method.

Specified by:
init in interface IIntroPart
Overrides:
init in class IntroPart
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

createPartControl

public void createPartControl(Composite parent)
Creates the UI based on how the InroPart has been configured.

Specified by:
createPartControl in interface IIntroPart
Specified by:
createPartControl in class IntroPart
See Also:
IWorkbenchPart.createPartControl(org.eclipse.swt.widgets.Composite)

standbyStateChanged

public void standbyStateChanged(boolean standby)
Description copied from interface: IIntroPart
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.

Specified by:
standbyStateChanged in interface IIntroPart
Parameters:
standby - true to put this part in its partially visible standy mode, and false to make it fully visible

setFocus

public void setFocus()
Description copied from interface: IIntroPart
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).

Specified by:
setFocus in interface IIntroPart
Specified by:
setFocus in class IntroPart

dispose

public void dispose()
Description copied from class: IntroPart
The IntroPart implementation of this IIntroPart method disposes the title image loaded by setInitializationData. Subclasses may extend.

Specified by:
dispose in interface IIntroPart
Overrides:
dispose in class IntroPart

getControl

public Control getControl()
Returns the primary control associated with this Intro part.

Returns:
the SWT control which displays this Intro part's content, or null if this standby part's controls have not yet been created.

saveState

public void saveState(IMemento memento)
Description copied from class: IntroPart
The base implementation of this IIntroPart method does nothing. Subclasses may override.

Specified by:
saveState in interface IIntroPart
Overrides:
saveState in class IntroPart
Parameters:
memento - a memento to receive the object state

registryChanged

public void registryChanged(IRegistryChangeEvent event)
Support dynamic awarness.

Specified by:
registryChanged in interface IRegistryChangeListener
Parameters:
event - the registry change event
See Also:
IRegistryChangeListener.registryChanged(org.eclipse.core.runtime.IRegistryChangeEvent)

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.