Kexi API Documentation (2.0 alpha)

KexiComboBoxTableEdit Class Reference

#include <kexicomboboxtableedit.h>

Inheritance diagram for KexiComboBoxTableEdit:

KexiInputTableEdit KexiComboBoxBase KexiTableEdit QWidget KexiDataItemInterface List of all members.

Detailed Description

Drop-down cell editor.

Definition at line 37 of file kexicomboboxtableedit.h.

Public Slots

virtual void moveCursorToEnd ()
 Implemented for KexiDataItemInterface.
virtual void moveCursorToStart ()
 Implemented for KexiDataItemInterface.
virtual void selectAll ()
 Implemented for KexiDataItemInterface.

Public Member Functions

 KexiComboBoxTableEdit (KexiTableViewColumn &column, QWidget *parent=0)
virtual ~KexiComboBoxTableEdit ()
virtual KexiTableViewColumncolumn () const
 Implemented for KexiComboBoxBase.
virtual KexiDB::Fieldfield () const
 Implemented for KexiComboBoxBase.
virtual QVariant origValue () const
 Implemented for KexiComboBoxBase.
virtual void setValueInternal (const QVariant &add, bool removeOld)
virtual QVariant value ()
 Note: Generally in current implementation this is integer > 0; may be null if no value is set.
virtual void clear ()
 Reimplement this and call this impl.: used to clear internal editor.
virtual bool valueChanged ()
virtual QVariant visibleValue ()
virtual void resize (int w, int h)
virtual void showFocus (const QRect &r, bool readOnly)
virtual void hideFocus ()
virtual void paintFocusBorders (QPainter *p, QVariant &cal, int x, int y, int w, int h)
virtual void setupContents (QPainter *p, bool focused, const QVariant &val, QString &txt, int &align, int &x, int &y_offset, int &w, int &h)
virtual bool handleKeyPress (QKeyEvent *ke, bool editorActive)
virtual int widthForValue (QVariant &val, const QFontMetrics &fm)
virtual void hide ()
virtual void show ()
virtual QSize totalSize () const
virtual void createInternalEditor (KexiDB::QuerySchema &schema)
virtual void handleAction (const QString &actionName)
virtual void handleCopyAction (const QVariant &value, const QVariant &visibleValue)

Protected Slots

void slotButtonClicked ()
void slotRowAccepted (KexiTableItem *item, int row)
 Call this from slot.
void slotItemSelected (KexiTableItem *item)
 Call this from slot.
void slotInternalEditorValueChanged (const QVariant &v)
 Call this from slot.
void slotLineEditTextChanged (const QString &s)
void slotPopupHidden ()

Protected Member Functions

void updateFocus (const QRect &r)
 internal
virtual bool eventFilter (QObject *o, QEvent *e)
virtual QWidgetinternalEditor () const
 Implemented for KexiComboBoxBase.
virtual void moveCursorToEndInInternalEditor ()
 Implemented for KexiComboBoxBase.
virtual void selectAllInInternalEditor ()
 Implemented for KexiComboBoxBase.
virtual void setValueInInternalEditor (const QVariant &value)
 Implemented for KexiComboBoxBase.
virtual QVariant valueFromInternalEditor ()
 Implemented for KexiComboBoxBase.
virtual void editRequested ()
 Implemented for KexiComboBoxBase.
virtual void acceptRequested ()
 Implemented for KexiComboBoxBase.
virtual QPoint mapFromParentToGlobal (const QPoint &pos) const
 Implemented for KexiComboBoxBase.
virtual int popupWidthHint () const
 Implemented for KexiComboBoxBase.
virtual void updateButton ()
 Implemented this to update button state.
virtual KexiComboBoxPopuppopup () const
virtual void setPopup (KexiComboBoxPopup *popup)

Protected Attributes

Private * d


Constructor & Destructor Documentation

KexiComboBoxTableEdit::KexiComboBoxTableEdit KexiTableViewColumn column,
QWidget parent = 0
 

