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

Definition File



The GUI definition of the Cockpit Display System interface is defined in a binary file called Definition File (or DF) defining the structure of the graphical interface tree. The GUI tree is instantiated at initialization time (called the Definition Phase in the standard) in the CDS, using the definition contained in the DF.

A DF is composed of two parts:

There are two kinds of Definition Files:
  • Binary Definition Files which are used by preference in embedded Servers
  • XML Definition Files which are used by preference in Editors

Definition File properties

The main property of a Definition File is its Application ID. All the Layers in this Definition File will share this same Application ID. Note that XML Definition Fiels also have a name. It is also possible to specify the encoding of the Definition File, which specifies how Strings will be encoded (see Definition File encoding).

Definition File encoding

It is possible to specify the encoding of the Definition File, which specifies how Strings will be encoded.
  • ASCII_EXTENDED (the default): Strings will be encoded in ASCII. Some non ASCII characters have specific codes in addition to the ASCII codes. For example the degree character (which is not an ASCII character) will be coded by the code 0x00B0
  • UTF8: String will be encoded in UTF8

XML Definition Files

There are two grammars for XML Definition Files:
  • A strict grammar, which is specified for the ARINC 661 standard since supplement 6
  • A loose grammar, which is used by default for the J661 project
The ARINC 661 supplement 6 enforce the use of an XML Schema for the XML Definition File. Prior to supplement 6, the ARINC 661 standard did only define a DTD, but J661 already used a Schema which was a little more loose the the standard supplement 6 schema. Note that the DTD which was defined before in the standard was even more loose than the "loose" schema.

Differences between the loose schema and the strict schema:
  • The Library version is optional
  • Accept several widgets with the same name. Note that the Server, Client and Editor will however still rename the widgets internally such as not having more than one widget with one specified name
  • Extensions may have no child "model" element, which allows to use extensions which have no parameter at all
  • The rules for elements name are more lenient and accept any character

Example

The following XML Definition File example present a label with the text "HELLO WORLD" under a Panel.
      <a661_df name="default" library_version="0" supp_version="2">
         <model>
            <prop name="ApplicationId" value="1" />
         </model>
         <a661_layer name="MyLayer" >
            <model>
               <prop name="LayerId" value="1" />
               <prop name="ContextNumber" value="0" />
               <prop name="Height" value="10000" />
               <prop name="Width" value="10000" />
            </model>
            <a661_widget name="panel" type="A661_PANEL">
               <model>
                  <prop name="WidgetIdent" value="1" />
                  <prop name="Enable" value="A661_TRUE" />
                  <prop name="Visible" value="A661_TRUE" />
                  <prop name="PosX" value="0" />
                  <prop name="PosY" value="0" />
                  <prop name="SizeX" value="10000" />
                  <prop name="SizeY" value="10000" />
                  <prop name="StyleSet" value="0" />
               </model>
               <a661_widget name="label" type="A661_LABEL">
                  <model>
                     <prop name="WidgetIdent" value="2" />
                     <prop name="Anonymous" value="A661_FALSE" />
                     <prop name="Visible" value="A661_TRUE" />
                     <prop name="PosX" value="3527" />
                     <prop name="PosY" value="3721" />
                     <prop name="SizeX" value="2978" />
                     <prop name="SizeY" value="1000" />
                     <prop name="RotationAngle" value="0.0" />
                     <prop name="StyleSet" value="0" />
                     <prop name="MaxStringLength" value="20" />
                     <prop name="MotionAllowed" value="A661_TRUE" />
                     <prop name="Font" value="t2" />
                     <prop name="ColorIndex" value="red" />
                     <prop name="Alignment" value="A661_CENTER" />
                     <prop name="LabelString" value="HELLO WORLD" />
                  </model>
               </a661_widget>
            </a661_widget>
         </a661_layer>
      </a661_df>

See also


Categories: arinc661 | user

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