marble_plugin.h
Go to the documentation of this file.
00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
00002 
00003 /* -- BEGIN LICENSE BLOCK ----------------------------------------------
00004 
00005 Copyright (c) 2013, TB
00006 All rights reserved.
00007 
00008 Redistribution and use in source and binary forms are permitted
00009 provided that the above copyright notice and this paragraph are
00010 duplicated in all such forms and that any documentation,
00011 advertising materials, and other materials related to such
00012 distribution and use acknowledge that the software was developed
00013 by TB.  The name of the
00014 TB may not be used to endorse or promote products derived
00015 from this software without specific prior written permission.
00016 THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
00017 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
00018 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00019 
00020   -- END LICENSE BLOCK ----------------------------------------------*/
00021 
00022 //----------------------------------------------------------------------
00029 //----------------------------------------------------------------------
00030 
00031 #ifndef _MARBLE_PLUGIN_H
00032 #define _MARBLE_PLUGIN_H
00033 
00034 // ROS Plugin Includes
00035 #include <rqt_gui_cpp/plugin.h>
00036 #include <ros/ros.h>
00037 
00038 // Message Includes
00039 #include <sensor_msgs/NavSatFix.h>
00040 
00041 // Qt Includes
00042 #include <QtCore/QObject>
00043 #include <QMutex>
00044 
00045 // Own Includes
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   // Comment in to signal that the plugin has a way to configure it
00062   //bool hasConfiguration() const;
00063   //void triggerConfiguration();
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 } // namespace
00090 #endif // _MARBLE_PLUGIN_H
00091 
 All Classes Namespaces Files Functions Variables


marble_plugin
Author(s): Tobias Bär (baer@fzi.de)
autogenerated on Wed Oct 23 2013 10:14:24