Files
qt5-legatus-legacy/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/ExerciseChooser/exm_chooser.h
T
2026-08-13 18:33:10 +02:00

74 lines
1.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* ExerciseChooser Payload UI
* $Id$
* $HeadURL$
* $Author$
* Created by Mike Wille, SLSE, 2016-08-12
*/
#pragma once
#include <QDialog>
#include <memory>
#include <LtsUtilsCore/data_modification_enum.h>
namespace Ui
{
class ExerciseChooser;
}
namespace LtsSession
{
class LtsSession;
}
namespace OperatorManagement
{
class User;
namespace Interface {
class Dtc;
}
}
namespace ExerciseManagement
{
class ExerciseManagementDialogModel;
class ExerciseManagementProxyModel;
class ExerciseChooser : public QDialog // TODO: move me directly to Gui ?
{
Q_OBJECT
public:
explicit ExerciseChooser(QWidget *parent = nullptr);
bool init(LtsSession::LtsSession *session);
~ExerciseChooser();
void selectExercise(int exerciseId);
protected:
void closeEvent(QCloseEvent *event) override;
private slots:
void slotExerciseSelected();
void enaDisa();
void reject() override;
void onUserChanged(const OperatorManagement::User &user, DataModification mod);
signals:
void signalQuit();
void signalSelectExercise(int exercise);
private:
std::shared_ptr<OperatorManagement::Interface::Dtc> m_opmDtc;
Ui::ExerciseChooser *m_ui{nullptr};
ExerciseManagementDialogModel *m_model{nullptr};
ExerciseManagementProxyModel *m_proxyModel{nullptr};
LtsSession::LtsSession *m_session{nullptr};
bool m_selected{false};
bool m_close{false};
};
} // namespace ExerciseManagement