mainwindow.h Example File
mapviewer/mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <qgeomappingmanager.h>
#include <qgeoroutingmanager.h>
#include <qgeomapwidget.h>
#include <qgeoserviceprovider.h>
#include <qgeomapmarkerobject.h>
#include <QMainWindow>
#include <QResizeEvent>
#include <QGraphicsView>
#include <QGraphicsSceneMouseEvent>
#include <QMenu>
#include <QPixmap>
#include <QList>
namespace Ui
{
class MainWindow;
}
#ifdef Q_OS_SYMBIAN
QTM_BEGIN_NAMESPACE
class QNetworkSession;
QTM_END_NAMESPACE
#endif
QTM_USE_NAMESPACE
class MapWidget : public QGeoMapWidget
{
Q_OBJECT
public:
MapWidget(QGeoMappingManager *manager);
~MapWidget();
protected:
void mousePressEvent(QGraphicsSceneMouseEvent* event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
void keyPressEvent(QKeyEvent *event);
void wheelEvent(QGraphicsSceneWheelEvent* event);
private:
bool panActive;
};
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
virtual void resizeEvent(QResizeEvent* event);
private:
Ui::MainWindow *ui;
void setProvider(QString providerId);
void createMenus();
void createMarkerIcon();
private slots:
void delayedInit();
void drawRect(bool checked);
void drawMarker(bool checked);
void drawPolyline(bool checked);
void drawPolygon(bool checked);
void calcRoute(bool checked);
void customContextMenuRequest(const QPoint&);
void routeFinished();
void removeMarkers();
private:
QGeoServiceProvider *m_serviceProvider;
QGeoMappingManager *m_mapManager;
QGeoRoutingManager *m_routingManager;
MapWidget *m_mapWidget;
QMenu* m_popupMenu;
QPixmap m_markerIcon;
QPoint lastClicked;
QList<QPoint> markers;
QList<QGeoMapMarkerObject*> markerObjects;
QGraphicsView* qgv;
#ifdef Q_OS_SYMBIAN
QNetworkSession *session;
#endif
};
#endif