Eloquence JDLG Alpha Version 1.3 Release Notes ---------------------------------------------- The ZIP or gzipped tar archives contain the jdlgS.jar signed JAR of Eloquence JDLG 1.3. Release history: * 2005-11-16: JDLG 1.3.0.0 051116 1634 - The ListBox.line, PopText.line, PopText.text and EditText.line attributes did not work when used without an index, i.e. to get/set the current line (#2909). This problem was introduced in the last release (051115 1704). - DLG SET ListBoxHeader.title did not immediately update the column header (#2272). - The new Application.ipaddress and Application.dnsname attributes return the local ip address and host name used in the session's DLG network connection. The System.ipaddress and System.dnsname attributes are now deprecated and should no longer be used. For backwards compatibility, they return the local ip address and host name used in the DLG network connection of the most recent session (i.e., the session which was most recently started). * 2005-11-15: JDLG 1.3.0.0 051115 1704 - For backwards compatibility reasons, DLG SET ListBox.activeline,0 does no longer affect ListBox.cy (#2883). * 2005-11-11: JDLG 1.3.0.0 051111 1200 - DLG SET TabBox.selectedtab could cause JDLG to abort with a NullPointerException (#2871). * 2005-11-10: JDLG 1.3.0.0 051110 1524 Fixed problems: - DLG SET ListBox.line incremented the .cy position (#2865). - DLG SET TabBox.selectedtab did not work if an object in a tab different from the tab which was selected had the focus (#2871). * 2005-07-15: JDLG 1.3.0.0 050715 1404 Fixed problems: - When using nested TabBoxes, a wrong rule could be triggered. This was caused by Java Swing which intermediately set the focus to the first control outside the topmost TabBox. JDLG noticed this focus gain and triggered the control's rule the next time DLG DO was invoked which likely led to wrong application behavior. - The ListBox attributes .add, .delln, .ins, .line and .topitem did not behave correctly when the content was sorted. - DLG GET did not work with ListBoxHeader attributes. - If multiple applications are active, an internal race condition could cause two or more dialogs to struggle for the topmost display position. - JDLG could abort with a NullPointerException when an undefined object was addressed with DLG GET (#2768). - JDLG could abort with a NullPointerException when a wrong data type was used with DLG SET (e.g.: DLG SET "EditText.content",0) (#2720) - The eloquence.config.errorlog configuration has been introduced to log any Java exceptions and runtime errors into a file. Previously, JDLG had to run in a terminal/console, otherwise the Java standard error output was not output. - In a session configuration file, if the session name contained HTML code this code became visible in the progess indicator when the session was started. - In a session configuration file, the $host macro is now replaced with the local address of the established eloqsd connection. This avoids that on systems with multiple network interfaces the IP address of the wrong interface is choosen (#2764). * 2005-05-23: JDLG 1.3.0.0 050523 1030 New functionality: - The EditText and ComboBox objects now support Undo with the standardized keyboard shortcuts (Ctrl+Z or Meta+Z). - The EditText and ComboBox objects now have a configurable clipboard context menu which is activated with the right mouse button. It offers the common edit functions Undo, Cut, Copy, Paste, Delete and Select All. The menu text can be configured in the JDLG configuration file with: eloquence.config.clipboardcontextmenu = value Possible values are: * List of menu items, separated with the pipe character '|'. The accelerator character of each item is prefixed as usual with the '&' ampersand character. Exactly six items should be provided in the following order: &Undo|Cu&t|&Copy|&Paste|&Delete|Select &All For example, the following configures a German clipboard context menu (must be put in a single line): eloquence.config.clipboardcontextmenu = Rü&ckgängig|&Ausschneiden|&Kopieren|Ein&fügen|&Löschen|Alles &markieren * off Disables the clipboard context menu: eloquence.config.clipboardcontextmenu = off If eloquence.config.clipboardcontextmenu is not specified, the default value '&Undo|Cu&t|&Copy|&Paste|&Delete|Select &All' is used. - In the session start menu, a session's start process is now visualized with an indeterminate progress indicator. This indicator remains active either until the first DLG DO or DLG DRAW is executed or until an error is encountered. If the started application silently aborts (i.e. never connects to JDLG) the start progress indicator times out after 30 seconds. - A session can be given the autostart status so that it will be started automatically when JDLG is started: SESSIONNAME.autostart = yes (or true or on or 1) If multiple sessions have the .autostart attribute set they will all be started simultaneously when JDLG is started. - JDLG can now be configured so that it automatically terminates when the last session has ended: eloquence.config.exitonlastsession = yes (or true or on or 1) This is especially useful in combination with the session autostart feature. In addition, the JDLG window can be set to iconified state so that JDLG will stay 'in background': eloquence.config.syswin = iconified - The caching of the session login credentials can now be disabled: eloquence.config.sessionlogincache = off (or false or no or 0) If this is set, JDLG does not cache the login credentials so that each time a session is started, the user must login again. - The new .path attribute can be used to resolve the absolute path of an object. This is especially useful in combination with wildcard path specifications, for example: DLG GET "test.*.whereisit.path",Buf$ would return: test.tb.tab1.whereisit Please note that in combination with a wildcard path, DLG GET only addresses the first object it finds, even if the wildcard specification would match multiple objects in a dialog. Fixed problems: - All known focus problems have been fixed, especially with TabBox and ComboBox objects. The focus was not always set correctly. DLG DRAW could have the side effect that it affected the focus. - All previous JDLG 1.2 ListBox attributes are now functional in the new JDLG 1.3 ListBox. In particular, the .content, .delln, .ins, .length and .topitem attributes now work as expected. - The Listbox width is now correctly calculated. Previously, the vertical scroll bar was not always taken into account so that a horizontal scroll bar was sometimes displayed after a Listbox was filled for the first time. - On a multicolumn Listbox, the titles order could be wrong after a column was moved. - Java version 1.5 and above is now correctly recognized. However, please note that JDLG has not entirely been tested against Java version 1.5. - EditText and ComboBox rules were not always triggered when accelerator keys were used. The ComboBox keyboard navigation and rule handling did not always work as expected (#2618). - When the up/down keys were used to select a PopText entry, each key stroke triggered the PopText rule (#2507). The current version fixes this problem if JDLG is run under Java 1.4 or newer. - With .resizepolicy = scale, a rounding error could occur which could cause a wrong font size to be calculated (#2273). * 2004-08-30: JDLG 1.3.0.0 040830 1211 - JDLG could abort with an ArrayIndexOutOfBoundsException when certain Unicode punctation characters were input (#2020). This was already fixed in version 1.2.0.9 but had to be re-integrated into the current version. * 2004-08-24: JDLG 1.3.0.0 040824 1612 - On a multicolumn ListBox, DLG GET ".line[n]" did only return the first column. This was a side effect introduced with JDLG 1.3.0.0 040823 1708. - DLG DRAW caused the addressed dialog to come into foreground. If another dialog was executing DLG DO at the same time it lost its keyboard focus (#2444). * 2004-08-23: JDLG 1.3.0.0 040823 1708 - DLG SET ".add" on a ListBox did not add multiple lines at once when newline-separated text was passed. This worked correctly in JDLG 1.2 and has now been fixed in JDLG 1.3 for ListBox, PopText and ComboBox objects (#2440). - For DLGSRV compatibility, the PopText .text attribute has been introduced which is an alias for the .line attribute and behaves identically (#2438). - DLG GET ".line[n]" on a PopText did not indicate whether a line exists or not. This has been fixed. Error 660 (invalid value) is now returned whenever a nonexisting line is addressed (#2436). - CheckBoxes and RadioButtons did not always display the complete text if their width was automatically calculated based on the text width (#1516, #2153). - The .ruleoverride = 0 attribute did not always work as expected due to a race condition (#2435). * 2004-08-16: JDLG 1.3.0.0 040816 1533 - If the width of a StaticText, PushButton, CheckBox or RadioButton is 0, DLG SET ".text" sets it to the width of the text. The new width is now based on the underlying font, ensuring that the entire text is visible. Previously, the new width was calculated based on the character raster which caused the text to be clipped if a font was used which was wider than the raster width. Also, the CheckBoxes and RadioButtons were often wider than necessary (#1516, #2153). - The .line[n] ComboBox attribute has been introduced. It allows to set or change a particular combobox line. Previously, only the .add attribute was available to append new lines (#1690). - The .editable ComboBox attribute has been introduced. - If the wildcard '*' was used in DLG SET as last path component to set the content (as in DLG SET "MainDialog.*.content",""), StaticText objects were affected as well (#2389). - DLG SET ".activeline",1 on an empty PopText caused the session to become unresponsive due to an OutOfBoundsException (#2408). - If DLG SET ".async",1 was used during DLG LOAD, JDLG could silently abort due to an incomplete network receive (#2413). - DLG GET ".content" on a ComboBox could return an empty string unless the ENTER key was pressed in the combobox edittext (#2417).