Viewer_MainWindow::Viewer_MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::Viewer_MainWindow) { ui->setupUi(this); m_nEvents = 0; m_nCurrentEvent = 0; setupGUI(); setupPlots(); }
plotsDialog::plotsDialog(QString startPlot, bool fromTable, QWidget *parent) : QDialog(parent), ui(new Ui::plotsDialog) { ui->setupUi(this); tabs = ui->tabWidget; // setContextMenuPolicy(Qt::NoContextMenu); setWindowFlags(Qt::Window); setWindowModality(Qt::WindowModal); setWindowTitle("Plots"); connect(tabs,SIGNAL(currentChanged(int)),SLOT(resetZoomer(int))); contextMenu = new QMenu(this); QAction *actionZoom = new QAction("Zoom",this); actionZoom->setCheckable(true); connect(actionZoom,SIGNAL(toggled(bool)),this,SLOT(enableZoomMode(bool))); contextMenu->addAction(actionZoom); QAction *actionFormat = new QAction("Format Plot",this); connect(actionFormat,SIGNAL(triggered()),this,SLOT(edit())); contextMenu->addAction(actionFormat); ui->overlayButton->setText("Overlay"); connect(ui->overlayButton,SIGNAL(clicked()),SLOT(overlay())); ui->deleteButton->setText("Delete"); connect(ui->deleteButton,SIGNAL(clicked()),SLOT(deleteCurrentPlot())); statusBar = new QStatusBar; ui->statusBarLayout->addWidget(statusBar); QMenu* exportMenu = new QMenu; exportMenu->addAction("Print"); exportMenu->addAction("pdf File"); exportButton = ui->exportMenuButton; exportButton->setPopupMode(QToolButton::MenuButtonPopup); exportButton->setMenu(exportMenu); startPName = startPlot; isFromTable = fromTable; ui->zoomButton->setCheckable(true); setupPlots(true); theMainwindow->setTPMenu(); actionZoom->setChecked(false); }
void plotsDialog::on_copyButton_clicked() { QString pName = tabs->tabText(tabs->currentIndex()); QString newName = pName+"Copy"; #ifdef Q_OS_WIN32 QFile file("plotTemp.xml"); #endif #ifdef Q_OS_MAC QDir dir = qApp->applicationDirPath(); /*dir.cdUp();*/ /*dir.cdUp();*/ /*dir.cdUp();*/ QString bundleDir(dir.absolutePath()); QFile file(bundleDir+"/plotTemp.xml"); #endif QTextStream stream; stream.setDevice(&file); if(!file.open(QIODevice::ReadWrite|QIODevice::Text)) { globalpara.reportError("Fail to open case file to copy plot.",this); return; } else { QDomDocument doc; if(!doc.setContent(&file)) { globalpara.reportError("Fail to load xml document to copy plot.....",this); file.close(); return; } else { QDomElement plotData = doc.elementsByTagName("plotData").at(0).toElement(); if(!plotData.elementsByTagName(pName).isEmpty()) { QDomNode newNode = plotData.elementsByTagName(pName).at(0).cloneNode(true); newNode.toElement().setTagName(newName); plotData.appendChild(newNode); } } file.resize(0); doc.save(stream,4); file.close(); stream.flush(); } setupPlots(false); }
void MainWindow::setupUI() { connectMenusAndShortcut(); setupSplitters(); s_widgetUI.buttonsFrame=createButtonsFrame(); s_widgetUI.toolboxOptionFrame=setupOptionsFrame(); setupPlots(); //Adding split layout s_widgetUI.plotSplitter->addWidget(m_plotTime); s_widgetUI.plotSplitter->addWidget(m_plotFreq); s_widgetUI.commandSplitter->addWidget(s_widgetUI.toolboxOptionFrame); s_widgetUI.commandSplitter->addWidget(s_widgetUI.buttonsFrame); //Layout all the windows ui->centralwidget->layout()->addWidget(s_widgetUI.globalSplitter); this->setWindowTitle("New Complex Generator project"); setupStyle(); }
void plotsDialog::on_dataSelectButton_clicked() { QString pName = tabs->tabText(tabs->currentIndex()); QString tableName; bool noTable = false; //make name-space for the new plot #ifdef Q_OS_WIN32 QFile file("plotTemp.xml"); #endif #ifdef Q_OS_MAC QDir dir = qApp->applicationDirPath(); /*dir.cdUp();*/ /*dir.cdUp();*/ /*dir.cdUp();*/ QString bundleDir(dir.absolutePath()); QFile file(bundleDir+"/plotTemp.xml"); #endif QTextStream stream; stream.setDevice(&file); if(!file.open(QIODevice::ReadWrite|QIODevice::Text)) { globalpara.reportError("Fail to open case file to copy plot.",this); return; } else { QDomDocument doc; if(!doc.setContent(&file)) { globalpara.reportError("Fail to load xml document to copy plot..",this); file.close(); return; } else { //look for the original table that generated the plot QDomElement tableData = doc.elementsByTagName("TableData").at(0).toElement(); QDomElement plotData = doc.elementsByTagName("plotData").at(0).toElement(); tableName = plotData.elementsByTagName(pName).at(0).toElement().attribute("tableName"); if(tableData.elementsByTagName(tableName).count()==0) { noTable = true; file.close(); } else { noTable = false; QDomElement oldPlot = plotData.elementsByTagName(pName).at(0).toElement(); oldPlot.setTagName("tempNode"); file.resize(0); doc.save(stream,4); file.close(); stream.flush(); } } } if(noTable) globalpara.reportError("The original table for this plot is not available in table data."); else { //ask for new selection of parameters newParaPlotDialog *pDialog = new newParaPlotDialog(2,tableName,pName,this); pDialog->setWindowTitle("Re-select Parameters"); pDialog->setModal(true); if(pDialog->exec()==QDialog::Accepted) { //if accepted, delete the original node under name _mod #ifdef Q_OS_WIN32 QFile file("plotTemp.xml"); #endif #ifdef Q_OS_MAC QFile file(bundleDir+"/plotTemp.xml"); #endif QTextStream stream; stream.setDevice(&file); if(!file.open(QIODevice::ReadWrite|QIODevice::Text)) { globalpara.reportError("Fail to open case file to copy plot.",this); return; } else { QDomDocument doc; if(!doc.setContent(&file)) { globalpara.reportError("Fail to load xml document to copy plot...",this); file.close(); return; } else { QDomElement plotData = doc.elementsByTagName("plotData").at(0).toElement(); plotData.removeChild(plotData.elementsByTagName("tempNode").at(0)); } file.resize(0); doc.save(stream,4); file.close(); stream.flush(); saveChanges(); setupPlots(false); } } else { //if canceled, resume the original plot name #ifdef Q_OS_WIN32 QFile file("plotTemp.xml"); #endif #ifdef Q_OS_MAC QFile file(bundleDir+"/plotTemp.xml"); #endif QTextStream stream; stream.setDevice(&file); if(!file.open(QIODevice::ReadWrite|QIODevice::Text)) { globalpara.reportError("Fail to open case file to copy plot.",this); return; } else { QDomDocument doc; if(!doc.setContent(&file)) { globalpara.reportError("Fail to load xml document to copy plot....",this); file.close(); return; } else { QDomElement plotData = doc.elementsByTagName("plotData").at(0).toElement(); QDomElement oldPlot = plotData.elementsByTagName("tempNode").at(0).toElement(); oldPlot.setTagName(pName); } file.resize(0); doc.save(stream,4); file.close(); stream.flush(); } } } }