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

Server renderers configuration file


    1  Grammar
    2  Structure
    3  General structure
       3.1  Widget renderers
          3.1.1  Widget Basic declaration
          3.1.2  Widget Multiple renderers declarations
    4  Swing specificities
    5  Examples
       5.1  JavaFX examples
          5.1.1  Simple examples
          5.1.2  Examples with alternate paths
          5.1.3  Examples with alternate renderers
       5.2  Swing examples
          5.2.1  Examples with UI definition
    6  See also

This Server widgets rendering pipeline XML configuration file specifies the Java classes which implements the renderers of the ARINC 661 widgets and MapItems defined in the meta−definition. This file depends on the UI framework.

Grammar

See the Widgets renderers configuration Schema.

Structure

The XML file contains the following elements: The structure of the file has a few additional elements in Swing compared ot JavaFX to address for the Swing UIComponents architecture.

General structure

Widget renderers

The "widget" element specifies the list of renderers for the widget in the UI framework.

Widget Basic declaration

The most simple declaration is:

      <widget arincID="A661_GP_ARC_ELLIPSE">
         <renderer path="arinc661.server.jfx.model.stdrenderer.ArcEllipseRenderer"/>
      </widget>

Widget Multiple renderers declarations

It is also possible to specify more than one renderer for the same widget. For example:

      <widget arincID="A661_EDIT_BOX_NUMERIC">
         <renderer path="arinc661.server.jfx.model.stdrenderer.EditBoxNumericRenderer"/>
         <renderer id="label" path="arinc661.server.jfx.model.stdrenderer.LabelEditBoxNumericRenderer"/>
         <renderer id="spinner" path="arinc661.server.jfx.model.stdrenderer.EditBoxNumericSpinnerRenderer"/>
      </widget>

In that case:

Swing specificities

The Swing renderers XML configuration file contains the following additional elements for the "renderer" element:

      <xs:complexType name="renderer">
         <xs:sequence>
            <xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="path" type="xs:anySimpleType" use="required"/>
         <xs:attribute name="id" type="xs:token"/>
         <xs:attribute name="uiClassID" type="xs:token"/>
         <xs:attribute name="uiClass" type="xs:token"/>
         <xs:attribute name="lfName" type="xs:token"/>
      </xs:complexType>

In some cases, ARINC 661 widgets can't be modelled by existing Swing ComponentUI classes. In these cases, the XML renderer i mplementation can specify the additional optional following elements for the widget Swing renderer implementation:

Examples

JavaFX examples

Simple examples

For a SymbolCommand:

    <command arincID="A661_SYMBOL_DEFN_ARC_CIRCLE" path="arinc661.server.jfx.model.symbols.JFXSymbolCommand$DefArcCircle"/>

For a widget:

      <widget arincID="A661_GP_ARC_ELLIPSE">
         <renderer path="arinc661.server.jfx.model.stdrenderer.ArcEllipseRenderer"/>
      </widget>

For an extension:

      <extension arincID="A661_INITIAL_FOCUS_EXTENSION">
         <extensionRenderer path="arinc661.server.model.arinc.InitialFocusExtensionRenderer"/>
      </extension>

For an MapItem:

      <mapItem arincID="A661_LINE_SEGMENT">
         <mapItemRenderer path="arinc661.jfx.mapitems.LineCurveRenderer"/>
      </mapItem>

Examples with alternate paths

The A661_BASIC_CONTAINER widget is also used for in SuperLayers to model Displays and Layouts:

      <widget arincID="A661_BASIC_CONTAINER">
         <renderer path="arinc661.server.jfx.model.stdrenderer.BasicContainerRenderer"/>
         <widgetPath path="arinc661.server.jfx.wm.JFXServerDisplay"/>
         <widgetPath path="arinc661.server.wm.superlayer.AbstractServerCockpit$Selector"/>
         <widgetPath path="arinc661.server.wm.superlayer.ServerLayoutImpl"/>
      </widget>

Examples with alternate renderers

The A661_EDIT_BOX_NUMERIC widget has 3 renderers implementations:
      <widget arincID="A661_EDIT_BOX_NUMERIC">
         <renderer path="arinc661.server.jfx.model.stdrenderer.EditBoxNumericRenderer"/>
         <renderer id="label" path="arinc661.server.jfx.model.stdrenderer.LabelEditBoxNumericRenderer"/>
         <renderer id="spinner" path="arinc661.server.jfx.model.stdrenderer.EditBoxNumericSpinnerRenderer"/>
      </widget>

Swing examples

Examples with UI definition

As there is no Swing UIComponent to model the A661_GP_LINE widget, one specific UIComponent is provided in the J661 Swing implementation. The XML renderer implementation specifies the following elements for this widget Swing renderer implementation:
      <widget arincID="A661_GP_LINE" >
         <renderer path="arinc661.server.swing.model.stdrenderer.LineRenderer"
      uiClassID="LineUI"
      uiClass="arinc661.server.swing.ui.basic.LineRendererUI"
      lfName="Line" />
      </widget>

See Also


Category: server Category: dev

Copyright 2016 Dassault Aviation. All Rights Reserved. Documentation and source under the GPL v2 licence

Project Web Hosted by SourceForge.net Copyright 1999-2010 - Geeknet, Inc., All Rights Reserved About - Legal - Help