/** * @RDE_HEADER@ * GUI Plugin for IED- Info * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, SLEA, 2017-08-23 */ #pragma once // Lts #include #include // Logger #include // Plugins #include #include #include #include namespace Ui { class InfoDialog; } class QTableWidgetItem; namespace GuezIedManagement { // -------------------------------------------------------- // BuildingInfoDialog // -------------------------------------------------------- class InfoDialog : public LtsWidgets::LtsDialog { Q_OBJECT public: explicit InfoDialog(int iedEntityId, QWidget *parent = nullptr); ~InfoDialog(); bool init(LtsSession::LtsSession *session, const std::shared_ptr &dtc, const std::shared_ptr &ppmDtc, const std::shared_ptr &situationIfc, const std::shared_ptr &asbIfc); private: void retranslate() override; void showIedInfos(); void setPosition(const IedPosition &pos); void updateIcon(const QColor &color, AdvancedSymbology::Role role, const IedTacticalState &state, const QString &sidc); private Q_SLOTS: void onFindOnMap(); void onIedChanged(const Ied &data, DataModification modType); void onIedPositionChanged(const IedPosition &data, DataModification modType); private: void addTbwBitEntry(QTableWidgetItem* device, QTableWidgetItem* error); int m_iedEntityId; LtsSession::LtsSession *m_session; std::shared_ptr m_dtc; std::shared_ptr m_ppmDtc; std::shared_ptr m_situationIfc; std::shared_ptr m_asbIfc; AdvancedSymbology::SymbolResultWatcherLabel *m_symbolWatcher; Ui::InfoDialog* m_ui; LOGGER_T m_logger; }; } // namespace Buildings