Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef RVIZ_VIEWS_PANEL_H
00031 #define RVIZ_VIEWS_PANEL_H
00032
00033 #include <QWidget>
00034
00035 #include <vector>
00036
00037 #include <boost/shared_ptr.hpp>
00038
00039 class QListWidget;
00040 class QComboBox;
00041
00042 namespace rviz
00043 {
00044
00045 class Config;
00046 class Display;
00047 class VisualizationManager;
00048 class ViewController;
00049
00054 class ViewsPanel: public QWidget
00055 {
00056 Q_OBJECT
00057 public:
00058 ViewsPanel( QWidget* parent = 0 );
00059 virtual ~ViewsPanel();
00060
00061 void initialize( VisualizationManager* manager );
00062
00063 VisualizationManager* getManager() { return manager_; }
00064
00065 protected Q_SLOTS:
00066 void onCameraTypeSelected( int index );
00067 void onSaveClicked();
00068 void onDeleteClicked();
00069 void loadSelected();
00070
00071 void onGeneralConfigLoaded( const boost::shared_ptr<Config>& config );
00072 void onGeneralConfigSaving( const boost::shared_ptr<Config>& config );
00073 void onViewControllerTypeAdded( const std::string& class_name, const std::string& name );
00074 void onViewControllerChanged( ViewController* controller );
00075
00076 protected:
00077 struct View
00078 {
00079 std::string name_;
00080 std::string controller_class_;
00081 std::string controller_config_;
00082 std::string target_frame_;
00083 };
00084 typedef std::vector<View> V_View;
00085
00086 void save( const std::string& name );
00087 void addView( const View& view );
00088
00089 VisualizationManager* manager_;
00090
00091 V_View views_;
00092
00093 QListWidget* views_list_;
00094 QComboBox* camera_type_selector_;
00095 };
00096
00097 }
00098
00099 #endif // RVIZ_VIEWS_PANEL_H
00100
00101