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.intro
extension 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 void
createPartControl(Composite parent)
Creates the UI based on how the InroPart has been configured.void
dispose()
TheIntroPart
implementation of thisIIntroPart
method disposes the title image loaded bysetInitializationData
.Control
getControl()
Returns the primary control associated with this Intro part.void
init(IIntroSite site, IMemento memento)
The base implementation of thisIIntroPart
method ignores the memento and initializes the part in a fresh state.boolean
internal_isFinishedLoading()
void
registryChanged(IRegistryChangeEvent event)
Support dynamic awarness.void
saveState(IMemento memento)
The base implementation of thisIIntroPart
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, 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:IntroPart
The base implementation of thisIIntroPart
method 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 interfaceIIntroPart
- Overrides:
init
in classIntroPart
- Parameters:
site
- the intro sitememento
- the intro part state ornull
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 interfaceIIntroPart
- Specified by:
createPartControl
in 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: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 interfaceIIntroPart
- Parameters:
standby
-true
to put this part in its partially visible standy mode, andfalse
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 interfaceIIntroPart
- Specified by:
setFocus
in classIntroPart
-
dispose
public void dispose()
Description copied from class:IntroPart
TheIntroPart
implementation of thisIIntroPart
method disposes the title image loaded bysetInitializationData
. Subclasses may extend.- Specified by:
dispose
in interfaceIIntroPart
- Overrides:
dispose
in 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
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 thisIIntroPart
method does nothing. Subclasses may override.- Specified by:
saveState
in interfaceIIntroPart
- Overrides:
saveState
in classIntroPart
- Parameters:
memento
- a memento to receive the object state
-
registryChanged
public void registryChanged(IRegistryChangeEvent event)
Support dynamic awarness.- Specified by:
registryChanged
in interfaceIRegistryChangeListener
- Parameters:
event
- the registry change event- See Also:
IRegistryChangeListener.registryChanged(org.eclipse.core.runtime.IRegistryChangeEvent)
-
internal_isFinishedLoading
public boolean internal_isFinishedLoading()
-
-