#pragma once #include #include #include #include #include #include #include #include namespace Ui { class ExerciseManagementDialog; } namespace ExerciseManagement { class ExerciseManagementDialogModel; class ExerciseManagementDialog : public LtsWidgets::LtsDialog, protected ExerciseManagement::Interface::Ftc::ExerciseRemoveReplyHandler, protected FileManagement::Interface::Ftc::FolderRemoveReplyHandler { Q_OBJECT public: explicit ExerciseManagementDialog(const QString& menuGroup, QWidget* parent = nullptr); ~ExerciseManagementDialog(); bool init(LtsSession::LtsSessionDataDds* session); private slots: void enaDisa(); void onAddExercise(); void onEditExercise(); void onRemoveExercise(); private: NGL::INGLLogger& m_logger; void retranslate() override; void onExerciseRemoveReply(const Core::FunctionReplyObject& replyObject) override final { m_requestHelper->requestReply(replyObject); } void onFolderRemoveReply(const Core::FunctionReplyObject& replyObject) override final { m_requestHelper->requestReply(replyObject); } void tableColumnOrganiserSetting() override; ExerciseManagementDialogModel* m_model; Ui::ExerciseManagementDialog* m_ui; LtsSession::LtsSessionDataDds* m_session; std::shared_ptr m_ftc; std::shared_ptr m_flmDtc; std::shared_ptr m_flmFtc; QString m_menuGroup; LtsUtils::RequestHelper* m_requestHelper; }; } // namespace ExerciseManagement