1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Changes

From j661

Jump to: navigation, search

This present the release history of the J661 project, which contains a generic ARINC 661 Server, Client and Editor.

Aside from the trunk, there are currently several branches:

Contents

Archives before 0.51

See Changes before 0.51.

Version 0.51

Version 0.51 Beta 1 (31/07/2011)

There are no functional changes compared to 0.50.4 (0.50 is the maintenance branch). The only changes so far are the homogenization of the source code formatting, and further generification of the code.

  • Numerous source code layout changes to homogenize the source style
  • Further generification of the code

Version 0.51 Beta 2 (18/09/2011)

  • Fix the blinking ID being wrongly returned from the list of color names in the XML parser, when the blink was referenced by its name
  • Add an empty implementation for the A661_MAP_GRID widget (it does nothing for the moment, but Definition Files can be defined with this widget, including in the Editor)
  • Remove the A661_MAP_LEGACY widget beginning on supplement 5
  • Add new special characters from alpha to omega, as of the last ARINC 661 supplement 5 draft
  • Use version 0.5 of the MDIUtilities library
  • Use version 0.5.1 of the MDIFramework library
  • Fix some unit tests which were failing on Mac OS X
  • Fix the DEFN_TEXT symbol definition which was not showing its text anymore, and add Unit tests for Symbols
  • Make the Editor look less alien in MAC OS X, by showing the menu on the top screen menubar, name the application correctly on MAC OS X, and use the brushed metal feel for the top window
  • Add focus support for the CSS Look and Feel
  • Fix an exception which was fired when modifying a size or length parameter in the Editor
  • Fix a regression which caused the Debug dialog not to be presented at Debug start (for the Debug plugin)
  • Avoid possible exceptions when initializing the first configuration dialog before the GUI starts in the Editor
  • Move the widgets stack pop() method to avoid possible exceptions if Definition Files with some unimplemented widgets are encountered
  • Add the ability to use plugins in the Embedded Client
  • Use the 0.7 release of the expressionJ library for the Embedded Client and the Debugger. This version allows to define arbitrary expressions, including enclosed expressions used as function parameters declarations
  • Add new capability to define simplistic Network configuration in the XML configuration File
  • Now several Layers with the same AppliID and layerID can be loaded or created in the Editor
  • Preliminary work for ARINC extensions support. ARINC extensions are now defined in the ARINC 661 XML model and are parsed at start for both the server and the Client, and Server ARINC 661 extensions have a corresponding implementation which is bound to the extension definition
  • Fail gracefully rather than throwing an Exception if the DataProvider configuration refer to a DataProvider which does not exist
  • Add a FGLiveProvider contrib, which connect to a live instance of FlightGear

Version 0.51 Beta 3 (05/10/2011)

  • Allow the Server, Client and Editor to use a built-in Symbol definition library (not specific of any Definition File), in addition to Symbols defined for each Definition File
  • Add a "Replace By" function in the Editor which allows to replace any widget in the Editor by another one
  • Add a "Scale" function in the Editor which allows to scale any group of widgets
  • Fix the A661_RADIO_BOX widget not being transparent in certain Look and Feels
  • Fix the A661_GP_ELLIPSE StartAngle and EndAngle not having the right values for "real" Ellipses in the general case (if width and height are not equal)
  • Fix the A661_PICTURE widget picture not being visible in the renderer if the Picture Reference goes from being NULL to having an existing picture reference
  • The initial value for the "Anonymous" parameter for the A661_PICTURE widget when created in the Editor should be A661_FALSE
  • Allow to use the numeric keyboard arrow keys to move the widgets precisely
  • Allow to configure the delta position for the copy and paste function in the Editor
  • Add a ZoomIn / ZoomOut function in the Editor

Version 0.51 Beta 4 (08/10/2011)

  • Fix a problem in the Editor using almost 100% of the CPU resources since the Zoom function has been added in the previous Beta 3 release. The architecture of the delegating JXLayer for the UI of the Editor artificially set the view dirty much more than it was necessary

Version 0.51 Beta 5 (26/10/2011)

  • Use version 0.6.1 of the MDIUtilities library
  • Use version 0.6 of the MDIFramework library
  • Saved Editor configurations are now reusable across installations of the application. The files properties paths used in the configuration are now relative to the base directory where the configuration is saved when possible
  • Use the 0.8 Beta 1 release of the expressionJ library for the Embedded Client and the Debugger, which boost the embed client expression evaluation performance approximately from 50% to 100%
  • Fix the Client and Server GUI not playing well with file paths using spaces characters
  • Fix various bugs in the ReplaceBy feature in the Editor
  • Regression: Fix the GUI Client not able to load XML Definition Files
  • Allow fonts with non integer sizes in the Synth2 Look and Feel
  • Change the default creation parameters when creating new NumericReadout widgets in the Editor: the legend is now empty at creation
  • Add a new global property to change the way clipped text strings are presented in the Synth2 Look and Feel: in addition to the default Java behavior which shows an ellipsis in this case, it is also possible with the global property labelsEllipsis to just clip the text
  • Fix the behavior of NumericReadout, EditBoxNumeric, and EditBoxNumericBCD widgets when there is a "+" in the format to define that the sign must be present in the output. The previous implementation presented both the "+" sign and the "-" sign if the value was negative
  • Fix the recomputing of the dimensions of the value and legend zones in the NumericReadout widget if the width of the widget is changed
  • Fix the Legend alignment which was not correct in the EditBoxNumeric widget
  • Fix "non special" characters which were not taken into account in the format pattern for the EditBoxNumeric, NumericReadout, and EditBoxNumericBCD widgets (for example, "## NM" would show "20" and not "20 NM" for the value 20)
  • Fix an exception occurring in the Editor when the Mouse Wheel was used in the interactive mode

Version 0.51 Final (01/11/2011)

  • Add a graphicWidget.halo property for graphic widgets in the Synth2 Look and Feel to allow ignoring Haloing properties
  • Fix the parsing of rectangle definitions for Clippings (used in the A661_MASK_CONTAINER widget)
  • Add the ability to use round rectangles in Clippings
  • Allow to define clippings by using constructive geometry
  • Don't allow to select a widget in the Editor if this widget is not visible
  • Add the ability to define gradient textures for A661_GP_LINE widgets in the Synth2 Look and Feel
  • Fix the layer panels not being updated when using the Scrollbars in the Editor since the add of the ZoomIn / ZoomOut function
  • Fix a regression in the Editor preventing to change the Layer ID since the add of the ZoomIn / ZoomOut function

Version 0.51.1 (03/11/2011)

  • Serialize the enumeration values for the Symbol commands in the Editor, as XML Definition Files in their ARINC 661 identification (such as A661_CENTER) rather than their numeric value
  • Fix the Symbols not being able to be selected in the Editor graphical panel
  • Fix the horizontal position and alignment of DEFN_TEXT Symbol commands (texts Symbol commands)
  • Add the ability to define gradient textures for A661_GP_LINE_POLAR and A661_GP_POLYLINE widgets in the Synth2 Look and Feel
  • Take into account immediately in the Editor the change of the number of vertex for the A661_GP_POLYLINE widget for its graphic renderer
  • Fix the overlays used for the widgets selection in the Editor when the widgets are under containers
  • Fix the overlay for A661_GP_LINE widgets
  • Avoid to compute the shape of the A661_LABEL widget renderer when it is not useful to do it

Version 0.51.2 (09/11/2011)

  • Add a "lock" option in the Editor allowing to prevent widgets to be modified. It can be useful if users want to use the Editor only in consultation mode
  • Fix a problem in the Network configuration file which prevented specific Channel properties such as maximumQueueSize or queueRate to be defined. It resulted in a default queue size being defined in all cases, even if the Properties file defined specific values for these parameters. Definitions for these parameters in the Network configuration file are now honored, but if they are not defined in the configuration file but are defined in the properties file, the properties file value will be used
  • Fix a problem which prevented children for several container widgets to be loaded at initialization in Binary Definition Files

Version 0.51.3

Version 0.51.3 Beta 1 (14/11/2011)

  • Fix potential cases where some Server events parameters would be skipped when sending the corresponding message to the Client
  • Fix the autoStart property of the Scenario plugin, which was not working anymore
  • Add a new XML format support for the properties file used in the Client or Server
  • Fix several problems in the cursor devices example
  • Add a handler in the cursor devices example which allows to disconnect the cursor from the Client messages by using the F12 key. The key works as a toggle, which means that if you press F12 once, the cursor will not be linked to the Client messages anymore (the cursor will be normally linked to the users PC mouse), and if you press it once more, it will again be linked to the Client message
  • Fix the Server not being able to find resources (fonts or images) whose path includes space characters in the Synth2 Look and Feel
  • Preliminary support for parsing of Symbols in Binary Definition Files, for the Client, and the Server
  • Preliminary support for saving Symbols in binary Definition Files
  • Add support for the A661_SYMBOL_DEFN_SET_HALO and A661_SYMBOL_DEFN_LINE_POLAR symbol commands
  • Avoid to fire an exception if the layers list in a Definition File is null when removing the DF
  • Use version 0.6.2 of the MDIUtilities library
  • Use version 0.6.1 of the MDIFramework library

Version 0.51.3 Beta 2 (15/11/2011)

  • Fix a regression in the Synth2 Look and Feel which appeared in Beta 1, and prevented to parse the synth2 configuration which contained resources. Now the resources should be parsed correctly, even when their path includes space characters
  • Add a new "protocol.isSilent" property which allows for Network protocols which support it to receive messages (and even store the binary buffer when saving scenarios for example), but do not parse the content of the buffer. This allows to save all messages received by a Server (or even a Client) with their exact time stamp, even when the rate of messages is far bigger than what the Server can process, or even in rare cases if the content may crash the Server

Version 0.51.3 Beta 3 (16/11/2011)

