diff options
Diffstat (limited to 'qt-ui/models.h')
-rw-r--r-- | qt-ui/models.h | 265 |
1 files changed, 178 insertions, 87 deletions
diff --git a/qt-ui/models.h b/qt-ui/models.h index df991047d..9a198f657 100644 --- a/qt-ui/models.h +++ b/qt-ui/models.h @@ -19,14 +19,16 @@ QFont defaultModelFont(); // Encapsulates Boilerplate. -class CleanerTableModel : public QAbstractTableModel{ +class CleanerTableModel : public QAbstractTableModel { Q_OBJECT public: explicit CleanerTableModel(QObject *parent = 0); - virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; + virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + protected: - void setHeaderDataStrings(const QStringList& headers); + void setHeaderDataStrings(const QStringList &headers); + private: QStringList headers; }; @@ -34,21 +36,27 @@ private: /* Encapsulates the tank_info global variable * to show on Qt's Model View System.*/ class TankInfoModel : public CleanerTableModel { -Q_OBJECT + Q_OBJECT public: - static TankInfoModel* instance(); + static TankInfoModel *instance(); - enum Column {DESCRIPTION, ML, BAR}; + enum Column { + DESCRIPTION, + ML, + BAR + }; TankInfoModel(); - /*reimp*/ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - /*reimp*/ int rowCount(const QModelIndex& parent = QModelIndex()) const; - /*reimp*/ bool insertRows(int row, int count, const QModelIndex& parent = QModelIndex()); - /*reimp*/ bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); - const QString& biggerString() const; + /*reimp*/ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + /*reimp*/ int rowCount(const QModelIndex &parent = QModelIndex()) const; + /*reimp*/ bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); + /*reimp*/ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + const QString &biggerString() const; void clear(); -public slots: +public +slots: void update(); + private: int rows; QString biggerEntry; @@ -56,21 +64,25 @@ private: /* Encapsulate ws_info */ class WSInfoModel : public CleanerTableModel { -Q_OBJECT + Q_OBJECT public: - static WSInfoModel* instance(); + static WSInfoModel *instance(); - enum Column {DESCRIPTION, GR}; + enum Column { + DESCRIPTION, + GR + }; WSInfoModel(); - /*reimp*/ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - /*reimp*/ int rowCount(const QModelIndex& parent = QModelIndex()) const; - /*reimp*/ bool insertRows(int row, int count, const QModelIndex& parent = QModelIndex()); - /*reimp*/ bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); - const QString& biggerString() const; + /*reimp*/ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + /*reimp*/ int rowCount(const QModelIndex &parent = QModelIndex()) const; + /*reimp*/ bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); + /*reimp*/ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + const QString &biggerString() const; void clear(); void update(); void updateInfo(); + private: int rows; QString biggerEntry; @@ -79,27 +91,38 @@ private: /* Encapsulation of the Cylinder Model, that presents the * Current cylinders that are used on a dive. */ class CylindersModel : public CleanerTableModel { -Q_OBJECT + Q_OBJECT public: - enum Column {REMOVE, TYPE, SIZE, WORKINGPRESS, START, END, O2, HE, /* DEPTH, */ COLUMNS}; - - explicit CylindersModel(QObject* parent = 0); + enum Column { + REMOVE, + TYPE, + SIZE, + WORKINGPRESS, + START, + END, + O2, + HE, + /* DEPTH, */ COLUMNS + }; + + explicit CylindersModel(QObject *parent = 0); static CylindersModel *instance(); - /*reimp*/ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - /*reimp*/ int rowCount(const QModelIndex& parent = QModelIndex()) const; - /*reimp*/ Qt::ItemFlags flags(const QModelIndex& index) const; - /*reimp*/ bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + /*reimp*/ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + /*reimp*/ int rowCount(const QModelIndex &parent = QModelIndex()) const; + /*reimp*/ Qt::ItemFlags flags(const QModelIndex &index) const; + /*reimp*/ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); - void passInData(const QModelIndex& index, const QVariant& value); + void passInData(const QModelIndex &index, const QVariant &value); void add(); void clear(); void update(); void setDive(struct dive *d); - cylinder_t *cylinderAt(const QModelIndex& index); + cylinder_t *cylinderAt(const QModelIndex &index); bool changed; -public slots: - void remove(const QModelIndex& index); +public +slots: + void remove(const QModelIndex &index); private: struct dive *current; @@ -109,26 +132,31 @@ private: /* Encapsulation of the Weight Model, that represents * the current weights on a dive. */ class WeightModel : public CleanerTableModel { -Q_OBJECT + Q_OBJECT public: - enum Column {REMOVE, TYPE, WEIGHT}; + enum Column { + REMOVE, + TYPE, + WEIGHT + }; explicit WeightModel(QObject *parent = 0); - /*reimp*/ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - /*reimp*/ int rowCount(const QModelIndex& parent = QModelIndex()) const; - /*reimp*/ Qt::ItemFlags flags(const QModelIndex& index) const; - /*reimp*/ bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + /*reimp*/ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + /*reimp*/ int rowCount(const QModelIndex &parent = QModelIndex()) const; + /*reimp*/ Qt::ItemFlags flags(const QModelIndex &index) const; + /*reimp*/ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); - void passInData(const QModelIndex& index, const QVariant& value); + void passInData(const QModelIndex &index, const QVariant &value); void add(); void clear(); void update(); void setDive(struct dive *d); - weightsystem_t *weightSystemAt(const QModelIndex& index); + weightsystem_t *weightSystemAt(const QModelIndex &index); bool changed; -public slots: - void remove(const QModelIndex& index); +public +slots: + void remove(const QModelIndex &index); private: struct dive *current; @@ -140,27 +168,43 @@ private: */ struct TreeItem { - Q_DECLARE_TR_FUNCTIONS (TreeItemDT); + Q_DECLARE_TR_FUNCTIONS(TreeItemDT); + public: virtual ~TreeItem(); TreeItem(); - virtual QVariant data (int column, int role) const; - virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + virtual QVariant data(int column, int role) const; + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); virtual Qt::ItemFlags flags(const QModelIndex &index) const; int row() const; - QList<TreeItem*> children; + QList<TreeItem *> children; TreeItem *parent; }; struct DiveItem : public TreeItem { - enum Column {NR, DATE, RATING, DEPTH, DURATION, TEMPERATURE, TOTALWEIGHT, - SUIT, CYLINDER, NITROX, SAC, OTU, MAXCNS, LOCATION, COLUMNS }; + enum Column { + NR, + DATE, + RATING, + DEPTH, + DURATION, + TEMPERATURE, + TOTALWEIGHT, + SUIT, + CYLINDER, + NITROX, + SAC, + OTU, + MAXCNS, + LOCATION, + COLUMNS + }; virtual QVariant data(int column, int role) const; int diveId; - virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); - virtual Qt::ItemFlags flags(const QModelIndex& index) const; + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + virtual Qt::ItemFlags flags(const QModelIndex &index) const; QString displayDate() const; QString displayDuration() const; QString displayDepth() const; @@ -172,14 +216,13 @@ struct DiveItem : public TreeItem { struct TripItem; -class TreeModel : public QAbstractItemModel -{ +class TreeModel : public QAbstractItemModel { Q_OBJECT public: TreeModel(QObject *parent = 0); virtual ~TreeModel(); - virtual QVariant data(const QModelIndex &index, int role) const; + virtual QVariant data(const QModelIndex &index, int role) 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; @@ -193,40 +236,72 @@ protected: class DiveTripModel : public TreeModel { Q_OBJECT public: - enum Column {NR, DATE, RATING, DEPTH, DURATION, TEMPERATURE, TOTALWEIGHT, - SUIT, CYLINDER, NITROX, SAC, OTU, MAXCNS, LOCATION, COLUMNS }; - - enum ExtraRoles{STAR_ROLE = Qt::UserRole + 1, DIVE_ROLE, TRIP_ROLE, SORT_ROLE, DIVE_IDX}; - enum Layout{TREE, LIST, CURRENT}; + enum Column { + NR, + DATE, + RATING, + DEPTH, + DURATION, + TEMPERATURE, + TOTALWEIGHT, + SUIT, + CYLINDER, + NITROX, + SAC, + OTU, + MAXCNS, + LOCATION, + COLUMNS + }; + + enum ExtraRoles { + STAR_ROLE = Qt::UserRole + 1, + DIVE_ROLE, + TRIP_ROLE, + SORT_ROLE, + DIVE_IDX + }; + enum Layout { + TREE, + LIST, + CURRENT + }; Qt::ItemFlags flags(const QModelIndex &index) const; virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); - DiveTripModel(QObject* parent = 0); + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + DiveTripModel(QObject *parent = 0); Layout layout() const; void setLayout(Layout layout); + private: void setupModelData(); - QMap<dive_trip_t*, TripItem*> trips; + QMap<dive_trip_t *, TripItem *> trips; Layout currentLayout; }; -class DiveComputerModel : public CleanerTableModel -{ +class DiveComputerModel : public CleanerTableModel { Q_OBJECT public: - enum {REMOVE, MODEL, ID, NICKNAME}; + enum { + REMOVE, + MODEL, + ID, + NICKNAME + }; DiveComputerModel(QMultiMap<QString, DiveComputerNode> &dcMap, QObject *parent = 0); - virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; - virtual Qt::ItemFlags flags(const QModelIndex& index) const; - virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; + virtual Qt::ItemFlags flags(const QModelIndex &index) const; + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); void update(); void keepWorkingList(); void dropWorkingList(); -public slots: - void remove(const QModelIndex& index); +public +slots: + void remove(const QModelIndex &index); + private: int numRows; QMultiMap<QString, DiveComputerNode> dcWorkingMap; @@ -235,11 +310,27 @@ private: class YearlyStatisticsModel : public TreeModel { Q_OBJECT public: - enum { YEAR,DIVES,TOTAL_TIME,AVERAGE_TIME,SHORTEST_TIME,LONGEST_TIME,AVG_DEPTH,MIN_DEPTH, - MAX_DEPTH,AVG_SAC,MIN_SAC,MAX_SAC,AVG_TEMP,MIN_TEMP,MAX_TEMP,COLUMNS}; + enum { + YEAR, + DIVES, + TOTAL_TIME, + AVERAGE_TIME, + SHORTEST_TIME, + LONGEST_TIME, + AVG_DEPTH, + MIN_DEPTH, + MAX_DEPTH, + AVG_SAC, + MIN_SAC, + MAX_SAC, + AVG_TEMP, + MIN_TEMP, + MAX_TEMP, + COLUMNS + }; virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - YearlyStatisticsModel(QObject* parent = 0); + YearlyStatisticsModel(QObject *parent = 0); void update_yearly_stats(); }; @@ -262,8 +353,7 @@ struct TablePrintItem { unsigned int colorBackground; }; -class TablePrintModel : public QAbstractTableModel -{ +class TablePrintModel : public QAbstractTableModel { Q_OBJECT private: @@ -277,7 +367,7 @@ public: void insertRow(int index = -1); void callReset(); - QVariant data(const QModelIndex &index, int role) const; + QVariant data(const QModelIndex &index, int role) const; bool setData(const QModelIndex &index, const QVariant &value, int role); int rowCount(const QModelIndex &parent) const; int columnCount(const QModelIndex &parent) const; @@ -287,8 +377,7 @@ public: * this model is used when printing a data table under a profile. it requires * some exact usage of setSpan(..) on the target QTableView widget. */ -class ProfilePrintModel : public QAbstractTableModel -{ +class ProfilePrintModel : public QAbstractTableModel { Q_OBJECT private: @@ -303,13 +392,14 @@ public: void setDive(struct dive *divePtr); }; -class GasSelectionModel : public QStringListModel{ +class GasSelectionModel : public QStringListModel { Q_OBJECT public: - static GasSelectionModel* instance(); - Qt::ItemFlags flags(const QModelIndex& index) const; - virtual QVariant data(const QModelIndex& index, int role) const; -public slots: + static GasSelectionModel *instance(); + Qt::ItemFlags flags(const QModelIndex &index) const; + virtual QVariant data(const QModelIndex &index, int role) const; +public +slots: void repopulate(); }; @@ -317,11 +407,12 @@ public slots: class LanguageModel : public QAbstractListModel { Q_OBJECT public: - static LanguageModel* instance(); - virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; + static LanguageModel *instance(); + virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; + private: - LanguageModel(QObject* parent = 0); + LanguageModel(QObject *parent = 0); QStringList languages; }; |