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.h265
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;
};