subsurface/desktop-widgets/tab-widgets/TabDiveEquipment.h
Berthold Stoeger 8cd191c271 desktop: store pointer to parent in tab-widgets
Make it possible for the individual tab-widgets to access the
parent widget. In principle this could have been done by
downcasting the pointer returned by parent(), but this makes
it explicit.

The goal here is to store information on the selection,
current dive, etc. without repeating it in every subwidget.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2023-04-16 20:23:59 +02:00

43 lines
1.1 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef TAB_DIVE_EQUIPMENT_H
#define TAB_DIVE_EQUIPMENT_H
#include "TabBase.h"
#include "ui_TabDiveEquipment.h"
#include "qt-models/completionmodels.h"
#include "desktop-widgets/divelistview.h"
namespace Ui {
class TabDiveEquipment;
};
class WeightModel;
class CylindersModel;
class TabDiveEquipment : public TabBase {
Q_OBJECT
public:
TabDiveEquipment(MainTab *parent);
~TabDiveEquipment();
void updateData(const std::vector<dive *> &selection, dive *currentDive, int currentDC) override;
void clear() override;
void closeWarning();
private slots:
void divesChanged(const QVector<dive *> &dives, DiveField field);
void addCylinder_clicked();
void addWeight_clicked();
void toggleTriggeredColumn();
void editCylinderWidget(const QModelIndex &index);
void editWeightWidget(const QModelIndex &index);
void on_suit_editingFinished();
void divesEdited(int count);
private:
Ui::TabDiveEquipment ui;
SuitCompletionModel suitModel;
CylindersModel *cylindersModel;
WeightModel *weightModel;
};
#endif // TAB_DIVE_EQUIPMENT_H