/** * @RDE_HEADER@ * HMI Plugin for Observer Controller - Selfcheck Dialog * $Id$ * $HeadURL$ * $Author$ * Created by Patric Karwat, SLSE, 2018-01-17 */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Ui { class OcParticipantInfo; } namespace OcSituationClient { class OcParticipantInfo : public LtsWidgets::LtsDialog { Q_OBJECT public: explicit OcParticipantInfo(int participantId, LtsSession::LtsSession *session, QWidget *parent = nullptr); ~OcParticipantInfo(); bool init(); private: void retranslate() override; static void setRed(QWidget *w, bool bRed); void updateIcon(const ParticipantManagement::Participant& participant); void updateIcon(const QColor &color, const QString &sidc); bool setUiValues(); void setChargeVisible(bool vis); void setSpecialSensorVisible(bool vis); void setBuildingPosVisible(bool vis); void setKindVisible(bool vis); private Q_SLOTS: void onDynamicParticipantDataChanged(const ParticipantManagement::DynamicParticipantData &data); void onPositionChanged(const ParticipantManagement::ParticipantPosition &position); void onUpdatePosition(int participantId, const Core::GeoPosition &position, qint64 sampleTime); void onParticipantChanged(const ParticipantManagement::Participant &participant); void onTypeChanged(const ParticipantManagement::Type &type, DataModification modType); void onPartitionTimeChanged(qint64 newPartitionTime); void onFindOnMap(); void onMovementTrack(); void showSpecialSensorData(int specialSensorData); private: ParticipantManagement::Participant m_participant; qint64 m_lastPositionMSec; ParticipantManagement::TypeClass m_typeClass; std::vector m_gearList; int m_roomId; LtsSession::LtsSession *m_session; std::shared_ptr m_ppmDtc; std::shared_ptr m_pdmDtc; std::shared_ptr m_asbiIfc; std::shared_ptr m_ismDtc; std::shared_ptr m_sitMapGuiIfc; std::shared_ptr m_symbolAppearanceSettings; std::shared_ptr m_fltAesGuiIfc; AdvancedSymbology::SymbolResultWatcherLabel *m_symbolWatcher; Ui::OcParticipantInfo *m_ui; LOGGER_T m_logger; }; } // namespace OcSituationClient