Newer
Older
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL 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.
QGROUNDCONTROL 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 QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/**
* @file
* @author Mariano Lizaraga
*
*/
#ifndef MAPWIDGET_H
#define MAPWIDGET_H
#include <QtGui/QWidget>
namespace Ui {
class MapWidget;
}
using namespace qmapcontrol;
class MapWidget : public QWidget {
Q_OBJECT
public:
MapWidget(QWidget *parent = 0);
~MapWidget();
public slots:
void addUAS(UASInterface* uas);
void updateGlobalPosition(UASInterface* uas, double lat, double lon, double alt, quint64 usec);
void updatePosition(float time, double lat, double lon);
protected:
void changeEvent(QEvent* e);
void wheelEvent(QWheelEvent *event);
void keyPressEvent(QKeyEvent *event);
void resizeEvent(QResizeEvent* event);
QAction* osmAction;
QAction* yahooActionMap;
QAction* yahooActionSatellite;
QAction* yahooActionOverlay;
QAction* googleActionMap;
QAction* googleSatAction;
Mariano Lizarraga
committed
Mariano Lizarraga
committed
QPushButton* createPath;
QMenu* mapMenu;
QPushButton* mapButton;
MapControl* mc; ///< QMapControl widget
MapAdapter* mapadapter; ///< Adapter to load the map data
qmapcontrol::Layer* l; ///< Current map layer (background)
qmapcontrol::Layer* overlay; ///< Street overlay (foreground)
qmapcontrol::GeometryLayer* geomLayer; ///< Layer for waypoints
int detailZoom; ///< Steps zoomed in further than qMapControl allows
static const int scrollStep = 40; ///< Scroll n pixels per keypress
static const int maxZoom = 50; ///< Maximum zoom level
Mariano Lizarraga
committed
Mariano Lizarraga
committed
//Layer* gSatLayer;
QMap<int, LineString*> uasTrails;
Mariano Lizarraga
committed
protected slots:
void captureMapClick (const QMouseEvent* event, const QPointF coordinate);
void createPathButtonClicked();
Mariano Lizarraga
committed
void captureGeometryClick(Geometry*, QPoint);
Mariano Lizarraga
committed
QList<Point*> wps;
LineString* path;
QPen* pointPen;