mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 03:21:29 +00:00
9fd87fa080
When pasting (or undoing paste) the cylinders or weights may change. Send the appropriate signals and update the models accordingly. Currently, this means copying from current dive to displayed dive, but hopefully we can get rid of "displayed_dive" in the not so distant future. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
41 lines
1 KiB
C++
41 lines
1 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef WEIGHTMODEL_H
|
|
#define WEIGHTMODEL_H
|
|
|
|
#include "cleanertablemodel.h"
|
|
#include "core/dive.h"
|
|
|
|
/* Encapsulation of the Weight Model, that represents
|
|
* the current weights on a dive. */
|
|
class WeightModel : public CleanerTableModel {
|
|
Q_OBJECT
|
|
public:
|
|
enum Column {
|
|
REMOVE,
|
|
TYPE,
|
|
WEIGHT
|
|
};
|
|
|
|
explicit WeightModel(QObject *parent = 0);
|
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
|
Qt::ItemFlags flags(const QModelIndex &index) const override;
|
|
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
|
|
|
|
void passInData(const QModelIndex &index, const QVariant &value);
|
|
void add();
|
|
void clear();
|
|
void updateDive();
|
|
weightsystem_t *weightSystemAt(const QModelIndex &index);
|
|
bool changed;
|
|
|
|
public
|
|
slots:
|
|
void remove(const QModelIndex &index);
|
|
void weightsystemsReset(dive_trip *trip, const QVector<dive *> &dives);
|
|
|
|
private:
|
|
int rows;
|
|
};
|
|
|
|
#endif
|