Change Notes for the JDLG_1320_080131_1210 development snapshot --------------------------------------------------------------- Thank you for your interest and help in improving JDLG. JDLG 1.3.2 comes with a new layout management algorithm to correct limitations with resizing and scaling of dialogs. It also includes a number of defect fixes as well as performance and functional enhancements. We expect it to shortly replace earlier JDLG versions. If you encounter any problems with this release please send us a problem report to jdlg@marxmeier.com. New functionality: - This version of JDLG implements initial printing support. JDLG printing support is intended to be used by an enhanced version of eloqcore that supports redirecting PRINTER 10 to JDLG (eloqcore beta patch PE71-0711050 or newer, see below). JDLG implements new attributes related to printer job handling. While these attributes may be used from an application they are intended to be used internally by eloqcore. application.openprinter This attribute may be used with DLG SET to open a print job. The string specifies the printer name, depending on the JDLG platform conventions. An empty string argument specifies the default printer. application.closeprinter This attribute may be used with DLG SET to close a print job. The argument is ignored. application.print This attribute may be used with DLG SET to submit data to an open print job. application.printerlasterror This attribute may be used with DLG GET to obtain additional information after a print failure. A string is returned. Please note that printer data is passed through and the printer must be able to handle the data. Required eloqcore patch: PE71-0711050 or newer, available in the Eloquence B.07.10 beta patch download directory: http://eloquence.marxmeier.com/download/B0710/patch/beta/ Please note that no eloqcore configuration is required to use PRINTER 10 with JDLG. If eloqcore is connected to JDLG, PRINTER 10 is automatically redirected through JDLG. - Added the ComboBox maxchars and align attributes to mirror the equivalent EditText functionality. ComboBox.maxchars defines the maximum number of characters the ComboBox edit text may contain at any time. ComboBox.align allows to specify the text alignment within the ComboBox edit text. Possible values are "left", "center" and "right". - PopText entries can now be selected by entering the leading letter of the entry to be selected. - Added support for application logoicon to be used for POPUP BOX and as the default for the dialog icon. Fixed problems in this release (relative to JDLG_1320_080109_1729): - JDLG could issue an ArrayIndexOutOfBoundsException if Java is painting the ListBox while a DLG SET ListBox.columnorder or a DLG SET ListBox.resetorder is executed. - Modifying the EditText .ispassword or .multiline attributes while the EditText is not empty could cause the JDLG session to abort with an IllegalArgumentException. This in turn caused an error 684 in the application. When the EditText .ispassword or .multiline attributes are modified, actually the functional EditText mode is switched. The reason for the problem was that during this mode switch, the EditText content was retained. However, retaining the content is considered to be either a security (deactivating .ispassword) or a functional problem (deactivating .multiline), therefore the new behavior is to always purge the content when the mode is switched. - If a ListBox containing multiple ListBoxHeaders is derived from a model where the model specifies a width for each header, the width of the first header was not derived, i.e., the width of the first column was set to a default value. - The ListBoxHeader.autowidth attribute sets an internal flag that causes the column width to become adjusted on the next DLG DO or DLG DRAW. This internal flag was not reset when the column width was manually set with ListBoxHeader.w or ListBoxHeader.width. - The error log output (eloquence.config.errorlog=filename) was improved to display a header indicating the JDLG and java versions and the user name. In addition, error log messages are prefixed with a timestamp and the user name. Known problems: - In rare cases opening a window for the first time after starting a new session might display only the window frame but not its content. As a workaround the problem may be corrected by minimizing and then restoring the window. - Restoring a window that was initially opened maximized may move the window to the upper left or lower right corner in some cases. - When resizing a window that uses multiple fonts, some window sizes may result in a suboptimal layout. This appears to be caused by a different aspect ratio, depending on the font sizes. - If the Window menu has multiple identical entries they are not distinguished. The first entry is always activated regardless which entry is clicked. This has always been a bug in JDLG and will be solved in a future release. - Changing the resizepolicy of a dialog after maximizing may not work correctly. - A maximized window that was made invisible and then visible again may have an incorrect "normal" size.