Version 0.51.3 final (20/11/2011)

  • Add alias names for protocol.maxQueueSize and protocol.queueRate for the Protocol event queue configuration properties used in the Network configuration XML file. They can also be named maximumQueueSize and queueRate as in the properties file
  • Add alias names for protocol.host as protocol.serverHost and protocol.clientHost for respectively the Client and the Server, in the Network configuration XML file
  • Fix a bug which would lead to an exception in some cases in high workload scenarios when more than one channel of communication is defined in the Network configuration XML file
  • Fix the Server not being able to find resources (fonts or images) whose path includes space characters for the Colors and Fonts definition of the Server graphic properties
  • Use version 0.6.3 of the MDIUtilities library
  • Take into account A661_SYMBOL_DEFN_TEXT Symbol commands when calculating Symbol shapes for selection in the Editor
  • Fix the padding for the A661_SYMBOL_DEFN_TEXT Symbol command which was wrongly defined before the Alignment attribute, which resulted in a wrongly defined Alignment attribute (with a char value of 0) after parsing of Binary Definition Files using this command
  • Fix the padding for StringArray attributes not being applied when decoding Binary Definition Files
  • Fix the padding for StringArray attributes wrongly being applied after the end of the all the Strings when saving Definition Files as binary, while it should have been applied for each String
  • Fix the padding calculation for BooleanArrays being off by one byte per each boolean when saving Definition Files as binary
  • Fix the coding of the scaled integer values for fr(x) attributes, which were wrong for values at the maximum of the fr(x) range. For example 180 degrees would be coded as -180 because it is just outside the maximum range of the scaled integer

Version 0.52

Version 0.52 Beta 1 (11/12/2011)

  • Fix a last bug in the Server engine code which would lead to an exception in some cases in high workload scenarios when more than one channel of communication is defined in the Network configuration XML file. Sorry for that, but it really seems to be the last, "real" high workload scenarios seem to work fine now
  • Fixed a regression which resulted in the Scenario plugin not taking into account acceleration defined by the user when reading a scenario
  • Fixed the slider defining the acceleration in the Scenario plugin options panel to show the last defined acceleration if accessed again if an acceleration was previously defined
  • Fix a bug that could be experienced in the Scenario plugin where part of the logic for sending messages in the Client or Server was still triggered when the Client or Server was not connected, which could lead to an exception in some cases by overflowing the unused messages buffer
  • Don't put as a condition to set the DTD public ID of the generic SAXParser that the parser must be validating
  • Fix the acceleration in the Scenario plugin not being reset in the Scenario manager if changed in the options panel from a value different from 1 to 1
  • Fix a wrong use of the Server built-in symbols class in the Client which would create an exception if using global symbols in the Client
  • Reorganize code to remove many critical sections (synchronized methods) which were used for the ARINC buffers parsing and associated rendering code in the Client and the Server. Only very small ones which are absolutely necessary are still there (normally the only ones remaining are those which are used to communicate the state of the Swing UI thread to the decoder thread, and sending orders from the decoder thread to the UI thread). Note that this change should normally have no impact, except for plugins which use directly the Network protocol (it is the case for the Debug Plugin for example) or which use subclasses of the Server or the Editor engines. One related change moves some event classes in the common package, which impact the imports defined for the scripts used with the Scripting plugin. However, these imports are automatically performed by the plugin itself for each script (they do not have to be defined by the user), so this should have no impact on existing scripts
  • Simplify the selection for the properties file when starting the Client or the server. Now add another choice in the file types selection for XML or .properties files
  • Exit the Client application rather than starting it without any configuration if the user cancels the properties selection at start (if no properties have been defined in the command line)
  • Make the logging of Client or Server events more generic; Now the "Server:" or "Client:" tags put before the log itself are managed directly in the logger, depending on the type of Engine, rather than in the logger caller
  • Add many @SuppressWarnings("serial") in UI classes for code clarity. Many UI classes are not designed to be serialized
  • Fix the cursor never being able to be added to a display if it has been removed before
  • Allow to force the value for the screen density in dots per inch in the Server properties file, for screen which would not advertise it correctly. The parameter is named server.screenDensity
  • Fix some paddings used for several widget events definition, which were incorrectly defined in the ARINC 661 XML model used in the project. The resulting events did not conform to the standard for sending or receiving: A661_EVT_STATE_CHANGE for PictureToggleButton and ToggleButton widgets, A661_EVT_CURSOR_ENTER, A661_EVT_CURSOR_INSIDE, and A661_EVT_CURSOR_EXIT for CursorOver widget, and A661_EVT_CURSOR_POS_CHANGE in CursorPosOverlay widget
  • Check the existence of the files selected in the Editor configuration, when retrieving the user configuration
  • Fix the cursor example in the devices demo which incorrectly returned A661_CURSOR_UP when it was leaving the display by the bottom, and A661_CURSOR_DOWN when leaving the display by the top
  • Improve presentation of performance in the Server window
  • Fix bug 3447181 : now the maximum size of an array is correctly updated if an array size is changed by adding new entries in the Editor
  • Fix bug 3453059 for the Server, the Editor, and the Client: It a XML Definition File contains widgets using arrays, and these arrays have more elements than their maximum number of elements as defined in the DF, the Editor, the Server, and the Client load the Definition File correctly, truncating the array if necessary
  • Fix bug 3457260 for the Server, the Editor, and the Client: It a binary Definition File contains widgets using arrays, and these arrays have more elements than their maximum number of elements as defined in the DF, the Editor, the Server, and the Client load the Definition File correctly, truncating the array if necessary
  • Fix bug 3457305: The GUI Client engine now loads binary Definition Files correctly
  • Make sure that the ComboBox and the ComboBoxEdit widget do not have an invalid selectedEntry in the rendering code. If the value of the A661_SELECTED_ENTRY parameter is less than 0, then it will be assumed 0 by the renderer. This 0 value allows not to show the currently selected entry in the default Look and feel for these widgets

Version 0.52 Beta 2 (22/12/2012)

  • Add a new mode for the blocking reception event queue: apart from the default mode where the update and rendering is triggered by the reception of content for the associated Layers, there is now a second mode where updates and associated rendering for the layers associated with a Channel are triggered periodically regardless of the protocol reception. The name of the property which trigger this behavior is updatePeriodMS
  • Now if the properties file passed at the Client java API creation define a SuperLayer window manager Windows definition, the associated Layers List (see Client launcher) will be automatically loaded when creating the API
  • Use version 0.6.4 of the MDIUtilities library
  • Protect the Editor against paths stored in the user configuration retrieved at start, if they do not exist in the network
  • Add properties to fine-grain TCP or UDP options for the network protocol (TCP_NODELAY, SO_RCVBUF, SO_SNDBUF, IP_TOS)
  • Fix bug 3464002: Fix the setting of protocols in the case of a Network configuration. Now if no protocol type is defined (with the property protocol) for a Channel, the protocol defined in the Launcher properties file is used. The UDP protocol will be used by default only if no protocol is defined in the properties file
  • Fix bug 3464016: Fix reconnection of TCP protocols after they had been disconnected

Version 0.52 Beta 3 (13/01/2012)

  • Change the JOGL version to 2.0rc5
  • Fix bug 3469267: The same byte buffer is used for both the inputs and outputs of the TCP protocol, the output buffer being used for both the input and output. This results in the fact that if the Server receive a message which is bigger than its output buffer, the protocol will fire an exception
  • Fix bug 3469268: The output port may be opened twice in certain cases when using the TCP protocol, resulting in an exception when connecting the ports
  • Fix enhancement 3469269: When receiving a message bigger than the size of the input buffer, the Client or Server should fire a clean ARINC Runtime exception rather than a Java exception
  • Fix bug 3469583: Fix reconnection of TCP protocols after they had been disconnected (regression for 3464016)
  • Fix bug 3469584: It is impossible to restart a scenario if it had been stopped by the user previously
  • Allow to use constants in the Cockpit configuration
  • Fix bug 3471028: There is a null pointer exception when trying to change a layer name in the Editor, if trying to change the width or height of the layer after the renaming
  • Fix the default cursor renderer implementation still showing the cursor even if it had been set invisible by the Client

Version 0.52 Beta 4 (19/02/2012)

  • Name each Thread according to its usage
  • Make the configuration parameters private, and ensure that all configuration properties are accessed by getters rather than getting the fields directly
  • Add an example about retrieving a parameter for a widget event in the Scripting samples
  • Add a standalone ant script to be used outside Netbeans or for Eclipse users
  • The testUtilities jar is not useful anymore on the project, utilities classes are directly present in the Unit tests package
  • Remove the new loop mode for the blocking reception event queue, introduced in 0.52 Beta 2
  • Add a new printEventQueue property which allows to see what's happening in the queue of events
  • Add a new debugBuffer property which allows to disable the updating of widgets on a per-widget basis to fine grain the performance monitoring for the Server
  • Reduce lag between events reception and graphic updating in high throughput scenarios
  • Share more code for the configuration parser between the Client and the Server
  • Replace Groovy 1.7.4 by the new 1.8.5 release. This release bring performance enhancement to the Groovy scripts used in the Client
  • Change the name of two properties: Change the name of the protocol.maxQueueSize property for maximumQueueSize, and change the name of the protocol.queueRate property for queueRate
  • Fix a bug in the Event queue Limiting reception mechanism which leaded in some cases to some messages not being memorized in the queue even if the queue size has still not been reached
  • Fix the times presented in the Server logger being incorrect in some cases
  • Fix bug 3484663: If a Definition File is opened, then saved with another name, the opened tab will remain but will be renamed with the saved name (which is normal), but if now the previous file is reopened, it's name will have a number tag at the end as if the previous tab was still opened. For example, if the user open the Definition File "toto.xml", then save it as "tutu.xml", the name of the tab will be changed as tutu which is normal, but if the previous "toto.xml" Definition File is reopened, it will be opened with the "toto_1" name instead of "toto"
  • Fix bug 3484380: If the "Grid Coarse" settings are modified, the "Grid Fine" disappears, and it's value must be modified to make it reappear
  • Keep only the content under the "distrib" directory in the binary release to avoid duplicates for config and samples directories
  • Fix bug 3484379: If one Definition File is saved and it is opened in another tab (while the first tab remains opened), and the user tries to close the first tab, its the second tab which is closed instead, and a Java exception is thrown
  • Use the 0.8.1 release of the expressionJ library for the Embedded Client and the Debugger
  • Fix the "stateful" type for the DataProvider configuration. This kind of received data management should bring an improved performance for the DataProviders
  • Improve the DataProvider API to allow more flexibility for DataProviders, including the UI
  • Allow to override type properties in the Cockpit configuration, for both the default Layout of a display instance, and the default layer of a Window instance
  • Update the FGLiveProvider and FGPlayback contribs

