maxLibQt
|
A QComboBox
control which works with a tree-based data model & view, allowing drill-down selection of items.
More...
#include "TreeComboBox.h"
Inherits QComboBox.
Public Member Functions | |
TreeComboBox (QWidget *parent=Q_NULLPTR) | |
QModelIndex | addItem (const QString &text, const QModelIndex &parentIndex, const QVariant &userData=QVariant()) |
QModelIndex | addItem (const QIcon &icon, const QString &text, const QModelIndex &parentIndex, const QVariant &userData=QVariant()) |
void | addItem (const QString &text, const QVariant &userData=QVariant()) |
void | addItem (const QIcon &icon, const QString &text, const QVariant &userData=QVariant()) |
void | addItems (const QStringList &texts, const QModelIndex &parentIndex) |
void | addItems (const QStringList &texts) |
QModelIndex | addParentItem (const QString &text, const bool selectable=false, const QModelIndex &parentIndex=QModelIndex(), const QVariant &userData=QVariant()) |
QModelIndex | addParentItem (const QIcon &icon, const QString &text, const bool selectable=false, const QModelIndex &parentIndex=QModelIndex(), const QVariant &userData=QVariant()) |
bool | autoData () const |
QVariant | currentData (int role=Qt::UserRole) const |
Reimplemented from superclass. More... | |
int | currentIndex () const |
Reimplemented from superclass. More... | |
virtual bool | eventFilter (QObject *object, QEvent *event) override |
Reimplemented from superclass. More... | |
int | findData (const QVariant &data, int role=Qt::UserRole, Qt::MatchFlags flags=Qt::MatchFlags(Qt::MatchExactly|Qt::MatchCaseSensitive)) const |
Reimplemented from superclass. More... | |
int | findText (const QString &text, Qt::MatchFlags flags=Qt::MatchFlags(Qt::MatchExactly|Qt::MatchCaseSensitive)) const |
virtual void | hidePopup () override |
Reimplemented from superclass. More... | |
QModelIndex | insertItem (int index, const QMap< int, QVariant > &values=QMap< int, QVariant >(), const QModelIndex &parentIndex=QModelIndex(), const bool reload=true) |
Insert an item at given index (row), with optional data values, under parent item indicated by parentIndex. More... | |
QModelIndex | insertItem (int index, const QIcon &icon, const QString &text, const QModelIndex &parentIndex, const QVariant &userData=QVariant(), const bool reload=true) |
Like QComboBox::insertItem but adds ability to specify a parent item. More... | |
void | insertItem (int index, const QIcon &icon, const QString &text, const QVariant &userData=QVariant()) |
void | insertItem (int index, const QString &text, const QVariant &userData=QVariant()) |
void | insertItems (int index, const QStringList &texts, const QModelIndex &parentIndex) |
Inserts multiple items from a list as children of parentIndex. More... | |
void | insertItems (int index, const QStringList &texts) |
QModelIndex | insertParentItem (int index, const QIcon &icon, const QString &text, const bool selectable=false, const QModelIndex &parentIndex=QModelIndex(), const QVariant &userData=QVariant()) |
Inserts an item and marks is as a "parent" type item. More... | |
QVariant | itemData (int index, int role=Qt::UserRole) const |
Reimplemented from superclass. More... | |
QIcon | itemIcon (int index) const |
Reimplemented from superclass. More... | |
QString | itemText (int index) const |
virtual void | keyPressEvent (QKeyEvent *event) override |
Reimplemented from superclass. More... | |
void | setItemData (const QModelIndex &index, const QVariant &value, int role=Qt::UserRole) |
Sets the data role for the item at index to the specified value. More... | |
void | setItemData (int index, const QVariant &value, int role=Qt::UserRole) |
void | setItemIcon (int index, const QIcon &icon) |
void | setItemText (int index, const QString &text) |
void | setModel (QAbstractItemModel *model) |
Reimplemented from superclass. More... | |
void | setView (QAbstractItemView *itemView=Q_NULLPTR) |
Like QComboBox::setView but only accepts QTreeView (and derived) view classes. More... | |
virtual void | showPopup () override |
Reimplemented from superclass. More... | |
QTreeView * | view () const |
virtual void | wheelEvent (QWheelEvent *event) override |
Reimplemented from superclass. More... | |
Public Member Functions inherited from QComboBox | |
QComboBox (QWidget *parent) | |
virtual | ~QComboBox () |
void | activated (int index) |
void | activated (const QString &text) |
void | addItem (const QString &text, const QVariant &userData) |
void | addItem (const QIcon &icon, const QString &text, const QVariant &userData) |
void | addItems (const QStringList &texts) |
bool | autoCompletion () const const |
Qt::CaseSensitivity | autoCompletionCaseSensitivity () const const |
void | clear () |
void | clearEditText () |
QCompleter * | completer () const const |
int | count () const const |
QVariant | currentData (int role) const const |
int | currentIndex () const const |
void | currentIndexChanged (int index) |
void | currentIndexChanged (const QString &text) |
QString | currentText () const const |
void | currentTextChanged (const QString &text) |
bool | duplicatesEnabled () const const |
void | editTextChanged (const QString &text) |
virtual bool | event (QEvent *event) override |
int | findData (const QVariant &data, int role, Qt::MatchFlags flags) const const |
int | findText (const QString &text, Qt::MatchFlags flags) const const |
bool | hasFrame () const const |
void | highlighted (int index) |
void | highlighted (const QString &text) |
QSize | iconSize () const const |
virtual QVariant | inputMethodQuery (Qt::InputMethodQuery query) const const override |
void | insertItem (int index, const QString &text, const QVariant &userData) |
void | insertItem (int index, const QIcon &icon, const QString &text, const QVariant &userData) |
void | insertItems (int index, const QStringList &list) |
QComboBox::InsertPolicy | insertPolicy () const const |
void | insertSeparator (int index) |
bool | isEditable () const const |
QVariant | itemData (int index, int role) const const |
QAbstractItemDelegate * | itemDelegate () const const |
QIcon | itemIcon (int index) const const |
QString | itemText (int index) const const |
QLineEdit * | lineEdit () const const |
int | maxCount () const const |
int | maxVisibleItems () const const |
virtual const QMetaObject * | metaObject () const const |
int | minimumContentsLength () const const |
virtual QSize | minimumSizeHint () const const override |
QAbstractItemModel * | model () const const |
int | modelColumn () const const |
virtual int | qt_metacall (QMetaObject::Call, int, void **) |
virtual void * | qt_metacast (const char *) |
void | removeItem (int index) |
QModelIndex | rootModelIndex () const const |
void | setAutoCompletion (bool enable) |
void | setAutoCompletionCaseSensitivity (Qt::CaseSensitivity sensitivity) |
void | setCompleter (QCompleter *completer) |
void | setCurrentIndex (int index) |
void | setCurrentText (const QString &text) |
void | setDuplicatesEnabled (bool enable) |
void | setEditable (bool editable) |
void | setEditText (const QString &text) |
void | setFrame (bool) |
void | setIconSize (const QSize &size) |
void | setInsertPolicy (QComboBox::InsertPolicy policy) |
void | setItemData (int index, const QVariant &value, int role) |
void | setItemDelegate (QAbstractItemDelegate *delegate) |
void | setItemIcon (int index, const QIcon &icon) |
void | setItemText (int index, const QString &text) |
void | setLineEdit (QLineEdit *edit) |
void | setMaxCount (int max) |
void | setMaxVisibleItems (int maxItems) |
void | setMinimumContentsLength (int characters) |
void | setModel (QAbstractItemModel *model) |
void | setModelColumn (int visibleColumn) |
void | setRootModelIndex (const QModelIndex &index) |
void | setSizeAdjustPolicy (QComboBox::SizeAdjustPolicy policy) |
void | setValidator (const QValidator *validator) |
void | setView (QAbstractItemView *itemView) |
QComboBox::SizeAdjustPolicy | sizeAdjustPolicy () const const |
virtual QSize | sizeHint () const const override |
const QValidator * | validator () const const |
QAbstractItemView * | view () const const |
Public Member Functions inherited from QWidget | |
QWidget (QWidget *parent, Qt::WindowFlags f) | |
virtual | ~QWidget () |
bool | acceptDrops () const const |
QString | accessibleDescription () const const |
QString | accessibleName () const const |
QList< QAction * > | actions () const const |
void | activateWindow () |
void | addAction (QAction *action) |
void | addActions (QList< QAction * > actions) |
void | adjustSize () |
bool | autoFillBackground () const const |
QPalette::ColorRole | backgroundRole () const const |
QBackingStore * | backingStore () const const |
QSize | baseSize () const const |
QWidget * | childAt (const QPoint &p) const const |
QWidget * | childAt (int x, int y) const const |
QRect | childrenRect () const const |
QRegion | childrenRegion () const const |
void | clearFocus () |
void | clearMask () |
bool | close () |
QMargins | contentsMargins () const const |
QRect | contentsRect () const const |
Qt::ContextMenuPolicy | contextMenuPolicy () const const |
QCursor | cursor () const const |
void | customContextMenuRequested (const QPoint &pos) |
WId | effectiveWinId () const const |
void | ensurePolished () const const |
Qt::FocusPolicy | focusPolicy () const const |
QWidget * | focusProxy () const const |
QWidget * | focusWidget () const const |
const QFont & | font () const const |
QFontInfo | fontInfo () const const |
QFontMetrics | fontMetrics () const const |
QPalette::ColorRole | foregroundRole () const const |
QRect | frameGeometry () const const |
QSize | frameSize () const const |
const QRect & | geometry () const const |
void | getContentsMargins (int *left, int *top, int *right, int *bottom) const const |
QPixmap | grab (const QRect &rectangle) |
void | grabGesture (Qt::GestureType gesture, Qt::GestureFlags flags) |
void | grabKeyboard () |
void | grabMouse () |
void | grabMouse (const QCursor &cursor) |
int | grabShortcut (const QKeySequence &key, Qt::ShortcutContext context) |
QGraphicsEffect * | graphicsEffect () const const |
QGraphicsProxyWidget * | graphicsProxyWidget () const const |
bool | hasEditFocus () const const |
bool | hasFocus () const const |
virtual bool | hasHeightForWidth () const const |
bool | hasMouseTracking () const const |
bool | hasTabletTracking () const const |
int | height () const const |
virtual int | heightForWidth (int w) const const |
void | hide () |
Qt::InputMethodHints | inputMethodHints () const const |
void | insertAction (QAction *before, QAction *action) |
void | insertActions (QAction *before, QList< QAction * > actions) |
bool | isActiveWindow () const const |
bool | isAncestorOf (const QWidget *child) const const |
bool | isEnabled () const const |
bool | isEnabledTo (const QWidget *ancestor) const const |
bool | isEnabledToTLW () const const |
bool | isFullScreen () const const |
bool | isHidden () const const |
bool | isMaximized () const const |
bool | isMinimized () const const |
bool | isModal () const const |
bool | isTopLevel () const const |
bool | isVisible () const const |
bool | isVisibleTo (const QWidget *ancestor) const const |
bool | isWindow () const const |
bool | isWindowModified () const const |
QLayout * | layout () const const |
Qt::LayoutDirection | layoutDirection () const const |
QLocale | locale () const const |
void | lower () |
QPoint | mapFrom (const QWidget *parent, const QPoint &pos) const const |
QPoint | mapFromGlobal (const QPoint &pos) const const |
QPoint | mapFromParent (const QPoint &pos) const const |
QPoint | mapTo (const QWidget *parent, const QPoint &pos) const const |
QPoint | mapToGlobal (const QPoint &pos) const const |
QPoint | mapToParent (const QPoint &pos) const const |
QRegion | mask () const const |
int | maximumHeight () const const |
QSize | maximumSize () const const |
int | maximumWidth () const const |
int | minimumHeight () const const |
QSize | minimumSize () const const |
int | minimumWidth () const const |
void | move (int x, int y) |
void | move (const QPoint &) |
QWidget * | nativeParentWidget () const const |
QWidget * | nextInFocusChain () const const |
QRect | normalGeometry () const const |
void | overrideWindowFlags (Qt::WindowFlags flags) |
virtual QPaintEngine * | paintEngine () const const override |
const QPalette & | palette () const const |
QWidget * | parentWidget () const const |
QPoint | pos () const const |
QWidget * | previousInFocusChain () const const |
void | raise () |
QRect | rect () const const |
void | releaseKeyboard () |
void | releaseMouse () |
void | releaseShortcut (int id) |
void | removeAction (QAction *action) |
void | render (QPainter *painter, const QPoint &targetOffset, const QRegion &sourceRegion, QWidget::RenderFlags renderFlags) |
void | render (QPaintDevice *target, const QPoint &targetOffset, const QRegion &sourceRegion, QWidget::RenderFlags renderFlags) |
void | repaint () |
void | repaint (int x, int y, int w, int h) |
void | repaint (const QRect &rect) |
void | repaint (const QRegion &rgn) |
void | resize (int w, int h) |
void | resize (const QSize &) |
bool | restoreGeometry (const QByteArray &geometry) |
QByteArray | saveGeometry () const const |
void | scroll (int dx, int dy) |
void | scroll (int dx, int dy, const QRect &r) |
void | setAcceptDrops (bool on) |
void | setAccessibleDescription (const QString &description) |
void | setAccessibleName (const QString &name) |
void | setAttribute (Qt::WidgetAttribute attribute, bool on) |
void | setAutoFillBackground (bool enabled) |
void | setBackgroundRole (QPalette::ColorRole role) |
void | setBaseSize (int basew, int baseh) |
void | setBaseSize (const QSize &) |
void | setContentsMargins (int left, int top, int right, int bottom) |
void | setContentsMargins (const QMargins &margins) |
void | setContextMenuPolicy (Qt::ContextMenuPolicy policy) |
void | setCursor (const QCursor &) |
void | setDisabled (bool disable) |
void | setEditFocus (bool enable) |
void | setEnabled (bool) |
void | setFixedHeight (int h) |
void | setFixedSize (int w, int h) |
void | setFixedSize (const QSize &s) |
void | setFixedWidth (int w) |
void | setFocus () |
void | setFocus (Qt::FocusReason reason) |
void | setFocusPolicy (Qt::FocusPolicy policy) |
void | setFocusProxy (QWidget *w) |
void | setFont (const QFont &) |
void | setForegroundRole (QPalette::ColorRole role) |
void | setGeometry (const QRect &) |
void | setGeometry (int x, int y, int w, int h) |
void | setGraphicsEffect (QGraphicsEffect *effect) |
void | setHidden (bool hidden) |
void | setInputMethodHints (Qt::InputMethodHints hints) |
void | setLayout (QLayout *layout) |
void | setLayoutDirection (Qt::LayoutDirection direction) |
void | setLocale (const QLocale &locale) |
void | setMask (const QBitmap &bitmap) |
void | setMask (const QRegion ®ion) |
void | setMaximumHeight (int maxh) |
void | setMaximumSize (const QSize &) |
void | setMaximumSize (int maxw, int maxh) |
void | setMaximumWidth (int maxw) |
void | setMinimumHeight (int minh) |
void | setMinimumSize (const QSize &) |
void | setMinimumSize (int minw, int minh) |
void | setMinimumWidth (int minw) |
void | setMouseTracking (bool enable) |
void | setPalette (const QPalette &) |
void | setParent (QWidget *parent) |
void | setParent (QWidget *parent, Qt::WindowFlags f) |
void | setShortcutAutoRepeat (int id, bool enable) |
void | setShortcutEnabled (int id, bool enable) |
void | setSizeIncrement (const QSize &) |
void | setSizeIncrement (int w, int h) |
void | setSizePolicy (QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical) |
void | setSizePolicy (QSizePolicy) |
void | setStatusTip (const QString &) |
void | setStyle (QStyle *style) |
void | setStyleSheet (const QString &styleSheet) |
void | setTabletTracking (bool enable) |
void | setToolTip (const QString &) |
void | setToolTipDuration (int msec) |
void | setUpdatesEnabled (bool enable) |
void | setupUi (QWidget *widget) |
virtual void | setVisible (bool visible) |
void | setWhatsThis (const QString &) |
void | setWindowFilePath (const QString &filePath) |
void | setWindowFlag (Qt::WindowType flag, bool on) |
void | setWindowFlags (Qt::WindowFlags type) |
void | setWindowIcon (const QIcon &icon) |
void | setWindowIconText (const QString &) |
void | setWindowModality (Qt::WindowModality windowModality) |
void | setWindowModified (bool) |
void | setWindowOpacity (qreal level) |
void | setWindowRole (const QString &role) |
void | setWindowState (Qt::WindowStates windowState) |
void | setWindowTitle (const QString &) |
void | show () |
void | showFullScreen () |
void | showMaximized () |
void | showMinimized () |
void | showNormal () |
QSize | size () const const |
QSize | sizeIncrement () const const |
QSizePolicy | sizePolicy () const const |
void | stackUnder (QWidget *w) |
QString | statusTip () const const |
QStyle * | style () const const |
QString | styleSheet () const const |
bool | testAttribute (Qt::WidgetAttribute attribute) const const |
QString | toolTip () const const |
int | toolTipDuration () const const |
QWidget * | topLevelWidget () const const |
bool | underMouse () const const |
void | ungrabGesture (Qt::GestureType gesture) |
void | unsetCursor () |
void | unsetLayoutDirection () |
void | unsetLocale () |
void | update () |
void | update (const QRegion &rgn) |
void | update (int x, int y, int w, int h) |
void | update (const QRect &rect) |
void | updateGeometry () |
bool | updatesEnabled () const const |
QRegion | visibleRegion () const const |
QString | whatsThis () const const |
int | width () const const |
QWidget * | window () const const |
QString | windowFilePath () const const |
Qt::WindowFlags | windowFlags () const const |
QWindow * | windowHandle () const const |
QIcon | windowIcon () const const |
void | windowIconChanged (const QIcon &icon) |
QString | windowIconText () const const |
void | windowIconTextChanged (const QString &iconText) |
Qt::WindowModality | windowModality () const const |
qreal | windowOpacity () const const |
QString | windowRole () const const |
Qt::WindowStates | windowState () const const |
QString | windowTitle () const const |
void | windowTitleChanged (const QString &title) |
Qt::WindowType | windowType () const const |
WId | winId () const const |
int | x () const const |
int | y () const const |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
virtual | ~QObject () |
bool | blockSignals (bool block) |
const QObjectList & | children () const const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectInfo () const const |
void | dumpObjectInfo () |
void | dumpObjectTree () const const |
void | dumpObjectTree () |
QList< QByteArray > | dynamicPropertyNames () const const |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
bool | inherits (const char *className) const const |
void | installEventFilter (QObject *filterObj) |
bool | isWidgetType () const const |
bool | isWindowType () const const |
void | killTimer (int id) |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
QVariant | property (const char *name) const const |
void | removeEventFilter (QObject *obj) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const const |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
QThread * | thread () const const |
Public Member Functions inherited from QPaintDevice | |
virtual | ~QPaintDevice () |
int | colorCount () const const |
int | depth () const const |
int | devicePixelRatio () const const |
qreal | devicePixelRatioF () const const |
int | height () const const |
int | heightMM () const const |
int | logicalDpiX () const const |
int | logicalDpiY () const const |
bool | paintingActive () const const |
int | physicalDpiX () const const |
int | physicalDpiY () const const |
int | width () const const |
int | widthMM () const const |
Public Slots | |
void | clear () |
Like QComboBox::clear() but does NOT remove any items from the current data model. More... | |
void | keyboardSearchString (const QString &text) |
Reimplemented from superclass. More... | |
void | setAutoData (bool enable) |
int | setCurrentData (const QVariant &data, const int defaultIdx=-1, int role=Qt::UserRole, Qt::MatchFlags flags=Qt::MatchFlags(Qt::MatchExactly|Qt::MatchCaseSensitive)) |
This is a shortcut to using setCurrentIndex(findData()), and also returns the new index (like findData() would). More... | |
void | setCurrentIndex (int index) |
Reimplemented from superclass. More... | |
void | setCurrentIndex (const QModelIndex &index) |
Sets currently selected item to index using data model indices. More... | |
void | setCurrentText (const QString &text) |
Signals | |
void | currentDataChanged (const QVariant &data) |
void | currentModelIndexChanged (const QModelIndex &index) |
Protected Slots | |
void | adjustPopupHeight () |
Resize visible popup height when items are expanded/collapsed in the tree view. More... | |
void | adjustPopupWidth () |
Make sure tree view has a reasonable width. More... | |
int | buildMap (QModelIndex parent=QModelIndex(), int row=0) |
Emitted along with currentIndexChanged() signals and if item has valid Qt::UserRole data. More... | |
void | ensureCurrentExpanded () |
Called before showing popup to make sure the initial view size is correct. More... | |
void | reloadModel () |
Protected Member Functions | |
QModelIndex | indexAbove (QModelIndex index) |
Find first valid item index which if before given index. More... | |
QModelIndex | indexBelow (QModelIndex index) |
Find first valid item index which if after given index. More... | |
QModelIndex | lastIndex (const QModelIndex &index) |
Find last (greatest) valid item index in a set (eg. More... | |
bool | usePopup (QStyleOptionComboBox *option=NULL) |
Return true if style options are set to use a "popup" presentation style (typ. More... | |
Protected Member Functions inherited from QComboBox | |
virtual void | changeEvent (QEvent *e) override |
virtual void | contextMenuEvent (QContextMenuEvent *e) override |
virtual void | focusInEvent (QFocusEvent *e) override |
virtual void | focusOutEvent (QFocusEvent *e) override |
virtual void | hideEvent (QHideEvent *e) override |
void | initStyleOption (QStyleOptionComboBox *option) const const |
virtual void | inputMethodEvent (QInputMethodEvent *e) override |
virtual void | keyReleaseEvent (QKeyEvent *e) override |
virtual void | mousePressEvent (QMouseEvent *e) override |
virtual void | mouseReleaseEvent (QMouseEvent *e) override |
virtual void | paintEvent (QPaintEvent *e) override |
virtual void | resizeEvent (QResizeEvent *e) override |
virtual void | showEvent (QShowEvent *e) override |
Protected Member Functions inherited from QWidget | |
virtual void | actionEvent (QActionEvent *event) |
virtual void | closeEvent (QCloseEvent *event) |
void | create (WId window, bool initializeWindow, bool destroyOldWindow) |
void | destroy (bool destroyWindow, bool destroySubWindows) |
virtual void | dragEnterEvent (QDragEnterEvent *event) |
virtual void | dragLeaveEvent (QDragLeaveEvent *event) |
virtual void | dragMoveEvent (QDragMoveEvent *event) |
virtual void | dropEvent (QDropEvent *event) |
virtual void | enterEvent (QEvent *event) |
bool | focusNextChild () |
virtual bool | focusNextPrevChild (bool next) |
bool | focusPreviousChild () |
virtual void | initPainter (QPainter *painter) const const override |
virtual void | leaveEvent (QEvent *event) |
virtual int | metric (QPaintDevice::PaintDeviceMetric m) const const override |
virtual void | mouseDoubleClickEvent (QMouseEvent *event) |
virtual void | mouseMoveEvent (QMouseEvent *event) |
virtual void | moveEvent (QMoveEvent *event) |
virtual bool | nativeEvent (const QByteArray &eventType, void *message, long *result) |
virtual void | tabletEvent (QTabletEvent *event) |
void | updateMicroFocus () |
Protected Member Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Protected Member Functions inherited from QPaintDevice | |
QPaintDevice () | |
Protected Attributes | |
bool | m_autoData |
QPersistentModelIndex | m_currentIndex |
QMap< int, QPersistentModelIndex > | m_indexMap |
int | m_nextDataId |
QMap< QPersistentModelIndex, int > | m_rowMap |
bool | m_skipNextHide |
QTreeView * | m_view |
Additional Inherited Members | |
Public Types inherited from QComboBox | |
enum | InsertPolicy |
enum | SizeAdjustPolicy |
Public Types inherited from QWidget | |
enum | RenderFlag |
Public Types inherited from QPaintDevice | |
enum | PaintDeviceMetric |
Static Public Member Functions inherited from QComboBox | |
QString | tr (const char *s, const char *c, int n) |
QString | trUtf8 (const char *s, const char *c, int n) |
Static Public Member Functions inherited from QWidget | |
QWidget * | createWindowContainer (QWindow *window, QWidget *parent, Qt::WindowFlags flags) |
QWidget * | find (WId id) |
QWidget * | keyboardGrabber () |
QWidget * | mouseGrabber () |
void | setTabOrder (QWidget *first, QWidget *second) |
QString | tr (const char *s, const char *c, int n) |
QString | trUtf8 (const char *s, const char *c, int n) |
Static Public Member Functions inherited from QObject | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
Public Attributes inherited from QComboBox | |
AdjustToContents | |
AdjustToContentsOnFirstShow | |
AdjustToMinimumContentsLength | |
AdjustToMinimumContentsLengthWithIcon | |
InsertAfterCurrent | |
InsertAlphabetically | |
InsertAtBottom | |
InsertAtCurrent | |
InsertAtTop | |
InsertBeforeCurrent | |
NoInsert | |
Public Attributes inherited from QWidget | |
DrawChildren | |
DrawWindowBackground | |
IgnoreMask | |
typedef | RenderFlags |
Public Attributes inherited from QPaintDevice | |
PdmDepth | |
PdmDevicePixelRatio | |
PdmDevicePixelRatioScaled | |
PdmDpiX | |
PdmDpiY | |
PdmHeight | |
PdmHeightMM | |
PdmNumColors | |
PdmPhysicalDpiX | |
PdmPhysicalDpiY | |
PdmWidth | |
PdmWidthMM | |
A QComboBox
control which works with a tree-based data model & view, allowing drill-down selection of items.
TreeComboBox accepts a nested/tree data model and presents the first column of the data as choices in the dropdown. It respects the data model's settings as to which items are selectable or not (typically only the last-level "leaf" elements).
It works best when unique Qt::UserRole
data is set on the items and used for further access, but it should also work for index-based operations (currentIndex()
and setCurrentIndex()
. If your data does not already have unique Qt::UserRole
data, you can have TreeComboBox create it automatically by setting the autoData
property to true.
Although it is usually simpler to build the data model first and then assign it to the combo box, there are also methods included to build the model directly, just as with QComboBox
. In addition to the usual methods for adding items, there are new methods for adding parent items and specifying parents when adding sub-items.
It preserves keyboard navigation of items and expanding/collapsing parents. It tries to present a good user experience when the size of the popup selection box changes as ites are expanded/collapsed.
Unfortunately QComboBox
is not easy to subclass or modify since most of the class is private. This is a reasonable attempt, and is a bit similar to TreeViewComboBox
used in QtCreator, but geared towards much more general use.
Definition at line 92 of file TreeComboBox.h.
|
explicit |
Definition at line 109 of file TreeComboBox.cpp.
|
readwrite |
Definition at line 95 of file TreeComboBox.h.
|
inline |
Definition at line 152 of file TreeComboBox.h.
|
inline |
Definition at line 154 of file TreeComboBox.h.
Definition at line 161 of file TreeComboBox.h.
|
inline |
Definition at line 162 of file TreeComboBox.h.
|
inline |
Definition at line 156 of file TreeComboBox.h.
|
inline |
Definition at line 164 of file TreeComboBox.h.
|
inline |
Definition at line 177 of file TreeComboBox.h.
|
inline |
Definition at line 179 of file TreeComboBox.h.
|
protectedslot |
Resize visible popup height when items are expanded/collapsed in the tree view.
Definition at line 620 of file TreeComboBox.cpp.
|
protectedslot |
Make sure tree view has a reasonable width.
Definition at line 608 of file TreeComboBox.cpp.
|
inline |
Definition at line 105 of file TreeComboBox.h.
|
protectedslot |
Emitted along with currentIndexChanged() signals and if item has valid Qt::UserRole data.
We keep a mapping of original tree model data to the "flat" reprenstation which QComboBox understands. This allows eg. setCurrentIndex(int) and findData() to work as normal. We exclude any non-selectable items.
Definition at line 534 of file TreeComboBox.cpp.
|
slot |
Like QComboBox::clear() but does NOT remove any items from the current data model.
Instead, a new, blank, model is created.
Definition at line 240 of file TreeComboBox.cpp.
QVariant TreeComboBox::currentData | ( | int | role = Qt::UserRole | ) | const |
Reimplemented from superclass.
Reimplemented from QComboBox::currentData()
Definition at line 305 of file TreeComboBox.cpp.
|
signal |
int TreeComboBox::currentIndex | ( | ) | const |
Reimplemented from superclass.
Reimplemented from QComboBox::currentIndex()
Definition at line 245 of file TreeComboBox.cpp.
|
signal |
|
protectedslot |
Called before showing popup to make sure the initial view size is correct.
Definition at line 589 of file TreeComboBox.cpp.
Reimplemented from superclass.
Reimplemented from QComboBoxPrivateContainer::eventFilter()
Reimplemented from QObject.
Definition at line 464 of file TreeComboBox.cpp.
int TreeComboBox::findData | ( | const QVariant & | data, |
int | role = Qt::UserRole , |
||
Qt::MatchFlags | flags = Qt::MatchFlags(Qt::MatchExactly | Qt::MatchCaseSensitive) |
||
) | const |
Reimplemented from superclass.
Reimplemented from QComboBox::findData()
Definition at line 335 of file TreeComboBox.cpp.
|
inline |
Definition at line 125 of file TreeComboBox.h.
|
overridevirtual |
Reimplemented from superclass.
Reimplemented from QComboBox.
Definition at line 526 of file TreeComboBox.cpp.
|
protected |
Find first valid item index which if before given index.
Definition at line 348 of file TreeComboBox.cpp.
|
protected |
Find first valid item index which if after given index.
Definition at line 360 of file TreeComboBox.cpp.
QModelIndex TreeComboBox::insertItem | ( | int | index, |
const QMap< int, QVariant > & | values = QMap<int, QVariant>() , |
||
const QModelIndex & | parentIndex = QModelIndex() , |
||
const bool | reload = true |
||
) |
Insert an item at given index (row), with optional data values, under parent item indicated by parentIndex.
index | Row number at which to put item. |
values | Optional map of data role to value pairs to add to the item's data(). |
parentIndex | If not specified, current view rootIndex is used. |
reload | Used to indicate that this is the last insert in a series. When false, item model signals are blocked during data changes. |
Definition at line 173 of file TreeComboBox.cpp.
QModelIndex TreeComboBox::insertItem | ( | int | index, |
const QIcon & | icon, | ||
const QString & | text, | ||
const QModelIndex & | parentIndex, | ||
const QVariant & | userData = QVariant() , |
||
const bool | reload = true |
||
) |
Like QComboBox::insertItem but adds ability to specify a parent item.
index indicates row number in parent.
index | Row number at which to put item. |
parentIndex | If not specified, current view rootIndex is used. |
reload | Used to indicate that this is the last insert in a series. When false, item model signals are blocked during data changes. |
Definition at line 209 of file TreeComboBox.cpp.
|
inline |
Definition at line 159 of file TreeComboBox.h.
|
inline |
Definition at line 163 of file TreeComboBox.h.
void TreeComboBox::insertItems | ( | int | index, |
const QStringList & | texts, | ||
const QModelIndex & | parentIndex | ||
) |
Inserts multiple items from a list as children of parentIndex.
Definition at line 224 of file TreeComboBox.cpp.
|
inline |
Definition at line 165 of file TreeComboBox.h.
QModelIndex TreeComboBox::insertParentItem | ( | int | index, |
const QIcon & | icon, | ||
const QString & | text, | ||
const bool | selectable = false , |
||
const QModelIndex & | parentIndex = QModelIndex() , |
||
const QVariant & | userData = QVariant() |
||
) |
Inserts an item and marks is as a "parent" type item.
By default the parent item is only used to group other items and cannot be selected.
index | Row number at which to put item. |
parentIndex | If not specified, current view rootIndex is used. |
Definition at line 230 of file TreeComboBox.cpp.
QVariant TreeComboBox::itemData | ( | int | index, |
int | role = Qt::UserRole |
||
) | const |
Reimplemented from superclass.
Reimplemented from QComboBox::itemData()
Definition at line 310 of file TreeComboBox.cpp.
QIcon TreeComboBox::itemIcon | ( | int | index | ) | const |
Reimplemented from superclass.
Reimplemented from QComboBox::itemIcon()
Definition at line 318 of file TreeComboBox.cpp.
|
inline |
Definition at line 115 of file TreeComboBox.h.
|
slot |
Reimplemented from superclass.
Reimplemented from QComboBoxPrivate::keyboardSearchString()
Definition at line 380 of file TreeComboBox.cpp.
|
overridevirtual |
Reimplemented from superclass.
Reimplemented from QComboBox::keyPressEvent()
Reimplemented from QComboBox.
Definition at line 407 of file TreeComboBox.cpp.
|
protected |
Find last (greatest) valid item index in a set (eg.
under a parent), starting at index.
Definition at line 370 of file TreeComboBox.cpp.
|
protectedslot |
Definition at line 554 of file TreeComboBox.cpp.
|
inlineslot |
Definition at line 209 of file TreeComboBox.h.
|
slot |
This is a shortcut to using setCurrentIndex(findData()), and also returns the new index (like findData() would).
If data was not found, will set current item to defaultIdx (defalut is -1, an invalid index).
Definition at line 296 of file TreeComboBox.cpp.
|
slot |
Reimplemented from superclass.
Reimplemented from QComboBox::setCurrentIndex()
Definition at line 253 of file TreeComboBox.cpp.
|
slot |
Sets currently selected item to index using data model indices.
This is ultimately called by all other methods which may set the current item.
Definition at line 258 of file TreeComboBox.cpp.
|
inlineslot |
Definition at line 200 of file TreeComboBox.h.
void TreeComboBox::setItemData | ( | const QModelIndex & | index, |
const QVariant & | value, | ||
int | role = Qt::UserRole |
||
) |
Sets the data role for the item at index to the specified value.
Convenience function vs. accessing the data model directly.
Definition at line 329 of file TreeComboBox.cpp.
|
inline |
Definition at line 119 of file TreeComboBox.h.
|
inline |
Definition at line 121 of file TreeComboBox.h.
|
inline |
Definition at line 120 of file TreeComboBox.h.
void TreeComboBox::setModel | ( | QAbstractItemModel * | model | ) |
Reimplemented from superclass.
Reimplemented from QComboBox::setModel()
Definition at line 157 of file TreeComboBox.cpp.
void TreeComboBox::setView | ( | QAbstractItemView * | itemView = Q_NULLPTR | ) |
Like QComboBox::setView but only accepts QTreeView (and derived) view classes.
Definition at line 122 of file TreeComboBox.cpp.
|
overridevirtual |
Reimplemented from superclass.
Reimplemented from QComboBox.
Definition at line 520 of file TreeComboBox.cpp.
|
protected |
Return true if style options are set to use a "popup" presentation style (typ.
true on Linux/OS X if non-editable combo)
Definition at line 599 of file TreeComboBox.cpp.
|
inline |
Definition at line 104 of file TreeComboBox.h.
|
overridevirtual |
Reimplemented from superclass.
Reimplemented from QComboBox::wheelEvent()
Reimplemented from QComboBox.
Definition at line 391 of file TreeComboBox.cpp.
|
protected |
Definition at line 244 of file TreeComboBox.h.
|
protected |
Definition at line 242 of file TreeComboBox.h.
|
protected |
Definition at line 241 of file TreeComboBox.h.
|
protected |
Definition at line 243 of file TreeComboBox.h.
|
protected |
Definition at line 240 of file TreeComboBox.h.
|
protected |
Definition at line 245 of file TreeComboBox.h.
|
protected |
Definition at line 239 of file TreeComboBox.h.