JavaGram 3.3 Release Notes
These release notes apply to Build 600, released on 18 Nov 2011.
Enhancements (Since 2.0)
- The most significant enhancement in 3.0 is support for the HTTP protocol (using Adobe BlazeDS), allowing you to
deploy a JavaGram server inside a servlet container (such as Tomcat).
- Ability to publish JavaGram method classes as web services, and to call external web services from JavaGram.
- Numerous enhancements to the GUI notation, including various new graph types, Google map, and other gadgets.
- Improvements to the parser and exception handling mechanism.
- Better support for Unicode.
- Various other bug fixes and improvements, especially to the sql framework, communication protocol, and low-level internals.
Enhancements (Since 1.2)
- The most significant enhancement in 2.0 is the addition of support for Adobe's Flash, enabling you
to deploy a JavaGram client in a browser.
- A new 'action' property has been added to the <Tab> GUI element.
- A new 'gap' property has been added to the <Layout.horizontal> and <Layout.vertical> GUI elements.
- A new 'image' property has been added to the <Dialog> GUI element.
- A new 'root' property has been added to the <Tree> GUI element.
- A new 'indexed' property has been added to the <Container> GUI element. You can use it in combination with
- A new 'file' property has been added to the <Area.text> GUI element. You can use it to load the contents of
a file into the text area.
- A new 'handy' property has been added to <Comp> GUI element. You can use it to associate arbitrary values
with the component.
- A new 'row' property has been added to the <Row> GUI element. You can use it to find out the zero-based index of
a grid row.
- A new 'minPopupWidth' has been added to <Combo> and grid elements. It can be used to impose a minimum width on the
popup for a combo box.
- The for-in loop has been extended to support iteration through the members of a <Container> GUI element.
- Partitions are now also supported for use in native clients.
- Partition syntax extended so that one or more partitions can be excluded (subtracted) from another partition.
- The sys.get(), sys.set(), sys.getable(), and sys.setable() methods have been extended to provide access to GUI
element properties.
- A guarded variant of the == operator has been added (?=), having the semantics: x ?= y is equivalent to x == null || x == y.
- A new valueof() operator has been added. It returns a default value when its operand is null. The default value can be
implicit or explicit. For example, assuming that foo() has a return type of int, valueof(foo()) returns 0 if foo() returns null,
whereas valueof(foo(), 10) returns 10 if foo() returns null.
- A new value ($southWide) has been added for the legendLay property of graphs. It causes the legend to be drawn as one line
rather than stacked as multiple lines.
- A number of enhancements have been made to line, bar, and stack graphs. First, a new 'kind' property allows you to change a graph
between these various appearances. Second, a new 'hint' property can be used to control whether graph values under the mouse pointer
should be displayed above the graph. Thrid, you can now define bands in these graphs. Bands are used to mark specific values on the
x-axis (as a vertical line) or on the y-axis (as a horizontal line). Bands are defined via the 'bands' property, and can be formatted
using the 'bandFormat' property. Finally, the data model has been revised: the $put command has been replaced by $putable, $putNext,
and $putLast commands, allowing you fine-level control over the editing of graph values and bands.
- A template-driven report engine has been included in 2.1. Use the lib/io/Report.jag script to access it. For documentation on
how to use the report engine, please refer to Chapter 6 of JavaGram Agile Development.
- A new graph element, <Graph.flow>, has been added in 2.1. It supports the visualization of directed graphs, such as dataflow and
workflow, as well as their visual editing.
Copyright © 2008-2010 PragSoft Corporation. All Rights Reserved.