QdbtTabular
QdbtTabular is a multi-column/multi-select table widget based on
Qt
The QdbtTabular class represents a table widget
which looks similar to the `detailed list' of Windows 95.
For more information on how to use the widget as a programmer see the
online documentation.
Note: This project being moved over to
sourceforge.
Please look there for the latest updates.
Changed made by Sven Meyer for version 0.40:
- Extended selection modes
- Hide Column implemented (works with keyboardfocus traversal
now)
- Cell Color Scheme, including common bg color for not editable
cells
- Disable/Enable works
- Style Support
- According to the current mode of the tabular the selection
may be cleared or set
- findRow() fixed (was broken when introducing cascaded headers)
- Focus-Movement is not controlled by the Tabular-Widget
externally, so that it can be customized (e.g. locking
the keyboard focus to a row of the widget temporarily)
- PageUp and PageDown are treated by the table-view now.
Clicking a cell/Dragging now sets the keyboard-focus as well
- Editing is now being checked by a validator. The pattern for
this editor is set for an entire column.
- Programmer-API a little more orthogonolized
- Update-Behaviour tidied up, so that autoUpdate is honoured
throughout the tabular.
- Extension of TMAKE-Frojects for easier Windows-compilation
- To enable a 'clean' focus-traversal within the cells. each
editing session emits 'cellEditDone()' now.
- ESC may be used to cancel the editing of the current cell,
stopEdit() may be used to interrupt cell editing from
within the programm.
- support for column-exchange and 'named' columns
- cascaded headers may be resized (same now as normal headers)
- table and header(s) got out of sync when deleting columns
or using the middle mousebutton to autosize to header-element
which caused the table to shift and the lower scrollbar to
disappear
Changed in version 0.33:
- A table cell may now addionally have a border
- Headers support now multiline texts, cascading headers (with grouping) added
- The style is customizable, so that it can looks like QListView
- The editCell()-method now accepts a new parameter which traverses the
keyboard focus to the position being edited. Furthermore it may be called
in response to the signal cellEdited() emitted by the tabular widget.
Changed in version 0.32:
- Sven Meyer has provided me with the necessary changes to make the
widget work with Qt-2.00. For this version Qt-2.00 is required!
The previous version of the widget that is still based on Qt-1.xx
is also available:
Changed in version 0.31:
- Fixed pixmap inversion bug for non truecolor visuals.
- setPalette now works correctly (see example4).
- fixed an update problem that appears when using Qt 1.32
Changed in version 0.3:
- Added keyboard support.
- Fixed some problems with insert and removal of columns.
- Qt 1.31 is now required.
Changed in version 0.22:
- Fixed a bug in the resizing of the table.
- Changed the implementation of QdbtCellMatrix; adding rows is now faster.
- Moved the section widget to the public interface.
The table header can now be modified by inheriting the
QdbtSection widget.
- Improved the documentation,
it is now automatically
generated using doxygen.
Changed in version 0.21:
- Changed the QdbtLineEdit class. It now no longer is a modified copy of
Troll Tech's sources (which was illegal, so if you have this version,
please delete it), but a small class derived from QLineEdit.
Qt 1.30 is now required.
New features in version 0.2:
- Cells can be edited; whether or not a cell may be edited
can be controlled by the application programmer.
- Cells can be selected one row at a time, or individually.
selection can also be disabled.
- A tooltip appears if the mouse is resting on a cell whose
text is not completely visible. The tooltip will show the
complete text.
- Pixmaps of a cell can now be above/below/to the left/to the
right of the text.
- A lot of new member functions allowing to change the
behavior of the table and its cells.
- 3 new examples demonstrating the new features.
Qt look-a-like on-line documentation.
- Now uses tmake
to generate the Makefiles.
- Tested with Qt version 1.30.
Features already in version 0.1:
- Multiple rows can be selected one by one, or by click-and-drag.
- The table has a heading; a section for each column.
Each section is separated by a divider.
- Columns can be resized by click-and-dragging the divider;
a slide bar is visible while dragging.
- Clicking the middle mouse button on a divider will
resize the column, so that all cells in the column fit.
- Clicking on a section generates a signal.
- Automatic appearing/disappearing scrollbars.
- The table can be resized, empty rows and columns can be inserted.
- The font of the header and the cells can be set separately
- Texts that do not fit in a cell are truncated using dots (...)
- Fast cell access (Internally a 2D array of pointers to cells is used).
- Efficient and automatic widget updates.
- 100 % based on Qt components (QWidget/QFrame/QButton/QTableView).
Each cell in the table is a QdbtTabCell class, which has the
following features. Each cell can
- have it's own foreground/background color
- have an optional text
- have an optional pixmap
- be left/right/center aligned
Examples:
|
|
| snapshot 1
| snapshot 2
|
Last updated on 2000/03/21.
You are visitor number 4 since 26 october 1997.If you want you can go back to my homepage