diff options
Diffstat (limited to 'Swift/QtUI/QtFormResultItemModel.h')
-rw-r--r-- | Swift/QtUI/QtFormResultItemModel.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Swift/QtUI/QtFormResultItemModel.h b/Swift/QtUI/QtFormResultItemModel.h new file mode 100644 index 0000000..f383f74 --- /dev/null +++ b/Swift/QtUI/QtFormResultItemModel.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2012 Tobias Markmann + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include <QAbstractTableModel> + +#include <Swiften/Elements/Form.h> + +namespace Swift { + +class QtFormResultItemModel : public QAbstractTableModel { + Q_OBJECT + public: + QtFormResultItemModel(QObject* parent); + QtFormResultItemModel(QObject* parent, Form::ref formResult); + + void setForm(Form::ref formResult); + const Form::ref getForm() const; + + virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const; + virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; + virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; + virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + + private: + const std::string getFieldValue(const Form::FormItem& item, const int column) const; + + private: + Form::ref formResult_; +}; + +} |