NativeRenderDialog::NativeRenderDialog(Document *aDoc, const CoordBox& aCoordBox, QWidget *parent) :QObject(parent), theDoc(aDoc), theOrigBox(aCoordBox) { thePrinter = new QPrinter(); thePrinter->setDocName(aDoc->title()); mapview = new MapView(NULL); mapview->setDocument(theDoc); preview = new QPrintPreviewDialog( thePrinter, parent ); QMainWindow* mw = preview->findChild<QMainWindow*>(); prtW = dynamic_cast<QPrintPreviewWidget*>(mw->centralWidget()); QWidget* myWidget = new QWidget(preview); ui.setupUi(myWidget); ui.verticalLayout->addWidget(prtW); mw->setCentralWidget(myWidget); /* Set the DPI validator to accept positive values only. */ dpiValidator = new QIntValidator( ui.fieldDpi ); dpiValidator->setBottom( 0 ); ui.fieldDpi->setValidator( dpiValidator ); /* Set the UI parameters first, before we tie in the updatePreview signal/slot. */ setBoundingBox(aCoordBox); setOptions(M_PREFS->getRenderOptions()); /* Tie in the updatePreview slot to the UI. */ connect(ui.cbShowNodes, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.cbShowRelations, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.cbShowGrid, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.cbShowScale, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.cbShowUnstyled, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.sbMinLat, SIGNAL(valueChanged(double)), prtW, SLOT(updatePreview())); connect(ui.sbMaxLat, SIGNAL(valueChanged(double)), prtW, SLOT(updatePreview())); connect(ui.sbMinLon, SIGNAL(valueChanged(double)), prtW, SLOT(updatePreview())); connect(ui.sbMaxLon, SIGNAL(valueChanged(double)), prtW, SLOT(updatePreview())); connect(ui.btExportPDF, SIGNAL(clicked()), SLOT(exportPDF())); connect(ui.btExportSVG, SIGNAL(clicked()), SLOT(exportSVG())); connect(ui.btExportRaster, SIGNAL(clicked()), SLOT(exportRaster())); connect( preview, &QPrintPreviewDialog::paintRequested, this, &NativeRenderDialog::renderPreview ); }
NativeRenderDialog::NativeRenderDialog(Document *aDoc, const CoordBox& aCoordBox, QWidget *parent) :QObject(parent), theDoc(aDoc), theOrigBox(aCoordBox) { thePrinter = new QPrinter(); thePrinter->setDocName(aDoc->title()); mapview = new MapView(NULL); mapview->setDocument(theDoc); preview = new QPrintPreviewDialog( thePrinter, parent ); QMainWindow* mw = preview->findChild<QMainWindow*>(); prtW = dynamic_cast<QPrintPreviewWidget*>(mw->centralWidget()); QWidget* myWidget = new QWidget(preview); ui.setupUi(myWidget); ui.verticalLayout->addWidget(prtW); mw->setCentralWidget(myWidget); connect(ui.cbShowNodes, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.cbShowRelations, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.cbShowGrid, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.cbShowScale, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.cbShowUnstyled, SIGNAL(toggled(bool)), prtW, SLOT(updatePreview())); connect(ui.sbMinLat, SIGNAL(valueChanged(double)), prtW, SLOT(updatePreview())); connect(ui.sbMaxLat, SIGNAL(valueChanged(double)), prtW, SLOT(updatePreview())); connect(ui.sbMinLon, SIGNAL(valueChanged(double)), prtW, SLOT(updatePreview())); connect(ui.sbMaxLon, SIGNAL(valueChanged(double)), prtW, SLOT(updatePreview())); connect(ui.btExportPDF, SIGNAL(clicked()), SLOT(exportPDF())); connect(ui.btExportSVG, SIGNAL(clicked()), SLOT(exportSVG())); connect(ui.btExportRaster, SIGNAL(clicked()), SLOT(exportRaster())); connect( preview, SIGNAL(paintRequested(QPrinter*)), SLOT(print(QPrinter*)) ); setBoundingBox(aCoordBox); setOptions(M_PREFS->getRenderOptions()); }