Splash Handlers
Identifier:
org.eclipse.ui.splashHandlers
Since:
Since 3.3
Description:
This extension point allows for the contribution of splash handlers. These splash handlers may contribute custom behavior to the splash screen that appears during the start-up procedure that may include (but is not limited to) custom graphics and animation, custom progress reporting, and interactive behaviors.
It is possible to have only one splash handler active at a given time and the decision of which handler to choose from comes down to a product binding. As such, when defining a splash handler you must create two elements in your extension: the definition of the splash handler (represented by a splashHandler
element) and a product binding (represented by a splashHandlerProductBinding
element).
The splash life cycle is as follows:
- Eclipse process is launched
- Eclipse launches a native executable that creates the initial splash window (including bitmap)
- OSGi starts
- Workbench starts
- Workbench finds the splash handler suitable for this product and creates it
- init(Shell) is called on the handler
- Workbench initializes and spins the event loop at regular intervals
- Workbench advertises the completion of startup and the dispose() method is invoked on the handler
Configuration Markup:
<!ELEMENT extension (
splashHandler* ,
splashHandlerProductBinding*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
<!ELEMENT splashHandler EMPTY>
<!ATTLIST splashHandler
id CDATA #REQUIRED
class CDATA #REQUIRED
>
-
id - a unique name that will be used to identify this splash handler.
-
class - a class that extends
org.eclipse.ui.splash.AbstractSplashHandler
or org.eclipse.ui.splash.BasicSplashHandler
.
<!ELEMENT splashHandlerProductBinding EMPTY>
<!ATTLIST splashHandlerProductBinding
splashId CDATA #REQUIRED
productId CDATA #REQUIRED
>
-
splashId - unique id of a splash handler
-
productId - unique id of a product
Examples:
The following is an example of this extension point:
<extension
point=
"org.eclipse.ui.splashHandlers"
>
<splashHandler
class=
"com.xyz.splash.Handler"
id=
"com.xyz.splash"
>
</splashHandler>
<splashHandlerProductBinding
productId=
"com.xyz.product"
splashId=
"com.xyz.splash"
>
</splashHandlerProductBinding>
</extension>
Supplied Implementation:
In the absence of a product-bound handler described by an extension of this type the default Eclipse splash is used. This splash is driven by product constants defined in
org.eclipse.ui.branding.IProductConstants and will display a progress bar and message area at specified locations in specified colors.
Copyright (c) 2007 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at https://www.eclipse.org/legal/epl-v10.html