Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Muskalla2008-04-18 10:46:45 +0000
committerBenjamin Muskalla2008-04-18 10:46:45 +0000
commit2d240b2b9e0810509f112c4f8054baed58b47520 (patch)
tree8e14c4a21ec82978f631e5224edbc5dafcdda236 /bundles/org.eclipse.rap.ui/schema
parent6a799451aede964174736a4b255d7ad03133616e (diff)
downloadorg.eclipse.rap-2d240b2b9e0810509f112c4f8054baed58b47520.tar.gz
org.eclipse.rap-2d240b2b9e0810509f112c4f8054baed58b47520.tar.xz
org.eclipse.rap-2d240b2b9e0810509f112c4f8054baed58b47520.zip
added rap specific extension points
Diffstat (limited to 'bundles/org.eclipse.rap.ui/schema')
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/adapterfactory.exsd109
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/branding.exsd311
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd148
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/phaselistener.exsd105
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/resources.exsd120
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd163
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/themeableWidgets.exsd150
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/themes.exsd140
8 files changed, 1246 insertions, 0 deletions
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/adapterfactory.exsd b/bundles/org.eclipse.rap.ui/schema/rap/adapterfactory.exsd
new file mode 100644
index 0000000000..b766b51174
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/adapterfactory.exsd
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="adapterfactory" name="AdapterFactory"/>
+ </appInfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence>
+ <element ref="factory" minOccurs="1" 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="factory">
+ <complexType>
+ <attribute name="factoryClass" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="adaptableClass" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/branding.exsd b/bundles/org.eclipse.rap.ui/schema/rap/branding.exsd
new file mode 100644
index 0000000000..a9ec2a7618
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/branding.exsd
@@ -0,0 +1,311 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="branding" name="Branding"/>
+ </appInfo>
+ <documentation>
+ The branding extension points allows you to have a RCP-like branding functionality but with additional aspects regarding web applications. You can specify values for the used servlet name or the favicon. Additionally you&apos;re able to group entrypoints together to one branding which helps you to brand external entrypoints.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element ref="branding"/>
+ </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="branding">
+ <annotation>
+ <appInfo>
+ <meta.element labelAttribute="title"/>
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="additionalHeaders" minOccurs="0" maxOccurs="1"/>
+ <element ref="associatedEntrypoints" minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ The identifier of the branding with which it should be associated.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="servletName" type="string">
+ <annotation>
+ <documentation>
+ The name of the servlet on which the application should be available. Defining this attribute will cause your application to be available at http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/&amp;lt;servletName&amp;gt;.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="defaultEntrypointId" type="string">
+ <annotation>
+ <documentation>
+ To not have an application-wide entrypoint you can define a default entrypoint per branding. Having an URI like http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/&amp;lt;servletName&amp;gt; will automatically start the server with the entrypoint you defined here.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="themeId" type="string">
+ <annotation>
+ <documentation>
+ To have the right look &amp;amp; feel for your application you can define the theme which should be used here.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="title" type="string">
+ <annotation>
+ <documentation>
+ The title attribute is responsible for the title of the RAP application. This will show up in the browser window or as title of the tab in the browser.
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="favicon" type="string">
+ <annotation>
+ <documentation>
+ If you have a logo or something for your web application you put its path here so it can be displayed as icon in the browser near the adressbar or in the favourites. Be sure you specify a file in the .ico format as most browsers don&apos;t accept other image types as favicons.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="body" type="string">
+ <annotation>
+ <documentation>
+ You can define any valid html file to be used as body of the RAP startup page. You can put whatever you want in it as long as it does not break the page.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="exitConfirmation" type="string">
+ <annotation>
+ <documentation>
+ The attribute &quot;exitConfirmation&quot; gives you the ability to set a message which will be shown when the user tries to close your application. This can happen when the browser is closed or the user just navigates to another URI.
+&lt;p&gt;
+&lt;b&gt;NOTE:&lt;/b&gt;
+This will only work in browsers of the Mozilla family and Internet Explorer.
+&lt;/p&gt;
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="additionalHeaders">
+ <annotation>
+ <documentation>
+ Any additional header which should be added to the page.
+ </documentation>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <choice>
+ <element ref="meta"/>
+ <element ref="link"/>
+ </choice>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="meta">
+ <annotation>
+ <documentation>
+ Meta elements are elements used to provide structured metadata about a web page like author, keywords, description.
+ </documentation>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <element ref="attribute"/>
+ </sequence>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ The name attribute of the meta tag.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="content" type="string">
+ <annotation>
+ <documentation>
+ The content attribute of the meta tag.
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="attribute">
+ <annotation>
+ <documentation>
+ Attributes are used to provide additional informations for HTML tags.
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="name" type="string" use="required">
+ <annotation>
+ <documentation>
+ The name of the attribute.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="value" type="string">
+ <annotation>
+ <documentation>
+ The value of the attribute.
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="link">
+ <annotation>
+ <documentation>
+ Link elements are elements used link the webpage with external resources like CSS style sheets.
+ </documentation>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <element ref="attribute"/>
+ </sequence>
+ <attribute name="rel" type="string">
+ <annotation>
+ <documentation>
+ The rel attribute of the meta tag.
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="associatedEntrypoints">
+ <annotation>
+ <documentation>
+ Defines all entrypoints which are allowed the started with this branding (or servletName). If there are now entrypoints defined in this branding every entrypoint is allowed to be started.
+ </documentation>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element ref="entrypoint"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="entrypoint">
+ <annotation>
+ <appInfo>
+ <meta.element labelAttribute="id"/>
+ </appInfo>
+ <documentation>
+ An element which references to an existing entrypoint defined by &lt;code&gt;org.eclipse.rap.ui.entrypoint&lt;/code&gt;.
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+ The id of the referenced entrypoint extension.
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ RAP 1.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ &lt;pre&gt;
+&lt;extension
+ point=&quot;org.eclipse.rap.ui.branding&quot;&gt;
+ &lt;branding
+ id=&quot;org.eclipse.rap.demo.teabranding&quot;
+ servletName=&quot;tea&quot;
+ defaultEntrypointId=&quot;org.eclipse.rap.demo.anentrypoint&quot;
+ themeId=&quot;org.eclipse.rap.demo.alttheme&quot;
+ title=&quot;It&amp;apos;s tea-time&quot;
+ favicon=&quot;icons/favicon2.ico&quot;
+ body=&quot;body.html&quot;
+ exitConfirmation=&quot;Do you really want to leave the party?&quot;&gt;
+ &lt;/branding&gt;
+&lt;/extension&gt;
+&lt;/pre&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ There is no API available for branding.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2007 Innoopract Informationssysteme GmbH 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>
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd b/bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd
new file mode 100644
index 0000000000..f995b72552
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/entrypoint.exsd
@@ -0,0 +1,148 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="entrypoint" name="EntryPoint"/>
+ </appInfo>
+ <documentation>
+ A major difference between RCP and RAP is the way an application is started. With regular SWT applications you would use the &lt;code&gt;main(String[] args)&lt;/code&gt; method, in RCP an implementation of &lt;code&gt;IApplication&lt;/code&gt;. AS RAP uses a life cycle to control the application startup the application needs an &lt;code&gt;IEntrypoint&lt;/code&gt; implementation which does mostly the same as &lt;code&gt;IApplication&lt;/code&gt;. The difference is that we need to do not dispose the display but return it to RAP in the &lt;code&gt;createUI&lt;/code&gt; method. There can be several entrypoints for the same application which are distinguished by a paramter in the URI for this application like &lt;code&gt;&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/rap?startup=&amp;lt;entrypointname&amp;gt;&lt;/code&gt;.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence>
+ <element ref="entrypoint" minOccurs="1" 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="entrypoint">
+ <annotation>
+ <appInfo>
+ <meta.element labelAttribute="parameter"/>
+ </appInfo>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ The identifier of this entrypoint. Used in &lt;code&gt;org.eclipse.rap.ui.branding&lt;/code&gt; extension point.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ An implementation of &lt;code&gt;IEntryPoint&lt;/code&gt; which starts the application.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.rwt.lifecycle.IEntryPoint"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="parameter" type="string" use="required">
+ <annotation>
+ <documentation>
+ The name which should be used from outside in the URI.
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ RAP 1.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ &lt;pre&gt;
+&lt;extension
+ id=&quot;org.eclipse.rap.demo.demoentrypoint&quot;
+ point=&quot;org.eclipse.rap.ui.entrypoint&quot;&gt;
+ &lt;entrypoint
+ id=&quot;org.eclipse.rap.demo.entrypoint&quot;
+ class=&quot;org.eclipse.rap.demo.MyAppEntrypoint&quot;
+ parameter=&quot;myapp&quot;/&gt;
+ &lt;/extension&gt;
+&lt;/pre&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ Each entrypoint has to implement the &lt;code&gt;IEntryPoint&lt;/code&gt; interface. There is no API to register entrypoints on the fly. An entrypoint for a regular RCP application could look like this:
+
+&lt;pre&gt;
+public class MyAppEntrypoint implements IEntryPoint {
+
+ public Display createUI() {
+ Display display = PlatformUI.createDisplay();
+ PlatformUI.createAndRunWorkbench( display, new ApplicationWorkbenchAdvisor() );
+ return display;
+ }
+}
+&lt;/pre&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2007 Innoopract Informationssysteme GmbH 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>
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/phaselistener.exsd b/bundles/org.eclipse.rap.ui/schema/rap/phaselistener.exsd
new file mode 100644
index 0000000000..ead379951a
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/phaselistener.exsd
@@ -0,0 +1,105 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="phaselistener" name="PhaseListener"/>
+ </appInfo>
+ <documentation>
+ [Enter description of this extension point.]
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence>
+ <element ref="listener" minOccurs="1" 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="listener">
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.rwt.lifecycle.PhaseListener"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ [Enter the first release in which this extension point appears.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/resources.exsd b/bundles/org.eclipse.rap.ui/schema/rap/resources.exsd
new file mode 100644
index 0000000000..9de2b020d6
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/resources.exsd
@@ -0,0 +1,120 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="resources" name="Resources"/>
+ </appInfo>
+ <documentation>
+ The &lt;code&gt;resources&lt;/code&gt; extension point is used to register additional resources which are used in the client application. This can be for example a javascript library, additional images used by the client or other documents which are then available on the client. The resource can be located locally or loaded from an external location.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence>
+ <element ref="resource" minOccurs="1" 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="resource">
+ <annotation>
+ <appInfo>
+ <meta.element labelAttribute="class"/>
+ </appInfo>
+ </annotation>
+ <complexType>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ An implementation of &lt;code&gt;org.eclipse.rwt.resources.IResource&lt;/code&gt; to define location, options and other aspects for this resource.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.rwt.resources.IResource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ RAP 1.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ &lt;pre&gt;
+&lt;extension
+ id=&quot;org.eclipse.rap.gmaps.gmap&quot;
+ point=&quot;org.eclipse.rap.ui.resources&quot;&gt;
+ &lt;resource class=&quot;org.eclipse.rap.gmaps.GMapResource&quot;/&gt;
+&lt;/extension&gt;
+&lt;/pre&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ Besides registering resources with an extension you can dynamically register new resources with an &lt;code&gt;IResourceManager&lt;/code&gt;. Use &lt;code&gt;RWT.getResourceManager&lt;/code&gt; to obtain the currently active resource manager implemenation.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2007 Innoopract Informationssysteme GmbH 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>
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd b/bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd
new file mode 100644
index 0000000000..9b8de07399
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/settingstores.exsd
@@ -0,0 +1,163 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="settingstores" name="Setting Stores"/>
+ </appInfo>
+ <documentation>
+ This extension point allows developers to contribute additional &lt;code&gt;ISettingStore&lt;/code&gt; instances.
+&lt;p&gt;
+An &lt;code&gt;ISettingStore&lt;/code&gt; provides persistent storage for settings (key value pairs of Strings), which are then available beyond the scope of a single session. An &lt;code&gt;ISettingStoreFactory&lt;/code&gt; is responsible for creating a particular kind of &lt;code&gt;ISettingStore&lt;/code&gt;.
+&lt;p&gt;
+Developers that want to implement their own setting store must provide a setting store factory and register it with the framework using this extension point.
+&lt;p&gt;
+Note that at runtime only &lt;b&gt;one&lt;/b&gt; (out of all available) factories will be used to create new &lt;code&gt;ISettingStore&lt;/code&gt; instances. Which factory is used can be controlled in two ways:
+&lt;ul&gt;
+&lt;li&gt;In a normal RAP deployment you can specify the factory to be used by placing the following property in the OSGi config.ini file: &lt;code&gt;org.eclipse.rwt.settingStoreFactory=&lt;i&gt;id&lt;/i&gt;&lt;/code&gt; where &lt;i&gt;id&lt;/i&gt; identifies a particular factory element. Example:
+&lt;pre&gt;
+org.eclipse.rwt.settingStoreFactory=file
+&lt;/pre&gt;
+&lt;/li&gt;
+&lt;li&gt;In an RWT-only deployment you can specify the factory to be used by placing the following snippet in the web.xml file:&lt;br&gt;
+&lt;pre&gt;
+&lt;init-param&gt;
+ &lt;param-name&gt;org.eclipse.rwt.settingStoreFactory&lt;/param-name&gt;
+ &lt;param-value&gt;org.eclipse.rwt.service.RWTFileSettingStoreFactory&lt;/param-value&gt;
+&lt;/init-param&gt;
+&lt;/pre&gt;
+&lt;li&gt;If nothing is specified, the class &lt;code&gt;WorkbenchFileSettingStoreFactory&lt;/code&gt; will be used in a regular RAP deployment. In an RWT only deployment the class &lt;code&gt;RWTFileSettingStoreFactory&lt;/code&gt; will be used instead.&lt;/li&gt;
+&lt;/ul&gt;
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <element ref="factory"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+ a fully qualified identifier of the target extension point
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+ an optional identifier of the extension instance
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ an optional name of the extension instance
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="factory">
+ <annotation>
+ <appInfo>
+ <meta.element labelAttribute="id"/>
+ </appInfo>
+ <documentation>
+ This element is used to define setting store factories. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt;, only the last declared element (in order of reading the registry) is considered valid.
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ the unique identifier of this factory
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ a fully qualified name of the class implementing the &lt;code&gt;org.eclipse.rwt.service.ISettingStoreFactory&lt;/code&gt; interface.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.rwt.service.ISettingStoreFactory"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ RAP 1.1
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ &lt;pre&gt;
+ &lt;extension
+ point=&quot;org.eclipse.rap.ui.settingstores&quot;&gt;
+ &lt;factory
+ class=&quot;org.eclipse.ui.internal.preferences.WorkbenchFileSettingStoreFactory&quot;
+ id=&quot;file&quot;&gt;
+ &lt;/factory&gt;
+ &lt;factory
+ class=&quot;org.eclipse.rwt.service.RWTFileSettingStoreFactory&quot;
+ id=&quot;rwtfile&quot;&gt;
+ &lt;/factory&gt;
+ &lt;/extension&gt;
+&lt;/pre&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ To obtain a setting store use &lt;code&gt;RWT.getSettingStore()&lt;/code&gt;. This will use the configured &lt;code&gt;org.eclipse.rwt.service.ISettingStoreFactory&lt;/code&gt; to generate and return an appropriate &lt;code&gt;org.eclipse.rwt.service.ISettingStore&lt;/code&gt; instance for this session.
+&lt;p&gt;
+Developers wishing to provide their own setting store must implement &lt;code&gt;ISettingStore&lt;/code&gt; and &lt;code&gt;ISettingStoreFactory&lt;/code&gt; and contribute their factory using this extension point.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ RAP provides the following default implementations:
+&lt;ul&gt;
+&lt;li&gt;&lt;code&gt;WorkbenchFileSettingStoreFactory&lt;/code&gt;, &lt;code&gt;RWTFileSettingStoreFactory&lt;/code&gt; and &lt;code&gt;FileSettingStore&lt;/code&gt;
+&lt;/li&gt;
+&lt;/ul&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2008 Innoopract Informationssysteme GmbH 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>
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/themeableWidgets.exsd b/bundles/org.eclipse.rap.ui/schema/rap/themeableWidgets.exsd
new file mode 100644
index 0000000000..63d3dcb676
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/themeableWidgets.exsd
@@ -0,0 +1,150 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="themeableWidgets" name="RWT Themeable Widgets"/>
+ </appInfo>
+ <documentation>
+ This extension point is used to register custom RWT widgets which also support theming.
+To support theming, a widget provides a couple of files that are relevant for the theming. These files must conform to a naming convention. Once a custom widget is registered with this extension point, the theme-relevant files are found by their names. Thus, only the custom widget class must be registered.
+&lt;p&gt;
+The custom widget must provide the theme-relevant files in a package with is named after the schema &lt;code&gt;&amp;lt;package&amp;gt;.internal.&amp;lt;widget&amp;gt;kit&lt;/code&gt; where &lt;code&gt;&amp;lt;package&amp;gt;&lt;/code&gt; is the package name and &lt;code&gt;&amp;lt;widget&amp;gt;&lt;/code&gt; is the lower case class name of the custom control. This is the same package that also contains the lifecycle adapter (LCA).
+&lt;p&gt;
+Theming relevant files include:
+&lt;ul&gt;
+ &lt;li&gt;A theme definiton file with the name &lt;code&gt;&amp;lt;Widget&amp;gt;.theme.xml&lt;/code&gt;. This file defines new theming keys.&lt;/li&gt;
+ &lt;li&gt;A theme adapter class that implements &lt;code&gt;IControlThemeAdapter&lt;/code&gt; and is named &lt;code&gt;&amp;lt;Widget&amp;gt;ThemeAdapter&lt;/code&gt;. The theme adapter provides the control with the current values of theming-dependent properties.&lt;/li&gt;
+ &lt;li&gt;An appearance fragment file with the name &lt;code&gt;&amp;lt;Widget&amp;gt;.appearances.js&lt;/code&gt;. This file defines new qooxdoo appearances.&lt;/li&gt;
+&lt;/ul&gt;
+None of these files are mandatory, files which are found are respected, but files which are missing do not hurt.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence>
+ <element ref="widget" minOccurs="1" 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="widget">
+ <annotation>
+ <appInfo>
+ <meta.element labelAttribute="parameter"/>
+ </appInfo>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ a unique name that identifies this themeable widget
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ an optional name for the themable widget
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ the name of a class that implements the custom widget
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.swt.widgets.Control:"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ RAP 1.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ The following is an example of a themeable widget extension definition:
+&lt;p&gt;
+&lt;pre&gt;
+ &lt;extension
+ point=&quot;org.eclipse.rap.ui.themeableWidgets&quot;&gt;
+ &lt;widget
+ id=&quot;my.custom.datepicker&quot;
+ class=&quot;my.custom.controls.DatePicker&quot;&gt;
+ &lt;/widget&gt;
+ &lt;/extension&gt;
+&lt;/pre&gt;
+&lt;/p&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2007 Innoopract Informationssysteme GmbH.&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>
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/themes.exsd b/bundles/org.eclipse.rap.ui/schema/rap/themes.exsd
new file mode 100644
index 0000000000..42e77de465
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/themes.exsd
@@ -0,0 +1,140 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="themes" name="RWT Themes"/>
+ </appInfo>
+ <documentation>
+ This extension point is used to register custom RWT themes.
+An RWT theme is used to customize the look and feel of applications built with the Rich Ajax Platform. To create a custom theme, a theme definition file must be provided. A theme definition file is a &lt;code&gt;.property&lt;/code&gt; file that defines custom values for a number of theming keys. The valid keys are listed and described in the file &lt;code&gt;theme-template.properties&lt;/code&gt; in the source folder of the RWT plugin (&lt;code&gt;org.eclipse.rap.rwt&lt;/code&gt;). This file also serves as a template for theme definition files.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <complexType>
+ <sequence>
+ <element ref="theme" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+ a fully qualified identifier of the target extension point
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+ an optional identifier of the extension instance
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ an optional name of the extension instance
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="theme">
+ <annotation>
+ <appInfo>
+ <meta.element labelAttribute="name"/>
+ </appInfo>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ a unique name that will be used to identify this theme
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ an optional name for the theme (currently not used)
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="file" type="string" use="required">
+ <annotation>
+ <documentation>
+ a relative path of a &lt;code&gt;.properties&lt;/code&gt; file that contains the theme definitions
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ RAP 1.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ The following is an example of a theme extension definition:
+&lt;p&gt;
+&lt;pre&gt;
+ &lt;extension point=&quot;org.eclipse.rap.ui.themes&quot;&gt;
+ &lt;theme
+ id=&quot;my.application.aquablue&quot;
+ name=&quot;Aqua Blue Theme&quot;
+ file=&quot;aqua-blue.properties&quot; /&gt;
+ &lt;/extension&gt;
+&lt;/pre&gt;
+&lt;/p&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="implementation"/>
+ </appInfo>
+ <documentation>
+ A template for valid theme files can be found in the &lt;code&gt;src/&lt;/code&gt; directory of the RWT plug-in (&lt;code&gt;org.eclipse.rap.rwt&lt;/code&gt;). The file is called &lt;code&gt;theme-template.properties&lt;/code&gt;.
+The RAP demo plugin &lt;code&gt;org.eclipse.rap.demo&lt;/code&gt; contains an example of a theme extension.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2007 Innoopract Informationssysteme GmbH.&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>

Back to the top