blob: 997923c300814ceffedeef6021418a93205a582f [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ui">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.ui" id="splashHandlers" name="Splash Handlers"/>
</appInfo>
<documentation>
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;splashHandler&lt;/code&gt; element) and a product binding (represented by a &lt;code&gt;splashHandlerProductBinding&lt;/code&gt; element).&lt;/p&gt;
&lt;p&gt;The splash life cycle is as follows:
&lt;ul&gt;
&lt;li&gt;Eclipse process is launched&lt;/li&gt;
&lt;li&gt;Eclipse launches a native executable that creates the initial splash window (including bitmap)&lt;/li&gt;
&lt;li&gt;OSGi starts&lt;/li&gt;
&lt;li&gt;Workbench starts&lt;/li&gt;
&lt;li&gt;Workbench finds the splash handler suitable for this product and creates it&lt;/li&gt;
&lt;li&gt;init(Shell) is called on the handler&lt;/li&gt;
&lt;li&gt;Workbench initializes and spins the event loop at regular intervals&lt;/li&gt;
&lt;li&gt;Workbench advertises the completion of startup and the dispose() method is invoked on the handler&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</documentation>
</annotation>
<element name="extension">
<complexType>
<sequence>
<element ref="splashHandler" minOccurs="0" maxOccurs="unbounded"/>
<element ref="splashHandlerProductBinding" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="splashHandler">
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
a unique name that will be used to identify this splash handler.
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
a class that extends &lt;code&gt;org.eclipse.ui.splash.AbstractSplashHandler&lt;/code&gt; or &lt;code&gt;org.eclipse.ui.splash.BasicSplashHandler&lt;/code&gt;.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.ui.splash.AbstractSplashHandler"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="splashHandlerProductBinding">
<complexType>
<attribute name="splashId" type="string" use="required">
<annotation>
<documentation>
unique id of a splash handler
</documentation>
</annotation>
</attribute>
<attribute name="productId" type="string" use="required">
<annotation>
<documentation>
unique id of a product
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
Since 3.3
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
The following is an example of this extension point:
&lt;p&gt;
&lt;pre&gt;
&lt;extension
point=&quot;org.eclipse.ui.splashHandlers&quot;&gt;
&lt;splashHandler
class=&quot;com.xyz.splash.Handler&quot;
id=&quot;com.xyz.splash&quot;&gt;
&lt;/splashHandler&gt;
&lt;splashHandlerProductBinding
productId=&quot;com.xyz.product&quot;
splashId=&quot;com.xyz.splash&quot;&gt;
&lt;/splashHandlerProductBinding&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be a fully qualified name of the class that extends &lt;samp&gt;org.eclipse.ui.splash.AbstractSplashHandler&lt;/samp&gt;. It is common practice to subclass &lt;samp&gt;org.eclipse.ui.splash.BasicSplashHandler&lt;/samp&gt; if the standard progress reporting is desired.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
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 &lt;samp&gt;org.eclipse.ui.branding.IProductConstants&lt;/samp&gt; and will display a progress bar and message area at specified locations in specified colors.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2007 IBM Corporation and others.&lt;br&gt;
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 &lt;a
href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
</documentation>
</annotation>
</schema>