From 01a3bd2cc6dcc035607cce61285ed9cc8d807b9b Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Thu, 23 May 2013 18:40:16 -0700 Subject: Add weightsystem delegate to enable editing of weightsystem This is very much analogous to the way cylinders are implemented. That means that just like with cylinders, if the user enters a new type and hits 'tab' before hitting 'enter', Subsurface will crash. Signed-off-by: Dirk Hohndel --- qt-ui/models.h | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'qt-ui/models.h') diff --git a/qt-ui/models.h b/qt-ui/models.h index 556651ffe..ad909abe1 100644 --- a/qt-ui/models.h +++ b/qt-ui/models.h @@ -21,7 +21,7 @@ Q_OBJECT public: static TankInfoModel* instance(); - enum Column { DESCRIPTION, ML, BAR}; + enum Column {DESCRIPTION, ML, BAR}; TankInfoModel(); /*reimp*/ QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; @@ -36,6 +36,28 @@ private: int rows; }; +/* Encapsulate ws_info */ +class WSInfoModel : public QAbstractTableModel { +Q_OBJECT +public: + static WSInfoModel* instance(); + + enum Column {DESCRIPTION, GR}; + WSInfoModel(); + + /*reimp*/ QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + /*reimp*/ int columnCount(const QModelIndex& parent = QModelIndex()) 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); + void clear(); + void update(); +private: + int rows; + +}; + /* Encapsulation of the Cylinder Model, that presents the * Current cylinders that are used on a dive. */ class CylindersModel : public QAbstractTableModel { @@ -70,6 +92,8 @@ class WeightModel : public QAbstractTableModel { Q_OBJECT public: enum Column {REMOVE, TYPE, WEIGHT, COLUMNS}; + + explicit WeightModel(QObject *parent = 0); /*reimp*/ QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; /*reimp*/ int columnCount(const QModelIndex& parent = QModelIndex()) const; /*reimp*/ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; @@ -77,6 +101,7 @@ public: /*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 add(); void clear(); void update(); -- cgit v1.2.3-70-g09d2