summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/Roster/RosterModel.h')
-rw-r--r--Swift/QtUI/Roster/RosterModel.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/Swift/QtUI/Roster/RosterModel.h b/Swift/QtUI/Roster/RosterModel.h
new file mode 100644
index 0000000..fc9b1f3
--- /dev/null
+++ b/Swift/QtUI/Roster/RosterModel.h
@@ -0,0 +1,29 @@
+#pragma once
+
+#include "Swift/QtUI/Roster/QtTreeWidgetItem.h"
+
+#include <QAbstractItemModel>
+#include <QList>
+
+namespace Swift {
+class RosterModel : public QAbstractItemModel {
+Q_OBJECT
+public:
+ RosterModel();
+ ~RosterModel();
+ void setRoot(QtTreeWidgetItem* tree);
+ int columnCount(const QModelIndex& parent = QModelIndex()) const;
+ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
+ QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const;
+ QModelIndex index(QtTreeWidgetItem* item) const;
+ QModelIndex parent(const QModelIndex& index) const;
+ int rowCount(const QModelIndex& parent = QModelIndex()) const;
+signals:
+ void itemExpanded(const QModelIndex& item, bool expanded);
+private slots:
+ void handleItemChanged(QtTreeWidgetItem* item);
+private:
+ QtTreeWidgetItem* tree_;
+};
+
+} \ No newline at end of file