00001 #ifndef TRANSFORMABLE_MARKER_OPERATOR_H 00002 #define TRANSFORMABLE_MARKER_OPERATOR_H 00003 00004 #include <ros/ros.h> 00005 #include <rviz/panel.h> 00006 #include <QtGui> 00007 #include <jsk_rviz_plugins/RequestMarkerOperate.h> 00008 00009 class QLineEdit; 00010 class QPushButton; 00011 00012 namespace jsk_rviz_plugins 00013 { 00014 class TransformableMarkerOperatorAction: public rviz::Panel 00015 { 00016 Q_OBJECT 00017 public: 00018 TransformableMarkerOperatorAction( QWidget* parent = 0 ); 00019 00020 virtual void load( const rviz::Config& config ); 00021 virtual void save( rviz::Config config ) const; 00022 00023 protected Q_SLOTS: 00024 00025 void callRequestMarkerOperateService(jsk_rviz_plugins::RequestMarkerOperate srv); 00026 void insertBoxService(); 00027 void insertCylinderService(); 00028 void insertTorusService(); 00029 void eraseWithIdService(); 00030 void eraseAllService(); 00031 void eraseFocusService(); 00032 00033 protected: 00034 QPushButton* insert_box_button_; 00035 QPushButton* insert_cylinder_button_; 00036 QPushButton* insert_torus_button_; 00037 00038 QPushButton* erase_with_id_button_; 00039 QPushButton* erase_all_button_; 00040 QPushButton* erase_focus_button_; 00041 00042 QVBoxLayout* layout; 00043 00044 QLineEdit* name_editor_; 00045 QLineEdit* description_editor_; 00046 QLineEdit* frame_editor_; 00047 QLineEdit* id_editor_; 00048 00049 ros::NodeHandle nh_; 00050 }; 00051 } 00052 00053 #endif