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
00029
00030
00031 #ifndef _MARBLE_PLUGIN_H
00032 #define _MARBLE_PLUGIN_H
00033
00034
00035 #include <rqt_gui_cpp/plugin.h>
00036 #include <ros/ros.h>
00037
00038
00039 #include <sensor_msgs/NavSatFix.h>
00040
00041
00042 #include <QtCore/QObject>
00043 #include <QMutex>
00044
00045
00046 #include <marble_plugin/ui_marble_plugin.h>
00047
00048 namespace marble_plugin {
00049
00050 class MarblePlugin
00051 : public rqt_gui_cpp::Plugin
00052 {
00053 Q_OBJECT
00054 public:
00055 MarblePlugin();
00056 virtual void initPlugin(qt_gui_cpp::PluginContext& context);
00057 virtual void shutdownPlugin();
00058 virtual void saveSettings(qt_gui_cpp::Settings& plugin_settings, qt_gui_cpp::Settings& instance_settings) const;
00059 virtual void restoreSettings(const qt_gui_cpp::Settings& plugin_settings, const qt_gui_cpp::Settings& instance_settings);
00060
00061
00062
00063
00064
00065 void GpsCallback( const sensor_msgs::NavSatFixConstPtr& gpspt );
00066
00067 private:
00068
00069 Q_SIGNALS:
00070
00071 void NewGPSPosition(qreal,qreal);
00072
00073 private Q_SLOTS:
00074
00075 void ChangeGPSTopic(const QString &topic_name);
00076 void SetKMLFile(bool envoke_file_dialog = true );
00077 void ChangeMarbleModelTheme(int idx );
00078 void FindGPSTopics();
00079
00080 private:
00081
00082 Ui_Form ui_;
00083
00084 QWidget* widget_;
00085
00086 ros::Subscriber m_sat_nav_fix_subscriber;
00087
00088 };
00089 }
00090 #endif // _MARBLE_PLUGIN_H
00091