17 #ifndef _TOPICVIEW_HH_ 18 #define _TOPICVIEW_HH_ 23 #include <boost/thread/mutex.hpp> 40 class GZ_GUI_VISIBLE TopicCombo :
public QComboBox
47 public: TopicCombo(QWidget *_w,
const std::string &_msgTypeName,
51 public:
virtual ~TopicCombo();
55 public:
void SetMsgTypeName(
const std::string &_type);
59 public:
virtual void showPopup();
62 private:
void UpdateList();
65 private: std::string msgTypeName;
68 private: std::string viewType;
73 private: boost::mutex mutex;
88 public:
TopicView(QWidget *_parent,
const std::string &_msgType,
89 const std::string &_viewType,
90 unsigned int _displayPeriod = 500);
97 public:
virtual void SetTopic(
const std::string &_topicName);
104 protected:
void OnMsg(
const common::Time &_dataTime,
int _size);
108 protected:
virtual void closeEvent(QCloseEvent *_event);
111 private slots:
void Update();
115 private:
virtual void UpdateImpl();
120 private slots:
void OnTopicChanged(
int _index);
135 private: TopicCombo *topicCombo;
144 private: QLineEdit *hzEdit;
150 private: QLineEdit *bandwidthEdit;
153 private: std::list<int> msgSizes;
156 private: std::list<common::Time> times;
159 private: std::list<common::Time> dataTimes;
162 private: boost::mutex updateMutex;
Forward declarations for the common classes.
Definition: Animation.hh:33
Forward declarations for transport.
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
QFrame * frame
This is the frame that each child class should populate.
Definition: TopicView.hh:123
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
transport::NodePtr node
Pointer to the node for communication.
Definition: TopicView.hh:129
std::string msgTypeName
Typename of the messages that can be displayed.
Definition: TopicView.hh:132
Base class for widgets that display topic data.
Definition: TopicView.hh:78
transport::SubscriberPtr sub
Pointer to the topic subscriber that receives display data.
Definition: TopicView.hh:126
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:44