mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
25b0a846af
Created a method to check if calculations should take place taking into consideration what changed on the model. if the model changes *everything*, them, all calculations should be done, but if just some of the columns of the model are changed, only those columns should trigger an visual update on the items. In theory this patch looks right, but something is wrong ( calculations are not being made. ), so I'll commit this any how, and fix on the next commit. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
37 lines
No EOL
1.2 KiB
C++
37 lines
No EOL
1.2 KiB
C++
#ifndef DIVEPLOTDATAMODEL_H
|
|
#define DIVEPLOTDATAMODEL_H
|
|
|
|
#include <QAbstractTableModel>
|
|
|
|
#include "display.h"
|
|
|
|
struct dive;
|
|
struct plot_data;
|
|
struct plot_info;
|
|
|
|
class DivePlotDataModel : public QAbstractTableModel{
|
|
Q_OBJECT
|
|
public:
|
|
enum {DEPTH, TIME, PRESSURE, TEMPERATURE, USERENTERED, COLOR, CYLINDERINDEX, SENSOR_PRESSURE, INTERPOLATED_PRESSURE,
|
|
SAC, CEILING, TISSUE_1,TISSUE_2,TISSUE_3,TISSUE_4,TISSUE_5,TISSUE_6,TISSUE_7,TISSUE_8,TISSUE_9,TISSUE_10,
|
|
TISSUE_11,TISSUE_12,TISSUE_13,TISSUE_14,TISSUE_15,TISSUE_16, PN2,PHE,PO2,COLUMNS};
|
|
explicit DivePlotDataModel(QObject* parent = 0);
|
|
virtual int columnCount(const QModelIndex& parent = QModelIndex()) const;
|
|
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
|
|
virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
|
|
virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
|
|
void clear();
|
|
void setDive(struct dive *d, const plot_info& pInfo);
|
|
const plot_info& data() const;
|
|
int id() const;
|
|
double pheMax();
|
|
double pn2Max();
|
|
double po2Max();
|
|
void emitDataChanged();
|
|
void calculateDecompression();
|
|
private:
|
|
plot_info pInfo;
|
|
int diveId;
|
|
};
|
|
|
|
#endif |