/** * @RDE_HEADER@ * Evaluations - Script Create / Edit Dialog * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2017-03-20 */ #pragma once #include #include #include #include #include #include #include #include #include namespace LtsWidgets { class UiRequirementList; } namespace Ui { class CriteriumEditDialog; } namespace Evaluations { class CriteriumEditDialog : public LtsWidgets::LtsDialog , protected Interface::Ftc::EvlCriteriumModifyReplyHandler , protected Interface::Ftc::EvlCriteriumRemoveReplyHandler { Q_OBJECT public: explicit CriteriumEditDialog(QWidget *parent = nullptr); ~CriteriumEditDialog(); bool init(int criteriumId, LtsSession::LtsSession *session, const std::shared_ptr &dtc, const std::shared_ptr &ftc, const std::shared_ptr &opmCbxDtc); 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); } private slots: void onExportButtonClicked(); void onImportButtonClicked(); private: bool apply() override; void retranslate() override; QByteArray UiToJson(); void jsonToUi(const QByteArray &content); LtsSession::LtsSession *m_session{nullptr}; std::shared_ptr m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_flmGui; int m_criteriumId{-1}; LtsUtils::RequestHelper *m_requestHelper{nullptr}; Ui::CriteriumEditDialog *m_ui{nullptr}; LOGGER_T m_logger; }; }