More InfoThe QicsTable Advantage
Qt Home

QicsTable Home
Change Log
Features
Documentation
Request A Quote
Download

Related Products

GraphPak
KDTools
KD Gantt


Whitepapers

Best Practices in GUI Development
Porting Motif Applications to Qt
Beyond Qtable
Turbocharging Qt Applications
Testing Qt Applications

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 "&nbsp;" 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.
Added:
  • 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.
Known issues:

  • 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.

   


Prefer to talk to a live sales advisor? Call 617.621.0060