Version 0.52 Beta 5 (19/02/2012)

Version 0.52 Beta 6 (11/03/2012)

  • Use the 0.9 Beta 2 release of the expressionJ library for the Embedded Client and the Debugger.
    • This release fix many bugs in the expression parsing and evaluating,
    • Add several new operators in the expression language: modulo (%), atn2, and xor (^)
    • Add several new features in the expressions syntax: the ability to use blocks of code in expressions, the ability to use local variables in expressions, the ability to use affectations in expressions, the ability to use if-then-else or while constructs in expressions
  • Fix a Groovy library reference bug which prevented the Scripting plugin to use the Groovy library
  • Add the capability to define default values for parameters in the Editor using hexadecimal values
  • Preliminary support for the BroadcastReceiver widget. The widget can be created in the Editor but has no behavior for the moment
  • Update the ARINC 661 XML DTD to support the ARINC extensions concept
  • Fix exceptions which could arise in the Editor when trying to select children of the BlinkingContainer Widget in the widget tree, or when resizing the window, if the container was currently blinking
  • Fix an exception arising when starting an Embedded Client but cancelling without selecting any properties file
  • Add an optional list of external inputs to the DataProvider configuration. For now the content of this node is not used by the Embedded Client because it infer the external inputs from the list of variables which are not the result of any calculation
  • Fix bugs in the parsing of precomputings in the DataProvider configuration
  • Various fixes in the Embedded Client to make it work correctly with DataProviders defined by the Compile time way
  • More fixes for the "stateful" type for the DataProvider configuration
  • Allow non array constants in the DataProvider configuration
  • Fix dependency resolution between variables in the DataProvider configuration, which previously could lead to StackOverflow errors for some complex dependency contexts
  • Make sure that the default Data component provided by the Embedded Client package does only show external variables in the list
  • Add the ability to define equations as character data in the DataProvider configuration, to mallow ot write easily readable multiline equations
  • Add a default DataProvider in the distribution
  • Add the ScaledTranslationContainer in the list of widgets defined as groupable containers in the Editor
  • Make sure that boolean values set by the Client for character values are handled correctly in the ARINC 661 communication, even if their type as set for the Client is not boolean
  • Update contribs and demos to the 0.52 Beta 6 version

Version 0.52 Beta 7 (25/03/2012)

  • Further generification of the code, and removal of various unused variables
  • Use the 0.9.1 release of the expressionJ library for the Embedded Client and the Debugger.
    • Add several new operators in the expression language: ++, --, +=, -=, *=, and /=
    • Make the expression engine much more lenient to overuse of semicolons in expressions
    • Allow comments in expressions
    • Add the sign and echo functions
  • The name of the Definition File inside an XML Definition File is now parsed and is kept instead of the name body of the associated file, and it can also be changed by the user in the Editor (for example, a Definition File named defFile.xml can have a different name in the XML file than defFile)
  • Add a new server.offsetRendering option for the Server launcher which force the container offset behavior of the Server
  • Fix String values in messages received by the Client not being parsed correctly
  • Allow to define multi-line equations for the DataProvider configuration
  • Allow to add extensions to the DataProvider configuration
  • The default Data component provided by the Embedded Client package can now optionally show in another tab the internal variables
  • Fix the default legendArea width for the EditBoxNumeric and EditBoxNumericBCD widgets being too large in the Editor (when creating the widget)
  • Fix some graphical regressions since the change to the JOGL version to 2.0rc5 (gray background of windows, some widgets not having the selected Look and Feel)
  • Simplify the way the Editor create and remove Definition Files
  • Make sure that the names shown in the Editor panels do only use the file name body of the opened Definition File
  • Some fixes for the cut and paste behavior in the Editor, when the gestures are performed directly in the Layer panel

Version 0.52 final (17/04/2012)

  • Change the JOGL version to autobuild (preview of 2.0rc6)
  • Fixes for the Server OpenGL embedded mode: now the textured mode works correctly again, and the direct mode begins to work in simple use cases
  • The license for the OpenGL plugin becomes LGPL v2
  • Fixes to avoid instability of characters positions in Labels which rotate rapidly. The fix is a workaround for a problem which seem to be in the JDK Graphics2D.drawString method
  • Compute correctly the modification tag for the A661_ENABLE parameter, rather than always consider that it's modified
  • Use the 0.9.2 release of the expressionJ library for the Embedded Client and the Debugger.
    • Allow semicolons inside function declaration
    • Fix expressions before semicolons followed by function expressions not being taken into account in some cases
    • Add the array declaration and array affectation expressions
  • Use the 0.4.3 version of the JEditor library, allowing to undo/redo changes in the Scripting plugin Script Editor
  • Use version 0.6.5 of the MDIUtilities library
  • Use version 0.6.2 of the MDIFramework library
  • Now the title of the tab for a Definition File shows if the Definition File has been modified in any way (by presenting a training "*" in the name of the tab). If the file is saved, the trailing "*" is removed
  • Fix the name of the LEGEND_ANCHOR MapItem X and Y parameters according to the standard
  • Add the A661_LEGEND_ANCHOR_ROTATED MapItems
  • Add the following MapItems: A661_SYMBOL_RECTANGLE, A661_SYMBOL_RECTANGLE_INTERACTIVE
  • Add the A661_DRAW_LINE_TO_CURSOR MapItem. For the moment this MapItem is still not supported by the Server
  • Take into account the FillStyleIndex parameter in the A661_SYMBOL_RECTANGLE and A661_SYMBOL_OVAL MapItems, and also in polygons as well (A661_FILLED_POLY_START and A661_LINE_SEGMENT)
  • Simplify the XML meta-model for MapItems, collapsing the two MapVertical and MapHorizontal definitions in only one usable for both horizontal and vertical Maps, when it's possible
  • add A661_TRIANGLE_STRIP_START, A661_TRIANGLE_SEGMENT, A661_TRIANGLE_SEGMENT_DOUBLE, A661_TRIANGLE_END, A661_TRIANGLE_END_DOUBLE, A661_TRIANGLE_FAN_START MapItems. For the moment these MapItems are still not supported by the Server
  • Swap the hexadecimal IDs for the widgets A661_CURSOR_OVER and A661_CURSOR_POS_OVERLAY, according to the standard
  • Allow colors with alpha values for the Server background and Window borders
  • Fix the embedded Server opened in the Editor naming the Definition Files incorrectly when opened and closed several times in the same Definition Files
  • Fix the Look and Feel of the embedded Server being different from the current Look and Feel of the Editor when opened, and inconsistent with the name of the Look and Feel combo

Version 0.52.1 (25/04/2012)

  • Fix a regression in 0.52 final where the font of a Label (A661_LABEL) would be set to the default font before the first font or style modification

Version 0.53

Version 0.53 Beta 1 (01/05/2012)

  • Fix some artifacts in the OpenGL Embedded embedded mode, and possible Heap Space Exception in this mode after many drawings
  • Fix the MutuallyExclusiveContainer widgets not showing correctly in the OpenGL Embedded mode, and simplify the way the container handles its children
  • Handle multi-displays in the OpenGL Embedded mode
  • Fix a regression where the image of the cursor could not be customized anymore
  • Fix the overlay Shape of RotationContainers in the Editor having twice the angle of the Rotation
  • Generification of the widgets definition fields in the Server
  • Fix an exception arising when trying to change the name of a Definition File in its properties panel
  • Support undo/redo in the Editor: so far, undo/redo is supported for creating/deleting widgets, changing widget properties (including widgets positions, names and IDs), cut and paste / copy and paste for group of widgets, scaling of widgets, group /ungroup of widgets
  • Add a Save On Close function when closing the Editor, allowing to save automatically Definition Files corresponding to existing files if they are recognized as modified since the saved file version. Add an Editor settings to activate or not the Save On Close function when closing the Editor
  • Fix a problem when the widget ID of a widget whose ID was changed in the Editor would not be able to be reused in the same session
  • Fix a bug where changes of the A661_ENABLED property where not taken into account
  • Fix a Bug where performing too many backspaces on a A661_COMBO_BOX_EDIT would lead to an exception
  • Fix a bug where some text Widgets (such as A661_COMBO_BOX_EDIT) would not have the focus correctly in the Editor, making impossible to change their text content
  • Return a more readable exception message if a property in the Synth2 Look and Feel have a wrong type
  • Fix the Right/Left orientation of the A661_SIZE_TO_FIT_CONTAINER widget renderer being inconsistent with the specification
  • Allow to delete a Layer by using the Del key
  • Fix a bug in the Editor resulting in the incapacity to delete the second Layer, after the creation of two new layers with their default names
  • Fix the Editor not showing as modified a Definition File after a cut and paste has been performed on it in some cases
  • Fix the Editor tree removing the wrong widget if using the arrow keys
  • Fix the shape (and overlay in the Editor) of a A661_GP_TRIANGLE being incorrect after changing one coordinate (for example in the Editor panel)
  • Fix the overlay of a A661_GP_LINE being incorrect in the Editor after changing one coordinate in the Editor panel
  • Fix the overlay of some widgets in the editor not changing if the widget is moved by using the property panel
  • Fix the cut and paste and copy and paste dialogs reverting the order of pasted widgets when pasting after other widgets (pasting under and before were behaving fine)
  • Fix the incorrect move of widget which were inside RotationContainers in the Editor. The move was performed in the local widget coordinate system, when it should have been performed taking into account the fact that some amount of rotation was applied to it
  • Add a setting in the Editor which ensures that all widget names are compatible with C code
  • Fix alignment operations in the Editor which now systematically use the elements selected in the image
  • Take into account and send to the Client according to the standard the selection of MapItems in Map widgets: Highlight detection is processed but still not implemented in the MapItems Look. The selection in the Map widget background is implemented but no message is still sent to the Client in this case
  • Several fixes for projections in the Maps
  • Do not emit a warning if there exist a MapItem in the MapItems UI library which does not exist for the supplement supported by the Server, because it is not a problem, we can silently ignore it, supporting more than it is required in the Maps is not a bug and won't cause any problem
  • Fix a problem which could occurred while parsing MapItems in the ARINC 661 XML model. If the Mapitem was not supported by the current supplement, the attributes discovered for this discarded MapItem were added to for the previous one
  • Update the Project demos to adapt to the APIs changes

