diff options
Diffstat (limited to 'src/utils/comboboxdelegate.h')
-rw-r--r-- | src/utils/comboboxdelegate.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/utils/comboboxdelegate.h b/src/utils/comboboxdelegate.h new file mode 100644 index 0000000..85cc609 --- /dev/null +++ b/src/utils/comboboxdelegate.h @@ -0,0 +1,42 @@ +// Copyright (C) 2009 Lukas Lalinsky +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +#ifndef UTILS_COMBOBOXDELEGATE_H +#define UTILS_COMBOBOXDELEGATE_H + +#include <QItemDelegate> + +class ComboBoxDelegate : public QItemDelegate +{ + Q_OBJECT + +public: + ComboBoxDelegate(QObject *parent = 0); + + void setOptions(const QStringList &options); + void setEditable(bool editable); + + QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; + void setEditorData(QWidget *editor, const QModelIndex &index) const; + void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; + void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; + +protected: + QStringList m_options; + bool m_editable; +}; + +#endif |