subsurface/qt-models/tankinfomodel.h
Berthold Stoeger 50b11024d6 core: keep tank infos in a dynamic table
The list of known tank types were kept in a fixed size table.
Instead, use a dynamic table with our horrendous table macros.
This is more flexible and sensible.

While doing this, clean up the TankInfoModel, which was leaking
memory.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-12-13 11:49:59 -08:00

30 lines
758 B
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef TANKINFOMODEL_H
#define TANKINFOMODEL_H
#include "cleanertablemodel.h"
/* Encapsulates the tank_info global variable
* to show on Qt's Model View System.*/
class TankInfoModel : public CleanerTableModel {
Q_OBJECT
public:
static TankInfoModel *instance();
enum Column {
DESCRIPTION,
ML,
BAR
};
TankInfoModel();
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
public
slots:
void update();
};
#endif