/** * @RDE_HEADER@ * Evaluations - Script Overview Dialog * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2017-03-15 */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Ui { class CriteriumDialog; } namespace LtsSession { class LtsSession; } namespace Evaluations { class CriteriumDialogModel; class CriteriumFilterModel; class CriteriumDialog : public LtsWidgets::LtsDialog , protected Interface::Ftc::EvlCriteriumModifyReplyHandler , protected Interface::Ftc::EvlCriteriumRemoveReplyHandler { Q_OBJECT public: explicit CriteriumDialog(const QString &menuGroup, LtsSession::LtsSession *session, bool ownEvlElements, QWidget *parent = nullptr); ~CriteriumDialog(); bool init(const std::shared_ptr &dtc, const std::shared_ptr &ftc, const std::shared_ptr &opmDtc, const std::shared_ptr &opmCbxDtc, const std::shared_ptr &exmDtc, const std::shared_ptr &avmDataIfc, const std::shared_ptr &fltParticipantIfc, const std::shared_ptr &fltAesIfc, const std::shared_ptr &fltBuildingComponentIfc, int exerciseId, int currentOperatorId); protected: void onEvlCriteriumModifyReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } void onEvlCriteriumRemoveReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } void onPrint(); private: void retranslate() override; void editCriterium(int criteriumId); void tableColumnOrganiserSetting() override; CriteriumDialogModel *m_model{nullptr}; CriteriumFilterModel *m_proxyModel{nullptr}; LtsSession::LtsSession *m_session{nullptr}; Ui::CriteriumDialog *m_ui{nullptr}; std::shared_ptr m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_opmDtc; std::shared_ptr m_opmCbxDtc; std::shared_ptr m_exmDtc; std::shared_ptr m_avmDataIfc; std::shared_ptr m_fltParticipantIfc; std::shared_ptr m_fltAesIfc; std::shared_ptr m_fltBuildingComponentIfc; QString m_menuGroup; int m_exerciseId{-1}; int m_currentOperatorId{-1}; bool m_ownEvaluationElements{false}; LtsUtils::RequestHelper *m_requestHelper{nullptr}; LOGGER_T m_logger; private slots: void slotAdd(); void slotEdit(); void slotRemove(); void enaDisa(); void slotEditElements(); }; } // namespace Evaluations