mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add DiveListModel
This model will be used to show the dives in QML. This commit adds the model, and the means to link it to QML. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
bf882416f9
commit
b7e4b35cde
6 changed files with 392 additions and 4 deletions
100
qt-models/divelistmodel.h
Normal file
100
qt-models/divelistmodel.h
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
#ifndef DIVELISTMODEL_H
|
||||
#define DIVELISTMODEL_H
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include "dive.h"
|
||||
|
||||
class Dive {
|
||||
public:
|
||||
Dive(dive* d);
|
||||
|
||||
QString date() const;
|
||||
void setDate(const QString &date);
|
||||
|
||||
QString location() const;
|
||||
void setLocation(const QString &location);
|
||||
|
||||
QString sac() const;
|
||||
void setSac(const QString &sac);
|
||||
|
||||
QString gas() const;
|
||||
void setGas(const QString &gas);
|
||||
|
||||
QString cylinder() const;
|
||||
void setCylinder(const QString &cylinder);
|
||||
|
||||
QString suit() const;
|
||||
void setSuit(const QString &suit);
|
||||
|
||||
QString weight() const;
|
||||
void setWeight(const QString &weight);
|
||||
|
||||
QString temp() const;
|
||||
void setTemp(const QString &temp);
|
||||
|
||||
QString duration() const;
|
||||
void setDuration(const QString &duration);
|
||||
|
||||
QString depth() const;
|
||||
void setDepth(const QString &depth);
|
||||
|
||||
QString rating() const;
|
||||
void setRating(const QString &rating);
|
||||
|
||||
dive *thisDive() const;
|
||||
void setThisDive(dive *thisDive);
|
||||
|
||||
QString diveNumber() const;
|
||||
void setDiveNumber(const QString &diveNumber);
|
||||
|
||||
private:
|
||||
QString m_diveNumber;
|
||||
QString m_date;
|
||||
QString m_rating;
|
||||
QString m_depth;
|
||||
QString m_duration;
|
||||
QString m_temp;
|
||||
QString m_weight;
|
||||
QString m_suit;
|
||||
QString m_cylinder;
|
||||
QString m_gas;
|
||||
QString m_sac;
|
||||
QString m_location;
|
||||
|
||||
|
||||
dive *m_thisDive;
|
||||
};
|
||||
|
||||
class DiveListModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
enum DiveListRoles {
|
||||
DiveNumberRole = Qt::UserRole + 1,
|
||||
DiveDateRole,
|
||||
DiveRatingRole,
|
||||
DiveDepthRole,
|
||||
DiveDurationRole,
|
||||
DiveTemperatureRole,
|
||||
DiveWeightRole,
|
||||
DiveSuitRole,
|
||||
DiveCylinderRole,
|
||||
DiveGasRole,
|
||||
DiveSacRole,
|
||||
DiveLocationRole
|
||||
};
|
||||
|
||||
static DiveListModel *instance();
|
||||
DiveListModel(QObject *parent = 0);
|
||||
void addDive(dive *d);
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
||||
QHash<int, QByteArray> roleNames() const;
|
||||
|
||||
private:
|
||||
QList<Dive> m_dives;
|
||||
static DiveListModel *m_instance;
|
||||
};
|
||||
|
||||
#endif // DIVELISTMODEL_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue