Version 2.4 Change Log
Current Snapshot:
Fixed:- Issue with resizing popup windows on Linux.
- Some speed issues with QicsTreeTable and QicsSpanManager.
- Issue in QicsGridCommon::setMouseButton.
- Issue with setting font for a row.
- Issue with freezing.
- Some fixes in QicsDimensionManager.
- Crash in QicsKeyboardManager.
- Memory leaks when clicking a header.
- Memory leaks in QicsCellStyle and QicsGridStyle constructors.
- Issue with setting font of the region.
- Issue with setting font in QicsAttrCommon::applyFontAttr().
Added:
- QicsAbstractFilterDelegate, QicsRegexpFilterDelegate, QicsListFilterDelegate classes.
- API for changing active look state of QicsCellDisplay.
- QicsHeaderDragStyle property for customizing the look of row/column header dragging.
- Tristate support in QicsCheckCellDisplay.
- QicsCell::dataString() method.
- QicsSpan::vrow() and QicsSpan::vcolumn() methods.
- QicsPopupDialog class.
- add_columns parameter to QicsDataModel's CVS reader.
- QicsTreeTable add-on:
- Summary row policies to QicsTreeTable class.
- QicsSummarizer::onCellValueChanged() method.
- QicsTreeTable::groupForRow() method.
- QicsDataItem::number() method.
- QicsSummaryRowData class.
- QicsGroupInfo::setSummaryData(), firstDataRowVisualIndex() and lastDataRowVisualIndex() methods.
- QicsTreeTable::isHeader() method.
- QicsTreeTable::showGroupedColumns() and groupedColumnsVisible() methods.
- QicsGroupCellDisplay class.
- QicsTreeTable::QicsExpandPolicy enum and appropriate set/get methods.
- QicsTreeTable::regroup() method.
- Flat grouping mode (set by QicsTreeTable::setFlatMode()).
- QicsEnumerator class.
- QicsRegion: isEntireRow() and isEntireColumn() methods.
- VS2005 solutions for examples & demos.
- displayers example.
- inner_table example.
Changed:
- API and approach for applying filters.
- QicsTreeTable completely revised.
- Cell displayers are automatically being deleted with the table.
- QicsCellStyle::Current property deprecated.
- QicsSpanManager::visualCellSpanList deprecated.
- Removed double buffer (speedup & memory gained).
- Data Model and Clipboard Delegate classes inherited from QObject for now.
- QicsCellRegion is now able to set row/column attributes as well as cell ones.
Version 2.3.4:
- Memory leaks when setting another data model to QicsTable.
- Issue with QicsRow::selected() and QicsColumn::selected() methods.
- Issue with updating selections upon deletion of rows & columns.
Version 2.3.3:
Fixed:
- Some selection/edit issues with QicsComboCellDisplay and QicsDateTimeCellDisplay.
- Crash while calling setRowHeaderUsesModel(true) and then modifying datamodel.
- Issue with sorting.
- Freezing top rows after setRowHeaderUsesModel(true) was called.
- Issue in QicsCellDisplay with drawing custom colored background.
- Issue with QicsScreenGrid::redraw().
- Painting on MacOS.
- QicsWidgetCellDisplayer deletes widget on remove.
- Building issues on Solaris-10 (GCC 3.4.3).
- Corner header resize mode.
- Crash when a cell wider than the table window ends editing.
- Drawing frames of QicsComboCellDisplay and QicsDateTimeCellDisplay.
- Crash when setting the value of the item being edited from the outside.
- Scrolling problem (flicker & slowdown) with large widgets.
- Some issues with sorter.
- Losing focus from header grid during traverse.
- Improved speed of row/column moving.
- Crash in QicsRegionalAttributeController when removing cell displayer.
- Scrolling when frozen & hidden cells are present.
Version 2.3.2:
Fixed:
- Python binding issues.
- Some minor fixes in examples.
Version 2.3.1:
Fixed:
- textEdited() signal of QicsTextCellDisplay reporting wrong row/column index.
- Performance issues with painting the grid and spans.
- Painting headers in highlight mode.
- Some memory leaks.
- Updating exclusive selection.
- Cell overflow issues.
- Issue with str_rect initialization in QicsTextCellDisplay.
- Issue with double-click on cell.
- Flicker when QicsWidgetCellDisplay loses focus.
- Crash during sorting when there are no items in the list.
- Issue with connection to scrollbars.
- Issue with tooltips for particular cells.
Added:
- QicsSelection::toRegion() method.
- QicsTable: gridGeometry(), rowHeaderHeight(), columnHeaderWidth(), currentRowOrder(), currentColumnOrder(), setRowOrder(), setColumnOrder() methods.
- Double-clicking escape while editing will return from the edit mode.
Changed:
- QicsCellDisplay::hideEdit() method deprecated.
Version 2.3:
Fixed:
- Crash due to sorting when the whole table is selected.
- Issue in QicsTable::configureFromXml() when table became hidden after loading from xml.
- Issue with storing default cell style to XML.
- Issue in QicsSelectionManager - when new datamodel is set, header list was not cleared properly; this led to crashes during selection.
- Problem with displaying icons in QicsComboCellDisplay.
- Junk around the cell in QicsComboCellDisplay with Qt 4.3, Windows style.
- Switching off check box state in QicsCheckCellDisplay.
- Dropping attributes while changing application style.
- Some issues with frozen items.
- Applying color of selected text in QicsTextCellDisplay.
- Wrong span arrangement while moving rows & cells.
- Clearing current selection.
- Selection by Ctrl+click (partially fixed).
- Changing cell size according to its content.
- Issue with insertion/deletion of rows/columns when freezing is active.
- Unwanted editing of header cells after visiting combo displayer.
- Issue with updating table layout after changing margins and header size.
- Configuring color of header's text.
- Changing selection list after row/column expansion.
- Visual feedback while changing header size.
- Issue with drawing shaded grid lines.
- Applying frame style and line width.
- Grabbing mouse in QicsNavigator.
- Cell overflowing.
- Crashes while switching to print mode.
Added:
- QicsTreeTable and compound classes to provide grouping functionality.
- QicsRubberBand class.
- QicsAbstractClipboardDelegate class.
- QICSTABLE_VERSION_STR define.
- QicsGroupInfo: methods summaryCellRef(), headerCellRef(), cellRef(), spanHeader(), spanSummary().
- QicsTable methods setExternalAttributeControllers(), gridAttributeController(), rowHeaderAttributeController(), columnHeaderAttributeController(), numFreezeTopRows(), numFreezeBottomRows(), numFreezeRightColumns(), numFreezeLeftColumns().
- QicsDataModel::notifyRegionChanged() method.
- setDefaultImagePath() and defaultImagePath() methods to QicsTable and QicsGridInfo.
- Pixmaps can be loaded from xml files as well.
- selectRow() and selectColumn() methods to QicsTable.
- advanced_spreadsheet demo: load of csv data.
- Current cell selection policies type QicsSelectCurrentCellPolicy (Follow and Static), which can be set via QicsTable::setSelectCurrentCellPolicy() and retrieved via QicsTable::selectCurrentCellPolicy() methods.
- QicsTable::configureFromXmlFile() method.
- QicsTable: sortingSensitivity() and setSortingSensitivity() methods.
- Dragging fill handle performs actual selection as well as emitting signals.
- Customizable grid properties: ExclusiveSelectionBorderWidth, ExclusiveSelectionBorderColor, ExclusiveSelectionHandleBackColor, ExclusiveSelectionHandleColor, CellDecorationStyle, ExclusiveSelectionHandleColor, ExclusiveSelectionDragBackColor, ExclusiveSelectionDragPen, ExclusiveSelectionDragMode, ExclusiveSelectionDragOpacity, HighlightSelection.
- Customizable cell properties: SelectedFont, HighlightBackColor, HighlightForeColor.
- Toggling row/column expansion of selected rows/columns.
- QicsSelection: isEntireRow() and isEntireColumn() methods.
- QicsGrid::screenViewport() method.
- Default sorting now works like in Excel (numbers first, empties last).
- QicsSpan::toRegion() method.
- QicsSelectionList: rows() and columns() methods.
- QicsGridInfo::updateAllGrids() method.
- QicsTextCellDisplay: iconShiftsText() and setIconShiftsText() methods.
Changed:
- Header drag&drop with mouse middle button extended:drawing of dragged items.
- More intellectual drop (items are inserted between those under mouse).
- QicsRowColumnDrag now arranges its items correctly.
- QicsTable::configureFrozen() method revised.
- VS2005_NO_EXPORT macro deprecated; use QICS_DLL to link against dll (static lib by default).
- Add-ons folder rearranged; classes that could be used as standalone (QicsNavigator,
- QicsRuler, Print Preview) put into add-ons.
- Revised drawing of exclusive selection.
- Revised drawing of cells - result is significant painting speedup.
- Coordinates for QicsTable::addCellSpan() and QicsTable::removeCellSpan() could be passed in model coordinates as well as in visual (thus avoiding extra model2visual conversions).
- QicsCheckCellDisplay::setCheckState() made protected.
- QicsSelectionList: added parameter "complete" to isRowSelected() and isColumnSelected() methods.
- Deprecated the following methods: QicsScreenGrid::requestCellOverflow(), QicsGrid::requestCellOverflow(), QicsGrid::acceptCellOverflow().
Version 2.2.2:
Fixed:
- Slowdown while cutting cells to clipboard.
- Regression: pressing Enter at the last row does not move the current cell to the top of the next column.
- Regression: current cell in the main grid remains selected when clicking on a header.
- Issues with update of the grid after paste/drop operations.
- Issue with pasting of cells with empty attributes set.
- Propagation from cell now works only if the cell is selected.
- Issue with forgetting current selection in exclusive mode when mouse was released over the fill handle.
- Issue with clearing pixmaps while cutting/deleting.
- "Current" cell attributes are no longer being copied/erased during the copying of a cell style.
- Current cell now becomes hidden when disabled cells are selected.
- (967) Issue with hiding current cell when selectAll() method is called.
- (967) Pressing Shift-Ctrl-End/Shift-Ctrl-Home now selects the rest of the table from the current cell to the end/beginning of the grid respectively.
- (1062) Issue with the sizing of frozen rows/columns.
- Issue with updating grid after clearing cells when rows/columns are reordered.
- Issues in QicsSelection::setEntireRow() and QicsSelection::setEntireColumn() which lead to incorrect selection setup and possible crashes.
- Issue with spans messed up when rows/columns were reordered.
- Some traversal problems when there are spans spanning whole row/columns.
- Scrolling issues - scrollbars now remain their sizes constantly, so they no longer jump while dragging scrollbars via the mouse.
- Issues with QicsNavigator (the label became obscured for large viewports).
- Issues with print preview: black page background and slow output under Linux; wrong page sizing.
Added:
- QicsRegion: new constructors for covering single-cell regions.
- QicsGridInfo::deleteSelected(), QicsGridInfo::reorganizeSpans() methods.
- qicsptr definition - the same as quintptr, except that it is compatible with Qt 4.1.x.
- QicsCommonRegionalController class.
- QicsQtModelAttributeController and QicsDataModelQtModelAdapter classes to support native Qt models.
- QicsStyleManager::getDefaultCellStyle() method.
- Control what to copy via copying policies: QicsCopyPolicy enumeration type; QicsTable and QicsGridInfo: setCopyPolicy() and copyPolicy() methods.
- Control what to clear via clearing policies: QicsClearPolicy enumeration type; QicsTable and QicsGridInfo: setClearPolicy() and clearPolicy() methods.
Changed:
- QicsRegionalAttributeController is now inherited from QicsCommonRegionalController.
- QicsSorter: compare(int &_a, int &_b) replaced with compare(const int &_a, const int &_b) to be compatible with Qt 4.3.
- QicsTablePrint print preview performance changes: added local page cache; QImage-based page buffer replaced with QPixmap.
Version 2.2.1:
Fixed:
- Compilation issues with MSVC6.
- Project issues with advanced_speadsheet.
- (911) Issue with scrolling by mouse.
- Column numeration in advanced_spreadsheet demo.
- Crash while performing drag&drop of the same region.
- Transversing on header by arrow keys.
- Correct selection while traversing in SelectSingleRow and SelectMultipleRow modes.
- Scrollbars' geometry when there are frozen & hidden rows/columns.
- Scrolling to the end of row (with End) and end of table (with Ctrl+End keys).
- Compilation issue with qobject_cast<QWindowsXPStyle*> when Qt is configured without QWindowsXPStyle.
- Scrolling issues with navigator.
- Flicker while traversing by keyboard.
- Flicker while changing current cell in exclusive selection mode.
- Scrolling timer stops correctly when the mouse is moved back into the grid.
- Export to HTML: incorrect dimensions of spanned cells.
- Issue in QicsSelectionManager::orderChanged() which led to selection list overflow.
- Cell containing QicsComboCellDisplay indicates its current state correctly.
- Some performance revisions of QicsRegionalAttributeController and QicsCellRegion.
- Issue with propagating changes from edited cell after copy.
- advanced_spreadsheet demo: search, rows/columns deletion revised.
- Issue with QicsRegion returning wrong width/height when there are no columns/rows.
- Issue with wrong scrollbarsize when table is empty.
- Issue with deleting rows/columns in QicsDimensionManager.
- Issues with traversing and selecting spanned cells with hidden parts.
- Issue with drawing QicsComboBox displayer in Windows style.
- Issue in QicsCellDisplay::commonInit() which has led to a crash sometimes.
- Issues in QicsKeyboardManager with traversing by Tab/Shift+Tab through hidden rows.
- Moving through header with cursor keys + SHIFT selects rows/columns as well.
- (806) Issue with hiding QicsWidgetCellDisplay when it is out of screen after row/column insertion.
- Issue with QicsRegionalAttributeController when setting label property for row headers did not work.
- Wrong text color in QicsTextCellDisplay for headers.
- Spanned cells in headers that were not drawn as selected.
- Colors of disabled cells.
- QicsCellRegion not working sometimes on the first usage.
- Read-only and disabled cells cannot be altered while data propagation or clear via GUI.
- Issues with building on 64-bit platforms.
Added:
- QicsSelectionList: region() method.
- QicsSelectionManager: selectedRegion() method.
Changed:
- Attribute "Palette" is completely removed and replaced by single colors (thus fixing the issue with setting individual color attributes for a cell).
- QicsHTMLExport: added automatic CSS style compression (exported HTML file becomes up to 50% smaller); spaces are being replaced with " " tag.
- QicsCellDisplay::isCellSelected() method revised and simplified.
- Completely revised and improved traversing methods in QicsScreenGrid and QicsHeaderGrid.
Version 2.2:
Fixed:
- Issue with order of printing rows/columns (now, visual order is used as well).
- Extra pixels around the grid while printing.
- Issue with QicsHTMLExportDialog::exportTable().
- Sources adopted to Qt 4.1.x.
- Issue with traversing by Tab.
- (948) Removed flicker when moving to another cell.
- (909,934) Scrolling when hidden rows/columns present.
- (936) Scrolling when row/column size is larger than current viewport.
- (964) Issue with QicsWidgetCellDisplay selection while editWhenCurrent is on.
- Issue with losing edit focus when switched to another window in editWhenCurrent mode.
- Scrolling in editWhenCurrent mode.
- Some memory leaks with the selection list.
Added:
- QicsPrintPreviewWidget: setCornerWidget() and cornerWidget() methods.
- QicsHeaderGrid: method editCurrentCell(), which disables editing of the header's cells.
Version 2.1:
Fixed:
- Copy/paste issue - data now copying to proper cells.
- Compiling errors on MSVC6.
- PgUp/PgDown scrolling (now it scrolls to the proper number of rows/columns).
- Issue with setting dotted pen.
- QicsNavigator, QicsRuler, QicsRowFilter classes.
- Signal selectionListChanged now emits properly.
- QicsDataModelDefault dispose speed increased by 10-15%.
- Compiler errors on MSVC7.
- setGridLinePen method.
- Scrolling to last column/row.
- Showing hidden last row (with widget displayer).
- Build process of QicsDesignerPlugin with Qt 4.2.x.
- Hiding/showing last row/column.
- Scrollbar reacting with fixed width of table.
- Install script for QicsTable designer plugin (by default plugin will be installed in QtDesigner plugin dir).
- Event loop recursion in QApplication with Qt 4.2.0.
- Freezing/unfreezing row/column issue with scroll.
- Scrollbar update problem.
- Memory leaks with QPlastiqueStyle.
- Selection following in QicsSelectionManager.
- Context menu now works correctly when cells are in editing mode.
- Cell flickering when current cell jumps to the next row/column.
- Focus problems with QicsTable and external widgets.
- Selection flashing during traversing in SelectMultipleRow/Column modes.
- Show row problem while repaint behavior is OFF.
- QicsTable linking problem on MSVC6.
- Resize line showing above widgets and frozen areas.
- Table compiling in debug_and_release mode.
- Focus/traversal problems in QicsCheckCellDisplayer.
- Issues with Qt 4.2.0 library.
- All known freezing issues.
- Removed pragmas from QicsNamespace.h.
- Compilation error on Qt without Windows XP style (Windows).
- Problems with scrolling.
- QicsComboCellDisplay popup problem (during the scrolling).
- Crash in QicsTable::setDataModel() method.
- QICS_PACKAGEDATE_NUMERIC variable format.
- Editing cell issue in editWhenCurrent mode.
- Main grid last column resizing.
- lastPageStartColumn, lastPageStartRow return value.
- Table navigator issue (last column/row were not accessible with Navigator).
- Freezing problems after second freeze.
- The scrollbar and the table "dancing" left and right with moved and hidden columns.
- No correct selection when row move on click by cell.
- Problem with scrolling when every second row/column is hidden.
- Correct show last hidden row/column after moving rows/columns.
- Scrolling problem with hidden, moved indexes.
- Scrollbar "dancing" with reordered and hidden columns.
- Drawing cell borders and grid lines issue.
- Mouse button mapping method.
- Delete key now clears data in all selected cells.
- Method normalize in QicsRegion class.
- QicsTextCellDisplay functionality extended to show additional scrollbars when editing a cell wider than the screen grid.
- Ability to resize frozen rows/columns.
- QicsRuler class which shows rulers for the current page.
- QicsPageMetrics struct which extends standard paper size list and also provides methods to access it.
- Static/dynamic page counting mode to QicsPrintPreviewWidget class.
- Code to QicsTablePrint to support dynamic print preview mode.
- Select/pan modes to QicsPrintPreviewWidget class.
- print() method to QicsPrintPreviewWidget class which performs customizable printing.
- Export of pixmaps, coloring, font, alignment etc. to QicsHTMLExport class.
- struct QicsHTMLExportOptions which holds options for HTML export.
- gridInfo() method to QicsCell class.
- Documentation for QicsNavigator, QicsRuler, QicsHTMLExport, QicsFilter, QicsRowFilter classes
and Print Preview. - Documentation for Print Preview.
- QicsTable documentation updated.
- QicsNavigator class which provides quick navigation within the big table.
- QicsFilter class which allows the user to hide/show rows using QRegExp based filter.
- Excel style selection frame with corner handle (selectionStyle property).
- QicsHTMLExport class to export a table as a hypertext page (basic implementation).
- Print preview facilities; QicsTablePrint extended to support the preview framework.
- Example print preview dialog which works with QicsTablePrint.
- Optimization for speed QicsSorter methods.
- Steps on how to install QicsTable under MacOS.
- Documented QObject ownerships.
- Now visibleRows/Columns methods return normal row/column index (from '0' and upper).
- New properties for QicsTable object (set/get default height/width of the cell).
- New property to QicsCell canAcceptDrops can allow/deny drop action.
- Made a lot of changes in traversal functions, added QicsKeyboardManager and QicsGridGeometry internal classes.
- General performance improvements.
- Optimized painting recalculations for dimensions (for rows/columns/both).
- QicsPushButtonCellDisplayer to display PushButton in grids.
- Optimized updating "view" for dimension changes and some others.
- More speed for redrawing while scrolling.
- Excel-like selection behavior with SHIFT/CTRL + arrows keys.
- QicsDateTimeCellDisplayer to display QicsDataDateTime data items.
- Example of using improved header displayer into custom_grid example.
- 'autoHeaderNamingMask' property into QicsHeader class.
- Documentation updated according to 2.0 version.
- colortable example that demonstrates the changing palette of QicsTable.
- Method widget() into QicsCellDisplay class.
- New example qtDataModel that demonstrated Qt data model using with QicsTable.
- New demo advanced_spreadsheet.
- Designer plugin now compiling and works with Qt 4. Significantly rewritten plugin. interface. Added new configuration dialogs and menus that allow saving of 90% of the QicsTable settings.
- New properties for QicsTable and QicsScreenGrid object (get fullyVisibleBottomRow, fullyVisibleRightColumn).
- New properties for QicsTable object (set/get fakeCellsDrawingIndex) that force table to draw empty not editable cells which are using the default style.
- New demo qics_tetris.
- Removed flickering when traversing between cells.
- stocks2 example, optimized by speed, and with new features (printing with preview, export to HTML).
Known issues:
-
When the table is filled with a huge amount of data (1000x1000 cells), clearing the table is slow. It
takes several seconds on a fast machine. The source of the issue is a call to the delete operator for each data item in the data model. There are a lot of destructor calls and thus a loss of performance. - QPainter::drawText is too slow - whole table repaints for ~400-500 ms. There is no workaround for now.
- After selection of a region with mouse, sometimes the previously selected region does not update itself and remains painted as "selected".
- Excel-like selection is too slow and leaves some painting issues.
- While printing, wide spanned cells do not break on the page edge.
- Cell widget content is printed incomplete (seen for combobox, Windows XP style).
Version 2.0:
Fixed:- Table crashing when QicsComboCellDisplayer is edited.
- Minor visual issues with the scrollbar when columns are hiding/showing.
- QicsWidgetCellDisplayer painting issues.
- Problems with the "current cell" when the table loses focus.
- Grid lines not drawn if they are hidden.
- Removed warning about converting long to int32.
- endEdit() call when QicsCheckCellDisplayer loses focus.
- QicsWidgetCellDisplayer clipping problems.
- QicsCheckCellDisplayer and QicsComboCellDisplayer focus/traversal problems.
- QicsCheckCellDisplayer crashing on Qt-4.1.3.
- QicsDataModelDefault::rowItems() and QicsDataModelDefault::columnItems() now return the correct results.
- Spreadsheet example hanging during spans addition.
- QicsWidgetCellDisplay drawing problems.
- setAllowUserResize() method.
- Traversal problems between widgets and frozen parts of a table.
- Drawing frame using Windows XP style.
- Improved QicsWidgetCellDisplay drawing.
- QicsWidgetCellDisplayer clipping problem.
- Removed flickering after setting to RepaintOn.
Added:
- New properties enterTraveseToBegin and tabTraverseToBegin that allow for control of traversal behavior at the end of a row/column.
- QicsComboCellDisplay now highlighted when it is on the current or selected cell.
- Changed setPalette() behavior. It now behaves like standard Qt widgets.
- Increased performance during resize events.
- Signal layoutFailed() that emits when the layout of widget is deformed.
- Table does not have alternate means of accessing functionality for 2 mouse buttons or 1 mouse button.
- If using arrow keys to traverse to the next row, then rows were not painted correctly.
- When the dialog containing the QicsTable gains or loses focus, spanned cells have the lines of the cells they span across flicker.
- Performance degrade in addRows() if call 1000 times to addRows().
- When resizing a column (or a row), the resize line is drawn underneath any "live" widget that is displayed in the table.
- Wrong set and get functions results in test results.
- Minor visual problem when traversing between table cells using Tab key.
- Table prevents focus traversal to other widgets.
- Several problems regarding QicsTable within a QScollArea:
a ) The top LineEdit has focus, press Tab, the scroll area scrolls to a wrong location, and the top
left table cell becomes current but not editable.
b ) When click in the top left table cell, it becomes current and editable, press Tab, the scroll area
scrolls to a wrong location.
- Selection did not follow model changes when a row above the selection row was deleted.
- Widget cell displayer draws over the frame of the main grid.
Version 2.0 beta 4:
Fixed:- Widget crashing during printing.
- Methods QicsCell::setMinWidthInChars and QicsCell::setMinHeightInChars now work properly.
- Problem with header resize cursor appearing.
- Signals clicked(), pressed() and doubleClicked() are now not emitting in the headers resizing area.
- Tab/enter traversal behavior when a table has hidden rows/columns.
- Tab/enter traversal behavior for right-to-left layout.
- Some issues with editable QicsComboCellDisplayer.
- Alignment of text displayed in the current editing cell.
- Scrolling problem (when mouse wheel wrapped over the main grid, rows scrolled overmuch).
- QicsComboCellDisplay open/close behavior with the Space key.
- Value changing in QicsTextCellDisplayer when the cell is in edit mode.
- Indexes of rows and columns after moving are now displaying correctly (in model coordinates).
- Selection behavior when the selectionPolicy property is set to SelectMultipleRow.
- Wrong behavior of editable QicsComboCellDisplayer.
- Horizontal scrollbar issue.
- Draw gird lines with correct styles.
- Problem with cursor changing over headers.
- Scrolling problem during resizing.
- Enter and tab traversal behavior.
- Increased drawing performance of table.
- Old lowercase include files replaced to Qt4-styled.
- Removed warning about cellColorGroup() from QicsCellDisplayer.
- Header and main grid alignment.
- Resize line now draws on header also.
- makeCellFullyVisible() on frozen parts.
- Positioning of current cell line.
- Cursor, span and frame drawing in Right-To-Left alignment mode.
- Min width/heights follow model.
- Drag&drop problem when moving data from headers to the main grid.
- Wrong valueChanged() signal emitting (when data model is empty).
- Traversal and focus problems when QicsCellDisplay::editWhenCurrent(true).
- QicsTable right to left column hide problem.
- Minimum width follow model.
- Performance degrade on inserting/deleting rows.
- Top and Bottom cell border pens drawing failure.
- Setting cell border width to 0 now causes no border drawing.
- Order of emitting rowSelected() and currentCellChanged() signals.
- QicsTable show/hide column problems.
- QicsDataModelDefault::setItem() method when empty string entering.
- repaint() calls replaced to update, increased performance and removed warnings.
Added:
- New feature - ability to move rows/columns after the last row/column.
- Now you can change the direction of scrolling over the main grid by key modifiers (without modifiers - vertical scrolling, with Alt key - horizontal).
- Saving QPalette and QPen settings to QString, XML.
- Added QicsHeader::setAllowHeaderResize() method.
- "$(MAKE) all" command now will compile both the debug and release versions of QicsTable.
- QicsTable::setVerticalScrollBar(QicsScroller*) and QicsTable::setHorizontalScrollBar(QicsScroller*) methods.
- Implemented Right-to-Left layout for cells and displayers.
- Removed qt3support from examples.
- QicsTable::setCursor() method.
- QicsHeader::setAllowHeaderResize() method.
- QicsCheckCellDisplay class now gives the methods checkState() and valueChanged() for all standard Qics data types.
- Implemented QicsTable::rowsMoved() and QicsTable::columnsMoved() signals.
- QicsTable::setSortMode() and multi-key sort possibility.
- Added to the QicsCellCommon and QicsTable classes the new method setPixmap(QString file_name) to load pixmaps from file a directly.
- QicsTable.dcf file to integrate our documentation in QtAssistant.
- New class QicsPasteValidator that allows the user to validate data that is pasting into cells.
Version 2.0 beta 3:
Fixed:- Problem with signals rowResized() and columnResized().
- Drag&Drop problem that caused tables crushing during copying or moving operations.
- Drag&Drop problem with cells clearing properly during moving operations.
- Scrolling problem that occurred when custom widgets were placed into QicsTable (Windows only).
- Initial grid repainting problem (Windows only).
Added:
- Public slot repaint() that allows repaint of the whole table.
- Ability to set the Top, Left, Right or Bottom border pen of the cell.
- configurationToDomXml() and configurationFromDomXml() added to QicsTable.
- QicsTable designer plugin can now modify/configure any table property etc.
Version 2.0 beta 2:
Fixed:
- QicsTable::uneditCurrentCell now call QicsCellDisplay::endEdit() with the correct cell after model changes.
- Initial screen painting problem in frozen example.
- QicsDataModel::readASCII() now reads the proper number of lines.
- Parameters of signal selectionListChanged(bool) after adding selection using the Shift button.
- Links on architecture documentation page.
- Drag&Drop problem with whole rows and columns.
- Resizing problem of frozen rows and columns.
- Font change problem
Added:
- Signals emitted when selection or size of columns changed.
Version 2.0 beta 1:
-
QicsTable 1.1.1 ported from Qt 3 to Qt 4.
Version 1.1.3:
Fixed:
- QicsCheckCellDisplayer can align to center/left/right.
- QicsCheckDisplayer can align to center by vertical and horizontal alignment.
- Double selection if used SelectSingleRow.
- setCurrentCell issue with SelectSingleRow policy.
- traverseToCell (QicsTableGrid) code to create correct selection.
- Added new property setCanAcceptDrops() in QicsCellCommon class.
- Traversing to end of table using keyboard shortcuts.
- Fixed editing problems after rows reordered.
- Better handling of Current cell after model changed.
- Better handling of traversal keys over different displayers.
- Freezing routines fixed with complex configurations.
- Issues with MDI widgets.
- Stable sorting algorithm.
Version 1.1.2:
Fixed:
- QicsTable::uneditCurrentCell now calls QicsCellDisplay::endEdit() with the correct cell after model changes.
- Initial screen painting problem in frozen example.
- QicsDataModel::readASCII() now reads the proper number of lines.
- Parameters of the signal selectionListChanged(bool) after adding the selection using the Shift button.
- Links on the architecture documentation page.
- Fixed drag and drop problem with whole rows and columns.
- Fixed resizing problem of frozen rows and columns.
Added:
-
Signals emitted when selection or size of columns changes.
- Call uneditcurrentCell in itemSelected(slot of signal activated in QComboCellDisplay).
Version 1.1.1:
Fixed:
-
Memory leaks in QicsDataModelDefault.
-
Problem when the first row or column of viewport was hidden.
-
Documentation about setting colors on a table.
-
Problems with selecting comboboxes using the CTRL key.
-
Problem with the scroller when the last column was hidden.
-
Tab key behaviors.
-
Styles in QicsComboCellDisplay and QicsCheckCellDisplay.
-
Update cell contents when editing.
Added:
-
If any column/row is stretchable, all grids will autofit in the visible table area.
-
New data types QicsDataLongLong and QicsDataBool.
-
Implemented enhancement: propagate changes to multiple cells.
-
Added property to enable or disable the feature 'propagate changes to multiple cells.'
Version 1.1.1 beta 2:
Fixed:
-
Problem with scrolling table when clicking on the header.
-
Memory leak connected with creating a new QicsCell object in QicsTable.
-
QicsRowHeader class (defined Q_OBJECT).
-
Crash when setting the new dataModel().
-
Failure in QicsTable designer plugin.
-
Segmentation fault when printing QicsTable.
-
Setting up to work styles in QicsComboCellDisplay and QicsCheckCelldisplay.
-
Fixed stretch method, if you have stretchable columns or rows.
-
Fixed returned value in handleMouseEvent() in different situations.
Added:
-
Two new data types: QicsDataLongLong & QicsDataBool.
-
Improved the tab behavior of QicsTable- now the user can cycle between widgets and cells (ComboBoxes, CheckBoxes).
Version 1.1.1 beta 1:
Fixed:
-
Allowed the user to force the cell displayer to reflect changes in the model item for cells that are under editing.
-
Segmentation fault when printing a QicsTable.
-
Segfault when the header clicked on QicsTable with an empty data model.
-
Drag and drop and copy routines when a whole row or column was selected.
-
Problem with removing the displayer of the currently editing cell.
-
Problem with the floating displayer after a row/column of the currently editing cell is deleted.
-
Problem with bigger maximum value of the scroller if the last column is wider than visible area.
-
Documentation on QicsDataModelDefault.
-
Problem with editable combo boxes.
-
QicsTable crash when setting a new data model using QicsTable::setDataModel() after the table already has a valid data model.
Added:
-
Provided the "index.dcf" file so documentation can easily be integrated with Qt's assistant via the "assistant-addContentFile index.dcf" command.
-
Implemented QicsTable::wheelEvent() so that now the user can use the mouse scroll on this widget.
Version 1.1.0:
Fixed:
- Checkbox's check/uncheck problem.
- Problem with the wrong coordinates in checkbox's valueChanged() signal.
- Problem of not allowing selection to be done from a checkbox cell.
- Combobox's repaint problem when setting styles on the current cell.
- Problem when using the setDataModel() function instead the of constructor to set the data model.
- Segmentation fault when the user tried to insert rows at the end of a sorted table.
- Selection problems with combo-boxes, problems with dragging combo/check boxes when the selection policy is SelectSingleRow, and problem when moving data using the middle mouse button on checkboxes.
- Spans behavior when a row or column was inserted or deleted.
- Focus policy to allow the user to cycle between widgets using the tab key.
- Error with deleting a single row 0.
- Error where the wrong row was deleted when the data model of this row was empty.
- Sorting of “Billable Rate” in Consultant example. Allows the table to decide what is the data type of the first entered data.
- Error in the traverseToCell() function.
- Printing error with cells overflow behavior on non-first pages.
- Selection error where the selection of multiple check- or combobox cells wasn't possible.
Added:
- User can use the tab key to apply the currently editing text without the necessity of switching to another cell. (bug#52 case #21407).
- Extended a behavior of QicsComboCellDisplay with QComboBox method calls.
Version 1.1.0 beta 2:
Fixed:
- Behavior of check box and combo box cell displayers.
- Selection error where the selection of multiple check- or combobox cells wasn't possible.
- Error where the wrong coordinates of cells were returned when frozen rows/columns were used.
- Error where the program failed when more than one row/column was deleted.
- Bug where the cell entry widgets didn't hide when frozen rows/columns were used.
- Bug where spans and hidden rows/columns didn't follow the data model.
- Selection of column when some cells of that column are already selected.
- Deselection of cells in selected column/row.
- Segmentation fault when the user selects a column.
- Style manager segmentation fault on clearing properties.
- Row/column selection problem.
- Ctrl-left mouse row selection problem.
- addSelection() function to use model coordinates.
- Parameters for function calls in the functions QicsColumn::minWidthInPixels() and QicsMappedDimensionManager::columnMinWidth().
- Position index for insertion calculating.
- Qt Designer plugin.
- Container property of the plugin.
Added:
- Constructor to use QicsTable with Qt Designer.
- Header size calculation for an expansion toggle.
Version 1.1.0 beta 1:
Fixed:
- Layout error where an extra blank space was shown at the bottom and right edges of the table.
- Bug where a selection made outside the main grid (in the header grids, for example) did not correctly cause the current cell in the main grid to be invalidated.
- Bug where double clicking a cell was not causing the cell to enter edit mode.
- Bug where clicking and dragging when the selection policy is SelectSingle or SelectSingleRow would cause the current cell to incorrectly move.
- Many memory leaks.
Added:
- traversalKeyEditBehavior grid property. This allows the programmer to control the behavior of the traversal keys when editing a cell.
- editForegroundColor and editBackgroundColor properties. These colors will be used by QicsTextCellDisplay objects when a cell is being edited.
- Visual row, column, and cell properties. This allows the programmer to set properties that stay on a particular visual row, column, or cell, regardless of the ordering of the model. See the HOWTO page "Model vs. Visual Indices in QicsTable" for more details.
- Repeating visual row and column flyweight objects. Row and column properties can now be set on a repeating series of rows or columns. See QicsRepeatingRow and QicsRepeatingColumn for details.
- toolTipText cell property. See QicsCellCommon::toolTipText for details.
- Row and column stretching. See QicsRow::stretchable() and QicsColumn::stretchable() for details.
- Row and column hiding. See QicsRow::hide(), QicsRow::show(), QicsColumn::hide(), and QicsColumn::show() for details.
- QicsTable::setDefaultRowHeightInPixels(), QicsTable::setDefaultRowHeightInChars(), QicsTable::setDefaultColumnWidthInPixels(), and QicsTable::setDefaultColumnWidthInChars().
- Increased performance in some areas.
Version 1.0.1:
Fixed:
- Traversal bug where some traversal actions would cause the previously traversed cell to stay selected.
- Traversal bug where traversing via keyboard, followed by traversing to a new cell via mouse, followed by traversing via keyboard would result in the current cell moving to an incorrect cell.
- Bug where freezing rows would result in the visibleColumns property setting being ignored.
- Bug where freezing rows and then calling QicsTable::setLeftHeaderVisible(false) would not remove one of the
row header grids. - Bug where clicking a column header in a table with a selectionPolicy of SINGLE_ROW or MULTIPLE_ROW caused incorrect cells to be selected.
Version 1.0.0:
Fixed:
- Drawing bug when cells in the first column of the table contain pixmaps.
Version 0.9.7 beta:
Fixed:
- Selection bug where "unselecting" cells (by ctrl-clicking them) caused an incorrect selection list.
- Build error using MSVC 7.0 compiler.
Added:
- QicsSelection now has the concept of "selected" vs. "unselected". This allows a QicsSelection object to also represent an "unselection".
- QicsTable::selectionActionList(), which represents the user's actual actions when selecting or unselecting cells in the table.
Version 0.9.6 beta:
Fixed:
- Bug where edit widget was not hidden from the current cell if the current cell was in a row that was just deleted.
- Bug where traversing out of a cell after editing it caused a change to the data model, even if the data was not changed by the user.
- Bug where two single clicks caused a cell to go into edit mode, rather than the correct double click.
- In QicsCheckCellDisplay, the valueChanged() method was not being called when the user changed the value of the check box.
- Change QicsCheckCellDisplay to draw using the palette's base color as the background for the check box.
- Bug where QicsCheckCellDisplay did not use the correct background color when drawing a cell that was selected.
- Bug where coordinates of mouse clicks in signals were relative to the internal grid widgets they originated from, rather than from the table widget.
Added:
- Property to QicsComboCellDisplay ("addValueToList") that specifies whether data values from the model that are not in the combo box's list should be added to the list.
- valueChanged() signals to QicsTable and QicsGridCommon. Cell coordinates passed in these signals are in visual coordinates.
- New demo, "consultant", which demonstrates the use of many different cell display objects, custom validators, custom formatters, as well as many other QicsTable features.
Version 0.9.5 beta:
Fixed:
- Layout bug with frozen rows/columns.
- Crash when destroying table under certain circumstances.
Added:
- Extremely significant increase in drawing, scrolling, and update speed.
- Changed visual display to look more like Excel and QTable (main grid background is now the colorgroup's base() color, some border and spacing values were changed).
- Documentation additions (customizing grids) and corrections.
