#include <qdbtcombocell.h>
Inheritance diagram for QdbtComboCell:
Public Types | |
enum | paintModifiers { NO_MODIF = 0x0000, SUPRESS_BORDER = 0x0001 } |
Public Methods | |
QdbtComboCell () | |
QdbtComboCell (const QdbtComboCell &) | |
QdbtComboCell (int value, int align=Qt::AlignLeft) | |
virtual | ~QdbtComboCell () |
virtual QString | text () const |
virtual int | widthHint (const QFontMetrics &fm) const |
virtual int | heightHint (const QFontMetrics &fm) const |
void | setValue (int value) |
int | value () const |
void | setAlignment (int alignment) |
int | alignment () const |
virtual const QColor & | color (QdbtBaseTabular *) const |
virtual const QColor & | background (QdbtBaseTabular *) const |
virtual void | setEditable (bool state) |
bool | isEditable () const |
void | rightButtonClicked (QdbtBaseTabular *tab, int row, int col) const |
Protected Methods | |
virtual QWidget * | editor (QdbtBaseTabular *) const |
virtual void | paint (QPainter *p, QdbtBaseTabular *t, const QRect &r, bool selected, bool editing=FALSE) |
virtual void | paintFocus (QPainter *p, QdbtBaseTabular *t, const QRect &r, bool, bool=FALSE) |
virtual QRect | getTextArea () const |
virtual QRect | getEditArea (int width) const |
virtual QdbtBaseCell * | clone (QdbtBaseTabular *) const |
virtual bool | beginEdit (QdbtBaseTabular *, int row, int col, const QRect cellGeometry) const |
virtual bool | acceptEdit (QdbtBaseTabular *, int row, int col) |
virtual bool | cancelEdit (QdbtBaseTabular *, int row, int col) |
virtual bool | mouseEvent (QdbtBaseTabular *, int row, int col, QMouseEvent *e, const QRect cellGeometry) |
virtual bool | keyEvent (QdbtBaseTabular *, int row, int col, QKeyEvent *e, const QRect cellGeometry) |
virtual QStringList | contentOfPopupMenu () const |
void | paintMethod (QPainter *p, QdbtBaseTabular *t, const QRect &r, bool selected, bool editing=FALSE, int modif=NO_MODIF) |
void | paintFocusMethod (QPainter *p, QdbtBaseTabular *t, const QRect &r, bool, bool=FALSE, int modif=NO_MODIF) |
virtual void | setEditorEnabled (QdbtBaseTabular *, bool) const |
virtual void | moveEditor (QdbtBaseTabular *, const QRect cellGeometry) const |
bool | aboutToBeEdited (QdbtBaseTabular *) const |
void | notifyOnEditResult (QdbtBaseTabular *tab, int row, int col, int result, QString oldText) |
QFont | font (QdbtBaseTabular *) const |
bool | prepareEditor (QdbtBaseTabular *tab, const QRect &geom) const |
bool | cleanupEditor (QdbtBaseTabular *tab) const |
Static Protected Attributes | |
int | MASK_EDITABLE = 0x0001 |
int | MASK_SELECTABLE = 0x0002 |
int | MASK_SELECTED = 0x0004 |
int | bw = 4 |
The cell's selection list is stored encapsulated into the virtual function contentOfPopupMenu(), that returns the list of all available choices as a list of strings.
The cell itself is not aware of its width and height, but can compute its preferred size given the font metrics that are used for the text.
The alignment of the text displayed in the combo box can be controlled using setAlignment().
|
Enum-Type for modifiers, that may be used to change the way, a cell is being painted. |
|
Constructs a cell with the following properties:
|
|
This constructor copy the supplied cell |
|
Constructs a cell with the following properties:
|
|
Destroys the cell |
|
This function interacts with the table and clarifies, if a new editing session may be started. If this function returns
|
|
After editing has been done (and e.g. Return/Enter has been pressed), this function evaluates if the modified cell content is acceptable (when a pattern for the cell's column has been set, this pattern is being matched) and notifies the user on the edit's outcome. This function retreives the current value from the editor and stores it within the table's cell (if accepted) Reimplemented from QdbtIntCell. |
|
Returns the alignment for placement of the number within the cell
|
|
This function computes the background color for a table's cell. This color is generated from the table-component's forground color, if it is existing. If not (e.g. if the pointer to the tabular tab is not supplied correctly), a default color or white is supplied. Reimplemented in QdbtTableCell. |
|
Begin a new edit session. For this purpose a line editor is being initialized and show at the place, that is being occupied by the table's cells at row, col with the geometry cellGeometry Reimplemented from QdbtIntCell. |
|
Reimplemented for internal reasons; the API is not affected. Reimplemented from QdbtIntCell. |
|
This member cleans up a cell's editor and ensures that the editor is not visible any longer.
|
|
This abstract method is being used to produce a new instance with exactly the same internal state as the original object was. If is being used whenever a copy of a cell has to be produced, e.g. when changing cells within the tabular widget's table matrix. For initializing the new cell properly, the context of the cell (the tabular widget, that it is located in) is being transfered to the clone() function.
Reimplemented from QdbtIntCell. Reimplemented in QdbtBorderlessComboCell. |
|
This function computes the forground color for a table's cell. This color is generated from the table-component's forground color, if it is existing. If not (e.g. if the pointer to the tabular tab is not supplied correctly), a default color or black is supplied. Reimplemented in QdbtTableCell. |
|
This method stores the content of a popup menu. Currently a subclass of QdbtComboCell has to be created to overwrite the content of the combo box. |
|
This functions serves to determine the editor widget associated to a table cell. This function should be provided within a derived class, since the function determining if a tabular contains the keyboard focus relies on it. However it is safe to return 0, if no editor may be returned or even is only produced on demand. Reimplemented from QdbtIntCell. |
|
Read the font, that has been set for the QdbtTabular Widget. This font should be used for all text-editor facilities.
|
|
Returns the area inside the cell, where the edit focus may be placed. The coordinates of the rectangle are in pixels and relative to the cell. The top left of the cell has coordinates (0,0). Same as getTextArea() for this cell type. Reimplemented from QdbtIntCell. |
|
Returns the area inside the cell, where the text is being drawn. The coordinates of the rectangle are in pixels and relative to the cell. The top left of the cell has coordinates (0,0). Same as getEditArea() for this cell type. Reimplemented from QdbtIntCell. |
|
Returns the preferred height of the cell. The height is computet from the font metrics and incorporates border spacings.
Reimplemented from QdbtIntCell. Reimplemented in QdbtBorderlessComboCell. |
|
Returns
|
|
Reimplemented for internal reasons; the API is not affected. Reimplemented from QdbtBaseCell. |
|
Reimplemented for internal reasons; the API is not affected. Reimplemented from QdbtBaseCell. |
|
This method is called whenever a table cell is being edited and the table is repainted. The method should check if the geometry of handed over is the same as the geometry applied to the editor widget and - if not - should resize or move the editor widget to the correct position. The default implementation determines the editor widget by calling editor() and moves it to the correct location. |
|
This function interacts with the tabular components and may be used to communicate the result of an edit session to the remaining programm parts. |
|
Reimplemented for internal reasons; the API is not affected. Reimplemented from QdbtIntCell. Reimplemented in QdbtBorderlessComboCell. |
|
Reimplemented for internal reasons; the API is not affected. Reimplemented from QdbtBaseCell. Reimplemented in QdbtBorderlessComboCell. |
|
This method actually paints the combo box focus rectangle cell according to its current configuration |
|
This method actually paints the combo box cell according to its current configuration |
|
Prepare the cell's editor for the about-to-be-started edit session.
|
|
This functions informs the user, that the right mouse buttons has been pressed on top of the cell in row row and col col. This method should be used within each of the editor widgets mapped on top of the table components, for the 'normal' cells this signal is begin generated automatically. |
|
Set the alignment for placing the number within the cell Possible values are:
|
|
Sets whether or not the cell may be edited by the application user.
If state is
If state is
|
|
This function serves to temporaryly disable/enable the editor widget, if there is any. The default implementation determines the editor widget by calling editor() and disables or enables it according to enable. |
|
Set the value of the cell to value. |
|
Returns the text string of the cell ( taken from the contentOfPopupMenu() ). Reimplemented from QdbtIntCell. |
|
Return the current value of the cell. During an edit session the value of the cell is not changed. The new value is transfered as soon as the session has been accepted. |
|
Returns the preferred width of the cell. This is the actual cell's text's width including border spacings.
Reimplemented from QdbtIntCell. |
|
Default spacing value for tabular cells. |