diff --git a/ground/openpilotgcs/src/plugins/osgearthview/OsgEarthview.pluginspec b/ground/openpilotgcs/src/plugins/osgearthview/OsgEarthview.pluginspec
new file mode 100644
index 000000000..fa10241f9
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/OsgEarthview.pluginspec
@@ -0,0 +1,11 @@
+
+ The OpenPilot Project
+ (C) 2012 The OpenPilot Project
+ The GNU Public License (GPL) Version 3
+ Visualize UAV and the scene based on OpenSceneGraph and OsgEarth
+ http://www.openpilot.org
+
+
+
+
+
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osg.pri b/ground/openpilotgcs/src/plugins/osgearthview/osg.pri
new file mode 100644
index 000000000..40e14ec30
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osg.pri
@@ -0,0 +1,6 @@
+
+LIBS += -losg -lOpenThreads -losgUtil -losgViewer -losgDB -losgQt -losgGA
+
+#QMAKE_LFLAGS += -F/usr/local/lib
+#LIBS += -framework OpenThreads -framework osg -framework osgUtil -framework osgViewer -framework osgDB -framework osgQt -framework osgGA
+#LIBS += -framework CoreFoundation
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearth.pri b/ground/openpilotgcs/src/plugins/osgearthview/osgearth.pri
new file mode 100644
index 000000000..6a4ea3e40
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearth.pri
@@ -0,0 +1,2 @@
+
+LIBS += -losgEarth -losgEarthUtil -losgEarthQt
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthview.pro b/ground/openpilotgcs/src/plugins/osgearthview/osgearthview.pro
new file mode 100644
index 000000000..e461f3a72
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthview.pro
@@ -0,0 +1,26 @@
+TEMPLATE = lib
+TARGET = PFDGadget
+
+QT += opengl
+include(../../openpilotgcsplugin.pri)
+include(../../plugins/coreplugin/coreplugin.pri)
+include(pfd_dependencies.pri)
+include(osg.pri)
+include(osgearth.pri)
+
+HEADERS += osgearthviewplugin.h
+HEADERS += osgearthviewgadget.h
+HEADERS += osgearthviewwidget.h
+HEADERS += osgearthviewgadgetfactory.h
+HEADERS += osgearthviewgadgetconfiguration.h
+HEADERS += osgearthviewgadgetoptionspage.h
+
+SOURCES += osgearthviewplugin.cpp
+SOURCES += osgearthviewgadget.cpp
+SOURCES += osgearthviewwidget.cpp
+SOURCES += osgearthviewgadgetfactory.cpp
+SOURCES += osgearthviewgadgetconfiguration.cpp
+SOURCES += osgearthviewgadgetoptionspage.cpp
+
+OTHER_FILES += OsgEarthview.pluginspec
+RESOURCES += osgearthview.qrc
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthview.qrc b/ground/openpilotgcs/src/plugins/osgearthview/osgearthview.qrc
new file mode 100644
index 000000000..278dd281e
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthview.qrc
@@ -0,0 +1,5 @@
+
+
+ images/pfd-default.svg
+
+
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthview_dependencies.pri b/ground/openpilotgcs/src/plugins/osgearthview/osgearthview_dependencies.pri
new file mode 100644
index 000000000..9aae5fbc0
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthview_dependencies.pri
@@ -0,0 +1 @@
+include(../../plugins/uavobjects/uavobjects.pri)
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadget.cpp b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadget.cpp
new file mode 100644
index 000000000..04d46338b
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadget.cpp
@@ -0,0 +1,50 @@
+/********************************************************************************
+* @file osgearthviewgadget.cpp
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "osgearthviewgadget.h"
+#include "osgearthviewwidget.h"
+#include "osgearthviewconfiguration.h"
+
+OsgEarthviewGadget::OsgEarthviewGadget(QString classId, OsgEarthviewGadgetWidget *widget, QWidget *parent) :
+ IUAVGadget(classId, parent),
+ m_widget(widget)
+{
+}
+
+OsgEarthviewGadget::~OsgEarthviewGadget()
+{
+ delete m_widget;
+}
+
+/*
+ This is called when a configuration is loaded, and updates the plugin's settings.
+ Careful: the plugin is already drawn before the loadConfiguration method is called the
+ first time, so you have to be careful not to assume all the plugin values are initialized
+ the first time you use them
+ */
+void OsgEarthviewGadget::loadConfiguration(IUAVGadgetConfiguration* config)
+{
+ OsgEarthviewGadgetConfiguration *m = qobject_cast(config);
+}
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadget.h b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadget.h
new file mode 100644
index 000000000..09678a46c
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadget.h
@@ -0,0 +1,55 @@
+/********************************************************************************
+*
+* @file osgearthviewgadget.h
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef OSGEARTHVIEWGADGET_H_
+#define OSGEARTHVIEWGADGET_H_
+
+#include
+#include "osgearthviewwidget.h"
+
+class IUAVGadget;
+class QWidget;
+class QString;
+class OsgEarthviewGadgetWidget;
+
+using namespace Core;
+
+class OsgEarthviewGadget : public Core::IUAVGadget
+{
+ Q_OBJECT
+public:
+ OsgEarthviewGadget(QString classId, OsgEarthviewWidget *widget, QWidget *parent = 0);
+ ~OsgEarthviewGadget();
+
+ QWidget *widget() { return m_widget; }
+ void loadConfiguration(IUAVGadgetConfiguration* config);
+
+private:
+ OsgEarthviewGadgetWidget *m_widget;
+};
+
+
+#endif // OSGEARTHVIEWGADGET_H_
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetconfiguration.cpp b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetconfiguration.cpp
new file mode 100644
index 000000000..04a559162
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetconfiguration.cpp
@@ -0,0 +1,58 @@
+/********************************************************************************
+* @file osgearthviewgadgetconfiguration.cpp
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "osgearthviewgadgetconfiguration.h"
+#include "utils/pathutils.h"
+
+/**
+ * Loads a saved configuration or defaults if non exist.
+ *
+ */
+OsgEarthviewGadgetConfiguration::OsgEarthviewGadgetConfiguration(QString classId, QSettings* qSettings, QObject *parent) :
+ IUAVGadgetConfiguration(classId, parent)
+{
+ Q_UNUSED(qSettings);
+ //if a saved configuration exists load it
+ if(qSettings != 0) {
+ }
+}
+
+/**
+ * Clones a configuration.
+ *
+ */
+IUAVGadgetConfiguration *OsgEarthviewGadgetConfiguration::clone()
+{
+ OsgEarthviewGadgetConfiguration *m = new OsgEarthviewGadgetConfiguration(this->classId());
+ return m;
+}
+
+/**
+ * Saves a configuration.
+ *
+ */
+void OsgEarthviewGadgetConfiguration::saveConfig(QSettings* qSettings) const {
+ QString dialFile = Utils::PathUtils().RemoveDataPath(m_defaultDial);
+}
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetconfiguration.h b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetconfiguration.h
new file mode 100644
index 000000000..e49bf4af9
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetconfiguration.h
@@ -0,0 +1,46 @@
+/********************************************************************************
+*
+* @file osgearthviewgadgetconfiguration.h
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef OSGEARTHVIEWGADGETCONFIGURATION_H
+#define OSGEARTHVIEWGADGETCONFIGURATION_H
+
+#include
+
+using namespace Core;
+
+class OsgEarthviewGadgetConfiguration : public IUAVGadgetConfiguration
+{
+Q_OBJECT
+public:
+ explicit OsgEarthviewGadgetConfiguration(QString classId, QSettings* qSettings = 0, QObject *parent = 0);
+
+ void saveConfig(QSettings* settings) const;
+ IUAVGadgetConfiguration *clone();
+
+private:
+};
+
+#endif // OSGEARTHVIEWGADGETCONFIGURATION_H
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetfactory.cpp b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetfactory.cpp
new file mode 100644
index 000000000..79f5d96f3
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetfactory.cpp
@@ -0,0 +1,58 @@
+/********************************************************************************
+* @file osgearthviewgadgetfactory.cpp
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#include "osgearthviewgadgetfactory.h"
+#include "osgearthviewwidget.h"
+#include "osgearthviewgadget.h"
+#include "osgearthviewgadgetconfiguration.h"
+#include "osgearthviewgadgetoptionspage.h"
+#include
+
+OsgEarthviewGadgetFactory::OsgEarthviewGadgetFactory(QObject *parent) :
+ IUAVGadgetFactory(QString("OsgEarthviewGadget"),
+ tr("Osg Earth View"),
+ parent)
+{
+}
+
+OsgEarthviewGadgetFactory::~OsgEarthviewGadgetFactory()
+{
+}
+
+Core::IUAVGadget* OsgEarthviewGadgetFactory::createGadget(QWidget *parent)
+{
+ OsgEarthviewGadgetWidget* gadgetWidget = new OsgEarthviewGadgetWidget(parent);
+ return new OsgEarthviewGadget(QString("OsgEarthviewGadget"), gadgetWidget, parent);
+}
+
+IUAVGadgetConfiguration *OsgEarthviewGadgetFactory::createConfiguration(QSettings* qSettings)
+{
+ return new OsgEarthviewGadgetConfiguration(QString("OsgEarthviewGadget"), qSettings);
+}
+
+IOptionsPage *OsgEarthviewGadgetFactory::createOptionsPage(IUAVGadgetConfiguration *config)
+{
+ return new OsgEarthviewGadgetOptionsPage(qobject_cast(config));
+}
+
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetfactory.h b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetfactory.h
new file mode 100644
index 000000000..5c60366c3
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetfactory.h
@@ -0,0 +1,52 @@
+/**
+ ******************************************************************************
+
+ * @file osgearthviewgadgetfactory.h
+ * @author The OpenPilot Team Copyright (C) 2012.
+ * @addtogroup GCSPlugins GCS Plugins
+ * @{
+ * @addtogroup OsgEarthview Plugin
+ * @{
+ * @brief The Primary Flight Display Gadget
+ *****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef OSGEARTHVIEWGADGETFACTORY_H_
+#define OSGEARTHVIEWGADGETFACTORY_H_
+
+#include
+
+namespace Core {
+class IUAVGadget;
+class IUAVGadgetFactory;
+}
+
+using namespace Core;
+
+class OsgEarthviewGadgetFactory : public IUAVGadgetFactory
+{
+ Q_OBJECT
+public:
+ OsgEarthviewGadgetFactory(QObject *parent = 0);
+ ~OsgEarthviewGadgetFactory();
+
+ Core::IUAVGadget *createGadget(QWidget *parent);
+ IUAVGadgetConfiguration *createConfiguration(QSettings* qSettings);
+ IOptionsPage *createOptionsPage(IUAVGadgetConfiguration *config);
+};
+
+#endif // OSGEARTHVIEWGADGETFACTORY_H_
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.cpp b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.cpp
new file mode 100644
index 000000000..6beb7aebf
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.cpp
@@ -0,0 +1,86 @@
+/********************************************************************************
+* @file osgearthviewgadgetoptions.cpp
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "pfdgadgetoptionspage.h"
+#include "pfdgadgetconfiguration.h"
+#include "ui_pfdgadgetoptionspage.h"
+#include "extensionsystem/pluginmanager.h"
+#include "uavobjectmanager.h"
+#include "uavdataobject.h"
+
+
+#include
+#include
+#include
+
+PFDGadgetOptionsPage::PFDGadgetOptionsPage(PFDGadgetConfiguration *config, QObject *parent) :
+ IOptionsPage(parent),
+ m_config(config)
+{
+}
+
+//creates options page widget (uses the UI file)
+QWidget *PFDGadgetOptionsPage::createPage(QWidget *parent)
+{
+
+ options_page = new Ui::PFDGadgetOptionsPage();
+ //main widget
+ QWidget *optionsPageWidget = new QWidget;
+ //main layout
+ options_page->setupUi(optionsPageWidget);
+
+
+
+ // Restore the contents from the settings:
+ options_page->svgSourceFile->setExpectedKind(Utils::PathChooser::File);
+ options_page->svgSourceFile->setPromptDialogFilter(tr("SVG image (*.svg)"));
+ options_page->svgSourceFile->setPromptDialogTitle(tr("Choose SVG image"));
+ options_page->svgSourceFile->setPath(m_config->dialFile());
+ options_page->useOpenGL->setChecked(m_config->useOpenGL());
+ options_page->hqText->setChecked(m_config->getHqFonts());
+ options_page->smoothUpdates->setChecked(m_config->getBeSmooth());
+
+ return optionsPageWidget;
+}
+
+/**
+ * Called when the user presses apply or OK.
+ *
+ * Saves the current values
+ *
+ */
+void PFDGadgetOptionsPage::apply()
+{
+ m_config->setDialFile(options_page->svgSourceFile->path());
+ m_config->setUseOpenGL(options_page->useOpenGL->checkState());
+ m_config->setHqFonts(options_page->hqText->checkState());
+ m_config->setBeSmooth(options_page->smoothUpdates->checkState());
+}
+
+
+
+void PFDGadgetOptionsPage::finish()
+{
+}
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.h b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.h
new file mode 100644
index 000000000..8aef8ef8b
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.h
@@ -0,0 +1,65 @@
+/**
+ ******************************************************************************
+ *
+ * @file osgearthviewgadgetoptionspage.h
+ * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
+ * @addtogroup GCSPlugins GCS Plugins
+ * @{
+ * @addtogroup OPMapPlugin Primary Flight Display Plugin
+ * @{
+ * @brief The Primary Flight Display Gadget
+ *****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef OSGEARTHVIEWGADGETOPTIONSPAGE_H
+#define OSGEARTHVIEWGADGETOPTIONSPAGE_H
+
+#include "coreplugin/dialogs/ioptionspage.h"
+#include "QString"
+#include
+#include
+
+namespace Core {
+class IUAVGadgetConfiguration;
+}
+
+class OsgEarthviewGadgetConfiguration;
+
+namespace Ui {
+ class OsgEarthviewGadgetOptionsPage;
+}
+
+using namespace Core;
+
+class OsgEarthviewGadgetOptionsPage : public IOptionsPage
+{
+Q_OBJECT
+public:
+ explicit OsgEarthviewGadgetOptionsPage(OsgEarthviewGadgetConfiguration *config, QObject *parent = 0);
+
+ QWidget *createPage(QWidget *parent);
+ void apply();
+ void finish();
+
+private:
+ Ui::OsgEarthviewGadgetOptionsPage *options_page;
+ OsgEarthviewGadgetConfiguration *m_config;
+
+private slots:
+};
+
+#endif // OSGEARTHVIEWGADGETOPTIONSPAGE_H
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.ui b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.ui
new file mode 100644
index 000000000..f9a2808b3
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewgadgetoptionspage.ui
@@ -0,0 +1,126 @@
+
+
+ PFDGadgetOptionsPage
+
+
+
+ 0
+ 0
+ 529
+ 271
+
+
+
+
+ 0
+ 0
+
+
+
+ Form
+
+
+ -
+
+
+ 10
+
+
+ QLayout::SetMaximumSize
+
+
+ 10
+
+
-
+
+
+ PFD SVG:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
-
+
+
+ true
+
+
+ Use OpenGL for rendering
+
+
+ true
+
+
+
+ -
+
+
+ High Quality text (OpenGL)
+
+
+
+
+
+ -
+
+
-
+
+
+ Smooth updates
+
+
+ true
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::MinimumExpanding
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+ Utils::PathChooser
+ QWidget
+
+ 1
+
+
+
+
+
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewplugin.cpp b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewplugin.cpp
new file mode 100644
index 000000000..bb33fd8c7
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewplugin.cpp
@@ -0,0 +1,64 @@
+/********************************************************************************
+* @file osgearthviewplugin.cpp
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "osgearthviewplugin.h"
+#include "osgearthviewgadgetfactory.h"
+#include
+#include
+#include
+#include
+
+
+OsgEarthviewPlugin::OsgEarthviewPlugin()
+{
+ // Do nothing
+}
+
+OsgEarthviewPlugin::~OsgEarthviewPlugin()
+{
+ // Do nothing
+}
+
+bool OsgEarthviewPlugin::initialize(const QStringList& args, QString *errMsg)
+{
+ Q_UNUSED(args);
+ Q_UNUSED(errMsg);
+ mf = new OsgEarthviewGadgetFactory(this);
+ addAutoReleasedObject(mf);
+
+ return true;
+}
+
+void OsgEarthviewPlugin::extensionsInitialized()
+{
+ // Do nothing
+}
+
+void OsgEarthviewPlugin::shutdown()
+{
+ // Do nothing
+}
+Q_EXPORT_PLUGIN(OsgEarthviewPlugin)
+
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewplugin.h b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewplugin.h
new file mode 100644
index 000000000..2fc1625a0
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewplugin.h
@@ -0,0 +1,47 @@
+/**
+ ******************************************************************************
+ *
+ * @file pfdplugin.h
+ * @author Edouard Lafargue Copyright (C) 2010.
+ * @addtogroup GCSPlugins GCS Plugins
+ * @{
+ * @addtogroup OPMapPlugin Primary Flight Display Plugin
+ * @{
+ * @brief The Primary Flight Display Gadget
+ *****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef OSGEARTHVIEWPLUGIN_H_
+#define OSGEARTHVIEWPLUGIN_H_
+
+#include
+
+class OsgEarthviewGadgetFactory;
+
+class OsgEarthviewPlugin : public ExtensionSystem::IPlugin
+{
+public:
+ OsgEarthviewPlugin();
+ ~OsgEarthviewPlugin();
+
+ void extensionsInitialized();
+ bool initialize(const QStringList & arguments, QString * errorString);
+ void shutdown();
+private:
+ OsgEarthviewGadgetFactory *mf;
+};
+#endif /* PFDPLUGIN_H_ */
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewwidget.cpp b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewwidget.cpp
new file mode 100644
index 000000000..33e297b27
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewwidget.cpp
@@ -0,0 +1,53 @@
+/********************************************************************************
+* @file osgearthviewwidget.cpp
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin Widget
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "osgearthviewwidget.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+OsgEarthviewWidget::OsgEarthviewWidget(QWidget *parent) : QGraphicsView(parent)
+{
+}
+
+OsgEarthviewWidget::~OsgEarthviewWidget()
+{
+}
+
+void OsgEarthviewWidget::paint()
+{
+}
+
+void OsgEarthviewWidget::paintEvent(QPaintEvent *event)
+{
+}
+
+void OsgEarthviewWidget::resizeEvent(QResizeEvent *event)
+{
+}
diff --git a/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewwidget.h b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewwidget.h
new file mode 100644
index 000000000..67e3ecc62
--- /dev/null
+++ b/ground/openpilotgcs/src/plugins/osgearthview/osgearthviewwidget.h
@@ -0,0 +1,60 @@
+/********************************************************************************
+* @file osgearthviewwidget.h
+* @author The OpenPilot Team Copyright (C) 2012.
+* @addtogroup GCSPlugins GCS Plugins
+* @{
+* @addtogroup OsgEarthview Plugin
+* @{
+* @brief Osg Earth view of UAV
+*****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef OSGEARTHVIEWWIDGET_H_
+#define OSGEARTHVIEWWIDGET_H_
+
+#include "osgearthviewgadgetconfiguration.h"
+#include "extensionsystem/pluginmanager.h"
+#include "uavobjectmanager.h"
+#include "uavobject.h"
+#include
+#include
+#include
+
+#include
+#include
+
+class OsgEarthviewWidget : public QGraphicsView
+{
+ Q_OBJECT
+
+public:
+ OsgEarthviewWidget(QWidget *parent = 0);
+ ~OsgEarthviewWidget();
+ void paint();
+
+public slots:
+
+protected:
+ void paintEvent(QPaintEvent *event);
+ void resizeEvent(QResizeEvent *event);
+
+private slots:
+
+private:
+
+};
+#endif /* OSGEARTHVIEWWIDGET_H_ */