Home
Categories
Dictionary
Glossary
Download
Project Details
Changes Log
What Links Here
FAQ
License

ARINC661 widgets


    1  Widgets types
    2  Properties
       2.1  Position and size
       2.2  WidgetID
       2.3  StyleSet
       2.4  Runtime messages
       2.5  Example
       2.6  Example
    3  See also

A Widget is a reusable graphic component defined in the ARINC 661 standard.

Widgets types

  • interactive widgets: ARINC 661 interactive widgets are similar to those defined in many others User interface markup languages; They are of two different types:
    • controls: ARINC 661 define control widgets. For example: buttons (A661_PUSH_BUTTON), combo boxes (A661_COMBO_BOX), check boxes (A661_CHECK_BOX), etc...
    • containers: ARINC 661 also define container widgets, such as panels
  • graphical widgets: ARINC 661 graphical widgets are not interactive, and allow to define lines, circles, and other graphical items
  • Map widgets: ARINC 661 map widgets allow to manage digital maps, with mission-specific runtime overlays such as Flight Plans, Radar plots and targets, etc...
  • Not graphical widgets: some specific ARINC 661 widgets are not graphic components. For example:
    • A661_BUFFER_FORMAT: allows to group the Client modifications for several widgets properties in one message

Properties

Widgets have properties which are defined for each widget type. Some of these properties may be modifiable at runtime. Some of the properties in Definition Files have a specific meaning:
  • WidgetIdent": The ID which identify the Widget in its Layer
  • "StyleSet": only available for widgets which have a graphical aspect, allows to set the Look of the Widget
For example:
      <a661_widget name="label" type="A661_LABEL">
         <model>
            <prop name="WidgetIdent" value="2" />
            <prop name="StyleSet" value="0" />
            ...
         </model>
      </a661_widget>

Position and size

The position and size of widgets is defined in in 100th of mm.

For example here the PushButton is position at (10000, 10000) in 100th of mm, and its size is a rectangle of a widget and height of 5000 100th of mm:
      <a661_widget name="label" type="A661PUSh_BUTTON">
         <model>
            <prop name="WidgetIdent" value="2" />
            <prop name="PosX" value="100000" />
            <prop name="PosY" value="100000" />
            <prop name="SizeX" value="5000" />
            <prop name="SizeY" value="5000" />            
            ...
         </model>
      </a661_widget>

WidgetID

The Widget ID specified allows to resolve completely a Widget in a Layer. This is an ushort value which is unique for all widgets in each Layer.

StyleSet

Almost all widgets which have a graphical representation have a StyleSet (A661_STYLE_SET property), modifiable at runtime, which allows to set and change the graphical aspect (Look and Feel) of the widget. For example, a A661_PUSH_BUTTON may have a 3D or a 2D style. The Look and feel of a widget depends on the implementation.

Runtime messages

Runtime properties are defined by the widget messages meta-definition. For example, for the A661_PUSH_BUTTON widget, only the following properties are modifiable at runtime for supplement 2:
  • A661_ENABLE
  • A661_VISIBLE
  • A661_STYLE_SET
  • A661_STRING
The meta-definition for the widget contains the following messages for supplement 2:
      <message type="byte_1" arincID="A661_ENABLE"/>
      <message type="byte_1" arincID="A661_VISIBLE"/>
      <message type="byte_2" arincID="A661_STYLE_SET"/>
      <message type="string" arincID="A661_STRING"/>

Example

For example, the A661_PUSH_BUTTON widget has the following properties:
      <widget arincID="A661_PUSH_BUTTON" hexID="0xA2A0" inherits="ABSTRACT_WIDGET" cat="interactive">
         <widgetAttr name="Enable" arincID="A661_ENABLE" />
         <widgetAttr name="Visible" arincID="A661_VISIBLE" />
         <widgetAttr name="PosX" arincID="A661_POS_X" />
         <widgetAttr name="PosY" arincID="A661_POS_Y" />
         <widgetAttr name="SizeX" arincID="A661_SIZE_X" />
         <widgetAttr name="SizeY" arincID="A661_SIZE_Y" />
         <widgetAttr name="StyleSet" arincID="A661_STYLE_SET" />
         <widgetAttr name="NextFocusedWidget" arincID="_FOCUS_ID" />
         <widgetAttr name="MaxStringLength" arincID="_MAXSTRINGLENGTH" />
         <widgetAttr name="AutomaticFocusMotion" arincID="_FOCUS_MOTION" />
         <widgetAttr name="Alignment" arincID="_ALIGNMENT" />
         <widgetAttr name="LabelString" arincID="A661_STRING" maxLength="_MAXSTRINGLENGTH" />
         <widgetAttr name="EntryValidation" arincID="A661_ENTRY_VALID" runtimeType="R" supp="3+"/>
         <message type="byte_1" arincID="A661_ENTRY_VALID" supp="3+"/>
         <message type="byte_1" arincID="A661_ENABLE" />
         <message type="byte_1" arincID="A661_VISIBLE" />
         <message type="byte_2" arincID="A661_STYLE_SET" />
         <message type="string" arincID="A661_STRING" />
         <event arincID="A661_EVT_SELECTION" />
      </widget>

Example

For example, for the A661_PUSH_BUTTON widget, ony the following event can be sent by the Server for supplement 2:
  • A661_EVT_SELECTION
The meta-definition for the widget contains the following events for supplement 2:
      <event arincID="A661_EVT_SELECTION" type="empty" />

See also


Categories: builtin-applis | uaappli

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