(Editor) Fixed ISE of get wrong page in CodeEditor when selecting all. See the bug report here.

(Grids) Fixed the table header does not resize height automatically when adjusting the column width. See the bug report here.

(Grids) Added groupAndRefresh(boolean) method to allow refreshing the table without changing the column order in certain cases.

(Grids) Fixed so that groupAndRefresh will not reset the column order when setKeepColumnOrder(false) is called.

(Grids) Fixed so that a new instance of the summary calculator will be used to calculate summary to avoid concurrent modification exception.

(Grids) Fixed the wrong row index is used when adding a new row in the GroupTable. See the bug report here.

(Grids) Fixed CCE when adding a TableRowFilter to FiltereableTreeTableModel. See the bug report here.

(Grids) Fixed the hint message at the wrong position on the GroupTableHeader in the RTL orientation. See the bug report here.

(Grids) Fixed the expanded row is not refreshed when it was filtered then shown again.

(Grids) Added range check in the paintGrids of BasicHierarchicalTableUIDelegate. See the bug report here.

(Grids) Moved isHssfInstalled and isXssfInstalled methods to HssfUtils to avoid it throwing exception. See the bug report here.

(Grids) Fixed the focus does not return to the table when an ExComboBox-based cell editor stops editing.

(Grids) Fixed sometimes the selection does not apply correctly in TreeComboBoxShrinkSearchableSupport.

(Grids) Added LongRange and BigDecimalRange to the SummaryGroupRow getCellClassAt method.

November 24, 2014 - 3.6.5 (Regular Release, changes from 3.6.4)

Enhancement Requests

Bug Fixes

(Dashboard) Fxed dragging not working on JDK8 in Dashboard. See the bug report here.

(Data) Fixed an error when subclass overrides getColumnCount method of ResultSetTableModel. See the bug report here.

(Editor) Fixed setFileName does not show the file correctly when there is no line breaks in the file. See the bug report here.

(Editor) Fixed so that popup menu works on Mac when press ctrl-click. See the bug report here.

(Editor) Fixed the issue that horizontal caret position might be changed when tab is inside the document. See the bug report here.

(Gantt) Fixed dragging a partially visible task bar caused it to scroll to the other direction. See the bug report here.

(Gantt) Fixed the scale area display issue when zooming out then zooming in. See the bug report here.

(Grids) Fixed so that the cancel button uses the locale of the table header. See the bug report here.

(Grids) Fixed CellStyleTableHeader so that it will use the column header value to determine if the styled label will be used.

(Grids) Fixed the wrong row index is used when adding a new row in the GroupTable. See the bug report here.

(Grids) Fixed the issue that a parent row might be filtered incorrectly when neither of its child rows but the parent row itself meet the filtering criteria and it's collapsed. See the bug report here.

(Grids) Fixed the summary value is wrong in GroupTable when there are more than two grouped columns.

(Pivot) Fixed the regression that the column header table still indent the parent node even if the customer chooses not to show the expand icon. See the bug report here.

(Pivot) Fixed the wrong value returned at HeaderTableModel#getColumnIdentifier method. See the bug report here.

(Diff) Use anti-aliasing when painting the diff lines on the divider. See the bug report here.

(Dock) Do not request the top level window focus when activateFrame. See the bug report here.

(Editor) Fixed the issue that the caret was placed in a wrong column while tab is used mixing with space while virtual space is not allowed. See the bug report here.

(Editor) Fixed the issue that find previous does not work in CodeEditorSearchBar when whole word is on. See the bug report here.

(Grids) Added a -1 check for the _row in isExpandable method.

(Grids) Fixed the issue that the DnD does not work for DualTable when the original table is empty. See the bug report here.

(Grids) Center the column chooser dialog on the top level window instead of the chooser button.

(Grids) Allow showing summary for grouped columns.

(Grids) Fixed the issue that the popup of ExComboBox might hide behind the comb box. See the bug report here.

(Grids) Improved the performance for SummaryGroupRow when the underlying table model is updated.

(Pivot) Fixed NPE in DataTableModel in CalculatedPivotTableDemo.

(Pivot) Changed customizeFieldBox method to be called not only when a field box is created but also when added to another field area. See the bug report here.

June 11, 2014 - 3.6.0 (Regular Release, changes from 3.5.15)

Backward Compatibility

(Grids) Important: In order to provide the summary support for the group table, a few summary calculator related classes are moved/refactored to the grids package. Although we probably should make the change backward compatible but we felt it is very important not to mess up the naming to avoid future confusions, so we decided to do a few class renaming that will break your source code. If you use these classes, please change them correspondingly or you will get compile errors. com.jidesoft.pivot.SummaryCalculator ==> PivotSummaryCalculator; com.jidesoft.pivot.DefaultSummaryCalculator ==> DefaultPivotSummaryCalculator. There are same named classes under com.jidesoft.grid package (com.jidesoft.grid.SummaryCalculator and DefaultSummaryCalculator) which are the super classes of those under the pivot package..

(Grids) In order to use generic in ListModelWrapper adn ComboBoxModelWrapper, we have to use JDK7 to compile the source code (we were using JDK6 before this release) and the '-source' and '-target' in the javac command line are now both '1.6' (it was '1.5' before). I don't foresee any problem as long as you are on JDK6 or above. But if you are still on JDK5, you will encounter errors. Please consider move away from JDK5 as it is too old. We just can't provide backward compatible for JDK5 while keeping all other users away from using new features in the newer JDKs.

(Grids) Fixed the issue that exporting the selected rows to excel might export incorrect rows. See the bug report here.

(Grids) Fixed so that the non-editable combo box editor could obtain focus when editing a JideTable.

(Grids) Fixed the issue that unnecessary selection change event was fired when collapsing/expanding a row in TreeTable. See the bug report here.

(Grids) Fixed so that the menu item "hide this column" could respect TableColumnChooserPopupMenuCustomizer#getDisplayNames(). See the bug report here.

(Grids) Fixed so that resizing column does not cause flickering. See the bug report here.

(Grids) Fixed the resizing issue when TableScrollPane has more than one column in the row footer table. See the bug report here.

(Grids) Fixed the memory leak issue in TreeTableCellRenderer. See the bug report here.

(Pivot) Improved the performance while loading layout for AggregateTable. See the bug report here.

(Pivot) Fixed the CCE issue if the table model that fed to the PivotDataModel has different type of data in the same column.

Backward Compatibilities

(Grids) Added a new method in the interface CalculatedColumn which might cause some compile issue if you implement this interface directly without AbstractCalculatedColumn. See the enhancement request here.

April 10, 2013 - 3.5.4 (Regular Release, changes from 3.5.3)

Enhancement Requests

(Editor) Fixed so that the caret will not blink if typing fast enough. See the enhancement request here.

(Grids) Made CheckBoxListWithResourceProvider public so that the customer could customize it. See the enhancement request here.

(Charts) Added getModifiersEx() to the action event generated in Chart.addDoubleClickListener(ActionListener). See the enhancement request here.

(Charts) Can now customise legend labels for segments of a pie chart. See the enhancement request here.

(Common) Added ArrayConverter#setUseTokenizer() to customize the behavior of ArrayConverter.

(Diff) Made lines differences being created in the same method as major differences in the method BasicDiffPane#getDifferencesForDiff() for easier customization in other thread. See the enhancement request here.

(Diff) Added BasicDiffPane#scrollTo() to customize the scrolling behavior. See the enhancement request here.

(Diff) Improved the performance of line difference feature for CodeEditorDiffPane.

(Dock) Separated the DockingManager#setResizable() to DockingManager#setFloatingFramesResizable() and DockingManager#setDockedFramesResizable(). See the enhancement request here.

(Gantt) Made GanttChartPane support filtering feature by default. See the enhancement request here.

(Grids) Added DefaultGroupTableModel#setDisplayGroupRowsFirst() to allow the customization of the row layout of the GroupTable when DefaultGroupTableModel#isRemoveNulLGrouper() returns true. See the enhancement request here.

Bug Fixes

(Charts) Corrected issue where title and shadow disappear in a pie chart with shadows enabled. See the bug report here.

(Charts) setPieDiameter now automatically triggers a repaint. See the bug report here.

(Common) Fixed so that the JideButton could paint the hyper link when disabled if JideButton#isAlwaysShowHyperlink() returns true. See the bug report here.

(Common) Fixed so that CacheMap could interpret nested interface well. See the bug report here.

(Common) Fixed so that the leading component and the trailing component of JideTabbedPane do not have to be an instance of UIResource.

(Common) Fixed the issue that the tab closable property was incorrectly aligned after closing a tab. See the bug report here.

(Component) Fixed the issue that DocumentPane#indexOfDocument() might cause NPE in the middle of creating a new DocumentGroup. See the bug report here.

(Dock) Fixed the NPE issue while resizing a docked frame when there is another frame not available however in the same ContainerContainer. See the bug report here.

(Dock) Fixed so that the unhideable frame will still be displayed when DockingManager#isHideNewlyAddedFrames() returns true and the frame is a newly added frame comparing to the layout file to be loaded. See the bug report here.

(Editor) Fixed the issue that BackSpace deleted the end character when selection column was behind the end of line in column selection model.

(Editor) Fixed the issue that the last line of selection was not properly unindented. See the bug report here.

(Grids) Fixed so that the DnD behavior in DualTable/DualList respect the flag isAllowDuplicates(). See the bug report here.

(Grids) Fixed a potential NPE issue in FilterableTreeModel if the root of the TreeModel is null.

(Grids) Fixed so that MarkerEye#setToolTipText() could take effect. See the bug report here.

(Grids) Fixed the resource bundle issue when clicking "More..." for QuickTableFilterField. See the bug report here.

(Pivot) Fixed so that the row fields' name in PivotTablePane could be exported to csv.

(Pivot) Fixed the incorrect field duplication issue while dragging a data field within data field area when PivotTablePane#isDataFieldsDuplicationEnabled() returns true.

(Pivot) Fixed the issue that the grand total values are duplicated when a node is expanded or collapsed when PivotDataModel#isHighPerformanceMode() returns true. See the bug report here.

(Pivot) Fixed so that PivotTablePane#autoResizeAllColumns will respect the CellStyleProvider's font style. See the bug report here.

(Grids) Fixed the issue that HssfTableUtils#export() might export incorrect cell style if CellStyleTable#getCellStyleAt() returns the same instance of CellStyle for different cell styles.

(Grids) Added a JDK5-compatible default TransferHandler for JideTable#createDefaultTransferHandler(). See the bug report here.

(Grids) Fixed the issue that the tooltip could not be displayed on a original column in a nested table header when NestedTableHeader#setOriginalTableHeaderVisible(false) is invoked. See the bug report here.

(Grids) Fixed the potential AIOOBE issue while MultipleValuesFilter#getPreference() is invoked and getValues() returns an empty array. See the bug report here.

(Grids) Fixed a potential NPE issue in MultipleValuesFilter on loading failed. See the bug report here.

(Grids) Fixed so that the tooltip on TableColumnGroup could support StyledLabel. See the bug report here.

(Grids) Fixed issue so that "more" menu item in popup menu will be displayed only a valid table was set into this field.

(Grids) Fixed issue so that "more" menu item in popup menu will be displayed only when there is a valid table in this field.

(Grids) Fixed the memory leak issue so that the SortableTable could be garbage collected after the model is set to another model even if its first table model is still in the memory. See the bug report here.

(Grids) Fixed the issues about the label and hidden columns in the dialog when it is used to choose columns for filter. See the bug report here.

(Common) Fixed the issue that JideTabbedPane didn't use the selected tab font to calculate the correct tab width.

(Common) Fixed the issue that pressing ENTER after typing several keys could not select the matching item correctly while ShrinkSearchableSupport is installed over ComboBoxSearchable.

(Common) Fixed the issue of menu item alignment issue when there are JCheckBoxMenuItem and JMenuItem with icon in the same popup menu.

(Common) Fixed so that invoking PortingUtils#initializeScreenArea() will be able to refresh the screen bounds. See the bug report here.

(Dashboard) Fixed a potentail NPE while mouse pressing a Dashboard. See the bug report here.

(Dashboard) Fixed so that the maximized gadget could always be restored correctly.

(Dock) Fixed the getDockedWidth/getDockedHeight return different values when being called twice in a row. See the bug report here.

(Editor) Fixed the issue that the popup triggered by AbstractCodeEditorIntelliHints might cover the caret. See the bug report here.

(Editor) Fixed so that right mouse dragging won't select text in CodeEditor. See the bug report here.

(Editor) Fixed so that right click in a CodeEditor will not allow dragging to select. See the bug report here.

(Gantt) Fixed the AIOOBE issue while pressing SPACE on a GanttChart while no gantt entry is ever selected. See the bug report here.

(Grids) Fixed the issue that the filter name displays incorrectly and the (Custom...) entry might be selected incorrectly when AutoFilterTableHeader#isPrefSelectedValues() returns false. See the bug report here.

(Grids) Fixed the issue that resizing the last column of a TableColumnGroup may resize the column incorrectly when the auto resize mode is not AUTO_RESIZE_OFF. See the bug report here.

(Grids) Fixed the issue that NestedTableHeader#setOriginalTableHeaderVisible(false) will make the columns that is not in the last level invisible incorrectly. See the bug report here.

(Grids) Fixed the StackOverflowError while there are nested grouping in NestedTableHeader.

(Grids) Fixed the foreground bleeding issue if JTable#setForeground() is invoked. See the bug report here.

(Grids) Fixed the issue of performance and improper behavior in toggle mode on CalendarViewer. See the bug report here.

(Grids) Fixed the NPE issue while DateExComboBox working in Nimbus L&F. See the bug report here.

(Grids) Fixed the issue that the count column is not displayed when a GroupTable goups the first column if DefaultGroupTableModel#isDisplayCountColumn() and DefaultGroupTableModel#isDisplaySeparateGroupColumn() both return true. See the bug report here.

(Grids) Fixed the issue that the null value is displayed incorrectly in the drop down list of AutoFilterTableHeader when isUseNativeHeaderRenderer() returns false. See the bug report here.

(Grids) Fixed the issue that it was unable to exporting the last collapsed Node to excel while setExportCollapseToExcel(true). See the bug report here.

(Grids) Fixed so that the user can set tool tips to sub fields in IPTextField. See the bug report here.

(Grids) Fixed the issue that the registered cell renderer will not be applied to select table in DualTable. See the bug report here.

(Grids) Fixed so that PropertyTable will respect getDefaultCellRenderer() first as other ContextSensitiveTables do.

(Grids) Fixed the NPE issue when table model is changed before any selection was made.

(Grids) Fixed the issue that RegexFilter#getPreference() returns an incorrect string which makes setPreference() could not load the filter back correctly. See the bug report here.

(Grids) Fixed so that SingleValueFilter and MultipleValuesFilter could persist null value correctly.

(Grids) Fixed the issue that editing a node in a sorted tree caused the UI repaint the tree incorrectly. See the bug report here.

(Grids) Improved the performance for TableUtils#setTablePreferenceByName(). See the bug report here.

(Grids) Fixed the header style is not applied correctly when the last column is hidden.

(Grids) Fixed so that the column name will be persisted instead of column index while getting the filter preference string.

(Pivot) Fixed the AIOOBE issue while AggregateTableModel#getActualRowAt() is invoked for a grand total row and the original table model has only one row. See the bug report here.

(Pivot) Made DefaultSummaryCalculator thread safe.

(Pivot) Fixed the issue that the grouping is not correct when exporting PivotTablePane to excel.

August 20, 2012 - 3.4.5 (Regular Release, changes from 3.4.4)

Enhancement Requests

(Charts) Can now specify absolute minima and maxima as constraints to apply to the auto-ranger. See the enhancement request here.

(Charts) Can now specify the location/placement of a bar label on a bullet chart.

(Charts) Added new constructor.

(Charts) Can now specify the width of the outline for an indicator on a bullet chart.

(Charts) More placement options for a pointer indicator on a bullet chart.

(Common) Made PartialEtchedBorder support round corner when it paints all side. See the enhancement request here.

(Dock) Fixed the NPE issue while disposing a DockingManager. See the bug report here.

(Editor) Fixed so that the pasted text could be indented correctly even if it contains TAB. See the bug report here.

(Editor) Fixed the IOOBE issue while replacing the last lines in CodeEditorDiffPane. See the bug report here.

(Editor) Fixed the IOOBE issue while the mouse is hovering over the top right corner of a MarkerStripe. See the bug report here.

(Gantt) Fixed the issue that the relation painter might paint the start and end entry rect incorrectly.

(Grids) Fixed the issue that column grouping will not work on a column which was previously hide and then showed. See the bug report here.

(Grids) Fixed the issue that no action was triggered when the height of table header is more than 20 pixes ( for example setAcceptTextInput(true) ) and clicking the lower part of the header.

(Grids) Fixed the issue that the disabled rows were not repainted as enabled after moving the selected rows to left in DualTable. See the bug report here.

(Grids) Fixed so that DateExComboBox could be persisted as null when no selection is made in DateChooserPanel.

(Grids) Added a protection so that the FilterableTableModel could clear the internal fields when an exception is occurred due to thread racing. See the bug report here.

(Grids) Fix the issue so that user will not have to implementing the TreeNode interface when using filtering function. See the bug report here.

(Grids) Fixed the exception issue if GroupTableHeader is instantiated without a GroupModelProvider in the table model chain. See the bug report here.

(Grids) Fixed the NPE issue while loading filter preference for InFilter or MultipleValuesFilter.

(Grids) Made SortItem and QuickFilterField#getFilter() serializable.

(Grids) Fixed the issue that the selected color of JideColorSplitButton is not updated immediately when a new color is selected.

(Grids) Fixed so that QuickFilterPane#setEnabled() works as expected. See the bug report here.

(Grids) Fixed the NoSuchMethodError issue in ShrinkSearchableSupport#convertElementToString(). See the bug report here.

(Grids) Fixed issue when user did not select any column he/she still can submit by hitting the ENTER key.

(Grids) Fix the issue of loading performance when table has a large number of columns especially many of them were nested and with long column names. See the bug report here.

