18 #ifndef GZ_GUI_PLUGINS_TOPICECHO_HH_
19 #define GZ_GUI_PLUGINS_TOPICECHO_HH_
23 #pragma warning(disable: 4251)
25 #include <google/protobuf/message.h>
31 # define TopicEcho_EXPORTS_API
33 # if (defined(TopicEcho_EXPORTS))
34 # define TopicEcho_EXPORTS_API __declspec(dllexport)
36 # define TopicEcho_EXPORTS_API __declspec(dllimport)
44 namespace gz::gui::plugins
46 class TopicEchoPrivate;
79 public: virtual
void LoadConfig(const
tinyxml2::XMLElement *_pluginElem);
84 public: Q_INVOKABLE
QString Topic() const;
89 public: Q_INVOKABLE
void SetTopic(const
QString &_topic);
92 signals:
void TopicChanged();
94 public slots:
void OnBuffer(const
unsigned int _steps);
98 public: Q_INVOKABLE
bool Paused() const;
102 public: Q_INVOKABLE
void SetPaused(const
bool &_paused);
105 signals:
void PausedChanged();
109 signals:
void AddMsg(
QString _msg);
113 private:
void OnMessage(const
google::protobuf::Message &_msg);
116 private:
void Stop();
119 public slots:
void OnEcho(const
bool _checked);
123 private slots:
void OnAddMsg(
QString _msg);
127 private:
std::unique_ptr<TopicEchoPrivate> dataPtr;
131 #endif // GZ_GUI_PLUGINS_TOPICECHO_HH_