summaryrefslogtreecommitdiffstats
path: root/qt-ui/models.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/models.h')
-rw-r--r--qt-ui/models.h41
1 files changed, 34 insertions, 7 deletions
diff --git a/qt-ui/models.h b/qt-ui/models.h
index 9e4666dc7..7bc7578b8 100644
--- a/qt-ui/models.h
+++ b/qt-ui/models.h
@@ -8,8 +8,11 @@
#define MODELS_H
#include <QAbstractTableModel>
+#include <QCoreApplication>
+
#include "../dive.h"
#include "../divelist.h"
+
/* Encapsulates the tank_info global variable
* to show on Qt`s Model View System.*/
class TankInfoModel : public QAbstractTableModel {
@@ -74,25 +77,49 @@ private:
/*! An AbstractItemModel for recording dive trip information such as a list of dives.
*
*/
-class DiveItem;
-class DiveTripModel : public QAbstractItemModel
-{
+
+
+
+struct TreeItemDT {
+ Q_DECLARE_TR_FUNCTIONS ( TreeItemDT );
public:
enum Column {NR, DATE, RATING, DEPTH, DURATION, TEMPERATURE, TOTALWEIGHT, SUIT, CYLINDER, NITROX, SAC, OTU, MAXCNS, LOCATION, COLUMNS };
+ virtual ~TreeItemDT();
+ int columnCount() const {
+ return COLUMNS;
+ };
+
+ virtual QVariant data ( int column, int role ) const;
+ int row() const;
+ QList<TreeItemDT *> childs;
+ TreeItemDT *parent;
+};
+
+struct TripItem;
+
+class DiveTripModel : public QAbstractItemModel
+{
+ Q_OBJECT
+
+public:
DiveTripModel(QObject *parent = 0);
+ ~DiveTripModel();
/*reimp*/ Qt::ItemFlags flags(const QModelIndex &index) const;
/*reimp*/ QVariant data(const QModelIndex &index, int role) const;
- /*reimp*/ QVariant headerData(int section, Qt::Orientation orientation, int role) const;
- /*reimp*/ int rowCount(const QModelIndex &parent) const;
+ /*reimp*/ QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
+ /*reimp*/ int rowCount(const QModelIndex &parent = QModelIndex()) const;
/*reimp*/ int columnCount(const QModelIndex &parent = QModelIndex()) const;
/*reimp*/ QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
/*reimp*/ QModelIndex parent(const QModelIndex &child) const;
+
private:
- DiveItem *itemForIndex(const QModelIndex& index) const;
- DiveItem *rootItem;
+ void setupModelData();
+
+ TreeItemDT *rootItem;
+ QMap<dive_trip_t*, TripItem*> trips;
};
#endif