63 lines
1.9 KiB
C++
Executable File
63 lines
1.9 KiB
C++
Executable File
#pragma once
|
|
|
|
#include <PluginInterfaces/data_plugin_interface.h>
|
|
#include <QDialog>
|
|
#include <QListWidgetItem>
|
|
#include <QTimer>
|
|
#include <Proxies/TrainingAreaBase/tab_dtc.h>
|
|
#include <Proxies/TrainingAreaBase/tab_ftc.h>
|
|
//#include <NmeaManagement/logger.h>
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
|
|
|
|
namespace Ui { class NmeBatteryInfoDialog; }
|
|
|
|
|
|
namespace NmeaManagement
|
|
{
|
|
|
|
class NmeBatteryInfoDialog : public LtsWidgets::LtsDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit NmeBatteryInfoDialog(QMap<int,
|
|
TrainingAreaBase::BatteryState> currentBatteryStateForId,
|
|
const std::shared_ptr<TrainingAreaBase::Interface::Dtc> &tabDtc,
|
|
const std::shared_ptr<TrainingAreaBase::Interface::Ftc> &tabFtc,
|
|
QWidget *parent = nullptr);
|
|
~NmeBatteryInfoDialog();
|
|
private:
|
|
void resetDialog(bool batteryOne, bool batteryTwo);
|
|
|
|
private slots:
|
|
void onShutdownClicked();
|
|
void fillWarnings(const TrainingAreaBase::BatteryAlarm &data, DataModification modType);
|
|
void fillStates(const TrainingAreaBase::BatteryInfo &dataArr, DataModification modType);
|
|
void onOutdatedFirstBatteryTimerTimeout();
|
|
void onOutdatedSecondBatteryTimerTimeout();
|
|
|
|
signals:
|
|
void signalQuit();
|
|
void signalSelectScript(int scriptId);
|
|
void signalEditQuit();
|
|
|
|
private:
|
|
bool m_selected;
|
|
bool m_close { false };
|
|
void updateDialog();
|
|
|
|
std::shared_ptr<TrainingAreaBase::Interface::Dtc> m_tabDtc {nullptr};
|
|
std::shared_ptr<TrainingAreaBase::Interface::Ftc> m_tabFtc {nullptr};
|
|
QMap<int, TrainingAreaBase::BatteryState> m_currentBatteryStateForId;
|
|
QMap<int, TrainingAreaBase::BatteryAlarm> m_currentBatteryWarnForId;
|
|
Ui::NmeBatteryInfoDialog *m_ui { nullptr };
|
|
QTimer *m_oudatedFirstBatteryTimer;
|
|
QTimer *m_oudatedSecondBatteryTimer;
|
|
// LtsDialog interface
|
|
public:
|
|
void retranslate() override;
|
|
};
|
|
|
|
} // namespace NmeaManagement
|