00001 #ifndef OBJECT_FIT_OPERATOR_H 00002 #define OBJECT_FIT_OPERATOR_H 00003 00004 #include <ros/ros.h> 00005 #include <rviz/panel.h> 00006 #include <QtGui> 00007 #include <QToolButton> 00008 #include <QCheckBox> 00009 #include <jsk_rviz_plugins/ObjectFitCommand.h> 00010 00011 class QLineEdit; 00012 class QToolButton; 00013 00014 namespace jsk_rviz_plugins 00015 { 00016 class ObjectFitOperatorAction: public rviz::Panel 00017 { 00018 Q_OBJECT 00019 public: 00020 ObjectFitOperatorAction( QWidget* parent = 0 ); 00021 00022 virtual void load( const rviz::Config& config ); 00023 virtual void save( rviz::Config config ) const; 00024 00025 protected Q_SLOTS: 00026 void commandFit(); 00027 void commandNear(); 00028 void commandOther(); 00029 void checkBoxChanged(bool state); 00030 void publishObjectFitOder(int type); 00031 00032 protected: 00033 QToolButton* fit_button_; 00034 QToolButton* near_button_; 00035 QToolButton* other_button_; 00036 QCheckBox* check_box_; 00037 00038 QHBoxLayout* horizontal_layout1_; 00039 QHBoxLayout* horizontal_layout2_; 00040 QVBoxLayout* layout; 00041 bool reverse_; 00042 00043 ros::NodeHandle nh_; 00044 ros::Publisher pub_; 00045 }; 00046 } 00047 00048 #endif