Definition at line 64 of file kexicomboboxtableedit.cpp.

References d, KexiInputTableEdit::m_lineedit, KexiComboBoxBase::m_setVisibleValueOnSetValueInternal, slotButtonClicked(), and slotLineEditTextChanged().

KexiComboBoxTableEdit::~KexiComboBoxTableEdit  )  [virtual]
 

Definition at line 102 of file kexicomboboxtableedit.cpp.

References d.


Member Function Documentation

virtual void KexiComboBoxTableEdit::acceptRequested  )  [inline, protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 146 of file kexicomboboxtableedit.h.

References KexiTableEdit::acceptRequested().

void KexiComboBoxTableEdit::clear  )  [virtual]
 

Reimplement this and call this impl.: used to clear internal editor.

Reimplemented from KexiComboBoxBase.

Definition at line 195 of file kexicomboboxtableedit.cpp.

References KexiComboBoxBase::clear(), and KexiInputTableEdit::m_lineedit.

virtual KexiTableViewColumn* KexiComboBoxTableEdit::column  )  const [inline, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 46 of file kexicomboboxtableedit.h.

References KexiTableEdit::m_column.

Referenced by eventFilter(), paintFocusBorders(), resize(), setupContents(), show(), slotButtonClicked(), updateFocus(), and widthForValue().

void KexiComboBoxTableEdit::createInternalEditor KexiDB::QuerySchema schema  )  [virtual]
 

Todo:
subtype?
todo set d->internalEditor visible and use it to enable data entering by hand

Reimplemented from KexiTableEdit.

Definition at line 107 of file kexicomboboxtableedit.cpp.

References KexiCellEditorFactoryItem::className(), KexiCellEditorFactory::createEditor(), d, KexiDB::QuerySchema::expandedOrInternalField(), KexiDB::QueryColumnInfo::field, KexiDB::QueryColumnInfo::indexForVisibleLookupValue(), KexiCellEditorFactory::item(), KexiTableEdit::m_column, KexiInputTableEdit::m_lineedit, and KexiTableViewColumn::visibleLookupColumnInfo.

virtual void KexiComboBoxTableEdit::editRequested  )  [inline, protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 143 of file kexicomboboxtableedit.h.

References KexiTableEdit::editRequested().

Referenced by handleAction().

bool KexiComboBoxTableEdit::eventFilter QObject *  o,
QEvent *  e
[protected, virtual]
 

Reimplemented from KexiTableEdit.

Definition at line 348 of file kexicomboboxtableedit.cpp.

References column(), d, KexiDataItemInterface::isReadOnly(), KexiComboBoxBase::m_mouseBtnPressedWhenPopupVisible, KexiTableEdit::m_scrollView, and popup().

virtual KexiDB::Field* KexiComboBoxTableEdit::field  )  const [inline, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 49 of file kexicomboboxtableedit.h.

References KexiTableViewColumn::field(), and KexiTableEdit::m_column.

Referenced by setupContents(), and widthForValue().

void KexiComboBoxTableEdit::handleAction const QString actionName  )  [virtual]
 

Reimplemented after KexiInputTableEdit.

Reimplemented from KexiInputTableEdit.

Definition at line 427 of file kexicomboboxtableedit.cpp.

References editRequested(), KexiInputTableEdit::handleAction(), KexiInputTableEdit::m_lineedit, and setValueInInternalEditor().

void KexiComboBoxTableEdit::handleCopyAction const QVariant &  value,
const QVariant &  visibleValue
[virtual]
 

Reimplemented after KexiInputTableEdit. For a special case (combo box), visibleValue can be provided, so it can be copied to the clipboard instead of unreadable value.

Reimplemented from KexiInputTableEdit.

Definition at line 420 of file kexicomboboxtableedit.cpp.

bool KexiComboBoxTableEdit::handleKeyPress QKeyEvent *  ke,
bool  editorActive
[virtual]
 

Used to handle key press events for the item.

