Quark  0.1
EnumItemDelegate.h++
Go to the documentation of this file.
1 #ifndef __libquark_gui_EnumItemDelegate_hxx
2 #define __libquark_gui_EnumItemDelegate_hxx
3 
4 #include <QComboBox>
5 #include <QModelIndex>
6 #include <QStyledItemDelegate>
7 
8 #include <quark/EnumTraits.h++>
9 
10 namespace quark {
11 namespace gui {
12 
21 template<typename E> class EnumItemDelegate : public QStyledItemDelegate
22 {
23  public:
24 
26  EnumItemDelegate(QObject *parent);
27 
29  virtual ~EnumItemDelegate();
30 
32  virtual QWidget *createEditor(QWidget *parent,
33  const QStyleOptionViewItem &option,
34  const QModelIndex &index) const;
35 
37  virtual void setEditorData(QWidget *editor, const QModelIndex &index) const;
38 
40  virtual void setModelData(QWidget *editor, QAbstractItemModel *model,
41  const QModelIndex &index) const;
42 
44  virtual void updateEditorGeometry(QWidget *editor,
45  const QStyleOptionViewItem &option,
46  const QModelIndex &index) const;
47 
48  // virtual void paint(QPainter *painter, const QStyleOptionViewItem &option,
49 // const QModelIndex &index) const;
50 
51  private:
52 
53  Q_DISABLE_COPY(EnumItemDelegate);
54 };
55 
56 #include <quark/EnumItemDelegateImpl.h++>
57 
58 } // namespace gui
59 } // namespace quark
60 
61 #endif // __libquark_gui_EnumItemDelegate_hxx
virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
Specified by QStyledItemDelegate.
virtual void setEditorData(QWidget *editor, const QModelIndex &index) const
Specified by QStyledItemDelegate.
virtual ~EnumItemDelegate()
Destructor.
Definition: BarChartView.h++:6
virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const
Specified by QStyledItemDelegate.
virtual QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
Specified by QStyledItemDelegate.
An item delegate that displays a dropdown list of all valid values of an enumeration.
Definition: EnumItemDelegate.h++:21
EnumItemDelegate(QObject *parent)
Constructor.