Version 0.53 Beta 2 (04/05/2012)

  • Change some fields and methods for the RectangleRenderer, ArcCircleRenderer, ArcEllipseRenderer, CrownRenderer, LineRenderer, PolylineRenderer, and PolarLineRenderer from private to protected to allow for easier customization for these widgets
  • Add the definition of the ARINC 661 values A661_UP and A661_DOWN in the ARINC 661 XML model
  • The overlay-type widgets are not initialized correctly in the Editor, which result in the A661_CURSOR_POS widget not behaving properly in the Editor
  • The long and ulong types are not taken into account in the sending of widget events in the Server
  • Fix a regression since 0.52 final where A661_LABEL colors would always be black for Labels which would have an Halo, in the Synth2 Look and Feel
  • Fix a regression since 0.53 Beta 1 where A661_MUTUALLY_EXCLUSIVE_CONTAINERs would not update their children correctly
  • Add several parameters to the background image in the Editor (offset and scale of the image)

Version 0.53 Beta 3 (13/05/2012)

  • Fix the Client logger not showing the content of a widget event received from the Server if the message contains some named parameters rather than only unnamed values
  • Fix the Client logger showing illegible values if the content of a widget event received from the Server contains characters
  • Take into account and send to the Client the selection in the Map widgets background according to the standard the selection of MapItems in Map widgets
  • Take into account highlight detection in maps. Add a property to allow to send the A661_EVT_SELECTION event on Maps on highlight rather than by clicking on the MapItem
  • Fix a potential NoClassDefFound error when creating a new MapItem, in the case where the MapItems library was defined with an older incompatible version of the J661 framework
  • Fix clicking on the Enter key not validating changes for the A661_EDIT_BOX_NUMERIC widget when the keyboard is not allowed for the widget
  • Allow more customization in the DataProvider configuration: now global properties, and the class responsible for handling of the messages to send to the Server, can be defined and used by specific extensions
  • Add a new mode of sending events from the Client to the Server in the Embedded Client, where sending messages is not controlled by the provider, but sent cyclically by the framework
  • Improve the precision of widgets positioning by replacing the simple (int) cast by a Math.round followed by a cast in the utilities classes
  • Update the Project demos to adapt to the Maps changes
  • Update the FGLiveProvider and FGPlayback contribs

Version 0.53 Beta 4 (15/05/2012)

  • Fix the rotation of A661_SYMBOL_OVAL, A661_SYMBOL_RECTANGLE, A661_SYMBOL_TARGET, and A661_SYMBOL_ROTATED MapItems in MapHorz Map widgets when the MapHorz has a rotation angle different from 0
  • Fix several bugs in non trivial A661_LEGEND MapItems presentations (like change of ItemStyle between several A661_LEGEND MapItems)
  • Support A661_LEGEND_ANCHOR_ROTATED (previously the 661_LEGEND_ANCHOR_ROTATED did not rotate the following A661_LEGEND MapItems, but it behaved like A661_LEGEND_ANCHOR)
  • Add the capability to add a border and background texture for a legend, and support the A661_LEGEND_POPUP MapItem
  • Fix the Y position of the A661_LABEL widget in the Synth2 Look and Feel
  • Fix some cases with complex Definition Files where the font defined for a A661_LABEL in the Synth2 Look and Feel, for a particular StyleSet, would not be honored correctly by the Server
  • Change the Image Plugin and the snapshot framework to save a snapshot only for the currently selected Layer in the Editor
  • Add an Editor setting for the snapshot framework to keep the overlay when saving a snapshot for a Layer
  • Allow to reset the settings in the Editor. This is useful when a File referenced in the settings is modified, to be able to take these changes into account without having to reselect it in the settings
  • Fix undo/redo when deleting a list of widgets at the root of a Layer

Version 0.53 Beta 5 (31/05/2012)

  • Use version 0.6.6 of the MDIUtilities library
  • Take into account highlight detection and selection in maps for A661_LINE_SEGMENT and A661_LINE_ARC MapItems
  • Remove one unused DataProvider configuration for the Embedded Client
  • Further fixes in the OpenGL embedded mode, now complex Definition Files are rendered correctly in OpenGL
  • Improve the default value given to the Range, RangeX, and RangeY parameters to newly created A661_MAP_HORZ and A661_MAP_VERT widgets in the Editor
  • Add a new property for the Label components in the Synth2 Look and Feel, to allow to have two different fonts for the integer and the decimal parts of a label. This is particularly useful for the A661_NUMERIC_READOUT widget
  • Add a new Editor scripting Plugin. This plugin allows to use groovy scripts to check the content of a Layer in the Editor, or even change parameter values for widgets. This allows some kind of batch processing for Definition Files.

Version 0.53 Beta 6 (06/06/2012)

  • Fix some deprecation warnings in the synth2 package
  • Implement MapItems A661_FILLED_POLY_START, A661_TRIANGLE_STRIP_START, A661_TRIANGLE_FAN_START, A661_TRIANGLE_SEGMENT, A661_TRIANGLE_SEGMENT_DOUBLE, A661_TRIANGLE_END, A661_TRIANGLE_END_DOUBLE and their associated interactive versions
  • Implement the A661_DRAW_LINE_TO_CURSOR MapItem
  • Implement the A661_EVT_INCREMENT event in the A661_MAP_HORZ_SOURCE widget
  • Fix a unused "ApplyScript" menu appearing in the embedded Client GUI since the creation of the Editor scripting Plugin
  • Some small fixes in the OpenGL embedded mode. The mouse and keyboard start to be usable in the context of an external C/C++ application
  • A small fix for undo/redo when renaming widgets. Renaming is now performed through the layer, to make sure that the widgets names map in the Editor is always synchronized with the last changes
  • Fix for undo/redo when changing widget A661_STRING attributes, which was not working (the value of the attributes did not change on undo)
  • Fix exceptions for "Component not Showing on the Screen" exceptions which could appear when using the Editor scripting Plugin and changing widgets parameters by scripting
  • Add transparent undo/redo support for the Editor scripting Plugin
  • Fix an inversion regression in previous Beta 5 between the first and second coordinate for the PRP reference point in the Lat/Long and Bearing projections
  • The Maps plugin should send an empty BufferOfItems with the ClearFlag parameter rather than prevent the send if the ClearFlag parameter is set to true
  • The content of the BufferOfItems parameters should be presented by the Debug plugin
  • Show in the Client, Server or Editor at start inconsistencies in runtime widget messages definition
  • Fix an inconsistency of the A661_NUMBER_OF_VISIBLE_CHILDREN runtime message definition for the A661_SIZE_TO_FIT_CONTAINER and A661_SHUFFLE_TO_FIT_CONTAINER widgets
  • Add the A661_POS_X, A661_POS_Y, A661_SIZE_X, and A661_SIZE_Y runtime messages for the A661_SIZE_TO_FIT_CONTAINER and A661_SHUFFLE_TO_FIT_CONTAINER widgets
  • Allow to use different symbols for MapItems for different Map ranges in the MapItems styles XML definition (or even decide that these MapItems should not but presented at all at specific ranges)
  • Fixes for regressions for rotation orientation of MapItems relative to true North, and order of the X and Y MapItems coordinates for the A661_MDF_LAT_LONG and A661_MDF_BRG_DIST_ACHDG projections
  • Add a new helper method for the Editor scripting Plugin to force a widget name to adhere to C-name conventions
  • Add a new tests framework for MapItems rendering

Version 0.53 Beta 7 (14/06/2012)

  • The selection mechanism used in Map widgets is modified to allow for easier extension of selections in Maps (for example, it could allow for different events for: right click, left click, double click, etc...)
  • Support for dotted lines in the MapItems styles XML definition
  • Fix of the A661_LINE_ARC MapItems drawing when the Radius parameter is negative (which is valid in ARINC 661)
  • Add Unit tests for MapItems for lines, arcs, symbols, and legends
  • Stop detecting and sending an invalid message exception if a runtime buffer contains more bytes than necessary, but that the ARINC 661 part of this buffer is valid. Previously this did not prevent the correct decoding of the message, but this was unnecessary
  • Fix a bug where in some cases performing a drag and drop on a widget in the Editor tree would lead to an exception, in cases where the destination of the drop did not have a renderer
  • Fix a remaining clipping problem in the OpenGL embedded mode
  • Fix a bug which resulted in throwing a NullPointerException in some cases when stopping the playing of a scenario before it ends
  • Fix the management of the "server.offsetRendering=true" option which was incorrect in the case of multiple embedded containers
  • Fix the management of the "server.offsetRendering=true" option in the case of MutuallyExclusiveContainers
  • Fix an exception which would arise when undoing in the Editor the deletion of a widget structure with a MutuallyExclusive container and several children widgets
  • Remove some potential ClassCast Exceptions in the Editor
  • Fix a bug in the Editor which would lead to an exception in the cases of a drag and drop in the widget tree, where the destination of the drop is a not rendered widget
  • Fix a bug which would made impossible to add a RadioBox in the Editor
  • Add a new global property in the Synth2 Look and Feel to configure how Global properties is managed for labels
  • Fix the management of the "server.offsetRendering=true" option in many cases with containers
  • Protect from accidentally set a null Stroke to MapItems shapes

