//----------------------------------------------------------------------------- void PlotWindow::saveToFile(const QString& fileName) const { QRect rect; rect.setSize(this->size()); if (fileName.endsWith(".png")) { QPixmap pixmap(rect.width(), rect.height()); pixmap.fill(); QPainter painter(&pixmap); painter.begin(&pixmap); mpPlot->print(&painter, rect, PrintFilter()); painter.end(); pixmap.save(fileName, "PNG"); } else if (fileName.endsWith(".svg")) { QSvgGenerator generator; generator.setFileName(fileName); QPainter painter(&generator); painter.begin(&generator); mpPlot->print(&painter, rect, PrintFilter()); painter.end(); } else if (fileName.endsWith(".pdf")) { QPrinter printer; printer.setOutputFileName(fileName); printer.setOutputFormat(QPrinter::PdfFormat); QPainter painter(&printer); painter.begin(&printer); mpPlot->print(&painter, rect, PrintFilter()); painter.end(); } }
void PlotWindow::printPlot() { QPrinter printer; QString docName = mpPlot->title().text(); if (docName.isEmpty()) { //docName.replace (QRegExp (QString::fromLatin1 ("\n")), tr (" -- ")); docName = QString::fromLatin1("A plot of selected COPASI output"); printer.setDocName(docName); } printer.setCreator("COPASI"); printer.setOrientation(QPrinter::Landscape); QPrintDialog dialog(&printer); if (dialog.exec()) mpPlot->print(printer, PrintFilter()); }
void PlotWindow::printAsImage() { // take a name from QFileDialog C_INT32 Answer = QMessageBox::No; QString fileName, extensionName; while (Answer == QMessageBox::No) { // QString userFilter = new QString; /* fileName = CopasiFileDialog::getSaveFileNameAndFilter(filter, this, "Save File Dialog", QString::null, "PNG Files (*.png);;SVG Files (*.svg)", "Save to"); */ fileName = CopasiFileDialog::getSaveFileName(this, "Save File Dialog", "untitled.png", "PDF Files (*.pdf);;PNG Files (*.png);;SVG Files (*.svg)", "Save Plot as Image", new QString); if (fileName.isEmpty()) return; /* QFileInfo fileInfo(fileName); extensionName = fileInfo.extension(); */ #ifdef DEBUG_UI // qDebug() << "extensionName = " << extensionName; #endif // check whether the file exists Answer = checkSelection(fileName); if (Answer == QMessageBox::Cancel) return; } // print plot as an image QRect rect; rect.setSize(this->size()); if (fileName.endsWith(".png")) { QPixmap pixmap(rect.width(), rect.height()); pixmap.fill(); QPainter painter(&pixmap); painter.begin(&pixmap); mpPlot->print(&painter, rect, PrintFilter()); painter.end(); pixmap.save(fileName, "PNG"); } else if (fileName.endsWith(".svg")) { QSvgGenerator generator; generator.setFileName(fileName); QPainter painter(&generator); painter.begin(&generator); mpPlot->print(&painter, rect, PrintFilter()); painter.end(); } else if (fileName.endsWith(".pdf")) { QPrinter printer; printer.setOutputFileName(fileName); printer.setOutputFormat(QPrinter::PdfFormat); QPainter painter(&printer); painter.begin(&printer); mpPlot->print(&painter, rect, PrintFilter()); painter.end(); } }