2019-05-05 03:51:16 +00:00
|
|
|
#ifndef DIVESITEIMPORTEDMODEL_H
|
|
|
|
#define DIVESITEIMPORTEDMODEL_H
|
|
|
|
|
|
|
|
#include <QAbstractTableModel>
|
|
|
|
#include <vector>
|
|
|
|
#include "core/divesite.h"
|
|
|
|
|
|
|
|
class DivesiteImportedModel : public QAbstractTableModel
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
enum columnNames { NAME, LOCATION, COUNTRY, NEAREST, DISTANCE, SELECTED };
|
|
|
|
|
2024-05-12 20:09:18 +00:00
|
|
|
DivesiteImportedModel(dive_site_table &, QObject *parent = 0);
|
|
|
|
int columnCount(const QModelIndex& index = QModelIndex()) const override;
|
|
|
|
int rowCount(const QModelIndex& index = QModelIndex()) const override;
|
|
|
|
QVariant data(const QModelIndex& index, int role) const override;
|
|
|
|
QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
|
|
|
|
Qt::ItemFlags flags(const QModelIndex &index) const override;
|
2019-05-05 03:51:16 +00:00
|
|
|
public
|
|
|
|
slots:
|
|
|
|
void changeSelected(QModelIndex clickedIndex);
|
|
|
|
void selectRow(int row);
|
|
|
|
void selectAll();
|
|
|
|
void selectNone();
|
|
|
|
|
|
|
|
private:
|
|
|
|
int firstIndex;
|
|
|
|
int lastIndex;
|
|
|
|
std::vector<char> checkStates; // char instead of bool to avoid silly pessimization of std::vector.
|
2024-05-12 20:09:18 +00:00
|
|
|
dive_site_table &importedSitesTable;
|
2019-05-05 03:51:16 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|