00001 #ifndef PUBLISH_TOPIC_H 00002 #define PUBLISH_TOPIC_H 00003 00004 #ifndef Q_MOC_RUN 00005 #include <ros/ros.h> 00006 00007 #include <rviz/panel.h> 00008 #endif 00009 00010 class QLineEdit; 00011 class QPushButton; 00012 00013 namespace jsk_rviz_plugins 00014 { 00015 class PublishTopic: public rviz::Panel 00016 { 00017 Q_OBJECT 00018 public: 00019 PublishTopic( QWidget* parent = 0 ); 00020 00021 virtual void load( const rviz::Config& config ); 00022 virtual void save( rviz::Config config ) const; 00023 00024 public Q_SLOTS: 00025 00026 void setTopic( const QString& topic ); 00027 00028 protected Q_SLOTS: 00029 00030 void sendVel() {} 00031 00032 void updateTopic(); 00033 00034 void sendTopic(); 00035 00036 protected: 00037 QLineEdit* output_topic_editor_; 00038 00039 QString output_topic_; 00040 00041 QPushButton* send_topic_button_; 00042 00043 ros::Publisher velocity_publisher_; 00044 00045 ros::NodeHandle nh_; 00046 }; 00047 00048 } 00049 00050 #endif