Reimplemented from KexiTableEdit.

Definition at line 298 of file kexicomboboxtableedit.cpp.

References KexiComboBoxBase::createPopup(), KexiComboBoxBase::handleKeyPressForPopup(), KexiComboBoxBase::m_internalEditorValueChanged, KexiComboBoxBase::m_userEnteredValue, KexiComboBoxBase::selectItemForEnteredValueInLookupTable(), and slotButtonClicked().

void KexiComboBoxTableEdit::hide  )  [virtual]
 

Reimplemented from KexiComboBoxBase.

Definition at line 283 of file kexicomboboxtableedit.cpp.

References d, and KexiComboBoxBase::hide().

void KexiComboBoxTableEdit::hideFocus  )  [virtual]
 

Hides additional elements that are needed for indicating that the current cell is selected. For reimplementation. By default does nothing.

Reimplemented from KexiDataItemInterface.

Definition at line 180 of file kexicomboboxtableedit.cpp.

References d.

QWidget * KexiComboBoxTableEdit::internalEditor  )  const [protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 367 of file kexicomboboxtableedit.cpp.

References KexiInputTableEdit::m_lineedit.

QPoint KexiComboBoxTableEdit::mapFromParentToGlobal const QPoint &  pos  )  const [protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 407 of file kexicomboboxtableedit.cpp.

References KexiTableEdit::m_scrollView.

void KexiComboBoxTableEdit::moveCursorToEnd  )  [virtual, slot]
 

Implemented for KexiDataItemInterface.

mark

Reimplemented from KexiInputTableEdit.

Definition at line 382 of file kexicomboboxtableedit.cpp.

References KexiInputTableEdit::m_lineedit.

Referenced by moveCursorToEndInInternalEditor().

void KexiComboBoxTableEdit::moveCursorToEndInInternalEditor  )  [protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 372 of file kexicomboboxtableedit.cpp.

References moveCursorToEnd().

void KexiComboBoxTableEdit::moveCursorToStart  )  [virtual, slot]
 

Implemented for KexiDataItemInterface.

mark

Reimplemented from KexiInputTableEdit.

Definition at line 387 of file kexicomboboxtableedit.cpp.

References KexiInputTableEdit::m_lineedit.

virtual QVariant KexiComboBoxTableEdit::origValue  )  const [inline, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 52 of file kexicomboboxtableedit.h.

References KexiDataItemInterface::m_origValue.

void KexiComboBoxTableEdit::paintFocusBorders QPainter *  p,
QVariant &  cal,
int  x,
int  y,
int  w,
int  h
[virtual]
 

Paints a border for the cell described by x, y, w, h on p painter. The cell's value is val (may be useful if you want to reimplement this method).

Reimplemented from KexiTableEdit.

Definition at line 209 of file kexicomboboxtableedit.cpp.

References column(), d, and KexiDataItemInterface::isReadOnly().

KexiComboBoxPopup * KexiComboBoxTableEdit::popup  )  const [protected, virtual]
 

Implements KexiComboBoxBase.

Definition at line 131 of file kexicomboboxtableedit.cpp.

References d.

Referenced by eventFilter(), resize(), slotButtonClicked(), and updateButton().

int KexiComboBoxTableEdit::popupWidthHint  )  const [protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 415 of file kexicomboboxtableedit.cpp.

References KexiTableEdit::m_leftMargin, KexiInputTableEdit::m_lineedit, and KexiTableEdit::m_rightMarginWhenFocused.

void KexiComboBoxTableEdit::resize int  w,
int  h
[virtual]
 

Reimplemented: resizes a view().

Reimplemented from KexiTableEdit.

Definition at line 152 of file kexicomboboxtableedit.cpp.

References column(), d, KexiDataItemInterface::isReadOnly(), KexiTableEdit::m_rightMargin, KexiTableEdit::m_rightMarginWhenFocused, KexiTableEdit::m_scrollView, popup(), and updateFocus().

void KexiComboBoxTableEdit::selectAll  )  [virtual, slot]
 