Version 0.53 final (24/06/2012)

  • Fix the selection of interactive widgets with negative positions in unsized containers without setting the "server.offsetRendering=true" option (like A661_BASIC_CONTAINER)
  • Improve the graphic quality in the OpenGL embedded mode
  • Fix the saving of Definition Files by the "Save" command in the Editor always saving the Definition File with the supplement 2 specified, even if the Editor is configured in an other supplement version of the standard
  • Fix the effective moving of widgets in the Editor in zooms factors being incorrectly affected by the scale factor
  • Allow to open more than one Definition File at once in the Editor
  • Fix A661_STRING parameters for A661_LABEL widgets not taking into account some changes received by the Server in the case when another value is received with the same value before the Label has been effectively presented with the previous change. This was the case for example if the label was masked for some time and the parameter was received again with the same value during that time
  • Fix some regressions concerning the MapVert items positioning
  • Add a new SharedMemory protocol which can be used in the embedded mode
  • Fix a NullPointerException which would be thrown in the Debug plugin if the scenario is empty
  • Fix the bug which prevented to change the Layout of the SuperLayer in the embedded mode
  • Improve the precision of MapItems by using [Subpixel rendering]
  • Allow to force the use of TextLayouts for all labels in the Synth2 Look and Feel. The new global property is "labelsTextLayoutRendering" and has a false value by default
  • Simplify the Networking manager architecture
  • Fix the sending of Map selection parameter values in vertical Maps
  • Fix positioning in horizontal Maps when the PRP position was different from 0
  • Fix a possible exception which could be thrown for the A661_EDIT_BOX_NUMERIC widget in the default Java Look and Feel when changing the value of the EditBox by using the Spinner
  • Add a static "destroy" method in the ServerWrapper which can be used by the external C/C++ application in the embedded mode to allow to destroy the JVM and the Server without exiting the C/C++ application itself
  • Fix a NullPointerException which would be thrown in the Debug plugin while loading an empty scenario
  • Add two tab buttons to quick open or save the currently opened Definition File in the Editor
  • Fix a problem which could happen in certain cases for MapItems for badly defined EndFlag parameters. Some MapItems Look properties like Strokes would later become incorrect or even have null values
  • Remove the Window manager defined in the embedded mode which was only able to manage one Display. The other one is more general and is able to handle one or several Displays
  • Fix several exceptions which could happen in the Editor while performing cut and paste actions for widgets in a Layer

Version 0.53.1

Version 0.53.1 Beta 1 (03/07/2012)

  • Add a mechanism for the Editor to log unhandled exceptions which might arise in a temp file (under the temp directory for the user)
  • Add the forgotten runtime only ShiftFirstVisibleEntry parameter for the A661_SCROLL_LIST widget
  • Fix some attributes defined as char or short whereas they should have been defined as uchar or ushort. Note that it does not impact the interface between the UA and the CDS
  • Fix some unit tests for MapItems which could fail intermittently
  • Add a mechanism which allows to draw symbols of several colors in Map widgets
  • Fix the parameters used for the A661_MAPGRID_CELLSIZE message for the MapGrid widget
  • Protect against value / maximum / minimum mismatch for the EditBoxNumeric widget
  • Allow MapItems to blink depending on their ItemStyle
  • Add a mechanism to allow to name ItemStyles and MapItem symbol types in the MapItems styles definition
  • Fix exceptions which could appear in the Editor while creating new widgets after having opened several Layers with the same name
  • Fix an exception which could appear when copy and pasting from one Layer to another in the Editor
  • Fix the undo commend having no effect after the creation of a new widget under a Layer
  • Fix the undo command not really removing the widget after the creation of a new widget. The widget appeared as removed in the Editor, but if the Definition File was saved, and reopened, the widget would still be there
  • Fix errors in the hexadecimal values of messages written in the top area of the Debug plugin window being wrong
  • Fix changing Layouts sometimes not taken into account in the Debug plugin
  • Add a rewind button in the Debug plugin window
  • Fix the copy and paste between different Layers in the Editor sometimes leading to exceptions
  • Fix some undo commands in the Editor not having any effects in some cases
  • Fix a NullPointer exception that could be thrown in the Editor while creating a new widget in a Definition File which is not the first opened one
  • Fix several cases where the order of widgets would be incorrect after a copy and paste or a cut and paste
  • Fix a performance regression for Layers with a lot of A661_LABEL widgets where the User Application would send a lot of String changes to the Server

Version 0.53.1 final (19/07/2012)

  • Log the extensions names version and date in the Editor, Server or Client on the console
  • Fix the MapItems not being painted correctly in the case where the MapHorzSource was under a Connector
  • Allow to define which localization to use in the Synth2 Look and Feel
  • Fix the selection on MapItems not being sent correctly in some cases
  • Fix the Logger only keeping the last exception in the associated file, and log the version and date of the application when logging the first exception
  • Fix some bugs encountered in the SharedMemory protocol. Further simplify the Network protocol framework
  • Take care of the fact that some Layers can be accessed through connectors in Windowed Window managers. In some cases, changes in Connected Layers could be forgotten, or lead to an Exception
  • Fix some cases where selection of MapItems in Maps was not taken into account
  • Allow to use "serverInput", "serverOutput", etc... properties in the Network configuration file to share the same Network file between a Client and a Server
  • Use version 0.6.7 of the MDIUtilities library
  • Fix problems when loading a configuration in the Editor where some paths where absolute
  • Fix the ARINC ID of some special characters which were not conform to the standard
  • Fix the ARINC ID of the A661_SELECTION_MAP_EVENT widget event which was not conform to the standard
  • Check widget events inconsistencies of the widget events definition during the parsing of the ARINC 661 model
  • Fix cut/copy and paste using the Ctrl keys which was not working anymore in the Editor
  • Fix grouping widget in the Editor under a Container which could lead to exceptions
  • Fix cut / copy and paste under a Container in the Editor under a Container which could lead to exceptions
  • Fix widget which were seen as modified in some cases while just selecting them in the Editor without performing any modification
  • Fix an exception which would occur in the Editor if selecting a Container with children and deleting it
  • Fix some ConcurrentModification exceptions which could happen in some cases while iterating through MapItems to paint the MapItemList in the Server
  • Fix several bugs when parsing a Network definition, including the fact that default properties where no longer taken into account in this case
  • Add a button in the Editor Toolbar to create a new Definition File
  • Allow the user to add a new Definition File (the SuperLayer) to the list of Layers of a windowing configuration in the Client

Version 0.54

Version 0.54 Beta 1 (08/08/2012)

  • Fix the start of a Debug plugin session changing the settings of the Editor to those defined for the Debug session
  • Allow to define in the Synth2 Look and Feel a style for Labels where the n last characters have a specified Font. The two properties to use are label.decimalFont (Font property) and label.decimalFontLength (integer property)
  • Allow to start a Debug plugin session with TCP protocols
  • Fix the Server still taking into account widget commands if the associated Layer is not active
  • Fix some more cases of NullPointer Exceptions when performing copy and paste actions in the Editor, in the specific case where the two layers have the same name
  • Fix some cases where the order of widgets is wrong in the Editor after undoing a delete of several widgets
  • Allow to execute Editor Scripts on all the opened Definition Files in the Editor
  • Fix a Java exception that would be thrown when supplying an incorrect String pattern to a NumericReadout or a EditBoxNumeric in the Server or the Editor
  • Fix an exception being presented in the Editor if a widget ID is present more than once in the same layer in the Editor. Albeit the exception was properly catch before, the associated message and StackTrace was not clear, so we now only keep the clean "more than one widget with the ID" parsing exception message
  • Show the XML parsing errors in colors depending on their kind (warnings are black, but errors and fatal errors are red)
  • Respecify some errors encountered during XML parsing as errors rather than just warnings (such as bad string length for example)
  • Allow to resize the error panel presenting errors encountered during XML parsing
  • Use version 0.7 Beta 1 of the MDIUtilities library
  • Allow to resize the error panel presenting errors encountered during binary Definition Files parsing
  • Show the XML Definition File binary errors in colors depending on their kind (warnings are black, but errors and fatal errors are red)
  • Add several options in the Editor on the popup menu which appears on Definition Files tab to close all opened Definition Files, or all but the currently selected one

Version 0.54 Beta 2 (20/08/2012)

  • The multirendering of Layers is now working. One Layer may be rendered more than once in a window configuration, including connected Layers, and even Maps under connectors. For example, it is possible to use the same MapHorzSource widget under two different MapHorz widget by using two connectors, which means that the MapItems will be rendered twice, with a different range / orientation, etc....
  • Additionally, if the user change the state of one interactive widget in one renderer (for example, by clicking on a CheckBox), then all other renderers for the same widget will be in sync with the same state
  • Add a new global graphic property ("screenDensity") which force the dimensions of the graphic Look and Feel properties (Font size, dash lengths for dotted lines, line width, Insets, etc...) to be defined relative to a specific screen density.
  • Allow to use Insets inside states in the Synth2 Look and Feel
  • Check undefined properties in the Client and Server configuration parsers
  • Make the Editor, Server, Client, and EmbedClient more Mac OS X friendly. Use the global Quit / Preferences and About menus defined for the Mac, and put the menus on the upper bar on the Mac
  • Fix Look and Feel usage in non Windows Platform. The default Look and Feel is now the default platform Look and Feel
  • Use version 0.6.3 of the MDIFramework library

