Changeset 2648 in ntrip
- Timestamp:
- Nov 7, 2010, 6:08:24 PM (14 years ago)
- Location:
- trunk/BNC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/BNC/bncfigureppp.cpp ¶
r2308 r2648 69 69 bncSettings settings; 70 70 71 if (settings.value("pppOrigin").toString() == "X Y Z") { 71 if (settings.value("pppOrigin").toString() == "Plot - X Y Z" || 72 settings.value("pppOrigin").toString() == "QuickStart - Static") { 72 73 _xyzRef[0] = settings.value("pppRefCrdX").toDouble(); 73 74 _xyzRef[1] = settings.value("pppRefCrdY").toDouble(); 74 75 _xyzRef[2] = settings.value("pppRefCrdZ").toDouble(); 75 76 } 76 else if (settings.value("pppOrigin").toString() == "Start position") { 77 else if (settings.value("pppOrigin").toString() == "Plot - Start position") { 77 78 _xyzRef[0] = 0.0; 78 79 _xyzRef[1] = 0.0; -
TabularUnified trunk/BNC/bncmodel.cpp ¶
r2599 r2648 60 60 const double MAXRES_PHASE_GPS = 0.10; 61 61 const double MAXRES_PHASE_GLO = 0.05; 62 const double sig_crd_0 = 100.0; 63 const double sig_crd_p = 100.0; 62 const double QUICKSTART = 120.0; 64 63 const double sig_clk_0 = 1000.0; 65 64 const double sig_trp_0 = 0.10; … … 137 136 _staID = staID; 138 137 138 _startTime = QDateTime::currentDateTime(); 139 140 bncSettings settings; 141 142 double sig_crd_0 = 100.0; 143 144 if (settings.value("pppOrigin").toString() == "QuickStart - Static" || 145 settings.value("pppOrigin").toString() == "QuickStart - Mobile") { 146 sig_crd_0 = 000.01; 147 } 148 139 149 connect(this, SIGNAL(newMessage(QByteArray,bool)), 140 150 ((bncApp*)qApp), SLOT(slotMessage(const QByteArray,bool))); 141 142 bncSettings settings;143 151 144 152 _static = false; … … 166 174 else { 167 175 _useGlonass = false; 168 }169 170 _tRangeAverage = settings.value("pppAverage").toDouble() * 60.;171 if (_tRangeAverage < 0) {172 _tRangeAverage = 0;173 }174 if (_tRangeAverage > 86400) {175 _tRangeAverage = 86400;176 176 } 177 177 … … 223 223 _nmeaStream->setDevice(_nmeaFile); 224 224 } 225 //Perlt Anfang226 _xyzAverage[0] = 0.0; _xyzAverage[1] = 0.0; _xyzAverage[2] = 0.0;227 _xyzAverage[3] = 0.0; _xyzAverage[4] = 0.0; _xyzAverage[5] = 0.0;228 _xyzAverageSqr[0] = 0.0; _xyzAverageSqr[1] = 0.0; _xyzAverageSqr[2] = 0.0;229 _xyzAverageSqr[3] = 0.0; _xyzAverageSqr[4] = 0.0; _xyzAverageSqr[5] = 0.0;230 for (int ii = 0; ii < _posAverage.size(); ++ii) { delete _posAverage[ii]; }231 _posAverage.clear();232 //Perlt Ende233 234 225 } 235 226 … … 239 230 delete _nmeaStream; 240 231 delete _nmeaFile; 241 //Perlt Anfang 242 for (int ii = 0; ii < _posAverage.size(); ++ii) {delete _posAverage[ii];}243 //Perlt Ende 232 for (int ii = 0; ii < _posAverage.size(); ++ii) { 233 delete _posAverage[ii]; 234 } 244 235 } 245 236 … … 395 386 void bncModel::predict(t_epoData* epoData) { 396 387 397 bool firstCrd = x() == 0.0 && y() == 0.0 && z() == 0.0; 388 bncSettings settings; 389 390 bool firstCrd = false; 391 if (x() == 0.0 && y() == 0.0 && z() == 0.0) { 392 firstCrd = true; 393 } 394 395 bool quickStartInit = false; 396 double sig_crd_p = 100.0; 397 398 if ( (settings.value("pppOrigin").toString() == "QuickStart - Static" || 399 settings.value("pppOrigin").toString() == "QuickStart - Mobile") && 400 _startTime.secsTo(QDateTime::currentDateTime()) < QUICKSTART ) { 401 quickStartInit = true; 402 sig_crd_p = 0.0; 403 } 398 404 399 405 // Predict Parameter values, add white noise … … 406 412 if (pp->type == bncParam::CRD_X) { 407 413 if (firstCrd || !_static) { 408 pp->xx = _xcBanc(1); 414 if (quickStartInit) { 415 pp->xx = settings.value("pppRefCrdX").toDouble(); 416 } 417 else { 418 pp->xx = _xcBanc(1); 419 } 409 420 } 410 421 _QQ(iPar,iPar) += sig_crd_p * sig_crd_p; … … 412 423 else if (pp->type == bncParam::CRD_Y) { 413 424 if (firstCrd || !_static) { 414 pp->xx = _xcBanc(2); 425 if (quickStartInit) { 426 pp->xx = settings.value("pppRefCrdY").toDouble(); 427 } 428 else { 429 pp->xx = _xcBanc(2); 430 } 415 431 } 416 432 _QQ(iPar,iPar) += sig_crd_p * sig_crd_p; … … 418 434 else if (pp->type == bncParam::CRD_Z) { 419 435 if (firstCrd || !_static) { 420 pp->xx = _xcBanc(3); 436 if (quickStartInit) { 437 pp->xx = settings.value("pppRefCrdZ").toDouble(); 438 } 439 else { 440 pp->xx = _xcBanc(3); 441 } 421 442 } 422 443 _QQ(iPar,iPar) += sig_crd_p * sig_crd_p; … … 751 772 // NEU Output 752 773 // ---------- 753 if (settings.value("pppOrigin").toString() == "X Y Z") { 774 if (settings.value("pppOrigin").toString() == "Plot - X Y Z" || 775 settings.value("pppOrigin").toString() == "QuickStart - Static") { 754 776 double xyzRef[3]; 755 777 double ellRef[3]; … … 769 791 << setw(8) << setprecision(3) << _neu[2]; 770 792 } 771 //Perlt Anfang772 // strC << endl;773 //Perlt Ende774 793 775 794 emit newMessage(QByteArray(strC.str().c_str()), true); 776 795 777 //Perlt Anfang 778 ostringstream strD; 779 strD.setf(ios::fixed); 780 ostringstream strE; 781 strE.setf(ios::fixed); 782 783 if (settings.value("pppOrigin").toString() != "No plot" && settings.value("pppAverage").toString() != "") { 784 double xyzRef[3]; 785 if (settings.value("pppOrigin").toString() == "X Y Z") { 786 xyzRef[0] = settings.value("pppRefCrdX").toDouble(); 787 xyzRef[1] = settings.value("pppRefCrdY").toDouble(); 788 xyzRef[2] = settings.value("pppRefCrdZ").toDouble(); 789 _xyzAverage[3]+=(x()-xyzRef[0]); 790 _xyzAverage[4]+=(y()-xyzRef[1]); 791 _xyzAverage[5]+=(z()-xyzRef[2]); 792 _xyzAverageSqr[3]+=((x()-xyzRef[0])*(x()-xyzRef[0])); 793 _xyzAverageSqr[4]+=((y()-xyzRef[1])*(y()-xyzRef[1])); 794 _xyzAverageSqr[5]+=((z()-xyzRef[2])*(z()-xyzRef[2])); 795 } 796 796 if (settings.value("pppOrigin").toString() != "None" && 797 settings.value("pppOrigin").toString() != "QuickStart - Mobile" && 798 settings.value("pppOrigin").toString() != "Plot - Start position" && 799 settings.value("pppAverage").toString() != "") { 800 801 // Remember new position 802 // --------------------- 797 803 pppPos* newPos = new pppPos; 798 newPos->time = epoData->tt; 799 newPos->xyz[0] = x(); 800 newPos->xyz[1] = y(); 801 newPos->xyz[2] = z(); 804 newPos->time = epoData->tt; 805 newPos->xyz[0] = x(); 806 newPos->xyz[1] = y(); 807 newPos->xyz[2] = z(); 808 newPos->xyzRef[0] = settings.value("pppRefCrdX").toDouble(); 809 newPos->xyzRef[1] = settings.value("pppRefCrdY").toDouble(); 810 newPos->xyzRef[2] = settings.value("pppRefCrdZ").toDouble(); 811 802 812 _posAverage.push_back(newPos); 803 813 804 _xyzAverage[0]+=x(); 805 _xyzAverage[1]+=y(); 806 _xyzAverage[2]+=z(); 807 _xyzAverageSqr[0]+=(x()*x()); 808 _xyzAverageSqr[1]+=(y()*y()); 809 _xyzAverageSqr[2]+=(z()*z()); 814 // Time Span for Average Computation 815 // --------------------------------- 816 double tRangeAverage = settings.value("pppAverage").toDouble() * 60.; 817 if (tRangeAverage < 0) { 818 tRangeAverage = 0; 819 } 820 if (tRangeAverage > 86400) { 821 tRangeAverage = 86400; 822 } 823 824 // Compute the Mean 825 // ---------------- 826 double meanX = 0.0; 827 double meanY = 0.0; 828 double meanZ = 0.0; 810 829 811 830 QMutableVectorIterator<pppPos*> it(_posAverage); 812 831 while (it.hasNext()) { 813 832 pppPos* pp = it.next(); 814 if ( (epoData->tt - pp->time) >= _tRangeAverage ) { 815 _xyzAverage[0]-=pp->xyz[0]; 816 _xyzAverage[1]-=pp->xyz[1]; 817 _xyzAverage[2]-=pp->xyz[2]; 818 _xyzAverageSqr[0]-=(pp->xyz[0]*pp->xyz[0]); 819 _xyzAverageSqr[1]-=(pp->xyz[1]*pp->xyz[1]); 820 _xyzAverageSqr[2]-=(pp->xyz[2]*pp->xyz[2]); 821 _xyzAverage[3]-=(pp->xyz[0]-xyzRef[0]); 822 _xyzAverage[4]-=(pp->xyz[1]-xyzRef[1]); 823 _xyzAverage[5]-=(pp->xyz[2]-xyzRef[2]); 824 _xyzAverageSqr[3]-=((pp->xyz[0]-xyzRef[0])*(pp->xyz[0]-xyzRef[0])); 825 _xyzAverageSqr[4]-=((pp->xyz[1]-xyzRef[1])*(pp->xyz[1]-xyzRef[1])); 826 _xyzAverageSqr[5]-=((pp->xyz[2]-xyzRef[2])*(pp->xyz[2]-xyzRef[2])); 833 if ( (epoData->tt - pp->time) >= tRangeAverage ) { 827 834 delete pp; 828 835 it.remove(); 829 836 } 830 } 831 _xyzAverageN=_posAverage.size(); 832 double AveX; 833 double AveY; 834 double AveZ; 835 double dAveX; 836 double dAveY; 837 double dAveZ; 838 if (_xyzAverageN>1) { 839 AveX= _xyzAverage[0]/_xyzAverageN; 840 AveY= _xyzAverage[1]/_xyzAverageN; 841 AveZ= _xyzAverage[2]/_xyzAverageN; 842 dAveX= sqrt((_xyzAverageSqr[0]-_xyzAverage[0]*_xyzAverage[0]/(_xyzAverageN))/(_xyzAverageN-1)); 843 dAveY= sqrt((_xyzAverageSqr[1]-_xyzAverage[1]*_xyzAverage[1]/(_xyzAverageN))/(_xyzAverageN-1)); 844 dAveZ= sqrt((_xyzAverageSqr[2]-_xyzAverage[2]*_xyzAverage[2]/(_xyzAverageN))/(_xyzAverageN-1)); 845 strD << _staID.data() << " AVE-XYZ " 846 << epoData->tt.timestr(1) << " " 847 << setw(13) << setprecision(3) << AveX << " +- " 848 << setw(6) << setprecision(3) << dAveX << " " 849 << setw(14) << setprecision(3) << AveY << " +- " 850 << setw(6) << setprecision(3) << dAveY << " " 851 << setw(14) << setprecision(3) << AveZ << " +- " 852 << setw(6) << setprecision(3) << dAveZ; 853 emit newMessage(QByteArray(strD.str().c_str()), true); 854 } 855 if (settings.value("pppOrigin").toString() == "X Y Z" && settings.value("pppAverage").toString() != "") { 856 double _xyz[3]; 857 double ellRef[3]; 858 double _dxyz[3]; 859 double _neu[3]; 860 double _dneu[3]; 861 xyz2ell(xyzRef, ellRef); 862 _xyz[0]= _xyzAverage[3]/_xyzAverageN; 863 _xyz[1]= _xyzAverage[4]/_xyzAverageN; 864 _xyz[2]= _xyzAverage[5]/_xyzAverageN; 865 if (_xyzAverageN>1) { 866 _dxyz[0]= sqrt((_xyzAverageSqr[3]-_xyzAverage[3]*_xyzAverage[3]/(_xyzAverageN))/(_xyzAverageN-1)); 867 _dxyz[1]= sqrt((_xyzAverageSqr[4]-_xyzAverage[4]*_xyzAverage[4]/(_xyzAverageN))/(_xyzAverageN-1)); 868 _dxyz[2]= sqrt((_xyzAverageSqr[5]-_xyzAverage[5]*_xyzAverage[5]/(_xyzAverageN))/(_xyzAverageN-1)); 869 xyz2neu(ellRef, _xyz, _neu); 870 xyz2neu(ellRef, _dxyz, _dneu); 871 _dneu[0]=sqrt(_dneu[0]*_dneu[0]); 872 _dneu[1]=sqrt(_dneu[1]*_dneu[1]); 873 _dneu[2]=sqrt(_dneu[2]*_dneu[2]); 874 strE << _staID.data() << " AVE-NEU " 875 << epoData->tt.timestr(1) << " " 876 << setw(8) << setprecision(3) << _neu[0] << " +- " 877 << setw(6) << setprecision(3) << _dneu[0] << " " 878 << setw(8) << setprecision(3) << _neu[1] << " +- " 879 << setw(6) << setprecision(3) << _dneu[1] << " " 880 << setw(8) << setprecision(3) << _neu[2] << " +- " 881 << setw(6) << setprecision(3) << _dneu[2]; 882 emit newMessage(QByteArray(strE.str().c_str()), true); 883 } 884 } 885 } 886 //Perlt Ende 887 837 else { 838 meanX += pp->xyz[0] - pp->xyzRef[0]; 839 meanY += pp->xyz[1] - pp->xyzRef[1]; 840 meanZ += pp->xyz[2] - pp->xyzRef[2]; 841 } 842 } 843 844 int nn = _posAverage.size(); 845 846 meanX /= nn; 847 meanY /= nn; 848 meanZ /= nn; 849 850 // Compute the Deviation 851 // --------------------- 852 double stdX = 0.0; 853 double stdY = 0.0; 854 double stdZ = 0.0; 855 QVectorIterator<pppPos*> it2(_posAverage); 856 while (it2.hasNext()) { 857 pppPos* pp = it2.next(); 858 double dX = pp->xyz[0] - pp->xyzRef[0] - meanX; 859 double dY = pp->xyz[1] - pp->xyzRef[1] - meanY; 860 double dZ = pp->xyz[2] - pp->xyzRef[2] - meanZ; 861 stdX += dX * dX; 862 stdY += dY * dY; 863 stdZ += dZ * dZ; 864 } 865 866 stdX = sqrt(stdX / nn); 867 stdY = sqrt(stdY / nn); 868 stdZ = sqrt(stdZ / nn); 869 870 ostringstream strD; strD.setf(ios::fixed); 871 strD << _staID.data() << " AVE-XYZ " 872 << epoData->tt.timestr(1) << " " 873 << setw(13) << setprecision(3) << meanX << " +- " 874 << setw(6) << setprecision(3) << stdX << " " 875 << setw(14) << setprecision(3) << meanY << " +- " 876 << setw(6) << setprecision(3) << stdY << " " 877 << setw(14) << setprecision(3) << meanZ << " +- " 878 << setw(6) << setprecision(3) << stdZ; 879 emit newMessage(QByteArray(strD.str().c_str()), true); 880 } 888 881 889 882 // NMEA Output … … 1058 1051 } 1059 1052 1060 1061 1053 //// 1062 1054 ////////////////////////////////////////////////////////////////////////////// -
TabularUnified trunk/BNC/bncmodel.h ¶
r2595 r2648 95 95 const ColumnVector& rRec); 96 96 97 QDateTime _startTime; 98 97 99 class pppPos { 98 100 public: 99 101 bncTime time; 100 102 double xyz[3]; 103 double xyzRef[3]; 101 104 }; 102 105 … … 116 119 QMap<QString, double> _windUpTime; 117 120 QMap<QString, double> _windUpSum; 118 119 //Perlt Anfang 120 double _tRangeAverage; 121 QVector<pppPos*> _posAverage; 122 double _xyzAverage[6]; 123 double _xyzAverageSqr[6]; 124 int _xyzAverageN; 125 //Perlt Ende 126 121 QVector<pppPos*> _posAverage; 127 122 }; 128 123 -
TabularUnified trunk/BNC/bncwindow.cpp ¶
r2603 r2648 341 341 _pppNMEALineEdit = new QLineEdit(settings.value("nmeaFile").toString()); 342 342 _pppNMEAPortLineEdit = new QLineEdit(settings.value("nmeaPort").toString()); 343 _pppSigCLineEdit = new QLineEdit(settings.value("pppSigmaCode").toString()); 343 _pppSigCLineEdit = new QLineEdit(settings.value("pppSigmaCode").toString()); 344 344 _pppAverageLineEdit = new QLineEdit(settings.value("pppAverage").toString()); 345 345 _pppRefCrdXLineEdit = new QLineEdit(settings.value("pppRefCrdX").toString()); … … 349 349 _pppOriginComboBox = new QComboBox(); 350 350 _pppOriginComboBox->setEditable(false); 351 _pppOriginComboBox->addItems(QString("No plot,Start position,X Y Z").split(","));351 _pppOriginComboBox->addItems(QString("None,Plot - Start position,Plot - X Y Z,QuickStart - Static,QuickStart - Mobile").split(",")); 352 352 int ij = _pppOriginComboBox->findText(settings.value("pppOrigin").toString()); 353 353 if (ij != -1) { … … 468 468 _pppNMEALineEdit->setWhatsThis(tr("<p>Specify the full path to a file where PPP results are saved as NMEA messages.</p>")); 469 469 _pppNMEAPortLineEdit->setWhatsThis(tr("<p>Specify an IP port number to output PPP results as NMEA messages through an IP port.</p>")); 470 _pppOriginComboBox->setWhatsThis(tr("<p>Select an origin for North/East/Up time series plotsin the 'PPP Plot'tab. This option makesonly sense for a stationary receiver.</p>"));470 _pppOriginComboBox->setWhatsThis(tr("<p>Select an origin for a North/East/Up displacements time series plot in the 'PPP Plot' section or for operating BNC in QuickStart mode starting at a known position.</p><p> - 'Plot - Start position' will let BNC plot a time series referred to the very first determined set of coordinate components.</p><p> - 'Plot - X Y Z' will let BNC plot a time series referred to entered coordinate components XYZ.</p><p> - 'QuickStart - Static' allows to run BNC in QuickStart mode with observations from a stationary receiver located at position XYZ</p><p> - 'QuickStart - Mobile' also allows to run BNC in QuickStart mode. However, the receiver may leave its initial XYZ start position after staying there for two minutes.</p><p>Note that displacements time series plots make only sense for a stationary receiver.</p>")); 471 471 _pppSigCLineEdit->setWhatsThis(tr("<p>Enter a sigma for your code observations in meters.</p><p>5.0 (default) is likely to be an appropriate choice.</p>")); 472 472 _pppAverageLineEdit->setWhatsThis(tr("<p>Enter the length of a sliding time window in minutes. BNC will continuously output moving average positions computed from those individual positions obtained most recently throughout this period.</p><p>An empty option field (default) means that you don't wont BNC to output moving average positions.</p>")); 473 _pppRefCrdXLineEdit->setWhatsThis(tr("<p> You may enter reference coordinatesof the receiver positionif known. The time series plots shown in the 'PPP Plot' tab will then be referred to these values.</p>"));474 _pppRefCrdYLineEdit->setWhatsThis(tr("<p> You may enter reference coordinatesof the receiver positionif known. The time series plots shown in the 'PPP Plot' tab will then be referred to these values.</p>"));475 _pppRefCrdZLineEdit->setWhatsThis(tr("<p> You may enter reference coordinatesof the receiver positionif known. The time series plots shown in the 'PPP Plot' tab will then be referred to these values.</p>"));476 _bncFigurePPP->setWhatsThis(tr("PPP time series of North (red), East (green) and Up (blue) coordinate components are shown in the 'PPP Plot' tab when a 'Plot origin' PPP option is applied. Values are either referred to reference coordinates (if specified) or referred to the first estimated set of coordinate compoments. The sliding PPP time series window covers the period of the latest 5 minutes."));473 _pppRefCrdXLineEdit->setWhatsThis(tr("<p>Enter reference coordinate X of the receiver's position.</p>")); 474 _pppRefCrdYLineEdit->setWhatsThis(tr("<p>Enter reference coordinate Y of the receiver's position.</p>")); 475 _pppRefCrdZLineEdit->setWhatsThis(tr("<p>Enter reference coordinate Z of the receiver's position.</p>")); 476 _bncFigurePPP->setWhatsThis(tr("PPP time series of North (red), East (green) and Up (blue) coordinate components are shown in the 'PPP Plot' tab when a appropriate option is applied via 'Origin'. Values are either referred to reference coordinates (if specified) or referred to the first estimated set of coordinate compoments. The sliding PPP time series window covers the period of the latest 5 minutes.")); 477 477 478 478 // Canvas with Editable Fields … … 714 714 _pppRefCrdZLineEdit->setMaximumWidth(14*ww); 715 715 _pppNMEAPortLineEdit->setMaximumWidth(14*ww); 716 _pppOriginComboBox->setMaximumWidth(14*ww);717 716 _pppSPPComboBox->setMaximumWidth(8*ww); 718 717 pppLayout->setColumnMinimumWidth(0,14*ww); … … 734 733 pppLayout->addWidget(_pppAverageLineEdit, 2, 4); 735 734 pppLayout->addWidget(new QLabel("Averaging"), 2, 4, Qt::AlignRight); 736 pppLayout->addWidget(new QLabel(" Plot origin"), 3, 0);735 pppLayout->addWidget(new QLabel("Origin"), 3, 0); 737 736 pppLayout->addWidget(_pppOriginComboBox, 3, 1, 1, 2); 738 pppLayout->addWidget(new QLabel(" 737 pppLayout->addWidget(new QLabel(" X"), 3, 3, Qt::AlignRight); 739 738 pppLayout->addWidget(_pppRefCrdXLineEdit, 3, 4); 740 pppLayout->addWidget(new QLabel(" 739 pppLayout->addWidget(new QLabel(" Y"), 3, 5, Qt::AlignRight); 741 740 pppLayout->addWidget(_pppRefCrdYLineEdit, 3, 6); 742 pppLayout->addWidget(new QLabel(" 741 pppLayout->addWidget(new QLabel(" Z"), 3, 7, Qt::AlignRight); 743 742 pppLayout->addWidget(_pppRefCrdZLineEdit, 3, 8); 744 743 pppLayout->addWidget(new QLabel("NMEA File (full path)"), 4, 0); … … 1300 1299 connect(thread, SIGNAL(newLatency(QByteArray, double)), 1301 1300 _bncFigureLate, SLOT(slotNewLatency(QByteArray, double))); 1302 if (settings.value("pppOrigin").toString() != "No plot") { 1301 if (settings.value("pppOrigin").toString() != "None" && 1302 settings.value("pppOrigin").toString() != "QuickStart - Mobile") { 1303 1303 disconnect(thread, 1304 1304 SIGNAL(newPosition(bncTime, double, double, double)), … … 1629 1629 _pppGLONASSCheckBox->setEnabled(true); 1630 1630 _pppOriginComboBox->setEnabled(true); 1631 if (_pppOriginComboBox->currentText() == "X Y Z" ) { 1631 if (_pppOriginComboBox->currentText() == "Plot - X Y Z" || 1632 _pppOriginComboBox->currentText() == "QuickStart - Static" || 1633 _pppOriginComboBox->currentText() == "QuickStart - Mobile" ) { 1632 1634 _pppRefCrdXLineEdit->setPalette(palette_white); 1633 1635 _pppRefCrdXLineEdit->setEnabled(true); … … 1645 1647 _pppRefCrdZLineEdit->setEnabled(false); 1646 1648 } 1647 if (_pppOriginComboBox->currentText() != "No plot" ) { 1649 if (_pppOriginComboBox->currentText() != "None" && 1650 _pppOriginComboBox->currentText() != "Plot - Start position" && 1651 _pppOriginComboBox->currentText() != "QuickStart - Mobile" ) { 1648 1652 _pppAverageLineEdit->setPalette(palette_white); 1649 1653 _pppAverageLineEdit->setEnabled(true);
Note:
See TracChangeset
for help on using the changeset viewer.