Release Notes 1.6.3 ------------------- Final release 1.6.3 available Improved grid control by allowing to expand cell in a hierarchical way, by showing nested components at row level, such as a nested grid inside an expandable row. Added "demo40" sample application, to show how to create a frame that contains a main grid having two level nested grids within it. Added new global property "DISABLED_INPUT_CONTROLS_FOCUSABLE" in ClientSettings class: it allows to move focus to disabled input controls too, in order to set cursor on them, select their content and allow copy & paste operations. Improved OptionPane utility class, by supporting translations of buttons according to selected language. Fixed problem with user profile on grid, when storing new profiles and with grids locked on top/bottom. Improved DecimalColumn, PercentageColumn and CurrecnyColumn by adding "hideZeroDigits" property, that allows to hide/show zero digits, after decimal symbol. Fixed problem when editing numeric values in columns of grid having decimal values. Improved TextControl when using "upperCase" property. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.6.2 ------------------- Final release 1.6.2 available Improved FormattedTextColumn and changed "demo3" sample application to show how to use JFormattedTextField.AbstractFormatter class. Added "demo39" sample applications to show how to drag nodes from a tree and drop onto another tree. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.6.1 ------------------- Final release 1.6.1 available Added code auto completition to lookup component; this feature can be enabled using global property ClientSettings.LOOKUP_AUTO_COMPLETITION_WAIT_TIME or lookup property "autoCompletitionWaitTime". Updated "demo10" sample application to show how to use this new feature. Added "expandRoot" property to TreePanel and TreeGridPanel to define is auto expand root's children when "expandAllNodes" property is set to "false". Fixed problem in TreeGridPanel with horizontal alignment setting. Improved ComboBoxVOControl, by adding "reloadItems" method to force items reloading. Fixed problem on loading images and "demo2" sample application. Fixed problem with internal sorting in grid, when using characters set dependent on Locale. Updated "demo3", "demo20", "demo24" sample applications by filling in formatted text columns in database table. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.6 ----------------- Final release 1.6 available Changed Form panel, grid control and TreePanel components: now a wait cursor is showed when loading data on these components. Added commands "select all" and "deselect all" to popup menu in grid, for check-box type columns. Added commands for copy/cut/paste to a popup menu showed over an input control when right mouse clicking on it. Improved "window" menu in MDI menu bar: - added "switch..." menu item to open a window dialog showing all opened internal windows and select a window to set to front - added numeric mnemonic (1, 2, 3, ... 9) at the left of menu items related to internal opened windows - added "reduce to icon" and "reduce all to icon" menu items - added "cascade", "tile horizontally/verically" menu items Improved TreeGridPanel: - now a leaf can be directly expanded using TreeWillExpandListener listener - added "setColumnAlignment" method to specify column alignment - added "rootVisible" property to show/hide root node Created ItalianOnlyResourceFactory class, that can be used to create italian based applications: it contains all OpenSwing translations, as with EnglishOnlyResourceFactory. Fixed NullPointerException bug, fired when using ListControl. Changed AboutDialog: if about text contains a link, then when clicking on it, default browser will be opened. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.9 ------------------- Final release 1.5.9 available Created "import data" button, that can be linked to a grid control and allows to import records in grid starting from an XLS or CSV file. Updated "demo10" sample application to show how to link new import button to an editable grid. Improved LoginDialog: - added constructor to support language selection in login dialog - added constructor to support password encryption, based on PBEWithMD5AndDES algorithm, to allow encrypted password storing (e.g. in database) Created CryptUtils utility class, to support encryption and decryption of bytes[] or String objects. Added "demo38" to show how to configure a LoginDialog with language selection, password encryption, encrypted password storing in database and account storing in local file system. Added "buttonBehavior" property to generic buttons, so it is possible to override the global property ClientSettings.BUTTON_BEHAVIOR to redefine button content: image only, text only or image and text. Improved TreeGridPanel: - by allowing to use some listeners in tree: TreeExpansionListener, TreeWillExpandListener and TreeSelectionListener - by supporting data formatting in the first column of the grid Added "demo37" sample application, to show how to use the TreeGridPanel component, whose tree nodes are dinamically fetched, when expanding a single node. Applied little change to algorithm that assigns mnemonics to menu items in MDI's menu bar: now it applies only letters or digits. Added support for hiperlink navigation in about dialog when its content is HTML based. Fixed a bug in date control when language identifier is in form "xx_yy". Fixed a bug in grid profile management. Change default behavior of lookup control, using new global property ClientSettings.FORCE_FOCUS_ON_LOOKUP_CONTROL: now as default value (false) the focus is not automatically set over lookup button if code field is filled and user press TAB. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.8 ------------------- Final release 1.5.8 available Fixed bug in numeric/currency column: with double or float data types a ??? was showed instead of the correct data. Improved code snippets readability in the web site documentation. Added a Flash tutorial to web site, that shows how to create an MDI application having editable grid and master/detail functionalities. Improved lookup controller: - now it is possible to customize lookup grid frame and lookup tree+grid frame, by specifying an ad hoc GridController class for grid - a buttons panel can be added on top of the lookup grid frame to insert/edit/delete/export/filter data directly from lookup grid Fixed problem in TreePanel on rendering long node descriptions, using java 1.6. Fixed problem with tooltip property in check-box/radio button controls. Change mandatory red simbol, by using an image instead of a "*" char: this normalize the dimension of mandatory symbol in all JVMs. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.7 ------------------- Final release 1.5.7 available Improved lookup control: - now TAB key pressing inside the code field moves focus to next component instead of the lookup button if code field is not empty. - added BeanInfo class for LookupController and added two property editors to use in UI designer: one for lookup frame type and the other for defining action to execute when code is not valid - added LOOKUP_FRAME_CONTENT global property to ClientSettings class: it defines default lookup frame type for a lookup - added new lookup frames: filter panel + grid, custom panel + grid, tree + filter panel + grid, tree + custom panel + grid; these panes, showed above the grid, allow to filter lookup grid and it is useful with large result sets. - available a CustomFilterPanel class, to use with "custom panel + grid" or "tree + custom panel + grid" windows, that customize the panel to show above the grid Changed "demo10" sample application to show how to use filter panel above the lookup grid and a custom filter panel above the grid (see lookups within employee detail frame). Fixed a problem on closing internal frame with AskBeforeClose flag activated. Fixed a problem in tips of day panel when scrolling tips. Fixed a problem when exporting data in xls/html formats: now text's column headers supports unicode characters. Added addItemListener method to (check-box) TreePanel to listen for check-box selection events. Fixed problem in TreePanel on rendering long node descriptions. Improved "demo36" sample application to show how to use Cayenne ORM relations with OpenSwing lookups. Changed LoginDialog constructor: now it is possible to store/retrieve account credentials in local machine, to the purpose of avoiding to provide account info, using a "store account" check-box. Changed build.xml file to build core classes of OpenSwing using Ant, now located in root dir of SVN repository/zip distribution. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.6 ------------------- Final release 1.5.6 available Added support for Apache Cayenne ORM. Added "demo36" sample application to show how to use Cayenne and OpenSwing together. Improved date control/column by supporting language expressed as "xx_YY". Added to ClientSettings a new global property: BUTTON_BEHAVIOR, to define whether showing image and/or text in default buttons (insert, edit, ...). Fixed a problem in quick filter panel when applying a filter that returns zero rows: now it is possible to reopen quick filter with CTRL+Q shortcut too. Fixed a problem in Form panel when using inner v.o. and the main v.o. is created in insert mode. Improved value object usage: now Short type and primitives types are supported as attribute type. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.5 ------------------- Final release 1.5.5 available Fixed a problem in several input controls when focus is set on them and save button is pressed: now background color is correctly changed for them. Fixed a problem in TreePanel having checkboxes for each node: when focus is resetted to that panel checkbox selections were lost, now this bug has been fixed. Improved button type column of GridControl when button is enabled in readonly mode too: now row selection is automatically setted when button has been pressed. Improved quick filter panel on grid: - added GridController.getInitialQuickFilterValue callback method to replace initial value to propose within the quick filter panel - added GridController.beforeFilterGrid callback method to replace filtering condition after pressing filter button - now if filtering condition leads to zero rows in grid then filter panel remains open to allow to clear filtering condition - now initial value in quick filter panel is setted also for domain type columns - filter panel now has the same background color of popup menu container - added global property LIKE to ClientSettings to define the SQL like operator; for instance it can be replaced by "ilike" case insensitive operator for PosgreSQL database - added shortcut key to "remove filter" menu item; default value: CTRL+R; customizable via ClientSettings.REMOVE_FILTER_KEY global property Improved filter panel on grid: - new callback method GridController.beforeFilterGrid can be used both on quick filter and filter panel - added IN operator: by pressing TAB key in filter field a new filter field is created next to it; this is useful to filter for multiple values - for operators different from IN,IS NULL,IS NOT NULL: by pressing TAB key in filter field a new filter field is created next to it; this is useful to filter for multiple values using the same operator and with OR logical connector - updated grid profile management, according to IN and OR features Improved server-side utility classes QueryUtil,HibernateUtils,JPAUtils: now filtering/sorting conditions can be applied to a query defined with distinct statements (select, from, where, group by, having, order by). This feature can be useful for complex queries (e.g. nested selects, union). Added "anchorLastColumn" property to LookupControl, to anchor the last column to the right side of the lookup grid. Changed "demo17" sample application (based on Hibernate), by including a grid+detail functionality. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.4 ------------------- Final release 1.5.4 available Improved lookup component: - now ESCAPE key can be used to close lookup window - added setMaxSortedColumns to set maximum number of sorted columns in lookup grid window Improved InternalFrame by implementing "askBeforeClose" property, used to show a confirm window when closing the frame. Added ASK_BEFORE_CLOSE property in ClientSettings to define the default value of "askBeforeClose" property in InternalFrame. Added some properties in ClientSettings to customize LoginDialog buttons and title. Added some properties in ClientSettings to customize TreeMenu title and search panel. Reduced GridControl focus border to 1 pixel. Fixed problem in GridControl when selecting a row, two row selection events were fired. Improved tree menu panel in MDI frame: now find function feature automatically scrolls the tree until showing the found node. Improved menu bar of MDI frame: now a mnemonic char is automatically set for all menu items too. Improved TreePanel search utility: - now found node is automatically scrolled to the visible area - now shortcut key (F3) used to set focus on the tree search field is customizable, through ClientSettings.TREE_MENU_KEY property Improved desktop pane usage of MDI frame: - now background image can be centered/repeated/streched, by means of ClientSettings.BACK_IMAGE_DISPOSITION property - background image defined in ClientSettings.BACKGROUND property can be set to null too - ClientSettings.BACKGROUND_PAINTER property can be used to do arbitrary backgrounds, by defining a BackgroundPainer interface The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.3 ------------------- Final release 1.5.3 available Cleanup the OpenSwing source code, by removing unused imports and not referred attributes/variabled. Improved QueryUtils and grid/form models by supporting primitive types (int, long, float, double) for attributes within a value object. Fixed focus problem on lookup type columns when closing the lookup grid frame: now focus is resetted in the edited cell. Added get/setProgressBarValue() methods to MDIFrame to directly set current value in progress bar, instead of using MDIFrame.setBusy() method. Added getStatusBar() method to MDIFrame to directly manage StatusBar object, instead of using MDIFrame.addStatusComponent() method. Changed EnglishOnlyResourceFactory behavior: now translations passed to the class constructor have priority on default translations internally defined (on EnglishOnlyResourceFactory). Changed applyFiltersAndSorter method in HibernateUtils utility class, to include id in filtered columns. Changed jcalendar.jar file. Improved date component: now date can be selected in calendar using F2 shortcut key and using up/down/left/right/tab/space keys. Improved ClientSettings class, by adding switchers to define shortcut keys: - to use within date and lookup components - to use within a Form panel or GridControl for all buttons linked to them Fixed a bug in Form panel and GridControl when pressing CTRL+S to save form content. Fixed a bug in PasswordControl. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.2 ------------------- Final release 1.5.2 available Included support for Hessian serialization/deserialization: thanks to this open source library, it will be possible to combine different versions of java for client and server sides for the application. Hessian usage is described in documentation available in "Messages" and "Business logic and data access tier development" and "Spring integration" sections of OpenSwing web site. Spring intergration section reported Hessian usage too. Changed "demo5" sample application to show how to use Hessian support in a 3 tier client-server application fully based on OpenSwing. Changed "demo18" sample application to show how to use Hessian support in a 3 tier client-server application based on OpenSwing and Spring. Created class OpenSwingTreeNode that inherits from DefaultMutableTreeNode; this subclass allows to serialize the "userObject" attribute of DefaultMutableTreeNode: in this way "userObject" attribute can be correctly serialized using different versions of Java between client and server, hence with Hessian too. Changed behavior in GridControl component when right clicking with the mouse: now it is possible to execute some popup command on multiple selected rows. Fixed bugs in demo6, demo7 and demo9 sample applications. Added .bat/.sh start files for sample applications demo27..demo35 (see README.txt file for demo35). The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5.1 ------------------- Final release 1.5.1 available Included support for JPA/EJB 3.0/TopLink Essentials: JPAUtils class has been provided to easily support grid pagination, filtering, sorting from OpenSwing GridControl to JPA API. Added "demo35" sample application to show how to combine JPA with OpenSwing. Updated web site documentation by adding description about how to use together JPA and OpenSwing. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.5 ----------------- Final release 1.5 available Fixed a problem related to rendering TreePanel when check-boxes are showed. Fixed a bug on TreePanel when check-boxes are showed and user clicks with the right mouse button. Fixed bug in CheckBoxControl having three states when clicking with mouse and the control is disabled. Added "SHOW_PADLOCK_IN_TREE_MENU" property to ClientSettings to show/hide the padlock within the tree menu panel. Changed gif images with png images in BeanInfo.jar file to improve icons viewing in Eclipse components palette. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.9 ------------------- Final release 1.4.9 available Added new property in ClientSettings: FILTER_PANEL_ON_GRID_POLICY; this property is used as default value in "filterPanelOnGridPolicy" new property of GridControl: it allows to define filter panel policy for hiding it: automatically close filter panel when mouse exits from it, close it when pressing a close button, close it through a padlock button. Added new property "anchorLastColumn" to GridControl, to anchor the last column to the right margin of the grid. Added "setColumnTextAlignment" method to LookupController, to define text alignement in columns. Added grid exporting feature when combining OpenSwing to Spring framework. Fixed a problem related to rendering GanttControl in NetBeans UI designer. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.8 ------------------- Final release 1.4.8 available Added new property to ListControl in order to provide a "check-box list": "showCheckBoxes" property allows to show a check-box for each item to select. Added "NoLogger" class to avoid to log any message. Fixed problem in windows bar on the bottom of MDIFrame, where window's name was not correct with more than one window having the same name. Added "hideTitleBar" property to InternalFrame, in order to hide the title bar in an internal frame. Added "demo34" sample application to show how to use new "hideTitleBar" property. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.7 ------------------- Final release 1.4.7 available Improved MDIFrame by adding two methods: - addStatusComponent(String name,JComponent c), adds a component to the status panel and identify it by the specified name - getStatusComponent(String name), returns the component previously added to the status panel by identifing it by the specified name Improved TreePanel and GridControl by showing a smarter drag icon when dragging objects. Added some new properties and utility methods to TreePanel in order to provide a "check-box tree": - "showCheckBoxes" property to show a check-box for each node to select - "showCheckBoxesOnLeaves" property to hide/show a check-box also for leaf nodes. - "getCheckedNodes()" and "setCheckedNodes(HashSet checkedNodes)" to retrieve current selected check-boxes in tree and to select check-boxes associated to node in tree. - "getCheckedLeaves()" to retrieve current leaves having their check-boxes selected. Improved check-box control and check-box column by adding a third optional state: null, that can be activated through new property "allowNullValue", i.e. now a check box can be selected, deselected and set to null. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.6 ------------------- Final release 1.4.6 available Added some utility methods to TreePanel: - expandAllNodes() and collapseAllNodes() to expand/collapse all tree nodes - get/setSelectionMode(int mode), to set the selection model (which must be single/contiguous/discontiguous) - get/setRowHeight(int rowHeight), to sets the height of each cell, in pixels - get/setShowsRootHandles(boolean showsRootHandles), to specify whether the node handles should be displayed - scrollRowToVisible(int row), to scroll the item identified by row until it is displayed - scrollPathToVisible(TreePath path), to sure all the path components in path are expanded (except for the last path component) and scrolls so that the node identified by the path is displayed - setSelectionRow(int row), to select the node at the specified row in the display - get/setSelectionRows(int[] rows), to selects the nodes corresponding to each of the specified rows in the display - get/setSelectionPath(TreePath path), to select the node identified by the specified path - get/setSelectionPaths(TreePath[] paths), to select the nodes identified by the specified array of paths - get/selectionBackground(Color color), to set tree selection background color - get/selectionForeground(Color color), to set tree selection foreground color - addPopupSeparator(), to add a separator to the popup menu - setMenuItemVisible(String menuName,boolean visible), used to show/hide a menu item in the popup - revalidateTree(), to update tree content, useful after deleting/renaming operations on nodes - addKeyListener/removeKeyListener(KeyListener listener), to add/remove key listeners to the tree - addMouseListener/removeMouseListener(MouseListener listener), to add/remove mouse listeners to the tree Updated "demo12" and "demo31" to show new features. Added new properties to ClientSettings class: TREE_SELECTION_BACKGROUND and TREE_SELECTION_FOREGROUND to set background and foreground colors for node selections in TreePanel. Fixed scrolling problem when dragging nodes in TreePanel. Fixed problem with check-box columns in grid: now when selecting check-box with mouse or space key, the value object attribute is automatically updated, without having to lost focus on the cell. Moreover, ItemListener events are correctly fired. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.5 ------------------- Final release 1.4.5 available Changed ButtonColumn behavior when customizing background color with GridController.getBackgroundColor method: now background color is set on the button both in read only mode and in insert/edit modes, also with ButtonColumn.setEnableInReadOnlyMode(true). Added some utility methods to MDIFrame: - getMenuFile(): a hook to "File" JMenu object - getMenuItem(String functionId): a hook to a JMenuItem object added to menubar Improved MDIFrame by adding toolbar support; added some utility methods related to toolbar: - addButtonToToolBar(JButton button): appends a toolbar button - addSeparatorToToolBar(): appends a toolbar separator - addSeparatorToToolBar(Dimension dim): appends a toolbar separator of a specified size - setBorderPainterOnToolBar(boolean borderPainted): define if a border should be painted around the toolbar - setFloatableOnToolBar(boolean floatable): define if a floatable toolbar can be dragged into a different position within the same container or out into its own window - setOrientationOnToolBar(int orientation): define the toolbar orientation (vertical or horizontal) - setRolloverOnToolBar(boolean rollover): define if the border of the toolbar buttons will be drawn only when the mouse pointer hovers over them The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.4 ------------------- Final release 1.4.4 available Improved AboutDialog by supporting HTML based text. Changed "demo" sample application by defining an about dialog content based on HTML format. Fixed bug in filtering/sorting panel of grid control: now in sorting folder there are "maxSortedColumns" combos to sort grid. Fixed bug in filtering/sorting panel of grid control: now in filtering folder "like" operator is applyable only to text based columns. Fixed bug in filtering/sorting panel of grid control: now in filtering folder when selecting "in (not) null" operator for combo type columns will disable filtering value field. Fixed problem with check-box column and button column: now these cell editors listen click events at the first click. Changed lock button in tree menu of MDI frame: now it has not any border. Updated web site by adding description about new features. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.3 ------------------- Final release 1.4.3 available Fixed problem on sorting grid content when there are the number of currently sorted columns is exactly equals to the maximum number of sorted columns. Added LinkButton component, used to show a link with an ActionListener binded. Added setImage(Image image) method to ImagePanel. Change ClientUtils.getImage() method by allowing tif format reading when used in combination with JAI Sun library. Added support for tif image format to TreePanel/ImagePanel/ClientUtils.getImage(), when combined with JAI Sun library. Added support for tif/ico image format to TreePanel/ImagePanel/ClientUtils.getImage(), when combined with JIMI Sun library. Updated web site by adding description about new features. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.2 ------------------- Final release 1.4.2 available Added an iconifable window (IconifableWindow class) that can contains any type of graphics component. Moreover, a set of iconifable windows can be grouped together to realize an "Outlook like" set of panes through IconifableWindowContainer class. Added "demo32" sample application to show how to use a set of iconifable windows can be grouped together. Improved TreePanel: now tree automatically scrolls when dragging nodes inside it. Added "getMenuHelp" method to MDIFrame class; this getter allows to define additional menu items to "Help" menu of the MDIFrame menubar. Fixed problem on sorting grid content when there are the number of currently sorted columns is exactly equals to the maximum number of sorted columns. Updated web site by adding description about new features. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4.1 ------------------- Final release 1.4.1 available Added multi-line label control. Added alert window. Added new property "foreignKeyAttributeName" to ComboBoxVoControl and ListVOControl, to the purpose of distinguish between the name of the attribute in the combo/list v.o. and in the container v.o. Updated "demo26" sample application, to show how to use "foreignKeyAttributeName" property. Updated web site by adding description about new features. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.4 ----------------- Final release 1.4 available Changed RadioButtonControl: now setButtonGroup method is only required to bind a radio control to its button group; no buttonGroup.add(button) is still required. Improved list control, combo control, grid control and tree panel by adding a search mechanism: now user can simply type in any string he want to search for and this pattern will be automatically found; * and ? special symbols are supported too. Improved lookup control by supporting multiple codes in validation task: now it is possible to return a list of value object as validation code response, in this case a lookup grid window will be showed to select a specific code from the list of same codes. Updated web site by adding description about new features. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.9 ------------------- Final release 1.3.9 available Fixed a bug in grid control when columns were sorted internally ("orderWithLoadData" property set to "false") and some cell contained null value. Improved TreePanel by adding new property: "iconImageName", that allows to specify distinct icons for each tree node. Improved TreePanel by adding new property: "tooltipAttributeName", that allows to specify distinct tooltip text for each tree node. Added demo31 sample application to show how to use new properties "iconImageName" and "tooltipAttributeName" in a TreePanel. Removed line border form button type columns in grid. Fixed repaint issue in grid when vertically scrolling it with mouse wheel. Fixed problem with radio button controls on loading data. Updated web site by adding description about new features. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.8 ------------------- Final release 1.3.8 available Improved lookup management: now it is possible to define what a lookup has to do when validating an incorrect code: clear code inside the code field (default value), restore the last valid code, mantain the invalid code in the code field and restore focus into it. This lookup behaviour can be defined through the new property "onInvalidCode" of LookupController class. Added ON_INVALID_CODE attribute in ClientSettings class: this property defines the default lookup behavior when validating an incorrect code. Updated web site by adding description about new features. Changed demo4 and demo24 sample applications to show how to use "onInvalidCode" property of LookupController class. Changed setValue/getValue methods of a VOListControl to support a list of value objects as argument, when this input control is added (and not linked) to a Form. Added demo30 sample application to show how to use a VOListControl for multiple selection inside a Form panel. Removed tooltip text from all xxxButtons and moved it to binding between button and grid. Fixed a problem in Form panel when its value object has an attribute having name "xXxxx". Improved Form panel and GridControl to support v.o. attributes having name "xXXX" or "Xxxx". Fixed a bug in row selection on grid arised when "enableInReadOnlyMode" property is set to "true". Fixed a problem when showing lookup grid frame: now the black border around the grid does not overrride the grid content. Fixed a background painting problem in DateControl and FormattedTextControl when disabling control. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.7 ------------------- Final release 1.3.7 available Improved ButtonColumn having "enableInReadOnlyMode" property set to "true": now button editability when grid is in read only mode is defined through GridController.isCellEditable method. Added demo29 sample application that shows how to create a frame that contains both a grid and a Form panel linked together: employees frame contains a master-detail-detail panels: employees grid + employee detail + employee working hours grid Fixed a problem on setting focus inside a frame that contains a grid control and a Form too. Changed "pub/build.xml" file: now all jar files do not contain any certificate. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.6 ------------------- Final release 1.3.6 available Fixed problem when rendering root empty node in tree lookup. Improved grid cell editors: now they listen the first key pressed when the current cell is just selected but not yet in edit. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.5 ------------------- Final release 1.3.5 available Improved Column base class: now it is possible to create other column types from this base class. Improved ButtonColumn, by adding two new properties: "icon" and "iconName" to show an icon inside the button. Fixed problem in rendering input fields inside the LoginDialog. Fixed problem on validating input controls added to linked Forms. Added ClientSettings.SHOW_FOCUS_BORDER_ON_FORM switcher to hide focus border around the Form panel. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.4 ------------------- Final release 1.3.4 available Fixed problem when showing a grid control: now focus is correctly setted inside it. Fixed problem in bean info definition of GridControl class. Added OpenSwing installation instructions when using Eclipse combined with Jigloo plugin. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.3 ------------------- Final release 1.3.3 available Added new property "enableOnReadOnlyMode" to button column and check-box column: this property allows to click on buttons and check-boxes in grid also in read only mode, without have to switch grid to insert/edit mode. Changed "demo9" sample app to show how use this new property. Improved grid profile management by adding a new implementation based on database: now grid profiles can be stored within database tables, by means of the class DbGridProfileManager. This implementation can be used for stand-alone applications. Added "demo28" sample app to show how use grid profile management based on database tables. Updated web site by adding description about new features. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.2 ------------------- Final release 1.3.2 available Added grid profile persistent storage: this feature allows to automatically store grid "state" in terms of current columns visibility state, columns position, columns width, columns sorting and columns filtering. All these properties can be stored for instance per user. More grid profiles can be mantain for each grid and user can easily access to these profiles through right mouse click on the grid. Changed "demo10" sample app to show how grid profile operates. Updated web site by adding description about grid profile management. Improved grid: when losting focus on a cell in the grid, if the cell value is invalid then the focus will be set to the invalid grid again. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3.1 ------------------- Final release 1.3.1 available Added a new list control that manages a list of value objects, shows a list of attributes as items and, as for lookup, is able to link list's v.o. attributes to container's v.o. attributes. Changed "demo26" sample app to show how to use this component. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.3 ----------------- Final release 1.3 available Fixed initialization problem, arised in the last version of OpenSwing, with DateTimeColumn and TimeColumn. Fixed problem arised in the last version of OpenSwing, with default date and time formats in DateColumn, DateTimeColumn and TimeColumn. Fixed problem arised in the last version of OpenSwing, on selecting a row in the grid. Added setSelectedNode method to TreePanel component, used to select a specified node in the tree. Changed setValueObject method of VOModel class, to allow subclasses of the ValueObject to be used as a value, which in turn would allow Hibernate CLIB proxies to function properly in OpenSwing. Added a new combo box control and a new combo box column that manages a list of value objects, shows a list of attributes as items and, as for lookup, is able to link combo's v.o. attributes to container's v.o. attributes. Added "demo26" and "demo27" sample apps to show how to use these two components. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.9 ------------------- Final release 1.2.9 available Added a progress bar control and a progress bar column. Added "demo25" sample app to show how to use these new components. Added several properties to DateColumn, DateTimeColumn and TimeColumn, so that it is possible to set date format and other aspects of that columns. Fixed a problem on selecting the (already) selected date in the calendar. Fixed problem in grid control when selecting a row with the mouse after scrolling grid using the vertical scrollbar. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.8 ------------------- Final release 1.2.8 available Added "validateControl" method in FormController to validate input control editing: by means of this method it is possible to undo input control value when the focus is being lost form the input control. Changed "demo4" sample to show how to use validateControl method. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.7 ------------------- Final release 1.2.7 available Fixed problem with attribute editor in grid/form components: sometimes it falls in infinite recursion on ValueObject classes having references to each other in a complex ways. Changed jnlp start file for "demo10" sample: now it can be launched for java 1.4 version of more. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.6 ------------------- Final release 1.2.6 available Added "colorsInReadOnlyMode" property to GridControl, to allow cells coloring in insert/edit mode too. Added "mergeCells" method to GridControl, used to merge an interval of cells (both on contiguos rows and columns). Added "demo24" sample app, to show cells coloring in all grid modes and to show cells span. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.5 ------------------- Final release 1.2.5 available Added MultiLineTextColumn to GridControl. Changed "demo3" sample app, to show new MultiLineTextColumn column usage. Added MultipleTypeColumn to GridControl, i.e. a column to show different data types insde the same column. Added "demo23" sample app, to show how to use the MultipleTypeColumn. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.4 ------------------- Final release 1.2.4 available Fixed problem on Form panel when using copy button. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.3 ------------------- Final release 1.2.3 available Added PasswordControl component. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.2 ------------------- Final release 1.2.2 available Added PropertyGridControl component: it can be used to edit properties, having different value types in a grid (see documentation for detailed info). Added "demo21" and "demo22" sample applications showing how to use the new PropertyGridControl class. Fixed problem when referring inner v.o. attribute in a grid or Form components. Fixed problem when referring the whole lookup v.o. to an attribute in the lookup container. Added "addLookup2ParentLink" method to LookupController, to set the whole lookup v.o. to an attribute in the lookup container. Added "createInnerVO" property to GridControl to define if an inner v.o. must be automatically instantiated when a setter method is invoked. Fixed a problem in NumericControl: now "minValue" property in NumericControl and in "numeric" columns correctly support negative numbers, i.e. if this property has a negative value, then the user can digit a negative number in the numeric component, by pressing "-" symbol as the first character at the left of the number. Fixed problem with ListControl when there is the same item description for more than one item. Fixed problem in Form when binding an inner value object to more than one input controls. Added new target "beaninfosign" to build.xml Ant file: it can be used to sign BeanInfo.jar file too. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2.1 ------------------- Final release 1.2.1 available Added "textAlignment" property to LabelControl. Set a minimum size to input controls, to avoid their zero width when reducing the frame dimension. Improved usage of Eclipse's Window Builder plugin: now v.o. attribute selection is correctly viewed in the combo selector, according to input control type. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.2 ------------------- Final release 1.2 available Improved data model for GridControl and Form: now in a value object are supported also getter/setter methods related to inner value objects. Improved QueryUtil.getQuery method by supporting attribute filling per inner value objects too. Fixed bug arised in an editable grid when the focus is inside a cell and the user clicks in another cell. Improved GridControl by adding CTRL+Q keys combination to open quick filter panel. ESC button allows to close it. It is possible to press ENTER key to apply the filter value inside the filter. Improved GridControl by adding two new column properties: "additionalHeaderColumnName" and "additionalHeaderColumnSpan", used to add an additional column header panel above the default one. Added demo20 to show how to use the additional column headers on the top of the GridControl. Improved ListControl by supporting a java.util.List of objects as attribute value, so that it is possible to use the ListControl in a FormPanel this multiple selected items. Added "textAlignment" property to input controls to define horizontal alignment. Added two new methods in GridController: getHeaderTooltip and getCellTooltip to set a tooltip text to the column headers and to each cell of the GridControl. Changed demo4 sample to show how to use the ListControl and new methods added in this release. Fixed problem on setting attribute name in a Form using the UI designer. Changed pub/build.xml file. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.9 ------------------- Final release 1.1.9 available Added new input control: ListControl. Added add(Component comp) method to GridControl to support Eclipse's Window Builder plugin. Fixed bug when showing/hiding columns on grid by clicking in a locked column. Fixed bugs related to scrolling grid using vertical scrollbar and using page up/down keys. Added pub/build.xml file to build clientos.jar, serveros.jar and other distribution files using Ant. Fixed problem with button's grid when setting MetalLookAndFeel with java 1.5 or 1.6 The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.8 ------------------- Final release 1.1.8 available Added setLocked method to MDIFrame, to disable tree panel locking on the MDI frame. Fixed problem when using ClientSettings.MENU_WIDTH property. Fixed problem in grid, related to the sorting order of columns, when more than one columns has been sorted. Added ClientSettings.SHOW_SORTING_ORDER property to show the sorting order in the column header of a grid and when clicking many times on column headers to re-sort them. Added ClientSettings.HEADER_FONT property to change column header font for all grids. Added two properties in all columns, to manage Font and Color in column headers: "headerFont" and "headerForegroundColor". Added two properties in GridControl to manage cell/row margins: "intercellSpacing" and "rowMargin". Added two equivalent properties in ClientSettings: INTERCELL_SPACING and ROW_MARGIN. Added "textAlignment" property to all columns, to set horizontal alignement of cell content. Fixed problem in grid's filter panel when applying a filter to a combo column and with numeric type columns. Fixed problem when invoking GridController.selectedCell: the selected row index was incorrect. Fixed problem with GridController.validateCell method when editing numeric type cells. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.7 ------------------- Final release 1.1.7 available Added new input control: FormattedTextControl, based on JFormattedTextField class. Added new grid column: FormattedTextColumn, based on JFormattedTextField class. Added "toolTipText" property to graphics controls. This text is automatically converted according to internationalization settings. Fixed some problems with multiple rows selection on grid, with page scrolling on grid and selecting row on grid using navigator bar in a Form. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.6 ------------------- Final release 1.1.6 available Fixed problems while using grid to Form linking feature: now it works fine when using mouse, up/key keys and navitator bar buttons. Improved Form.linkGrid() method by providing additional flags to control Form data loading when using left mouse button and up/down keys. Add set/getFont methods to LabelControl and all input controls. Changed sample18 by showing login error message when login is failed. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.5 ------------------- Final release 1.1.5 available Improved navigator bar by adding two new buttons: "previous page" and "next page" to scroll data on grid per page. Added ClientSettings.SHOW_PAGINATION_BUTTONS_ON_NAVBAR flag to show/hide pagination buttons in navigator bar. Improved vertical scrollbar of the grid by adding two new buttons: "previous page" and "next page" to scroll data on grid per page. Added ClientSettings.SHOW_PAGINATION_BUTTONS_ON_GRID flag to show/hide pagination buttons in the vertical scrollbar of the grid. Added setRowSelectionInterval method to grid control to select an interval of rows on grid. Added a link mechanism between a grid and a Form panel: now it is possible to navigate through the grid and automatically show in the Form the current selected row in grid. It is possible to link a navigator bar directly to the Form too. Moreover, a new row added through a Form will be automatically showed in the grid (if the link mechanism has been activated); idem for changed row and deleted row (in Form). Demo4 was changed to show how to link a Form to its parent grid control (see demo4.DetailFrame class). Added editCellAt method to grid control, to set editing in the specified cell. Improved demo19 by changing Emp.xml file: now it supports "is null" and "is not null" criteria. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.4 ------------------- Final release 1.1.4 available Added getFont method to GridController to set font for each cell. Changed demo3 sample to show how to use this new feature. Fixed bug in text control and text columns: text was always in uppercase. Fixed exceptions fired in grid control. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.3 ------------------- Final release 1.1.3 available Improved grid control: now it is possible to lock (anchor) rows at the top and/or at the bottom of the grid, e.g. to show grid totals. Updated GUI documentation in the web site. Changed export algorithms by supporting top/bottom locked rows exporting. Changed demo3 sample to show how to use row locking. Added "defaultQuickFilterCriteria" property to GridControl, used to set the default criteria (equals or contains or starts with or ends with) showed in the quick filter panel. Added DEFAULT_QUICK_FILTER_CRITERIA property to ClientSettings to define a default criteria for all grids. Fixed bug when scrolling rows in grid where data loading is based on pagination. Fixed bug in text control and text column when "uppercase" property is set to "true". The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.2 ------------------- Final release 1.1.2 available Fixed bug in quick filter on grid: filter criteria "starts with" and "ends with" were inverted. Added a filter panel to the grid: this optional panel will be showed when the mouse is moved at the right side of the grid and allows to define multiple filtering/sorting conditions. Added a new button: the filter button; this can be used in combination with the grid to show a filter dialog: this optional dialog will be showed when clicking on the filter button and allows to define multiple filtering/sorting conditions. Changed demo10 to show how to activate filter dialog. Added ClientSettings.FILTER_PANEL_ON_GRID constant to define if filter panel is enabled on grids as default setting. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1.1 ------------------- Final release 1.1.1 available Fixed navigation problem in grid when pressing up key on the first row and there are more than BLOCK_SIZE rows. Changed sorting icons painted inside a sorted column, by changing sort up and sort down icons. Improved quick filter on grid: now it is available a list of filter criteria: equals, contains, starts with and ends with. Fixed problem on exporting data from grid with Unicode characters. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.1 ------------------- Final release 1.1 available Added a progress bar component, a progress bar panel and a progress bar dialog. Changed business logic in demo10 sample, by showing how to show ORM capabilities of QueryUtil utility class and how applying filtering/sorting conditions provided by a grid. Changed demo14 sample to show how using the new licence agreement panel and the new progress bar panel. Updated tutorial section of this web site, by showing more detailed instructions of development based on OpenSwing. Fixed rendering problem in column header when filtering a column in grid that was previously dragged in another position. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.9 ------------------- Final release 1.0.9 available Fixed problem when binding a NumericControl to a non BigDecimal type attribute. Fixed problem when binding a CodLookupControl to a Form: now CodLookupControl is always linked to the Form, independetly from the setController() method invokation point. Improved quick filter on grid: now it supports check-box filtering columns too. Added a customizable tip of the day frame/internal frame. Demo10 shows an example of how using the 'tip of the day' window. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.8 ------------------- Final release 1.0.8 available Added a layer to embed Spring Framework as a server-side layer for OpenSwing applications. Added demo18 showing how to combine OpenSwing with Spring. Sample app has been tested with Spring 2.0.4 (not included in OpenSwing distribution). See "readme.txt" file in "classes/demo18" subfolder for more instructions. Added a layer to embed iBatis Data Mapper as a server-side layer for OpenSwing applications. Added demo19 showing how to combine OpenSwing with iBatis. Sample app has been tested with iBatis 2.3 (not included in OpenSwing distribution). Demo19 also shows how to bind a composition of attributes to a column or a control, related to nested value objects. Improved attribute definition in grid columns and graphics controls: now it is possible to bind a column or a control to a composition of attributes, related to nested value objects. Fixed problem with text control and text column when "uppercase" property is set to "true": some not visible characters were erroneously added to the input field. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.7 ------------------- Final release 1.0.7 available Changes to grid: - improved export algorithm from grid, by adding two new export formats: PDF and RTF - fixed problem on setting focus to quick filter, when used inside a JFrame (with no MDI environments) - added an image column for the grid control; it is based on byte[] data type. - added rowHeight property to grid control (useful to change default row height on grid having images). - added rowHeightFixed property to grid control (useful to automatically arrange row height for each row, on grid having images having different heights). - changed filter criteria when filtering date columns: now the date interval in in the format: dateField >= date1 and dateField < date2+1 - added the "orderWithLoadData" property to grid control to allow column sorting of the whole just loaded result set, without reloading data from database. Added a new dialog window component: OptionPane; it is a wrapper of JOptionPane component: it automatically translates title, description and buttons, according to current internationalization settings. Added an image panel and an image control. Image control can be linked to a Form object as any other input control. It is based on byte[] data type. Added a splash screen component. The "Demo" sample shows how to attach a splash screen to a JFrame. Added displayURL method to ClientUtils to show a local document with the default viewer (Acrobat, Excel, Browser, Note Pad, Word, etc.) Demos: - added demo15 showing how to use the new image control for Form panel - added demo16 showing how to use an image column for grid - changed demo4 GridFrameController class, to show how to use QueryUtil class in a 2 tier client-server application and how operates "orderWithLoadData" property - added demo17 showing how to combine OpenSwing with Hibernate. Sample app has been tested with Hibernate 3.2.3 (not included in OpenSwing distribution). The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.6 ------------------- Final release 1.0.6 available Fixed problem on opening an export document from a grid control, with no Windows O.S. Improved export algorithm from grid, by adding three new export formats: CSV (with ";" and "," separators), XML and HTML. Fixed problem with date calendar in grid: now date can be always changed. Add a new subpackage: org.openswing.swing.wizard.client: it contains a new graphics control, a wizard panel that can be used to assemble a set of panes to create a wizard feature. Added demo14 sample that shows how to use the new wizard panel. Improved grid showing: now key events onto grid buttons are listened also when grid is showed the first time. Added MouseListener to ApplicationEventQueue utility class. Added centerFrame method to ClientUtils class. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.5 ------------------- Final release 1.0.5 available Fixed problems when closing all windows from window menu. Fixed problem on copying onto a Form object with v.o. having isXXX getter. Fixed problem with lookup grid frame that did not scroll after the first block of data. Added getQuickFilterValues method to GridControl. Added setFilterableColumn method to LookupController. Extended mechanism used to invoke a function in tree menu/menubar: now the ClientFacade method can has one of the following signature: - methodName() - methodName(String functionId) The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.4 ------------------- Final release 1.0.4 available This distribution has been tested on NetBeans 4.1 and JDeveloper 10.1.2 too. It has been added the demo13 application, created as a project inside NetBeans. It has been provided a beaninfo.jar library that can be included in the IDE to add OpenSwing components to the palette (for IDEs like JBuilder, NetBeans, JDeveloper). This distribution introduces a change in grid value object attributes recognition: now there are retrieved attributes having isXXX method too and also attributes that have getter method and not setter method. Export dialog now shows the column headers and no more attribute names. Corrected problem when saving and deleting rows from grid: after that operation refresh did't operate correctly. Corrected problem when copying rows from grid: no new rows were recognized. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions (just updated). Release Notes 1.0.3 ------------------- Final release 1.0.3 available A new example is provided: a tree frame demo which shows how activate drag 'n drop onto trees. Tree panel section has been added to HTML documentation. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.2 ------------------- Final release 1.0.2 available A new example is provided. A new Tree+Grid panel is available, similar to TreeTable component described in http://java.sun.com/products/jfc/tsc/articles/treetable1/ but based on a TreeTableModel that contains value objects, so more easy to use. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.1 ------------------- Final release 1.0.1 available This distribution includes .bat/.sh files to start demos included with OpenSwing distribution. Examples are better described. A tutorial section has been included. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions. Release Notes 1.0.0 ------------------- Final release 1.0 available The distribution includes jar file libraries, source files, javadoc, licence and readme.txt installation instructions. |