Index: /trunk/FACT++/gui/FactGui.h
===================================================================
--- /trunk/FACT++/gui/FactGui.h	(revision 12105)
+++ /trunk/FACT++/gui/FactGui.h	(revision 12106)
@@ -439,4 +439,6 @@
         kLedRed,
         kLedGreen,
+        kLedGreenWarn,
+        kLedGreenCheck,
         kLedYellow,
         kLedOrange,
@@ -461,4 +463,12 @@
             break;
 
+        case kLedGreenWarn:
+            button->setIcon(QIcon(":/Resources/icons/green warn.png"));
+            break;
+
+        case kLedGreenCheck:
+            button->setIcon(QIcon(":/Resources/icons/green check.png"));
+            break;
+
         case kLedYellow:
             button->setIcon(QIcon(":/Resources/icons/yellow circle 1.png"));
@@ -1074,4 +1084,6 @@
         fFadRunNoNext->setValue(runs[1]);
         fFadRunNoCur->setEnabled(runs[0]>=0);
+        fMcpStopRun->setEnabled(runs[0]>=0);
+
     }
 
@@ -2620,4 +2632,30 @@
     {
         // FIXME: Prefix tooltip with time
+        if (server=="MCP")
+        {
+            // FIXME: Enable FTU page!!!
+            fStatusMCPLabel->setText(s.name.c_str());
+            fStatusMCPLabel->setToolTip(s.comment.c_str());
+
+            if (s.index<2) // No Dim connection
+                SetLedColor(fStatusMCPLed, kLedGray, time);
+            if (s.index==2) // Disconnected
+                SetLedColor(fStatusMCPLed, kLedRed, time);
+            if (s.index==3) // Connecting
+                SetLedColor(fStatusFTMLed, kLedOrange, time);
+            if (s.index==4) // Connected
+                SetLedColor(fStatusFTMLed, kLedYellow, time);
+            if (s.index==5) // Idle
+                SetLedColor(fStatusFTMLed, kLedGreen, time);
+
+            const bool configuring = s.index>=7 && s.index<=10;
+
+            if (configuring) // Idle
+                SetLedColor(fStatusFTMLed, kLedGreen, time);
+
+            fMcpStartRun->setEnabled(s.index==5);
+            fMcpReset->setEnabled(configuring);
+        }
+
         if (server=="FTM_CONTROL")
         {
@@ -2627,4 +2665,9 @@
 
             bool enable = false;
+            const bool configuring =
+                s.index==FTM::StateMachine::kConfiguring1 ||
+                s.index==FTM::StateMachine::kConfiguring2 ||
+                s.index==FTM::StateMachine::kConfigured;
+                
 
             if (s.index<FTM::StateMachine::kDisconnected) // No Dim connection
@@ -2634,9 +2677,10 @@
             if (s.index==FTM::StateMachine::kConnected    ||
                 s.index==FTM::StateMachine::kIdle         ||
-                s.index==FTM::StateMachine::kConfiguring1 ||
-                s.index==FTM::StateMachine::kConfiguring2 ||
-                s.index==FTM::StateMachine::kConfigured   ||
+                configuring                               ||
                 s.index==FTM::StateMachine::kTakingData) // Dim connection / FTM connected
                 SetLedColor(fStatusFTMLed, kLedGreen, time);
+
+            fFtmStartRun->setEnabled(!configuring);
+            fFtmStopRun->setEnabled(!configuring);
 
             if (s.index==FTM::StateMachine::kConnected ||
@@ -2699,4 +2743,9 @@
 
             fFadWidget->setEnabled(enable);
+
+            const bool configuring = s.index>=FAD::kConfiguring1;
+            fFadStart->setEnabled(!configuring);
+            fFadStop->setEnabled(!configuring);
+            fFadAbort->setEnabled(!configuring);
         }
 
@@ -2732,12 +2781,14 @@
             if (s.index==BIAS::kConnecting || s.index==BIAS::kInitializing) // Connecting / Initializing
                 SetLedColor(fStatusBiasLed, kLedOrange, time);
-            if (s.index==BIAS::kConnected) // Connected
-                SetLedColor(fStatusBiasLed, kLedYellow, time);
+            if (s.index==BIAS::kVoltageOff) // At reference
+                SetLedColor(fStatusBiasLed, kLedGreen, time);
+            if (s.index==BIAS::kNotReferenced) // At reference
+                SetLedColor(fStatusBiasLed, kLedGreenWarn, time);
             if (s.index==BIAS::kRamping) // Ramping
                 SetLedColor(fStatusBiasLed, kLedInProgress, time);
+            if (s.index==BIAS::kVoltageOn) // At reference
+                SetLedColor(fStatusBiasLed, kLedGreenCheck, time);
             if (s.index==BIAS::kOverCurrent) // Over current
                 SetLedColor(fStatusBiasLed, kLedWarnBorder, time);
-            if (s.index==BIAS::kAtReference) // At reference
-                SetLedColor(fStatusBiasLed, kLedGreen, time);
             if (s.index==BIAS::kExpertMode) // ExpertMode
                 SetLedColor(fStatusBiasLed, kLedWarnTriangleBorder, time);