Version 0.54 Beta 3 (16/09/2012)

  • Fix the direct OpenGL mode never being used in the Embedded Server, regardless of the value of the OpenGL.textured property. This should fix an unusual bad performance experienced in the embedded mode
  • Improve performance of OpenGL Strings rendering in the Embedded Server
  • Add several new methods in the Editor scripting Plugin helper to allow to remove, or create a widget through a script
  • Add two utility methods in the Editor scripting Plugin helper to allow to get/set a widget property knowing the name of the property (the one which is defined in the XML File) rather than the ARINC ID of this property
  • Fix the computing of the text dimensions for a widget in the Editor scripting Plugin helper which was wrong in some cases
  • Emit a clear warning when parsing an XML Definition File, in the case where a Color, a Font, a Line Style, a Blinking, a Clipping, or a Symbol reference in the Definition File do not exist
  • Fix the A661_READOUT implementation: in the case where there was a background in the Readout Look and Feel, the height of the background was always equal to the height of the characters, whereas it should have fill the widget bounding box
  • Fix the A661_READOUT and A661_EDIT_BOX_NUMERIC formatting: it was possible for the numeric value to have more digits that the number of digits defined in the format
  • Make sure the Image plugin draws images in the EDT
  • Add support for the bitmap image format for the Editor background
  • Add the ability for Editor plugins to add menus items/actions/etc in the widget popup menu which appear by right-clicking on a widget
  • Add a new UIProperties plugin which allows to see in the Editor the list of UI components composing a widget, and, in the case of the Synth2 Look and Feel, their respective properties
  • Protect the Editor against specific cases (mainly in Unit Tests) where the plugins manager could be null (where the plugin directory could not be found)
  • Fix a regression which prevented to start the Debug plugin in the Editor
  • Change private class fields to have a starting "_" in the name to prevent name shadowing in the source code
  • Fix an OpenGL stack exception in the embedded mode when drawing Map widgets
  • Support breakpoints in the Debug plugin. Add a search panel for the Debug Plugin. Show current widget properties in the plugin
  • Add many javadoc for protected class fields
  • Fix some cases where the background of the Server window without a window configuration would be incorrect
  • Fix a bug where loading twice the same Layer in the Server without a window configuration would not show anything in the Server panel the second time
  • Allow to reuse the same port for the input and the output in the TCP protocol
  • Fix some bugs concerning security context which could prevent to use of the Server as an Applet
  • Fix a potential memory leak in the Editor
  • Fix a regression which prevented to draw MapItemList widgets in the Editor since 0.54 Beta 2
  • Allow to show / hide the PopupMenu widget in the Editor (Note that this widget visibility is runtime-only)
  • Fix a bug where array properties for PopupMenu widgets where not parsed correctly in the Definition File by the Server
  • Fix position of Connected Layers in TabbedPanelGroups
  • Fix a bug in the Cut and Paste in the Editor where if a Container was moved to the last position in the widgets tree, it's children would disappear after an Undo, and the ID of the Container and it's children would not be marked as taken in the Editor, allowing for problems with widget IDs being found twice in the Layer after further Layer modifications in the Editor
  • Allow to define window types under instances of Layouts in the SuperLayer configuration file
  • Fix a bug which would lead to an Exception in the case where a MapItemList widget was under a Connected Layer which would not be present when starting the Server because the default windowing configuration would not have defined its parent Layer at start
  • Fix some potential problems with MapItems not showing in a Basic Server GUI after the Beta 2
  • Protect every File to URL conversions in the J661 code to avoid any potential problems in Windows paths (white spaces, etc...)
  • Allow to use previously parsed list of properties in the Client and the Server when parsing configuration
  • Use version 0.6.4 Beta 1 of the MDIFramework library
  • Use version 0.7 Beta 2 of the MDIUtilities library
  • Update the Demo project to adapt to a few changes in the API
  • Update the FGPlayback and FGLiveProvider contribs projects

Version 0.54 Beta 4 (03/10/2012)

  • Fix the MutuallyExclusiveContainer widget not sending any ARINC Exception in the case where the VisibleChild index is not the index of a child of the widget during runtime
  • Allow to stop the Debug plugin Debugger on a breakpoint on an ARINC Exception condition
  • Fix a bug which appeared after changing the Layout, if the Look and Feel was not the default Look and Feel: the Layers in the new Layout had a wrong Look and Feel
  • Fix a NullPointerException which appeared after changing the selected Layer in a "OneOf" Window since Beta 2
  • Fix the PopupMenu and PopupMenuButton widgets always sending 0 when closing the menu by clicking on a menu item
  • Fix the Server not seeing its plugins in cases where the user directory is not the parent directory of the Server jar file (note that it was still right if the userdir or pluginsDir directory was explicitly defined in the launch arguments)
  • Use version 0.6.4 Beta 2 of the MDIFramework library
  • Use version 0.7 Beta 4 of the MDIUtilities library
  • Improve performance of simple shapes (lines, rectangle, etc...) rendering in the Embedded Server
  • Fix the Server not parsing correctly URLs using the http or https protocol, when these URLs are defined as children of other URLs
  • Fix a false exception warning which could happen in certain cases when parsing an XML Definition File on the Server
  • Fix the A661_EVT_CURSOR_ENTER, A661_EVT_CURSOR_EXIT, and A661_EVT_CURSOR_INSIDE events sent by the Server for the widget A661_CURSOR_OVER: the X, Y position sent to the Client was top left while it should have been bottom left as defined by the standard
  • Fix the A661_EVT_POS_CHANGE event sent by the Server for the widget A661_CURSOR_POS_OVERLAY: the X, Y position sent to the Client was top left while it should have been bottom left as defined by the standard
  • Fix the A661_EVT_SELECTED entry value sent by the Server always being 0 when selecting an entry in the A661_POP_UP_MENU and A661_POP_UP_MENU_BUTTON widgets
  • Fix further non security related problems which could prevent to use of the Server as an Applet
  • Fix the A661_SLIDER widget always casting internally its values to int
  • Improve widget updates behavior for cockpits configuration when a Layer is present in more than one Display
  • Fix the previous MapItems list in the Maps plugin not being reset after reopening the Client window in the Editor a second time
  • Show a clean parsing error if one Definition File in a cockpit configuration file does not exist
  • Allow more extension capabilities in the Map widgets framework
  • Fix a regression in the Editor which made the grid moving when widgets were moved
  • Allow to use more than one Jar file to define the MapItems UI library implementation in the Server or the Editor
  • Fix labels horizontal alignment which could be a little off in some times
  • Add capability to use specific lineStyles (dot, etc..) on MapItem types which did not have it already (A661_SYMBOL_GENERIC, A661_SYMBOL_ROTATED, A661_SYMBOL_TARGET, A661_RUNWAY)
  • Support the use of new widget events unnamed parameter types: uchar and String
  • Allow to mix without any limitations named and unnamed parameters in the widget events definition
  • Fix tables of Long parameters not modifiable in the Client
  • Remove the A661_POS_X and A661_POS_Y parameters which were incorrectly defined as design-time parameters for the A661_BLINKING_CONTAINER widget
  • Improve the error message in the Embedded Client configuration file parsing in the case where a message ID does not exist for a widget. Previously the message was the same as when a widget ID did not exist
  • Remove the A661_SCALED_TRANSLATION_CONTAINER from the supported widgets because it has been removed from supplement 5 (replaced by better and more general widgets to scale any parameter). The A661_SCALED_TRANSLATION_CONTAINER is now available as a contrib extension
  • Change the build of the test utilities to allow to use them easily in other projects
  • Now if the user start the Editor and use the "-propFile" option without defining any properties file, the Editor will ask for the file to use before starting
  • Implement the A661_DATA_SCALING_LONG, A661_DATA_SCALING_ULONG, and A661_DATA_SCALING_FR180 widgets for supplement 5
  • Implement the A661_MAPHORZ_PANEL and A661_MAPVERT_PANEL widgets for supplement 5
  • Add a resolIndep property for the fonts element in the graphic properties to be sure to have the same resolution as the native resolution for fonts. This is particularly important if it is necessary to have exactly the same size as the Windows native fonts for the same point value (Mac OS X fonts usually have the same size as Java)
  • The UIProperties plugin is not working properly. An exception occurs when using it on a widget
  • Fix sending MapItems to the Server by the Maps plugin not working in all cases in complex configurations

Version 0.54 Beta 5 (02/11/2012)

  • Fix the reference point of the A661_MAPHORZ_PANEL and A661_MAPVERT_PANEL widgets (which was the top left whereas it should be the bottom left)
  • Allow to create a custom vertical projection in the projections extensions
  • Allow full configuration for the custom projections extensions
  • Avoid possible NullPointer exceptions in some rare cases when clicking on a MapHorz or MapVert widget
  • Fix the A661_CURSOR_POS_OVERLAY still sending events even if it is disabled
  • Fix an exception throwing when the user perform a CTRL-X action on a Layer or Definition File in the Editor
  • Fix the buffer bytes content presented in the Client Logger being null in all cases
  • Fix a NullPointerException throwing in certain cases by the SuperLayer window manager when changing the Layer in a Window to a NULL Layer, and then changing back to the previous Layer
  • Fix the widgets event definition incorrectly defined for the A661_POPUP_MENU and A661_POPUP_MENU_BUTTON
  • Fix the A661_LEGEND_ANCHOR MapItems management. The position of Legends after anchors was incorrect
  • Allow to orient legends alongside Segments for A661_SEGMENT MapItems (using the orientLegends property)
  • Fix an Exception which was thrown when trying to add a new widget under a Layer whose name was changed just after being created
  • Use version 0.6.4 Beta 4 of the MDIFramework library
  • Use version 0.7 Beta 5 of the MDIUtilities library
  • Change some signatures in the Client, Server and Editor to use URLs rather than Files when possible
  • Fix the Client not capable of sending several messages of different Layers in the same message
  • Separate the generic IO exception from the IO exception which happen when there is a tentative to bind to an address which is already bound
  • Improve performance of String rendering in the Embedded Server
  • Allow to move and resize sized containers (like A661_PANEL) in the Editor
  • Fix some rare exceptions when changing the current layout, for Layers which are connected to at least one other Layer in the cockpit configuration
  • Fix special characters not being correctly encoded or decoded in StringArrays
  • Fix the Scenario plugin recording empty scenarios each two recording after the first
  • Add a check which inform the user when the Network configuration is incorrectly defined and would prevent the recording of scenarios
  • Fix some remaining problems when starting the Server in an Applet
  • Add a new feature in the SuperLayer configuration file allowing to use the same Layer in several Displays, but declaring in the configuration file a new Application ID for several Layers. This allows to specify only one Layer, but using it as two different Layers in the cockpit
  • Show the layer appliID and layerID in the Client interface
  • Fix a problem in the Embedded Server which resulted in an offset from the real position of a click to the position managed by the Server
  • Fix an exception in the Embedded Server which could occur when drawing Strings
  • Fix a regression on the TCP protocol
  • Allow to use several layers with the same layerID (and different applicationIDs) in the Client java API
  • Return during the Server initialization to the user the attribute(s) which is (or are) not implemented if some attributes defined in the ARINC 661 XML model is not implemented
  • Log a "clean" exception in a configuration cockpit if a Layer referenced in a Window does not exist, or a default layer defined for a Window does not exist or is not a child of the Window
  • Fix growable arrays in the Editor and the Client not allowing to add rows if their content if empty
  • Fix a few mistakes for the hexadecimal IDs of the A661_CLAMPING property and the A661_DATA_SCALING_FR180 widget type
  • Avoid to emit Java Stack Traces when some widgets specified in a Definition File, or their associated renderers, are not defined, and emit a clean log message
  • Protect the synth2 Slider implementation if its Insets are undefined
  • Fix some Strings in Labels incorrectly not redrawn when modified in some cases in the Server
  • Allow to move unsized containers (like A661_BASIC_CONTAINER) in the Editor
  • Fix the scenario plugin only showing events in the scenario list when reading an existing scenario as "OUT", even if they are inputs
  • Signal a clear "error" in the Server, the Client, or the Editor if the same extension or Map projection is referenced more than once. The extension will not be loaded twice, avoiding to trigger nasty exceptions

