Changeset 3897 in ntrip


Ignore:
Timestamp:
Apr 17, 2012, 9:39:13 AM (12 years ago)
Author:
weber
Message:

teqc changed to reqc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncwindow.cpp

    r3888 r3897  
    6262#include "upload/bncephuploadcaster.h"
    6363#include "qtfilechooser.h"
    64 #include "teqcdlg.h"
     64#include "reqcdlg.h"
    6565#ifdef USE_POSTPROCESSING
    6666#  include "rinex/bncpostprocess.h"
    67 #  include "rinex/teqcedit.h"
    68 #  include "rinex/teqcanalyze.h"
     67#  include "rinex/reqcedit.h"
     68#  include "rinex/reqcanalyze.h"
    6969#endif
    7070
     
    8383  _runningRealTime           = false;
    8484  _runningPostProcessingPPP  = false;
    85   _runningPostProcessingTeqc = false;
     85  _runningPostProcessingReqc = false;
    8686
    8787  _pppSPPComboBox     = 0; // necessary for enableStartStop()
    88   _teqcActionComboBox = 0; // necessary for enableStartStop()
     88  _reqcActionComboBox = 0; // necessary for enableStartStop()
    8989
    9090  int ww = QFontMetrics(this->font()).width('w');
     
    617617  QWidget* pppgroup = new QWidget();
    618618  QWidget* ppp2group = new QWidget();
    619   QWidget* teqcgroup = new QWidget();
     619  QWidget* reqcgroup = new QWidget();
    620620  QWidget* cmbgroup = new QWidget();
    621621  QWidget* uploadgroup = new QWidget();
     
    625625  _aogroup->addTab(ogroup,tr("RINEX Observations"));
    626626  _aogroup->addTab(egroup,tr("RINEX Ephemeris"));
     627  _aogroup->addTab(reqcgroup,tr("RINEX Editing && QC"));
    627628  _aogroup->addTab(cgroup,tr("Broadcast Corrections"));
    628629  _aogroup->addTab(sgroup,tr("Feed Engine"));
     
    632633  _aogroup->addTab(pppgroup,tr("PPP (1)"));
    633634  _aogroup->addTab(ppp2group,tr("PPP (2)"));
    634   _aogroup->addTab(teqcgroup,tr("Teqc"));
    635635#ifdef USE_COMBINATION
    636636  _aogroup->addTab(cmbgroup,tr("Combination"));
     
    990990  ppp2group->setLayout(ppp2Layout);
    991991
    992   // Teqc Processing
     992  // Reqc Processing
    993993  // ---------------
    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());
    998998  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);
    10341034
    10351035  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);
    10371037  ++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);
    10421042  ++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);
    10481048  ++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);
    10541054  ++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);
    10571057  ++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(slotTeqcEditOption()));
     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()));
    10681068
    10691069  // Combination
     
    12121212  _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>"));
    12131213  _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' program developed 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>"));
    12161216  _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>"));
    12171217  _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>"));
     
    16881688  settings.setValue("pppSigTrp0",_pppSigTrp0->text());
    16891689  settings.setValue("pppSigTrpP",_pppSigTrpP->text());
    1690 // Teqc
    1691   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());
    16971697// Combination
    16981698  if (!combineStreams.isEmpty()) {
     
    17421742    startPostProcessingPPP();
    17431743  }
    1744   else if ( !_teqcActionComboBox->currentText().isEmpty() ) {
    1745     startPostProcessingTeqc();
     1744  else if ( !_reqcActionComboBox->currentText().isEmpty() ) {
     1745    startPostProcessingReqc();
    17461746  }
    17471747  else {
     
    22842284  }
    22852285
    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);
    22952295  }
    22962296}
     
    25222522}
    25232523
    2524 // Start Post-Processing Teqc
    2525 ////////////////////////////////////////////////////////////////////////////
    2526 void bncWindow::startPostProcessingTeqc() {
     2524// Start Post-Processing Reqc
     2525////////////////////////////////////////////////////////////////////////////
     2526void bncWindow::startPostProcessingReqc() {
    25272527#ifdef USE_POSTPROCESSING
    2528   _runningPostProcessingTeqc = true;
     2528  _runningPostProcessingReqc = true;
    25292529  enableStartStop();
    2530   if (_teqcActionComboBox->currentText() == "Analyze") {
    2531     t_teqcAnalyze* teqcAnalyze = new t_teqcAnalyze(this);
    2532     connect(teqcAnalyze, SIGNAL(finished()),
    2533             this, SLOT(slotFinishedPostProcessingTeqc()));
    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();
    25352535  }
    25362536  else {
    2537     t_teqcEdit* teqcEdit = new t_teqcEdit(this);
    2538     connect(teqcEdit, SIGNAL(finished()),
    2539             this, SLOT(slotFinishedPostProcessingTeqc()));
    2540     teqcEdit->start();
     2537    t_reqcEdit* reqcEdit = new t_reqcEdit(this);
     2538    connect(reqcEdit, SIGNAL(finished()),
     2539            this, SLOT(slotFinishedPostProcessingReqc()));
     2540    reqcEdit->start();
    25412541  }
    25422542#else
     
    25462546}
    25472547
    2548 // Post-Processing Teqc Finished
    2549 ////////////////////////////////////////////////////////////////////////////
    2550 void bncWindow::slotFinishedPostProcessingTeqc() {
    2551   _runningPostProcessingTeqc = false;
     2548// Post-Processing Reqc Finished
     2549////////////////////////////////////////////////////////////////////////////
     2550void bncWindow::slotFinishedPostProcessingReqc() {
     2551  _runningPostProcessingReqc = false;
    25522552  QMessageBox::information(this, "Information",
    2553                            "Teqc-Processing Thread Finished");
     2553                           "Reqc-Processing Thread Finished");
    25542554  enableStartStop();
    25552555}
     
    25572557// Edit teqc-like editing options
    25582558////////////////////////////////////////////////////////////////////////////
    2559 void bncWindow::slotTeqcEditOption() {
    2560   teqcDlg* dlg = new teqcDlg(this);
     2559void bncWindow::slotReqcEditOption() {
     2560  reqcDlg* dlg = new reqcDlg(this);
    25612561  dlg->move(this->pos().x()+50, this->pos().y()+50);
    25622562  dlg->exec();
     
    25772577    _actStop->setEnabled(false);
    25782578  }
    2579   else if ( _teqcActionComboBox && !_teqcActionComboBox->currentText().isEmpty() ) {
    2580     if (_runningPostProcessingTeqc) {
     2579  else if ( _reqcActionComboBox && !_reqcActionComboBox->currentText().isEmpty() ) {
     2580    if (_runningPostProcessingReqc) {
    25812581      _actStart->setEnabled(false);
    25822582    }
Note: See TracChangeset for help on using the changeset viewer.