Changeset 1678 in ntrip


Ignore:
Timestamp:
Mar 1, 2009, 11:17:56 AM (15 years ago)
Author:
weber
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncwindow.cpp

    r1643 r1678  
    115115
    116116  bncSettings settings;
     117
     118  // Proxy Options
     119  // -------------
    117120  _proxyHostLineEdit  = new QLineEdit(settings.value("proxyHost").toString());
    118121  _proxyPortLineEdit  = new QLineEdit(settings.value("proxyPort").toString());
    119   _proxyPortLineEdit->setMaximumWidth(9*ww);
    120   _miscMountLineEdit  = new QLineEdit(settings.value("miscMount").toString());
    121   _scanRTCMCheckBox  = new QCheckBox();
    122   _scanRTCMCheckBox->setCheckState(Qt::CheckState(
    123                                     settings.value("scanRTCM").toInt()));
     122
     123  // General Options
     124  // ---------------
     125  _logFileLineEdit    = new QLineEdit(settings.value("logFile").toString());
     126  _rnxAppendCheckBox  = new QCheckBox();
     127  _rnxAppendCheckBox->setCheckState(Qt::CheckState(
     128                                    settings.value("rnxAppend").toInt()));
     129  _onTheFlyComboBox = new QComboBox();
     130  _onTheFlyComboBox->setEditable(false);
     131  _onTheFlyComboBox->addItems(QString("1 day,1 hour,1 min").split(","));
     132  int ii = _onTheFlyComboBox->findText(settings.value("onTheFlyInterval").toString());
     133  if (ii != -1) {
     134    _onTheFlyComboBox->setCurrentIndex(ii);
     135  }
     136  _autoStartCheckBox  = new QCheckBox();
     137  _autoStartCheckBox->setCheckState(Qt::CheckState(
     138                                    settings.value("autoStart").toInt()));
     139
     140  // RINEX Observations Options
     141  // --------------------------
     142  _rnxPathLineEdit    = new QLineEdit(settings.value("rnxPath").toString());
     143  _rnxIntrComboBox    = new QComboBox();
     144  _rnxIntrComboBox->setEditable(false);
     145  _rnxIntrComboBox->addItems(QString("1 min,2 min,5 min,10 min,15 min,30 min,1 hour,1 day").split(","));
     146  ii = _rnxIntrComboBox->findText(settings.value("rnxIntr").toString());
     147  if (ii != -1) {
     148    _rnxIntrComboBox->setCurrentIndex(ii);
     149  }
     150  _rnxSamplSpinBox    = new QSpinBox();
     151  _rnxSamplSpinBox->setMinimum(0);
     152  _rnxSamplSpinBox->setMaximum(60);
     153  _rnxSamplSpinBox->setSingleStep(5);
     154  _rnxSamplSpinBox->setValue(settings.value("rnxSampl").toInt());
     155  _rnxSamplSpinBox->setSuffix(" sec");
     156  _rnxSkelLineEdit    = new QLineEdit(settings.value("rnxSkel").toString());
     157  _rnxSkelLineEdit->setMaximumWidth(5*ww);
     158  _rnxScrpLineEdit    = new QLineEdit(settings.value("rnxScript").toString());
     159  _rnxV3CheckBox = new QCheckBox();
     160  _rnxV3CheckBox->setCheckState(Qt::CheckState(settings.value("rnxV3").toInt()));
     161
     162  // RINEX Ephemeris Options
     163  // -----------------------
     164  _ephPathLineEdit    = new QLineEdit(settings.value("ephPath").toString());
     165  _ephIntrComboBox    = new QComboBox();
     166  _ephIntrComboBox->setEditable(false);
     167  _ephIntrComboBox->addItems(QString("1 min,2 min,5 min,10 min,15 min,30 min,1 hour,1 day").split(","));
     168  int jj = _ephIntrComboBox->findText(settings.value("ephIntr").toString());
     169  if (jj != -1) {
     170    _ephIntrComboBox->setCurrentIndex(jj);
     171  }
     172  _outEphPortLineEdit    = new QLineEdit(settings.value("outEphPort").toString());
     173  _ephV3CheckBox = new QCheckBox();
     174  _ephV3CheckBox->setCheckState(Qt::CheckState(settings.value("ephV3").toInt()));
     175
     176  // Ephemeris Corrections Options
     177  // -----------------------------
     178  _corrPathLineEdit    = new QLineEdit(settings.value("corrPath").toString());
     179  _corrIntrComboBox    = new QComboBox();
     180  _corrIntrComboBox->setEditable(false);
     181  _corrIntrComboBox->addItems(QString("1 min,2 min,5 min,10 min,15 min,30 min,1 hour,1 day").split(","));
     182  int mm = _corrIntrComboBox->findText(settings.value("corrIntr").toString());
     183  if (mm != -1) {
     184    _corrIntrComboBox->setCurrentIndex(mm);
     185  }
     186  _corrPortLineEdit    = new QLineEdit(settings.value("corrPort").toString());
     187  _corrTimeSpinBox   = new QSpinBox();
     188  _corrTimeSpinBox->setMinimum(1);
     189  _corrTimeSpinBox->setMaximum(30);
     190  _corrTimeSpinBox->setSingleStep(1);
     191  _corrTimeSpinBox->setSuffix(" sec");
     192  _corrTimeSpinBox->setValue(settings.value("corrTime").toInt());
     193
     194  // Feed Engine Options
     195  // -------------------
     196  _outPortLineEdit    = new QLineEdit(settings.value("outPort").toString());
    124197  _waitTimeSpinBox   = new QSpinBox();
    125198  _waitTimeSpinBox->setMinimum(1);
     
    127200  _waitTimeSpinBox->setSingleStep(1);
    128201  _waitTimeSpinBox->setSuffix(" sec");
    129   _waitTimeSpinBox->setMaximumWidth(9*ww);
    130202  _waitTimeSpinBox->setValue(settings.value("waitTime").toInt());
    131   _outFileLineEdit    = new QLineEdit(settings.value("outFile").toString());
    132   _outPortLineEdit    = new QLineEdit(settings.value("outPort").toString());
    133   _outPortLineEdit->setMaximumWidth(9*ww);
    134   _outUPortLineEdit   = new QLineEdit(settings.value("outUPort").toString());
    135   _outUPortLineEdit->setMaximumWidth(9*ww);
    136   _outEphPortLineEdit    = new QLineEdit(settings.value("outEphPort").toString());
    137   _outEphPortLineEdit->setMaximumWidth(9*ww);
    138   _corrPortLineEdit    = new QLineEdit(settings.value("corrPort").toString());
    139   _corrPortLineEdit->setMaximumWidth(9*ww);
    140   _rnxPathLineEdit    = new QLineEdit(settings.value("rnxPath").toString());
    141   _ephPathLineEdit    = new QLineEdit(settings.value("ephPath").toString());
    142   _corrPathLineEdit    = new QLineEdit(settings.value("corrPath").toString());
    143 
    144   _rnxV3CheckBox = new QCheckBox();
    145   _rnxV3CheckBox->setCheckState(Qt::CheckState(settings.value("rnxV3").toInt()));
    146   _ephV3CheckBox = new QCheckBox();
    147   _ephV3CheckBox->setCheckState(Qt::CheckState(settings.value("ephV3").toInt()));
    148   _rnxScrpLineEdit    = new QLineEdit(settings.value("rnxScript").toString());
    149   _rnxSkelLineEdit    = new QLineEdit(settings.value("rnxSkel").toString());
    150   _rnxSkelLineEdit->setMaximumWidth(5*ww);
    151   _rnxAppendCheckBox  = new QCheckBox();
    152   _rnxAppendCheckBox->setCheckState(Qt::CheckState(
    153                                     settings.value("rnxAppend").toInt()));
    154   _autoStartCheckBox  = new QCheckBox();
    155   _autoStartCheckBox->setCheckState(Qt::CheckState(
    156                                     settings.value("autoStart").toInt()));
    157   _rnxIntrComboBox    = new QComboBox();
    158   _rnxIntrComboBox->setMaximumWidth(9*ww);
    159   _rnxIntrComboBox->setEditable(false);
    160   _rnxIntrComboBox->addItems(QString("1 min,2 min,5 min,10 min,15 min,30 min,1 hour,1 day").split(","));
    161   int ii = _rnxIntrComboBox->findText(settings.value("rnxIntr").toString());
    162   if (ii != -1) {
    163     _rnxIntrComboBox->setCurrentIndex(ii);
    164   }
    165   _onTheFlyComboBox = new QComboBox();
    166   _onTheFlyComboBox->setMaximumWidth(9*ww);
    167   _onTheFlyComboBox->setEditable(false);
    168   _onTheFlyComboBox->addItems(QString("1 day,1 hour,1 min").split(","));
    169   ii = _onTheFlyComboBox->findText(settings.value("onTheFlyInterval").toString());
    170   if (ii != -1) {
    171     _onTheFlyComboBox->setCurrentIndex(ii);
    172   }
    173   _ephIntrComboBox    = new QComboBox();
    174   _ephIntrComboBox->setMaximumWidth(9*ww);
    175   _ephIntrComboBox->setEditable(false);
    176   _ephIntrComboBox->addItems(QString("1 min,2 min,5 min,10 min,15 min,30 min,1 hour,1 day").split(","));
    177   int jj = _ephIntrComboBox->findText(settings.value("ephIntr").toString());
    178   if (jj != -1) {
    179     _ephIntrComboBox->setCurrentIndex(jj);
    180   }
    181   _corrIntrComboBox    = new QComboBox();
    182   _corrIntrComboBox->setMaximumWidth(9*ww);
    183   _corrIntrComboBox->setEditable(false);
    184   _corrIntrComboBox->addItems(QString("1 min,2 min,5 min,10 min,15 min,30 min,1 hour,1 day").split(","));
    185   int mm = _corrIntrComboBox->findText(settings.value("corrIntr").toString());
    186   if (mm != -1) {
    187     _corrIntrComboBox->setCurrentIndex(mm);
    188   }
    189   _corrTimeSpinBox   = new QSpinBox();
    190   _corrTimeSpinBox->setMinimum(1);
    191   _corrTimeSpinBox->setMaximum(30);
    192   _corrTimeSpinBox->setSingleStep(1);
    193   _corrTimeSpinBox->setSuffix(" sec");
    194   _corrTimeSpinBox->setMaximumWidth(9*ww);
    195   _corrTimeSpinBox->setValue(settings.value("corrTime").toInt());
    196   _rnxSamplSpinBox    = new QSpinBox();
    197   _rnxSamplSpinBox->setMinimum(0);
    198   _rnxSamplSpinBox->setMaximum(60);
    199   _rnxSamplSpinBox->setSingleStep(5);
    200   _rnxSamplSpinBox->setMaximumWidth(9*ww);
    201   _rnxSamplSpinBox->setValue(settings.value("rnxSampl").toInt());
    202   _rnxSamplSpinBox->setSuffix(" sec");
    203 
    204203  _binSamplSpinBox    = new QSpinBox();
    205204  _binSamplSpinBox->setMinimum(0);
    206205  _binSamplSpinBox->setMaximum(60);
    207206  _binSamplSpinBox->setSingleStep(5);
    208   _binSamplSpinBox->setMaximumWidth(9*ww);
    209207  _binSamplSpinBox->setValue(settings.value("binSampl").toInt());
    210208  _binSamplSpinBox->setSuffix(" sec");
    211 
     209  _outFileLineEdit    = new QLineEdit(settings.value("outFile").toString());
     210  _outUPortLineEdit   = new QLineEdit(settings.value("outUPort").toString());
     211
     212  // Serial Link Options
     213  // -------------------
     214  _serialMountPointLineEdit = new QLineEdit(settings.value("serialMountPoint").toString());
     215  _serialPortNameLineEdit = new QLineEdit(settings.value("serialPortName").toString());
     216  _serialBaudRateComboBox = new QComboBox();
     217  _serialBaudRateComboBox->addItems(QString("110,300,600,"
     218            "1200,2400,4800,9600,19200,38400,57600,115200").split(","));
     219  int kk = _serialBaudRateComboBox->findText(settings.value("serialBaudRate").toString());
     220  if (kk != -1) {
     221    _serialBaudRateComboBox->setCurrentIndex(kk);
     222  }
     223  _serialFlowControlComboBox = new QComboBox();
     224  _serialFlowControlComboBox->addItems(QString("OFF,XONXOFF,HARDWARE").split(","));
     225  kk = _serialFlowControlComboBox->findText(settings.value("serialFlowControl").toString());
     226  if (kk != -1) {
     227    _serialFlowControlComboBox->setCurrentIndex(kk);
     228  }
     229  _serialDataBitsComboBox = new QComboBox();
     230  _serialDataBitsComboBox->addItems(QString("5,6,7,8").split(","));
     231  kk = _serialDataBitsComboBox->findText(settings.value("serialDataBits").toString());
     232  if (kk != -1) {
     233    _serialDataBitsComboBox->setCurrentIndex(kk);
     234  }
     235  _serialParityComboBox   = new QComboBox();
     236  _serialParityComboBox->addItems(QString("NONE,ODD,EVEN,SPACE").split(","));
     237  kk = _serialParityComboBox->findText(settings.value("serialParity").toString());
     238  if (kk != -1) {
     239    _serialParityComboBox->setCurrentIndex(kk);
     240  }
     241  _serialStopBitsComboBox = new QComboBox();
     242  _serialStopBitsComboBox->addItems(QString("1,2").split(","));
     243  kk = _serialStopBitsComboBox->findText(settings.value("serialStopBits").toString());
     244  if (kk != -1) {
     245    _serialStopBitsComboBox->setCurrentIndex(kk);
     246  }
     247  _serialAutoNMEAComboBox  = new QComboBox();
     248  _serialAutoNMEAComboBox->addItems(QString("Auto,Manual").split(","));
     249  kk = _serialAutoNMEAComboBox->findText(settings.value("serialAutoNMEA").toString());
     250  if (kk != -1) {
     251    _serialAutoNMEAComboBox->setCurrentIndex(kk);
     252  }
     253  _serialFileNMEALineEdit    = new QLineEdit(settings.value("serialFileNMEA").toString());
     254  _serialHeightNMEALineEdit  = new QLineEdit(settings.value("serialHeightNMEA").toString());
     255
     256  // Outages Options
     257  // ---------------
    212258  _obsRateComboBox    = new QComboBox();
    213   _obsRateComboBox->setMaximumWidth(9*ww);
    214259  _obsRateComboBox->setEditable(false);
    215260  _obsRateComboBox->addItems(QString(",0.1 Hz,0.2 Hz,0.5 Hz,1 Hz,5 Hz").split(","));
    216   int kk = _obsRateComboBox->findText(settings.value("obsRate").toString());
     261  kk = _obsRateComboBox->findText(settings.value("obsRate").toString());
    217262  if (kk != -1) {
    218263    _obsRateComboBox->setCurrentIndex(kk);
    219264  }
     265  _adviseFailSpinBox = new QSpinBox();
     266  _adviseFailSpinBox->setMinimum(0);
     267  _adviseFailSpinBox->setMaximum(60);
     268  _adviseFailSpinBox->setSingleStep(1);
     269  _adviseFailSpinBox->setSuffix(" min");
     270  _adviseFailSpinBox->setValue(settings.value("adviseFail").toInt());
    220271  _adviseRecoSpinBox = new QSpinBox();
    221272  _adviseRecoSpinBox->setMinimum(0);
     
    223274  _adviseRecoSpinBox->setSingleStep(1);
    224275  _adviseRecoSpinBox->setSuffix(" min");
    225   _adviseRecoSpinBox->setMaximumWidth(9*ww);
    226276  _adviseRecoSpinBox->setValue(settings.value("adviseReco").toInt());
    227   _adviseFailSpinBox = new QSpinBox();
    228   _adviseFailSpinBox->setMinimum(0);
    229   _adviseFailSpinBox->setMaximum(60);
    230   _adviseFailSpinBox->setSingleStep(1);
    231   _adviseFailSpinBox->setSuffix(" min");
    232   _adviseFailSpinBox->setMaximumWidth(9*ww);
    233   _adviseFailSpinBox->setValue(settings.value("adviseFail").toInt());
    234   _logFileLineEdit    = new QLineEdit(settings.value("logFile").toString());
    235277  _adviseScriptLineEdit    = new QLineEdit(settings.value("adviseScript").toString());
    236278
    237   _serialPortNameLineEdit = new QLineEdit(settings.value("serialPortName").toString());
    238   _serialMountPointLineEdit = new QLineEdit(settings.value("serialMountPoint").toString());
    239 
    240 
    241   _serialBaudRateComboBox = new QComboBox();
    242   _serialBaudRateComboBox->setMaximumWidth(9*ww);
    243   _serialBaudRateComboBox->addItems(QString("110,300,600,"
    244             "1200,2400,4800,9600,19200,38400,57600,115200").split(","));
    245   kk = _serialBaudRateComboBox->findText(settings.value("serialBaudRate").toString());
    246   if (kk != -1) {
    247     _serialBaudRateComboBox->setCurrentIndex(kk);
    248   }
    249   _serialParityComboBox   = new QComboBox();
    250   _serialParityComboBox->setMaximumWidth(9*ww);
    251   _serialParityComboBox->addItems(QString("NONE,ODD,EVEN,SPACE").split(","));
    252   kk = _serialParityComboBox->findText(settings.value("serialParity").toString());
    253   if (kk != -1) {
    254     _serialParityComboBox->setCurrentIndex(kk);
    255   }
    256   _serialDataBitsComboBox = new QComboBox();
    257   _serialDataBitsComboBox->setMaximumWidth(5*ww);
    258   _serialDataBitsComboBox->addItems(QString("5,6,7,8").split(","));
    259   kk = _serialDataBitsComboBox->findText(settings.value("serialDataBits").toString());
    260   if (kk != -1) {
    261     _serialDataBitsComboBox->setCurrentIndex(kk);
    262   }
    263   _serialStopBitsComboBox = new QComboBox();
    264   _serialStopBitsComboBox->setMaximumWidth(5*ww);
    265   _serialStopBitsComboBox->addItems(QString("1,2").split(","));
    266   kk = _serialStopBitsComboBox->findText(settings.value("serialStopBits").toString());
    267   if (kk != -1) {
    268     _serialStopBitsComboBox->setCurrentIndex(kk);
    269   }
    270   _serialFlowControlComboBox = new QComboBox();
    271   _serialFlowControlComboBox->setMaximumWidth(11*ww);
    272   _serialFlowControlComboBox->addItems(QString("OFF,XONXOFF,HARDWARE").split(","));
    273   kk = _serialFlowControlComboBox->findText(settings.value("serialFlowControl").toString());
    274   if (kk != -1) {
    275     _serialFlowControlComboBox->setCurrentIndex(kk);
    276   }
    277   _serialAutoNMEAComboBox  = new QComboBox();
    278   _serialAutoNMEAComboBox->setMaximumWidth(9*ww);
    279   _serialAutoNMEAComboBox->addItems(QString("Auto,Manual").split(","));
    280   kk = _serialAutoNMEAComboBox->findText(settings.value("serialAutoNMEA").toString());
    281   if (kk != -1) {
    282     _serialAutoNMEAComboBox->setCurrentIndex(kk);
    283   }
    284   _serialFileNMEALineEdit    = new QLineEdit(settings.value("serialFileNMEA").toString());
    285   _serialHeightNMEALineEdit  = new QLineEdit(settings.value("serialHeightNMEA").toString());
     279  // Miscellaneous Options
     280  // ---------------------
     281  _miscMountLineEdit  = new QLineEdit(settings.value("miscMount").toString());
    286282  _perfIntrComboBox    = new QComboBox();
    287   _perfIntrComboBox->setMaximumWidth(9*ww);
    288283  _perfIntrComboBox->setEditable(false);
    289284  _perfIntrComboBox->addItems(QString(",2 sec, 10 sec,1 min,5 min,15 min,1 hour,6 hours,1 day").split(","));
     
    292287    _perfIntrComboBox->setCurrentIndex(ll);
    293288  }
    294 
     289  _scanRTCMCheckBox  = new QCheckBox();
     290  _scanRTCMCheckBox->setCheckState(Qt::CheckState(
     291                                    settings.value("scanRTCM").toInt()));
     292
     293  // Streams
     294  // -------
    295295  _mountPointsTable   = new QTableWidget(0,8);
    296296
     
    300300  _mountPointsTable->horizontalHeader()->resizeSection(4,7*ww);
    301301  _mountPointsTable->horizontalHeader()->resizeSection(5,5*ww);
    302   _mountPointsTable->horizontalHeader()->resizeSection(6,4*ww);
     302  _mountPointsTable->horizontalHeader()->resizeSection(6,5*ww);
    303303  _mountPointsTable->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
    304304  _mountPointsTable->horizontalHeader()->setStretchLastSection(true);
     
    368368  setCentralWidget(_canvas);
    369369
    370 //QTabWidget* aogroup = new QTabWidget();
    371370  aogroup = new QTabWidget();
    372371  QWidget* pgroup = new QWidget();
     
    389388  aogroup->addTab(rgroup,tr("Miscellaneous"));
    390389
    391   // Proxy
    392   // ----
     390  // Proxy Tab
     391  // ---------
    393392  QGridLayout* pLayout = new QGridLayout;
    394393  pLayout->setColumnMinimumWidth(0,13*ww);
     394  _proxyPortLineEdit->setMaximumWidth(9*ww);
     395
    395396  pLayout->addWidget(new QLabel("Proxy host"),                   0, 0);
    396397  pLayout->addWidget(_proxyHostLineEdit,                         0, 1, 1,10);
     
    411412  }
    412413 
    413   // General
    414   // -------
     414  // General Tab
     415  // -----------
    415416  QGridLayout* gLayout = new QGridLayout;
    416417  gLayout->setColumnMinimumWidth(0,14*ww);
     418  _onTheFlyComboBox->setMaximumWidth(9*ww);
     419
    417420  gLayout->addWidget(new QLabel("Logfile (full path)"),          0, 0);
    418421  gLayout->addWidget(_logFileLineEdit,                           0, 1);
     
    427430  ggroup->setLayout(gLayout);
    428431
    429   // Feed Engine
    430   // -----------
    431   QGridLayout* sLayout = new QGridLayout;
    432   sLayout->setColumnMinimumWidth(0,14*ww);
    433   sLayout->addWidget(new QLabel("Port"),                          0, 0);
    434   sLayout->addWidget(_outPortLineEdit,                            0, 1);
    435   sLayout->addWidget(new QLabel("Wait for full epoch"),           0, 2, Qt::AlignRight);
    436   sLayout->addWidget(_waitTimeSpinBox,                            0, 3, Qt::AlignLeft);
    437   sLayout->addWidget(new QLabel("Sampling"),                      1, 0);
    438   sLayout->addWidget(_binSamplSpinBox,                            1, 1, Qt::AlignLeft);
    439   sLayout->addWidget(new QLabel("File (full path)"),              2, 0);
    440   sLayout->addWidget(_outFileLineEdit,                            2, 1, 1, 30);
    441   sLayout->addWidget(new QLabel("Port (unsynchronized)"),         3, 0);
    442   sLayout->addWidget(_outUPortLineEdit,                           3, 1);
    443   sLayout->addWidget(new QLabel("Output decoded observations in a binary format to feed a real-time GNSS engine."),4,0,1,30);
    444   sLayout->addWidget(new QLabel("    "),5,0);
    445   sgroup->setLayout(sLayout);
    446 
    447   connect(_outPortLineEdit, SIGNAL(textChanged(const QString &)),
    448           this, SLOT(bncText(const QString &)));
    449   connect(_outFileLineEdit, SIGNAL(textChanged(const QString &)),
    450           this, SLOT(bncText(const QString &)));
    451   if (_outPortLineEdit->text().isEmpty() && _outFileLineEdit->text().isEmpty()) {
    452     _waitTimeSpinBox->setStyleSheet("background-color: lightGray");
    453     _binSamplSpinBox->setStyleSheet("background-color: lightGray");
    454     _waitTimeSpinBox->setEnabled(false);
    455     _binSamplSpinBox->setEnabled(false);
    456   }
    457 
    458   // RINEX Ephemeris
    459   // ---------------
    460   QGridLayout* eLayout = new QGridLayout;
    461   eLayout->setColumnMinimumWidth(0,14*ww);
    462   eLayout->addWidget(new QLabel("Directory"),                     0, 0);
    463   eLayout->addWidget(_ephPathLineEdit,                            0, 1);
    464   eLayout->addWidget(new QLabel("Interval"),                      1, 0);
    465   eLayout->addWidget(_ephIntrComboBox,                            1, 1);
    466   eLayout->addWidget(new QLabel("Port"),                          2, 0);
    467   eLayout->addWidget(_outEphPortLineEdit,                         2, 1);
    468   eLayout->addWidget(new QLabel("Version 3"),                     3, 0);
    469   eLayout->addWidget(_ephV3CheckBox,                              3, 1);
    470   eLayout->addWidget(new QLabel("Saving RINEX ephemeris files and ephemeris output through IP port."),4,0,1,2,Qt::AlignLeft);
    471   eLayout->addWidget(new QLabel("    "),5,0);
    472   egroup->setLayout(eLayout);
    473 
    474   connect(_ephPathLineEdit, SIGNAL(textChanged(const QString &)),
    475           this, SLOT(bncText(const QString &)));
    476   connect(_outEphPortLineEdit, SIGNAL(textChanged(const QString &)),
    477           this, SLOT(bncText(const QString &)));
    478 
    479   if (_ephPathLineEdit->text().isEmpty() && _outEphPortLineEdit->text().isEmpty()) {
    480     _ephIntrComboBox->setStyleSheet("background-color: lightGray");
    481     palette.setColor(_ephV3CheckBox->backgroundRole(), lightGray);
    482     _ephV3CheckBox->setPalette(palette);
    483     _ephIntrComboBox->setEnabled(false);
    484     _ephV3CheckBox->setEnabled(false);
    485   }
    486   if (_ephPathLineEdit->text().isEmpty() && !_outEphPortLineEdit->text().isEmpty()) {
    487     _ephIntrComboBox->setStyleSheet("background-color: lightGray");
    488     _ephIntrComboBox->setEnabled(false);
    489   }   
    490 
    491   // Outages
    492   // -------
    493   QGridLayout* aLayout = new QGridLayout;
    494   aLayout->setColumnMinimumWidth(0,14*ww);
    495   aLayout->addWidget(new QLabel("Observation rate"),              0, 0);
    496   aLayout->addWidget(_obsRateComboBox,                            0, 1);
    497   aLayout->addWidget(new QLabel("Failure threshold"),             1, 0);
    498   aLayout->addWidget(_adviseFailSpinBox,                          1, 1);
    499   aLayout->addWidget(new QLabel("Recovery threshold"),            2, 0);
    500   aLayout->addWidget(_adviseRecoSpinBox,                          2, 1);
    501   aLayout->addWidget(new QLabel("Script (full path)"),            3, 0);
    502   aLayout->addWidget(_adviseScriptLineEdit,                       3, 1,1,10);
    503   aLayout->addWidget(new QLabel("Outage report, handling of corrupted streams."),5,0,1,10,Qt::AlignLeft);
    504   agroup->setLayout(aLayout);
    505 
    506   connect(_obsRateComboBox, SIGNAL(currentIndexChanged(const QString &)),
    507           this, SLOT(bncText(const QString)));
    508   if (_obsRateComboBox->currentText().isEmpty()) {
    509     _adviseFailSpinBox->setStyleSheet("background-color: lightGray");
    510     _adviseRecoSpinBox->setStyleSheet("background-color: lightGray");
    511     _adviseScriptLineEdit->setStyleSheet("background-color: lightGray");
    512     _adviseFailSpinBox->setEnabled(false);
    513     _adviseRecoSpinBox->setEnabled(false);
    514     _adviseScriptLineEdit->setEnabled(false);
    515   }
    516 
    517   // Miscellaneous
    518   // -------------
    519   QGridLayout* rLayout = new QGridLayout;
    520   rLayout->setColumnMinimumWidth(0,14*ww);
    521   rLayout->addWidget(new QLabel("Mountpoint"),                    0, 0);
    522   rLayout->addWidget(_miscMountLineEdit,                          0, 1, 1,7);
    523   rLayout->addWidget(new QLabel("Log latency"),                   1, 0);
    524   rLayout->addWidget(_perfIntrComboBox,                           1, 1);
    525   rLayout->addWidget(new QLabel("Scan RTCM"),                     2, 0);
    526   rLayout->addWidget(_scanRTCMCheckBox,                           2, 1);
    527   rLayout->addWidget(new QLabel("Log latencies or scan RTCM streams for numbers of message types and antenna information."),3, 0,1,30);
    528   rLayout->addWidget(new QLabel("    "),                          4, 0);
    529   rLayout->addWidget(new QLabel("    "),                          5, 0);
    530   rgroup->setLayout(rLayout);
    531 
    532   connect(_miscMountLineEdit, SIGNAL(textChanged(const QString &)),
    533           this, SLOT(bncText(const QString &)));
    534   if (_miscMountLineEdit->text().isEmpty()) {
    535     _perfIntrComboBox->setStyleSheet("background-color: lightGray");
    536     palette.setColor(_scanRTCMCheckBox->backgroundRole(), lightGray);
    537     _scanRTCMCheckBox->setPalette(palette);
    538     _perfIntrComboBox->setEnabled(false);
    539     _scanRTCMCheckBox->setEnabled(false);
    540   }
    541 
    542432  // RINEX Observations
    543433  // ------------------
    544434  QGridLayout* oLayout = new QGridLayout;
    545435  oLayout->setColumnMinimumWidth(0,14*ww);
     436  _rnxIntrComboBox->setMaximumWidth(9*ww);
     437  _rnxSamplSpinBox->setMaximumWidth(9*ww);
     438
    546439  oLayout->addWidget(new QLabel("Directory"),                     0, 0);
    547440  oLayout->addWidget(_rnxPathLineEdit,                            0, 1,1,12);
     
    575468  }
    576469
     470  // RINEX Ephemeris
     471  // ---------------
     472  QGridLayout* eLayout = new QGridLayout;
     473  eLayout->setColumnMinimumWidth(0,14*ww);
     474  _ephIntrComboBox->setMaximumWidth(9*ww);
     475  _outEphPortLineEdit->setMaximumWidth(9*ww);
     476
     477  eLayout->addWidget(new QLabel("Directory"),                     0, 0);
     478  eLayout->addWidget(_ephPathLineEdit,                            0, 1);
     479  eLayout->addWidget(new QLabel("Interval"),                      1, 0);
     480  eLayout->addWidget(_ephIntrComboBox,                            1, 1);
     481  eLayout->addWidget(new QLabel("Port"),                          2, 0);
     482  eLayout->addWidget(_outEphPortLineEdit,                         2, 1);
     483  eLayout->addWidget(new QLabel("Version 3"),                     3, 0);
     484  eLayout->addWidget(_ephV3CheckBox,                              3, 1);
     485  eLayout->addWidget(new QLabel("Saving RINEX ephemeris files and ephemeris output through IP port."),4,0,1,2,Qt::AlignLeft);
     486  eLayout->addWidget(new QLabel("    "),5,0);
     487  egroup->setLayout(eLayout);
     488
     489  connect(_ephPathLineEdit, SIGNAL(textChanged(const QString &)),
     490          this, SLOT(bncText(const QString &)));
     491  connect(_outEphPortLineEdit, SIGNAL(textChanged(const QString &)),
     492          this, SLOT(bncText(const QString &)));
     493
     494  if (_ephPathLineEdit->text().isEmpty() && _outEphPortLineEdit->text().isEmpty()) {
     495    _ephIntrComboBox->setStyleSheet("background-color: lightGray");
     496    palette.setColor(_ephV3CheckBox->backgroundRole(), lightGray);
     497    _ephV3CheckBox->setPalette(palette);
     498    _ephIntrComboBox->setEnabled(false);
     499    _ephV3CheckBox->setEnabled(false);
     500  }
     501  if (_ephPathLineEdit->text().isEmpty() && !_outEphPortLineEdit->text().isEmpty()) {
     502    _ephIntrComboBox->setStyleSheet("background-color: lightGray");
     503    _ephIntrComboBox->setEnabled(false);
     504  }   
     505
    577506  // Ephemeris Corrections
    578507  // ---------------------
    579508  QGridLayout* cLayout = new QGridLayout;
    580509  cLayout->setColumnMinimumWidth(0,14*ww);
     510  _corrIntrComboBox->setMaximumWidth(9*ww);
     511  _corrPortLineEdit->setMaximumWidth(9*ww);
     512  _corrTimeSpinBox->setMaximumWidth(9*ww);
     513
    581514  cLayout->addWidget(new QLabel("Directory"),                     0, 0);
    582515  cLayout->addWidget(_corrPathLineEdit,                           0, 1,1,30);
     
    605538  }
    606539
     540  // Feed Engine
     541  // -----------
     542  QGridLayout* sLayout = new QGridLayout;
     543  sLayout->setColumnMinimumWidth(0,14*ww);
     544  _outPortLineEdit->setMaximumWidth(9*ww);
     545  _waitTimeSpinBox->setMaximumWidth(9*ww);
     546  _binSamplSpinBox->setMaximumWidth(9*ww);
     547  _outUPortLineEdit->setMaximumWidth(9*ww);
     548
     549  sLayout->addWidget(new QLabel("Port"),                          0, 0);
     550  sLayout->addWidget(_outPortLineEdit,                            0, 1);
     551  sLayout->addWidget(new QLabel("Wait for full epoch"),           0, 2, Qt::AlignRight);
     552  sLayout->addWidget(_waitTimeSpinBox,                            0, 3, Qt::AlignLeft);
     553  sLayout->addWidget(new QLabel("Sampling"),                      1, 0);
     554  sLayout->addWidget(_binSamplSpinBox,                            1, 1, Qt::AlignLeft);
     555  sLayout->addWidget(new QLabel("File (full path)"),              2, 0);
     556  sLayout->addWidget(_outFileLineEdit,                            2, 1, 1, 30);
     557  sLayout->addWidget(new QLabel("Port (unsynchronized)"),         3, 0);
     558  sLayout->addWidget(_outUPortLineEdit,                           3, 1);
     559  sLayout->addWidget(new QLabel("Output decoded observations in a binary format to feed a real-time GNSS engine."),4,0,1,30);
     560  sLayout->addWidget(new QLabel("    "),5,0);
     561  sgroup->setLayout(sLayout);
     562
     563  connect(_outPortLineEdit, SIGNAL(textChanged(const QString &)),
     564          this, SLOT(bncText(const QString &)));
     565  connect(_outFileLineEdit, SIGNAL(textChanged(const QString &)),
     566          this, SLOT(bncText(const QString &)));
     567  if (_outPortLineEdit->text().isEmpty() && _outFileLineEdit->text().isEmpty()) {
     568    _waitTimeSpinBox->setStyleSheet("background-color: lightGray");
     569    _binSamplSpinBox->setStyleSheet("background-color: lightGray");
     570    _waitTimeSpinBox->setEnabled(false);
     571    _binSamplSpinBox->setEnabled(false);
     572  }
     573
    607574  // Serial Link
    608575  // -----------
    609576  QGridLayout* serLayout = new QGridLayout;
    610577  serLayout->setColumnMinimumWidth(0,14*ww);
     578  _serialBaudRateComboBox->setMaximumWidth(9*ww);
     579  _serialFlowControlComboBox->setMaximumWidth(11*ww);
     580  _serialDataBitsComboBox->setMaximumWidth(5*ww);
     581  _serialParityComboBox->setMaximumWidth(9*ww);
     582  _serialStopBitsComboBox->setMaximumWidth(5*ww);
     583  _serialAutoNMEAComboBox->setMaximumWidth(9*ww);
    611584  _serialHeightNMEALineEdit->setMaximumWidth(8*ww);
     585
    612586  serLayout->addWidget(new QLabel("Mountpoint"),                  0,0, Qt::AlignLeft);
    613587  serLayout->addWidget(_serialMountPointLineEdit,                 0,1,1,2);
     
    667641
    668642  sergroup->setLayout(serLayout);
     643
     644  // Outages
     645  // -------
     646  QGridLayout* aLayout = new QGridLayout;
     647  aLayout->setColumnMinimumWidth(0,14*ww);
     648  _obsRateComboBox->setMaximumWidth(9*ww);
     649  _adviseFailSpinBox->setMaximumWidth(9*ww);
     650  _adviseRecoSpinBox->setMaximumWidth(9*ww);
     651
     652  aLayout->addWidget(new QLabel("Observation rate"),              0, 0);
     653  aLayout->addWidget(_obsRateComboBox,                            0, 1);
     654  aLayout->addWidget(new QLabel("Failure threshold"),             1, 0);
     655  aLayout->addWidget(_adviseFailSpinBox,                          1, 1);
     656  aLayout->addWidget(new QLabel("Recovery threshold"),            2, 0);
     657  aLayout->addWidget(_adviseRecoSpinBox,                          2, 1);
     658  aLayout->addWidget(new QLabel("Script (full path)"),            3, 0);
     659  aLayout->addWidget(_adviseScriptLineEdit,                       3, 1,1,10);
     660  aLayout->addWidget(new QLabel("Outage report, handling of corrupted streams."),5,0,1,10,Qt::AlignLeft);
     661  agroup->setLayout(aLayout);
     662
     663  connect(_obsRateComboBox, SIGNAL(currentIndexChanged(const QString &)),
     664          this, SLOT(bncText(const QString)));
     665  if (_obsRateComboBox->currentText().isEmpty()) {
     666    _adviseFailSpinBox->setStyleSheet("background-color: lightGray");
     667    _adviseRecoSpinBox->setStyleSheet("background-color: lightGray");
     668    _adviseScriptLineEdit->setStyleSheet("background-color: lightGray");
     669    _adviseFailSpinBox->setEnabled(false);
     670    _adviseRecoSpinBox->setEnabled(false);
     671    _adviseScriptLineEdit->setEnabled(false);
     672  }
     673
     674  // Miscellaneous
     675  // -------------
     676  QGridLayout* rLayout = new QGridLayout;
     677  rLayout->setColumnMinimumWidth(0,14*ww);
     678  _perfIntrComboBox->setMaximumWidth(9*ww);
     679
     680  rLayout->addWidget(new QLabel("Mountpoint"),                    0, 0);
     681  rLayout->addWidget(_miscMountLineEdit,                          0, 1, 1,7);
     682  rLayout->addWidget(new QLabel("Log latency"),                   1, 0);
     683  rLayout->addWidget(_perfIntrComboBox,                           1, 1);
     684  rLayout->addWidget(new QLabel("Scan RTCM"),                     2, 0);
     685  rLayout->addWidget(_scanRTCMCheckBox,                           2, 1);
     686  rLayout->addWidget(new QLabel("Log latencies or scan RTCM streams for numbers of message types and antenna information."),3, 0,1,30);
     687  rLayout->addWidget(new QLabel("    "),                          4, 0);
     688  rLayout->addWidget(new QLabel("    "),                          5, 0);
     689  rgroup->setLayout(rLayout);
     690
     691  connect(_miscMountLineEdit, SIGNAL(textChanged(const QString &)),
     692          this, SLOT(bncText(const QString &)));
     693  if (_miscMountLineEdit->text().isEmpty()) {
     694    _perfIntrComboBox->setStyleSheet("background-color: lightGray");
     695    palette.setColor(_scanRTCMCheckBox->backgroundRole(), lightGray);
     696    _scanRTCMCheckBox->setPalette(palette);
     697    _perfIntrComboBox->setEnabled(false);
     698    _scanRTCMCheckBox->setEnabled(false);
     699  }
     700
     701  // Main Layout
     702  // -----------
    669703
    670704  QGridLayout* mLayout = new QGridLayout;
Note: See TracChangeset for help on using the changeset viewer.