Home
Categories
Dictionary
Download
Project Details
Changes Log
Who We Are
FAQ
License

SuperLayer configuration structure



A SuperLayer Windows Configuration contains the following elements:
  • constants: Constants used in the configuration file
  • DFFiles: Definition Files used in the cockpit
  • geometry: Windows physical geometry. Contain geom children
  • windowTypes: Window types definition. Contain windowType children
  • layoutTypes: Layout types definition. Contain layoutType children
  • displayTypes: Display types definition. Contain displayType children
  • windows: an alternate way to define Windows physical geometry. Contain windowDef children
  • config: defines the displays in the cockpit
The following element can only be defined under the config element:
  • display: A Display in the cockpit
The following element can only be defined under the layout or layoutType element:
  • window: A Window can contain either Layouts or Layers
The following element can only be defined under the display or window element:
  • layout: defines a Layout a particular windows arrangement for the parent Display or Window. Several layouts can be defined for one particular Display or Window, but of course only one is active at any time (it is possible to set the default layout explicitly)

Grammar

See the Super Layer configuration Schema.

cockpit root element

The cockpit root element allows to define the application ID and Layer ID of the SuperLayer, in the case where you want to allow to change the cockpit layout at runtime.

Example:
      <cockpit appliID="1" layerID="10">
      ...
      </cockpit>

constants

Constants are useful to define only once values that must be reused throughout the configuration. Constants can define a boolean or numeric value.

Example:
      <constants>
         <constant name="width" value="10000" />
         <constant name="height" value="10000" />
      </constants>
      ...
      <geometry>
         <geom name="Window" width="width" height="height" x="0" y="0" />
      </geometry>
      <configs border="255,255,255" borderWidth="3">
         <display id="1" name="simple" width="width" height="height" defaultLayout="layout">
      ...
         </display> 
      </configs>

DFFiles

The DFFiles defines the Definition Files which are used in the cockpit.

By default a df refer to the file defining an XML Definition File, but the type attribute allows to specify explictly the type of the DF file:
  • xml for an XML definition file
  • binary for a binary definition file


Example:
      <DFFiles>
         <df path="DF1.xml"/>
         <df path="DF2.xml"/>
         <df path="DF3.bin" type="binary" />
      </DFFiles>

cockpitDF

The cockpitDF child allows to specify the Definition File for the SuperLayer. It is only useful for the client.

Example:
      <DFFiles>
         <df path="DF1.xml"/>
         <df path="DF2.xml"/>
         <cockpitDF path="superlayer.xml" />
      </DFFiles>

geometry

The geometry element defines the physical geometry of windows. A window can contain the following elements:
  • "name" of the window (mandatory)
  • "width" and "height" of the window (mandatory)
  • "x" and "y" of the window (optional)
  • "transparent": boolean propertry set to true if the window is transparent (optional)
Example:
      <geometry>
         <geom name="Overlay" width="15000" height="10000" transparent="true" />
         <geom name="WindowFull" width="15000" height="10000"/>
         <geom name="Window1" width="10000" height="10000"/>      
         <geom name="Window2" width="5000" height="10000" />  
         <geom name="Window3" width="10000" height="5000" />      
         <geom name="Window4" width="10000" height="5000" />       
      </geometry>

Type elements

Types elements are elements which can be instanciated.

Window Types

The windowTypes element defines the list of window types, which can be instanciated in Layout or Layout types.

A windowType has the following attributes:
  • "name" of the window type (mandatory)
  • "geometry" of the window type (mandatory). It references a geometry
  • "selector" (optional): specifies how the Layers defined under this Window will be selected: Note that this attribute is not used if the window type contains Layouts and not Layers.
    • "oneOf" (the default value): only one Layer among those defined in the Window will be visible at a time[1]
      In that case, there is a WindowSelector under the Layer for the Client to select the current Layer
    • "all": any of the Layers among those defined in the Window can be visible at a time
  • "defaultLayout": the default Layout name, if the window type contains Layouts
  • "defaultLayerID" and "defaultLayerAppliID" (optional): the Layer ID and application ID of the default Layer, if the the window type contains Layers. This will be the visible Layer for the "oneOf" selector type
  • "emptyDefaultLayer" (optional): boolean specifying that the window typer must be empty by default (no default Layer), if the window type contains Layers. If this parameter is not set (or not set to true), then the default Layer will be the first Layer defined under the window type if "defaultLayerID" and "defaultLayerAppliID" are not set
