/*! Associates the QGeoMapData instance \a mapData with this map object. This will create an appropriate QGeoMapObjectInfo instance for this QGeoMapObject and will connect the appropriate signals to it so that it can be kept up to date. \since 1.1 */ void QGeoMapObject::setMapData(QGeoMapData *mapData) { if (d_ptr->mapData == mapData) return; if (d_ptr->info) { delete d_ptr->info; d_ptr->info = 0; } d_ptr->mapData = mapData; if (!d_ptr->mapData) return; d_ptr->info = mapData->createMapObjectInfo(this); if (!d_ptr->info) return; connect(d_ptr->mapData, SIGNAL(windowSizeChanged(QSizeF)), d_ptr->info, SLOT(windowSizeChanged(QSizeF))); connect(d_ptr->mapData, SIGNAL(zoomLevelChanged(qreal)), d_ptr->info, SLOT(zoomLevelChanged(qreal))); connect(d_ptr->mapData, SIGNAL(centerChanged(QGeoCoordinate)), d_ptr->info, SLOT(centerChanged(QGeoCoordinate))); connect(this, SIGNAL(zValueChanged(int)), d_ptr->info, SLOT(zValueChanged(int))); connect(this, SIGNAL(visibleChanged(bool)), d_ptr->info, SLOT(visibleChanged(bool))); connect(this, SIGNAL(selectedChanged(bool)), d_ptr->info, SLOT(selectedChanged(bool))); connect(this, SIGNAL(originChanged(QGeoCoordinate)), d_ptr->info, SLOT(originChanged(QGeoCoordinate))); connect(this, SIGNAL(transformTypeChanged(QGeoMapObject::TransformType)), d_ptr->info, SLOT(transformTypeChanged(QGeoMapObject::TransformType))); connect(this, SIGNAL(unitsChanged(QGeoMapObject::CoordinateUnit)), d_ptr->info, SLOT(unitsChanged(QGeoMapObject::CoordinateUnit))); d_ptr->info->init(); }
void ZoomWidget::resizeEvent( QResizeEvent* e ) { // send a signal so that others (QredOgMap) can also resize their internal storage emit windowSizeChanged( e->size() ); }
void QDeclarativeGraphicsGeoMap::setPlugin(QDeclarativeGeoServiceProvider *plugin) { if (plugin_) { qmlInfo(this) << tr("Plugin is a write-once property, and cannot be set again."); return; } plugin_ = plugin; emit pluginChanged(plugin_); serviceProvider_ = new QGeoServiceProvider(plugin_->name(), plugin_->parameterMap()); if (serviceProvider_->error() != QGeoServiceProvider::NoError) { qWarning() << serviceProvider_->errorString(); delete serviceProvider_; serviceProvider_ = 0; return; } mappingManager_ = serviceProvider_->mappingManager(); if (!mappingManager_ || serviceProvider_->error() != QGeoServiceProvider::NoError) { qWarning() << serviceProvider_->errorString(); delete serviceProvider_; serviceProvider_ = 0; delete mappingManager_; mappingManager_ = 0; return; } mapData_ = mappingManager_->createMapData(); mapData_->init(); //mapData_->setParentItem(this); // setters mapData_->setWindowSize(size_); mapData_->setZoomLevel(zoomLevel_); if (center_) mapData_->setCenter(center_->coordinate()); else mapData_->setCenter(*initialCoordinate); mapData_->setMapType(QGraphicsGeoMap::MapType(mapType_)); mapData_->setConnectivityMode(QGraphicsGeoMap::ConnectivityMode(connectivityMode_)); // Populate the map objects. populateMap(); // setup signals connect(mapData_, SIGNAL(updateMapDisplay(QRectF)), this, SLOT(updateMapDisplay(QRectF))); connect(mapData_, SIGNAL(centerChanged(QGeoCoordinate)), this, SLOT(internalCenterChanged(QGeoCoordinate))); connect(mapData_, SIGNAL(mapTypeChanged(QGraphicsGeoMap::MapType)), this, SLOT(internalMapTypeChanged(QGraphicsGeoMap::MapType))); connect(mapData_, SIGNAL(connectivityModeChanged(QGraphicsGeoMap::ConnectivityMode)), this, SLOT(internalConnectivityModeChanged(QGraphicsGeoMap::ConnectivityMode))); connect(mapData_, SIGNAL(windowSizeChanged(QSizeF)), this, SIGNAL(sizeChanged(QSizeF))); connect(mapData_, SIGNAL(zoomLevelChanged(qreal)), this, SIGNAL(zoomLevelChanged(qreal))); }