00001 #ifndef ROSGUI_PARAMEDIT_H 00002 #define ROSGUI_PARAMEDIT_H 00003 00004 #include <rqt_gui_cpp/plugin.h> 00005 #include <rxparamedit/xmlRpcModel.h> 00006 #include <rxparamedit/xmlRpcItemDelegate.h> 00007 00008 #include <QWidget> 00009 #include <QTreeView> 00010 #include <vector> 00011 #include <string> 00012 00013 namespace rosgui_paramedit 00014 { 00015 00016 class ParamEdit : public rqt_gui_cpp::Plugin 00017 { 00018 Q_OBJECT 00019 00020 public: 00021 ParamEdit(); 00022 00023 virtual void initPlugin(qt_gui_cpp::PluginContext& context); 00024 00025 virtual void shutdownPlugin(); 00026 00027 virtual void saveSettings(qt_gui_cpp::Settings& global_settings, 00028 qt_gui_cpp::Settings& perspective_settings) const; 00029 00030 virtual void restoreSettings(const qt_gui_cpp::Settings& global_settings, 00031 const qt_gui_cpp::Settings& perspective_settings); 00032 00033 virtual bool hasConfiguration() const 00034 { 00035 return true; 00036 } 00037 00038 virtual void triggerConfiguration(); 00039 00040 protected: 00041 void reload(); 00042 00043 00044 protected: 00045 QTreeView* _treeView; 00046 00047 ros::NodeHandle _nh; 00048 std::string _paramRoot; 00049 XmlRpc::XmlRpcValue _xmlrpc; 00050 00051 XmlRpcModel* _model; 00052 XmlRpcItemDelegate* _delegate; 00053 00054 }; 00055 00056 } 00057 00058 #endif 00059