SourceForge.net Logo

Chapter 4. A Sample UI Config File

In this chapter the following sample UI config file is discussed in detail:

Example 4-1. sample.xml

<?xml version="1.0" encoding="UTF-8"?>
<org.openmdx.base.Authority name="org:openmdx:ui1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="org/openmdx/ui1/xmi/ui1.xsd">
  <_object/>
  <_content>
    <provider>
      <org.openmdx.base.Provider qualifiedName="Trial" _operation="null">
        <_object/>
        <_content>
          <segment>
            <org.openmdx.ui1.Segment qualifiedName="Standard" _operation="null">
              <_object/>
              <_content>
                <elementDefinition>

<!--Segment Definition-->
                 <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:Segment">
                    <_object>
                      <active>true</active>
                      <changeable>false</changeable>
                      <toolTip>
                        <_item>ToolTip for Segment</_item>
                      </toolTip>
                      <label>
                        <_item>SegmentName</_item>
                      </label>
                      <order>
                        <_item>0</_item>
                        <_item>0</_item>
                        <_item>10</_item>
                      </order>
                      <iconKey>org:opencrx:kernel:segmentName:ClassName</iconKey>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

<!--Grid Tab Definition-->
                 <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName:referenceName">
                    <_object>
                      <active>true</active>
                      <toolTip>
                        <_item>ToolTip for TabA</_item>
                      </toolTip>
                      <label>
                        <_item>TabA</_item>
                      </label>
                      <order>
                        <_item>0</_item>
                        <_item>0</_item>
                        <_item>10</_item>
                      </order>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

<!--Inspector Definition-->
                 <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName">
                    <_object>
                      <active>true</active>
                      <toolTip>
                        <_item>ToolTip for Inspector</_item>
                      </toolTip>
                      <label>
                        <_item>InspectorTitle</_item>
                      </label>
                      <iconKey>org:opencrx:kernel:segmentName:ClassName</iconKey>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

<!--Tab0 for Inspector-->
                 <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName:Pane:Attr:Tab:0">
                    <_object>
                      <active>true</active>
                      <toolTip>
                        <_item>ToolTip for Tab0</_item>
                      </toolTip>
                      <label>
                        <_item>Tab0</_item>
                      </label>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

<!--FieldGroup0 in Tab0-->
                 <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName:Pane:Attr:Tab:0:Group:0">
                    <_object>
                      <active>true</active>
                      <toolTip>
                        <_item>ToolTip for FieldGroup0</_item>
                      </toolTip>
                      <label>
                        <_item>FieldGroup0</_item>
                      </label>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

<!--Element Definitions FieldGroup0-->
                 <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName:Attribute0">
                    <_object>
                      <active>true</active>
                      <toolTip>
                        <_item>ToolTip for Attribute0</_item>
                      </toolTip>
                      <label>
                        <_item>Label0</_item>
                      </label>
                      <order>
                        <_item>0</_item>  <!-- tab   -->
                        <_item>0</_item>  <!-- group -->
                        <_item>10</_item> <!-- pos   -->
                      </order>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

                  <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName:Attribute1">
                    <_object>
                      <active>true</active>
                      <toolTip>
                        <_item>ToolTip for Attribute1</_item>
                      </toolTip>
                      <label>
                        <_item>Label1</_item>
                      </label>
                      <order>
                        <_item>0</_item>  <!-- tab   -->
                        <_item>0</_item>  <!-- group -->
                        <_item>20</_item> <!-- pos   -->
                      </order>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

                  <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName:Attribute2">
                    <_object>
                      <active>true</active>
                      <toolTip>
                        <_item>ToolTip for Attribute2</_item>
                      </toolTip>
                      <label>
                        <_item>Label2</_item>
                      </label>
                      <order>
                        <_item>0</_item>  <!-- tab   -->
                        <_item>0</_item>  <!-- group -->
                        <_item>30</_item> <!-- pos   -->
                      </order>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

                  <org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName:Attribute3">
                    <_object>
                      <columnBreak>true</columnBreak>
                      <active>true</active>
                      <toolTip>
                        <_item>ToolTip for Attribute3</_item>
                      </toolTip>
                      <label>
                        <_item>Label3</_item>
                      </label>
                      <order>
                        <_item>0</_item>  <!-- tab   -->
                        <_item>0</_item>  <!-- group -->
                        <_item>10</_item> <!-- pos   -->
                      </order>
                    </_object>
                    <_content/>
                  </org.openmdx.ui1.ElementDefinition>

                </elementDefinition>
              </_content>
            </org.openmdx.ui1.Segment>
          </segment>
        </_content>
      </org.openmdx.base.Provider>
    </provider>
  </_content>
</org.openmdx.base.Authority>

The above UI config file customizes an Inspector for the class ClassName and a Grid view for the same class:

Figure 4-1. Views customized by sample.xml

Defining an Inspector

The following few lines of the UI config file define an Inspector for the class ClassName:

Example 4-2. Inspector Definition

.
<!--Inspector Definition-->
<org.openmdx.ui1.ElementDefinition name="org:opencrx:kernel:segmentName:ClassName">
  <_object>
    <active>true</active>
    <toolTip>
      <_item>ToolTip for Inspector</_item>
    </toolTip>
    <label>
      <_item>InspectorTitle</_item>
    </label>
    <iconKey>org:opencrx:kernel:segmentName:ClassName</iconKey>
  </_object>
  <_content/>
</org.openmdx.ui1.ElementDefinition>
.

The above code defines the following Inspector properties (and Figure 4-1 shows what the customized Inspector looks like):

  • the Inspector is active, i.e. visible

  • the toolTip of the Inspector

  • the label (i.e. name) of the Inspector

  • and the Inspector's icon

http://www.crixp.com/ http://www.openmdx.org/