MatrixTableItemDelegate.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef MATRIXTABLEITEMDELEGATE_H
  2. #define MATRIXTABLEITEMDELEGATE_H
  3. #include <QStyledItemDelegate>
  4. #include <QDialog>
  5. class QAbstractButton;
  6. class SchemeBar : public QDialog
  7. {
  8. Q_OBJECT
  9. public:
  10. SchemeBar(const QString &lLabel, const QString &rLabel, const QStringList &vlist, QWidget *parent = nullptr);
  11. private slots:
  12. void barClicked(QAbstractButton *btn);
  13. signals:
  14. void setValue(QString val);
  15. private:
  16. QString leftLabel;
  17. QString rightLabel;
  18. QStringList barValueList;
  19. };
  20. class MatrixTableItemDelegate : public QStyledItemDelegate
  21. {
  22. Q_OBJECT
  23. public:
  24. explicit MatrixTableItemDelegate(QWidget *parent = nullptr);
  25. signals:
  26. // QAbstractItemDelegate interface
  27. public:
  28. QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
  29. const QModelIndex &index) const Q_DECL_OVERRIDE;
  30. void setEditorData(QWidget *editor, const QModelIndex &index) const Q_DECL_OVERRIDE;
  31. void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const Q_DECL_OVERRIDE;
  32. };
  33. #endif // MATRIXTABLEITEMDELEGATE_H