/** * @RDE_HEADER@ * ExerciseManangement - Operator Edit Dialog * $Id: exm_edit_dialog.h 41137 2018-04-20 08:50:55Z schroeder_m $ * $HeadURL: svn://slssvn/TDS/branches/product/devel/trunk/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_dialog.h $ * $Author: schroeder_m $ * Created by Malte Schröder, SLSE, 2018-04-25 */ #pragma once #include #include #include #include #include #include "exm_operator_model.h" namespace Ui { class ExerciseManagementOperatorEdit; } namespace ExerciseManagement { class ExerciseManagementOperatorEdit : public LtsWidgets::LtsDialog , protected ExerciseManagement::Interface::Ftc::ExerciseModifyReplyHandler , protected OperatorManagement::Interface::Ftc::OperatorCreateModifyReplyHandler { Q_OBJECT public: explicit ExerciseManagementOperatorEdit(const QString &menuGroup, QWidget *parent = nullptr); ~ExerciseManagementOperatorEdit(); bool init(LtsSession::LtsSessionDataDds *session); protected: void onExerciseModifyReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } void onOperatorCreateModifyReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } private slots: void onSelectAllUsers(); void onUnselectAllUsers(); void onContextMenuRequested(const QPoint &position); private: void retranslate() override; bool apply() override final; void sendModifiedOperators(int thisExerciseId); Ui::ExerciseManagementOperatorEdit *m_ui; std::shared_ptr m_opmDtc; LtsSession::LtsSessionDataDds *m_session; ExerciseOperatorModel *m_operatorModel; QString m_menuGroup; ExerciseManagement::Exercise m_exercise; LtsUtils::RequestHelper *m_requestHelper; LOGGER_T m_logger; template bool removeElement(std::vector &vec, T elem); }; }