| <?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. |
| <p> |
| The custom widget must provide the theme-relevant files in a package with is named after the schema <code>&lt;package&gt;.internal.&lt;widget&gt;kit</code> where <code>&lt;package&gt;</code> is the package name and <code>&lt;widget&gt;</code> is the lower case class name of the custom control. This is the same package that also contains the lifecycle adapter (LCA). |
| <p> |
| Theming relevant files include: |
| <ul> |
| <li>A theme definiton file with the name <code>&lt;Widget&gt;.theme.xml</code>. This file defines new theming keys.</li> |
| <li>A theme adapter class that implements <code>IControlThemeAdapter</code> and is named <code>&lt;Widget&gt;ThemeAdapter</code>. The theme adapter provides the control with the current values of theming-dependent properties.</li> |
| <li>An appearance fragment file with the name <code>&lt;Widget&gt;.appearances.js</code>. This file defines new qooxdoo appearances.</li> |
| </ul> |
| 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: |
| <p> |
| <pre> |
| <extension |
| point="org.eclipse.rap.ui.themeableWidgets"> |
| <widget |
| id="my.custom.datepicker" |
| class="my.custom.controls.DatePicker"> |
| </widget> |
| </extension> |
| </pre> |
| </p> |
| </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.<br> |
| 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 <a |
| href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> |
| </documentation> |
| </annotation> |
| |
| </schema> |