Version 0.54 Beta 6 (25/11/2012)

  • Use version 0.6.4 of the MDIFramework library
  • Allow the Editor to manage tabs which are not Definition Files. This will allow plugins to add other types of tabs (for example, a Plugin could create a new tab of tab which is the result of Definition Files comparison)
  • Add a Look model plugin which will ultimately be able to convert from/to the Look specification format to/from the Synth2 Look and Feel format. Note that the Look specification is an upcoming new feature of ARINC 661 supplement 5. For the moment it allows:
    • To check the consistency of Look capacities and/or Look definition files
    • To import Look capacities and Look definition files and create associated models
    • To serialize Look capacities and Look definition files
  • Fix a problem in the Embedded Server which lead to an infinite loop in Map widgets (in an embedded Server) showing legends
  • Add a Synth2 Look and Feel sample which implements the Windows Look and Feel
  • Fix the A661_SIZE_TO_FIT_CONTAINER and A661_SHUFFLE_TO_FIT_CONTAINER widgets having no registered renderers for the Server
  • Add full support for appliID management in the Client java API, and update the demos accordingly
  • Fix the positioning of the A661_MAPHORZ_PANEL and A661_MAPVERT_PANEL widgets
  • Fix an error in the values of X and Y properties for A661_EVT_SELECTION_MAP events for A661_MAPHORZ_SOURCE widgets in the Latitude/Longitude coordinate system
  • Avoid to compute immediately the text layout for a A661_LABEL if the label alignment change, but wait for the next time the label is painted
  • Clarify the error messages which will appear if the cockpit configuration or the network configuration is incorrect
  • Emit clear parsing exceptions if the Synth2 Look and Feel XML file parsing detect that the file has some invalid parameters
  • Fix the Java type of the NumberOfSymbols property for the A661_SYMBOL_ANIMATED widget
  • Fix a problem in the Embedded Server which could lead to wrong colors for texts
  • Fix exceptions sent by the Server in the Embedded Server configuration when changing the cockpit layout
  • Emit a clear Exception when parsing a Network configuration for incorrect directions specifications
  • Fix exception messages which could be sent by the Server for Maps in some heavy load configurations
  • Fix positioning of A661_MAPHORZ_PANEL and A661_MAPVERT_PANEL widgets in some cases in multi-applications cockpit configurations
  • Add cobertura in the building framework to allow to get the functional and structural coverage of unit tests
  • Fix the tag in the logger when the Server send messages (it was "CLIENT" instead of "SERVER")
  • Use version 0.7 Beta 5 of the MDIUtilities library
  • Protect the Server in the OpenGL embedded mode against possible OpenGL GL_VERTEX_ARRAY or GL_TEXTURE_COORD_ARRAY enabling performed by the C code before calling the Server. These enable would crash the Server while drawing arrays of vertices
  • Add a isRotatedSymbol property (default true) for A661_SYMBOL_TARGET MapItems to allow the main Shapes of the target to rotate with the MapItem orientation or not
  • Allow the Server to send an Exception to the Client if one Layer for a Client command is not defined
  • Fix a case where changing the cockpit configuration layout at runtime and having one Layer in the same window for the same Layout visible a second time would make this Layer modifications not visible anymore

Version 0.54 final (09/12/2012)

  • Remove the server.screenDensity property in the properties file. Only the Server graphic properties screenDensity is kept
  • Fix the Server zoom factor not taking correctly into account if the screen density is forced
  • Fix some cases where the current graphic properties for MapItems (mainly stroke value) would not be reset after one MapItem
  • Fix the Synth2 Look and Feel not taking into account the screenDensity graphic property for the fonts set for buttons, comboBox, etc...
  • Allow to resize and select widgets in the Editor with the same gesture
  • Convert the Synth2 Look and Feel specification complex parameters to table entries in the Look Model rather than constants, in accordance with the standard Look definition specification
  • Add a new server.useGuiTools Server property to allow to remove the additional window for the Server presenting the frame-rate and the content, the input and output messages, and the menus allowing to access to plugins
  • Protect the Server against cases where some parameters would have values outside their accepted range as defined in the standard (as for example A661_SELECTED_ENTRY greater than A661_NUMBER_OF_ENTRIES), and send an ARINC 661 error notification if the Client send such erroneous values. Note that the Server was already protected for cases where an array size would be incorrect, or a String length greater than the maximum length of the String
  • Print in the Server logger area all the elements which would make possible to define the widget which notifies an ARINC 661 error notification (widgetID, layerID, application ID)
  • Fix the DataScaling widgets not taking into account a modification of the TargetParameterID property in the Editor
  • Protect the reading of scenarios if some events in the scenario arrive more quickly that they can be decoded by the Server or Client. This can happen if the scenario is recorded with the protocol.isSilent property
  • Convert the Synth2 Look and Feel specification states in the Look Model
  • Protect the decoding of buffers received by the Server against cases where some of the blocks have a 0 size
  • Protect the decoding of non blocking buffers received by the Server against cases where the decoding is not finished and another buffer is received on the same Channel
  • Update of the ant target for the project to be able to generate the plugins javadoc
  • Check during the parsing of a Look definition model that the each attribute defined in the LookCapacities is present for each StyleSet of the LookDefinition
  • Allow to convert a Synth2 Look and Feel specification to a Look definition model
  • Add a new protocol.outputPortsList for UDP protocol, which replace the protocol.outputPort property, and allows to define more than one port for the output (meaning that several remote Client/Server will receive the buffers)
  • Protect the renderers of TriangleFans and TriangleStrips of incorrect Client messages

Version 0.55

Version 0.55 Beta 1 (12/01/2013)

  • Manage default values for undefined properties in the conversion from Synth2 Look and Feel specification to a Look definition model
  • When writing LookCapacities or the LookDefinition models, only write the parent "constants" or "tables" nodes if they are not empty
  • Take fonts into account in the Synth2 Look and Feel to the Look definition model conversion
  • Fix thread contention bugs which could happen in high throughput scenarios when several channels are receiving a huge amount of data at the same time (typically could happen for some multi-channel Maps scenarios)
  • When parsing a LookDefinition model, allow properties which are defined at the "state" scope in the LookCapacities to be set at the "StyleSet" scope in the LookDefinition
  • Fix the dotted line styles which propagated to elements which where not defined as dotted in the Embedded Server
  • Manage the width of lines in the Embedded Server
  • Fix the behavior of ComboBoxes and Sliders in the Embedded Server (which were not interactive in this mode)
  • Add a new check for the names of elements in the LookCapacities or the LookDefinition models
  • Fix an exception which would be thrown by the Editor when creating a widget which had a renderer before another one which did not have one
  • Fix a bug which made the A661_DATA_SCALING_FR180 widget not updatable at runtime
  • Fix a bug which made it impossible to send other parameters than A661_VALUE at run time to DataScaling widgets
  • Avoid some cases when MapItems could be updated during the same time they where used in MapItemList widgets
  • Fix the Client parser throwing a NPE on the parsing of a Definition File with DataScaling widgets
  • Fix the Halo around the A661_SYMBOL_DEFN_POLYLINE SymbolCommand not being closed if the Polyline definition is closed
  • Add a "cloneConfiguration method on the CommonConfiguration class which allows to control if the Client or Server configuration is cloned for each Channel or not
  • Add the capability to record and read scenarios in hexadecimal rather than Base64
  • Fix an abnormal high workload for the Server when using the Synth2 Look and Feel. The workload would be 50% on a single core without receiving any UA messages, it is now 0% in this same case
  • Use version 0.7.1 of the MDIUtilities library
  • Emit a proper ARINC 661 exception rather than throw a raw Java Exception when a MapItem sent by the Client has an ItemStyle which is not handled by the XML MapItems styles file
  • Fix an exception in the Client which would appear when parsing a cockpit configuration with a A661_GP_POLYLINE and a A61_SYMBOL_DEFN_TRIANGLE_FAN in certain conditions
  • Fix an exception in the Server which would appear at runtime if there is no TriangleSegment between a TriangleStart and a TriangleEnd in MapItems
  • When checking the validity of a LookDefinition, check that ComponentDefinition and WidgetDefinition have StyleSets
  • Avoid the throw an exception when parsing the configuration properties if some numeric properties contain spaces, rather parse them getting rid of the spaces
  • Fix the runtime type of the A661_SYMBOL_REFERENCE attribute, which was byte_1 when it is byte_2 in the standard
  • Add the A661_FONT runtime message for the A661_LABEL widget, allowing to change the font at runtime
  • Add the A661_PRP_XY runtime message for the A661_MAP_VERT widget
  • Add a server.projectionUpdateCap configuration property for the Server, allowing to cap the delay between two modifications of a Map coordinate system
  • Introduce a "yield" when looping through the loop of events for not blocking queues, when the event queue is not empty. This avoid to gobble the CPU load in cases where very high workload cyclic messages are managed by a queue fit to non cyclic messages
  • Fix the drawing of lines in the Embedded Server which had a small offset
  • Fix the Client sending an exception when parsing a Definition File with a MapHorzSource (or MapVertSource) without children
  • Fix a problem while using the Client API and receiving Server messages (some message where not seen by the API)
  • Protect the Server Wrapper against cases where the GUI menus could be null but still used and thus throw NullPointer Exceptions, depending on the properties configuration

