Index: trunk/BNC/src/PPP/pppwidgets.cpp
===================================================================
--- trunk/BNC/src/PPP/pppwidgets.cpp	(revision 5698)
+++ trunk/BNC/src/PPP/pppwidgets.cpp	(revision 5699)
@@ -50,33 +50,35 @@
 ////////////////////////////////////////////////////////////////////////////
 t_pppWidgets::t_pppWidgets() {
-  _dataSource   = new QComboBox();     _dataSource  -> setObjectName("PPP/dataSource");
-  _rinexObs     = new qtFileChooser(); _rinexObs    -> setObjectName("PPP/rinexObs");
-  _rinexNav     = new qtFileChooser(); _rinexNav    -> setObjectName("PPP/rinexNav");
-  _corrHostPort = new QLineEdit();     _corrHostPort-> setObjectName("PPP/corrHostPort"); 
-  _corrFile     = new qtFileChooser(); _corrFile    -> setObjectName("PPP/corrFile"); 
-  _crdFile      = new qtFileChooser(); _crdFile     -> setObjectName("PPP/crdFile");
-  _antexFile    = new qtFileChooser(); _antexFile   -> setObjectName("PPP/antexFile");
-  _logFile      = new QLineEdit();     _logFile     -> setObjectName("PPP/logFile");
-  _nmeaFile     = new QLineEdit();     _nmeaFile    -> setObjectName("PPP/nmeaFile");
-  _nmeaPort     = new QLineEdit();     _nmeaPort    -> setObjectName("PPP/nmeaPort");
-  _staTable     = new QTableWidget();  _staTable    -> setObjectName("PPP/staTable");
-  _lcGPS        = new QComboBox();     _lcGPS       -> setObjectName("PPP/lcGPS");
-  _lcGLONASS    = new QComboBox();     _lcGLONASS   -> setObjectName("PPP/lcGLONASS");
-  _lcGalileo    = new QComboBox();     _lcGalileo   -> setObjectName("PPP/lcGalileo");
-  _sigmaC1      = new QLineEdit();     _sigmaC1     -> setObjectName("PPP/sigmaC1");
-  _sigmaL1      = new QLineEdit();     _sigmaL1     -> setObjectName("PPP/sigmaL1");
-  _corrWaitTime = new QSpinBox();      _corrWaitTime-> setObjectName("PPP/corrWaitTime");
+
+  _dataSource   = new QComboBox();     _dataSource  ->setObjectName("PPP/dataSource");   _widgets << _dataSource;  
+  _rinexObs     = new qtFileChooser(); _rinexObs    ->setObjectName("PPP/rinexObs");     _widgets << _rinexObs;    
+  _rinexNav     = new qtFileChooser(); _rinexNav    ->setObjectName("PPP/rinexNav");     _widgets << _rinexNav;    
+  _corrHostPort = new QLineEdit();     _corrHostPort->setObjectName("PPP/corrHostPort"); _widgets << _corrHostPort;
+  _corrFile     = new qtFileChooser(); _corrFile    ->setObjectName("PPP/corrFile");     _widgets << _corrFile;    
+  _crdFile      = new qtFileChooser(); _crdFile     ->setObjectName("PPP/crdFile");      _widgets << _crdFile;     
+  _antexFile    = new qtFileChooser(); _antexFile   ->setObjectName("PPP/antexFile");    _widgets << _antexFile;   
+  _logFile      = new QLineEdit();     _logFile     ->setObjectName("PPP/logFile");      _widgets << _logFile;     
+  _nmeaFile     = new QLineEdit();     _nmeaFile    ->setObjectName("PPP/nmeaFile");     _widgets << _nmeaFile;    
+  _nmeaPort     = new QLineEdit();     _nmeaPort    ->setObjectName("PPP/nmeaPort");     _widgets << _nmeaPort;    
+  _staTable     = new QTableWidget();  _staTable    ->setObjectName("PPP/staTable");     _widgets << _staTable;    
+  _lcGPS        = new QComboBox();     _lcGPS       ->setObjectName("PPP/lcGPS");        _widgets << _lcGPS;       
+  _lcGLONASS    = new QComboBox();     _lcGLONASS   ->setObjectName("PPP/lcGLONASS");    _widgets << _lcGLONASS;   
+  _lcGalileo    = new QComboBox();     _lcGalileo   ->setObjectName("PPP/lcGalileo");    _widgets << _lcGalileo;   
+  _sigmaC1      = new QLineEdit();     _sigmaC1     ->setObjectName("PPP/sigmaC1");      _widgets << _sigmaC1;     
+  _sigmaL1      = new QLineEdit();     _sigmaL1     ->setObjectName("PPP/sigmaL1");      _widgets << _sigmaL1;     
+  _corrWaitTime = new QSpinBox();      _corrWaitTime->setObjectName("PPP/corrWaitTime"); _widgets << _corrWaitTime;
   
   _dataSource->setEditable(false);
-  _dataSource->addItems(QString("Real-Time Streams,RINEX Files").split(","));
+  _dataSource->addItems(QString("no,Real-Time Streams,RINEX Files").split(","));
+  connect(_dataSource, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(slotEnableWidgets()));
 
   _lcGPS->setEditable(false);
-  _lcGPS->addItems(QString("P3,L3,P3&L3").split(","));
+  _lcGPS->addItems(QString("no,P3,L3,P3&L3").split(","));
 
   _lcGLONASS->setEditable(false);
-  _lcGLONASS->addItems(QString("P3,L3,P3&L3").split(","));
+  _lcGLONASS->addItems(QString("no,P3,L3,P3&L3").split(","));
 
   _lcGalileo->setEditable(false);
-  _lcGalileo->addItems(QString("P3,L3,P3&L3").split(","));
+  _lcGalileo->addItems(QString("no,P3,L3,P3&L3").split(","));
 
   _corrWaitTime->setMinimum(0);
@@ -152,2 +154,20 @@
 
 }
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void t_pppWidgets::slotEnableWidgets() {
+
+  const static QPalette paletteWhite(QColor(255, 255, 255));
+  const static QPalette paletteGray(QColor(230, 230, 230));
+
+  bool allDisabled = _dataSource->currentText() == "no";
+  bool realTime    = _dataSource->currentText() == "Real-Time Streams";
+
+  QListIterator<QWidget*> it(_widgets);
+  while (it.hasNext()) {
+    it.next()->setEnabled(!allDisabled);
+  }
+
+  _dataSource->setEnabled(true);
+}
Index: trunk/BNC/src/PPP/pppwidgets.h
===================================================================
--- trunk/BNC/src/PPP/pppwidgets.h	(revision 5698)
+++ trunk/BNC/src/PPP/pppwidgets.h	(revision 5699)
@@ -30,5 +30,7 @@
 class qtFileChooser;
 
