/** * @RDE_HEADER@ * HMI Plugin for Observer Controller - Demand Situation Dialog * $Id$ * $HeadURL$ * $Author$ * Created by Patric Karwat, SLSE, 2018-03-27 */ #pragma once #include #include #include #include #include #include #include #include #include namespace Ui { class DemandSituation; } namespace SituationMap { class ForeignGuiInterface; } namespace LtsUtils { class OperatorSettings; } namespace LtsWidgets { class LtsColumnFilterProxyModel; } namespace OcSituationClient { class DemandSituation : public LtsWidgets::LtsDialog, private OcSituationClient::Interface::Ftc::SendDemandSituationReplyHandler { Q_OBJECT public: explicit DemandSituation(LtsSession::LtsSession *session, QWidget *parent = nullptr); ~DemandSituation(); bool init(const std::shared_ptr &ftc); void onSendDemandSituationReply(const Core::FunctionReplyObject &replyObject) override; Q_SIGNALS: void demandSituationStopped(); private Q_SLOTS: void onSlotSelectionChanged(); void onGetPosition(); void onCoordinate(const QPointF &coord, double radius); void onClearCoordinate(); private: void retranslate() override; bool apply() override; void dialogCanceled () override; void repaintSitmapCircle(); void discardSitmapCircle(); private: LtsSession::LtsSession *m_session; LtsUtils::RequestHelper *m_requestHelper; int m_selectedEqNr; bool m_filterActive{false}; std::vector m_partys; std::vector m_typesClass; QString m_ocDemandGroupString; QString m_ocDemandFilterGroupString; LtsUtils::OperatorSettings *m_opSettings; ParticipantManagement::ParticipantEditModel *m_model; LtsWidgets::LtsColumnFilterProxyModel *m_proxyModel; std::shared_ptr m_ftc; std::shared_ptr m_ppmCbxGui; std::shared_ptr m_sitMapGuiIfc; Ui::DemandSituation *m_ui; LOGGER_T m_logger; }; } // namespace OcSituationClient