Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRĂ¼diger Herrmann2009-02-24 11:29:44 +0000
committerRĂ¼diger Herrmann2009-02-24 11:29:44 +0000
commit59a1d4059836a46b4d19cf388cc1dfc4aa2ec852 (patch)
treea70e236586a7ae62044d0a1c75f3cb17a92137e8 /bundles/org.eclipse.rap.ui/schema
parent7909b8c2eb093fefa7919be1cf1fef08bb9424e0 (diff)
downloadorg.eclipse.rap-59a1d4059836a46b4d19cf388cc1dfc4aa2ec852.tar.gz
org.eclipse.rap-59a1d4059836a46b4d19cf388cc1dfc4aa2ec852.tar.xz
org.eclipse.rap-59a1d4059836a46b4d19cf388cc1dfc4aa2ec852.zip
Initial commit: 261795: Interaction design API
Diffstat (limited to 'bundles/org.eclipse.rap.ui/schema')
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/branding.exsd123
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/layouts.exsd194
-rw-r--r--bundles/org.eclipse.rap.ui/schema/rap/stackPresentations.exsd191
3 files changed, 482 insertions, 26 deletions
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/branding.exsd b/bundles/org.eclipse.rap.ui/schema/rap/branding.exsd
index 7543baecd8..f9a71ac324 100644
--- a/bundles/org.eclipse.rap.ui/schema/rap/branding.exsd
+++ b/bundles/org.eclipse.rap.ui/schema/rap/branding.exsd
@@ -2,9 +2,9 @@
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.rap.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
- <appInfo>
+ <appinfo>
<meta.schema plugin="org.eclipse.rap.ui" id="branding" name="Branding"/>
- </appInfo>
+ </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>
@@ -12,9 +12,9 @@
<element name="extension">
<annotation>
- <appInfo>
+ <appinfo>
<meta.element />
- </appInfo>
+ </appinfo>
</annotation>
<complexType>
<sequence minOccurs="1" maxOccurs="unbounded">
@@ -39,9 +39,9 @@
<documentation>
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute translatable="true"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
@@ -49,14 +49,15 @@
<element name="branding">
<annotation>
- <appInfo>
+ <appinfo>
<meta.element labelAttribute="title"/>
- </appInfo>
+ </appinfo>
</annotation>
<complexType>
<sequence>
<element ref="additionalHeaders" minOccurs="0" maxOccurs="1"/>
<element ref="associatedEntrypoints" minOccurs="0" maxOccurs="1"/>
+ <element ref="presentationFactory" minOccurs="0" maxOccurs="1"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
@@ -91,9 +92,9 @@
<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>
+ <appinfo>
<meta.attribute translatable="true"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
<attribute name="favicon" type="string">
@@ -101,9 +102,9 @@
<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>
+ <appinfo>
<meta.attribute kind="resource"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
<attribute name="body" type="string">
@@ -111,9 +112,9 @@
<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>
+ <appinfo>
<meta.attribute kind="resource"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
<attribute name="exitConfirmationClass" type="string">
@@ -129,9 +130,9 @@ This setting overrides the attribute exitConfirmation.
This will only work in browsers of the Mozilla family and Internet Explorer.
&lt;/p&gt;
</documentation>
- <appInfo>
+ <appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.rap.ui.branding.IExitConfirmation"/>
- </appInfo>
+ </appinfo>
</annotation>
</attribute>
</complexType>
@@ -239,9 +240,9 @@ This will only work in browsers of the Mozilla family and Internet Explorer.
<element name="entrypoint">
<annotation>
- <appInfo>
+ <appinfo>
<meta.element labelAttribute="id"/>
- </appInfo>
+ </appinfo>
<documentation>
An element which references to an existing entrypoint defined by &lt;code&gt;org.eclipse.rap.ui.entrypoint&lt;/code&gt;.
</documentation>
@@ -257,19 +258,89 @@ This will only work in browsers of the Mozilla family and Internet Explorer.
</complexType>
</element>
+ <element name="presentationFactory">
+ <complexType>
+ <sequence>
+ <element ref="stackPresentation" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="defaultStackPresentation" minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ The id of the PresentationFactory to load.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="defaultLayoutId" type="string">
+ <annotation>
+ <documentation>
+ The id of the default Layout to load.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="stackPresentation">
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ The id of the StackPresentation
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="identifier" basedOn="org.eclipse.rap.ui.stackPresentations/stackPresentation/@id"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="partId" type="string" use="required">
+ <annotation>
+ <documentation>
+ The id of the part to couple with the id of the StackPresentation.
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="identifier"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="defaultStackPresentation">
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ The id of the StackPresentation, which is loaded if no mapping for parts and stackPresentations exists.
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="identifier" basedOn="org.eclipse.rap.ui.stackPresentations/stackPresentation/@id"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
<annotation>
- <appInfo>
+ <appinfo>
<meta.section type="since"/>
- </appInfo>
+ </appinfo>
<documentation>
RAP 1.0
</documentation>
</annotation>
<annotation>
- <appInfo>
+ <appinfo>
<meta.section type="examples"/>
- </appInfo>
+ </appinfo>
<documentation>
&lt;pre&gt;
&lt;extension
@@ -290,9 +361,9 @@ This will only work in browsers of the Mozilla family and Internet Explorer.
</annotation>
<annotation>
- <appInfo>
+ <appinfo>
<meta.section type="apiInfo"/>
- </appInfo>
+ </appinfo>
<documentation>
There is no API available for branding.
</documentation>
@@ -300,9 +371,9 @@ This will only work in browsers of the Mozilla family and Internet Explorer.
<annotation>
- <appInfo>
+ <appinfo>
<meta.section type="copyright"/>
- </appInfo>
+ </appinfo>
<documentation>
Copyright (c) 2007 Innoopract Informationssysteme GmbH and others.&lt;br&gt;
All rights reserved. This program and the accompanying materials are made
diff --git a/bundles/org.eclipse.rap.ui/schema/rap/layouts.exsd b/bundles/org.eclipse.rap.ui/schema/rap/layouts.exsd
new file mode 100644
index 0000000000..c8ba959799
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/layouts.exsd
@@ -0,0 +1,194 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="layouts" name="Layouts"/>
+ </appinfo>
+ <documentation>
+ This extension point is used to register a custom Layout. This means a grafical Layout not a Layout from the programmers point of view.&lt;br&gt;
+Every Layout can hold attributes called LayoutSets. A LayoutSet is a simple container for images, fonts, colors and position data. These sets are usually coupled to a &lt;code&gt;ElementBuilder&lt;/code&gt;.&lt;br&gt;
+A Layout can override LayoutSets of other Layouts. These overriden LayoutSets are used if the user switch the Layout during runtime.&lt;br&gt;
+The default Layout can be defined by contributing to the &lt;code&gt;org.eclipse.rap.ui.branding&lt;/code&gt; extension point. If there is no default Layout defined a fallback mechanism will be used to show the standard Layout.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="layout" 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="layoutSet">
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ The unique identifier for a LayoutSet. This id can be used to override a LayoutSet in a different Layout.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+ This optional attribute is just to give the LayoutSet a readable name.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ The definition of a LayoutSet. This is a class that has to implement the ILayoutSetInitializer interface.
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.rap.ui.interactiondesign.layout.model.ILayoutSetInitializer"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="layout">
+ <complexType>
+ <sequence>
+ <element ref="layoutSet" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ RAP 1.2
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ The following is an example of a Layout with three LayoutSets:
+&lt;p&gt;
+&lt;pre&gt;
+&lt;extension
+ id=&quot;org.eclipse.presentation.example.layout&quot;
+ name=&quot;Example Layout&quot;
+ point=&quot;org.eclipse.ui.presentations.Layouts&quot;&gt;
+ &lt;LayoutSet
+ class=&quot;org.eclipse.rap.ui.interactiondesign.example.layoutset.HeaderLayoutSet2&quot;
+ id=&quot;header.layoutset&quot;
+ name=&quot;Header2&quot;&gt;
+ &lt;/LayoutSet&gt;
+ &lt;LayoutSet
+ class=&quot;org.eclipse.rap.ui.interactiondesign.example.layoutset.MacBarLayoutSet2&quot;
+ id=&quot;macBar.layoutset&quot;
+ name=&quot;MacBar 2&quot;&gt;
+ &lt;/LayoutSet&gt;
+ &lt;LayoutSet
+ class=&quot;org.eclipse.rap.ui.interactiondesign.example.layoutset.FooterLayoutSet2&quot;
+ id=&quot;footer.layoutset&quot;
+ name=&quot;Footer&quot;&gt;
+ &lt;/LayoutSet&gt;
+ &lt;LayoutSet
+ class=&quot;org.eclipse.rap.ui.interactiondesign.example.layoutset.NavigationPaneLayoutSet2&quot;
+ id=&quot;navigationpane.layoutset&quot;
+ name=&quot;NavigationPane&quot;&gt;
+ &lt;/LayoutSet&gt;
+ &lt;/extension&gt;
+ &lt;/pre&gt;
+ &lt;/p&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ Each LayoutSet in a Layout has to implement the &lt;code&gt;ILayoutSetInitializer&lt;/code&gt; interface. The method within is called during the plugin activation to initialize components like images or fonts for this LayoutSet. This implementation can look like this:
+
+&lt;pre&gt;
+public class HeaderLayoutSet implements ILayoutSetInitializer {
+ public void initializeLayoutSet( LayoutSet layoutSet ) {
+ layoutSet.addImagePath( HeaderBuilderData.LEFT, &quot;icons/headerLeft.png&quot; );
+ layoutSet.addImagePath( HeaderBuilderData.CENTER, &quot;icons/headerCenter.png&quot; );
+ layoutSet.addImagePath( HeaderBuilderData.RIGHT, &quot;icons/headerRight.png&quot; );
+ layoutSet.addImagePath( HeaderBuilderData.LOGO, &quot;icons/headerLogo.png&quot; );
+ addHeaderPositions( layoutSet );
+ }
+}
+&lt;/pre&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ A detailed implementation example can be found in the &lt;code&gt;org.eclipse.rap.presentation.example&lt;/code&gt; project. This project defines two Layouts and a bunch of LayoutSets. They look not pretty but they do their job.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="copyright"/>
+ </appinfo>
+ <documentation>
+ Copyright (c) 2008 EclipseSource 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 &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/stackPresentations.exsd b/bundles/org.eclipse.rap.ui/schema/rap/stackPresentations.exsd
new file mode 100644
index 0000000000..2a301dc988
--- /dev/null
+++ b/bundles/org.eclipse.rap.ui/schema/rap/stackPresentations.exsd
@@ -0,0 +1,191 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.rap.ui" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.eclipse.rap.ui" id="stackPresentations" name="StackPresentations"/>
+ </appinfo>
+ <documentation>
+ This extension point is used to register &lt;code&gt;ConfigurableStack&lt;/code&gt;s. This object extending a ordinary &lt;code&gt;StackPresentation&lt;/code&gt; so it can be used to style a &lt;code&gt;LayoutPart&lt;/code&gt;. To register such a &lt;code&gt;ConfigurableStack&lt;/code&gt; only makes sence if the PresentationFactory is a &lt;code&gt;org.eclipse.rap.presentation.PresentationFactory&lt;/code&gt;. Because only this PresentationFactory can handle a &lt;code&gt;ConfigurableStack&lt;/code&gt;.&lt;br&gt;
+This extension point is also used to couple a &lt;code&gt;ConfigurationAction&lt;/code&gt; to such a &lt;code&gt;ConfigurableStack&lt;/code&gt;. With this you can implement different configuration behaviours for different &lt;code&gt;ConfigurableStack&lt;/code&gt; implementations.&lt;br&gt;
+You can define default StackPresentations for a part using the &lt;code&gt;org.eclipse.rap.ui.branding&lt;/code&gt; extension point.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element ref="stackPresentation" 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="stackPresentation">
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ The identifier for the ConfigurableStack. This is for load and save such a part presentation.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ An implementation of &lt;code&gt;ConfigurableStack&lt;/code&gt;
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.rap.ui.interactiondesign.ConfigurableStack:"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string" use="required">
+ <annotation>
+ <documentation>
+ The name of ConfigurableStack, this is just to give it a readable name.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="type" use="required">
+ <annotation>
+ <documentation>
+ This defines the type where the ConfigurableStack can be used. there are three possible types: Editor, View and StandaloneView.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="editor">
+ </enumeration>
+ <enumeration value="view">
+ </enumeration>
+ <enumeration value="standaloneview">
+ </enumeration>
+ </restriction>
+ </simpleType>
+ </attribute>
+ <attribute name="actionClass" type="string">
+ <annotation>
+ <documentation>
+ An implementation of &lt;code&gt;ConfigurationAction&lt;/code&gt;.
+With this action you can implement configuration bahaviour e.g. this action can create a popup dialog that shows configuration elements.
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.rap.ui.interactiondesign.ConfigurationAction:"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="actionIcon" type="string">
+ <annotation>
+ <documentation>
+ The icon for the ConfigurationAction.
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="resource"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="menuIcon" type="string">
+ <annotation>
+ <documentation>
+ The icon for a view&apos;s menu if it has one.
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="resource"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ RAP 1.2
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ &lt;pre&gt;
+&lt;extension
+ point=&quot;org.eclipse.ui.presentations.StackPresentations&quot;&gt;
+ &lt;stackPresentation
+ actionClass=&quot;org.eclipse.rap.ui.interactiondesign.example.configaction.ExampleConfigAction&quot;
+ actionIcon=&quot;icons/configure.png&quot;
+ class=&quot;org.eclipse.rap.ui.interactiondesign.example.stacks.NavigationPaneStackPresentation&quot;
+ id=&quot;org.eclipse.rap.ui.interactiondesign.navigationPaneStackPresentation&quot;
+ menuIcon=&quot;icons/menuIcon.gif&quot;
+ name=&quot;Navigation Pane&quot;
+ type=&quot;view&quot;&gt;
+ &lt;/stackPresentation&gt;
+&lt;/extension&gt;
+&lt;/pre&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ Each stackPresentation has to extend &lt;code&gt;org.eclipse.rap.ui.interactiondesign.ConfigurableStack&lt;/code&gt; to handle different mechanisms, e.g. stackPresentation changing on the fly and so on.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ A detailed implementation example can be found in the &lt;code&gt;org.eclipse.rap.presentation.example&lt;/code&gt; project. This project defines two different &lt;code&gt;ConfigurableStack&lt;/code&gt; implementations.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="copyright"/>
+ </appinfo>
+ <documentation>
+ Copyright (c) 2008 EclipseSource 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 &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