-class t_pppWidgets {
+class t_pppWidgets : public QObject {
+ Q_OBJECT
+
  public:
   t_pppWidgets();
@@ -53,6 +55,10 @@
   QSpinBox*      _corrWaitTime;
 
+ private slots:
+  void slotEnableWidgets();  
+
  private:
   void readOptions();
+  QList <QWidget*> _widgets;
 };
 
Index: trunk/BNC/src/bncwindow.cpp
===================================================================
--- trunk/BNC/src/bncwindow.cpp	(revision 5698)
+++ trunk/BNC/src/bncwindow.cpp	(revision 5699)
@@ -1116,5 +1116,5 @@
   QGridLayout* pppLayout1 = new QGridLayout();
   ir = 0;
-  pppLayout1->addWidget(new QLabel("<b>Precise Point Positioning</b>"), ir, 0, 1, 7, Qt::AlignLeft);
+  pppLayout1->addWidget(new QLabel("<b>Precise Point Positioning (Input and Output)</b>"), ir, 0, 1, 7, Qt::AlignLeft);
   ++ir;     
   pppLayout1->addWidget(new QLabel("Data Source"),        ir, 0, Qt::AlignLeft);
@@ -1150,5 +1150,5 @@
 
   QVBoxLayout* pppLayout2 = new QVBoxLayout();
-  pppLayout2->addWidget(new QLabel("<b>Precise Point Positioning</b>"));
+  pppLayout2->addWidget(new QLabel("<b>Precise Point Positioning (Processed Stations)</b>"));
   pppLayout2->addWidget(_pppWidgets._staTable, 99);
 
@@ -1157,5 +1157,5 @@
   QGridLayout* pppLayout3 = new QGridLayout();
   ir = 0;
-  pppLayout3->addWidget(new QLabel("<b>Precise Point Positioning</b>"), ir, 0, 1, 2, Qt::AlignLeft);
+  pppLayout3->addWidget(new QLabel("<b>Precise Point Positioning (Options)</b>"), ir, 0, 1, 2, Qt::AlignLeft);
   ++ir;     
   pppLayout3->addWidget(new QLabel("GPS LCs"),              ir, 0, Qt::AlignLeft);
