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; }
void MapControl::mouseReleaseEvent(QMouseEvent* evnt) { mousepressed = false; if (mymousemode == Dragging) { QPointF ulCoord = clickToWorldCoordinate(pre_click_px); QPointF lrCoord = clickToWorldCoordinate(current_mouse_pos); QRectF coordinateBB = QRectF(ulCoord, QSizeF( (lrCoord-ulCoord).x(), (lrCoord-ulCoord).y())); emit(boxDragged(coordinateBB)); } emit(mouseEventCoordinate(evnt, clickToWorldCoordinate(evnt->pos()))); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setWindowTitle( tr("TerraGear GUI") ); // create MapControl mc = new MapControl(QSize(458, 254)); mc->setMinimumSize(QSize(458,254)); mc->showScale(true); mapadapter = new OSMMapAdapter(); mainlayer = new MapLayer("OpenStreetMap-Layer", mapadapter); mc->addLayer(mainlayer); connect(mc, SIGNAL(boxDragged(QRectF)), this, SLOT(draggedRect(QRectF))); addZoomButtons(); mc->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); ui->mapLayout-> addWidget(mc); // restore variables from previous session loadSettings(); // TAB: Airports updateAirportRadios(); // hide the non-selected options // TAB: Construct ui->shapefilesTable->setSelectionBehavior(QAbstractItemView::SelectRows); ui->shapefilesTable->setHorizontalHeaderLabels(QStringList() << tr("Shapefile") << tr("Material")); #if QT_VERSION >= 0x050000 ui->shapefilesTable->horizontalHeader()->setSectionResizeMode( QHeaderView::Stretch); #else ui->shapefilesTable->horizontalHeader()->setResizeMode(QHeaderView::Stretch); #endif ui->shapefilesTable->horizontalHeader()->setStyleSheet("font: bold;"); ui->shapefilesTable->verticalHeader()->hide(); // create sub-directory variables dataDirectory = projectDirectory+"/data"; outpDirectory = projectDirectory+"/output"; workDirectory = projectDirectory+"/work"; // run functions on startup if (flightgearDirectory != 0) { updateMaterials(); if (airportFile.size() == 0) { // try to find apt.dat.gz file QString apfile = flightgearDirectory+"/Airports/apt.dat.gz"; QFile apf(apfile); if (apf.exists()) { airportFile = apfile; settings.setValue("paths/airportFile", airportFile); // keep the airport file found } } if (airportFile.size()) ui->aptFileField->setText(airportFile); } // re-apply the check boxes (for construct) bool ign_lm = settings.value("check/ignore_landmass").toBool(); ui->ignoreLandmassCB->setCheckState(ign_lm ? Qt::Checked : Qt::Unchecked); // Network manager _manager = new QNetworkAccessManager(this); connect(_manager, SIGNAL(finished(QNetworkReply*)), SLOT(downloadFinished(QNetworkReply*))); m_break = false; if (ui->tabWidget->currentIndex() == 1) { ui->textBrowser->hide(); mc->resize(QSize(458,254)); } // add context menu to table connect(ui->shapefilesTable, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(displayMenu(QPoint))); }