.
Eloquence JDLG contact contact

Documentation / Eloquence JDLG / Release notes

JDLG release notes

 
.
  Document revision: 2024-05-27
Refers to JDLG version: 2.0.18


Contents



  • Current version:
    • JDLG 2.0 was released in December 2018.

  • Previous versions (obsolete):
    • JDLG 1.7 was released in July 2015.
    • JDLG 1.6 was released in January 2013.
    • JDLG 1.5 was released in July 2009.


Changes in JDLG version 2.0.18:

  • The Dialog.notify WEBDLG2 compatibility attribute (without index) may be set to zero to remove all notification codes from a Dialog.

  • Tree: Fixed a problem where a rule was unexpectedly triggered on mouse button single click outside a Tree entry. This was a regression introduced with the eloquence.config.delay.singleclick configuration property.

  • Fixed a problem starting with Java version 18 where eloqsd login credentials containing international characters were transferred using a wrong character encoding. The Java default encoding was changed with Java 18.

Changes in JDLG version 2.0.17 (superseded):

  • Fixed a problem where in rare cases the user interface could become unresponsive due to an internal deadlock condition:
    Java Event Dispatch Thread
    blocked for more than 10 seconds - signaling
      at ... ControlsManager$RuleManager.resetStack ...
    

  • Dialog: Fixed a problem where the margin attributes were not derived from a model.

Changes in JDLG version 2.0.16 (superseded):

  • The following WEBDLG2 compatibility attributes have been implemented.

    Application: browser[], lastnotify, name, start[]
    Menu: icon, textpos
    System: start[]
    WindowMenu: icon, textpos

  • The eloquence.config.delay.singleclick configuration property has been added to configure the ListBox.singleclick and Tree.singleclick behavior.

  • ListBox: The rulekey attribute no longer returns separate Numpad UP/DOWN key codes.

  • Fixed Java StackOverflowError when specifying a relative eloquence.config.logoicon URL.

  • Application: Fixed a race condition which could cause start atoms not to be passed on Application.start.

  • Work around internal Java NullPointerException as observed with Java version 1.8.0_221, caused by setting text which contains invalid HTML:
    Exception in thread "AWT-EventQueue-0"
    java.lang.NullPointerException
      at javax.swing.text.html.ImageView.updateImageSize
    

    This exception is handled by removing the HTML formatting, i.e., displaying the plain text. In addition, an error log message is issued with details about the affected object and the text being set.

  • EditText: Fixed a potential NullPointerException which did not have any user-visible effect (EEditText.scrollToCaret).

  • POPUP BOX: Fixed a potential NullPointerException which could cause the DLG session to abort (status code 684).

  • Login Dialog: Fixed a regression which caused the OK button to remain disabled although login and password have been entered.

  • Fixed login credentials not cached if specified in the application configuration.

Changes in JDLG version 2.0.15 (superseded):

  • ListBox: Fixed toolhelp[] attribute displaying unrelated text when lines are not in physical order.

Changes in JDLG version 2.0.14 (superseded):

  • Application: New start attribute, similar to System.start, but in addition allows to pass specific information as start atoms to the new session.

  • Application: New startatom[] attribute to specify start atoms to be passed to a new session started using the Application.start attribute.

  • Application: New startatoms attribute to query the start atoms.

  • ComboBox: New boxwidth attribute to set the item list wider than the object width.

  • ListBox: New rulekey attribute, allows to query the key code which caused a rule submission.

  • ListBox: New toolhelp[] attribute to set toolhelp text for specific ListBox lines.

  • ListBox bug fix: The horizontal scroll bar could unexpectedly appear when a ListBox receives the keyboard focus.

  • ListBoxHeader: New userhide attribute to specify whether a column is included in the column context menu.

  • PopText: New boxheight attribute.

  • PopText: New boxwidth attributes to set the item list wider than the object width.

  • Splitter: The rule attribute, if nonzero, notifies a program when the user has moved the divider.

  • System: The notify[] attribute has been enhanced to delay notification in case an active Dialog is currently not interactive, or if a POPUP BOX is currently open.

  • System: New notifyall[] attribute to send notifications to all Dialogs in other sessions, including currently inactive Dialogs.

  • New common attributes wmin, wmax, hmin, hmax. In the current implementation these attributes limit the range the user can move a Splitter divider.

  • Fixed wrong DLG DRAW status code 658 if the specified Dialog does not exist. Now the expected status 656 is returned.

