diff options
Diffstat (limited to 'qt-ui/models.h')
-rw-r--r-- | qt-ui/models.h | 41 |
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 |