/** * @RDE_HEADER@ * ExerciseManangement - Exercise Overview Dialog * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-02-29 */ #pragma once #include #include #include #include #include #include #include #include #include "asm_training_area_model.h" namespace Ui { class AsmTrainingAreaDialog; } namespace LtsUtils { class RequestHelper; } namespace AssetManagement { // -------------------------------------------------------- // AsmTrainingAreaDialog // -------------------------------------------------------- class AsmTrainingAreaDialog : public LtsWidgets::LtsDialog , protected Interface::Ftc::TrainingAreaModifyReplyHandler , protected Interface::Ftc::TrainingAreaRemoveReplyHandler { Q_OBJECT public: explicit AsmTrainingAreaDialog(const QString &menuGroup, QWidget *parent = nullptr); ~AsmTrainingAreaDialog(); bool init(LtsSession::LtsSessionDataDds *session, const std::shared_ptr &sitMapGuiIfc); QPolygonF getTrainingArea(int trainingAreaId); QPolygonF getTrainingArea(const TrainingArea &ddsTrainingArea); void showAllTrainingAreas(); void showPreviewObject(); void clearSelection(); private slots: void enaDisa(); void onAddTrainingArea(); void onEditTrainingArea(); void onRemoveTrainingArea(); void onSelectionChanged(); private: void retranslate() override; void onTrainingAreaModifyReply(const Core::FunctionReplyObject &reply) override final { m_requestHelper->requestReply(reply); } void onTrainingAreaRemoveReply(const Core::FunctionReplyObject &reply) override final { m_requestHelper->requestReply(reply); } void tableColumnOrganiserSetting() override; Ui::AsmTrainingAreaDialog *m_ui; AsmTrainingAreaDialogModel *m_model{nullptr}; LtsSession::LtsSessionDataDds *m_session; QString m_menuGroup; std::shared_ptr m_asmDtc; std::shared_ptr m_asmFtc; LtsUtils::RequestHelper *m_requestHelper; LOGGER_T m_logger; QPolygonF m_previewPolygon; std::shared_ptr m_sitMapGuiIfc; QSet m_viewedTaIds{}; }; }