- Timestamp:
- Apr 17, 2012, 9:39:13 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bncwindow.cpp
r3888 r3897 62 62 #include "upload/bncephuploadcaster.h" 63 63 #include "qtfilechooser.h" 64 #include " teqcdlg.h"64 #include "reqcdlg.h" 65 65 #ifdef USE_POSTPROCESSING 66 66 # include "rinex/bncpostprocess.h" 67 # include "rinex/ teqcedit.h"68 # include "rinex/ teqcanalyze.h"67 # include "rinex/reqcedit.h" 68 # include "rinex/reqcanalyze.h" 69 69 #endif 70 70 … … 83 83 _runningRealTime = false; 84 84 _runningPostProcessingPPP = false; 85 _runningPostProcessing Teqc = false;85 _runningPostProcessingReqc = false; 86 86 87 87 _pppSPPComboBox = 0; // necessary for enableStartStop() 88 _ teqcActionComboBox = 0; // necessary for enableStartStop()88 _reqcActionComboBox = 0; // necessary for enableStartStop() 89 89 90 90 int ww = QFontMetrics(this->font()).width('w'); … … 617 617 QWidget* pppgroup = new QWidget(); 618 618 QWidget* ppp2group = new QWidget(); 619 QWidget* teqcgroup = new QWidget();619 QWidget* reqcgroup = new QWidget(); 620 620 QWidget* cmbgroup = new QWidget(); 621 621 QWidget* uploadgroup = new QWidget(); … … 625 625 _aogroup->addTab(ogroup,tr("RINEX Observations")); 626 626 _aogroup->addTab(egroup,tr("RINEX Ephemeris")); 627 _aogroup->addTab(reqcgroup,tr("RINEX Editing && QC")); 627 628 _aogroup->addTab(cgroup,tr("Broadcast Corrections")); 628 629 _aogroup->addTab(sgroup,tr("Feed Engine")); … … 632 633 _aogroup->addTab(pppgroup,tr("PPP (1)")); 633 634 _aogroup->addTab(ppp2group,tr("PPP (2)")); 634 _aogroup->addTab(teqcgroup,tr("Teqc"));635 635 #ifdef USE_COMBINATION 636 636 _aogroup->addTab(cmbgroup,tr("Combination")); … … 990 990 ppp2group->setLayout(ppp2Layout); 991 991 992 // Teqc Processing992 // Reqc Processing 993 993 // --------------- 994 _ teqcActionComboBox = new QComboBox();995 _ teqcActionComboBox->setEditable(false);996 _ teqcActionComboBox->addItems(QString(",Edit/Concatenate,Analyze").split(","));997 ik = _ teqcActionComboBox->findText(settings.value("teqcAction").toString());994 _reqcActionComboBox = new QComboBox(); 995 _reqcActionComboBox->setEditable(false); 996 _reqcActionComboBox->addItems(QString(",Edit/Concatenate,Analyze").split(",")); 997 ik = _reqcActionComboBox->findText(settings.value("reqcAction").toString()); 998 998 if (ik != -1) { 999 _ teqcActionComboBox->setCurrentIndex(ik);1000 } 1001 connect(_ teqcActionComboBox, SIGNAL(currentIndexChanged(const QString &)),1002 this, SLOT(slotBncTextChanged())); 1003 1004 QGridLayout* teqcLayout = new QGridLayout;1005 _ teqcActionComboBox->setMinimumWidth(15*ww);1006 _ teqcActionComboBox->setMaximumWidth(15*ww);1007 1008 _ teqcObsFileChooser = new qtFileChooser(0, qtFileChooser::Files);1009 _ teqcObsFileChooser->setFileName(settings.value("teqcObsFile").toString());1010 _ teqcObsFileChooser->setWhatsThis(tr("Specify the full path to an observation file in RINEX v2 or v3 format."));1011 _ teqcObsFileChooser->setMinimumWidth(15*ww);1012 _ teqcObsFileChooser->setMaximumWidth(15*ww);1013 1014 _ teqcNavFileChooser = new qtFileChooser(0, qtFileChooser::Files);1015 _ teqcNavFileChooser->setFileName(settings.value("teqcNavFile").toString());1016 _ teqcNavFileChooser->setWhatsThis(tr("Specify the full path to a RINEX v2 or v3 navigation file."));1017 _ teqcNavFileChooser->setMinimumWidth(15*ww);1018 _ teqcNavFileChooser->setMaximumWidth(15*ww);1019 1020 _ teqcOutObsLineEdit = new QLineEdit(settings.value("teqcOutObsFile").toString());1021 _ teqcOutObsLineEdit->setWhatsThis(tr("Specify the full path to an output file."));1022 _ teqcOutObsLineEdit->setMinimumWidth(15*ww);1023 _ teqcOutObsLineEdit->setMaximumWidth(15*ww);1024 1025 _ teqcOutNavLineEdit = new QLineEdit(settings.value("teqcOutNavFile").toString());1026 _ teqcOutNavLineEdit->setWhatsThis(tr("Specify the full path to an output file."));1027 _ teqcOutNavLineEdit->setMinimumWidth(15*ww);1028 _ teqcOutNavLineEdit->setMaximumWidth(15*ww);1029 1030 _ teqcOutLogLineEdit = new QLineEdit(settings.value("teqcOutLogFile").toString());1031 _ teqcOutLogLineEdit->setWhatsThis(tr("Specify the full path to an output file."));1032 _ teqcOutLogLineEdit->setMinimumWidth(15*ww);1033 _ teqcOutLogLineEdit->setMaximumWidth(15*ww);999 _reqcActionComboBox->setCurrentIndex(ik); 1000 } 1001 connect(_reqcActionComboBox, SIGNAL(currentIndexChanged(const QString &)), 1002 this, SLOT(slotBncTextChanged())); 1003 1004 QGridLayout* reqcLayout = new QGridLayout; 1005 _reqcActionComboBox->setMinimumWidth(15*ww); 1006 _reqcActionComboBox->setMaximumWidth(15*ww); 1007 1008 _reqcObsFileChooser = new qtFileChooser(0, qtFileChooser::Files); 1009 _reqcObsFileChooser->setFileName(settings.value("reqcObsFile").toString()); 1010 _reqcObsFileChooser->setWhatsThis(tr("Specify the full path to an observation file in RINEX v2 or v3 format.")); 1011 _reqcObsFileChooser->setMinimumWidth(15*ww); 1012 _reqcObsFileChooser->setMaximumWidth(15*ww); 1013 1014 _reqcNavFileChooser = new qtFileChooser(0, qtFileChooser::Files); 1015 _reqcNavFileChooser->setFileName(settings.value("reqcNavFile").toString()); 1016 _reqcNavFileChooser->setWhatsThis(tr("Specify the full path to a RINEX v2 or v3 navigation file.")); 1017 _reqcNavFileChooser->setMinimumWidth(15*ww); 1018 _reqcNavFileChooser->setMaximumWidth(15*ww); 1019 1020 _reqcOutObsLineEdit = new QLineEdit(settings.value("reqcOutObsFile").toString()); 1021 _reqcOutObsLineEdit->setWhatsThis(tr("Specify the full path to an output file.")); 1022 _reqcOutObsLineEdit->setMinimumWidth(15*ww); 1023 _reqcOutObsLineEdit->setMaximumWidth(15*ww); 1024 1025 _reqcOutNavLineEdit = new QLineEdit(settings.value("reqcOutNavFile").toString()); 1026 _reqcOutNavLineEdit->setWhatsThis(tr("Specify the full path to an output file.")); 1027 _reqcOutNavLineEdit->setMinimumWidth(15*ww); 1028 _reqcOutNavLineEdit->setMaximumWidth(15*ww); 1029 1030 _reqcOutLogLineEdit = new QLineEdit(settings.value("reqcOutLogFile").toString()); 1031 _reqcOutLogLineEdit->setWhatsThis(tr("Specify the full path to an output file.")); 1032 _reqcOutLogLineEdit->setMinimumWidth(15*ww); 1033 _reqcOutLogLineEdit->setMaximumWidth(15*ww); 1034 1034 1035 1035 ir = 0; 1036 teqcLayout->addWidget(new QLabel("RINEX file editing, quality control or concatenation."),ir, 0, 1, 20);1036 reqcLayout->addWidget(new QLabel("RINEX file editing, quality control or concatenation."),ir, 0, 1, 20); 1037 1037 ++ir; 1038 teqcLayout->addWidget(new QLabel("Action"), ir, 0, Qt::AlignLeft);1039 teqcLayout->addWidget(_teqcActionComboBox, ir, 1, Qt::AlignLeft);1040 _ teqcEditOptionButton = new QPushButton("Set Edit Options");1041 teqcLayout->addWidget(_teqcEditOptionButton, ir, 3, Qt::AlignRight);1038 reqcLayout->addWidget(new QLabel("Action"), ir, 0, Qt::AlignLeft); 1039 reqcLayout->addWidget(_reqcActionComboBox, ir, 1, Qt::AlignLeft); 1040 _reqcEditOptionButton = new QPushButton("Set Edit Options"); 1041 reqcLayout->addWidget(_reqcEditOptionButton, ir, 3, Qt::AlignRight); 1042 1042 ++ir; 1043 teqcLayout->addWidget(new QLabel("Input files (full path)"), ir, 0, Qt::AlignLeft);1044 teqcLayout->addWidget(_teqcObsFileChooser, ir, 1, Qt::AlignRight);1045 teqcLayout->addWidget(new QLabel("Obs"), ir, 2, Qt::AlignLeft);1046 teqcLayout->addWidget(_teqcNavFileChooser, ir, 3, Qt::AlignRight);1047 teqcLayout->addWidget(new QLabel("Nav"), ir, 4, Qt::AlignLeft);1043 reqcLayout->addWidget(new QLabel("Input files (full path)"), ir, 0, Qt::AlignLeft); 1044 reqcLayout->addWidget(_reqcObsFileChooser, ir, 1, Qt::AlignRight); 1045 reqcLayout->addWidget(new QLabel("Obs"), ir, 2, Qt::AlignLeft); 1046 reqcLayout->addWidget(_reqcNavFileChooser, ir, 3, Qt::AlignRight); 1047 reqcLayout->addWidget(new QLabel("Nav"), ir, 4, Qt::AlignLeft); 1048 1048 ++ir; 1049 teqcLayout->addWidget(new QLabel("Output files (full path)"), ir, 0, Qt::AlignLeft);1050 teqcLayout->addWidget(_teqcOutObsLineEdit, ir, 1, Qt::AlignRight);1051 teqcLayout->addWidget(new QLabel("Obs"), ir, 2, Qt::AlignLeft);1052 teqcLayout->addWidget(_teqcOutNavLineEdit, ir, 3, Qt::AlignRight);1053 teqcLayout->addWidget(new QLabel("Nav"), ir, 4, Qt::AlignLeft);1049 reqcLayout->addWidget(new QLabel("Output files (full path)"), ir, 0, Qt::AlignLeft); 1050 reqcLayout->addWidget(_reqcOutObsLineEdit, ir, 1, Qt::AlignRight); 1051 reqcLayout->addWidget(new QLabel("Obs"), ir, 2, Qt::AlignLeft); 1052 reqcLayout->addWidget(_reqcOutNavLineEdit, ir, 3, Qt::AlignRight); 1053 reqcLayout->addWidget(new QLabel("Nav"), ir, 4, Qt::AlignLeft); 1054 1054 ++ir; 1055 teqcLayout->addWidget(_teqcOutLogLineEdit, ir, 1, Qt::AlignRight);1056 teqcLayout->addWidget(new QLabel("Log"), ir, 2, Qt::AlignLeft);1055 reqcLayout->addWidget(_reqcOutLogLineEdit, ir, 1, Qt::AlignRight); 1056 reqcLayout->addWidget(new QLabel("Log"), ir, 2, Qt::AlignLeft); 1057 1057 ++ir; 1058 teqcLayout->addWidget(new QLabel(""), ir, 1);1059 teqcLayout->setRowStretch(ir, 999);1060 1061 teqcLayout->setColumnMinimumWidth(2, 8*ww);1062 teqcLayout->setColumnMinimumWidth(4, 8*ww);1063 1064 teqcgroup->setLayout(teqcLayout);1065 1066 connect(_ teqcEditOptionButton, SIGNAL(clicked()),1067 this, SLOT(slot TeqcEditOption()));1058 reqcLayout->addWidget(new QLabel(""), ir, 1); 1059 reqcLayout->setRowStretch(ir, 999); 1060 1061 reqcLayout->setColumnMinimumWidth(2, 8*ww); 1062 reqcLayout->setColumnMinimumWidth(4, 8*ww); 1063 1064 reqcgroup->setLayout(reqcLayout); 1065 1066 connect(_reqcEditOptionButton, SIGNAL(clicked()), 1067 this, SLOT(slotReqcEditOption())); 1068 1068 1069 1069 // Combination … … 1212 1212 _pppCorrMountLineEdit->setWhatsThis(tr("<p>You must specify an orbit/clock Broadcast Ephemeris corrections stream by its mountpoint from the 'Streams' list below. Example: 'CLK10'</p><p>Note that BNC can produce an internal PPP solution from combined Broadcast Ephemeris corrections as specified under 'Combination' if you introduce keyword 'INTERNAL' as the corrections mountpoint.</p>")); 1213 1213 _pppSPPComboBox->setWhatsThis(tr("<p>Choose between plain Single Point Positioning (SPP) and Precise Point Positioning (PPP) in 'Realtime' or 'Post-Processing' mode.</p><p>When in 'Post-Processing mode:<ul><li>Specifying a RINEX Observation, a RINEX Navigation and a Broadcast Correction file leads to a PPP solution.</li><li>Specifying only a RINEX Observation and a RINEX Navigation file and no Broadcast Correction file leads to a SPP solution.</ul></p>")); 1214 _ teqcActionComboBox->setWhatsThis(tr("<p>BNC allows to edit or concatenate RINEX v2 or v3 files or to perform a quality control.</p><p>In this it follows UNAVCO's famous 'teqc' programdeveloped by Lou Estey.</p>"));1215 _ teqcEditOptionButton->setWhatsThis(tr("<p>Specify options for editing RINEX v2 or v3 files.</p>"));1214 _reqcActionComboBox->setWhatsThis(tr("<p>BNC allows to edit or concatenate RINEX v2 or v3 files or to perform a quality check.</p><p>In this it follows UNAVCO's famous 'teqc' program.</p>")); 1215 _reqcEditOptionButton->setWhatsThis(tr("<p>Specify options for editing RINEX v2 or v3 files.</p>")); 1216 1216 _pppUsePhaseCheckBox->setWhatsThis(tr("<p>By default BNC applies a PPP solution using an ionosphere free P3 linear combination of code observations.</p><p>Tick 'Use phase obs' for an ionosphere free L3 linear combination of phase observations.</p>")); 1217 1217 _pppEstTropoCheckBox->setWhatsThis(tr("<p>By default BNC does not introduce troposphere parameters when estimating coordinates.</p><p>Tick 'Estimate tropo' to introduce troposphere parameters when estimating coordinates.</p>")); … … 1688 1688 settings.setValue("pppSigTrp0",_pppSigTrp0->text()); 1689 1689 settings.setValue("pppSigTrpP",_pppSigTrpP->text()); 1690 // Teqc1691 settings.setValue(" teqcAction", _teqcActionComboBox->currentText());1692 settings.setValue(" teqcObsFile", _teqcObsFileChooser->fileName());1693 settings.setValue(" teqcNavFile", _teqcNavFileChooser->fileName());1694 settings.setValue(" teqcOutObsFile", _teqcOutObsLineEdit->text());1695 settings.setValue(" teqcOutNavFile", _teqcOutNavLineEdit->text());1696 settings.setValue(" teqcOutLogFile", _teqcOutLogLineEdit->text());1690 // Reqc 1691 settings.setValue("reqcAction", _reqcActionComboBox->currentText()); 1692 settings.setValue("reqcObsFile", _reqcObsFileChooser->fileName()); 1693 settings.setValue("reqcNavFile", _reqcNavFileChooser->fileName()); 1694 settings.setValue("reqcOutObsFile", _reqcOutObsLineEdit->text()); 1695 settings.setValue("reqcOutNavFile", _reqcOutNavLineEdit->text()); 1696 settings.setValue("reqcOutLogFile", _reqcOutLogLineEdit->text()); 1697 1697 // Combination 1698 1698 if (!combineStreams.isEmpty()) { … … 1742 1742 startPostProcessingPPP(); 1743 1743 } 1744 else if ( !_ teqcActionComboBox->currentText().isEmpty() ) {1745 startPostProcessing Teqc();1744 else if ( !_reqcActionComboBox->currentText().isEmpty() ) { 1745 startPostProcessingReqc(); 1746 1746 } 1747 1747 else { … … 2284 2284 } 2285 2285 2286 if (sender() == 0 || sender() == _ teqcActionComboBox) {2287 enable = !_ teqcActionComboBox->currentText().isEmpty();2288 bool enable10 = _ teqcActionComboBox->currentText() == "Edit/Concatenate";2289 enableWidget(enable && enable10, _ teqcEditOptionButton);2290 enableWidget(enable, _ teqcObsFileChooser);2291 enableWidget(enable, _ teqcNavFileChooser);2292 enableWidget(enable && enable10, _ teqcOutObsLineEdit);2293 enableWidget(enable && enable10, _ teqcOutNavLineEdit);2294 enableWidget(enable && !enable10, _ teqcOutLogLineEdit);2286 if (sender() == 0 || sender() == _reqcActionComboBox) { 2287 enable = !_reqcActionComboBox->currentText().isEmpty(); 2288 bool enable10 = _reqcActionComboBox->currentText() == "Edit/Concatenate"; 2289 enableWidget(enable && enable10, _reqcEditOptionButton); 2290 enableWidget(enable, _reqcObsFileChooser); 2291 enableWidget(enable, _reqcNavFileChooser); 2292 enableWidget(enable && enable10, _reqcOutObsLineEdit); 2293 enableWidget(enable && enable10, _reqcOutNavLineEdit); 2294 enableWidget(enable && !enable10, _reqcOutLogLineEdit); 2295 2295 } 2296 2296 } … … 2522 2522 } 2523 2523 2524 // Start Post-Processing Teqc2525 //////////////////////////////////////////////////////////////////////////// 2526 void bncWindow::startPostProcessing Teqc() {2524 // Start Post-Processing Reqc 2525 //////////////////////////////////////////////////////////////////////////// 2526 void bncWindow::startPostProcessingReqc() { 2527 2527 #ifdef USE_POSTPROCESSING 2528 _runningPostProcessing Teqc = true;2528 _runningPostProcessingReqc = true; 2529 2529 enableStartStop(); 2530 if (_ teqcActionComboBox->currentText() == "Analyze") {2531 t_ teqcAnalyze*teqcAnalyze = new t_teqcAnalyze(this);2532 connect( teqcAnalyze, SIGNAL(finished()),2533 this, SLOT(slotFinishedPostProcessing Teqc()));2534 teqcAnalyze->start();2530 if (_reqcActionComboBox->currentText() == "Analyze") { 2531 t_reqcAnalyze* reqcAnalyze = new t_reqcAnalyze(this); 2532 connect(reqcAnalyze, SIGNAL(finished()), 2533 this, SLOT(slotFinishedPostProcessingReqc())); 2534 reqcAnalyze->start(); 2535 2535 } 2536 2536 else { 2537 t_ teqcEdit*teqcEdit = new t_teqcEdit(this);2538 connect( teqcEdit, SIGNAL(finished()),2539 this, SLOT(slotFinishedPostProcessing Teqc()));2540 teqcEdit->start();2537 t_reqcEdit* reqcEdit = new t_reqcEdit(this); 2538 connect(reqcEdit, SIGNAL(finished()), 2539 this, SLOT(slotFinishedPostProcessingReqc())); 2540 reqcEdit->start(); 2541 2541 } 2542 2542 #else … … 2546 2546 } 2547 2547 2548 // Post-Processing Teqc Finished2549 //////////////////////////////////////////////////////////////////////////// 2550 void bncWindow::slotFinishedPostProcessing Teqc() {2551 _runningPostProcessing Teqc = false;2548 // Post-Processing Reqc Finished 2549 //////////////////////////////////////////////////////////////////////////// 2550 void bncWindow::slotFinishedPostProcessingReqc() { 2551 _runningPostProcessingReqc = false; 2552 2552 QMessageBox::information(this, "Information", 2553 " Teqc-Processing Thread Finished");2553 "Reqc-Processing Thread Finished"); 2554 2554 enableStartStop(); 2555 2555 } … … 2557 2557 // Edit teqc-like editing options 2558 2558 //////////////////////////////////////////////////////////////////////////// 2559 void bncWindow::slot TeqcEditOption() {2560 teqcDlg* dlg = newteqcDlg(this);2559 void bncWindow::slotReqcEditOption() { 2560 reqcDlg* dlg = new reqcDlg(this); 2561 2561 dlg->move(this->pos().x()+50, this->pos().y()+50); 2562 2562 dlg->exec(); … … 2577 2577 _actStop->setEnabled(false); 2578 2578 } 2579 else if ( _ teqcActionComboBox && !_teqcActionComboBox->currentText().isEmpty() ) {2580 if (_runningPostProcessing Teqc) {2579 else if ( _reqcActionComboBox && !_reqcActionComboBox->currentText().isEmpty() ) { 2580 if (_runningPostProcessingReqc) { 2581 2581 _actStart->setEnabled(false); 2582 2582 }
Note:
See TracChangeset
for help on using the changeset viewer.