Changes in JDLG version 2.0.13 (superseded):

  • ListBox: The rowheight attribute did no longer work, caused by a regression introduced with JDLG version 2.0.10.

Changes in JDLG version 2.0.12 (superseded):

  • Fixed a problem causing sessions to become unexpectedly started if the JDLG application list gets the focus when a Dialog becomes invisible after an ENTER rule has been issued.

  • Fixed potential POPUP BOX creation issues caused by wrong thread context.

  • Fixed unexpected "Java Event Dispatch Thread blocked" error message during JDLG initialization.

Changes in JDLG version 2.0.11 (superseded):

  • Fixed potential DLG object creation issues caused by wrong thread context.

  • ListBox: Fixed various race conditions, potentially causing internal errors which could cause the current session to unexpectedly abort. The previous fix in JDLG 2.0.10 was incomplete.

  • Configuration: Fixed potential IllegalStateException startup error when eloquence.config.lookandfeel specifies a 3rd-party class name.

Changes in JDLG version 2.0.10 (superseded):

  • New Application attributes mousebutton and mouseclickcount to query which mouse button(s) were clicked how often after a rule has been submitted.

  • Fixed Dialog activation. Activating an entry in the WindowMenu, or invoking System.activate, now makes the Dialog window visible if it is minimized.

  • ListBox: Fixed various race conditions, potentially causing internal ArrayIndexOutOfBoundsException and NoSuchElementException errors which could cause the current session to unexpectedly abort.

  • ListBox: Fixed potentially wrong active line after DLG SET add has been invoked.

  • Login dialog: Fixed a problem where the Password field was unexpectedly focused after the ENTER key is used to select a session list entry.

  • Login dialog: The ESC key now closes the login dialog.

Changes in JDLG version 2.0.9 (superseded):

  • New attributes Application.atoms and System.atoms to query current local and global atoms.

  • Fixed an internal deadlock condition which could in rare cases cause the current Dialog to no longer respond.

  • TabBox: If empty (no GroupBox child objects present) the current session could unexpectedly abort due to an ArrayIndexOutOfBoundsException.

  • ListBoxHeader: If the user changes the width of the first ListBox column a subsequent DLG GET w wrongly returned the initial column width.

  • Fixed a problem in the Show Sessions dialog. The session list was not updated while the dialog is open. Also, wrong entries were sometimes displayed. The Active Dialogs dialog was always opened in background when Show Sessions is open.

  • Revision 2.0.9-3: Fixed Java Webstart certificate verification problems. Verification could fail because an intermediate certificate as well as the timestamps expired on 2020-05-30.

Changes in JDLG version 2.0.8 (superseded):

  • Fixed a regression introduced with the previous JDLG version 2.0.7, again potentially causing an unexpected object position when the xauto attribute is set to -1.

  • Release 2.0.8-2: Fixed System.jdlgversion reporting wrong version info (2.0.7 200422 1727).

Changes in JDLG version 2.0.7 (superseded):

  • ListBoxHeader: DLG GET line or vline could return wrong values if invoked after the ListBox content is modified but before the next DLG DO or DLG DRAW is invoked.

  • Fixed a problem potentially causing an unexpected object position when the xauto attribute is set to -1.

Changes in JDLG version 2.0.6 (superseded):

  • New EditText and ComboBox attributes, introduced to help implementing an autocomplete function.

    New EditText attributes: tcrule, tcminchars, tcdelay
    New ComboBox attributes: tcrule, tcminchars, tcdelay

  • New ComboBox.open attribute, typically used to implement an autocomplete function. Defines whether the item list should be opened automatically when an editable ComboBox receives the keyboard focus.

  • New ListBox.vcrule attribute, allows a program to act upon ListBox view property changes such as column order, column visibility, sort sequence.

  • ComboBox: The item list did not always expand as expected when items are added to the list.

  • ComboBox: When the content is set it could happen that the corresponding item was not selected as expected.

  • GroupBox: If a GroupBox has scroll bars, the mouse wheel now works as expected across the entire GroupBox area.

  • ListBox: A mouse (double-)click now issues a rule only when a row is clicked.

  • ListBox: In a single column ListBox without a column header, the horizontal scroll bar could unexpectedly appear when the focus is moved away.

  • TabBox: Fixed a potential ArrayIndexOutOfBoundsException:
    Exception in thread "AWT-EventQueue-0"
    java.lang.ArrayIndexOutOfBoundsException: ...
      at javax.swing.plaf.basic.BasicTabbedPaneUI.paintTabArea
    

  • Fixed a problem where eloqsd login credentials were cached although a previous eloqsd authorization had failed.

  • The user's IP address has been added to the log output.

