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