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

Widgets


    1  Widgets types
    2  Properties
       2.1  WidgetID
       2.2  StyleSet
       2.3  Runtime messages
       2.4  Example
    3  Events
       3.1  Example
    4  See also

A Widget is a reusable graphic component defined in the ARINC 661 standard. See the List of ARINC661 widgets for a list of widgets and their usage.

Extension blocks can be added to widgets on Definition Files to add optional features to existing widgets. Multiple extension blocks can be applied to a single widget to add multiple optional features to that widget. Runtime modifiable parameters and events may also be associated with an extension.

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
See the list of ARINC661 useful widgets article for a list of useful widgets and some of their Use Cases.

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>

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. Note that the ARINC 661 standard allows to specify the Look and Feel configuration of the CDS through an XML file.

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>

Events

Events which can be sent by a widget are specified by the widget events meta-definition.

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-definiton for the widget contains the following events for supplement 2:
      <event arincID="A661_EVT_SELECTION" type="empty" />

See also


Categories: arinc661 | user

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