Changes in JDLG version 2.0.5 (superseded):

  • Simplified JDLG configuration.

    The eloquence.config.sessions configuration property now accepts either an URL or a file name, i.e., using a file: URL is no longer necessary.

    This also allows, for example, to use the $(USERPROFILE) environment variable on Windows to read the configuration file from the current user's home directory.

    If a relative file name or URL is specified it is resolved relative to the location of the jdlgS.jar file, or if Java Webstart or EQWS is used, relative to the JNLP codebase directory.

    This modification applies to all properties used to read configuration files. Consequently, the eloquence.config.file and eloquence.config.url properties are equivalent.

    The new eloquence.config property may now be used instead of eloquence.config.file and eloquence.config.url.

  • The Dialog.do Cancel Dialog functionality did no longer work as documented, caused by a regression introduced with JDLG version 2.0.4.

Changes in JDLG version 2.0.4 (superseded):

  • ListBoxHeader.format: Suppress logging of formatting error messages caused by empty ListBox cell value.

  • ListBoxHeader.format: Logging of formatting error messages caused by wrong ListBox cell value is now suppressed unless explicitly configured with: eloquence.config.debug=format:2

  • Fixed internal race conditions which could have various visible and nonvisible effects.

    Visible effects:

    Dialog objects were not displayed as expected. This could happen in rare cases if DLG DRAW is immediately followed by DLG DO.

    Nonvisible effects, JDLG error log messages:

    ConcurrentModificationException
    IndexOutOfBoundsException
    ArrayIndexOutOfBoundsException
    NoSuchElementException

    These could occur when the Java Event Dispatch Thread iterates the object tree while it was modified by DLG NEW or DLG DEL.

  • Fixed a potential NullPointerException.
    Exception in thread "AWT-EventQueue-0"
    java.lang.NullPointerException
      at com.eloquence.services.jdlg.ControlsManager$WaitListener.actionPerformed
    

Changes in JDLG version 2.0.3 (superseded):

Changes in JDLG version 2.0.2 (superseded):

  • Work around a rare NullPointerException when DLG DO submits a rule.
    Internal failure: java.lang.NullPointerException
      at java.nio.CharBuffer.wrap
      at com.eloquence.services.protocols.dlg.Dmdrv_V2.encodeString
      at com.eloquence.services.protocols.dlg.Dmdrv_V2.encode
      at com.eloquence.services.protocols.dlg.Dlg$Rq$DO.exec
      at com.eloquence.services.protocols.dlg.Dmdrv_V2.exec
      at com.eloquence.services.protocols.dlg.Dlg.run
      at java.lang.Thread.run
    
    If DLG DO returns with a null path, the rule submission is ignored and the log message below is output along with a stack dump:
    BUG: path == null
    

  • Work around blocked Event Dispatch Thread due to internal Java deadlock.

    If processing a single Java event takes more than 5 seconds, the Event Dispatch Thread is signaled and the log message below is output:

    Java Event Dispatch Thread
    blocked for more than 5 seconds - signaling
    

Changes in JDLG version 2.0.1 (superseded):

  • Supports the EQWS utility, a simple and lightweight alternative to Java Webstart (javaws) which is no longer included in Oracle Java since version 11.

  • Includes source code line number information to improve diagnostics in case of a problem. As a result, the jdlgS.jar file size has increased by 15%.

Changes in JDLG version 2.0.0 (superseded):

