void MultiLayer::exportToFile(const QString &fileName) { if (fileName.isEmpty()) { QMessageBox::critical(0, tr("Error"), tr("Please provide a valid file name!")); return; } if (fileName.contains(".eps") || fileName.contains(".pdf") || fileName.contains(".ps")) { exportVector(fileName); return; } else if (fileName.contains(".svg")) { exportSVG(fileName); return; } else { QList<QByteArray> list = QImageWriter::supportedImageFormats(); for (int i = 0; i < list.count(); i++) { if (fileName.contains("." + list[i].toLower())) { exportImage(fileName); return; } } QMessageBox::critical(this, tr("Error"), tr("File format not handled, operation aborted!")); } }
void Matrix::exportToFile(const QString& fileName) { if ( fileName.isEmpty() ){ QMessageBox::critical(this, tr("QtiPlot - Error"), tr("Please provide a valid file name!")); return; } if (fileName.contains(".eps") || fileName.contains(".pdf") || fileName.contains(".ps")){ exportVector(fileName); return; } else if(fileName.contains(".svg")){ exportSVG(fileName); return; } #ifdef EMF_OUTPUT else if(fileName.contains(".emf")){ exportEMF(fileName); return; } #endif else { QList<QByteArray> list = QImageWriter::supportedImageFormats(); for(int i=0 ; i<list.count() ; i++){ if (fileName.contains( "." + list[i].toLower())){ d_matrix_model->renderImage().save(fileName, list[i], 100); return; } } QMessageBox::critical(this, tr("QtiPlot - Error"), tr("File format not handled, operation aborted!")); } }
int MainWin::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: moved((*reinterpret_cast< const QPoint(*)>(_a[1]))); break; case 1: selected((*reinterpret_cast< const QwtPolygon(*)>(_a[1]))); break; case 2: print(); break; case 3: exportSVG(); break; case 4: enableZoomMode((*reinterpret_cast< bool(*)>(_a[1]))); break; } _id -= 5; } return _id; }
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 ); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , m_update_pending(false), m_animating(false) , m_fgColor(255, 255, 255), m_bgColor(0, 0, 0) { m_oglviewer = new OGLViewer; ui.setupUi(this); ui.ogl_layout->addWidget(m_oglviewer); //setWindowTitle(tr("OpenGL Qt Template")); m_oglviewer->setFocusPolicy(Qt::StrongFocus); connect(ui.clear_button, SIGNAL(clicked()), m_oglviewer, SLOT(clearVertex())); connect(ui.curve_type, SIGNAL(currentIndexChanged(int)), m_oglviewer, SLOT(changeCurveType(int))); connect(ui.degree_val, SIGNAL(valueChanged(int)), m_oglviewer, SLOT(setDegree(int))); connect(ui.seg_val, SIGNAL(valueChanged(int)), m_oglviewer, SLOT(setSegment(int))); connect(ui.actionOpen, SIGNAL(triggered()), this, SLOT(readPoints())); connect(ui.actionSave, SIGNAL(triggered()), this, SLOT(savePoints())); connect(ui.actionExport, SIGNAL(triggered()), this, SLOT(exportSVG())); signalMapper = new QSignalMapper(this); connect(signalMapper, SIGNAL(mapped(int)), m_oglviewer, SLOT(changeOperation(int))); signalMapper->setMapping(ui.actionInsert, 0); signalMapper->setMapping(ui.actionMove, 1); connect(ui.actionInsert, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(ui.actionMove, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(ui.intersection_button, SIGNAL(clicked()), m_oglviewer, SLOT(findIntersections())); connect(ui.disp_ctrl_pts, SIGNAL(toggled(bool)), m_oglviewer, SLOT(setDispCtrlPts(bool))); connect(ui.disp_curves, SIGNAL(toggled(bool)), m_oglviewer, SLOT(setDispCurves(bool))); connect(ui.disp_intersections, SIGNAL(toggled(bool)), m_oglviewer, SLOT(setDispIntersections(bool))); ui.foreground_color->setStyleSheet("QPushButton { background-color : #FFFFFF;}"); ui.background_color->setStyleSheet("QPushButton { background-color : #000000;}"); connect(ui.foreground_color, SIGNAL(clicked()), this, SLOT(pickColor())); }
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()); }
void Clamp::customizeGUI(void) { QGridLayout *customlayout = DefaultGUIModel::getLayout(); customlayout->setColumnStretch(1,1); //overall GUI layout with a "horizontal box" copied from DefaultGUIModel QGroupBox *plotBox = new QGroupBox("FI Plot"); QHBoxLayout *plotBoxLayout = new QHBoxLayout; plotBox->setLayout(plotBoxLayout); QPushButton *clearButton = new QPushButton("&Clear"); QPushButton *linearfitButton = new QPushButton("Linear &Fit"); QPushButton *savePlotButton = new QPushButton("Screenshot"); QPushButton *printButton = new QPushButton("Print"); QPushButton *saveDataButton = new QPushButton("Save Data"); plotBoxLayout->addWidget(clearButton); plotBoxLayout->addWidget(linearfitButton); plotBoxLayout->addWidget(printButton); plotBoxLayout->addWidget(savePlotButton); plotBoxLayout->addWidget(saveDataButton); QLineEdit *eqnLine = new QLineEdit("Linear Equation"); eqnLine->setText("Y = c0 + c1 * X"); eqnLine->setFrame(false); splot = new ScatterPlot(this); // Connect buttons to functions QObject::connect(clearButton, SIGNAL(clicked()), splot, SLOT(clear())); QObject::connect(clearButton, SIGNAL(clicked()), this, SLOT(clearData())); QObject::connect(savePlotButton, SIGNAL(clicked()), this, SLOT(exportSVG())); QObject::connect(printButton, SIGNAL(clicked()), this, SLOT(print())); QObject::connect(saveDataButton, SIGNAL(clicked()), this, SLOT(saveFIData())); QObject::connect(linearfitButton, SIGNAL(clicked()), this, SLOT(fitData())); clearButton->setToolTip("Clear"); savePlotButton->setToolTip("Save screenshot"); saveDataButton->setToolTip("Save data"); linearfitButton->setToolTip("Perform linear least-squares regression"); printButton->setToolTip("Print plot"); plotBox->hide(); eqnLine->hide(); // splot->setMinimumSize(450, 270); splot->hide(); customlayout->addWidget(plotBox, 0, 1, 1, 1); customlayout->addWidget(eqnLine, 10, 1, 1, 1); customlayout->addWidget(splot, 1, 1, 3, 1); QGroupBox *modeBox = new QGroupBox("Clamp Mode"); QHBoxLayout *modeBoxLayout = new QHBoxLayout; modeBox->setLayout(modeBoxLayout); QButtonGroup *modeButtons = new QButtonGroup; modeButtons->setExclusive(true); QRadioButton *stepButton = new QRadioButton("Step"); modeBoxLayout->addWidget(stepButton); modeButtons->addButton(stepButton); stepButton->setEnabled(true); QRadioButton *rampButton = new QRadioButton("Ramp"); modeBoxLayout->addWidget(rampButton); modeButtons->addButton(rampButton); stepButton->setChecked(true); QObject::connect(modeButtons,SIGNAL(buttonClicked(int)),this,SLOT(updateClampMode(int))); stepButton->setToolTip("Set mode to current steps"); rampButton->setToolTip("Set mode to triangular current ramps"); customlayout->addWidget(modeBox, 0, 0); QHBoxLayout *optionBoxLayout = new QHBoxLayout; QGroupBox *optionBoxGroup = new QGroupBox; QCheckBox *randomCheckBox = new QCheckBox("Randomize"); optionBoxLayout->addWidget(randomCheckBox); QCheckBox *plotFICheckBox = new QCheckBox("Plot FI Curve"); optionBoxLayout->addWidget(plotFICheckBox); QObject::connect(randomCheckBox,SIGNAL(toggled(bool)),this,SLOT(togglerandom(bool))); QObject::connect(plotFICheckBox,SIGNAL(toggled(bool)),eqnLine,SLOT(setVisible(bool))); QObject::connect(plotFICheckBox,SIGNAL(toggled(bool)),splot,SLOT(setVisible(bool))); QObject::connect(plotFICheckBox,SIGNAL(toggled(bool)),plotBox,SLOT(setVisible(bool))); QObject::connect(plotFICheckBox,SIGNAL(toggled(bool)),this,SLOT(toggleFIplot(bool))); QObject::connect(plotFICheckBox,SIGNAL(toggled(bool)),this,SLOT(resizeMe())); randomCheckBox->setToolTip("Randomize input amplitudes within a cycle"); plotFICheckBox->setToolTip("Show/Hide FI plot area"); optionBoxGroup->setLayout(optionBoxLayout); customlayout->addWidget(optionBoxGroup, 3, 0); QObject::connect(DefaultGUIModel::pauseButton,SIGNAL(toggled(bool)),savePlotButton,SLOT(setEnabled(bool))); QObject::connect(DefaultGUIModel::pauseButton,SIGNAL(toggled(bool)),printButton,SLOT(setEnabled(bool))); QObject::connect(DefaultGUIModel::pauseButton,SIGNAL(toggled(bool)),saveDataButton,SLOT(setEnabled(bool))); QObject::connect(DefaultGUIModel::pauseButton,SIGNAL(toggled(bool)),linearfitButton,SLOT(setEnabled(bool))); QObject::connect(DefaultGUIModel::pauseButton,SIGNAL(toggled(bool)),DefaultGUIModel::modifyButton,SLOT(setEnabled(bool))); DefaultGUIModel::pauseButton->setToolTip("Start/Stop current clamp protocol"); DefaultGUIModel::modifyButton->setToolTip("Commit changes to parameter values"); DefaultGUIModel::unloadButton->setToolTip("Close module"); QObject::connect(this,SIGNAL(newDataPoint(double,double)),splot,SLOT(appendPoint(double,double))); QObject::connect(this,SIGNAL(setFIRange(double, double, double, double)),splot,SLOT(setAxes(double, double, double, double))); QObject::connect(this,SIGNAL(setPlotMode(bool)),plotFICheckBox,SLOT(setChecked(bool))); QObject::connect(this,SIGNAL(setStepMode(bool)),plotFICheckBox,SLOT(setEnabled(bool))); QObject::connect(this,SIGNAL(setStepMode(bool)),plotBox,SLOT(setEnabled(bool))); QObject::connect(this,SIGNAL(drawFit(double*, double*, int)),splot,SLOT(appendLine(double*, double*, int))); QObject::connect(this,SIGNAL(setEqnMsg(const QString &)), eqnLine,SLOT(setText(const QString &))); setLayout(customlayout); }