/** * @RDE_HEADER@ * ExerciseChooser Payload UI * $Id$ * $HeadURL$ * $Author$ * Created by Mike Wille, SLSE, 2016-08-12 */ #pragma once #include #include #include 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 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