Changes in JDLG version 1.7.7 (obsolete):

  • Please note: The last and only JDLG 1.7.7 release is 1.7.7 181207 1336 (beta version). This version is no longer supported, please update to JDLG 2.0.

  • Changed the reference point behavior if the first Dialog a program displays is centered.

    Previously, if the first Dialog a program displays is centered, the reference point was set to this Dialog's x/y position. As a consequence, following Dialogs which are not centered were displayed relative to the first Dialog's position. For example, a Dialog opened afterwards at position 0/0 was displayed at the 0/0 position of the centered first Dialog.

    However, if a program wants to use the reference point to affect the first Dialog's centered position, this did not work.

    For this reason, the behavior was changed. If the first Dialog is centered, the reference point is no longer modified, but the reference point adjusts the Dialog's x/y position. As a consequence, following Dialogs which are not centered are displayed at their x/y position. For example, a Dialog opened afterwards at position 0/0 is now displayed at the 0/0 screen position adjusted by the reference point.

  • New GroupBox attributes: vx and vy to get/set the scroll bar position of scrollable GroupBox objects.

  • Fixed a compatibility issue with Java 9 or newer.

    On Java 9 or newer, JDLG versions 1.7.5 and 1.7.6 fail to start or expose unexpected behavior. An error message like below was logged:
    class com.eloquence.services.jdlg.controls.ESystem$TypeAheadManager ... cannot access class sun.java2d.SunGraphicsEnvironment (in module java.desktop) because module java.desktop does not export sun.java2d to unnamed module ...

  • Note: To use the JDLG drag & drop functionality with Java 9 or newer, access to the javax.swing and javax.swing.plaf.basic Java packages must be allowed.

    If you start JDLG using Java Webstart (JNLP), add the java-vm-args attribute to the <j2se ... /> tag, as shown below:

    <j2se version="1.5+"
          java-vm-args="--add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED" />
    

    If you start JDLG using a Java command line, the --add-opens options above must be specified at the beginning of your command line.

    Java 9 also supports the --permit-illegal-access command line option which may be used as an alternative to the --add-opens options above. Please note that this option has been replaced with --illegal-access=permit in newer Java versions.

    For example:

    java --permit-illegal-access -jar jdlgS.jar
    java --illegal-access=permit -jar jdlgS.jar
    

  • ComboBox: Fixed a compatibility issue with Java 9 or newer where ComboBox objects were not displayed as expected.

  • HtmlView: DLG SET content,"" did not clear the URL (#4267).

  • ListBox: In a single column ListBox without a column header, the horizontal scroll bar was not displayed when necessary.

  • Using the ListBoxHeader.format attribute with values using HTML content did not work.

  • Setting the ListBoxHeader.autowidth attribute could cause an unexpected column width if HTML content is used.

  • Tree: Fixed a problem where DLG SET activeline was not always executed on the next DLG DO or DLG DRAW invocation (#4266).

  • Tree: If no background color is set, a Tree could initially display a white background which disappeared when the Tree gets focued for the first time. This was a side effect of fix #4237 in JDLG version 1.7.6.

  • Fixed a problem observed on Windows 10 where the JDLG console window did not display as expected after its task bar icon was double-clicked (#4271).

  • Observed a rare NullPointerException:
    java.lang.NullPointerException at Dialog.DoResponseMessage.getNetworkPresentation ...

    A diagnostic message is logged in case this happens.

  • Implemented a workaround for a problem observed since Java version 1.8.0_161.

    When switching program windows, moving away from JDLG to a different program, then moving back to a JDLG Dialog where an EditText object has the focus, an internal loop might be triggered which consumes 100% CPU load.

    This problem is specific to the Windows platform.

Changes in JDLG version 1.7.6 (obsolete):

  • Please note: This version is no longer supported, please update to JDLG 2.0.

  • Tree: The display of entries was sometimes truncated or otherwise incorrect after font attributes were modified (#4237).

  • Tree: DLG GET content, line or open could return a wrong node expansion state if invoked after the Tree content is modified but before the next DLG DO or DLG DRAW is invoked.

  • Updated the default browser command line on Linux due to changes in recent Firefox versions (#4251).

    The command line is now: xdg-open URL

Changes in JDLG version 1.7.5 (obsolete):

  • New functionality: Drag & drop

  • Fixed a problem which could cause a Dialog to stop responding for 10 seconds when holding down the TAB or ENTER key to quickly move forward the focus.

    This was caused by an internal race condition in the typeahead function.

  • Fixed a problem where under certain conditions previous Dialog contents were visible although new contents were set (#4236).

    This could happen if the Dialog is updated while invisible, and after that is made visible.

  • Fixed a problem where in some cases Dialogs were only partially displayed when JDLG is used in a Windows Remote Desktop session where the user disconnects and then reconnects the session (#4226).

    An error message like below was logged:
    Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException at com.sun.java.swing.plaf.windows.WindowsTableHeaderUI$XPDefaultRenderer.paint ...

    Disconnecting and reconnecting a Windows Remote Desktop session may under certain conditions invalidate current renderer objects which JDLG wrongly continued to use.

  • ComboBox, EditText: Under certain conditions it could happen that the content was not left aligned.

  • ListBox: In some cases setting the cy attribute was ignored if the focus attribute is set afterwards.

  • ListBox: DLG GET modelorder[], vieworder[] or vline[] could return wrong results if invoked after the ListBox content is modified but before the next DLG DO or DLG DRAW is invoked.

  • ListBox, PopText: Fixed a problem where the rowdata attribute was not derived from a model (#4227).

  • ListBox, Tree: When selected ListBox or Tree entries are copied to the clipboard (Ctrl-C) any HTML tags are now trimmed so that just the plain text is copied.

  • New Tree attribute: addcy

  • Tree: Setting the sensitive attribute to zero had no effect.

    This problem was introduced with JDLG version 1.7.4.

  • Tree: The display of entries using HTML content was sometimes truncated or otherwise incorrect (#4237).

  • Tree: DLG SET useicons no longer has the side effect that all nodes in the Tree are collapsed (closed).

  • Function keys: If the focused object has the help rule (-1) and a function key is pressed, the help system was unexpectedly invoked.

  • New configuration property: eloquence.config.tray

Changes in JDLG version 1.7.4 (obsolete):

  • Fixed a problem where under certain conditions after DLG SET ".async",1 JDLG could return unexpected results on synchronous calls such as DLG GET or DLG DO if one or more previous asynchonous calls such as DLG SET or DLG DEL caused an error condition (#4222).

    For example:

    DLG SET ".async",1
    ...
    DLG DEL "object.which.does.not.exist"
    
    A subsequent DLG DO could then unexpectedly return the status of the previous DLG DEL (ERROR 650 in this example).

  • EditText, ComboBox: If an EditText or ComboBox has the focus and the content is set but the existing content equals the new content, the content could unexpectedly lose its selection under certain conditions (#4217).

  • EditText, ComboBox: The content could be unexpectedly selected although the overwrite editing mode is active.

  • ComboBox: The content could be unexpectedly selected or the caret could be unexpectedly moved if a Dialog issues a timer rule while a ComboBox has the focus.

  • Tree: Fixed a problem where after invoking DLG SET Tree.visible,0 the Tree container could remain visible.

  • Tree: Setting the activeline attribute now scrolls the selected entry into view if necessary.

  • Tree: The line attribute now allows to modify the node/leaf state of an entry.

  • Tree: The openall attribute now allows to specify an entry to expand or collapse including all dependent entries.

Changes in JDLG version 1.7.3 (obsolete):

  • Fixed an internal race condition causing the focus not being set as expected in some cases.

  • Fixed a regression where the Java system look-and-feel could not be installed.

Changes in JDLG version 1.7.2 (obsolete):

Changes in JDLG version 1.7.1 (obsolete):

  • EditText: Fixed a problem where the new autotab, linewrap and wrapmode attributes were not derived from a model.

  • The Java code signing certificate has been renewed.

    Previous JDLG versions were code-signed with a certificate which expired on October 22, 2015.

    The certificate validity, i.e., whether or not a certificate has expired or has been revoked by a certification authority, should be irrelevant because each JDLG version includes a trusted RFC 3161 time stamp, indicating when the particlar JDLG version was created.

    As observed, this might not work as expected under all circumstances. It appears that since the certificate has expired Java Webstart might under certain conditions refuse to execute a previous JDLG version, despite that JDLG is correctly time stamped.

    JDLG version 1.7.1 should solve any issues observed in this context. The new certificate expires on October 22, 2020.

  • Please note if you use the JDLG example plugins:

    The updated jdlg-plugin-examples-151029.zip has been released where all included JAR files are code-signed with the renewed certificate.

    Any previous versions of the JDLG example plugin JAR files might no longer work after updating to JDLG 1.7.1.

    Download directory: https://eloquence.marxmeier.com/download/jdlg/plugin/

Changes in JDLG version 1.7.0 (obsolete):

  • A new layout implementation improves display performance and solves Dialog appearance problems observed with previous JDLG versions.

  • The object position and size may be specified in pixel units.

  • The Dialog scaling functionality now covers Image objects, Dialog and GroupBox background images, PushButton icons as well as the POPUP BOX as expected.

  • The EditText class provides a new auto-tab mode and supports line wrapping in various modes for multi-line EditText objects.

  • The Dialog.do Cancel Dialog functionality has been enhanced.

  • The Dialog and GroupBox left/right/top/bottom margins may be selectively enabled.

  • The Java Webstart JNLP configuration has been simplified. All URLs in JNLP files and JDLG configuration files may now be specified relative to the JNLP code base.

  • The typeahead functionality has been enhanced. The TAB/ENTER forward navigation keys are now additionally buffered so that the typeahead function now works across multiple objects.

  • The visual display quality of scaled images has been improved.

  • ListBox: DLG SET columnorder now recognizes the v character to make a column visible.

  • ListBox: The ListBox border now visually indicates whether a ListBox is focused.

  • ListBox: The first line is no longer implicitly selected if no line is selected when a ListBox gets the focus.

  • The Dialog layout behavior can be configured to reproduce the Dialog window area calculation of JDLG versions before 1.7.0.

Changes in JDLG version 1.6.7 (obsolete):

  • Fixed a problem where in some cases DLG SET sensitive was not correctly propagated to child objects.

  • ListBox: Fixed a potential IllegalArgumentException when setting the ListBox.resetorder attribute.

  • ListBox: Fixed a potential ClassCastException on DLG GET rowdata if a line is inserted and rowdata is not set on this line.

  • Plugin: Introduced Plugin API version 1.2 which allows a plugin class to implement the standard mouse handling.

  • Plugin: Fixed uninitialized parent during onClone() invocation.

  • Plugin: Added the System.plugin[] attribute to query whether a plugin class is present.

Changes in JDLG version 1.6.6 (obsolete):

  • Added the Dialog.dohide and doshow attributes to enhance the Dialog.do Cancel Dialog functionality.

  • Fixed potential NullPointerException when the keyboard focus is moved away from a deleted object.

Changes in JDLG version 1.6.5 (obsolete):

  • CheckBox / PushButton / RadioButton: Fixed a problem where button objects were not focused when clicked if tabstop=0 is set. This also caused unexpected behavior if ruleoverride=0 is set.

  • Splitter / GroupBox: Fixed a problem where Splitter child objects were not displayed if they are located in a nested GroupBox having yauto=0.

  • Plugin: Fixed a problem where the ruleoverride attribute was not derived from a model. See also: Plugin.onRuleOverride()

Changes in JDLG version 1.6.4 (obsolete):

  • ListBox: Fixed a regression where making trailing invisible columns visible could cause a session to abort with ERROR 684 due to an internal IllegalArgumentException.

Changes in JDLG version 1.6.3 (obsolete):

  • Added the Image.scale attribute to reduce memory usage if an image is scaled to a smaller size.
    The default behavior for all images may be specified using the new eloquence.config.imagescale configuration property.

  • ListBox: Fixed a problem where in certain cases dynamically added columns were not displayed correctly if invisible columns were already present.

  • ComboBox: Fixed a regression where setting ComboBox.boxheight had no effect.

  • Added the Show Log Messages menu option to instantly view JDLG runtime errors and warnings, regardless whether an error log file is configured or not.

  • Java Webstart: Accept "jnlp." prefixed property names, for example "jnlp.eloquence.config.url", to overcome a JNLP behavior change introduced with Oracle Java version 7u45.

  • Oracle Java version 7u45 and newer: Fixed jdlgS.jar signature and manifest issues so that a Java Web Start security warning message is no longer displayed.

Changes in JDLG version 1.6.2 (obsolete):

  • Fixed a problem where printing could fail on Windows 8 (#4120).

Changes in JDLG version 1.6.1 (obsolete):

  • Added the Dialog.bgfill and GroupBox.bgfill attributes to specify the Dialog and GroupBox background image fill mode.

  • Fixed a problem introduced with JDLG version 1.6.0 where a Dialog background image was unexpectedly refreshed on each DLG DO and DLG DRAW.

Changes in JDLG version 1.6.0 (obsolete):

  • Added the GroupBox.bgimage attribute which allows to specify a GroupBox background image (#4084).

  • Added the System.start attribute which allows to programmatically start a configured application.

  • Added the visible attribute in the application configuration for applications that should only be started programmatically using the System.start attribute.

  • The caching of the login credentials has been improved. If a new session is started where the login credentials are not yet cached, the credentials of another session are used if the other session has the same server and serverport configuration.
    See also: eloquence.config.sessionlogincache

  • PRINTER 10 integration:

    DLG SET Application.printername specifies the printer to be used with subsequent PRINTER 10 invocations.

    DLG SET Application.printers queries the list of installed printers.

    Windows: The 64-bit Java platform is now supported.

  • Fixed a problem where a Dialog background image did not change if the same URL was used to load a different image (#4074).

  • Fixed a problem where the PopText.cy attribute was not derived from a model (#4082). This also affected the activeitem, activeline and topitem attributes.

  • If the DLG protocol buffer size is exceeded on DLG GET, for example when obtaining the EditText or ListBox content, ERROR 685 was returned (Internal error detected by DLG driver). This has been changed to ERROR 683 (DLG driver protocol memory overflow) (#4025).

  • The tray icon display has been improved to support different image resolutions.

Changes in JDLG beta version 1.5.7-120514-1914 (obsolete):

  • Fixed a problem where an image did not change if the same URL was used to load a different image (#4074).

Changes in JDLG beta version 1.5.7-110705-1228 (obsolete):

  • Fixed a problem related to the GroupBox scroll position if multiple scrollable GroupBoxes are nested.

    Setting the focus to an object located in a nested scrollable GroupBox could set the scroll bars of an outer GroupBox to a wrong position.

Changes in JDLG beta version 1.5.7-110526-1229 (obsolete):

  • Fixed an incompatibility with Java versions before 1.6, potentially causing a java.lang.NoSuchMethodError: java/lang/String.isEmpty()Z

Changes in JDLG beta version 1.5.7-110518-1310 (obsolete):

Changes in JDLG beta version 1.5.7-110429-1914 (obsolete):

  • Added the eloquence.config.keepalive configuration property.

    The eloquence.config.keepalive property specifies the keepalive interval in seconds. If nonzero, JDLG sends keepalive messages in the specified interval during a DLG DO or POPUP BOX invocation.

    This allows eloqcore to detect whether a JDLG connection is still active or was interrupted. The latter case is assumed if eloqcore does not receive any message from JDLG for five times the specified interval during a DLG DO or POPUP BOX invocation. If an interrupted JDLG connection is detected, the connection is closed and ERROR 684 is returned to the program.

    This function may also be useful to solve idle timeout problems caused by network router/firewall configuration. A network router might be configured to close a connection if it has been inactive for some time. To prevent this from affecting JDLG connections, a JDLG keepalive interval could be configured.

    For example, assumed the router idle timeout is 30 minutes, an eloquence.config.keepalive=900 configuration would cause JDLG to send a keepalive message every 15 minutes so that the router idle timeout would not expire.

    Notes:

    • The eloquence.config.keepalive configuration requires an eloqcore version which supports the keepalive functionality, otherwise it has no effect. For Eloquence 8.0 this requires eloqcore patch PE80-1104280 or newer. For Eloquence 8.10 this requires eloqcore patch PE81-1104280 or newer.

    • Instead of configuring the eloquence.config.keepalive property, a program may invoke DLG SET ".keepalive",Seconds to specify the keepalive interval, for example: DLG SET ".keepalive",900

Changes in JDLG beta version 1.5.7-110128-1437 (obsolete):

  • Added the System.activate attribute.

    If multiple sessions are active, DLG SET System.activate brings the Dialog of a concurrent session into foreground where the Dialog title matches the specified string argument, similar to clicking an entry in the WindowMenu.


  • On the Linux platform, the space used by the Desktop task bar or the Desktop menu bar may not be properly accounted for. This is caused by a Java Swing limitation, where the necessary information is not available. This should have little consequences besides that JDLG cannot ensure that a Dialog window is not obscured by Desktop elements.

  • On platforms where JDLG runs on top of an X11 window manager, such as Linux, the content of the X11 clipboard may change when the content of an EditText or ComboBox object is selected. This is Java behavior which cannot be affected by JDLG.


 
 
 
  Privacy | Webmaster | Terms of use | Impressum Revision: 2024-05-27  
  Copyright © 1995-2024 Marxmeier Software AG