Swing). Widgets position and size in their container must always be defined exactly in an ARINC 661 definition. However, the supplement 3 of the standard has added a limited sort of "relative" layout capability between widgets (see Layout manager). There is no mechanism for defining the presentation and interactive behavior of elements equivalent to XBL used in XUL (or sXBL used in SVG). There are symbols that can be reused, but they are mainly shapes that cannot have behaviors (apart from defining their position, rotation, and color), or specific bindings. There is no equivalent of CSS, as they are used in XUL or SVG for example. Instead, the Look and feel of the interface is hard-coded in the ARINC 661 kernel. However, supplement 5 introduced a way to specify the Look of widgets. The standard does not have an equivalent of JavaScript, as used in SVG and XUL, so all specific behavior associated with the widgets must be performed by the UAs. The standard has defined specific "Map" widgets which allows to present elements such as Flight plans in CDS. Example The following example presents the XML Definition File for a Layer containing a panel enclosing a label, which shows the text "Hello World!". Note that contrary to most widget toolkits, ARINC 661 widgets origins are relative to the lower left-hand corner of their parent container, and screen units are not in pixel but in 1/100 of millimeters. <?xml version="1.0"?> <!DOCTYPE a661_df SYSTEM "a661.dtd"> <a661_df library_version="0" supp_version="2"> <model> <prop name="ApplicationId" value="1"/> </model> <a661_layer> <model> <prop name="LayerId" value="5"/> <prop name="ContextNumber" value="23"/> <prop name="Height" value="10000"/> <prop name="Width" value="10000"/> </model> <a661_widget name="SamplePanel" 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="STYLESET_DEFAULT" /> </model> <a661_widget name="Hello World 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="5000" /> <prop name="PosY" value="5000" /> <prop name="SizeX" value="1500" /> <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="T4" /> <prop name="ColorIndex" value="black" /> <prop name="Alignment" value="A661_CENTER" /> <prop name="LabelString" value="Hello World!" /> </model> </a661_widget> </a661_widget> </a661_layer> </a661_df> Development and tools support ARINC 661 GUI development includes tools for the specification of definition files and the kernel that use these files: Thanks to ARINC 661 concepts, the specification