Version 0.55 Beta 2 (31/01/2013)

  • Manage the event origin for widget events
  • Fix A661_LABEL widgets rendering incorrectly for updates if they are in multi-rendered Layers
  • Remove the MaxWidgetIdent and MinWidgetIdent which were written in XML Definition Files because it was a mistake in the examples in the ARINC 661 standard
  • Change the ARINC 661 keywords and hexadecimal IDs for A661_VALUE, A661_TICS_COARSE, and A661_TICS_FINE in the widget definition, to take into account changes in the ARINC 661 standard supplement 5. The reason of the change was to avoid to use the same keywords and hexadecimal IDs for parameters of different types
  • As for ARINC 661 supplement 5, change as runtime modifiable the A661_NEXT_FOCUSED_WIDGET and A661_AUTO_FOCUS_MOTION parameters for interactive widgets
  • Support the BroadcastReceiver widget (new supplement 5 widget)
  • Add a default "empty" implementation for the NoServiceMonitor and MapHorzContainer widgets (new supplement 5 widgets)
  • The widget MapVertPanel is removed, because contrary to the MapHorzPanel widget, it was not added to the standard for supplement 5
  • Add the new supplement 5 Symbol commands: A661_SYMBOL_DEFN_SET_ROTATION, A661_SYMBOL_DEFN_SET_TRANSLATION, A661_SYMBOL_DEFN_START_GROUP, and A661_SYMBOL_DEFN_END_GROUP
  • Fix some last problems in the WebServer protocol
  • Add a new protocol.inputPortRedirect (for now only supported by the UDP protocol) allowing to redirect the input of a Server or Client to another output port
  • Remove the 30 limit for the pushMatrix / popMatrix stack (linked to the OpenGL stack) in the Embedded Server
  • Protect the Synth2 Look and Feel against a few possible bad XML definitions which could lead to a NPE (no Insets definition). More generally, add several protections in the Synth2 Look and Feel against badly defined synth2 XML files
  • Reorganize the Look model plugin architecture for the from/to Synth2 Look and Feel conversion
  • Support global CDS properties for the synth2 model in the conversion from and to synth2
  • Allow using custom Look Capacities files for the conversion from and to synth2
  • Fix blinkings for the Server MapItems
  • Support the notion of invalid coordinates in Maps projections. All standard ARINC 661 projections do not have any invalid coordinates, so this notion is not useful for standard conversion, but custom Maps projections can have points whose projection is not valid
  • Fix a bug introduced in 0.55 Beta 1 when a change a value for an ItemStyle could have no effect on MapItems
  • Fix a bug introduced in 0.55 Beta 1 when the change of value for the A661_VISIBLE property in at runtime was ignored for the MapItemList widgets
  • Fix an error in the compute of the size and position of the A661_GP_ARC_CIRCLE widget and the A661_SYMBOL_DEFN_ARC_CIRCLE symbol command when using a zoom factor with an X value different from the Y value

Version 0.55 final (03/02/2013)

No change compared to 0.55 Beta 1, except from version number. This version is meant to be a final stable release. The main parts which have been improved in 0.55 (through Beta 1 and Beta 2) are:

  • Applets now work without problem with the Server
  • The Embedded Server is functional and work well
  • The synth2 to / from Look model transformation is functional
  • Support some new widgets and Symbol commands as of the upcoming ARINC 661 supplement 5
  • Performance improvements

Version 0.56 (0.56 branch)

Version 0.56 Beta 1 (16/02/2013)

  • Use version 0.7.3 of the MDIUtilities library
  • Add a "JavaVersion" property allowing to require a minimum Java version for an extension
  • Add methods in the DFLoaderListener interface allowing to be informed of binary or XML parsing errors when loading Definition Files
  • Rename the Server ARINCElement and ARINCMapWidget classes to ServerElement and ServerMapWidget
  • Replace many creation of Number subclasses by using the valueOf method
  • Improve the GenericDialog class and allow to print in HTML the results of an error Panel
  • Fix rotation angles calculation in the case of a non conformal zoom factor for the Server
  • Manage consistency between the projection updates and the MapItem updates in the case of high throughput Map updating, when using the projection update cap configuration property
  • Use the 3.9 version of Apache POI
  • Fix the Cockpit Plugin generating an incorrect SuperLayer multi-application definition in certain complex cases
  • Use version 0.6.5 of the MDIFramework library
  • Fix the Editor, Server, or Client not seeing the plugins directory if there were some space characters in the plugins directory path
  • Add an API in the Editor allowing Plugins to customize how the widgets in the tree are rendered. For example it is possible to define that the nodes for widgets fulfilling certain properties are of a specific color, or use a specific icon
  • Add an API in the Editor to allow Plugins to add custom components as additional panels alongside the widget tree (for example it allow Plugin developers to present a restricted list of widgets and navigate in this list rather than the whole widget tree)
  • Update ScaledTranslation extension to version 1.4 Beta 1 to take into account the last changes in the core API

Version 0.56 Beta 2 (14/03/2013)

  • Fix a NPE which could be fired in the Scenario plugin if a scenario event without a Channel origin was found concerning a Layer which did not exist in the Server or Client configuration
  • Fix MapItems defined on more than one index (A661_LINE_SEGMENT, A661_LINE_ARC, etc...) not capable to being highlighted if they were defined on a MapItemList widget which was not the last on its parent MapSource widget
  • Fix a regression for BlinkingContainer widgets which emitted a NPE at the instantiation in the Server if the BlinkingContainer widget was not set as visible in the Definition File
  • Simplification of the Editor and Server architecture used to install a Layer definition in the Server
  • Fix an exception which would be thrown by the Server when the User Application send a message changing the properties of a Display (for example visibility) which did have a Cockpit configuration with only one Layout for this Display
  • Add the capability at runtime to change the Channel whose performance is monitored in the Server monitoring tools
  • Fix a bug where the String corresponding with a A661_LABEL widget cloned in a SuperLayer multi-application definition would be the same instance in the multiple displays
  • Fix the Scenario.autoStart property for the Scenario plugin not taking into account the Channel definitions if there is more than one Channel defined for the Network configuration
  • Use the java.util.logging package for the logging facility. Provide a generic capability to write the log on an output File, and to specify which part of the code should emit debug messages
  • Use version 0.7.4 of the MDIUtilities library
  • Suppress the specific MapHorzItemsRenderer and MapVertItemsRenderer classes, and only keep the parent class which has all the necessary functionality
  • Fix the CursorOver widget not being interactive in a stand-alone Server working in a non windowed mode
  • Fix a bug where changing the MaskContainer reference would not change the clipping
  • Store the currently selected Look and Feel in the Editor to reuse this one rather than the default when opening a new Definition File after quitting the Editor. Make sure that the first Look and Feel is selected when opening a Definition File in the Editor after changing the Look and Feel configuration
  • Support the UTF-8 Definition File encoding, which was added in supplement 5 in the standard
  • Add two Synth2 Look and Feel properties to the MapHorzPanel widget controlling if the panel must be saturated or not in its parent MapHorz widget, and if it can be moved if the coordinate system of the parent is updated after it had been set visible. These two boolean properties are panel.movable and panel.saturated
  • Add a new interface for ComponentUIs allowing to control widgets Feel using Look and Feel properties
  • Fix some remaining bugs preventing the correct parsing of Binary Definition Files in the Client in some cases
  • Fix a bug in the Client java API
  • Implement the MapHorzContainer widget (new supplement 5 widget)
  • Put the getTransform() method in the AbstractUnsizedRenderer class, rather than having a similar method in all containers and graphic widgets
  • Fix the Synth2 Look and Feel parser not parsing correctly int constants, and add the handling of float constants, and Image resources
  • Add a Synth2 Look and Feel painter which is able to add a frame, cross, or double cross around a label or button
  • Emit a clear error message rather than throw a NPE in the Client if the a message for a Layer has to be sent but the Layer is not part of the Network configuration
  • Signal clearly to the user if some layers are not defined in the Network configuration
  • Allow to change during runtime the level of detail of the performance monitored in the Server
  • Fix the Server considering incorrectly that a Layer has been modified (and repainting its content) if it receives a runtime message from the Client for this Layer but no widgets are modified by the message (note that the Server did correctly detect that the widgets were not modified and did not in this case update any widget, but it still tried to repaint the Layer)

Version 0.57

Version 0.57 Beta 1 (In progress)

  • Fix some Unit Tests which were not passing for Java 7 because the order of the test methods where important for these test classes, but this order is not enforced anymore beginning with Java 7 (note: the project is still compiled for Java 6)
  • Fix the maximum length of the A661_EDIT_BOX_TEXT not being enforced for user modifications, at least for the String sent to the User Application
  • Fix the Client Cockpit configuration parser throwing a NPE in some cases when there is a multi-application definition specified for the cockpit configuration, and the application ID for a LayerSet is defined but not changed for one display (see for example the multi-application definition examples where the appliID for a layerSet is 1, and specified as changed to appliID 1 for the center display)
  • Fix some events not being sent anymore for some interactive widgets (like A661_CURSOR_OVER) after their Layer has been made invisible then visible again by several change of Layouts in the Cockpit configuration
  • Allow to draw displays with a transparent background in the Cockpit configuration (note: only works for Java 7)
  • Allow to draw displays always on top of the other native windows in the Cockpit configuration
  • Simplify the drawing of GP widgets (as A661_GP_RECTANGLE)
  • Change the renderers hierarchy in the Server and simplify it
  • Add several Unit Tests checking the dependencies of the arincCore.jar, arincServer.jar, arincClient.jar, and arincEditor.jar. This use the jDependency library
  • Fix saving Definition Files by "Save" in the Editor on a directory with space characters on Windows
  • Allow to set the Server rendering mode as offset in the Editor
  • Fix the Focus not taken into account on the Embedded Server
  • Fix the Keyboard not taken into account correctly on the Embedded Server
  • Fix some cases where the parsing of the Cockpit configuration in the context of multi-application definition would lead to errors incorrectly detected in the Network configuration
  • Fix a memory leak which happened in the Embedded Server when using textures (like buttons background images) and changing the cockpit layout
  • Use version 0.7.4 of the MDIUtilities library
  • Use version 0.6.6 of the MDIFramework library
  • Add a Look and Feel property allowing to not clip widgets which have a size (like A661_LABEL)
  • In the WebServer protocol, make sure the Server automatically reconnect to the Client if the connection was lost due to the Client side
  • Fix a bug which could appear in the Editor in some cases where only one Look And Feel configuration was defined, leading to Editor combo boxes for widgets properties not being usable
Personal tools