(Grids) Fixed so that TableUtils.setSortableTablePreference(table, ") will unsort the table and same as TableUtils.setFilterableTableModelPreference(model, :)".

(Grids) Fix issue of selection saving and restoring in tree table.

(Pivot) Fixed the issue that AggregateTable's cell selection didn't adjust correctly when a new row is added. See the bug report here.

(Pivot) Fixed so that the expansion state of AggregateTable could be persisted when changing the data in the original table model. See the bug report here.

(Pivot) Fixed the issue that AggregateTable didn't get updated immediately when the original table model changes however AggregateTableModel#getAggregateColumnCount() returns 0. See the bug report here.

(Pivot) Fixed the issue that the FieldBox's field button is still visible after dragged to unassigned field area which is a regression since 3.4.0.

(Pivot) Fixed so that the text could be aligned to the left if AggregateTable#setExpandIconVisible(false).

July 24, 2012 - 3.4.4 (Regular Release, changes from 3.4.3)

Enhancement Requests

(Charts) Added new model to support waterfall charts. See the enhancement request here.

(Component) Added BreadcrumbBar#setCascadeMenuAllowed() to allow cascade menu in the BreadcrumBar.

(Editor) Fixed the regression since 3.3.2 that CodeEditor could not scroll down on column selection model. See the bug report here.

(Editor) Fixed the serializable issue in CodeEditorPainter. See the bug report here.

(Editor) Fixed so that CodeEditor supports using regular expression in replace text. See the bug report here.

(Gantt) Improved the painting performance of GanttChart by skipping the invisible entries. See the bug report here.

(Grids) Fixed the AIOOBE issue while setting list model to a FilterableCheckBoxList.

(Grids) Fixed the AIOOBE issue when multi items were selected in the selected list of a DualList then clicking the "move left" button. See the bug report here.

(Grids) Fixed the issue so that data field filterable option will only take effect on data filed.

(Grids) Fixed the issue that FilterFactoryManager#unregisterFilterFactory() could not unregister the existing FilterFactories. See the bug report here.

(Grids) Fixed the issue that the horizontal grid lines may be messed up after receiving table cell updated event when JideTable#isRowAutoResizes() returns true. See the bug report here.

(Grids) Fixed so that JideTable#isAlwaysRequestFocusForEditor() is honored for MultilineTableCellEditor scenario. See the bug report here.

(Grids) Fixed the issue that MultilineTableCellEditor didn't work well with JideTable#isRowAutoResizes(). See the bug report here.

(Grids) Fixed the issue so that invoking setTableModel() will not cause NPE when setUseCheckBoxList(true) invoked and setColumnIndices() not. See the bug report here.

(Grids) Fixed the issue so that setColumnIndices()/setVisibleButtons() could take effect in UI immediately.

(Grids) Fixed the regression that TableCustomFilterEditor's "clear filter" and "apply filter" buttons were disappeared in 3.4.3. See the bug report here.

(Grids) Fixed the issue that TableUtils#synchronizeTableRowSelection() might add duplicated property change listeners to the table which makes it hard to be desync.

(Grids) Fixed the issue that double clicking could not expand/collapse a row even if TreeTable#isDoubleClickEnabled() returns true if TreeTable#isExpandableIconVisible() returns false. See the bug report here.

(Pivot) Fixed the issue that AggregateTableModel()#getRowAt()/getActualRowAt() returns incorrect row index when there is no aggregate column. See the bug report here.

(Rss) Fixed so that the table header of the FeedReader table is easier to be customized.

(Rss) Fixed the issue that CHANNEL_UPDATED event was fired each time the FeedTreeCellRenderer gets painted which should be STATUS_UPDATED instead.

Backward Compatibility

(Common) The field _checkBox in the class CheckBoxListCellRenderer is changed to AbstractButton which might cause compilation error if you ever overrode this class and call some JCheckBox only method for the field _checkBox. See the bug report here.

(Grids) The interface Filter added two new methods which might break the customers' code if you implement the Filter interface directly instead of extending AbstractFilter.

June 28, 2012 - 3.4.3 (Regular Release, changes from 3.4.2)

Enhancement Requests

(Editor) Added CodeEditor#setSkipsEmptyLinesOnLineComments() to customize the line comments behavior. See the enhancement request here.

(Grids) Added a new filter class YearFilter. See the enhancement request here.

Bug Fixes

(Charts) Added missing removeIndicator method.

(Common) Fixed so that the iconR will not be moved to the left when the StyledLabel is left aligned. See the bug report here.

(Common) Fixed the NPE issue while selected tab font of a JideTabbedPane is null which is a regression in 3.4.2.. See the bug report here.

(Common) Fixed the NPE issue if the class type is null when ObjectConverterManager#fromString() is invoked. See the bug report here.

(Common) Fixed a potential StackOverflowError while the default focus component is not visible and VisibilityFocusTraversalPolicy#getDefaultPolicy() is an instance of SortingFocusTraversalPolicy.

(Data) Fixed the issue that DatabaseTableModel#adjustStatement() returns incorrect Statement when the ResultSet is not CONCUR_UPDATABLE.

(Diff) Fixed the issue that invoking BasicDiffPane#flip() obsoleted the flag BasicDiffPane#isReadOnly(). See the bug report here.

(Dock) Fixed the AIOOBE issue while clicking on the area right to a tab in a FrameContainer. See the bug report here.

(Editor) Fixed so that pressing TAB on column selection mode won't clear the selected text. See the bug report here.

(Grids) Fixed so that AutoFilterBox could support line wrap feature as well. See the bug report here.

(Grids) Fixed the duplicated sorting arrows issue while AutoFilterTableHeader#createDefaultEditor() is overrode and AutoFilterTableHeader#setUseNativeHeaderRenderer(true) is invoked. See the bug report here.

(Grids) Fixed the issue that installing an AutoFilterTableHeader might trigger duplicated FilterableTableModel creation if AutoFilterTableHeader#createFilterableTableModel() is overrode to return an instance instead of null. See the bug report here.

(Grids) Fixed the issue that the column count is incorrect if DefaultGroupTableModel#isKeepColumnOrder(), isDisplayCountColumn() and isDisplayGroupColumns() all return true. See the bug report here.

(Grids) Fixed so that GroupTableHeader will honor the flag JTableHeader#getReorderingAllowed(). See the bug report here.

(Grids) Fixed so that the new value returned by JideCellEditor#validate() could be respected and ValidationResult#NULL_VALUE is added for setting the new value to null.

(Grids) Fixed an NPE issue while dragging a JideTable cell to another application or another JTextField.

(Grids) Improved the performance of TreeTableUtils#getDescendants() when there is no filtering/sorting. See the bug report here.

(Pivot) Fixed the issue that the running calculation based on rows might be calculated incorrectly. See the bug report here.

(Pivot) Fixed the issue that the comparing feature in CompoundKey regarding null value was incorrect.

(Pivot) Fixed a potential NPE issue while there is no row fields or column fields.

June 19, 2012 - 3.4.2 (Regular Release, changes from 3.4.1)

Enhancement Requests

(Charts) Factored core panning logic of MouseDragPanner into separate class so that other GUI elements may also use it.

(Common) Added BannerPanel#createSubtitleLabel() for easy customization for the subtitle label. See the enhancement request here.

(Common) Added LabeledTextField#calculateContextMenuLocation() for the customer to customize the location of the popup menu. See the enhancement request here.

(Common) Made Searchable#setSearchingDelay(-1) work in SearchableBar so that the search will only be triggered when ENTER is pressed. See the enhancement request here.

(Pivot) Fixed so that the PivotDataModel could update the converter context/editor context on receiving table data changed event. See the bug report here.

(Pivot) Fixed so that the "hide field list" option could be persisted by PivotTablePersistenceUtils.

Backward Compatibilities

(Grids) MultiSelectListChooserPanel/CheckBoxListChooserPanel now extends ListChooserPanel instead of ButtonPopupPanel. Although we have tried to implement all APIs that ButtonPopupPanel has to keep the maximum backward compatibility, it will still break the customer's code if he or she checks if it is an instance of ButtonPopupPanel.. See the enhancement request here.

May 29, 2012 - 3.4.1 (Regular Release, changes from 3.4.0)

Enhancement Requests

(Charts) Added BulletPointMarker for marking a point of interest.

(Charts) Added a getDifferenceShape method so other code can discover the dimensions of the rendered difference. See the enhancement request here.

(Charts) Can now customise the cursor shown while dragging. See the enhancement request here.

(Common) Added SearchableBar#setMaxHistoryLength() so that SearchableBar could have a combo box to show the history search. See the enhancement request here.

(Data) Added PageNavigationBar#selectRecord() to select a record in the index of the original component before wrapped in a PageNavigationBar. See the enhancement request here.

(Dock) Removed related UndoableEdits while removing a dockable frame in a DockingManager.

(Editor) Added CodeEditor#setCopyVisibleTextOnly() to control the clipboard copy and drag behavior to exclude the folded text or not. See the enhancement request here.

(Editor) Added the message showing how many occurrences have been replaced when "replace all" action is executed. See the enhancement request here.

(Grid) Add CheckBoxTreeExComboBox component.

(Grids) Added AutoFilterTableHeader#getFilterIcon() for easier customization for the filter icons painted in AutoFilterTableHeader. See the enhancement request here.

(Grids) Added FilterableTableHeaderCellDecorator#setShowVerticalLine() for easier customization of the painting. See the enhancement request here.

(Grids) Added new interface FilterEditor so that the customer could customize the CustomFilterEditorDialog easier.

(Pivot) Fixed so that AggregateTableModel could get exact table model change events instead of tableDataChangedEvent when the data is changed in the original table model. See the enhancement request here.

(Pivot) Added PivotTablePane#validateFieldBoxDragging() so that the customer could add a prompt dialog before the field box is really dropped and the heavy calculation is triggered. See the enhancement request here.

(Pivot) Added PivotTablePane#setDataFieldsDuplicationEnabled() to control the data fields duplication behavior. See the enhancement request here.

(Dock) Fixed so that the frame won't be selected when clicking middle or right mouse buttons. See the bug report here.

(Dock) Fixed so that the floated frames could be toggled back to its original position after floating a frame, add a new frame to the floated frame, activate the new frame then toggle the new frame to docked state.

(Editor) Fixed the issue that a CodeEditor may not be able to accept importing from Transferable in some scenarios. See the bug report here.

(Editor) Fixed so that CodeEditorRowMarginSupport#scrollTo(int, int, boolean) respect the third parameter which indicates if the text should be selected or not. See the bug report here.

(Editor) Fixed the issue when constructing a CodeFoldingMargin by default constructor and do not call CodeFoldingMargin#setEditor() immediately will lead to NPE. See the bug report here.

(Grids) Fixed the issue that the spinner might still be able to be changed on mouse wheel even if NumberSpinnerComboBox is disabled.

(Grids) Fixed so that the drop down of an ExComboBox will stay within the screen boundary.

(Grids) Fixed so that AutoFilterTableHeader could correctly use the IFilterableTableModel wrapped by another FilterableTableModel created by QuickTableFilterField. See the bug report here.

(Grids) Fixed the issue that AutoFilterTableHeader might be using a different FilterableTableModel other than the header itself creates. See the bug report here.

(Grids) Made the selected difference always being synchronized with the current selections.

(Grids) Fixed the performance regression on column resizing when there is a nested table header with more than a thousand columns.

(Grids) Fixed an NPE issue in BeanProperty.

(Grids) Changed prepareSelectObject method to protected in ButtonPopupPanel. See the bug report here.

(Grids) Fixed the painting issue when CellSpanTable has cell spans and isRowAutoResizes() returns true. See the bug report here.

(Grids) Fixed the issue that switching mode between STYLE_FILTER_LIST and STYLE_INLINE_EDITOR in TableCustomFilterEditor could not select the filter condition correctly. See the bug report here.

(Grids) Fixed so that the changing the value of the year spinner won't fire action event immediately. See the bug report here.

(Grids) Fixed so that the font of the day label is consistent with the font of the week label. See the bug report here.

(Grids) Fixed the issue that changing the time in DateChooserPanel could not update the DateComboBox's selected date immediately as DateExComboBox does. See the bug report here.

(Grids) Fixed the issue that the JPopupMenu triggered by clicking the month label in DateComboBox could not be dismissed after clicking the other buttons in the DateChooserPanel. See the bug report here.

(Grids) Made DefaultGroupTableModel implement EditorStyleTableModel by default. See the bug report here.

(Grids) Fixed the DateExComboBox's popup is hidden immediately after showing on Mac if the time is displayed.

(Grids) Fixed the AIOOBE issue while removing entries in the original combo box model and a filter is applied on FilterableComboBoxModel. See the bug report here.

(Grids) Fixed so that the tree table model wrapped after CalculatedTableModel could be filtered correctly even after collapsed.

(Grids) Fixed so that firing table data changed from the original table model could update the information of the expanded child components in HierarchicalTable.

(Grids) Fixed so that DefaultGroupTableModel#getCellClassAt() could return correct class type even if the underlying table model did not implement ContextSensitiveTableModel. See the bug report here.

(Grids) Fixed the issue that the removed selection which is removed by invoking JTable#removeRowSelectionInterval() came back unexpectedly after sorting.

(Grids) Fixed unexpected filter clearing in QuickFilterPane after editing a cell then committing.

(Grids) Added TableCustomFilterEditor#createFilterItemPanel() for customization. See the bug report here.

(Grids) Fixed the issue that table model changes causes the TableChooserPanel have an incorrect height.

(Grids) Fixed so that TreeExComboBox will remove the selected tree path if that tree path is removed from the tree model.

(Pivot) Fixed the issue that the context menu to hide values in HeaderTable displays incorrect values while there are more than one DataField.

(Pivot) Fixed so that the duplicated data fields could work while saving/loading PivotTablePane to/from a XML file.

Backward Compatibilities

(Data) Added a return value for PageNavigationBar#gotoRecord() which will impact the customer's code compilation of he/she override that method. See the enhancement request here.

(Diff) CodeEditorDiffPane changes to CharSequence instead of String and CodeEditorDiffPane#splitString() will no longer get invoked.

(Grids) Fixed so that the it doesn't use deprecated UI classes from apple.laf package which means the new release will not work with Mac JDK5 anymore.

May 1, 2012 - 3.4.0 (Regular Release, changes from 3.3.8)

Enhancement Requests

(Charts) Can now make a pie chart have segments always exploded. See the enhancement request here.

(Common) Improved the performance of CachedArrayList.

(Diff) Added BasicDiffPane#setSelectOnNavigation() to control the selection behavior on clicking those navigation buttons. See the enhancement request here.

(Diff) Added BasicDiffPane#customizeLinesDiff() to make the lines diff customizable.

(Diff) Added BasicDiffPane#createLinesDiff() to support line difference for multiple line differences.

(Grids) Fixed so that TableUtils#autoResizeAllColumns() will respect StyledLabel#getRows() when StyledLabel#isLineWrap() returns true. See the bug report here.

(Pivot) Fixed so that changing a row in the original table model would be able to update the AggregateTable automatically when PivotDataModel#isAutoUpdate() returns true. See the bug report here.

(Pivot) Improved performance and reduced the memory usage when PivotDataModel#isHighPerformanceMode() returns true by combining two hierarchical data lists and eliminating the unnecessary tree navigation if there is no subtotal configured in the row/column fields.

(Pivot) Fixed the issue that inserting a new row in the original table model may refresh the PivotTablePane in incorrect position if one row field is unsorted however the other one is sorted ascending or descending.

(Pivot) Improved the painting performance for PivotTablePane if it has a big number of row count or column count in its DataTable. See the bug report here.

(Pivot) Fixed the issue that the column width of the row header table was incorrect when invoking PivotDataModel#setLayoutDataFieldsFirst() dynamically and PivotDataModel#isAlwaysRowDataFields() returns true.

May 15, 2012 - 3.3.9 (Maintenance Release, changes from 3.3.8)

Bug Fixes

(Common) Added an NPE protection in NavigationComponentHelper.

(Common) Fixed the StackOverflowError which is a regression since 3.3.7. See the bug report here.

(Common) Fixed the AIOOBE issue while TextComponentSearchable find previous however there is no matching any more.

(Grids) Fixed so that ButtonPopupPanel will get the ok/cancel text from UIDefaults respecting the component's locale. See the bug report here.

(Grids) Fixed the issue that DefaultGroupTableModel#getActualColumnAt() returns incorrect value when there is no group column and DefaultGroupTableModel#isDisplayCountColumn() returns true.

(Grids) Fixed so that ComboBoxShrinkSearchableSupport could work well with ExComboBox#setKeepPopupSize(true). See the bug report here.

(Grids) Fixed a regression since 3.3.3 that the selected row is scrolled to visible incorrectly when the selected row is updated.

(Grids) Fixed so that the new columns added by CalculatedTableModel could be sorted and filtered correctly if the inner most table model is an instance of TreeTableModel.

(Grids) Fixed the issue that installing a SortableTable in a TableExComboBox will make TableComboBoxShrinkSearchableSupport work incorrectly. See the bug report here.

(Grids) Fixed so that TableExComboBox#getPreferredSize() will be changed once the underlying table model is updated. See the bug report here.

(Grids) Fixed the issue that the memory usage keeps growing on updating a TreeTable. See the bug report here.

(Pivot) Fixed the issue that AggregateTableModel#getActualRowAt() returns incorrect row index if AggregaetTableModel#setShowSummary(true) and the key has only one child row in the original table model.

(Pivot) Fixed the issue that invoking PivotDataModel#calculate() without changing the row/column fields causes the hidden values being cleared. See the bug report here.

March 27, 2012 - 3.3.7 (Regular Release, changes from 3.3.6)

Enhancement Requests

(Charts) Made it possible to switch off horizontal or vertical line of cross hair. See the enhancement request here.

(Common) Moved CacheMap, RegistrationEvent and RegistrationListener to com.jidesoft.utils package.

(Common) Can now specify for the categories to be sorted.

(Component) Added TableRowExpandedTip#setShowHeaderTip() to control if the table header's expanded tip should be displayed as well when a ExpandedTip is displayed for a table row. See the enhancement request here.

(Document) Added new dialog floating container type to DocumentPane which can be changed using DocumentPane setFloatingContainerType.

(Grids) Added a new client property CLIENT_PROPERTY_COLUMN_SORT_ORDER to TableColumnChooser to allow user specifying the sort order of the columns in the chooser dialog. See the enhancement request here.

(Grids) Added FilterFactoryWithEditorProperty to manage the editable property of the combo box in ValueEditor. See the enhancement request here.

(TreeMap) Made circular layout centered by default.

Bug Fixes

(Charts) Now snaps to point when there is only one point in the model. See the bug report here.

(Common) Fixed so that CheckBoxList will respect the preferred size of CheckBoxIcon.

(Common) Fixed the combobox popup is showing in AutoCompletion when typing. See the bug report here.

(Editor) Fixed the wrong properties was referred in the CodeEditorFindAndReplaceTarget.

(Editor) Fixed the issue that dragging to a non-editable CodeEditor might throw exception. See the bug report here.

(Editor) Fixed so that dragging text in CodeEditor with CTRL down could copy the selected text at new position while keeping the original copy unchanged. See the bug report here.

(Editor) Fixed the issue that searching in the scope of column selection cannot highlight the matching correctly.

(Editor) Fixed the issue that pressing a char when column selection is enabled could not input char correctly.

(Editor) Fixed the issue that moving to next/last line may move the caret to an incorrect column if CodeEditor#isVirtualSpaceAllowed() returns false. See the bug report here.

(Editor) Fixed the issue that the mouse cursor is changed to HAND cursor at incorrect position in CodeEditor. See the bug report here.

(Example) Fixed the issue that source code of MarginSupportDemo is not able to be browsed correctly. See the bug report here.

(Example) Removed the red line that shows the alignment between the margin and the table/tree/list. See the bug report here.

(Grids) Fixed the issue that NestedTableHeader could not paint the TableColumnGroup with correct title if NestedTableHeader#isUseNativeHeaderRenderer() returns false. See the bug report here.

(Grids) Fixed so that isAllowMultipleValues() could work well with isAcceptTextInput() in AutoFilterTableHeader. See the bug report here.

(Grids) Fixed so that AutoFilterTableHeader#isAllowMultipleValues(int) could be respected correctly when AutoFilterTableHeader#isUseNativeHeaderRenderer() returns true.

(Grids) Fixed the issue that sometimes the column could be dragged outside of its parent TableColumnGroup incorrectly.

(Grids) Fixed so that CellSpanTable#isCellSelected() could return correct value when JideTable#isNonContiguousCellSelection() is true.

(Grids) Improved the usability of the condition combo box in CustomFilterEditor when the preferred size is not wide enough to show the condition string. See the bug report here.

(Grids) Fixed so that invoking DefaultDateSelectionModel#setSelectionMode() with the same parameter will not re-create the selection model which will cause the existing date selection disappeared silently.

(Grids) Fixed so that the ExComboBox drop down will be shown when in Searchable even when there is no match for the searching text.

(Grids) Fixed so that HssfTableUtils could work well with POI 3.8. See the bug report here.

(Grids) Fixed so that HyperlinkTableCellEditorRenderer could work well with NavigationTreeTable. See the bug report here.

(Grids) Fixed the cell doesn't start editing on the first click when using overlayable. See the bug report here.

(Grids) Fixed the issue that TreeTable could not repaint well after expanding a row if isRowAutoResizes() returns true. See the bug report here.

(Grids) Fixed the "No such child" exception while setAutoResizeMode(false) is invoked. See the bug report here.

(Grids) Fixed so that the NavigationTreeTable will not freeze when using Searchable. See the bug report here.

(Common) Fixed a potential AIOOBE issue in StyledLabel. See the bug report here.

(Common) Fixed the memory leak issue in Flashable. See the bug report here.

(Common) Fixed so that TreeSearchable#convertElemenToString() would invoke JTree#convertValueToText() to search correctly. See the bug report here.

(Common) Fixed so that the close button on the tab of JideTabbedPane has one pixel gap with the tab border. See the bug report here.

(Component) Fixed so that the mouse cursor over the title will be default cursor when CollapsiblePane#isCollapseOnTitleClick() returns false. See the bug report here.

(Component) Fixed so that the proportion between DocumentGroups could be persisted in DocumentPane while loading layout.

(Components) Fixed so that clicking on the tree icon will not chnage the tree node selection. See the bug report here.

(Diff) Fixed so that customizeEditor will still be called.

(Diff) Fixed the regression in 3.2.3 that CodeEditorDiffPane didn't paint the highlight after comparing correctly.

(Diff) Fixed the alignment issue between the line number margin with the CodeEditor.

(Dock) Fixed the issue that the outline contour might be painted detached with the mouse point after dragging a frame between two docking managers back and forth. See the bug report here.

(Dock) Fixed the issue that sometimes DockableFrame#getTabTitle() does not get respected if the dockable frame is dragged between docking managers. See the bug report here.

(Dock) Fixed the issue that the autohidden showing frame sometimes does not change its size accordingly while resizing the main window of the DockingManager and the DockingManager is nested inside another DockingManager. See the bug report here.

(Dock) Fixed the regression in 3.3.0 that adding a new floating frame is not visible.

(Dock) Fixed the issue that DefaultDockingManager may layout the frames incorrectly while loading a XML format layout file if the frames are not created in the DockingManager yet. See the bug report here.

(Editor) Improved the performance to update the scroll bar of a CodeEditor on editing. See the bug report here.

(Editor) Fixed so that the seached text could be displayed in the center of the CodeEditor on searching if scrolling is necessary. See the bug report here.

(Editor) Fixed so that starting search will clear the highlights made by previous "Search All" action. See the bug report here.

(Editor) Fixed so that "Find All" could scroll the caret of the CodeEditor to the first match. See the bug report here.

(Editor) Fixed so that the last line in CodeEditor could be highlighted as an entire line.

(Editor) Fixed so that clicking on the line number maring will put the caret on the start of the selected line.

(Editor) Fixed so that "Find Next" could work after perform "Find All" action. See the bug report here.

(Grids) Fixed so that adding child(ren) to a row will expand the row automatically if TreeTableModel.isAutoExpand() returns true. See the bug report here.

(Grids) Fixed the issue that filtering may cause the cell value being set to a wrong row in a TableScrollPane. See the bug report here.

(Grids) Fixed the issue that NestedTableHeader may paint its filter icon out of bounds if NestedTableHeader#isShowFilterIcon() returns true. See the bug report here.

(Grids) Removed the check for TreeExpandablePanel to paint the tree icon and tree line. See the bug report here.

(Grids) Fixed the potential AIOOBE issue for CalculatedTableModel.

(Grids) Fixed the issue that an incorrect table structure changed event might be fired from FilterableTableModel when it receives a table rows updated event.

(Grids) Fixed the issue that sometimes TreeTableUtils#getDescendant() does not return correct children list. See the bug report here.

(Grids) Fixed the NPE issue while a FilterableTreeTableModel is installed over a non-TreeTableModel. See the bug report here.

(Grids) Fixed so that JideTable won't clear selection on receiving a table structure changed event which indicates no actual structure change happens in the original table model. See the bug report here.

(Grids) Fixed so that the margin width will adjust automatically when the row count changes.

(Grids) Fixed the baseline alignment issue of the row margin.

(Grids) Fixed so that all navigation components support multiple selection.

(Grids) Fixed the issue that NestedTableHeader might paint the original columns short while working with TableScrollPane. See the bug report here.

(Grids) Fixed so that the slider cell editor will be able to obtain focus on mouse clicking if JideTable#isAlwaysRequestFocusForEditor() returns true. See the bug report here.

Backward Compatibilities

(Grids) The return array of TableUtils#saveSelection(TreeTable) adds an extra ColumnSelectionRow element to save the column selection information which may break some of customers' code. See the bug report here.

November 22, 2011 - 3.3.0 (Regular Release, changes from 3.2.4)

New Components

(NavigationTree) Introduced new Navigation Components.

(BreadcrumbBar) Introduced a new component BreadcrumbBar.

(ExpandedTip) Introduced a new component ExpandedTip.

Enhancement Requests

(Charts) Added DIAGONAL_CROSS as a possible PointShape for chart points.

(Grids) Fixed so that the popup dialog could be centered in the same screen with where the ExComboBox exists. See the bug report here.

(Grids) Fixed the issue that the popup panel may move left if ExComboBox#isKeepPopupSize() return true.

(Grids) Fixed the issue that FilterableTreeTableModel might not be able to give the correct possible value list in AutoFilterTableHeader. See the bug report here.

(Grids) Fixed so that the the GroupTableHeader could persist the table preference if it works in a TableScrollPane. See the bug report here.

(Grids) Fixed a potential AIOOBE isue while dragging columns in GroupTableHeader. See the bug report here.

(Grids) Fixed the issue that a non-groupable column could be dragged to be grouped.

(Grids) Provided a solution for HierarchicalTable work well with JXCollapsiblePane. See the bug report here.

(Grids) Fixed so that invoking HierarchicalTable#expandAllRows()/collapseAllRows() will clear the saved row heights cache.

(Grids) Added indention by default while exporting TreeTable to excel. See the bug report here.

(Grids) Fixed the row grouping issue while exporting to excel. See the bug report here.

(Grids) Fixed the span issue while exporting a JTable to excel and the JTable contains some columns with zero width.

(Grids) Fixed the exporting to excel issue while there are columns which have width as 0.

(Grids) Fixed the issue that non-contiguous cell selection does not work well with column added/moved/removed actions if two different JideTable share the same TableColumnModel and the same TableSelectionModel. See the bug report here.

(Grids) Fixed the focus issue in JideTable while both "terminateEditOnFocusLost" and isAutoStartCellEditng() are true. See the bug report here.

(Grids) Fixed ClassCastException when using HierarchicalTable on Nimbus.

(Grids) Fixed so that "\n" could be distinguished with "\\n" in MultilineStringConverter. See the bug report here.

(Grids) Improved the performance of NestedTableHeader#getRowCount().

(Grids) Fixed so that using the SortableTableHeaderRenderer won't paint two sort icons.

(Grids) Fixed the AIOOBE issue while the column name of a table model contains '{' or '\'. See the bug report here.

(Grids) Fixed so that the filter items could be persisted while switching between list mode and inline editor mode. See the bug report here.

(Grids) Fixed the regression in 3.2.0 that TableScrollPane#getSelectedColumn() may return incorrect column.

(Grids) Fixed so that the high performance flag will be automatically turned off if there are different renderers for the column while auto resizing the column.

(Grids) Fixed so that TreeComboBoxCellEditor could work well with custom class other than String.class. See the bug report here.

(Grids) Fixed so that TreeTableUtils could work well with TableModelWrapper instead of DefaultTableModelWrapper only. See the bug report here.

(Grids) Fixed the issue that the value is not visible in the list panel when the value is not selected from the possible value list.

(Grids) Fixed the painting issue after rearranging a column in EditableTableHeader while a column is on editing status. See the bug report here.

(Synthetica) Fixed so that the DockableFrame has a more consistent border when using Synthetica.

(TreeMap) Fixed so that no NPE will be thrown if the values of the height field are all Number.NaN.

(TreeMap) NPE may be thrown on right-click.

(TreeMap) AIOOB may be thrown when no group by is used.

Backward Compatibility

(Editor) Changed to use ALT key by default to trigger column selection mode. See the bug report here.

(Grids) Added a TableUtils#CLIENT_PROPERTY_AUTO_RESIZE_RESPECT_COLUMN_WIDTH_TABLE_MODEL to control if the auto resize action will always respect the ColumnWidthTableModel if there is one in place.

(Pivot) Added PivotDataSource#getFieldTitle(int) so that PivotTablePane and AggregateTable could read column identifier and column name separately from the original table model. See the enhancement request here.

Bug Fixes

(Charts) More accurate recognition of axis type (numeric categorical or time axis) when zooming.

(Charts) Fixes incorrect zAlignment.

(Charts) Added partial support for disabling a chart.

(Charts) Takes account of border when computing size of pie chart. See the bug report here.

(Charts) Fixes a number format exception that can occur with some Locales. See the bug report here.

(Charts) Takes account of border when deriving a Paint for the dial face. See the bug report here.

(Charts) Fixes DialRadiantPaint for use of border on a dial. See the bug report here.

(Charts) Position of label on pie chart now respects border insets. See the bug report here.

(Charts) Can now maintain selection while morphing. See the bug report here.

(Common) Fixed so that CheckBoxTreeSelectionModel#setSingleEventMode(true) works as expected. See the bug report here.

(Common) Fixed the issue that WizardDialog#setSize() could not change the size of the dialog which is a regression in 3.2.1.

(Common) Fixed so that LabeledTextField could be painted consistent with most L&Fs when disabled.

(Common) Updated to the latest ThreadCheckingRepaintManager.

(Common) Fixed so that pressing PGUP/PGDN/UP/DOWN over RangerSlider won't change the value out of the bounds defined by RangeSlider#getMinimum() and RangeSlider#getMaximum().

(Component) Fixed the ConcurrentModificationException in AlertGroup. See the bug report here.

(Component) Fixed so that the title displayed in the "Floating to" menu item and the floating document container is consistent with the one after conversion if DocumentPane#getTitleConverter() is not null. See the bug report here.

(Component) Fixed the issue that the disabled document could be dragged to be selected even if DocumenPane#isReorderAllowed() returns false. See the bug report here.

(Data) Fixed so that invoking PageNavigationBar#setEnabled(false) could disabled all buttons and the text field. See the bug report here.

(Dock) Fixed so that DefaultDockingManager#stopShowingAutohideFrame() would be invoked only once when trying to hide a autoHiddenShowing DockableFrame. See the bug report here.

(Dock) Fixed the issue that the cursor is still set to the glass pane incorrectly when DockingManager#isUseGlassPaneEnabled() returns false. See the bug report here.

(Dock) Fixed so that loading layout from XML format file could make the auto hide container honor the flag DockingManager#isSidebarRollover(). See the bug report here.

(Editor) Fixed the painting issue of FindResultTreeCellRenderer. See the bug report here.

(Editor) Fixed the painting and caret position issue while making a column selection and deleting the text. See the bug report here.

(Editor) Fixed so that the system clipboard could be copied into CodeEditor correctly while using pasteWithDialog function. See the bug report here.

(Editor) Fixed the issue that the collapsed span could not be expanded if the folding span ends at a line break. See the bug report here.

(Gantt) Added French translation for Gantt product.

(Gantt) Fixed so that the method GanttChart#getEntryAt(Point) will return null if the point is not over the entry. See the bug report here.

(Girds) Fixed an NPE issue when TableModel#getColumnName() returns a null value and a TableColumnChooserPopupMenuCustomizer is installed. See the bug report here.

(Grids) Made AbstractComboBox#fireActionEven() always fire action event out without check. See the bug report here.

(Grids) Fixed the regression since 3.1.0 that the resize corner is missing in the popup panel of AbstractComboBox and ExComboBox.

(Grids) Fixed the issue that inserting child nodes sometimes could not update the TreeTable's UI correctly. See the bug report here.

(Grids) Fixed so that CellStyleTableHeader could still paint the header cell even if TableColumn#getModelIndex() is an invalid number like -1 or a larger number than model's column count. See the bug report here.

(Grids) Fixed the issue that NestedTableHeader does not work with GanttChartPane well. See the bug report here.

(Grids) Fixed the issue that CellSpanTable#calculateRowHeight(int) didn't take inter cell spacing into account. See the bug report here.

(Grids) Fixed so that TableScrollPane with column header table could be exported to .csv format file correctly.

(Grids) Fixed so that CustomFilterEditor could work well for "is in" and "isn't in" filter with null value. See the bug report here.

(Grids) Fixed the issue so that the cells in the DefaultGroupRow are displayed in the same format with those cells in the IndexReferenceRow if GroupTable#isDisplayGroupColumns() returns true. See the bug report here.

(Grids) Fixed the issue that the collapse icon could not be painted for a level 1 node with all its next generation nodes filtered out however has some grand child nodes visible when both FilterableTreeTableModel#isKeepParentNode() and FilterableTreeTableModel#isKeepAllChildren() return false. See the bug report here.

(Pivot) Fixed so that HeaderTable#editCellAt() use the same logic as HeaderTable#handleMousePressedEvent() to decide if the mouse click is over an expand or collapse icon. See the bug report here.

(Pivot) Fixed the issue that auto resize all columns in PivotTablePane or AggregateTable didn't take the grand total row into account. See the bug report here.

(Rss) Added Germany translation for RSS package.

September 29, 2011 - 3.2.3 (Regular Release, changes from 3.2.2)

Enhancement Requests

(Charts) Axis classes now have a quantity property to specify whether they are for number, time or categories.

(Charts) Can now choose to align on back or center or front of 3D axis.

(Charts) Added method tickLabelFontForAxis() which exposes the resized font for a given axis. See the enhancement request here.

(Charts) Added methods to support discovery of the rendered positions of needles.

(Charts) Added methods to enable dynamically changing a label on a dial.

(Charts) Added new class to mark a significant value on a dial axis.

(Charts) Added separate control for x and y axes on zero inclusion. See the enhancement request here.

(Common) Added EXTENSION_STYLE_OFFICE2003_WITHOUT_MENU, EXTENSION_STYLE_ECLIPSE_WITHOUT_MENU, EXTENSION_STYLE_ECLIPSE3X_WITHOUT_MENU for better customer experience when there is no Action product in use.

(Common) Made several fields protected.

(Component) Added setAnimationFunction to allow users to customize the animation effect of CollapsiblePane.

(Component) Added setAnimationFunction to allow users to customize the animation effect of FloorTabbedPane.

(Grids) Added mergeCellStyles(List cellStyles) method to CellStyleTable so that user can subclass to override to control the merge behavior.

(Grids) Added isDoubleClickEnabled() API for DualTable and DualList.

(Grids) Made the header editor respect the settings in HeaderStyleModel. See the enhancement request here.

(Common) Fixed so that pressing "find next" or "find previous" button would be able to scroll to let the match visible if there is only one match.

(Common) Fixed the issue that clicking TristateCheckBox to set mix state could not update UI correctly. See the bug report here.

(Common) Fixed NPE because the MenuItem.acceleratorFont is null when setting to Nimbus.

(Common) Fixed so that JideSplitButton#setVerticalAlignment() could be honored. See the bug report here.

(Common) Fixed so that dragging range could also fire property change event for the low value and the high value. See the bug report here.

(Component) Fixed the focus issue while switching between a DocumentComponent with no focusable child component and another DocumentComponent.

(Diff) Fixed the flickering issue on comparing in TableDiffPane.

(Dock) Fixed the issue that DefaultAppletDockableHolder#stop() disposed all incorrectly. See the bug report here.

(Editor) Fixed the BadLocationException while unindent line if the caret offset is 0. See the bug report here.

(Editor) Fixed so that inserting break would change the caret even if the CodeEditor does not have focus. See the bug report here.

(Editor) Fixed the issue that invoking moveToLineStart() when the caret is at the end of the document could not place the caret at the first non-empty position in the line correctly. See the bug report here.

(Editor) Fixed the issue that invoking CodeEditor#moveToDocumentStart()/moveToDocumentEnd() did not change caret position if the CodeEditor does not have focus. See the bug report here.

(Editor) Fixed so that the system clipboard which was not copied from CodeEditor could also be displayed in the list of transferable when pastTransferableWithDialog() is triggered. See the bug report here.

(Editor) Fixed the issue that the select block action didn't take any effect if the caret is put before the closing bracket. See the bug report here.

(Editor) Fixed so that unindent selection could work as expected if there is no selection and the caret is placed in the very beginning of a line. See the bug report here.

(Editor) Fixed the issue that the first line number in the margin area of CodeEditor was invisible.

(Editor) Fixed the issue that clicking the expand icon in CodeFoldingMargin could not expand the folded span if the span ends with line breaks. See the bug report here.

(Editor) Fixed the regression in 3.2.0 that CodeEditorDocumentPane could search in all files correctly. See the bug report here.

(Grids) Fixed so that CellStyleTable will clone the highest priority CellStyle while merging multiple cell styles. See the bug report here.

(Grids) Fixed the issue that DefaultGroupTableModel didn't relay the table structure changed event correctly to table if it receives a table structure changed event when it does not have any group column.

(Grids) Fixed the issue that the incorrect column would be grouped if DefaultGroupTableModel#isDisplayCountColumn() returns true and there is no group column at the moment of grouping. See the bug report here.

(Grids) Fixed so that the editing will be stopped automatically after the column is dragged if EditableTableHeader#isRolloverEnabled() returns false. See the bug report here.

(Grids) Deprecated EnumCellRenderer and suggest people to use ContextSensitiveCellRenderer.

(Grids) Fixed so that the popup panel will be recreated when ExComboBox#setModel() is invoked. See the bug report here.

(Grids) Fixed so that the popup's X offset relative to ExComboBox could be persisted as well if ExComboBox#isKeepPopupSize() returns true.

(Grids) Fixed the issue that AutoFilterTableHeader paints the filter icon incorrectly even if FilterableTableModel#isColumnAutoFilterable() returns false when AutoFilterTableHeader#isShowFilterIcon() returns true. See the bug report here.

(Grids) Fixed the NPE issue if TreeTableModel is used as a plain table model without row reference and a FilterableTreeTableModel is installed upon it. See the bug report here.

(Grids) Fixed the CCE issue introduced in 3.2.2 when a CachedTableModel is installed under FilterableTreeTableModel.

(Grids) Fixed so that TableColumnChooser#showAllColumns()/hideColumn()/hideColumns()/showColumns() could work well with TableScrollPane. See the bug report here.

(Grids) Fixed so that the styled label annotation won't be displayed in the TableColumnChooserDialog if a column name contains styled label annotation.

(Grids) Fixed so that the column header tables have correct client properties registered.

(Grids) Fixed so that TreeExComboBoxSearchable could work as expected. See the bug report here.

(Grids) Fixed the memory leak issue if TreeTable#setModel() is invoked. See the bug report here.

(Pivot) Fixed so that CalculatedTableModel#getActualColumnAt() should return -1 for single column with object grouper.

(Pivot) Fixed the issue that the existing PivotField's summary type was changed incorrectly on receiving table structure changed event if the field's summary type was SUMMARY_NONE. See the bug report here.

(Pivot) Fixed the scrolling issue if unassigned fields area has a lot of field boxes. See the bug report here.

August 23, 2011 - 3.2.1 (Regular Release, changes from 3.2.0)

Enhancement Requests

(Common) Made StyledLable support line breaks. See the enhancement request here.

(Pivot) Added isShowContextMenu() API for AggregateTable/DataTable/HeaderTable so that the customer could get mouse event correctly.

Bug Fixes

(Common) Fixed so that the waved style string are painted in the same base line with other style strings in StyledLabel.

(Common) Fixed so that StyledLabel painting will respect its border insets.

(Common) Fixed the NPE in DefaultOverlayable when dragging another component over the DefaultOverlayable in Netbeans/Matisse. See the bug report here.

(Common) Fixed the issue that Wizard may layout the MultilineLabel incorrectly in some scenarios.

(Common) Fixed so that new child components of JideScrollpane could always be layout correctly when the sub upper left/right components are the wides in the column.

(Common) Added StyledLabel#isTruncated() to check if the StyledLabel is currently painted truncated. See the bug report here.

(Grids) Fixed the issue that the filter created by QuickTableFilterField could not be cleared in AutoFilterBox. See the bug report here.

(Grids) Fixed the regression in 3.1.0 that NestedTableHeader may not paint sort indicator correctly if isAutoFilterEnabled() and isUseNativeHeaderRenderer() both return false. See the bug report here.

(Grids) Fixed so that clicking on the filter field and the filter button will be able to start editing or drop down the list without triggering sorting if EditableTableHeader#setRolloverEnabled(false). See the bug report here.

(Grids) Fixed the nested table header painting issue while moving mouse over its last several columns.

(Grids) Fixed an NPE issue while setting a nested table header to a JTable.

(Grids) Fixed so that newly designed table header could work well in Substance L&F.

(Grids) Fixed the NPE issue if ColumnIdentifierTableModel#getColumnIdentifier() returns null for any column. See the bug report here.

(Grids) Fixed the issue that invoking TableExComboBox#setSelectedItem() before the ExComboBox is showing did not set the selected item correctly.

(Grids) Fixed so that pressing key would show TableExComboBox's popup if TableExComboBoxSearchable#isShowPopupDuringSearching() returns true.

(Grids) Fixed the issue that TableUtils#autoResizeColumn() didn't invoke TableColumn#setPreferredWidth() properly if ColumnWidthTableModel is implemented in the table model. See the bug report here.

(Grids) Added an NPE check if TreeExpandablePanel is not used as a renderer wrapper but a renderer directly. See the bug report here.

(Grids) Fixed the issue that TreeTableUtils#getChildIndex() didn't work for tree root correctly.

(Pivot) Fixed so that AggregateTable could work better with AutoFilterTableHeader on aggregating.

(Pivot) Fixed so that the header cell is aligned well between those cells that have expand icon and those no-icon cells. See the bug report here.

(Pivot) Fixed some German translation issue in pivot. See the bug report here.

(TreeMap) Corrected model size not being updated.

Backward Compatibility

(Editor) Changed MarkerArea's getColor method so that it will not use the SyntaxStyle to figure out the color automatically and please use registerMarkerColor to register more colors for the marker types other than the error and warning.

(Grids) Added Marker and Margin support for JList, JTree and JTable.

(Grids) TableSplitPane's createTableScrollPane now takes an additional headerTableModel as the second parameter which will cause compile error if you override this method.

(Common) If you are using jide-synthetica.jar, please replace it with jide-plaf.jar (or jide-plaf-jdk7.jar if you are on JDK7) because this jar contains the support for several other L&Fs from this release.

July 21, 2011 - 3.1.1 (Regular Release, changes from 3.1.0)

Enhancement Requests

(Charts) Added methods chart.containingPoints() and chart.containingShapes() to enable retrieval of information about multiple Chartables rendered at the specified pixel location.

(Component) Fixed the issue that split to create a new group caused both groups bold their active tab incorrectly.

(Component) Fixed the issue that loading layout caused the component being opened duplicated times. See the bug report here.

(Component) Fixed so that invoking DocumentPane#setActiveDocument() could let the document grab focus correctly.

(Data) Added protected createStatement and createReadonlyStatement as well as adjustStatement to allow subclass to override to create a more suitable statement for the queries.

(Dock) Fixed the issue that the DOCKABLE_FRAME_MOVED event might be lost if two or more DockableFrames in the same FrameContainer are moved. See the bug report here.

(Dock) Fixed so that showing a newly added DockableFrame with its init mode as STATE_HIDDEN-STATE_FLOATING will float the frame correctly. See the bug report here.

(Dock) Fixed the flickering issue if showing a hidden floated frame by invoking DockingManager#floatFrame(). See the bug report here.

(Editor) Fixed the issue that selecting then deleting the last several characters in a document may cause bad location error print if the customer tries to invoke CodeEditor#getSelectedText() inside the document listener. See the bug report here.

(Editor) Fixed the regression in 3.0.4 that mouse dragging to select from the start of a line to the end may cause the view position reset to the left unexpectedly. See the bug report here.

(Editor) Added javadoc for all key actions in CodeEditor. See the bug report here.

(Grids) Fixed the NPE issue after the deserialization of AbstractFilter.

(Grids) Fixed the unnecessary horizontal grid line painting in AUTO_RESIZE_FILL mode. See the bug report here.

(Grids) Fixed so that AutoFilterBox will take the input from a filter created by QuickTableFilterField outside. See the bug report here.

(Grids) Fixed the issue that invoking AutoFilterTableHeader#setAutoFilterEnabled() may reset the table columns. See the bug report here.

(Grids) Fixed the issue that sometimes the sort icon is not displayed in AutoFilterTableHeader while isUseNativeHeaderRenderer() returns true. See the bug report here.

(Grids) Fixed the column index converting issue while hiding some columns in AutoFilterTableHeader and setUseNativeHeaderRenderer(true). See the bug report here.

(Grids) Fixed the regression in 3.1.0 that NestedTableHeader may not paint sort indicator correctly if isAutoFilterEnabled() and isUseNativeHeaderRenderer() both return false. See the bug report here.

(Grids) Fixed so that the "Custom" item won't be visible when AutoFilterTableHeader#isAllowMultipleValues() and isUseNativeHeaderRenderer() both return true.

(Grids) Fixed the issue that custom filter dialog may be displayed in invisible location. See the bug report here.

(Grids) Worked around the JDK5 issue that it may repaints the entire table on filtering. See the bug report here.

(Grids) Fixed the regression in 3.1.0 that dragging NestedTableHeader may cause exception.

(Grids) Fixed so that the use could set the ok/cancel actions' value to change the UI of the ok/cancel button in ButtonPopupPanel. See the bug report here.

(Grids) Made AggregateTable work well with PageNavigationBar. See the bug report here.

(Grids) Fixed so that CellSpanTable could clear cache on table column events if getAutoCellMerge() is not AUTO_CELL_MERGE_OFF.

(Grids) Deprecated Column/RowStripeCellStyleProvider and please use Column/RowStripeTableStyleProvider which will keep the column/row stripes after columns/rows are rearranged.

(Grids) Included filters like "is in" even if the single line mode is true in CustomFilterEditor. See the bug report here.

(Grids) Fixed the row order and ClassCastException issues if DefaultGroupTableModel#setRemoveNullGrouper(true). See the bug report here.

(Grids) Fixed so that GroupTable would be able to load selection correctly if isLoadSelectionOnTableDataChanged() returns true. See the bug report here.

(Grids) Fixed so that ExComboBox#setButtonVisible() works as expected.

(Grids) Fixed so that ExComboBoxCellEditor could work well with EDITOR_STYLE_READ_ONLY.

(Grids) Fixed the issue that inserting/deleting a row then group/ungroup may cause incorrect selection/row height loading in GroupTable.

(Grids) Fixed so that CellValueConverter#getDataFormat() will use table's view index consistently. See the bug report here.

(Grids) Fixed the issue that ColumnWidthTableModel did not work well with SortableTable. See the bug report here.

(Grids) Fixed the selection loading issue while deselecting a cell then sort the table. See the bug report here.

(Grids) Fixed so that JideTable#setClearSelectionOnTableDataChanges(true) won't clear the selection when the table receives table data changed however the original table model is not updated at all. See the bug report here.

(Grids) Fixed so that invoking JideTable#setNonContiguousCellSelection() won't break the listener registered to JTable#getSelectionModel(). See the bug report here.

(Grids) Deprecated JideTable#setClearSelectionOnTableDataChanges() to avoid further confusion. See the bug report here.

(Grids) Fixed so that vertical lines extended in the auto fill area could be refreshed immediately after the table columns are moved. See the bug report here.

(Grids) Fixed the vertical line painting issue in AUTO_RESIZE_FILL mode.

(Grids) Fixed the issue that LessThanFilter#equals() checked too strict on the class type. See the bug report here.

(Pivot) Fixed the NPE issue while trying to configure PivotField if PivotTablePane#getRootPane() returns null. See the bug report here.

(TreeMap) Fixed top level nesting border not being taken into account.

Backward Compatibility

(Action) Now init side/index/etc. information inside the context won't be loaded which is different with older releases.

(Dock) Now init side/index/etc. information inside the context won't be loaded which is different with older releases.

(Grids) FilterableTableModel will be installed only if the setAutoFilterEnabled(true) is invoked hence AutoFilterTableHeader#getFilterableTableModel() may return a null value which may break some customers' code.

(Grids) Removed dependency on com.jidesoft.hssf which could break customers' code.

(Pivot) Changed the return type of createFilterableTableModel() which may break some codes if you ever override this method.

(Grids) Fixed the performance issue while deleting or inserting rows to SortableTableModel with huge rows after sorting. See the bug report here.

(Grids) Fixe the view synchronization issue if TableScrollPane is instantiated with an empty row header table then set a table model with columns in row header table. See the bug report here.

(Grids) Fixed the issue that setTablePreferenceByName() didn't load preference correctly when one of TableScrollPane's tables has all its columns hidden. See the bug report here.

(Grids) Fixed the issue that TableUtils#setTablePreferenceByName(TableScrollPane, String) didn't work correctly. See the bug report here.

(Grids) Fixed the issue that adding a customer created TableColumn instance with a different header value to the main table of TableScrollPane could not add a column automatically in the column footer table. See the bug report here.

(Charts) Fixes a problem when using a bar chart with a logarithmic axis.

(Charts) Fixes possible NPE when painting a tick label.

(Charts) Corrects a problem in detecting overlapping tick labels.

(Charts) Fixes font auto-resizing problem.

(Charts) Fixes a formatting error in the toString() method of DirectionZoomEvent.

(Charts) Corrected logic surrounding positioning of the interval marker that may have resulted in a Null Pointer Exception.

(Charts) Moved package to fix cyclic dependency.

(Common) Fixed the issue that pressing TAB key cannot release focus from the JTextComponent with IntelliHints popup visible. See the bug report here.

(Common) Fixed so that a exception will be thrown if layout saving failed for any reason. See the bug report here.

(Common) Fixed so that DateSpinner will take default date format according to current default Locale. See the bug report here.

(Common) Fixed JideLabel doesn't display html code correctly.

(Common) Adjusted the JideScrollPane's layout so that the upper-right and lower-right corner components could be visible above the vertical scroll bar if row footer component is null and vertical scroll bar is not stretched. See the bug report here.

(Dashboard) Fixed the issue that setting new predefined layout didn't clear the old layout completely. See the bug report here.

(Dashboard) Fixed the issue that the gadget size was not persisted if Dashboard#setPredefinedLayout() is ever invoked. See the bug report here.

(Dashboard) Fixed so that maximized gadget component could be loaded correctly when Dashboard#isPredefinedLayoutSet() returns true. See the bug report here.

(Grids) Fixed the issue that the value editor did not display the selected value correctly following converter context.

(Pivot) Fixed so that AggregateTable could be collapsed/expanded by clicking on the icon in RTL mode. See the bug report here.

(Pivot) Fixed the scrolling issue while DataTable is empty. See the bug report here.

(Pivot) Fixed the issue that the null values could not be filtered out correctly in UI if PivotField#setNulLValueAllowed(false) and PivotField#setPreferSelectedPossibleValues(false).

(Pivot) Fixed so that PivotDataModel#isAutoSortKeys() will be honored.

(Pivot) Fixed so that PivotField.SORT_ORDER_UNSORTED could be honored in both PivotTablePane and AggregateTable. See the bug report here.

(Pivot) Fixed the issue that firing table data change event from original table model caused the filtering popup from FieldBox disappeared. See the bug report here.

(Pivot) Made the data field column respect the maximum preferred width of the data fields if both PivotTablePane#isRespectFieldPreferredWidth() and PivotDataModel#isAlwaysRowDataFields() return true. See the bug report here.

Backward Compatibility

(Component) If you expect the setDocumentEnable(false) to disable all the document's child component, please listen to PROPERTY_ENABLED of DocumentComponent to handle it in your application. See the bug report here.

(Data) Changed design of CrudDatabaseTableModel and APIs.

March 10, 2011 - 2.11.2 (Regular Release, changes from 2.11.1)

Enhancement Requests

(Charts) Can now set tick length on a per axis basis.

(Charts) Exposed depthRatio and angle as properties to enable customizing the 3D appearance.

(Charts) Added the ability to set a proportional spacing for the width of bars in a bar chart.

(Editor) Fixed so that pressing DELETE or BACKSPACE could not delete a single character or work inside a collapsed folding span. See the bug report here.

(Editor) Fixed the issue that the caret is positioned incorrectly if a folding span within one line is collapsed and the caret is positioned in the same line after the collapsed span. See the bug report here.

(Editor) Fixed so that the folding span created by "folding selection" could be removed on "expand fold span" and "expand all". See the bug report here.

(Editor) Fixed so that the customer could localize the string displayed by FindAndReplace easier. See the bug report here.

(Editor) Fixed so that selecting block would not throw StringIndexOutOfException. See the bug report here.

(Editor) Fixed so that the current selection would be used for replace dialog. See the bug report here.

(Editor) Fixed so that the bounds of FindAndReplaceDialog could be persisted. See the bug report here.

(Editor) Improved performance to calculate the content size of CodeEditor. See the bug report here.

(Editor) Fixed the issue that inserting string directly to CodeEditor's document didn't update the margin area immediately. See the bug report here.

(Editor) Fixed the issue that selecting a line including document end then typing a character could not clear the selected text. See the bug report here.

(Editor) Improved performance while inserting text and no folding impacted. See the bug report here.

(Grids) Added setLabelFont() to enable the customization for the label while there is no grouping column.

(Grids) Added column name converter parameter in the export() APIs for better customization. See the enhancement request here.

(Pivot) Opened utility methods for AggregaetTable. See the enhancement request here.

Bug Fixes

(Action) Fixed screen menu bar is not visible until the frame is resized.

(Charts) Fixed a problem in the handling of Double.NaN values in a stacked bar chart. See the bug report here.

(Charts) Fixed Java 5 compatibility problem.

(Common) Fixed the NPE if the customer tries to invoke getSelectedHint() before hints popup is manipulated. See the bug report here.

(Common) Fixed the issue that ComboBoxSearchable cannot search more than 1 character.

(Common) Fixed the issue that ComboBoxSearchable cannot search more than 1 character.

(Dock) Fixed so that only one frame is floated/docked if DockingManager#isFloatAllTabs() returns false.

(Editor) Fixed so that mouse clicking on the empty space after the last line will clear the current selection.

(Editor) Fixed so the issue that pressing ENTER key in column selection model without any selection behaves like deleting. See the bug report here.

(Grids) Made setFont() change the font of the JLabel. See the bug report here.

(Grids) Fixed the painting issue that the last several rows would be table's background if CellStyleTable#isFillsViewportWithStripe() returns true and the cell (last row, 0) is contained in a cell span which has row span no less than 2.

(Grids) Fixed the NPE issue while converter context is null. See the bug report here.

(Grids) Fixed so that PropertyTableModel will be honored in higher priority while getting cell editor or renderer if Property#setCellEditor()/setTableCellRenderer() is not invoked. See the bug report here.

(Grids) Fixed so that loading layout with new added columns will always put the new added columns to the end. See the bug report here.

(Pivot) Fixed so that the original column would not be hidden if the node is collapsed. See the bug report here.

Bug Fixes

(Grids) Invoking Property#getCellEditor()/getTableCellRenderer() will return null which was non-null value before and include 2.10.3. See the bug report here.

December 20, 2010 - 2.10.3 (Regular Release, changes from 2.10.2)

Enhancement Requests

(Charts) Adds support for auto-ranging of axes based on chart model data.

(Charts) It is now possible to apply a shadow on a per-model basis. See the enhancement request here.

(Charts) Added short description of setLineFill for cyclical models and use of per-model shadows.

(Grids) Fixed so that isRespectRenderPreferredHeight() will be used to decide how the vertical tree line to be drawn. See the bug report here.

(Grids) Fixed the issue that it could not with those classes which has similar getter/setter method names however the parameter types do not match. See the bug report here.

(Grids) Fixed so that the stripe in the empty area could be painted correctly if JTable#getFillsViewportHeight() returns true and the CellStyleTable is not added into a JScrollPane. See the bug report here.

(Grids) Fixed so that setRemoveNullGrouper and SORT_GROUP_COLUMN_NO_SORT could work together well. See the bug report here.

(Grids) Fixed so that DefaultGroupTableModel will clear the group columns on receiving table structure changed event.

(Grids) Fixed so that the group rows' expand status would be kept on table data changed events if isAutoUpdate() returns false. See the bug report here.

(Grids) Invoke groupAndRefresh() by default in the constructor to avoid potential IOOBE if adding new rows in a non-grouped DefaultGroupTableModel.

(Grids) Fixed so that pressing ESCAPE in the selected list/table of DualList/DualTable/TextFieldList could clear the selection so that the new selected items could be placed at the bottom of the selected list/table. See the bug report here.

(Grids) Fixed the issue that hiding then showing a column which the customer invoked TableColumn#setIdentifier with TableColumnChooserDialog could not show the column in correct position. See the bug report here.

(Grids) Fixed the IllegalArgumentException issue while collapsing/expanding a node in AggregateTable while having selection. See the bug report here.

(Grids) Fixed the issue that ununifyTableColumnSelection() didn't really remove the list selection listeners installed before which causes issues. See the bug report here.

(Grids) Fixed to avoid unnecessary selection adjustment while expanding a row prior to a selected row in TreeTable. See the bug report here.

(Pivot) Fixed the AIOOBE issue while the original table model fires table data changed event if setAutoUpdate(true), setCacheEnabled(true) and setComputeAffectedCellOnUpdate(true).

(Pivot) Fixed so that CalculatedTableModel could support dynamically adding/removing columns by firing table structure change events.

(Pivot) Fixed so that PivotTablePane use expanded/collapsed icon icon for Gtk L&F.

(Pivot) Fixed the header table painting issue while show subtotal as child and show subtotal location is before. See the bug report here.

Backward Compatibility

(Editor) The meaning of offsetToX, xToOffset, etc. are redefined. Please see related javadoc for details and how you should adjust your code to Grids,E,EditorStyleTableModel,Added EditorStyleTableModel to support three different editor styles in editable cells,,no
End,,,,,
.

October 25, 2010 - 2.10.1 (Regular Release, changes from 2.10.0)

Enhancement Requests

(Charts) Rotated tick labels that do not fit in the space available are now truncated and an ellipsis is added instead of not displaying them at all.

(Charts) Introduced a method that returns the shape used to render a point in the model.

(Charts) You can now set an outline color and an outline stroke on an IntervalMarker.

(Charts) Added SimpleNumericTickCalculator to make it easier to create custom ticks on a numeric axis.

(Charts) Added a TimePosition class to make it easier to specify times on a TimeAxis.

(Common) Provided JideCursors#setPredefinedCursor(int, Cursor) for customizing the cursor as needed.

(Common) Added client properties to support window opaque, opacity and shape on JDk6u10 and later.

(Dock) Provided allowActivate() API so that the customer could customize the activation behavior when necesssary. See the enhancement request here.

(Editor) Added Overlayable to show the loading process for lazy loading scenario.

(Editor) Fixed so that key operations would not freeze the UI because of page loading.

(Grids) Fixed the ClassCastException in JDK1.5 while installing AutoFilterUtils over a JTable. See the bug report here.

(Grids) Fixed so that drop lines could be painted correctly while span is on. See the bug report here.

(Grids) Fixed the tree line painting issue if isRespectRendererPreferredHeight() returns false. See the bug report here.

(Grids) Fixed the tree line painting issue if the JideTable has various row heights. See the bug report here.

(Grids) Fixed the tree line painting issue if a expanded row actually does not have any visible children row. See the bug report here.

(Grids) Fixed so that the collapse icon will be hidden if a parent row is expanded and its children are all filtered out.

(Grids) Improved performance of tree line painting. See the bug report here.

(Grids) Fixed so that the AbstractComboBox based cell renderer could respect the background in the table's stripe color provider while the table is disabled.

(Grids) Fixed so that the AbstractComboBoxEditor could respect the background in the table's stripe color provider while the table is disabled.

(Grids) Fixed the issue that clicking none button in ColorChooserPanel could not stop editing in JTable.

(Grids) Fixed a regression in 2.10.0 that DateCellEditor could not choose a valid date with mouse click if its start value is set to null.

(Grids) Fixed a potential infinite loop issue if group columns is kept visible.

(Grids) Fixed so that grouping a column in GroupTable could only fire 1 table structure changed event on non-sorted scenario and 1 more table data changed event for sorted scenario. See the bug report here.

(Grids) Fixed the issue that inserting node in the original tree model may cause AIOOBE while a FilterableTreeModel is installed and filtering.

(Grids) Fixed the issue that losing focus would cause the viewport reset its view position to 0 if the TableScrollPane does not have footer columns and TableScrollPane#setCorner() is invoked. See the bug report here.

(Grids) Fixed the issue that VerticalTableCellRenderer was not compatible with JDK5. See the bug report here.

(Pivot) Fixed the issue that modifying running summary could not fire property change event correctly. See the bug report here.

(Pivot) Fixed the potential NPE if the customer happens to initialize a HeaderTable with a non-HeaderTableModel.

(Pivot) Fixed the potential ConcurrentModificationException.

Backward Compatibility

(Grids) JideTable#getAutoResizeMode() would not return AUTO_RESIZE_FILL any more. Please check JideTable#isFillEmptyArea() to check if AUTO_RESIZE_FILL is configured.

(Grids) The default UI of TableColumnChooserDialog is changed. You could set TableColumnChooser#CLIENT_PROPERTY_TRADITIONAL_COLUMN_CHOOSER_DIALOG to your table with true to get the original behavior back.

October 4, 2010 - 2.10.0 (Regular Release, changes from 2.9.5)

Enhancement Requests

(Action) Moved screen menu bar fixing code from AquaCommandBarUI to BasicCommandBarUI so that the screen menu bar is available on other L&F under Mac.

(Charts) Added the arrow class which can be used to point out features of a chart.

(Charts) AutoPositionedLabel instances can now also contain rich text markup.

(Charts) Can now specify padding around axis labels.

(Charts) Made it possible to mark discontinuities in a line chart.

(Charts) Added a new constructor to improve ease of use of ChartCrossHair class.

(Charts) ChartCrossHair can now snap to points of the ChartModel.

(Charts) Added support for html markup on ChartLabel like JLabel.

(Charts) Added a method to support the creation of thumbnails.

(Charts) Made it easier to customise the text shown in a ChartValueReporter. See the enhancement request here.

(Charts) Updated DifferenceMarker to enable smooth curves to denote the edge of the region.

(Charts) It is now possible to add a Legend to a Chart as a Drawable.

(Charts) Can now limit zooming and panning. See the enhancement request here.

(Charts) It is now possible to change the pan direction properties of the MouseDragPanner after it has been created.

(Charts) Can now discover the rendered shape underneath a pixel point (if any).

(Charts) Added new StripePaint class.

(Common) Provided a ratio parameter in the constructor for resize the animation bars. See the enhancement request here.

(Common) Make InsetsConverter constructor public and added one supporting separator.

(Common) Added an option so that JideTabbedPane could layout the tab trailing component after the default buttons. See the enhancement request here.

(Grids) Added addFilter and removeFilter for user to override to apply the same Filter to several FilterableTableModels.

(Grids) Fixed so that user could choose some rows and columns to export a TableScrollPane to excel.

(Grids) Improved so that the preferred size of ListComboBox will consider the width of all its items if prototypeDisplayValue is not configured. See the enhancement request here.

(Grids) Added a flag so that the customer could choose if JScrollPane needs to scroll to make current selected rows visible on mouse clicking the table header to sort. See the enhancement request here.

(Grids) Provided reorderColumns() to programmatically reorder the table columns with a quick solution.

(Grids) Added clear filter button to TableCustomFilterEditor.

(Grids) Added "select all" option as a new field transferred mode.

(Grids) Added getRowCount(boolean includeChildren) to get the total row count including all their children. See the enhancement request here.

(Editor) Fixed the issue that while changing font for styles may cause the caret painted in previous style which caused inconsistent behavior visually.

(Example) Fixed so that the list in IntelliHints is sorted in the CodeEditorDemo.

(Example) Fixed the demo issue for deleting rows after sorting the table. See the bug report here.

(Example) Fixed so that expanding the child table would repaint the main table correctly.

(Gantt) Fixed possible NPE when removing the last child of a DefaultGanttEntry.

(Gantt) Fixed so that expanding/collapsing the rows would not scroll the current selected row back to visible. See the bug report here.

(Gantt) Fixed an NPE in getChildEntries when there is no children. See the bug report here.

(Grids) Fixed so that the Esc key could still work to cancel even if the PopupPanel#isNeedButtons() returns false. See the bug report here.

(Grids) Fixed so that invoking AbstractComboBox#showPopup() will not request focus for the combo box any more.

(Grids) Removed the unnecessary action event while retrieving value from DateComboBox if it's still null. See the bug report here.

(Grids) Fixed so that removing the selected item in ComboBoxModel of ListComboBox will fire state change and action events. See the bug report here.

(Grids) Switched the default value of preferSelectedValues to true so that the value list in the popup panel could be recreated more intuitively.

(Grids) Fixed so that pressing ENTER or '=' will not calculate continuously in CalculatorComboBox like it does in Caculator. See the bug report here.

(Grids) Fixed so that pressing number key could still work after overflow in CalculatorComboBox. See the bug report here.

(Grids) Fixed so that the background of ColorCellRenderer could be painted respecting the selection. See the bug report here.

(Grids) Fixed the issue that setting a non-null color then a null color could not reset the ColorCellRenderer back to null. See the bug report here.

(Grids) Fixed so that ColorComboBox will respect the color value/icon visible flags when it's not editable. See the bug report here.

(Grids) Fixed the week lable calculation issue in some scenarios while first day of week is not 1. See the bug report here.

(Grids) Fixed so that DateComboBox has more consistent behavior with JComboBox while pressing arrow key to navigate within DateChooserPanel to change the value of selected date. See the bug report here.

(Grids) Fixed the beep issue while initiate DateSpinnerComboBox. See the bug report here.

(Grids) Fixed to make table inserted or table deleted event from original table model would not cause DefaultGroupTableModel fire table structure change event if there is no group column in place.

(Grids) Fixed the issue that firing table cell updated event would cause the GroupTable get table structure changed event while no grouping.

(Grids) Fixed the NPE issue while adding a row in the original table model after reseting the column indices of QuickFilterPane. See the bug report here.

(Grids) Fixed so that updating a cell value on sorting would be able to persist current table selections. See the bug report here.

(Grids) Fixed the issue that tree node removed event could be fired twice. See the bug report here.

(Pivot) Fixed so that the cache in CompoundKey is thread safe. See the bug report here.

(Pivot) Fixed so that the cell value converter will convert cells in header tables as well.

(Pivot) Fixed so that AggregateTable would display the aggregated result while the row is collapsed even if it only contains one child row. See the bug report here.

Backward Compatibility

(Common) max(List) and min(List) are deleted to comply with latest compilation regulation, please use minDates and minCalendars instead. We cant' deprecate first because it will cause compilation error as well so we have to renew the methods without keeping the background compatible.. See the bug report here.

(Grids) CustomFilterEditor now use JComboBox instead of ListComboBox which will make any customer code override to retrieve ListComboBox broken.

(Grids) Added another method getFocusDisplayName() which may causes compilation error. See the enhancement request here.

July 15, 2010 - 2.8.8 (Maintenance Release, changes from 2.8.7)

Bug Fixes

(Charts) Changed rendering code so that an axis length of zero is no longer a problem.

(Charts) Fixes possible NPE when computing axis label position.

(Charts) Fixed problem that caused the lazy renderer to fail after removeDrawables has been called.

(Charts) Fixes a bug in the drawing of x axis labels when text is rotated or used in a multi-chart context.

(Charts) Corrects the positioning of the x axis label when a border is used on the chart.

(Charts) Can now display a title on a pie chart. See the bug report here.

(Charts) Corrected the position of the axis label for logarithmic scale. See the bug report here.

(Charts) Removed overridden implementations of hashcode and equals. See the bug report here.

(Charts) Fixes a bug where the x axis label was being painted even when visibility had been set to false. See the bug report here.

(Charts) Fixes a NPE that can occur during hit testing.

(Charts) Fixed a problem where tick labels were not repainted correctly when chart embedded in a panel in a scrollpane.

(Charts) Fires PropertyChange on setting VerticalGridLines property.

(Charts) Fixes a formatting error in the toString method of ChartPoint.

(Charts) added missing usage of fireUpdate parameter in one of the addPoint methods.

(Charts) Fixes a bug where the position of the tooltip did not update if the chart was resized while the tooltip was displayed. See the bug report here.

(Charts) PointSelection was returning the square of the distance rather than the actual distance for a hit point test.

(Charts) Fixed a problem with the up triangle where one side was not being drawn in an outline.

(Common) Fixed the issue that installing AutoCompletion on a JTextField would incorrectly disable the document filter configured previously.

(Common) Fixed the issue that the arrow button of JideComboBox could get focus incorrectly.

(Common) Fixes a bug in recomputing min and max after a new range has been added to the combined range.

(Common) Fixed the issue that the proportion was incorrectly set to the first pane occupying all the space while removing the third pane of a JideSplitPane.

(Dashboard) Fixed a potential "divide by zero" exception if the visible column count happens to be zero. See the bug report here.

(Dashboard) Fixed so that loading layout for SingleDashboardHolder could also restore the column width correctly if column is resizable.

(Data) Fixed so that changing page will stop the cell editing if a PageNavigationBar is installed on a JideTable.

(Dock) Fixed the issue that right click on the side pane caused the autohidden dockable frame to show up incorrectly. See the bug report here.

(Dock) Fixed the issue that showing a hidden floated frame caused the maximized frame to be restored unnecessarily. See the bug report here.

(Dock) Fixed the issue that loading layout continuously would cause the floating frames not visible if isShowInitial() returns false.

(Dock) Fixed a regression since 2.8.3 that the menu inside the main frame of DockableHolder could not get focus while a floating frame gets focus and the floating container type is frame.

(Dock) Fixed a potential NPE issue.

(Dock) Fixed the issue that an incorrect dockableFrameFloating event was fired while dragging a frame to a nested docking mangers while the inner one does not accept cross droping. See the bug report here.

(Dock) Fixed the NPE issue while DefaultDockingManager#dispose() is invoked the second time. See the bug report here.

(Dock) Made DockableFrame#setLastFocusedComponent() public. See the bug report here.

(Dock) Deprecated the APIs for autoActivateFocusOwner due to new focus management mechanism in DefaultDockingManager. See the bug report here.

(Editor) Fixed the bug that default language definition for XMLTokenMarker is incorrect for the block comment.

(Example) Fixed the demo scrolling issue while adding more than four gadget components in one column.

(Example) Fixed the issue that the ALL_DEMO frame could not be shown by menu after hiding it. See the bug report here.

(Example) Make ResizableGadgetComponent work with CollapsiblePaneSingleDashboardDemo.

(Grids) Fixed the issue that clicking OK button in the popup dialog of AbstractComboBox didnot let the dialog return a correct result as RESULT_AFFIRMED.

(Grids) Fixed the issue that invoking AutoFilterBox#setTitleConverter() sometimes did not update the title correctly.

(Grids) Fixed so that the line between week number and the days would not be painted any more if isShowWeekNumbers() returns false.

(Grids) Fixed so that TreeTable could get table cell updated event with correct column information while invoking DefaultExpandableRow#setValueAt(int). See the bug report here.

(Grids) Added protection code for NPE.

(Grids) Fixed the issue that firing table rows updated or cell updated events in original table model could not update UI if a FilterableTableModel is installed and FilterableTableModel#isFilteringPaused() returns true. See the bug report here.

(Charts) Fixed problem that caused the lazy renderer to fail after removeDrawables has been called.

(Charts) Fixes a bug in the drawing of x axis labels when text is rotated or used in a multi-chart context.

(Charts) lazily rendered charts can have shadows.

(Charts) Only draws the lazy chart image when lazy rendering active.

(Charts) Fixed a problem with the up triangle where one side was not being drawn in an outline.

(Charts) fixes problem with chart models with less than three points.

(Common) Fixed the issue that the arrow button of JideComboBox could get focus incorrectly.

(Common) guarded against adding nulls as a range.

(Common) Fixes a bug in recomputing min and max after a new range has been added to the combined range.

(Common) Fixed the issue that the proportion was incorrectly set to the first pane occupying all the space while removing the third pane of a JideSplitPane.

(Common) Added release number information on the popup dialog of evaluation package. See the bug report here.

(Component) Fixed the title pane not painted correctly when sliding direction is not SOUTH.

(Component) Fixed so that the "floating" menu item in the document's context menu will always float the document in a new window without respecting its previous floating state.

(Dashboard) Fixed a potential "divide by zero" exception if the visible column count happens to be zero. See the bug report here.

(Dashboard) Made the load process thread safe.

(Diff) Fixed the issue that moving lines from the left pane to the right pane selected the lines in the left pane.

(Diff) Fixed the issue that clicking on the right pane of difference other than delete could also delete the line.

(Diff) Fixed the issue that the different lines were painted with red and bold after comparing.

(Dock) Fixed the issue that right click on the side pane caused the autohidden dockable frame to show up incorrectly. See the bug report here.

(Dock) Fixed the issue that loading layout continuously would cause the floating frames not visible if isShowInitial() returns false.

(Dock) Fixed the issue that the floated frames could be invisible after undo/redo if DockingManager#isShowInitial() returns false.

(Dock) Fixed a regression since 2.8.3 that the menu inside the main frame of DockableHolder could not get focus while a floating frame gets focus and the floating container type is frame.

(Dock) Fixed the issue that loading initial layout may cause the show title bar flag not configurable. See the bug report here.

(Dock) Fixed a potential NPE issue.

(Dock) Fixed the regression in 2.9.3 that clicking the title of DockableFrame under the tab may cause flickering if the tab placement of FrameContainer is TOP. See the bug report here.

(Dock) Fixed the issue that an incorrect dockableFrameFloating event was fired while dragging a frame to a nested docking mangers while the inner one does not accept cross droping. See the bug report here.

(Dock) Fixed the NPE issue while DefaultDockingManager#dispose() is invoked the second time. See the bug report here.

(Editor) Fixed some shortcut keys will print out special char on Mac OSX.

(Editor) Fixed the issue that pressing CTR+C in an empty CodeEditor put a "null" string to the clipboard incorrectly.

(Editor) Fixed so that CodeEditor supports system selection to be copied out.

(Editor) Fixed the bug that default language definition for XMLTokenMarker is incorrect for the block comment.

(Example) Fixed the demo scrolling issue while adding more than four gadget components in one column.

(Example) Make ResizableGadgetComponent work with CollapsiblePaneSingleDashboardDemo.

(Data) Fixed so that changing page will stop the cell editing if a PageNavigationBar is installed on a JideTable.

(Dock) Fixed the issue that clicking on a non-selected tab in another FrameContainer caused the focus to switch to the current selected tab then the clicked tab which is redundant. See the bug report here.

(Dock) Added removeNotify() before dispose() to avoid an exception like "Can't dispose InputContext while it's active".

(Dock) Fixed so that the sensitive area will be searched from outside layer of the screen to inside. See the bug report here.

(Dock) Fixed the issue that new created ContainerContainer may have the original DockingManager other than the target DockingManager while dragging frame between DockingManager's. See the bug report here.

(Dock) Fixed the IllegalStateException while dragging a DockableFrame while setDockable(false).

(Dock) Deprecated the APIs for autoActivateFocusOwner due to new focus management mechanism in DefaultDockingManager. See the bug report here.

(Editor) Fixed the issue that click on the CodeEditor caused the cursor change position while the CodeEditor is empty and allow virtual space. See the bug report here.

(Editor) Fixed the issue that semicolon was duplicated if it was at the end of a line and a quote was input before it. See the bug report here.

(Example) Fixed the issue that the ALL_DEMO frame could not be shown by menu after hiding it. See the bug report here.

(Grids) Fixed the issue that clicking OK button in the popup dialog of AbstractComboBox didnot let the dialog return a correct result as RESULT_AFFIRMED.

(Grids) Fixed the issue that invoking AutoFilterBox#setTitleConverter() sometimes did not update the title correctly.

(Grids) Fixed the filtering issue if the table has different converters in a same column.

(Grids) Fixed the regression in 2.9.0 that AutoFilterTableHeader did not work well with GroupTable while AutoFilterTableHeader#setAllowMultipleValues(true). See the bug report here.

(Grids) Fixed the issue that a gap displays while TableScrollPane works with NestedTableHeader. See the bug report here.

(Grids) Fixed the issue that ungrouped columns between groups could be dragged inside the groups which messes the header painting. See the bug report here.

(Grids) Fixed the issue that firing table rows updated or cell updated events in original table model could not update UI if a FilterableTableModel is installed and FilterableTableModel#isFilteringPaused() returns true. See the bug report here.

(Grids) Fixed the issue that the expanded panel is not displayed after page down then page up operation if a HierarchicalTable works together with a PageNavigationBar.

(Grids) Fixed so that clicking the expand/collapse icon would not work in AggregateTable, TreeTable and HierarchicalTable while the table is disabled. See the bug report here.

(Grids) Fixed so that disabling HierarchicalTable would disable all its child components. See the bug report here.

(Grids) Fixed the issue that inserting a row between two expanded rows made the smaller expanded row collapsed incorrectly.

(Grids) Fixed the issue that inserting rows in an empty table did not trigger the calculation of row height even if JideTable#setRowAutoResize(true).

(Grids) Fixed the issue that JideTable could try to get tooltip text for its table header with a column index as -2 while the auto resize mode is AUTO_RESIZE_FILL. See the bug report here.

(Grids) Fixed the issue that each time initializing a LuceneFilterableTableModel caused the max clause configuration of BooleanQuery reset. See the bug report here.

(Grids) Changed the default value of QuickTreeFilterField#isHideEmptyParentNode() to true instead of false. See the bug report here.

(Grids) Fixed so that the 'hide nodes without children' menu item would be disabled if isMatchesLeafNodeOnly() returns false. See the bug report here.

(Grids) Made the SpinnerCellEditor respect the autoStopEditing flag. See the bug report here.

(Grids) Fixed the issue that TableUtils#setTablePreferenceByName() did not work correctly while the customer set a non-String column identifier. See the bug report here.

(Pivot) Fixed the issue that the utility methods in TableModelWrapperUtils could not work correctly with AggregateTableModel. See the bug report here.

(Pivot) Fixed so that AggregateTableModel#getColumnClass() could return correct class type. See the bug report here.

(Pivot) Fixed the issue that updating original table model could not update AggregateTable accordingly even if PivotDataModel#isAutoUpdate() returns true which is a regression since 2.9.0. See the bug report here.

(Pivot) Fixed the issue that exporting PivotTablePane to Csv file could not display the grand total and other subtotal cells correctly.

(Pivot) Fixed so that the hidden columns would not be visible in the exported CSV file. See the bug report here.

(Pivot) Fixed so that changing the column width by dragging between columns in header table would not select the cells in DataTable. See the bug report here.

(Pivot) Fixed so that the hidden columns would not be visible in the exported excel file. See the bug report here.

(Pivot) Fixed the issue that the values in HeaderTable of PivotTablePane were forced to convert to String while exporting to excel which is not necessary. See the bug report here.

(Pivot) Improved performance for row insertion/deleted/updated in original table model by firing CALCULATION_END_ONLY_RESULT_UPDATED instead of CALCULATION_END_WITH_STRUCTURE_CHANGED in many cases. See the bug report here.

(Pivot) Fixed an NPE issue while setRespectFieldPreferredWidth(true) then move all data fields to unassiged area.

(Pivot) Fixed the issue that the selection in the header table would be changed on data update if the selection is not on the leaf node. See the bug report here.

(Pivot) Fixed the issue that configuring fields made the hidden columns in row header table appear incorrectly. See the bug report here.

(Pivot) Fixed the regression in 2.9.2 that filtering in unassigned field area didn't update the addTo button correctly. See the bug report here.

(Pivot) Fixed the issue that adding hidden row fields then removing it didn't keep the original field width. See the bug report here.

Backward Compatibility

(Pivot) you would get compilation error if you ever override PivotDataModel#tableRowsInserted()/tableRowsDeleted()/tableRowsUpdated()/tableCellsUpdated(), please just change the return type. See the bug report here.

May 20, 2010 - 2.9.2 (Regular Release, changes from 2.9.1)

Enhancement Requests

(Action) Added a menu item for LookAndFeelCommandBar to restore the L&F to system default L&F and install the JIDE extension over it.

(Charts) Made it possible to set a point renderer or a line renderer on a per model basis. See the enhancement request here.

(Charts) Added a MaxBarWidth property to improve the appearance if there are very few bars (for example, 1).

(Charts) Legend class now uses weak references to Chart objects.

(Charts) Made it possible to specify whether marker objects should be in front of the chart models. See the enhancement request here.

(Charts) Made an AffineTransform available that includes the translation portion. Note that this should not be used with Time Series charts. See the enhancement request here.

(Dialogs) Added protected getResourceString method so that user can customize the string used by JavaStepsPane.

(Grids) Added DefaultGroupTableModel#setDisplaySeparateGroupColumn(boolean) to enable a new layout of GroupTable.

(Pivot) Fixed so that the customer could not hide the last column from the context menu of DataTable. See the enhancement request here.

(Pivot) Added property event firing mechanism for show grand total settings. See the enhancement request here.

(Pivot) Added "Show All Hidden Items" in PivotTablePane level to show all columns/values in the PivotTablePane. See the enhancement request here.

(Pivot) Added protection for AIOOBE while PivotTablePane#setHeaderSelectionMode(PivotConstants.HEADER_SELECTION_HEADER_TABLE_ONLY) is invoked. See the bug report here.

(Pivot) Fixed the issue that SingleColumn#setObjectGrouper() didn't change the column class of the SingleColumn which will cause painting issue. See the bug report here.

(Shortcut) Added CTRL+SHIFT+TAB into the context menu of ShortcutField. See the bug report here.

Backward Compatibility

(Dock) The interface DockableFrameListener added a new method to handle DOCKABLE_FRAME_TRANSFERRED event which may causes compilation error if the customer didn't use DockableFrameAdapter to create their DockableFrameListener. See the enhancement request here.

(Grids) Methods in Cacheable are changed. See the enhancement request here.

(Grids) Changed the default sorting behavior of GroupTable to SORTABLE_LEAFT_LEVEL. See the enhancement request here.

April 6, 2010 - 2.8.6 (Maintenance Release, changes from 2.8.5)

Enhancement Requests

(Charts) Made it possible to create a legend for categorical bar charts.

(Pivot) Made the components protected so that the customers could better customize the behavior of FieldSettingsPanel. See the enhancement request here.

(Shortcut) Provided createShortcutField() API so that it could be customized. See the enhancement request here.

(Common) Fixed the issue that closing a selected tab caused the next selected tab invisible in the tab area. See the bug report here.

(Common) Fixed a JideTabbedPane RTL painting issue while selecting the last tab.

(Common) Fixed color issues under high contrast theme on Windows.

(Common) Fixed the potential ConcurrentModificationException in StyledLabel. See the bug report here.

(Common) Fixed so that CheckBoxList work better with Aqua L&F. See the bug report here.

(Common) Fixed the stack overflow issue while programmatically making selection in CheckBoxTree. See the bug report here.

(Common) Fixed the regression since 2.8.2 that resizing the column width caused the filtering button invisible. See the bug report here.

(Common) Fixed the issue that showing popup menu which dynamically changed its size from bigger to smaller would show the popup from a wrong location.

(Common) Fixed the issue that adding a component after invoking JideSplitPane#setOneTouchExpandable(true) caused the component could not be hidden while collapsing it. See the bug report here.

(Common) Fixed the issue that the opaque property cannot be set to true any more after invoking JideSwingUtilities#setOpaqueRecursively(false). See the bug report here.

(Component) Fixed the issue that the location of the BalloonTip is not correct if it contains a JTextArea with setLineWrap(true). See the bug report here.

(Component) Add APIs to define the gap before title label component. See the bug report here.

(Component) Fixed the issue that updating closable property of DocumentComponent did not update the close button in UI immediately.

(Component) Fixed the issue that activating a floated document in a iconized JFrame could not show up the document.

(Dashboard) Provided an interface so that the customer could change the default behavior that every child components of GadgetPallete has Opaque property set to false. See the bug report here.

(Dock) Fixed the issue that JTable could scroll incorrectly while it resides in a nested docking frame.

(Dock) Fixed a regression since 2.8.1 that dragging a DockableFrame to tab to an existing FrameContainer could not make the dragged DockableFrame be active while setFloatingContainerType(FLOATING_CONTAINER_TYPE_FRAME). See the bug report here.

(Dock) Fixed the regression since 2.8.1 that focus could not be switched between two DockingManagers in the same DockingManagerGroup. See the bug report here.

(Dock) Fixed so that dragging DockableFrame to the tab area of the FrameContainer would tab the dragged DockableFrame to that FrameContainer. See the bug report here.

(Dock) Fixed the dragging issue while workspace is not visible and only two DockableFrame's are dragged around. See the bug report here.

(Dock) Fixed the issue that mouse over a inactive autoHideShowing frame in a nested DockingManager hierarchy system caused the frame disappear unexpectedly.

(Dock) Fixed the issue that loading layout into an active DockingManager may cause unavailable dockable frames shown out incorrectly if the frame was visible before loading layout.

(Dock) Fixed the issue that DockableFrame could be in autoHideShowing state while the side pane does not have its information.

(Dock) Fixed possible NPE when adding a frame with currentMode set unexpectly.

(Dock) Fixed the NPE issue while closing a floating DockableFrame which is a regression in 2.8.3(01292010).

(Dock) Added instance of check before casting the component to DockableHolder. See the bug report here.

(Dock) Fixed the frame doesn't tab with the existing floating frame when it is set unavailable then back to available. See the bug report here.

(Dock) Fixed workspace grabs focus when floating a DocumentComponent.

(Editor) Fixed so that pressing "DELETE" key after the end of a line when virtual space is allowed behaves correctly.

(Editor) Fixed Mac OS X to use LF as line break.

(Editor) Fixed the issue that pressing Backspace key in a virtual place after the line end deleted the last character of the line incorrectly.

(Editor) Fixed the issue that deleting a block in column selection model while selecting the block from right to left did not delete any character at all. See the bug report here.

(Editor) Fixed the issue that the string before ":" was parsed as LABEL incorrectly in CTokenMarker.

(Editor) Fixed the issue that MarkerArea extended its height to the horizontal scroll bar area of CodeEditor.

(Example) Fixed the issue that expand/collapse button icon didn't get updated while clicking on the title of the gadget component. See the bug report here.

(Example) Fixed the issue that the collapsed gadget still occupies the space as if it's expanding after loading Dashboard layout.

(Grids) Fixed the issue that the rows in different tables in TableScrollPane were not aligned correctly while exporting the TableScrollPane to excel if the TableScrollPane defines different nested table headers for different table.

(Grids) Fixed the painting issue while column 0 is being dragged and getAutoResizeMode() is AUTO_RESIZE_FILL.

(Grids) Improved the performance so that TableUtils#autoResizeRows() do not get unnecessary duplicated call on table data change event.

(Grids) Fixed so that Shift+Navigation Key will extend the current selection to the next navigable rows/columns. See the bug report here.

(Grids) Fixed so that the value list in QuickFilterPane displays the same as displayed in the filter targeting table.

(Grids) Fixed so that the sorting columns would be reset after firing table structure change event from SortableTableModel. See the bug report here.

(Grids) Fixed the issue so that wrapping a JoinTableModel over DatabaseTableModel would not create another SortableTableModel while creating a SortableTable.

(Grids) Fixed so that the customer could configure SortTableHeaderRenderer to not show the sort arrow. See the bug report here.

(Grids) Fixed so that TableScrollPane#getSelectedRow() could return correct values even in cell selection mode. See the bug report here.

(Pivot) Fixed so that HeaderTableModel#setExpansionState() could work. See the bug report here.

(Pivot) Fixed so that HeaderTable instead of HeaderTableModel provides the getValueAtInString() method to customize the summary or grand total cells.

(Grids) Added ColumnWidthTableModel to store column width settings in the table model so that the customer could customize its column appearance in a consistent way with CellStyel, Cell Span, etc.. See the enhancement request here.

(Grids) Added APIs for configurations for the selection behavior configuration while mouse clicking on the DayOfWeek label and WeekOfYear label. See the enhancement request here.

(Grids) Added GroupTableSearchable to make TableSearchable work better with GroupTable. See the enhancement request here.

(Grids) Exposed HssfTableScrollPaneUtils.exportToSheet() API for exporting TableScrollPane to excel and made it work with TreeTable. See the enhancement request here.

(Grids) Added group functionality while exporting TreeTable to excel. See the enhancement request here.

(Grids) Added getVerticalGridColor to JideTable so that user can customize the vertical grid color per column.

(Grids) Added API so that table selections would not be cleared and reset on collapsing/expanding scenario. See the enhancement request here.

(Grids) Added support to excel 2007 format export. See the enhancement request here.

Bug Fixes

(Action) Fixed the issue that CommandBarLayout didnot respect the minimum size of the menu items.

(Action) Fixed the issue that clicking on the parent menu item in the ContextMenu of DockableBar caused the popup menu invisible. See the bug report here.

(Charts) Fixed a concurrency issue while painting bar charts.

(Charts) Fixed a layout bug in horizontal charts that occurred when only one basy position on the y axis was used.

(Charts) Fixed a bug where points were painted in wrong position when using lazy rendering and a trailing x axis.

(Charts) Fixed a bug that meant that ChartLabels were at the top of the plottable region during animation.

(Charts) Addressed concurrentModification issue for animation.

(Charts) Improved memory behaviour of lazy rendering .

(Charts) Fixed a exception generated when the high-quality setting is used and the model contains a single value.

(Charts) Fixed a problem where setting the delegate to null caused a null pointer exception.

(Common) Fixed so that the customer could customize the expand/collapse icon easier. See the bug report here.

(Common) Fixed the issue that keyboard could not trigger the scroll of the JidePopupMenu.

(Common) Fixed so that the vertical line will not be painted while selecting the button if JideSplitButton#isAlwaysDropDown() returns true.

(Common) Fixed the issue that DateDayOfWeekGrouper returned null for Saturday. See the bug report here.

(Common) Fixed the issue that DateWeekOfMonthGrouper returned null for the dates at the 6th week. See the bug report here.

(Common) Fixed so that JideBoxLayout#isAlwaysLayout() returns default value as true to always layout the container even when the minimum size is not meeted at all.

(Common) Fixed so that the previous layout will be cleared when the minimum size of container is resized to a too small size when JideBoxLayout#isAlwaysLayout() returns false.

(Common) Fixed the issue that JidePopup keeps growing while popup again and again. See the bug report here.

(Common) Fixed the issue that JideScrollPane could not work well with Synthetica L&F. See the bug report here.

(Common) Fixed the issue that the view of SubColumnHeader is not synchronized correctly with the main table view. See the bug report here.

(Common) Fixed setDividerSize doesn't work if the panes are added already to JideSplitPane.

(Common) Fixed the issue that state change events were fired duplicatedly while invoking JideTabbedPane#insertTab(). See the bug report here.

(Common) Commented out a piece of unused code to fix the compiled inner class name issue. See the bug report here.

(Common) Fixed exception when updating the text of a text component that has Searchable installed. See the bug report here.

(Common) Fixed the issue that TableSearchable still worked on view index incorrectly while searching on multiple column indices. See the bug report here.

(Component) Fixed the issue that invoking CollapsiblePane#setCollapsibleOnTitleClick() caused the mouse release event consumed immediately which caused CollapsiblePangeGadget could not be dragged. See the bug report here.

(Component) Fixed the issue that the title text was truncated in CollapsiblePaneTitlePane while the text is long. See the bug report here.

(Component) Fixed the issue that CollapsiblePanes still paints its background even isOpaque() returns false. See the bug report here.

(Component) Fixed the issue that floating a document to an existing floating container didn't active the correct document.

(Component) Fixed the issue that docking a floated document sometimes kept the document in floating status.

(Dashboard) Fixed the cursor is wrong when toggle column resizable twice. See the bug report here.

(Dashboard) Fixed so that Dashboard#createNormalGadgetContainer() returns a JPanel with isOpaque() as false so that the customer could change the background of Dashboard easier. See the bug report here.

(Dashboard) Fixed the issue that GadgetManager#setAllowMultipleGadgetInstances(false) did not restrict the number of gadget instance correctly. See the bug report here.

(Dashboard) Fixed the issue that the ResizableGadgetComponent could not be resized after loading layout from xml files. See the bug report here.

(Data) Fixed the issue that DatabaseTableModel did not support convert MultipleValuesFilter to WHERE statement which makes it not work with AutoFilterTableHeader with setAllowMultipleValues(true).

(Data) Fixed AutoFilterTableHeader to support DatabaseTableModel. See the bug report here.

(Dialog) Fixed so that WizardDialog will use its locale to internationlize the buttons instead of using Locale#getDefault(). See the bug report here.

(Dock) Fixed the NPE issue if DockableFrame#setFrameIcon(null) is invoked and the dockable frame is autohidden.

(Dock) Fixed the issue that floating a maximized DockableFrame could result in docking that frame if the frame was floated before maximized.

(Dock) Fixed so that dragging dockable frame inside its parent FrameContainer would also check DockingManager#isDropAllowed() to keep consistence.

(Dock) Fixed the issue that showing a hidden frame after reset layout caused another hidden frame in the same area shown up incorrectly.

(Dock) Fixed the issue that Dockable frame is not able to be dragged after toggling auto-hide back and forth. See the bug report here.

(Dock) Fixed so that DockableFrame#isAvailable() would be respected while loading layout.

(Dock) Fixed so that showFrame() could show auto hidden frames as well. See the bug report here.

(Dock) Fixed so that floating frame container could be visible when the customer changes DockingManager#getContentContainer()'s visibility.

(Dock) Fixed the dancing window issue if DockableFrame#setTitleLabelCompoennt() is invoked and the title label set target to its parent.

(Dock) Added additional support so that framedialogcontainers support focus.

(Dock) Added a check to ensure that the window zorder was not 'repaired' when the floatingwindowtype was frame because always on top is not enforced and windows os is managing their zorder (unlike with dialog and window).

(Grids) Fixed the issue that QuickTableFilterField had some issues on searching while working with GroupTable. See the bug report here.

(Grids) Fixed the issue that QuickTableFilterField searched on incorrect columns after grouping/ungrouping a column in GroupTable. See the bug report here.

(Grids) Fixed the issue that filtering result could be incorrect if QuickTableFilterField#setWildcardEnabled(true). See the bug report here.

(Grids) Fixed the issue that QuickTreeFilterField did not work with JTree if the JTree's nodes are not instances of TreeNode. See the bug report here.

(Pivot) Fixed a potential ConcurrentModificationException in PivotDataModel. See the bug report here.

(Pivot) Fixed painting issue when PivotTablePane is in RTL orientation. See the bug report here.

Backward Compatibility

(Action) The painting of shrinked menu bar may be different than before. Please explicity invoke menuItem.setMinimumSize(menuItem.getPreferredSize()) to keep the original behavior..

(Dock) if the customer ever used DefaultDockingManager#getAllDockingManagers() and modified the list, the behavior will be changed since we will not return the actual list used inside at all. See the bug report here.

(Dock) If any customer has overrided shouldVetoShowing(), please revert the return result to make it work as before.. See the bug report here.

November 20, 2009 - 2.7.6 (Maintenance Release, changes from 2.7.5)

Enhancement Requests

(Grids) Added getVerticalGridColor to JideTable so that user can customize the vertical grid color per column.

(Grids) Added API so that table selections would not be cleared and reset on collapsing/expanding scenario. See the enhancement request here.

Bug Fixes

(Common) Fixed the issue that keyboard could not trigger the scroll of the JidePopupMenu.

(Common) Fixed the JDK5 compatibility issue in JidePoupMenu. See the bug report here.

(Common) Fixed the issue that JidePopup keeps growing while popup again and again. See the bug report here.

(Common) Fixed setDividerSize doesn't work if the panes are added already to JideSplitPane.

(Common) Commented out a piece of unused code to fix the compiled inner class name issue. See the bug report here.

(Common) Fixed exception when updating the text of a text component that has Searchable installed. See the bug report here.

(Common) Fixed the issue that TableSearchable still worked on view index incorrectly while searching on multiple column indices. See the bug report here.

(Component) Fixed the issue that the title text was truncated in CollapsiblePaneTitlePane while the text is long. See the bug report here.

(Component) Fixed the issue that floating a document to an existing floating container didn't active the correct document.

(Component) Fixed the issue that docking a floated document sometimes kept the document in floating status.

(Grids) Fixed the issue that QuickTableFilterField searched on incorrect columns after grouping/ungrouping a column in GroupTable. See the bug report here.

(Grids) Fixed the issue that filtering result could be incorrect if QuickTableFilterField#setWildcardEnabled(true). See the bug report here.

(Grids) Fixed the issue that setTablePreferenceByName(String, TableScrollPane, Boolean) did not work correctly while the column in row header table is hidden. See the bug report here.

(Pivot) Fixed a potential ConcurrentModificationException in PivotDataModel. See the bug report here.

Backward Compatibility

(Dock) if the customer ever used DefaultDockingManager#getAllDockingManagers() and modified the list, the behavior will be changed since we will not return the actual list used inside at all. See the bug report here.

November 3, 2009 - 2.8.0 (Regular Release, changes from 2.7.3)

New Product

(Charts) Introducing JIDE Charts.

New Components

(Grids) Added AutoFillTableViewport feature to paint the similar background in the blank area while the JTable contents cannot fill the entire Jviewport. You can setAutoResizeMode(JideTable.AUTO_RESIZE_FILL) to enable it..

(Grids) Added AutoFilterUtils to allow multiple column filter working together with NestedTableHeader.

Enhancement Requests

(Charts) Made it possible to specify whether an outline should always be shown for pie charts.

(Charts) Added a new (simple) labeling style for pie charts that means the pie chart can occupy less space.

(Charts) Made it possible to specify the outline color.

(Charts) Can now specify whether to always show outlines for bar charts.

(Charts) Refactored so the width of the selection outline is held in one place only.

(Charts) Made it possible to make the axes completely invisible.

(Charts) The appearance of ChartLabels and ChartImages is now also animated.

(Charts) Improved the animation.

(Charts) AnimateOnShow can now be switched off.

(Charts) Can now use rollover selection and double-click effects on XY point charts.

(Charts) Changed the visuals of bar charts and pie charts so that selection is indicated by a border and rollover by a brighter colour. I think this will be a better fit for user expectations.

(Charts) Textured fills now possible for bars and pie segments.

(Charts) Highlights are now ChartStyles rather than PointStyles.

(Charts) Now supports animation.

(Charts) First experiments with animation.

(Charts) Refactoring to distinguish between rollover and focus.

(Charts) Can now dynamically switch selection/rollover and double-click action for bar and pie charts. See ConfigurableBarChartDemo.

(Charts) More refactoring to ease use of selection/rollover for bar and pie charts.

(Charts) Minor refactoring to prepare for concept of focus point.

(Charts) Added peak line and marker region test code.

(Charts) Refactoring to move to ListSelectionModel for selecting points/bars/segments.

(Charts) Refactoring to remove some compiler warnings.

(Charts) moved towards using a ListSelectionModel for the selection of bars points and segments.

(Charts) when a bar is selected you can easily discover the chart point and corresponding model .

(Charts) Rollover and Selection Support for charts plus updated Category to support a category name.

(Charts) Added N-dimensional point support at the model level.

(Charts) Improved the layout of the labels.

(Charts) Improved layout for labels when large number of segments or small segments close together.

(Charts) Made it possible to restrict panning to just horizontal or vertical orientation.

(Charts) Made it possible to set the diameter of a pie chart.

(Charts) It is now possible to customize the labels for segments of a pie chart.

(Grids) Added the feature that clicking on week label or week number label to select the entire column or row of dates. See the enhancement request here.

(Grids) Improved so that table selections can be persisted even the selected rows were filtered by a filter criteria. See the enhancement request here.

(Grids) Enabled the customer to customize TableColumnChooserDialog while choosing "More..." menu item in TableColumnChooserPopupMenu. See the enhancement request here.

(Grids) Added APIs to retrieve the fields in TableScrollPane#TablePosition class. See the enhancement request here.

(Pivot) Provided APIs to customize the context menu while right clicking on the cells of AggregateTable. See the enhancement request here.

(Pivot) Added the feature so that adding new column in CalculatedTableModel then firing table structure change event could put the new added field into the unassigned field area in PivotTablePane. See the enhancement request here.

(Charts) Fixed problem where only one ChartModel could use rollover or selection per chart.

(Charts) addressed an issue where the chart was not always updating at the end of an animation sequence.

(Charts) Forgot to add ChartFocusListener class.

(Charts) Drawables are now always painted on top of other elements regardless of whether shadows are visible.

(Charts) Fixed a problem with the labelling of the x axis .

(Charts) Removed assertion that disallowed resetting highlight.

(Charts) Fixed erroneous assertion and made sure tooltip text nulled when mouse not over point.

(Charts) code assumed use of ChartPoint where Chartable interface should have been used.

(Charts) Forgot to add new test class.

(Charts) Fixed exception when a model has no points.

(Charts) Corrected the logic on intensify2.

(Charts) DefaultChartModel no longer auto-sorts points as it causes problems for cyclic models. Only one highlight is now supported by Highlightable as supporting many will only pose more questions than it solves about how to deal with multiple highlights. This is possible now because rollover and selection are dealt with elsewhere..

(Charts) Fixed an update problem and removed an ugly line that appeared in the rendering of pie charts with the DefaultPieSegmentRenderer.

(Charts) Fixed a bug in pie segment hit testing where the offset due to explosion effect was not taken into account .

(Charts) Fixed a problem where legend did not initially show the rendered ChartModel style.

(Charts) Minor change to ensure that the chart font is used when rendering labels.

(Charts) Fixed a buglet where the renderer did not check whether it should render an outline for selected segments.

(Charts) Improved the robustness of the label positioning under resizing.

(Charts) Fixed a problem where a simple get() did not retrieve from the sorted list. Added unit test. Also allowed natural sort order instead of insisting on using a comparator..

(Common) Fixed the JDK5 compatibility issue in JidePoupMenu. See the bug report here.

(Common) Fixed the regression at 2.7.2 that JidePopupMenu does not display an arrow button to browse more menu items if it has too many menu items to fit in the screen. See the bug report here.

(Common) Fixed the issue that JideSplitButton always layout the text as "..." since 2.6.4.

(Common) Fixed the text truncated issue in the tab list popup menu while a tab in JideTabbedPane has a very long name that exceeds the size of the screen. See the bug report here.

(Common) Fixed the issue that pressing ENTER key could not active the selected tab while tab list popup menu is triggered. See the bug report here.

(Common) Fixed the issue that selecting a tab by popup cannot let the component inside the tab get focus correctly. See the bug report here.

(Common) Fixed the painting issue for Xerto menu on RTL scenario.

(Common) Fixed the performance issue while batch selecting nodes in CheckBoxTree in or not in digIn mode.

(Common) Fixed the NPE issue while DefaultArrayConverter is trying to convert an input string which contains only spaces. See the bug report here.

(Common) Made HeaderBox extends JideButton so that its background at rollover or disable state could be configured. See the bug report here.

(Common) Added a protection in JideBoxLayout so that it can layout correctly even if the customer set preferred size smaller than minimum size. See the bug report here.

(Common) Fixed the divider is drawn at the wrong location when it is inside a JScrollPane.

(Common) Added FontUtils to improve the performance and memory usage of Font#deriveFont().

(Common) Provided an API to disable the "jump" feature in JidePopup which makes the popup back to its original location. See the enhancement request here.

(Dashboard) Added drag and scroll feature in Dashboard. See the enhancement request here.

(Editor) Added isTabAlignment() API to control the behavior while pressing TAB key. See the enhancement request here.

(Grids) Added a flag to allow the cell shows normal font color even the table is disabled. See the enhancement request here.

(Grids) Added APIs so that you can choose change the style of QuickFilterField while no matching record found. See the enhancement request here.

(Pivot) Improved so that overriding HeaderTableModel#getValueAtInString() could customize the displayed string in rowHeaderTable and columnHeaderTable in PivotTablePane and AggregateTable. See the enhancement request here.

Bug Fixes

(Action) Made DockableBarContainer public.

(Common) Fixed the issue that BigDecimalConverter could not convert the input string to a valid BigDecimal instance. See the bug report here.

(Common) Fixed the issue that set Locale to da_DK did not use the correct grouping and point character. See the bug report here.

(Common) Fix possible exception when view component is very large resulting in a very small scale which gave 0 width/height for the buffered image..

(Common) Fixed the issue that firing table model events cleared current table selections even when nothing was input in the SearchableBar to search. See the bug report here.

(Common) Fixed the DividedByZero exception in TableSearchable while table.getColumnCount() == 0 and TableSearchable.setMainIndex(-1). See the bug report here.

(Components) Fixed the previously hidden floating container is shown after loading the layout.

(Dashboard) Fixed the issue that after setColumnResizable(false) the cursor would still change to resizable cursor which is confusing. See the bug report here.

(Data) Fixed the issue that update a row which is not in current page in DefaultPageTableModel caused incorrect table structure change event.

(Dock) Fixed the NPE issue after removing an active frame then disposing it. See the bug report here.

(Pivot) Fixed so that AggregateTable#aggregate() after PivotField#setTitle() will show the new title immediately even the aggregate columns have no change. See the bug report here.

(Pivot) Fixed so that the user could customize the XML file via callback. See the bug report here.

(Pivot) Fixed the issue that saving wrong persistence after hiding some columns by set its field to unassigned and grouping one column. See the bug report here.

(Pivot) Fixed so that the field still can be hidden even PivotTablePane#setHideFieldOnDraggingOut(false) when the customer drags a field to unassigned field panel. See the bug report here.

(Pivot) Fixed the NPE issue while hiding a aggregated column with subtotal in AggregateTable. See the bug report here.

(pivot) Fixed the issue that adding a raw data which meet the filter criteria however did not exist in the original table in a filtered PivotTablePane cannot show up the new added data immediately. See the bug report here.

August 26, 2009 - 2.7.2

New Product

(Charts) Beta release of a new product - JIDE Charts.

Enhancement Requests

(Common) Added new OverlayPasswordField component. See the enhancement request here.

(Dashboard) Added getColumnIndex and getRowIndex API to get row/column index of a GadgetComponent inside a Dashboard. See the enhancement request here.

(Dashboard) Added allowDragOutside flag in GadgetManager so that the customer can choose the behavior while mouse is outside of the Dashboard.

(Dialog) Made TipsOfTheDayDialog work more friendly in Applet. See the enhancement request here.

(Dialog) Fixed the issue that the preferred size of GadgetContainer could be set incorrectly while loading from pre-saved documents.

(Dock) Fixed the issue that the floating frame size gets larger and larger on hide/show pair of method. See the bug report here.

(Dock) Fixed the issue that the bounds of the main frame was reset unexpectedly when it has a nested docking manager. See the bug report here.

(Dock) Fixed the NPE issue while invoking setHidable() in a DockingManager with no floating frame. See the bug report here.

(Dock) Removed unnecessary logger while logger is turned off in DefaultDockingManager.

(Dock) Fixed the painting issue while docking an autoHideable frame in RTL orientation.

(Dock) Fixed the issue that sometimes loading layout did not restore correct size of the frames. See the bug report here.

(Dock) Fixed the issue that loading layout sometimes made the docked frame bigger. See the bug report here.

(Dock) Ignore setLayout call on DockableHolderPanel.

(Editor) Fixed the issue that Ctrl+Left/Right did not scroll the window horizontally.

(Editor) Fixed the issue that Ctrl+Right could not make the caret go to the next line.

(Editor) Fixed the issue that underscore was not treated as part of a word by default.

(Editor) Fixed the issue that visible offset is not consistent with the model offset while clicking on the right of the end of a line.

(Editor) Fixed so that overwrite mode works as normal editors do.

(Example) Fixed the example issue to demonstrate how Chevron can work well with ListComboBox. See the bug report here.

(Grids) Fixed the issue that selectedItemReminder did not get updated while firing the item state change event.

(Grids) Fixed the issue that invoking AbstractComboBox#setSelectedItem(Object) did not fire the item state change events.

(Grids) Added NPE check for null children list. See the bug report here.

(Grids) Fixed an internal exception although it get caughted internally.

(Grids) Fixed the issue that tree line could be painted out of the bounds of its column.

(Grids) Fixed a tree line painting issue.

(Grids) Improved the performance to act on table model change events for CellSpanTable while setRowAutoResizes(true).

(Grids) Made the CalendarViewer leave the last row blank if there is no day label to display.

(Grids) Turn the week number's foreground to gray while there is no day to show in that week row in DateChooserPanel.

(Grids) Fixed so that right mouse click will not change the selection in DateChooserPanel.

(Grids) Fixed the IAE issue in DateComboBox if the customer input any invalid value in the editor then popup the date chooser panel then cancel the popup.

(Grids) Fixed the exception while cancelling the popuped ValueEditor list after inputing error values in the ValueEditor of CustomFilterEditorDialog. See the bug report here.

(Grids) Fixed the issue that date cell is not visible while mouse clicking on the cell in AggregateTableDemo while isCellEditable() returns false. See the bug report here.

(Grids) Fixed the issue that new inserted row cannot show up in a filtered table if the customer wraps a FilterableTreeTableModel over a non_TreeTablemodel.

(Grids) Fixed the issue that set cell renderer to column 0 in GroupTable causes the group row painted incorrectly.

(Grids) Fixed the painting issue on HierarchicalTable if the updated cell does not meet the pre-configured filtering criteria any more.

(Grids) Fixed the issue that editable JComboBox based cell editor in a JideTable could not get focus immediately on key pressing even setAlwaysRequestFocusForEditor(true). See the bug report here.

(Grids) Fixed setShowNonEditable to show name column as disabled doesn't always work.

(Grids) Fixed the issue that the sorting is incorrect if SortableTableModel#setAlwaysUseComparator(true). See the bug report here.

(Grids) Fixed the issue that tableRowsUpdated event caused the SortableTable resorted even setSortingPaused(true).

(Grids) Fixed the NPE issue while invoking TableColumnGroup#getChildren() before adding the columnGroup to a valid table header.

(Grids) Fixed so that left/right arrow key will trigger collapse/expand action in TreeTable if needed while the TreeTable resides in a TableScrollPane. See the bug report here.

(Grids) Fixed the performance issue while dynamically removing and showing columns in a TableScrollPane with ColumnFooterTable defined. See the bug report here.

(Grids) Fixed the issue that clicking an invisible expand/collapse icon sometimes still can change the expand status of the row.

(Grids) Fixed the cell painting issue of the first column in TreeTable while it works on Substance L&F. See the bug report here.

(Pivot) Fixed the issue that invocation to AggregateTable#aggregate() caused the last column lost after hiding any non-aggregated column. See the bug report here.

(Pivot) Fixed the issue that loading a saved layout with no aggregated column kept the existing aggregated column state incorrectly. See the bug report here.

(Pivot) Fixed so that change summary in the context menu of AggregateTable changes grand total summary type as well. See the bug report here.

(Pivot) Fixed the issue that cell value will be null if PivotDataModel#setShowGrandTotalForColumn(true) for AggregateTable.

Backward Compatible Issues

(Grids) It could break backward compatibility if the user tried to impelment DateSelectionModel directly..

(Dashboard) Backward Compatibility:Load Dashboard cannot restore the width of each GadgetContainer any more..

August 4, 2009 - 2.7.1

Enhancement Requests

(Dock) Added DOUBLE_CLICK_CUSTOM to DockingManager#setDoubleClickAction so that user can call DockableFrame#setCustomDoubleClickAction to define one's own action when the mouse is double clicked on the title pane.

(Editor) Fixed the issue that explicit call to CodeEditor#setMarkerModel() causes the MarkerEye cannot get updated any more.

(Editor) Fixed the issue that the selection on the marked text is invisible.

(Editor) Fixed the issue that Label is not highlighted correctly if there is any space character in the line before the label. See the bug report here.

(Editor) Fixed the issue that the prompt dialog shows outside of the CodeEditor if the matching word is in the bottom of the CodeEditor.

(Editor) Added mnemonics for buttons in the repace prompt dialog in CodedEditor.

(Editor) Fixed the issue that CodeEditor cannot find correct matching bracket position if there are comments or literal strings which contain the brackets between the bracket pair. See the bug report here.

(Example) Fixed the issue that JideDemos had complie error while in JDK 1.5 or lower.

(Grid) Fixed shift-tab doesn't work correctly in PropertyTable.

(Grids) Fixed so that AbstractComboBox always respect the color setting in UIDefaults for "ComboBox.xxx". See the bug report here.

(Grids) Fixed the regression in 2.7.0 that adding new rows after a row which is expanded caused incorrect row insertion and painting in TreeTable.

(Grids) Fixed the issue that mouse clicking event was consumed in AutoFilterTableHeader. See the bug report here.

(Grids) Fixed the issue that hiding a column in GroupTable caused the tree line under the group row invisible.

(Grids) Fixed the issue that navigating color buttons in ColorChooserPanel lost the current alpha value if ColorComboBox#isUseAlphaColorButtons returns false.

(Grids) Fixed the issue that custom filter is broken in release 2.7.0.

(Grids) Fixed the issue that the color of the date lable in CalendarViewer is not painted correctly which is a regression in 2.7.0.

(Grids) Fixed the incorrect selection behavior in DateChooserPanel.

(Grids) Fixed so that DefaultGroupTableModel will not send out table structure change event on group/ungroup operation while setKeepColumnOrder(true) in GroupTable. See the bug report here.

(Grids) Fixed the issue that the internal row structure is incorrect at no grouping scenario which may cause painting issue. See the bug report here.

(Grids) Fixed the CCE issue while implementing TableRowFilter at a TreeTable.

(Grids) Fixed the issue that deleting the expanded row in sorted HierarchicalTable with optimize as true and autoResort as false could not remove the child component.

(Grids) Fixed the issue that inserting a row right before the expanded row in the inner most table model caused incorrect expand/collapse status update.

(Grids) Fixed the issue that invocation of JideTable#setModel() didn't recreate rowHeights instance if the table has various row height.

(Grids) Fixed the issue that disable the JideTable didn't remove the active editor which is a behavior inherited from JTable. See the bug report here.

(Example) Improved CollapsiblePaneDashboardDemo and CollapsiblePaneDashboardDocumentPaneDemo to allow the gadget component resizable. See the enhancement request here.

(Grids) Added previous/next year buttons at DateChooserPanel. See the enhancement request here.

(Grids) Added getResourceString() API for all menu customizer and TableColumnChooserDialog. See the enhancement request here.

(Grids) Added APIs so that TableComboBoxSearchable can search on designated columns or all columns like TableSearchable do. See the enhancement request here.

(Pivot) Added show grand total menu items in AggregateTablePopupMenuCustomizer.

Bug Fixes

(Common) Fixed the issue that ComboBoxSearchable hide the popup window incorrectly if setShowPopupDuringSearching(false). See the bug report here.

(Common) Added "jide.useImageIO" system to disable the usage of ImageIO when loading image files in IconsFactory. See the bug report here.

(Common) Fixed IllegalComponentStateException in JidePopup.

(Common) Added a protection so that the divider image in JideSplitPane will disappear while mouse releasing on the divider dragging scenario. See the bug report here.

(Common) Fixed possible IAE in drawShadow in JideSwingUtilities when the width or height parameter is 0.

(Common) Fixed a regression in JideTabbedPane where the tab text is clipped.

(Common) Fixed the issue that NullCheckBox could enter endless loop while working in Substance look and feel. See the bug report here.

(Dialog) Made AbstractWizardPage#setHelpText() easy to use. See the bug report here.

(Dialogs) Fixed the wizard graphics is not displayed correctly for the first time.

(Dock) Fixed a race condition that could occur with focus when trying to activateframes in a frame event when using multiple docking managers across multiple windows.

(Dock) Fixed a problem where closing popups would activate the frame that was open when the popup was initiated rather than the frame that belongs to the popup..

(Dock) Fixed a problem where FrameFloatingContainers would not activate. This breaks the swing workaround where popups don't always restore focus correctly..

(Dock) Fixed a defect where setting contentpane would always cause the default focus component to get focus rather than the last focus component..

(Editor) Fixed the issue that sometimes the caret position is not computed correctly while plenty of TAB key is used in the document. See the bug report here.

(Editor) Use INFO level when logging in DelayUndoManager. See the bug report here.

(Grids) Fixed the issue that entering characters in QuickTableFilterField to apply the filter to designated column did not set the tooltip of the column correctly if AutoFilterTableHeader.setShowFilterNameAsToolTip(true). See the bug report here.

(Grids) Fixed the runtime class cast exception while the custom filter is expecting a date type however the input is not. See the bug report here.

(Grids) Fixed the NPE issue while the custom filter is "begin with" and the value is blank. See the bug report here.

(Grids) Fixed the next/prev month icons are not painted correctly in DateChooserPanel.

(Grids) Fixed an AIOOBE issue in DefaultTableModelWrapper while deleting all rows one by one in a SortableTableModel with isOptimize() is true and isAutoResort() is false.

(Grids) Fixed the issue that clicking "move to right" button causes wrong selection in the original list if there is a selection in the selected list.

(Grids) Fixed the issue that clicking "move to right" button causes order reversed in the selected list if there are multiple selections in the original list.

(Grids) Improved performance for TreeTableModel#addRows().

(Grids) Fixed the NPE issue while selecting the last node while CheckBoxTree implements FilterableCheckBoxTreeSelectionModel. See the bug report here.

(Grids) Fixed the issue that DualList displayed empty list while the element count of its original model is bigger than 100.

(Grids) Improved the performance for FilterableTableModel so that getValueAt() will not be invoked for unfiltered columns.

(Grids) Fixed the AIOOBE issue while removing rows in sorted GroupTable. See the bug report here.

(Grids) Fixed the issue that JideOptionPane did not layout correctly if it works with MultilineLabel in Message or Details area. See the bug report here.

(Grids) Improved performance for table change events processing.

(Grids) Fixed the issue that resizing column caused the row height increasing continuously in TableScrollPane scenario with setRowAutoResizes(true). See the bug report here.

(Grids) Made the behavior of ListComboBox consistent with JComboBox to fire item change events. See the bug report here.

(Grids) Made LuceneFilterableTableModel use column identifier as its field so that the displaying column name can have space.

(Grids) Fixed the serialization issue in QuickTableFilterField. See the bug report here.

(Grids) Fixed the issue that clearing the input in popup panel of StringArrayComboBox causes class cast exception. See the bug report here.

(Grids) Fixed the issue that setTablePreferenceByName() always puts the new columns which are never in the saved preference string to the end of the table. This issue could cause NestedTableHeader corrupted on high volume hide/show and get/setTablePreferenceByName scenario. See the bug report here.

(Grids) Fixed the issue that the menu item to hide the only column in RowHeaderTable or RowFooterTable in TableScrollPane was disabled incorrectly. See the bug report here.

(Grids) Fixed the issue that showing column in other tables than the table the mouse is clicking in TableScrollPane did not really show the column. See the bug report here.

(Grids) Added an AIOOBE protection for TableUtils#synchronizeTableColumn() scenario. See the bug report here.

(Grids) Fixed the issue that resizing the width of the MainTable did not synchronize the width of the footer table in TableScrollPane if the auto resize mode of MainTable is not JTable.AUTO_RESIZE_OFF.

(Grids) Improved the performance to paint the tree line of TreeTable.

(Pivot) Fixed the issue that hiding the last column in AggregateTable then grouping/ungrouping any column caused the hidden column disappear forever.

(Pivot) Fixed so that AggregateTable can have different PivotField with the same title name.

(Pivot) Fixed the issue that AggregateTablePersistenceUtils can not load data correctly if the underline PivotField definition was changed. See the bug report here.

(Pivot) Fixed the issue that PivotDataModel#getDataAt() returns incorrect value in AggregateTable scenario with no column aggregated. See the bug report here.

(Pivot) Fixed the issue that headerTable and dataTable could have selections simultaneously after dataTable#setNonContiguousCellSelection(false) in PivotTablePane. See the bug report here.

(Pivot) Fixed the issue that clicking header to select entire row could not select the row if DataTable in PivotTablePane set nonContiguousSelection to false. See the bug report here.

(Pivot) Fixed so that PivotField will take the unique identifier in TableModel as its name which should be unique.

Backward Compatible Issues

(Dashboard) If you used Dashboard#getComponent(int) to get GadgetContainer, your code will be broken..

(Grids) Added notifyChildrenInserted() and other methods in interface Expandable which could break some codes if you implement Expandable directly.

(Pivot) If you have an AggregateTable(Pane) with one field which has a different title with its name and try to use setTablePreferenceByName(), your code could be broken.

June 29, 2009 - 2.6.7

New Components

(Grids) Added ShrinkSearchableSupport for GroupList. See the enhancement request here.

(Dock) Added a check to not start dragging with a simple click if the tab strip is editing.

(Dock) Fixed the preferred size is not respected when floating a dockable frame. See the bug report here.

(Dock) Fixed an NPE issue in SlidingOverFrameContainer. See the bug report here.

(Grids) Fixed the issue that filtering did not release the cell editor of the table. See the bug report here.

(Grids) Fixed the issue that wrapping a cachedTableModel under AggregateTableModel will causes error converter context for the SingleColumn defined in CalculatedTableModel. See the bug report here.

(Grids) Changed the method signature from using tableModel to use table. This change will break your code. Please update your code according to use table.getModel() to get the model. Please also note, the row and column index are the index as in the table.

(Grids) Fixed the issue that deleting rows in PagedTable did not refresh the row display correctly.

(Grids) Fixed the issue that "match exactly" in QuickTableFilterField did not generate correct filtering result. See the bug report here.

(Grids) Fixed the issue that hiding columns in row header table of TableScrollPane may cause a gap between the row header table and the main table. See the bug report here.

(Grids) Fixed the painting issue while hiding a column in a table which has NestedTableHeader and has another column with the same header value with the hidden column.

(Grids) Fixed the issue that setTablePreferenceByName recreated the TableColumn instance which may causes incorrect TableColumnGroup and CellRenderer. See the bug report here.

(Pivot) Fixed the issue that sorting an unfilterable row fields made the height of the FieldBox changed unexpectedly. See the bug report here.

(Pivot) Fixed the painting issue that a gap existed between rowHeaderTable and dataTable when no row fields defined while initializing PivotTablePane.

(Pivot) Fixed the issue that column width in AggregateTable/AggregateTablePane could be reset unexpectedly after collapsing or expanding a column/node if there is only one aggregated column. See the bug report here.

(Pivot) Fixed the issue that new columns added in ColumnHeaderTable by inserting data in original table model does not respect the preferred width of the corresponding PivotField. See the bug report here.

(Pivot) Fixed the issue that invoking PivotTablePane#autoResizeAllColumns right after the PivotTablePane is initialized did not really auto resize the pivotTablePane promptly. See the bug report here.

Backward Compatible Issues

(Grids) The cell selection will go to next line after press enter to finish editing which is different with JTable. To keep JTable behavior, please invoke setAlwaysRequestFocusForEditor(true).. See the bug report here.

June 1, 2009 - 2.6.5

Bug Fixes

(Common) Catch HeadlessException in JideCursor.

(Component) Fixed the issue that removing the last tab in the bottom button panel of OutlookTabbedPane causes incorrect painting of the removed tab. See the bug report here.

(Dock) Fixed floating frame size changes while dragging.

(Dock) Fixed floatingContainerCustomer doesn't work as expected when using decoratedFloatingContainer.

(Editor) Fixed the incorrect painting issue that the description of the folding span can not show up. See the bug report here.

(Grdis) Fixed the issue that deleting rows in a sortable table with isOptimize() as true and isAutoResort() as false caused unexpected resort action AutoFilterTreeTableDemo, set optimize to true, autoresort to false, default sort option to ROOT, then expand and collapse.

(Grids) Fixed the threading issue while the customer put CachedTableModel#cacheIt() int a working thread. See the bug report here.

(Grids) Polished the painting for ColorComboBox.

(Grids) Fixed the issue that inserting rows at row index 0 in a filtered TreeTable then expanding the parent node may cause the node disappear if there are two filters on different columns (disappear only when the parent matchs only one filter and one of its children matchs only another filter).

(Grids) Fixed the issue that adding new rows may cause AIOOBE after sorting and filtering while isOptimize is true and isAutoResort is false and isKeepParent is true (exception only when it tries to show up a filtered parent due to the new added rows).

(Grids) Fixed the issue that expanding a node may causes incorrect painting after sorting while isOptimize is true and isAutoResort is false.

(Grids) Improved the performance for selection persistence mechanism in JideTable while isNonContiguousCellSelection is true.

(Pivot) Added the feature that click on expand/collapse button in AggregateTable would not select the cell. See the enhancement request here.

(Pivot) Added the feature that click on expand/collapse button in PivotTablePane would not select the header cell. See the enhancement request here.

(Pivot) Fixed the divided by zero issue while no data fields present in a PivotTablePane. See the bug report here.

(Pivot) Fixed the issue that column header table did not hide the deleted column key while all records with that key in the underlying table model are deleted.

(Pivot) Added header selection persistence for PivotTablePane.

(Pivot) Adjusted the context menu for header table in PivotTablePane so that it could be more clear in header selection mode.

(Pivot) Fixed the issue that "filter" in header table context menu did not support non contiguous selection. See the bug report here.

(Pivot) Fixed the issue that "clear filter" in header table context menu cannot hide the filter icon in the corresponding field box. See the bug report here.

(Pivot) Improved the respectFieldPreferredWidth feature so that the flag is considered only when initialization or field updating. See the bug report here.

(Pivot) Seperated plainTableHeader and headerSelectionMode flag so that the customer can select header table cells in plain table header scenario. See the enhancement request here.

(Pivot) Provided saveSelection() and loadSelection() API at PivotTablePane so that the customer can achieve selection persistence feature by adding the method invoke in certain place. Especially for original table model changed scenario.. See the enhancement request here.

(Grids) Fixed the issue that changing headerValue of TableColumn in NestedTableHeader causes painting error. See the bug report here.

(Grids) Fixed the issue that cursor will change to resize cursor while the mouse points to the edge between the first column and the second column in TableScrollPane. See the bug report here.

(Grids) Fixed the issue that TableComboBoxCellEditor did not work. See the bug report here.

(Grids) Fixed the issue that auto resizing all columns did not consider reserving position for sorting icon on the header. See the bug report here.

(Grids) Fixed the one pixel painting issue in TreeTable lines. See the bug report here.

(Pivot) Fixed the issue that column order could be wrong while grouping/ungrouping in AggregateTablePane after invoking AggregateTablePane#setTableModel(). See the bug report here.

(Pivot) Modified the description of the expand/collapse item for HeaderTable. See the bug report here.

(Pivot) Fixed the issue that subtotal was displayed in reverse order while PivotDataModel#setShowSubtotalAsChild(true) and PivotField#setSubtotalLocation(PivotField#LOCATION_BEFORE). See the bug report here.

(Pivot) Fixed the issue that getValueAtInString returns null for Grand Total Value. See the bug report here.

(Pivot) Fixed the issue that changing summary in AggregateTable cannot persist the expansion state. See the bug report here.

(Pivot) Fixed the issue so that the customer is able to override PivotDataModel#creatRowHeaderTableModel and PivotDataModel#creatColumnHeaderTableModel. See the bug report here.

(Pivot) Adjusted the intermediate area index while adding a field to the last of the designated area. See the enhancement request here.

Bug Fixes

(Common) Fixed an issue where commit due to focuslost would not put focus in component who had focus when editing started..

(Common) Do not delegate HOME/END key in AbstractListIntelliHints method and delegate CTRL-HOME/END and CTRL-PAGEUP/DOWN isntead.

(Common) Added Export-Package for jide-common.jar. See the bug report here.

(Common) Fixed split button doesn't work if it is on the hidden component's popup menu of a command bar.

(Common) Fixed the tab line painted outside the JideTabbedPane. See the bug report here.

(Common) Added an option to use UIDefault "JideTabbedPane.gradientTabArea" or client property "JideTabbedPane.gradientTabArea" to decide if the tab area background should be painted in gradient under Office2003 style. See the bug report here.

(Common) Fixed NoClassDefException when using xml persistence on JDK5 and above when xerces.jar is not in class path.

(Component) Fixed the preferred width is wrong for CollapsiblePane. See the bug report here.

(Component) Fixed the issue that docking a floating document causes multipel document group in DashboardDocumentPane.

(Component) Fixed the issue that load button in CollPaneDocumentPaneDemo clears the gadgets from the dashboards.

(Dialogs) Fixed the source of the next button becomes the page instead of the button.

(Dock) Fixed the issue that dockingManagers were not deactivating properly when another dockingmanager was set to active..

(Dock) Fixed nothing is shown after ugprading from earlier releases to 2.6.1 when a JFrame or a DockableFrame is passed in as the content container for DefaultDockingManager or DefaultDockableBarManager's constructor. See the bug report here.

(Dock) Fixed an issue where autoshowing frames would not hide.

(Dock) Removed a flicker on hiding tabs and added focus logic that would restore focus if tabs were add/removed while focus was in another window..

(Dock) Fixed a null pointer exception trying to toString a dockableFrame before it was added to a dockingmanager.

(Dock) Fixed the issue so that we would not requestFocus if the last focused component is no longer inside the workspace or dockable frame.

(Dock) Fixed a regression that dragging the empty tab area doesn't drag the whole tabbed pane in the recent releases. See the bug report here.

(Dock) Moves firing frame hidden after we added it to the hidden frame list.

(Dock) Fixed tab order issue and active frame is not kept issue when loading layout in Docking Framework. See the bug report here.

(Dock) Fixed an issue where mouseevents can be reordered. See the bug report here.

(Dock) Ensured the the close button on the tab honored the ishidable flag of the docking manager.

(Editor) Fixed the initial color does not change issue if invoke CodeEditor#setText() later than CodeEditor#setTokenMarker(). See the bug report here.

(Grids) Fixed the NPE issue if the program listen to PopupMenuEvent and update list data of the ComboBox in popupMenuWillBecomeVisible() by adding a flag isHidePopupOnListDataChanged() in AbstractComboBox. See the bug report here.

(Grids) Fixed the issue so that we would not use the combobox button on FieldBox and AutoFilterBox on Aqua L&F.

(Grids) Fixed the issue that dragging nestedheader doesn't work if the original header spans more than one rows.

(Grids) Fixed the issue that table preference is saved incorrectly while the model wrapped under the GroupTableModel instance does not implement ColumnIdentifierTableModel. See the bug report here.

(Grids) Fixed the issue that deleting one row in paged table could visually delete two rows.

(Grids) Fixed the issue that sorting on a empty table then adding rows could display empty rows while optimize and autoResort are both turned on.

(Grids) Fixed the issue that inserting or deleting rows on a sorted HierarchicalTable with optimize option causes wrong expansion state paint.

(Grids) Fixed the NPE issue while deleting the last row in paged tables.

(Grids) Fixed a focus related painting issue in TableScrollPane while setAutoStartCellEditing(true). See the bug report here.

(Grids) Fixed the issue that row height could be set to an abnormal value which the row had before after table data changed.

(Grids) Fixed the header is messed up when dragging a column out of the header boundary.

(Grids) Fixed the CCE issue in LessThanFilter. See the bug report here.

(Grids) Fixed an issue where programatically setting the values would cause the popup to open even when focus was elsewhere in ListComboBoxSearchable..

(Grids) Fixed the issue that using default constructor of QuickTableFilterField causes the filtering not work. See the bug report here.

(Grids) Fixed the AIOOBE issue at SortableTableModel while sorting then adding column then sorting the last column. See the bug report here.

(Grids) Fixed the NPE issue if incorrect using FilterableTableModel to wrap TreeTableModel. See the bug report here.

(Grids) Fixed the AIOOBE for AggregateTablePane#getColumnClass() and getColumnName(). See the bug report here.

(Grids) Fixed the selection loading issue while all rows are removed in row selection model.

(Grids) Fixed the issue that adding new rows into HierarchicalTable can not show up the new rows immediately. See the bug report here.

(Grids) Fixed the issue that toggling sorting in one table in TableScrollPane causes the rows in other tables disappear while tables contained in TableScrollPane do not have the same ISortableTableModel. See the bug report here.

(Grids) Fixed the issue that row heights were changed unexpectedly while TreeTable set row auto resize to true. See the bug report here.

(Pivot) Fixed the issue that filtering on AggregateTableModel resets the width of the columns. See the bug report here.

(Pivot) Fixed the issue that the first aggregating columns are always kept in the front while column ungrouping. See the bug report here.

(Pivot) Fixed the issue that AggregateTablePane only accept AggregateTableModel as its table model which made AggregateTablePane cannot work with AutoFilterTableHeader well. See the bug report here.

(Pivot) Make the sort arrow in the FieldBox invisible if the corresponding PivotField is set not sortable. See the bug report here.

(Pivot) Fixed the cancel cursor is displayed when dragging over the filter chooser in PivotTablePane. See the bug report here.

(Pivot) Added a NPE check in setRows of HeaderTableModel. See the bug report here.

(Pivot) Fixed the issue that filtering in AggregateTableModel could fire structrue change event which causes column width reset. See the bug report here.

(Pivot) Stops the cell editing in case the tables in PivotTablePane is editing mode when filtering is happening on FieldBox.

(Pivot) Added showFieldSettingsDialog and made FieldSettingsPanel public. See the bug report here.

(Pivot) Make all empty area in PivotTablePane accepting right click to hide the field list. See the bug report here.

(Pivot) Fixed the issue that the column width of rowHeaderTable changes smaller after removing all rows then adding any row. See the bug report here.

(Pivot) Added getAllowedSummaries to SummaryCalculator to allow using converter context. See the bug report here.

(Dashboard) Introduced DashboardDocumentPane which is a dashboard holder class built on top of DocumentPane in JIDE Components.

Enhancement Requests

(Common) Added API to allow the customer remove certain buttons or recent history list ComboBox in the tool bar. See the enhancement request here.

(Common) Added the ability to manually clear the fast gradient cache.

(Grids) Made NestedSortableTableHeader public. See the enhancement request here.

(Pivot) Added an option to configure if PivotTablePane should consider the length of row field box while auto resizing row header table. See the enhancement request here.

Bug Fixes

(Common) Fixed a painting issue on the tab area.

(Common) Fixed the issue that the JideSplitButton appears disabled on Mac when it is on a JToolBar. See the bug report here.

(Common) Modified XertoUtils to allow the colors to be recalculated after the class is loaded because the class is used by L&Fs other than Xerto (i.e. it is used by StatusBarBorder in the XP L&F).

(Dock) Fixed the exception when mouse dragging while setTabReorderAllowed is false.

(Dock) Changed the preserveAvaiableProperty to true by default in DockingManager.

(Editor) Fixed the issue that the caret is put incorrect while any folding span is collapsed.

(Grids) Fixed the issue that setGridLine was always unnecessary invoked even if the grid line is not a UIResource.

(Grids) Fixed the issue that TableRowFilter was broken in TreeTableModel.

(Grids) Fixed the ArrayIndexOutOfBoundException while JideTable#setRowAutoResizes(true) then add rows. See the bug report here.

(Grids) Fixed so that the column won't be resized when the mouse is over the grouped column. See the bug report here.

(Grids) Fixed so that dragging the group column will not reorder the column. See the bug report here.

(Grids) Fixed the issue that default constructor of QuickTableFilterField throws NPE. See the bug report here.

(Grids) Fixed the SortableTable painting issue in the scenario that filter some rows after toggle sorting to no sorting. See the bug report here.

(Grids) Fixed the NPE issue when the constructor of TableColumnChooserDialog is invoked and setHiddenColumns is not invoked. See the bug report here.

(Grids) Fixed the issue that wrapping SortableTreeTableModel with TableScrollPane created unnecessary SortableTreeTableModel so the sorting related method in the passed in SortableTreeTableModel can not get invoked. See the bug report here.

(Common) Fixed the issue that the title bar of dockable frame looks wrong on Plastic L&F.

(Common) Fixed the issue that losing focus does not trigger JideSplitButton repaint. See the bug report here.

(Common) Fixed the issue that array of Float.class etc. primitive wrapper type is not registered with the DefaultArrayConverter in ObjectConverterManager. See the bug report here.

(Common) Added tooltip for the status label in SearchableBar. See the enhancement request here.

(Component) Fixed NPE when adding tab while no tabs are there.

(Dock) Fixed the issue where sometimes trying to open an autohide frame would loose focus.

(Dock) Fixed an issue opening autohide.

(Dock) Fixed the issue to make workspace on top if showing.

(Dock) Fixed the issue where opening floating windows would sometimes cause focus to become 'lost'.

(Dock) Fixed the issue with hiding multiple windows cause the frame to not disappear.

(Dock) Fixed several focus problems related to autohide.

(Dock) Fixed the issue where toggling docking/floating with popups would focus.

(Dock) Fixed a regression where activate would not activate autohidden frames.

(Dock) Fixed the issue that if you activated a tab and then set the layout causing the tab to become autohidden it did not reset the active tab.

(Dock) Fixed the issue that the MANAGED_FRAMES property was being fired too early so the getOrderedFrames was not returning the correct value.

(Dock) Fixed the issue that if an exception occured during layout the realized flag was left in the wrong state.

(Dock) Fixed the issue that if there was no workspace and only an inactive/autohidden tab then clickin in the contents of the autothidden tab did not active it.

(Dock) Stopped activatefront from activating autohidden frames.

(Dock) Fixed the issue that if the current focus component is removed and awt doesn't move focus (this would be bug but does happen) the docking framework requestFocusinInternalWindow would still return success.

(Dock) Avoid middle mouse button select tab.

(Dock) Added a check for invalild initSide and initMode at setInitSide and setInitMode.

(Dock) Fixed the preferred size is reset incorrectly when loadLayoutData is called.

(Dock) Fixed possible memory leak because of the reference to the last focus component. See the bug report here.

(Dock) Fixed the issue that removeFrame did not hide and remove the frame when the DockingManager.isHidable returns false.

(Dock) Restored the maximized frame when addFrame is called to workaround the exception.

(Dock) Fixed the issue that getActiveFrame is not null when the loadLayoutData is called and the main window is not even visible on the screen.

(Dock) Fixed the issue that the autohidden frame is activated automatically when the window is bring to front or the menu is hidden. See the bug report here.

(Pivot) Fixed the issue that setting subtotal type to automatic then sorting will causes incorrect subtotal row position. See the bug report here.

(Pivot) Added column auto resize feature at PivotTablePane which can be configured by PivotTablePane#setColumnAutoResizable(boolean). See the enhancement request here.

(Shortcut) Fixed the issue that the empty action did not appear in the command list in ShortcutEditor. See the bug report here.

March 26, 2009 - 2.5.8

Bug Fixes

(Common) Fixed setText() method of AutoCompletionDocument that causes a StringIndexOutOufBoundsException if strictCompletion is set to false and the entered text is longer than the text that matched before. See the bug report here.

(Common) Fixed the issue that after clicking mouse on the button then releasing mouse on the down arrow will keep the button pressed. See the bug report here.

(Common) Provided API that you can set the XML version and encoding while you are going to save Pivot or Shortcut or Dashboard or something else to a file or stream. See the enhancement request here.

(Common) Fixed in SearchableBar the cursor position is not reset when the table selection is changed from outside. See the bug report here.

(Dock) Fixed a issue with the popups on the frame.

(Dock) Fixed a issue where an invalidate during a resize would cause the autohide frame to resize to the previous size.

(Dock) Fixed a minor issue where autohide showing frames would throw an exception on window close.

(Dock) Fixed DockableFrame#shouldNotify is not called if the frame is active in Docking Framework.

(Dock) Fixed the dragging problem when there are two docking managers and each one has different allowed dock sides. See the bug report here.

(Dock) Fixed a unfloatable frame is missing when floating a tabbed pane that has this frame in Docking Framework.

(Dock) Fixed recursively calls when removeFrame is called in dockableFrameHidden event.

(Dock) Fixed the glass pane is set to visible when the window is deactivated when using Docking Framework. See the bug report here.

(Dock) Fixed the minimum size of the dockable frame is determined by the preferred width of the titleLabelComponent. See the bug report here.

(Dock) Added an interface tag for a method that was implemented. This allows dockingmanagers to treat dockableframes like holders.

(Dock) Fixed the dockable frames are tabbed together when setTabDockAllowed is false. See the bug report here.

(Dock) Fixed the preferred size of the DockableHolder is wrong.

(Dock) Added setAutoActivateFocusOwner flag back to DockingManager to let user control if they want to activate the DockableFrame when programatically request focus on a component inside a DockableFrame.

(Dock) Fixed show two floating frames that are in the same container will result in two different floating containers.

(Dock) Fixed hidden event is not fired in Docking Framework.

(Dock) Fixed the center dockable frame cannot be activated when docked. See the bug report here.

(Dock) Added utilities for better nesting support.

(Examples) Fixed the cell span doesn't change when changing the radio buttons in the option panel.

(Grids) Added invalidateCellSpanCache method to CellSpanTable.

(Grids) Make GroupTable column order save/load mechanism work with the flags(including "show group columns" "show count columns" "keep column order") in GroupTable.

(Grids) Enhanced the preference saving and loading table preference using TableUtils.getTablePreferenceByName/setTablePreferenceByName to keep right column orders and changed the saved preference string which is back-compatible. See the enhancement request here.

(Grids) Fixed after showing the popup, changing some value int the editor of an AbstractComboBox and press ENTER doesn't commit correctly.

(Grids) Improve the group performance in DefaultGroupTableModel by sorting first. See the enhancement request here.

(Grids) Do not use initTable but use private initializeTable to avoid overriding a method which is called in constructors.

(Grids) Fixed the sort error while sorting on non-group columns in aggregate table. See the bug report here.

(Grids) Added an option to append or insert at the beginning when row is inserted.

(Grids) Added a "reset to default" menu item to reset the columns and orders.

(Grids) Fixed so that the renderer and editor specified in Property is only used for the second column.

(Pivot) Fixed custom summary is not shown in the AggregateTablePopupMenuCustomizer popup menu and field setting combobox. See the bug report here.

(Pivot) Fixed CCE using JDK5 because of the ExpandMouseListener.

(Pivot) Fixed the color of the header tables and the field boxes don't update when the display theme is changed on XP.

February 7, 2009 - 2.5.2

Bug Fixes

(Action) Fixed the command bar title is set to untitled in CommandBar. See the bug report here.

(Editor) Fixed match whole word option not working in find/replace dialog. See the bug report here.

(Editor) Fixed find history is not set correctly in the history combobox. See the bug report here.

(Editor) Fixed the find dialog doesn't know to rewind if nothing is found from the caret to the end of the document even when the search is global. See the bug report here.

(Grids) Added setShowFilterNameAsToolTip to AutoFilterTableHeader.

(Grids) Added support for minimum width for each columns in AutoResizePopupMenuCustomizer . See the bug report here.

(Grids) Use getDialogOKAction in CheckBoxListComboBox .

(Grids) Added createValueEditor method and createCustomFilterEditor method to TableCustomFilterEditor to to make it possible to customize ValueEditor in CustomFilterEditor. See the enhancement request here.

(Grids) Fixed ESC doesn't reset the value in DateComboBox when the popup is shown. See the bug report here.

(Grids) Fixed NPE in EditableTableHeader$d_.propertyChange() because no mouse pointer. See the bug report here.

(Pivot) Fixed memory lean when setPivotDataModel is called on PivotTablePane. See the bug report here.

September 30, 2008 - 2.4.0

New Product

(Data) Introduce JIDE Data Grids to provide the support for Database. You can find a list of major components in the new components section below. Please refer to JIDE Data Grids Developer Guide and demos for more information.

New Components

(Data) PageNavigationBar: to navigate through pages in JList and Jtable.

(Data) DatabaseTableModel: A table model for the Database table with built-in filtering and sorting support.

(Grids) Introduced several TableHeaderPopupMenuCustomizers to work with TableHeaderPopupMenuInstaller. They are AutoResizePopupMenuCustomizer, TableColumnChooserPopupMenuCustomizer and SelectTablePopupMenuCustomizer for any tables, AggregateTablePopupMenuCustomizer for AggregateTable and GroupTablePopupMenuCustomizer for the GroupTable.

Bug Fixes

(Action) Throws IllegalArgumentException if the key passed to methods on DockableBarManager is null. This is to prevent people using commandBar.getName() by mistake and use it as the key.

(Common) Added CharSequenceComparator.

(Common) Added DateComparator.

(Common) Fixed recent list is empty when bringing up the FolderChooser for the second time. See the bug report here.

(Common) Added refresh button to FolderChooser to manual refresh the folder structure from the disk. See the bug report here.

(Common) Fixed the orientation is not considered for JideButton's background.

(Common) Made getDropDownRect and getButtonRect protected. See the bug report here.

(Common) Fixed the arrow and gradient are not painted correctly on vertical JideSplitButton.

(Common) Moved the extra layoutContainer method is called in JideTabbedPane. See the bug report here and here.

(Common) Fixed SELECTED_KEY is not updated when the JideToggleButton is toggled. See the bug report here.

(Common) Add absolute value comparator in NumberComparator.

(Component) Fixed the button shown as rollover when clicked in FloorTabbedPane.

(Grids) Fixed to use viewIndex == -1 to restore the column index in showColumn method.

(Grids) Fixed rowResize doesn't work correctly in TableScrollPane. See the bug report here.

(Grids) Fixed the header/footer column is not shown in TableScrollPane or TableSplitPane when there wasn't a table there. See the bug report here.

(Grids) Fixed autoresize all of the popup menu doesn't work for all child tables in TableScrollPane. See the bug report here.

(Grids) Added setTableColumnWidthByName method to only restore the column width with changing the column order.

(Grids) Fixed the row height is too tall in TreeTable. See the bug report here.

(Grids) Return getColumnClass in getCellClassAt if the Row returns null in its getCellClassAt..

(Grids) Fixed the TAB key not working in TreeTable when the cell is editing. See the bug report here and here.

(Pivot) Fixed wrong information is displayed in the AggregateTable when the values are the same for the aggregated columns.. See the bug report here and here.

(Pivot) Added support for other data types in DefaultSummaryCalculator such as Date, Calendar, all subclasses of Number, BigDecimals. In the meantime, deprecated BigDecimalSummaryCalculator as DefaultSummaryCalculator supports BigDecimal now.

(Pivot) Fixed possible NPE at PivotTablePane#setTableColumnWidth.

(Shortcut) Made createFilterField method protected in ShortcutEditor.

(Shortcut) Fixed the context menu is not shown on ShortcutField.

Backward Compatible Issues

(Common) Removed deprecated getAnimatorListener and setAnimatorListener methods and replaced them with addAnimatorListener and removeAnimatorListener respectively.

(Common) Removed deprecated getImageLabel method on BannerPanel and replaced it with getIconComponent.

(Common) Removed deprecated getSizeContraint and setSizeContraint methods on ButtonPanel because of typos. Replaced them with getSizeConstraint and setSizeConstraint respectively.

(Common) Removed ButtonPanel at com.jidesoft.swing and replaced it with the ButtonPanel under com.jidesoft.dialog. Code change might be needed when migrating but should be trival.

(Common) Removed deprecated getSelectedObjects on CheckBoxList and replaced it with getCheckBoxListSelectedValues.

(Common) Removed deprecated createPopupContainer method on JidePopup and replaced it with createHeavyweightPopupContainer.

(Common) Removed deprecated getWindow from JideSwingUtilities and replaced it with getWindowForComponent method.

(Common) Removed deprecated setShrinkTabs and isShrinkTabs methods on JideTabbedPane. Replaced it by setTabResizeMode(RESIZE_MODE_FIT).

(Common) Removed deprecated setBoxStyleTab and isBoxStyleTab methods on JideTabbedPane. Replaced it by setTabShape(SHAPE_BOX).

(Common) Removed getLayoutData and setLayoutData from DockingManager/LayoutPersistence and replaced them with getLayoutRawData and setLayoutRawData respectively.

(Common) Removed deprecated getValue method on ObjectGroupManager and replaced it with getGroupValue.

(Common) Removed deprecated withinScreen from PortingUtils and replaced it with ensureOnScreen method.

(Common) Removed deprecated AUTO_RESIZE_CONSIDER_HEADER constant in TableUtils and replaced it with CLIENT_PROPERTY_AUTO_RESIZE_CONSIDER_HEADER.

(Component) Deprecated setToolTip and replace it with setToolTipText in LabelStatusBarItem to match with the method name on JLabel.

(Grids) Deprecated Filter and AbstractFilter class in com.jidesoft.grid package. Replaced them with the same class in com.jidesoft.filter package.

(Grids) Added setFilterFactory and getFilterFactory method to Filter interface. If you use AbstractFilter, there wouldn't be any problems but if you use Filter interface directly, you need to implement these two methods.

(Grids) Removed deprecated methods getExpandableColumnViewIndex, setExpandableColumn and getExpandableColumn. You can replace them with getHierarchicalColumnViewIndex, setHierarchicalColumn and getHierarchicalColumn without any other code change.

(Grids) Removed deprecated stretchToFit method on PopupPanel. It is replaced with isStretchToFit to follow the bean pattern naming convention.

(Grids) QuickTableFilterField getDisplayTableModel return type are changed from FilterableTableModel to IFilterableTableModel. The old createDisplayTableModel is deprecated and replaced it with createFilterableTableModel.

(Grids) Deprecated TableColumnChooser's install and uninstall methods because TableHeaderPopupMenuInstaller is the recommended way to install a popup menu for the table header.

(Grids) Removed deprecated loadExpanstionState on TreeUtils. It is replaced with loadExpansionState because of a typo.

(Grids) Regsitered listener on the newly added object in BeanTableModel. See the bug report here.

(Grids) Introduced BasicTableModel which has the most features from BeanTableModel. Now the BeanTableModel simply extends BasicTableModel.

(Grids) Do not call super.setItem to fix duplicated event in DateComboBox.

(Grids) Fixed an NPE in DateComboBox's setSelectedItem when using format.

(Grids) Updates the selected item when spinner changes. Also skip invalid date as defined in DateModel when spinner buttons are used. Thanks efx contributing the code. See the bug report here.

(Grids) Added a NPE check in FileChooserPanel. See the bug report here.

(Grids) Added generic support to most Filters.

(Grids) Added more than a dozen pre-defined Filters under com.jidesoft.filter. Please note we deprecated Filter and AbstractFilter under com.jidesoft.grid and move them to com.jidesoft.filter. It shouldn't cause any compile error but we strongly suggest you change your import statement to point to the right package in your source code.