Implemented for KexiDataItemInterface.

Reimplemented from KexiInputTableEdit.

Definition at line 392 of file kexicomboboxtableedit.cpp.

References KexiInputTableEdit::m_lineedit.

Referenced by selectAllInInternalEditor().

void KexiComboBoxTableEdit::selectAllInInternalEditor  )  [protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 377 of file kexicomboboxtableedit.cpp.

References selectAll().

void KexiComboBoxTableEdit::setPopup KexiComboBoxPopup popup  )  [protected, virtual]
 

Implements KexiComboBoxBase.

Definition at line 136 of file kexicomboboxtableedit.cpp.

References d.

void KexiComboBoxTableEdit::setupContents QPainter *  p,
bool  focused,
const QVariant &  val,
QString txt,
int &  align,
int &  x,
int &  y_offset,
int &  w,
int &  h
[virtual]
 

Setups contents of the cell. As a special case, if there is lookup field schema defined, val already contains the visible value (usually the text) set by KexiTableView::paintcell(), so there is noo need to lookup the value in the combo box's popup.

Reimplemented from KexiTableEdit.

Definition at line 219 of file kexicomboboxtableedit.cpp.

References column(), d, field(), KexiDataItemInterface::isReadOnly(), KexiComboBoxBase::lookupFieldSchema(), KexiTableEdit::setupContents(), and KexiComboBoxBase::valueForString().

void KexiComboBoxTableEdit::setValueInInternalEditor const QVariant &  value  )  [protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 397 of file kexicomboboxtableedit.cpp.

References KexiInputTableEdit::m_lineedit.

Referenced by handleAction().

virtual void KexiComboBoxTableEdit::setValueInternal const QVariant &  add,
bool  removeOld
[inline, virtual]
 

Todo:
support more RowSourceType's, not only table
Todo:
errmsg
show

Reimplemented from KexiComboBoxBase.

Definition at line 54 of file kexicomboboxtableedit.h.

References KexiComboBoxBase::setValueInternal().

void KexiComboBoxTableEdit::show  )  [virtual]
 

Definition at line 290 of file kexicomboboxtableedit.cpp.

References column(), d, and KexiDataItemInterface::isReadOnly().

void KexiComboBoxTableEdit::showFocus const QRect &  r,
bool  readOnly
[virtual]
 

Displays additional elements that are needed for indicating that the current cell is selected. For example, combobox editor (KexiComboBoxTableEdit) moves and shows dropdown button. r is the rectangle for the cell. If readOnly is true, additional elements should be visually disabled, e.g. dropdown button of the combobox editor should be disabled. For reimplementation. By default does nothing.

Reimplemented from KexiDataItemInterface.

Definition at line 141 of file kexicomboboxtableedit.cpp.

References d, and updateFocus().

void KexiComboBoxTableEdit::slotButtonClicked  )  [protected, slot]
 

Definition at line 252 of file kexicomboboxtableedit.cpp.

References column(), d, KexiDataItemInterface::isReadOnly(), KexiComboBoxBase::m_mouseBtnPressedWhenPopupVisible, popup(), and KexiComboBoxBase::showPopup().

Referenced by handleKeyPress(), and KexiComboBoxTableEdit().

void KexiComboBoxTableEdit::slotInternalEditorValueChanged const QVariant &  v  )  [inline, protected, slot]
 

Call this from slot.

Reimplemented from KexiComboBoxBase.

Definition at line 116 of file kexicomboboxtableedit.h.

References KexiComboBoxBase::slotInternalEditorValueChanged().

Referenced by slotLineEditTextChanged().

void KexiComboBoxTableEdit::slotItemSelected KexiTableItem item  )  [inline, protected, virtual, slot]
 

Call this from slot.

Reimplemented from KexiComboBoxBase.

Definition at line 115 of file kexicomboboxtableedit.h.

