157 lines
8.6 KiB
Plaintext
157 lines
8.6 KiB
Plaintext
<!-- TODO: Allow a set of renderers for the column content where one is selected based on the content type. -->
|
|
<!-- TODO: Allow infinate columns and/or rows. -->
|
|
<!-- TODO: Allow an inline editor, also allow a set of editors where one is selected based on table content. -->
|
|
<!-- TODO: Allow table editors by column, also allow a set of editors by table or column where one is selected based on the content. -->
|
|
<type name="table" extends="collection-component" inherit-styles="false">
|
|
<builder jar="table.jar">
|
|
<thin-swt class="com.foundation.tcv.swt.builder.TableBuilder"/>
|
|
<thick-swt class="com.foundation.view.swt.builder.TableBuilder"/>
|
|
</builder>
|
|
|
|
<style name="horizontally infinate"/>
|
|
<style name="vertically infinate"/>
|
|
|
|
<property name="row-header-visible" type="boolean" required="true" default="true"/>
|
|
<property name="row-header-resizeable" type="boolean" required="true" default="true"/>
|
|
<property name="column-header-visible" type="boolean" required="true" default="true"/>
|
|
<property name="column-header-resizeable" type="boolean" required="true" default="false"/>
|
|
<property name="rows-resizeable" type="boolean" required="true" default="false"/>
|
|
<property name="columns-resizeable" type="boolean" required="true" default="true"/>
|
|
<property name="horizontal-display-type" type="string" required="true" default="standard">
|
|
<values>
|
|
<value name="standard"/>
|
|
<value name="centered"/>
|
|
<value name="continuous"/>
|
|
</values>
|
|
</property>
|
|
<property name="vertical-display-type" type="string" required="true" default="standard">
|
|
<values>
|
|
<value name="standard"/>
|
|
<value name="centered"/>
|
|
<value name="continuous"/>
|
|
<value name="infinate"/>
|
|
</values>
|
|
</property>
|
|
<property name="selection-model" type="string" required="true" default="none">
|
|
<values>
|
|
<value name="none"/>
|
|
<value name="single-row"/>
|
|
<value name="single-column"/>
|
|
<value name="single-cell"/>
|
|
<value name="multi-row"/>
|
|
<value name="multi-column"/>
|
|
<value name="multi-cell"/>
|
|
<value name="multi-symmetric-cell"/>
|
|
</values>
|
|
</property>
|
|
|
|
<property name="column-header-renderer" type="string" required="false"/>
|
|
<property name="default-renderer" type="string" required="false"/> <!--The default renderer for any part of the table, including the cells.-->
|
|
<property name="control-border" type="string" required="false"/>
|
|
<property name="table-border" type="string" required="false"/>
|
|
<property name="column-header-separator-border" type="string" required="false"/>
|
|
<property name="column-header-content-border" type="string" required="false"/>
|
|
<property name="row-header-separator-border" type="string" required="false"/>
|
|
<property name="row-header-content-border" type="string" required="false"/>
|
|
<property name="row-header-border" type="string" required="false"/>
|
|
<property name="row-content-border" type="string" required="false"/>
|
|
<property name="row-border" type="string" required="false"/>
|
|
<property name="corner-border" type="string" required="false"/>
|
|
<property name="background-color" type="color" required="true" default-value="$white"/>
|
|
|
|
<attribute function="collection" required="false" types="com.common.util.IIndexedCollection com.foundation.util.IManagedIndexedCollection java.lang.Object[]" requires-value-holder="true"/>
|
|
<attribute function="selection" required="false" types="java.lang.Object com.common.util.ICollection com.foundation.util.IManagedCollection" requires-value-holder="true"/>
|
|
<!--<attribute function="default-renderer" required="false" types="java.lang.Object com.common.swt.IRenderer int Integer"/> <!--The default renderer for any part of the table, including the cells.-->
|
|
|
|
<!--<component type="renderer" required="false" multiple="true"/>-->
|
|
<component type="border" required="false" multiple="true"/>
|
|
<component type="row-header-columns" required="true" mulitple="false"/>
|
|
<component type="columns" required="true" mulitple="false"/>
|
|
<component type="panel" required="false" mulitple="false"/> <!-- The optional editor panel. -->
|
|
<component type="categorize" required="false" multiple="true"/>
|
|
|
|
<type name="row-header-columns">
|
|
<component type="abstract-column" required="false" multiple="true"/>
|
|
</type>
|
|
<type name="columns">
|
|
<component type="abstract-column" required="false" multiple="true"/>
|
|
</type>
|
|
<type name="abstract-column-component">
|
|
<property name="name" type="string" required="false"/>
|
|
<property name="is-visible" type="boolean" required="false"/>
|
|
|
|
<attribute function="is-visible" required="false" types="boolean java.lang.Boolean java.lang.Object"/>
|
|
</type>
|
|
<type name="abstract-column" extends="abstract-column-component"/>
|
|
<type name="rows-column" extends="abstract-column">
|
|
<component name="row" required="false" multiple="true"/>
|
|
</type>
|
|
<type name="column" extends="abstract-column">
|
|
<property name="height" type="positive-integer" required="false"/>
|
|
<property name="header-height" type="positive-integer" required="false"/>
|
|
<property name="width" type="positive-integer" required="false"/>
|
|
<property name="minimum-height" type="positive-integer" required="false"/>
|
|
<property name="minimum-header-height" type="positive-integer" required="false"/>
|
|
<property name="minimum-width" type="positive-integer" required="false"/>
|
|
<!-- Not used any more
|
|
<property name="default-data" type="string" required="false"/>
|
|
<property name="header-data" type="string" required="false"/>
|
|
<property name="renderer" type="string" required="false"/>
|
|
<property name="header-renderer" type="string" required="false"/>
|
|
|
|
<event function="value-changed" required="false" multiple="true" has-value-holder="false"/>
|
|
<method function="value" required="false" multiple="true" has-value-holder="false"/>
|
|
<attribute function="header-data" required="false"/>
|
|
<attribute function="renderer" required="false" types="java.lang.Object com.common.swt.IRenderer int Integer"/>
|
|
<attribute function="header-renderer" required="false" types="java.lang.Object com.common.swt.IRenderer int Integer"/>
|
|
-->
|
|
|
|
<!-- TODO: It would be nice to specify that the header-renderer is only an option if one of the parents is a 'column' type -->
|
|
|
|
<component type="header-renderers" required="true" multiple="false"/>
|
|
<component type="background-renderers" required="true" multiple="false"/>
|
|
<component type="cell-renderers" required="true" multiple="false"/>
|
|
</type>
|
|
<type name="row" extends="abstract-column-component">
|
|
<component name="column" required="false" multiple="true"/>
|
|
<component name="rows-column" required="false" multiple="true"/>
|
|
</type>
|
|
<type name="group-column" extends="abstract-column">
|
|
<property name="extra-header-height" type="positive-integer" required="false"/>
|
|
<property name="minimum-extra-header-height" type="positive-integer" required="false"/>
|
|
<!-- Not used any more.
|
|
<property name="header-data" type="string" required="false"/>
|
|
<property name="header-renderer" type="string" required="false"/>
|
|
|
|
<attribute function="header-data" required="false"/>
|
|
<attribute function="header-renderer" required="false" types="java.lang.Object com.common.swt.IRenderer int Integer"/>
|
|
-->
|
|
<component name="abstract-column" required="false" multiple="true"/>
|
|
<component type="header-renderers" required="true" multiple="false"/>
|
|
<component type="background-renderers" required="true" multiple="false"/>
|
|
</type>
|
|
<type name="categorize">
|
|
<property name="type" type="class" required="true" unique="true"/>
|
|
<component name="category" required="true" multiple="true"/>
|
|
</type>
|
|
<type name="category">
|
|
<attribute function="category" required="false" has-value-holder="false"/>
|
|
<method function="categpry" required="false" multiple="false" has-value-holder="false"/>
|
|
<event function="value-changed" required="false" multiple="true" has-value-holder="false"/>
|
|
</type>
|
|
<type name="children"> <!--TODO: It would be nice to make the following attribute and method require the same type as is given for the property of children. This will require a customer editor helper of some kind. -->
|
|
<property name="type" required="true" type="class"/> <!-- TODO: It would be nice to be able to specify a base class or classes for the type, or have a custom eidtor. -->
|
|
<attribute function="children" required="true" multiple="true" has-value-holder="false"/>
|
|
<method function="children" required="false" multiple="true" has-value-holder="false"/>
|
|
<event function="value-changed" required="false" multiple="true" has-value-holder="false"/>
|
|
</type>
|
|
<type name="header-renderers">
|
|
<component name="renderer" required="false" multiple="true"/>
|
|
</type>
|
|
<type name="background-renderers">
|
|
<component name="renderer" required="false" multiple="true"/>
|
|
</type>
|
|
<type name="cell-renderers">
|
|
<component name="data-renderer" required="false" multiple="true"/>
|
|
</type>
|
|
</type> |