A windowType can have either:
  • layer children (if the window type contains Layers)
  • typeRef for Layout type children (if the window type contains Layouts)
Example for a window type containing Layers:
      <windowType name="Window1" geometry="WindowGeom1" selector="oneOf" >
         <layer name="Layer3" layerID="3"/>
         <layer name="Layer4" layerID="4"/>
      </windowType>
Example for a window type containing Layouts:
      <windowType name="Window1" geometry="WindowGeom1" defaultLayout="childLayout1">
         <typeRef type="childLayout1"/>     
         <typeRef type="childLayout2"/>   
      </windowType>

Layout Types

The layoutTypes element defines the list of layout types, which can be instanciated in the display, display types, window types, or windows.

A layoutType has only one attribute:
  • "name" of the layout type (mandatory)
A layoutType can have either:
  • window children (if the layout type contains windows)
  • windowTypeRef children (if the layout type contains window types instances)
Example for a layout type containing window types instances:

Display Types

The displayTypes element defines the list of display types, which can be instanciated.

A displayType has the following attributes:
  • "name" of the display type (mandatory)
  • "width" and "height" of the display type (mandatory)
  • "titleBar" of the display type (optional)
  • "defaultLayout": the default Layout name
A displayType can have either:
  • layout children
  • typeRef for Layout type children
Example:
      <displayTypes>
         <displayType name="display" width="15000" height="10000" defaultLayout="layout1">
            <typeRef type="layout1"/>
            <typeRef type="layout2"/>
         </displayType>
      </displayTypes>

Instanciating a type

To use a type:
  • Use a typeRef element for a layout type or a display type
  • Use a windowTypeRef element for a window type

Overriding a property

The override element allows to override the property for an instanced type. The properties wich can be overriden are:
  • "defaultLayerID": the default Layer ID for a window instanciating a window type
  • "defaultLayerAppliID": the default application ID for a window instanciating a window type
  • "emptyDefaultLayer": to set if there is no default layer for a window type
A override can have the following attributes:
  • "layoutPath" for the layout name
  • "windowPath" for the window name
Example:
      <layoutType name="rightInsertLayout">
         <windowTypeRef name="lowerRight" type="rightinsertWindow" x="24000" y="0">
            <override>
               <property name="defaultLayerID" value="81" />
            </override>              
         </windowTypeRef>
      </layoutType>
Another example:
      <typeRef type="dualInsertLayout"> 
         <override windowPath="lowerleft"> 
            <property name="defaultLayerID" value="81" /> 
         </override>            
      </typeRef>

Instance elements

Cockpit configuration

The configs element defines the cockpit configuration.

The configs element has the following attributes:
  • "border": the color of the displays borders (optional, will be set to white if not specified)
  • "borderWidth": the width of the displays border (optional, will be set to 1 if not specified)
  • "background": the color of the displays background (optional, will be black if not specified)
  • "isTransparent": indicates if the displays are transparent by default[2]
    This property can be overriden by each display
    . The possible values are:
    • "false": opaque
    • "true": graphically transparent and transparent to the events
    • "transparent": graphically transparent but not transparent to the events
  • "isAlwaysOnTop": true if the displays are by default on top of other windows on the desktop[2]
    This property can be overriden by each display
  • "decorated": true if the displays are decorated (have a title bar)
The configs element only have display children.

Display element

The display element defines one display.