References KexiComboBoxBase::slotItemSelected().

void KexiComboBoxTableEdit::slotLineEditTextChanged const QString s  )  [protected, slot]
 

Definition at line 322 of file kexicomboboxtableedit.cpp.

References slotInternalEditorValueChanged().

Referenced by KexiComboBoxTableEdit().

void KexiComboBoxTableEdit::slotPopupHidden  )  [protected, slot]
 

Definition at line 272 of file kexicomboboxtableedit.cpp.

References d.

void KexiComboBoxTableEdit::slotRowAccepted KexiTableItem item,
int  row
[inline, protected, virtual, slot]
 

Call this from slot.

Reimplemented from KexiComboBoxBase.

Definition at line 114 of file kexicomboboxtableedit.h.

References KexiComboBoxBase::slotRowAccepted().

QSize KexiComboBoxTableEdit::totalSize  )  const [virtual]
 

Returns:
total size of this editor, including popup button.

Definition at line 362 of file kexicomboboxtableedit.cpp.

References d.

void KexiComboBoxTableEdit::updateButton  )  [protected, virtual]
 

Implemented this to update button state.

Reimplemented from KexiComboBoxBase.

Definition at line 278 of file kexicomboboxtableedit.cpp.

References d, and popup().

void KexiComboBoxTableEdit::updateFocus const QRect &  r  )  [protected]
 

internal

Definition at line 170 of file kexicomboboxtableedit.cpp.

References column(), d, KexiDataItemInterface::isReadOnly(), and KexiTableEdit::moveChild().

Referenced by resize(), and showFocus().

virtual QVariant KexiComboBoxTableEdit::value  )  [inline, virtual]
 

Note: Generally in current implementation this is integer > 0; may be null if no value is set.

it &&

Todo:
don't return just 1st row, but use autocompletion feature and: show message box if entered text does not match!

Reimplemented from KexiComboBoxBase.

Definition at line 57 of file kexicomboboxtableedit.h.

References KexiComboBoxBase::value().

bool KexiComboBoxTableEdit::valueChanged  )  [virtual]
 

Returns:
true if editor's value is changed (compared to original value)

Reimplemented from KexiInputTableEdit.

Definition at line 201 of file kexicomboboxtableedit.cpp.

References KexiInputTableEdit::valueChanged(), and KexiComboBoxBase::valueChangedInternal().

QVariant KexiComboBoxTableEdit::valueFromInternalEditor  )  [protected, virtual]
 

Implemented for KexiComboBoxBase.

Implements KexiComboBoxBase.

Definition at line 402 of file kexicomboboxtableedit.cpp.

References KexiInputTableEdit::m_lineedit.

QVariant KexiComboBoxTableEdit::visibleValue  )  [virtual]
 

Reimplemented from KexiComboBoxBase.

Definition at line 185 of file kexicomboboxtableedit.cpp.

References KexiComboBoxBase::visibleValue().

int KexiComboBoxTableEdit::widthForValue QVariant &  val,
const QFontMetrics &  fm
[virtual]
 

Todo:
ok?

Reimplemented from KexiTableEdit.

Definition at line 327 of file kexicomboboxtableedit.cpp.

References column(), field(), KEXITV_MINIMUM_COLUMN_WIDTH, and KexiComboBoxBase::lookupFieldSchema().


Member Data Documentation

Private* KexiComboBoxTableEdit::d [protected]
 

Definition at line 160 of file kexicomboboxtableedit.h.

Referenced by createInternalEditor(), eventFilter(), hide(), hideFocus(), KexiComboBoxTableEdit(), paintFocusBorders(), popup(), resize(), setPopup(), setupContents(), show(), showFocus(), slotButtonClicked(), slotPopupHidden(), totalSize(), updateButton(), updateFocus(), and ~KexiComboBoxTableEdit().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for Kexi 2.0 alpha.
Documentation copyright © 2002-2007 the Kexi Team.
Generated on Tue Apr 1 20:49:50 2008 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003