int qmapcontrol::MapControl::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: mouseEventCoordinate((*reinterpret_cast< const QMouseEvent*(*)>(_a[1])),(*reinterpret_cast< const QPointF(*)>(_a[2]))); break; case 1: boxDragged((*reinterpret_cast< const QRectF(*)>(_a[1]))); break; case 2: geometryClicked((*reinterpret_cast< Geometry*(*)>(_a[1])),(*reinterpret_cast< QPoint(*)>(_a[2]))); break; case 3: viewChanged((*reinterpret_cast< const QPointF(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 4: zoomIn(); break; case 5: zoomOut(); break; case 6: setZoom((*reinterpret_cast< int(*)>(_a[1]))); break; case 7: scrollLeft((*reinterpret_cast< int(*)>(_a[1]))); break; case 8: scrollLeft(); break; case 9: scrollRight((*reinterpret_cast< int(*)>(_a[1]))); break; case 10: scrollRight(); break; case 11: scrollUp((*reinterpret_cast< int(*)>(_a[1]))); break; case 12: scrollUp(); break; case 13: scrollDown((*reinterpret_cast< int(*)>(_a[1]))); break; case 14: scrollDown(); break; case 15: scroll((*reinterpret_cast< const QPoint(*)>(_a[1]))); break; case 16: updateRequest((*reinterpret_cast< QRect(*)>(_a[1]))); break; case 17: updateRequestNew(); break; case 18: resize((*reinterpret_cast< const QSize(*)>(_a[1]))); break; case 19: tick(); break; case 20: loadingFinished(); break; case 21: positionChanged((*reinterpret_cast< Geometry*(*)>(_a[1]))); break; default: ; } _id -= 22; } return _id; }
QmlMapControl::QmlMapControl (QQuickItem *parent) : QQuickPaintedItem(parent) { setOpaquePainting(true); setAcceptHoverEvents(true); setAcceptedMouseButtons(Qt::AllButtons); layermanager = new LayerManager(this, size); screen_middle = QPoint(size.width()/2, size.height()/2); mousepressed = false; scaleVisible = true; crosshairsVisible = true; mymousemode = Panning; mouse_wheel_events = true; connect(ImageManager::instance(), SIGNAL(imageReceived()), this, SLOT(updateRequestNew())); connect(ImageManager::instance(), SIGNAL(loadingFinished()), this, SLOT(loadingFinished())); setWidth(size.width()+1); setHeight(size.height()+1); connect( this, SIGNAL(widthChanged()) , SLOT(sizeChanged()) ); connect( this, SIGNAL(heightChanged()), SLOT(sizeChanged()) ); }
void MapControl::__init() { layermanager = new LayerManager(this, size); screen_middle = QPoint(size.width()/2, size.height()/2); mousepressed = false; connect(ImageManager::instance(), SIGNAL(imageReceived()), this, SLOT(updateRequestNew())); connect(ImageManager::instance(), SIGNAL(loadingFinished()), this, SLOT(loadingFinished())); this->setMaximumSize(size.width()+1, size.height()+1); mouse_wheel_events = true; }
void QmlMapControl::positionChanged(Geometry* geom) { if ( !layermanager->layer() || !layermanager->layer()->mapAdapter() ) { qDebug() << "MapControl::positionChanged() - no layers configured"; return; } QPoint start = layermanager->layer()->mapAdapter()->coordinateToDisplay(currentCoordinate()); QPoint dest = layermanager->layer()->mapAdapter()->coordinateToDisplay(((Point*)geom)->coordinate()); QPoint step = (dest-start); layermanager->scrollView(step); updateRequestNew(); }
void MapControl::positionChanged(Geometry* geom) { if ( !layermanager->layer() || !layermanager->layer()->mapadapter() ) { qDebug() << "MapControl::positionChanged() - no layers configured"; return; } Point* point = dynamic_cast<Point*>(geom); if (point!=0) { QPoint start = layermanager->layer()->mapadapter()->coordinateToDisplay(currentCoordinate()); QPoint dest = layermanager->layer()->mapadapter()->coordinateToDisplay(point->coordinate()); QPoint step = (dest-start); layermanager->scrollView(step); updateRequestNew(); } }
MapControl::MapControl(QSize size, MouseMode mousemode) : size(size), mymousemode(mousemode), scaleVisible(false), cursorPosVisible(false), mapPen(Qt::black) { layermanager = new LayerManager(this, size); screen_middle = QPoint(size.width()/2, size.height()/2); mousepressed = false; connect(ImageManager::instance(), SIGNAL(imageReceived()), this, SLOT(updateRequestNew())); connect(ImageManager::instance(), SIGNAL(loadingFinished()), this, SLOT(loadingFinished())); this->setMaximumSize(size.width()+1, size.height()+1); distanceList<<5000000<<2000000<<1000000<<1000000<<1000000<<100000<<100000<<50000<<50000<<10000<<10000<<10000<<1000<<1000<<500<<200<<100<<50<<25; }
MapControl::MapControl(QSize size, MouseMode mousemode, QWidget *parent) :QWidget(parent), size(size), mousemode(mousemode) { layermanager = new LayerManager(this, size); MapAdapter *mapadapter = new GoogleMapAdapter(); layermanager->addLayer(new MapLayer("Map", mapadapter)); screen_middle = QPoint(size.width()/2, size.height()/2); mousepressed = false; connect(ImageManager::instance(), SIGNAL(imageReceived()), this, SLOT(updateRequestNew())); connect(ImageManager::instance(), SIGNAL(loadingFinished()), this, SLOT(loadingFinished())); this->setMaximumSize(size.width()+1, size.height()+1); // create buttons as controls for zoom QPushButton* zoomin = new QPushButton("+"); QPushButton* zoomout = new QPushButton("-"); zoomin->setMaximumWidth(30); zoomout->setMaximumWidth(30); connect(zoomin, SIGNAL(clicked(bool)), this, SLOT(zoomIn())); connect(zoomout, SIGNAL(clicked(bool)), this, SLOT(zoomOut())); // add zoom buttons to the layout of the MapControl QVBoxLayout* innerlayout = new QVBoxLayout; innerlayout->addWidget(zoomin); innerlayout->addWidget(zoomout); setLayout(innerlayout); }