void DocumentManager::centerViewOn(qreal x, qreal y) { MapView *view = currentMapView(); if (!view) return; view->centerOn(currentDocument()->renderer()->tileToPixelCoords(x, y)); }
void DocumentManager::addDocument(MapDocument *mapDocument) { Q_ASSERT(mapDocument); Q_ASSERT(!mDocuments.contains(mapDocument)); mDocuments.append(mapDocument); mUndoGroup->addStack(mapDocument->undoStack()); MapView *view = new MapView(mTabWidget); MapScene *scene = new MapScene(view); // scene is owned by the view scene->setMapDocument(mapDocument); view->setScene(scene); view->centerOn(mapDocument->renderer()->tileToPixelCoords(0, 0)); const int documentIndex = mDocuments.size() - 1; mTabWidget->addTab(view, mapDocument->displayName()); mTabWidget->setTabToolTip(documentIndex, mapDocument->fileName()); connect(mapDocument, SIGNAL(fileNameChanged()), SLOT(updateDocumentTab())); connect(mapDocument, SIGNAL(modifiedChanged()), SLOT(updateDocumentTab())); switchToDocument(documentIndex); }