The display element has the following attributes:
  • "name" of the display (mandatory)
  • "id" of the display (int value, optional)
  • "width" and "height" of the display (optional)
  • "x" and "y" of the display (optional)
  • "defaultLayout": the default Layout name (optional)
  • "isTransparent": indicates if the display is transparent (overrides the configs "isTransparent" property)
  • "isAlwaysOnTop": true if the display is on top of other windows on the desktop (overrides the configs "isAlwaysOnTop" property)
A display can have either:
  • layout children
  • typeRef for display type children
Example for a display inline instance:
      <configs border="255,255,255" borderWidth="3">
         <display id="1" name="display" width="15000" height="10000" defaultLayout="layout1">
            <layout name="layout1">
               <window name="Window1" >
                  <layer layerID="5" />                           
               </window>            
            </layout>            
            <layout name="layout2">
               <window name="Window1" type="oneOf">
                  <layer layerID="5" />  
                  <layer layerID="6" />                         
               </window>            
            </layout>         
         </display>  
      </configs>
Example for a display referring to a display type:
      <displayTypes>
         <displayType name="display" width="15000" height="10000" defaultLayout="layout1">
            <typeRef type="layout1"/>
            <typeRef type="layout2"/>
         </displayType>
      </displayTypes>   
      <configs border="255,255,255" borderWidth="3">
         <display id="1" name="display">
            <typeRef type="display"/>  
         </display>
      </configs>

Layout element

The layout element defines one Layout.

A layout has only one attribute:
  • "name" of the layout (mandatory)
A layout can have either:
  • window children (if the layout contains windows)
  • windowTypeRef children (if the layout contains window types instances)
Example for a Layout inline instance:
     <layout name="layout1">
        <window name="Window1" >
           <layer layerID="5" />                           
        </window>            
     </layout>

Window element

The window element defines one Window.

The window element has the following attributes:
  • "name" of the window (mandatory)
  • "geometry" of the window (mandatory). It references a geometry
  • "x" and "y" position of the window (optional)[3]
    It will override the window type value if the window is an instance of a window type
  • "selector" (optional): specifies how the Layers defined under this Window will be selected[3]
    It will override the window type value if the window is an instance of a window type
    :
    • "oneOf" (the default value): only one Layer among those defined in the Window will be visible at a time[4]
      In that case, there is a WindowSelector under the Layer for the Client to select the current Layer
    • "all": any of the Layers among those defined in the Window can be visible at a time
  • "defaultLayout": the default Layout name, if the window type contains Layouts[3]
    It will override the window type value if the window is an instance of a window type
  • "defaultLayerID" and "defaultLayerAppliID" (optional): the Layer ID and application ID of the default Layer, if the the window type contains Layers[3]
    It will override the window type value if the window is an instance of a window type
    . This will be the visible Layer for the "oneOf" selector type
  • "emptyDefaultLayer" (optional): boolean specifying that the window type must be empty by default (no default Layer), if the window type contains Layers[3]
    It will override the window type value if the window is an instance of a window type
A window can have either:
  • layout children (if the window is an inline instance and contains Layouts)
  • layer children (if the window is an inline instance and contains Layers)
  • typeRef children (if the window is an ninstancz of a windowType)
Example for a Window inline instance which contains Layers:
      <window name="Window1" type="oneOf">
         <layer layerID="5" />  
         <layer layerID="6" />                         
      </window>
Example for a Window inline instance which contains Layouts:
      <window name="Window1" defaultLayout="childLayout1">
         <layout name="childLayout1">
      ...                 
         </layout>               
         <layout name="childLayout2">
      ...                
         </layout>                              
      </window>

Notes

  1. ^ In that case, there is a WindowSelector under the Layer for the Client to select the current Layer
  2. ^ [1] [2] This property can be overriden by each display
  3. ^ [1] [2] [3] [4] [5] It will override the window type value if the window is an instance of a window type
  4. ^ In that case, there is a WindowSelector under the Layer for the Client to select the current Layer

See also


Categories: cockpit | server | user

Copyright 2016-2017 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v2 licence