Class CustomizableIntroPart
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.ui.part.IntroPart
-
- org.eclipse.ui.intro.config.CustomizableIntroPart
-
- All Implemented Interfaces:
EventListener,IAdaptable,IExecutableExtension,IRegistryChangeListener,IIntroPart
public final class CustomizableIntroPart extends IntroPart implements 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 previous 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 memento. The customizable intro part handles there initial creation on load, and leaves restoring state to content part. Same with saving state. The memento is passed shortly 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.introextension point. It is not intended to be subclassed or used otherwise.- Since:
- 3.0
-
-
Field Summary
-
Fields inherited from interface org.eclipse.ui.intro.IIntroPart
PROP_TITLE
-
-
Constructor Summary
Constructors Constructor Description CustomizableIntroPart()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcreatePartControl(Composite parent)Creates the UI based on how the InroPart has been configured.voiddispose()TheIntroPartimplementation of thisIIntroPartmethod disposes the title image loaded bysetInitializationData.ControlgetControl()Returns the primary control associated with this Intro part.voidinit(IIntroSite site, IMemento memento)The base implementation of thisIIntroPartmethod ignores the memento and initializes the part in a fresh state.booleaninternal_isFinishedLoading()voidregistryChanged(IRegistryChangeEvent event)Support dynamic awarness.voidsaveState(IMemento memento)The base implementation of thisIIntroPartmethod does nothing.voidsetFocus()Asks this part to take focus within the workbench.voidstandbyStateChanged(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, getTitle, getTitleImage, removePropertyListener, setInitializationData, setSite, setTitle, setTitleImage
-
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
-
-
-
-
Method Detail
-
init
public void init(IIntroSite site, IMemento memento) throws PartInitException
Description copied from class:IntroPartThe base implementation of thisIIntroPartmethod 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:
initin interfaceIIntroPart- Overrides:
initin classIntroPart- Parameters:
site- the intro sitememento- the intro part state ornullif 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:
createPartControlin interfaceIIntroPart- Specified by:
createPartControlin classIntroPart- Parameters:
parent- the parent control- See Also:
IWorkbenchPart.createPartControl(org.eclipse.swt.widgets.Composite)
-
standbyStateChanged
public void standbyStateChanged(boolean standby)
Description copied from interface:IIntroPartSets 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:
standbyStateChangedin interfaceIIntroPart- Parameters:
standby-trueto put this part in its partially visible standy mode, andfalseto make it fully visible
-
setFocus
public void setFocus()
Description copied from interface:IIntroPartAsks 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:
setFocusin interfaceIIntroPart- Specified by:
setFocusin classIntroPart
-
dispose
public void dispose()
Description copied from class:IntroPartTheIntroPartimplementation of thisIIntroPartmethod disposes the title image loaded bysetInitializationData. Subclasses may extend.- Specified by:
disposein interfaceIIntroPart- Overrides:
disposein classIntroPart
-
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
nullif this standby part's controls have not yet been created.
-
saveState
public void saveState(IMemento memento)
Description copied from class:IntroPartThe base implementation of thisIIntroPartmethod does nothing. Subclasses may override.- Specified by:
saveStatein interfaceIIntroPart- Overrides:
saveStatein classIntroPart- Parameters:
memento- a memento to receive the object state
-
registryChanged
public void registryChanged(IRegistryChangeEvent event)
Support dynamic awarness.- Specified by:
registryChangedin interfaceIRegistryChangeListener- Parameters:
event- the registry change event- See Also:
IRegistryChangeListener.registryChanged(org.eclipse.core.runtime.IRegistryChangeEvent)
-
internal_isFinishedLoading
public boolean internal_isFinishedLoading()
-
-