17 #ifndef _TOPICVIEW_HH_
18 #define _TOPICVIEW_HH_
22 #include <boost/thread/mutex.hpp>
45 public: TopicCombo(QWidget *_w,
const std::string &_msgTypeName,
49 public:
virtual ~TopicCombo();
53 public:
void SetMsgTypeName(
const std::string &_type);
57 public:
virtual void showPopup();
60 private:
void UpdateList();
63 private: std::string msgTypeName;
66 private: std::string viewType;
71 private: boost::mutex mutex;
86 public:
TopicView(QWidget *_parent,
const std::string &_msgType,
87 const std::string &_viewType,
88 unsigned int _displayPeriod = 500);
95 public:
virtual void SetTopic(
const std::string &_topicName);
102 protected:
void OnMsg(
const common::Time &_dataTime,
int _size);
106 protected:
virtual void closeEvent(QCloseEvent *_event);
109 private slots:
void Update();
113 private:
virtual void UpdateImpl();
118 private slots:
void OnTopicChanged(
int _index);
133 private: TopicCombo *topicCombo;
142 private: QLineEdit *hzEdit;
148 private: QLineEdit *bandwidthEdit;
151 private: std::list<int> msgSizes;
154 private: std::list<common::Time> times;
157 private: std::list<common::Time> dataTimes;
160 private: boost::mutex updateMutex;
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
Forward declarations for transport.
transport::NodePtr node
Pointer to the node for communication.
Definition: TopicView.hh:127
transport::SubscriberPtr sub
Pointer to the topic subscriber that receives display data.
Definition: TopicView.hh:124
std::string msgTypeName
Typename of the messages that can be displayed.
Definition: TopicView.hh:130
Base class for widgets that display topic data.
Definition: TopicView.hh:76
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
#define GZ_GUI_VIEWERS_VISIBLE
Definition: system.hh:468
QFrame * frame
This is the frame that each child class should populate.
Definition: TopicView.hh:121
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:39