mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Begin to Cleanup the Models, trying to reduce boilerplate.
The Model View system in Qt is *very* verbose, this is the beginning of a series of patches that will concentrate the boilerplate somewhere and reduce the amount of lines and will also try to make the code cleaner and easyer to understand, Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
parent
1b9a4f2bf8
commit
26c87fafc2
3 changed files with 31 additions and 19 deletions
|
@ -17,6 +17,19 @@
|
|||
|
||||
QFont defaultModelFont();
|
||||
|
||||
// Encapsulates Boilerplate.
|
||||
class CleanerTableModel : public QAbstractTableModel{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CleanerTableModel();
|
||||
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);
|
||||
private:
|
||||
QStringList headers;
|
||||
};
|
||||
|
||||
/* Encapsulates the tank_info global variable
|
||||
* to show on Qt's Model View System.*/
|
||||
class TankInfoModel : public QAbstractTableModel {
|
||||
|
@ -67,14 +80,12 @@ private:
|
|||
|
||||
/* Encapsulation of the Cylinder Model, that presents the
|
||||
* Current cylinders that are used on a dive. */
|
||||
class CylindersModel : public QAbstractTableModel {
|
||||
class CylindersModel : public CleanerTableModel {
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum Column {REMOVE, TYPE, SIZE, WORKINGPRESS, START, END, O2, HE, COLUMNS};
|
||||
enum Column {REMOVE, TYPE, SIZE, WORKINGPRESS, START, END, O2, HE};
|
||||
|
||||
explicit CylindersModel(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;
|
||||
/*reimp*/ int rowCount(const QModelIndex& parent = QModelIndex()) const;
|
||||
/*reimp*/ Qt::ItemFlags flags(const QModelIndex& index) const;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue