aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/globe.h
blob: dad3cf99f2e143ce4e6d87727084e4b5948f1819 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef GLOBE_H
#define GLOBE_H

#include <marble/MarbleWidget.h>
#include <marble/GeoDataCoordinates.h>
#include <marble/GeoDataDocument.h>

#include <QHash>

class KMessageWidget;
using namespace Marble;
struct dive;

class GlobeGPS : public MarbleWidget{
	Q_OBJECT
public:
	using MarbleWidget::centerOn;
	GlobeGPS(QWidget *parent);
	void reload();
	void repopulateLabels();
	void centerOn(struct dive* dive);
	bool eventFilter(QObject*, QEvent*);
protected:
	/* reimp */ void resizeEvent(QResizeEvent *event);
	/* reimp */ void mousePressEvent(QMouseEvent* event);
	/* reimp */ void contextMenuEvent(QContextMenuEvent*);
private:
	GeoDataDocument *loadedDives;
	KMessageWidget* messageWidget;
	QTimer *fixZoomTimer;
	int currentZoomLevel;
	bool editingDiveLocation;

public slots:
	void changeDiveGeoPosition(qreal lon,qreal lat,GeoDataCoordinates::Unit);
	void mouseClicked(qreal lon, qreal lat, GeoDataCoordinates::Unit);
	void fixZoom();
	void prepareForGetDiveCoordinates();

};

#endif // GLOBE_H