diff --git a/MAC/Navigator2/panels/Processes/BGPProc.pnl b/MAC/Navigator2/panels/Processes/BGPProc.pnl
index bf34fd29e5ba35d8c380e1c82ba651f73e58524f..939879503b7ae0bb476ed68e1682c086700659a9 100644
--- a/MAC/Navigator2/panels/Processes/BGPProc.pnl
+++ b/MAC/Navigator2/panels/Processes/BGPProc.pnl
@@ -6,7 +6,7 @@ PANEL,-1 -1 1020 698 N "_3DFace" 0
 {
   // Initialise the Panel
   navPanel_initPanel(\"fw_viewBox\");
-  
+  strModuleName   = myModuleName();
   baseDP         = g_currentDatapoint; 
   reload();
   
@@ -15,9 +15,23 @@ PANEL,-1 -1 1020 698 N "_3DFace" 0
 
 void prepareProcesses() {
   dyn_string result;
+  // here we need to add the Inputbuffer, adders and the writers that are part of this screen
+  // so we need to determine all the databasePoints for these processes
+
+  inputBufferDP = sysName+\"LOFAR_PermSW_PSIONode\"+navFunct_formatInt(ioNode,99)+\"_InputBuffer\";
+  adderDP       = sysName+\"LOFAR_ObsSW_OSIONode\"+navFunct_formatInt(ioNode,99)+\"_Adder\";
+  dynAppend(result,\",InputBuffer,\"+inputBufferDP);    
+  dynAppend(g_processesList,inputBufferDP);
+  for (int i = 1; i <= dynlen(adders); i++ ) {
+    dynAppend(result,\",Adder\"+adders[i]+\",\"+adderDP+adders[i]);    
+    dynAppend(g_processesList,adderDP+adders[i]);
+  }
+  for (int i = 1; i <= dynlen(writers); i++ ) {
+    writerDP=sysName+\"LOFAR_ObsSW_OSLocusNode\"+navFunct_formatInt(locusNodes[i],999)+\"_Writer\"+navFunct_formatInt(writers[i],99);
+    dynAppend(result,\",Writer\"+navFunct_formatInt(writers[i],99)+\",\"+writerDP);    
+    dynAppend(g_processesList,writerDP);
+  }
   
-  dynAppend(result,\",BGPProc,\"+baseDP);    
-  dynAppend(g_processesList,baseDP);
   
   
   // write result to the db so various panels can reset themselves  
@@ -72,8 +86,8 @@ void reload() {
 
     ioNode = (int)var;
                    
-  // get the name of the selcted station  
-  string nodeDP = navFunct_IONode2DPName(ioNode);
+  // get the name of the selected station  
+  nodeDP = navFunct_IONode2DPName(ioNode);
   string dp = nodeDP+\".usedStation\"; 
   if (dpExists(dp) ){
     dpGet(dp,station);
@@ -82,7 +96,7 @@ void reload() {
     return;
   }
   
- 
+   stationDP=station+\":\";
   
    
  
@@ -153,6 +167,8 @@ void reload() {
   string nodeName = navFunct_DPName2CEPName(nodeDP);
 
   LOG_DEBUG(\"BGPProc.pnl:main|nodeName working: \"+nodeName);
+
+  redraw();
   
   // if no match found we have an error
   if (nodeName == \"\" || station == \"\") {
@@ -163,22 +179,22 @@ void reload() {
     // Since this is the Survey mode we only need one InputBuffer and one Adder
     dpSet(DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.objectName\",\"CircularBuffer\",
           DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.paramList\",makeDynString(ioNode));    
-    dpSet(DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.objectName\",\"Adder\",
-          DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.paramList\",makeDynString(adders));    
     
   
     LOG_DEBUG(\"BGPProc.pnl:main|Station: \"+station);
   
-    setValue(\"ionode\",\"text\",\"IONode: \"+nodeName);
+    setValue(\"ionodeLabel\",\"text\",\"IONode: \"+nodeName);
     setValue(\"stationLabel\",\"text\",station);
+    setValue(\"ionodeLabel\",\"toolTipText\",nodeDP);
+    setValue(\"stationLabel\",\"toolTipText\",stationDP);
+
   }
   // pass baseDP to selfstate Object to work with
   setValue(\"selfState.light\",\"toolTipText\",baseDP);
   
-  
 
   // start the logging process
-  navPanel_showLogging(baseDP);
+ // navPanel_showLogging(baseDP);
   
   // connect for selfUpdates
   showSelfState(baseDP);
@@ -209,6 +225,11 @@ string      BGLApplDP      = \"\";
 
 string station;
 int ioNode;
+string nodeDP=\"\";
+string inputBufferDP=\"\";
+string adderDP=\"\";
+string writerDP=\"\";
+string stationDP=\"\";
 
 dyn_string ioNodeList;
 dyn_string adderList;
@@ -223,8 +244,80 @@ dyn_string writers=\"\";
 dyn_string dataProducts=\"\";
 dyn_string dataProductTypes=\"\";
 
+dyn_string refNames;
+string strModuleName;
+bool   bDoubleClicked  = false;
+
+// routine for single mouse click
+void click(string dp) {
+  // set delay in case double click was meant
+  delay(0, 100); 
+  if (!bDoubleClicked) {
+    navPanel_setEvent(\"BGPProc.pnl\",\"EventClick\");
+  }
+}
 
+// routine for double mouse click
+void dblClick(string dp) {
+  // indicate this is a doubleClick
+  bDoubleClicked = true; 
+
+  if (dpExists(dp) ) {
+    LOG_DEBUG(\"BGPProc.pnl:DoubleClick|Setting currentDatapoint from : \"+g_currentDatapoint+\" to \"+dp);
+    g_currentDatapoint=dp;
+    navPanel_setEvent(\"BGPProc.pnl\",\"ChangePanel\");  
+  }
+  // set delay to avoid click event will be triggered
+  delay(0, 500);
+  bDoubleClicked = false;
+}
+
+// routine for right mouse click
+void rClick(string dp) {
+  navPanel_setEvent(\"BGPProc.pnl\",\"EventRightClick\");
+}
+void clearRefNames() {
+  // remove all symbols because new ones will be added
+  for (int i=1; i <= dynlen(refNames); i++) {
+    removeSymbol(strModuleName,\"\",refNames[i]);
+  }
+  dynClear(refNames);
+}
+
+
+void redraw() {
+   LOG_TRACE(\"BGPProc.pnl:redraw\");
+   string addPanelName = \"objects/Processes/adder.pnl\";
+   
+  // clear old refNames if available
+  if (dynlen(refNames) > 0) {
+    clearRefNames();
+  }
+  
+  //  now start adding adders to panel
+  int ref =   1;
+  for (int i = 1; i <= dynlen(adders); i++ ) {
+    LOG_TRACE(\"BGPProc.pnl:redraw|Adding adder: \" + adders[i]);
+    refNames[ref]=\"ant\"+(ref);
 
+    if (  addSymbol(  strModuleName,       // Stay in this modul
+                      \"\",                  // Name of this panel
+		                   addPanelName,        // Panel to add
+		                   refNames[ref],       // Ref of the addedPanel
+		      makeDynString( \"$adderNumber:\" + adders[i] ,     // Define all $values
+                        \"$nodeDP:\" + nodeDP,              //
+                        \"$writerNumber:\" + writers[i],    //
+		                     \"$locusNumber:\" + locusNodes[i]), // of particular addedpanel
+		                   -17,                 // Xpos of the AddedSymbol
+		                   350+((i-1)*30),      // Ypos of the AddedSymbol
+		                   0,                   // angle
+		                   1    ,1              // zoomX , zoomY
+                       ) < 0 ) {
+	            LOG_ERROR(\"BGPProc.pnl:redraw|Error Appending adder : \" + i + \" in this panel.\");
+            }
+    ref++;
+  }
+}
 " 0
  2
 "CBRef" "1"
@@ -235,6 +328,95 @@ DISPLAY_LAYER, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
 LAYER, 0 
 1
 LANG:1 6 Layer1
+6 273
+"ionode_highLight"
+""
+1 240 10 E E E 1 E 0 E N "_Transparent" E N "Lofar_highLight" E E
+ "main()
+{
+  rClick(nodeDP);
+}" 0
+ "main()
+{
+  dblClick(nodeDP);
+}" 0
+
+48 0 0 0 0 0
+E E E
+0
+1
+LANG:1 0 
+
+1
+"dashclr"N "_Transparent"
+"main()
+{
+  dpConnect( \"ionodeCallback\",true,DPNAME_NAVIGATOR + g_navigatorID +\".objectTrigger\" );
+}
+
+void ionodeCallback(string dp1, bool aTrig) {
+  
+  LOG_DEBUG(\"BGPProc.pnl:ionodeCallback|ObjectTrigger Callback on: \"+dp1+\" trigger: \"+aTrig);
+  LOG_DEBUG(\"BGPProc.pnl:ionodeCallback|Found highlight : \" + highlight + \" Looking for ionode: \"+nodeDP);
+  bool bHighlight=false;
+  if (dynContains(highlight,nodeDP)) {
+    bHighlight=true;
+  }
+  LOG_DEBUG(\"BGPProc.pnl:ionodeCallback|Highlight request: \"+bHighlight);
+  ionode_highLight.visible = bHighlight;
+  
+}
+
+" 0
+ "main()
+{
+  click(nodeDP);
+}" 0
+ 0 1 1 2 1 E 1 0 1 144 -228 1 E 30 230 251 264
+6 272
+"station_highLight"
+""
+1 240 10 E E E 1 E 0 E N "_Transparent" E N "Lofar_highLight" E E
+ "main()
+{
+  rClick(stationDP);
+}" 0
+ "main()
+{
+  dblClick(stationDP);
+}" 0
+
+47 0 0 0 0 0
+E E E
+0
+1
+LANG:1 0 
+
+1
+"dashclr"N "_Transparent"
+"main()
+{
+  dpConnect( \"stationCallback\",true,DPNAME_NAVIGATOR + g_navigatorID +\".objectTrigger\" );
+}
+
+void stationCallback(string dp1, bool aTrig) {
+  
+  LOG_DEBUG(\"BGPProc.pnl:stationCallback|ObjectTrigger Callback on: \"+dp1+\" trigger: \"+aTrig);
+  LOG_DEBUG(\"BGPProc.pnl:stationCallback|Found highlight : \" + highlight + \" Looking for station: \"+stationDP);
+  bool bHighlight=false;
+  if (dynContains(highlight,stationDP)) {
+    bHighlight=true;
+  }
+  LOG_DEBUG(\"BGPProc.pnl:stationCallback|Highlight request: \"+bHighlight);
+  station_highLight.visible = bHighlight; 
+}
+
+" 0
+ "main()
+{
+  click(stationDP);
+}" 0
+ 0 1 1 2 1 E U  1 E 0 132 64 166
 6 0
 "RECTANGLE1"
 ""
@@ -248,7 +430,7 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E 1 0 0.6097560975609756 90 -47.07317073170732 1 E 40 110 660 520
+E E 0 1 1 2 1 E 1 0 0.5609756097560976 90 -21.70731707317073 1 E 40 110 660 520
 6 1
 "RECTANGLE2"
 ""
@@ -283,10 +465,18 @@ LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0
 0 1
 LANG:1 12 ComputeNodes
 2 3
-"ionode"
+"ionodeLabel"
 ""
-1 309 2 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+1 180 10 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
+ "main()
+{
+  rClick(nodeDP);
+}" 0
+ "main()
+{
+  dblClick(nodeDP);
+}" 0
+
 6 0 0 0 0 0
 E E E
 0
@@ -295,8 +485,12 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 309 2 516 22
-0 2 2 "0s" 0 0 0 192 0 0  309 2 1
+E "main()
+{
+  click(nodeDP);
+}" 0
+ 0 1 1 2 1 E U  1 E 180 10 387 30
+0 2 2 "0s" 0 0 0 192 0 0  180 10 1
 1
 LANG:1 33 MS Shell Dlg,-1,16,5,75,0,0,0,0,0
 0 1
@@ -314,7 +508,7 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E 1 0 1 40 -150 2  1 0  "pictures/arrowRight.gif" 4294967295 E 30 240 104 314
+E E 0 1 1 2 1 E 1 0 1 42 -130 2  1 0  "pictures/arrowRight.gif" 4294967295 E 30 240 104 314
 6 5
 "RECTANGLE19"
 ""
@@ -556,95 +750,89 @@ LANG:1 0
 1
 "dashclr"N "_Transparent"
 E E 0 1 1 2 1 E 1 0 1 200 -58 1 E 740 230 789 279
-1 237 1 "" 226
-0
-1 238 1 "" 229
+1 237 1 "" 285
 0
-1 239 1 "" 234
+1 238 1 "" 226
 0
-1 240 1 "" 235
+1 239 1 "" 229
 0
-1 241 1 "" 236
+1 240 1 "" 234
 0
-1 242 1 "" 237
+1 241 1 "" 235
 0
-1 243 1 "" 238
+1 242 1 "" 236
 0
-1 244 1 "" 239
+1 243 1 "" 237
 0
-1 245 1 "" 240
+1 244 1 "" 238
 0
-1 246 1 "" 241
+1 245 1 "" 239
 0
-1 247 1 "" 242
+1 246 1 "" 240
 0
-1 248 1 "" 243
+1 247 1 "" 241
 0
-1 249 1 "" 244
+1 248 1 "" 242
 0
-1 250 1 "" 245
+1 249 1 "" 243
 0
-1 251 1 "" 246
+1 250 1 "" 244
 0
-1 252 1 "" 247
+1 251 1 "" 245
 0
-1 253 1 "51" 1
+1 252 1 "" 246
 0
-1 254 1 "" 249
+1 253 1 "" 247
 0
-1 255 1 "" 250
+1 254 1 "51" 1
 0
-1 256 1 "" 251
+1 255 1 "" 249
 0
-1 257 1 "" 252
+1 256 1 "" 250
 0
-1 258 1 "" 253
+1 257 1 "" 251
 0
-1 259 1 "" 254
+1 258 1 "" 252
 0
-1 260 1 "" 255
+1 259 1 "" 253
 0
-1 261 1 "" 261
+1 260 1 "" 254
 0
-1 262 1 "" 262
+1 261 1 "" 255
 0
-1 263 1 "" 263
+1 262 1 "" 261
 0
-1 264 1 "" 264
+1 263 1 "" 262
 0
-1 265 1 "" 265
+1 264 1 "" 263
 0
-1 266 1 "" 279
+1 265 1 "" 264
 0
-1 267 1 "" 280
+1 266 1 "" 265
 0
-1 268 1 "" 281
+1 267 1 "" 279
 0
-1 269 1 "" 282
+1 268 1 "" 280
 0
-1 270 1 "" 283
+1 269 1 "" 281
 0
-1 271 2 "" 227
+1 270 1 "" 282
 0
-1 272 2 "51" 1
-0
-1 273 2 "" 266
-0
-1 274 2 "" 269
-0
-1 275 2 "" 273
-0
-1 276 2 "" 274
-0
-1 277 2 "" 275
-0
-1 278 2 "" 276
+1 271 1 "" 283
 0
 2 66
 "stationLabel"
 ""
-1 0 120 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+1 5 140 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
+ "main()
+{
+  rClick(stationDP);
+}" 0
+ "main()
+{
+  dblClick(stationDP);
+}" 0
+
 26 0 0 0 0 0
 E E E
 0
@@ -653,8 +841,12 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 0 120 48 140
-0 2 2 "0s" 0 0 0 192 0 0  0 120 1
+E "main()
+{
+  click(stationDP);
+}" 0
+ 0 1 1 2 1 E U  1 E 5 140 53 160
+0 2 2 "0s" 0 0 0 192 0 0  5 140 1
 1
 LANG:1 33 MS Shell Dlg,-1,16,5,75,0,0,0,0,0
 0 1
@@ -686,7 +878,7 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  0 E 105 350.0000000000001 117 363.0000000000001
+E E 0 1 1 2 1 E U  0 E 105 350.0000000000001 117 363
 0 2 2 "0s" 0 0 0 192 0 0  105 350.0000000000001 1
 1
 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0
@@ -705,7 +897,7 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  0 E 120 350.0000000000001 144 363.0000000000001
+E E 0 1 1 2 1 E U  0 E 120 350.0000000000001 144 363
 0 2 2 "0s" 0 0 0 192 0 0  120 350.0000000000001 1
 1
 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0
@@ -724,7 +916,7 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  0 E 150 350.0000000000001 177 363.0000000000001
+E E 0 1 1 2 1 E U  0 E 150 350.0000000000001 177 363
 0 2 2 "0s" 0 0 0 192 0 0  150 350.0000000000001 1
 1
 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0
@@ -743,7 +935,7 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  0 E 200 350.0000000000001 248 363.0000000000001
+E E 0 1 1 2 1 E U  0 E 200 350.0000000000001 248 363
 0 2 2 "0s" 0 0 0 192 0 0  200 350.0000000000001 1
 1
 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0
@@ -762,7 +954,7 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  0 E 308 350.0000000000001 336 363.0000000000001
+E E 0 1 1 2 1 E U  0 E 308 350.0000000000001 336 363
 0 2 2 "0s" 0 0 0 192 0 0  308 350.0000000000001 1
 1
 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0
@@ -781,7 +973,7 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  0 E 430 350.0000000000001 509 363.0000000000001
+E E 0 1 1 2 1 E U  0 E 430 350.0000000000001 509 363
 0 2 2 "0s" 0 0 0 192 0 0  430 350.0000000000001 1
 1
 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0
@@ -800,156 +992,12 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  0 E 560 350.0000000000001 627 363.0000000000001
+E E 0 1 1 2 1 E U  0 E 560 350.0000000000001 627 363
 0 2 2 "0s" 0 0 0 192 0 0  560 350.0000000000001 1
 1
 LANG:1 34 MS Shell Dlg 2,8,-1,5,75,0,0,0,0,0
 0 1
 LANG:1 10 logMessage
-1 279 3 "" 227
-0
-1 280 3 "51" 1
-0
-1 281 3 "" 266
-0
-1 282 3 "" 269
-0
-1 283 3 "" 273
-0
-1 284 3 "" 274
-0
-1 285 3 "" 275
-0
-1 286 3 "" 276
-0
-1 287 4 "" 227
-0
-1 288 4 "51" 1
-0
-1 289 4 "" 266
-0
-1 290 4 "" 269
-0
-1 291 4 "" 273
-0
-1 292 4 "" 274
-0
-1 293 4 "" 275
-0
-1 294 4 "" 276
-0
-1 295 5 "" 227
-0
-1 296 5 "51" 1
-0
-1 297 5 "" 266
-0
-1 298 5 "" 269
-0
-1 299 5 "" 273
-0
-1 300 5 "" 274
-0
-1 301 5 "" 275
-0
-1 302 5 "" 276
-0
-1 303 6 "" 227
-0
-1 304 6 "51" 1
-0
-1 305 6 "" 266
-0
-1 306 6 "" 269
-0
-1 307 6 "" 273
-0
-1 308 6 "" 274
-0
-1 309 6 "" 275
-0
-1 310 6 "" 276
-0
-1 311 7 "" 227
-0
-1 312 7 "51" 1
-0
-1 313 7 "" 266
-0
-1 314 7 "" 269
-0
-1 315 7 "" 273
-0
-1 316 7 "" 274
-0
-1 317 7 "" 275
-0
-1 318 7 "" 276
-0
-1 319 8 "" 227
-0
-1 320 8 "51" 1
-0
-1 321 8 "" 266
-0
-1 322 8 "" 269
-0
-1 323 8 "" 273
-0
-1 324 8 "" 274
-0
-1 325 8 "" 275
-0
-1 326 8 "" 276
-0
-1 327 9 "" 227
-0
-1 328 9 "51" 1
-0
-1 329 9 "" 266
-0
-1 330 9 "" 269
-0
-1 331 9 "" 273
-0
-1 332 9 "" 274
-0
-1 333 9 "" 275
-0
-1 334 9 "" 276
-0
-1 335 10 "" 227
-0
-1 336 10 "51" 1
-0
-1 337 10 "" 266
-0
-1 338 10 "" 269
-0
-1 339 10 "" 273
-0
-1 340 10 "" 274
-0
-1 341 10 "" 275
-0
-1 342 10 "" 276
-0
-1 343 11 "" 227
-0
-1 344 11 "51" 1
-0
-1 345 11 "" 266
-0
-1 346 11 "" 269
-0
-1 347 11 "" 273
-0
-1 348 11 "" 274
-0
-1 349 11 "" 275
-0
-1 350 11 "" 276
-0
 2 235
 "PRIMITIVE_TEXT26"
 ""
@@ -999,50 +1047,10 @@ LAYER, 7
 LANG:1 6 Layer8
 0
 3 0 "selfState" -1
-"objects\\lofar_self_state.pnl" 678 158 T 0 1 0 1 -547 -136
+"objects\\lofar_self_state.pnl" 678 158 T 0 1 0 1 -540 -150
 0
 3 1 "PANEL_REF53" -1
-"objects\\Processes\\circularBuffer.pnl" 90 160 T 1 1 0 1 40 -137
+"objects\\Processes\\circularBuffer.pnl" 90 160 T 1 1 0 1 40 -118
 1
 "$objectNumber""0"
-3 2 "PANEL_REF54" -1
-"objects\\Processes\\adder.pnl" 90 360 T 2 1 0 1 -107 -9.999999999999943
-1
-"$objectNumber""0"
-3 3 "PANEL_REF3" -1
-"objects\\Processes\\adder.pnl" -17 310 T 37 1 0 1 0 70.00000000000006
-1
-"$objectNumber""1"
-3 4 "PANEL_REF4" -1
-"objects\\Processes\\adder.pnl" -17 340 T 38 1 0 1 0 70.00000000000006
-1
-"$objectNumber""2"
-3 5 "PANEL_REF5" -1
-"objects\\Processes\\adder.pnl" -17 370 T 39 1 0 1 0 70.00000000000006
-1
-"$objectNumber""3"
-3 6 "PANEL_REF6" -1
-"objects\\Processes\\adder.pnl" -17 400 T 40 1 0 1 0 70.00000000000006
-1
-"$objectNumber""4"
-3 7 "PANEL_REF7" -1
-"objects\\Processes\\adder.pnl" -17 430 T 41 1 0 1 0 70.00000000000006
-1
-"$objectNumber""5"
-3 8 "PANEL_REF8" -1
-"objects\\Processes\\adder.pnl" -17 460 T 42 1 0 1 0 70.00000000000006
-1
-"$objectNumber""6"
-3 9 "PANEL_REF9" -1
-"objects\\Processes\\adder.pnl" -17 490 T 43 1 0 1 0 70.00000000000006
-1
-"$objectNumber""7"
-3 10 "PANEL_REF10" -1
-"objects\\Processes\\adder.pnl" -17 520 T 44 1 0 1 0 70.00000000000006
-1
-"$objectNumber""8"
-3 11 "PANEL_REF11" -1
-"objects\\Processes\\adder.pnl" -17 550 T 45 1 0 1 0 70.00000000000006
-1
-"$objectNumber""9"
 0
diff --git a/MAC/Navigator2/panels/objects/Processes/ObsSW_CEP.pnl b/MAC/Navigator2/panels/objects/Processes/ObsSW_CEP.pnl
index f5ffbaa7b818bc95c8fdb613766ad015fc769604..a8f3ffc2d910f284745c19efe7e206144e217dd6 100644
--- a/MAC/Navigator2/panels/objects/Processes/ObsSW_CEP.pnl
+++ b/MAC/Navigator2/panels/objects/Processes/ObsSW_CEP.pnl
@@ -285,6 +285,16 @@ void stationCallback(string dp1, bool aTrig) {
     }  
   }
 }   " 0
+1 172 16 "" 4
+0
+1 173 16 "" 3
+0
+1 174 16 "0" 1
+0
+1 176 16 "" 6
+0
+1 175 16 "" 2
+0
 0
 LAYER, 1 
 1
@@ -319,4 +329,9 @@ LANG:1 0
 2
 "$databaselevel""ccu"
 "$name""OnlineControl_BGPAppl"
-0
\ No newline at end of file
+3 16 "PANEL_REF16" -1
+"objects\\Processes\\interactive_controller_small.pnl" 170 90 T 44 U 
+2
+"$databaselevel""ccu"
+"$name""PythonControl"
+0
diff --git a/MAC/Navigator2/panels/objects/Processes/ObsSW_Main.pnl b/MAC/Navigator2/panels/objects/Processes/ObsSW_Main.pnl
index f8294afb316ab4af044f257b07253d0b60af00e7..4eb6e092a5a3e3c877a319f87ff7d70f791760c6 100644
--- a/MAC/Navigator2/panels/objects/Processes/ObsSW_Main.pnl
+++ b/MAC/Navigator2/panels/objects/Processes/ObsSW_Main.pnl
@@ -112,14 +112,14 @@ E E E
 LANG:1 19 Active Observations
 
 8
-"resizeMode" "enum 0"
-"hScrollBarMode" "enum 0"
-"vScrollBarMode" "enum 0"
-"frameShape" "enum 6"
-"defaultRenameAction" "enum 0"
-"backgroundOrigin" "enum 0"
-"selectionMode" "enum 0"
 "frameShadow" "enum 48"
+"selectionMode" "enum 0"
+"backgroundOrigin" "enum 0"
+"defaultRenameAction" "enum 0"
+"frameShape" "enum 6"
+"vScrollBarMode" "enum 0"
+"hScrollBarMode" "enum 0"
+"resizeMode" "enum 0"
 1
 LANG:1 37 MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0
 0  820 20 989 375
@@ -287,35 +287,35 @@ LANG:1 6 logMsg
 0
 1 154 15 "" 2
 0
-1 161 17 "" 4
+1 156 17 "" 4
 0
-1 162 17 "" 3
+1 157 17 "" 3
 0
-1 163 17 "0" 1
+1 158 17 "0" 1
 0
-1 165 17 "" 6
+1 160 17 "" 6
 0
-1 164 17 "" 2
+1 159 17 "" 2
 0
-1 166 18 "" 4
+1 161 18 "" 4
 0
-1 167 18 "" 3
+1 162 18 "" 3
 0
-1 168 18 "0" 1
+1 163 18 "0" 1
 0
-1 170 18 "" 6
+1 165 18 "" 6
 0
-1 169 18 "" 2
+1 164 18 "" 2
 0
-1 171 19 "" 4
+1 166 19 "" 4
 0
-1 172 19 "" 3
+1 167 19 "" 3
 0
-1 173 19 "0" 1
+1 168 19 "0" 1
 0
-1 175 19 "" 6
+1 170 19 "" 6
 0
-1 174 19 "" 2
+1 169 19 "" 2
 0
 2 79
 "mainDBName"
@@ -421,6 +421,16 @@ LANG:1 0
 1
 "dashclr"N "_Transparent"
 E E 0 2 1 2 1 E  290 96 810 96
+1 171 20 "" 4
+0
+1 172 20 "" 3
+0
+1 173 20 "0" 1
+0
+1 174 20 "" 6
+0
+1 175 20 "" 2
+0
 0
 LAYER, 1 
 1
@@ -475,4 +485,9 @@ LANG:1 0
 2
 "$databaselevel""station"
 "$name""TBBControl"
-0
\ No newline at end of file
+3 20 "PANEL_REF20" -1
+"objects\\Processes\\interactive_controller_small.pnl" 170 90 T 43 1 0 1 3 62
+2
+"$databaselevel""ccu"
+"$name""PythonControl"
+0
diff --git a/MAC/Navigator2/panels/objects/Processes/adder.pnl b/MAC/Navigator2/panels/objects/Processes/adder.pnl
index 05a317d272252f8b9978af9187ede12945da2cff..859a42e3519e4a2240e110d3eb81a49213d31e1b 100644
--- a/MAC/Navigator2/panels/objects/Processes/adder.pnl
+++ b/MAC/Navigator2/panels/objects/Processes/adder.pnl
@@ -1,74 +1,72 @@
 V 11
 1
 LANG:1 5 Adder
-PANEL,-1 -1 1270 70 N "_3DFace" 1
-"$objectNumber"
+PANEL,-1 -1 1047 192 N "_3DFace" 4
+"$adderNumber"
+"$locusNumber"
+"$nodeDP"
+"$writerNumber"
 "main()
 {
-  baseDP         = g_currentDatapoint;
-  database       = dpSubStr(baseDP,DPSUB_SYS);
+  baseDP         = $nodeDP;
+ 
+   
+  // determine adderNumber
+  adderNr=$adderNumber;
+  locusNr=$locusNumber;
+  writerNr=$writerNumber;
+    
+
+  // baseDp is something like CCU001:LOFAR_PIC_BGP_Midplane[x]_IONode[xx]\"]
+  // for the Adders it needs to point to: LOFAR_ObsSW_OSIOnode[xx]_Adder[xx]
   
-  panelName=\"Adder\";
-
-  // check if the required datapoint for this view are enabled and accessible
-  if (dpExists(DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.objectName\") ){
-    if (dpConnect(\"updateTrigger\", DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.objectName:_online.._value\",
-                                   DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.paramList:_online.._value\",
-                                   DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.objectName:_online.._invalid\") == -1) {
-      LOG_ERROR(\"adder.pnl:main|Couldn't connect to: \"+DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.objectName \"+ getLastError() );
-    }
+  int pos = strpos(baseDP,\"IONode\");
+  if (pos < 0) {
+    LOG_ERROR(\"adder.pnl:main|Couldn't find IONode in baseDP: \"+baseDP);
+    return;
   } else {
-    LOG_ERROR(\"adder.pnl:main|Couldn't find DP to connect to: \"+DPNAME_NAVIGATOR + g_navigatorID + \".updateTrigger.objectName\" );
-  } 
-}
-
-void updateTrigger( string dp1, string objectName,
-                    string dp2, dyn_string paramList,
-                    string dp3, bool invalid) {
-  if (objectName == panelName) {
-    LOG_TRACE(\"adder.pnl:updateTrigger|objectName: \"+objectName+
-              \" panelName: \"+ panelName);  
-   
-    // determine adderNumber
-    objectNr=$objectNumber;
-    setValue(\"addernr_text\",\"text\",objectNr);
-    int bufNr = -1;
-    if (dynlen(paramList) <= 1+objectNr && paramList[1+objectNr] < 127) {
-      bufNr=paramList[1+objectNr];;
-      adderDP=database+\"Adder\"+bufNr;
+    string ioNr=substr(baseDP,pos+6,2);
+    baseDP=sysName+\"LOFAR_ObsSW_OSIONode\"+ioNr;
+  }
+        
+  
+  adderDP  = baseDP+\"_Adder\"+adderNr;
+  writerDP = sysName+\"LOFAR_ObwSW_OSLocusNode\"+navFunct_formatInt(locusNr,999)+\"_Writer\"+navFunct_formatInt(writerNr,99);
+  setValue(\"addernr_text\",\"text\",adderNr);
+  setValue(\"writerNr_text\",\"text\",\"Writer\"+navFunct_formatInt(writerNr,99));
+  setValue(\"writerNr_text\",\"toolTipText\",writerDP);
     
   
-      // connect to the adder values
-      // check if the requiered datapoint for this view are enabled and accessible
-      if (dpExists(adderDP + \".dropping\")) {
-        if (dpConnect(\"updateAdder\", adderDP + \".dropping\",
-                                     adderDP + \".nrBlocksDropped\",
-                                     adderDP + \".process.error\",
-                                     adderDP + \".process.currentAction\",
-                                     adderDP + \".process.logMsg\",
-                                     adderDP + \".locusNode\",
-                                     adderDP + \".dropping:_online.._invalid\") == -1) {
-          LOG_ERROR(\"adder.pnl:main|Couldn't connect to: \"+adderDP+\" \"+getLastError());
-        }
-      } else {
-        LOG_ERROR(\"adder.pnl:main|Couldn't find DP to connect to: \"+adderDP + \".dropping\");
-        setValue(\"dropping\", \"foreCol\", \"Lofar_dpdoesnotexist\");
-        setValue(\"nrBlocksDropped\", \"backCol\", \"Lofar_dpdoesnotexist\");
-      }    
+  LOG_DEBUG(\"adder.pnl:main|adderDP: \"+adderDP);
+  LOG_DEBUG(\"adder.pnl:main|adderDP: \"+adderDP);
+  
+  // connect to the adder values
+  // check if the requiered datapoint for this view are enabled and accessible
+  if (dpExists(adderDP + \".dropping\")) {
+    if (dpConnect(\"updateAdder\", adderDP + \".dropping\",
+                                 adderDP + \".dropped\",
+                                 adderDP + \".process.error\",
+                                 adderDP + \".process.currentAction\",
+                                 adderDP + \".process.logMsg\",
+                                 adderDP + \".locusNode\",
+                                 adderDP + \".dropping:_online.._invalid\") == -1) {
+      LOG_ERROR(\"adder.pnl:main|Couldn't connect to: \"+adderDP+\" \"+getLastError());
+    }
+  } else {
+    LOG_ERROR(\"adder.pnl:main|Couldn't find DP to connect to: \"+adderDP + \".dropping\");
+    setValue(\"dropping\", \"foreCol\", \"Lofar_dpdoesnotexist\");
+    setValue(\"nrBlocksDropped\", \"backCol\", \"Lofar_dpdoesnotexist\");
+  }    
     
-      // pass baseDP to selfstate Object to work with
-      setValue(\"selfState.light\",\"toolTipText\",adderDP);
-      // connect for selfUpdates
-      showSelfState(adderDP);
+  // pass baseDP to selfstate Object to work with
+  setValue(\"selfState.light\",\"toolTipText\",adderDP);
+  // connect for selfUpdates
+  showSelfState(adderDP);
 
-    } else {
-      LOG_ERROR(\"adder.pnl:main|adderList out of range or invalid adderDP\");
-    }
-  }
 }
 
 updateAdder(string dp1, bool dropping, 
-             string dp2, int nrBlocksDropped,
+            string dp2, int nrBlocksDropped,
             string dp3, string error,
             string dp4, string currentAction,
             string dp5, string logMsg,
@@ -81,11 +79,13 @@ updateAdder(string dp1, bool dropping,
     // check if error == \"Not running\";
     // if true then the name of the process is red, otherwise black
     if (error == \"Not running\") {
-      name.foreCol() = \"Lofar_broken\";
+      addernr_text.foreCol() = \"Lofar_broken\";
     } else {
-      name.foreCol() = \"_3DText\";
+      addernr_text.foreCol() = \"_3DText\";
     }
-    
+    setValue(\"dropping\", \"backCol\", \"_Window\");
+    setValue(\"nrBlocksDropped\", \"backCol\", \"_Window\");
+
     myTable.appendLine(\"error\",error,\"currentAction\",currentAction,\"logMsg\",navFunct_getLogColor(logMsg,navFunct_getLogLevel(logMsg)));  
     if (dropping) {
       setValue(\"dropping\", \"backCol\", \"red\");
@@ -99,19 +99,72 @@ updateAdder(string dp1, bool dropping,
   }
 }
 " 0
- E E E E 1 0 0 0  0 0
+ E "main()
+{
+  click(adderDP);
+}" 0
+ "main(int row, string column)
+{
+  rClick(adderDP);
+}" 0
+ "main(int row, string column)
+{
+  dblClick(adderDP);
+}" 0
+ 1 0 0 0  0 0
 ""0  1
 E "#uses \"navPanel.ctl\"
 
-string ksp=\"\";
 string adder=\"\";
-string database=\"\";
-string panelName=\"\";
 
 string baseDP = \"\";
 string adderDP=\"\";
-int objectNr=0;
-" 0
+string writerDP=\"\";
+
+
+int adderNr=-1;
+int locusNr=-1;
+int writerNr=-1;
+
+bool   bDoubleClicked  = false;
+
+// routine for single mouse click
+void click(string dp) {
+  // set delay in case double click was meant
+  delay(0, 100); 
+  if (!bDoubleClicked) {
+    string event=\"\";
+    if (dp == writerDP) {
+      event = \"Writer\"+navFunct_formatInt(writerNr,99);
+    } else if (dp == adderDP) {
+      event = \"Adder\"+adderNr;
+    } else {
+      event = \"adder.pnl\";
+    }
+    navPanel_setEvent(event,\"EventClick\");
+  }
+}
+
+// routine for double mouse click
+void dblClick(string dp) {
+  // indicate this is a doubleClick
+  bDoubleClicked = true; 
+
+  if (dpExists(dp) ) {
+    LOG_DEBUG(\"adder.pnl:DoubleClick|Setting currentDatapoint from : \"+g_currentDatapoint+\" to \"+dp);
+    g_currentDatapoint=dp;
+    navPanel_setEvent(\"adder.pnl\",\"ChangePanel\");  
+  }
+  // set delay to avoid click event will be triggered
+  delay(0, 500);
+  bDoubleClicked = false;
+}
+
+// routine for right mouse click
+void rClick(string dp) {
+  navPanel_setEvent(\"adder.pnl\",\"EventRightClick\");
+}
+                " 0
  2
 "CBRef" "1"
 "EClose" E
@@ -120,11 +173,109 @@ DISPLAY_LAYER, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
 LAYER, 0 
 1
 LANG:1 6 Layer1
+6 280
+"writer_highLight"
+""
+1 240 10 E E E 1 E 0 E N "_Transparent" E N "Lofar_highLight" E E
+ "main()
+{
+  rClick(writerDP);
+}" 0
+ "main()
+{
+  dblClick(writerDP);
+}" 0
+
+208 0 0 0 0 0
+E E E
+0
+1
+LANG:1 0 
+
+1
+"dashclr"N "_Transparent"
+"main()
+{
+  dpConnect( \"writerCallback\",true,DPNAME_NAVIGATOR + g_navigatorID +\".objectTrigger\" );
+}
+
+void writerCallback(string dp1, bool aTrig) {
+  
+  LOG_DEBUG(\"adder.pnl:writerCallback|ObjectTrigger Callback on: \"+dp1+\" trigger: \"+aTrig);
+  LOG_DEBUG(\"adder.pnl:writerCallback|Found highlight : \" + highlight + \" Looking for writer\"+navFunct_formatInt(writerNr,99));
+  bool bHighlight=false;
+  if (dynContains(highlight,\"Writer\"+navFunct_formatInt(writerNr,99))) {
+    bHighlight=true;
+  }
+  LOG_DEBUG(\"adder.pnl:writerCallback|Highlight request: \"+bHighlight);
+  writer_highLight.visible = bHighlight;
+  
+}
+
+" 0
+ "main()
+{
+  click(writerDP);
+}" 0
+ 0 1 1 2 1 E 1 0 1 -29 -79 1 E 40 100 119 130
+6 278
+"adder_highLight"
+""
+1 240 10 E E E 1 E 0 E N "_Transparent" E N "Lofar_highLight" E E
+ "main(int row, string column)
+{
+  rClick(adderDP);
+}" 0
+ "main(int row, string column)
+{
+  dblClick(adderDP);
+}" 0
+
+207 0 0 0 0 0
+E E E
+0
+1
+LANG:1 0 
+
+1
+"dashclr"N "_Transparent"
+"main()
+{
+  dpConnect( \"adderCallback\",true,DPNAME_NAVIGATOR + g_navigatorID +\".objectTrigger\" );
+}
+
+void adderCallback(string dp1, bool aTrig) {
+  
+  LOG_DEBUG(\"adder.pnl:adderCallback|ObjectTrigger Callback on: \"+dp1+\" trigger: \"+aTrig);
+  LOG_DEBUG(\"adder.pnl:adderCallback|Found highlight : \" + highlight + \" Looking for Adder\"+adderNr);
+  bool bHighlight=false;
+  if (dynContains(highlight,\"Adder\"+adderNr)) {
+    bHighlight=true;
+  }
+  LOG_DEBUG(\"adder.pnl:adderCallback|Highlight request: \"+bHighlight);
+  adder_highLight.visible = bHighlight;
+  
+}
+
+" 0
+ "main()
+{
+  click(adderDP);
+}" 0
+ 0 1 1 2 1 E 1 0 1 -55 -55 1 E 190 70 1070 107
 6 227
 "RECTANGLE16"
 ""
 1 120 180 E E E 1 E 1 E N {0,0,0} E N {255,255,255} E E
- E E
+ "main(int row, string column)
+{
+  rClick(adderDP);
+}" 0
+ "main(int row, string column)
+{
+  dblClick(adderDP);
+}" 0
+
 134 0 0 0 0 0
 E E E
 0
@@ -133,14 +284,26 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E 0.9775280898876404 0 1 3.146067415730345 0 1 E 140 20 1030 47
-1 271 51 "" 1
+E "main()
+{
+  click(adderDP);
+}" 0
+ 0 1 1 2 1 E 0.9775280898876404 0 1 3.146067415730345 0 1 E 140 20 1030 47
+1 281 51 "" 1
 0
 7 266
 "dropping"
 ""
 1 270 50 E E E 1 E 1 E N {0,0,0} E N "green" E E
- E E
+ "main(int row, string column)
+{
+  rClick(adderDP);
+}" 0
+ "main(int row, string column)
+{
+  dblClick(adderDP);
+}" 0
+
 194 0 0 0 0 0
 E E E
 0
@@ -149,12 +312,24 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E 1 0 1 60 5 1 E 120 30 7 7
+E "main()
+{
+  click(adderDP);
+}" 0
+ 0 1 1 2 1 E 1 0 1 60 5 1 E 120 30 7 7
 14 269
 "nrBlocksDropped"
 ""
 1 200 24 E E E 1 E 1 E N "_3DText" E N "_Window" E E
- E E
+ "main(int row, string column)
+{
+  rClick(adderDP);
+}" 0
+ "main(int row, string column)
+{
+  dblClick(adderDP);
+}" 0
+
 199 0 0 0 0 0
 E E E
 0
@@ -165,7 +340,11 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  198 22 312 46
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click(adderDP);
+}" 0
+ E E
 2 273
 "addernr_text"
 ""
@@ -200,10 +379,18 @@ LANG:1 0
 "dashclr"N "_Transparent"
 E E 0 1 1 2 1 E 0.4054054054054054 0 0.4054054054054056 77.83783783783784 -77.29729729729735 2  1 0  "pictures/arrowLeft.gif" 4294967295 E 30 240 104 314
 2 275
-"PRIMITIVE_TEXT18"
+"writerNr_text"
 ""
-1 19 28 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+1 20 30 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
+ "main()
+{
+  rClick(writerDP);
+}" 0
+ "main()
+{
+  dblClick(writerDP);
+}" 0
+
 205 0 0 0 0 0
 E E E
 0
@@ -212,17 +399,29 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  0 E 19 28 84 44
-0 2 2 "0s" 0 0 0 192 0 0  19 28 1
+E "main()
+{
+  click(writerDP);
+}" 0
+ 0 1 1 2 1 E U  0 E 20 30 60 46
+0 2 2 "0s" 0 0 0 192 0 0  20 30 1
 1
 LANG:1 35 MS Shell Dlg 2,10,-1,5,75,0,0,0,0,0
 0 1
-LANG:1 9 locusnode
+LANG:1 6 writer
 25 276
 "myTable"
 ""
 1 249.8823099816354 -3 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main(int row, string column)
+{
+  rClick(adderDP);
+}" 0
+ "main(int row, string column)
+{
+  dblClick(adderDP);
+}" 0
+
 206 0 0 0 0 0
 E E E
 0
@@ -233,7 +432,11 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  318 22 1002 46
-EE 0 0 1 3 1 "error" 13 1 0 "s" 1
+E"main(int row, string column, string value)
+{
+  click(adderDP);
+}" 0
+ 0 0 1 3 1 "error" 13 1 0 "s" 1
 LANG:1 5 error
 E
 1
diff --git a/MAC/Navigator2/panels/objects/Processes/circularBuffer.pnl b/MAC/Navigator2/panels/objects/Processes/circularBuffer.pnl
index e1e527a872a3eb4518e26a64529097e920875c5b..fd28936f00a7770c67e9b982d561bc3692192c65 100644
--- a/MAC/Navigator2/panels/objects/Processes/circularBuffer.pnl
+++ b/MAC/Navigator2/panels/objects/Processes/circularBuffer.pnl
@@ -1,7 +1,7 @@
 V 11
 1
 LANG:1 14 CircularBuffer
-PANEL,-1 -1 640 211 N "_3DFace" 1
+PANEL,-1 -1 694 280 N "_3DFace" 1
 "$objectNumber"
 "main()
 {
@@ -50,10 +50,8 @@ void updateTrigger( string dp1, string objectName,
       }
       
       LOG_DEBUG(\"circularBuffer.pnl:updateTrigger| found bufNr: \" + bufNr);
-      string ext = \"\";
-      if (bufNr < 10) ext=\"0\";
-      setValue(\"InputBuffer_text\",\"text\",\"PSIONode\"+ext+bufNr);
-      inputBufferDP=database+\"LOFAR_PermSW_PSIONode\"+ext+bufNr+\"_InputBuffer\";
+      setValue(\"InputBuffer_text\",\"text\",\"PSIONode\"+navFunct_formatInt(bufNr,99));
+      inputBufferDP=database+\"LOFAR_PermSW_PSIONode\"+navFunct_formatInt(bufNr,99)+\"_InputBuffer\";
     
       // connect to the inputBuffer values  
       // check if the requiered datapoint for this view are enabled and accessible
@@ -158,7 +156,19 @@ updateBuffer(string dp1, string stationName,
   }
 }
 " 0
- E E E E 1 0 0 0  0 0
+ E "main()
+{
+  click();
+}" 0
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+ 1 0 0 0  0 0
 ""0  1
 E "#uses \"navPanel.ctl\"
 
@@ -169,7 +179,38 @@ string panelName=\"\";
 
 string baseDP = \"\";
 string inputBufferDP=\"\";
-int objectNr=0;" 0
+int objectNr=0;
+
+bool   bDoubleClicked  = false;
+
+// routine for single mouse click
+void click() {
+  // set delay in case double click was meant
+  delay(0, 100); 
+  if (!bDoubleClicked) {
+    navPanel_setEvent(\"InputBuffer\",\"EventClick\");
+  }
+}
+
+// routine for double mouse click
+void dblClick() {
+  // indicate this is a doubleClick
+  bDoubleClicked = true; 
+
+  if (dpExists(inputBufferDP) ) {
+    LOG_DEBUG(\"CircularBuffer.pnl:DoubleClick|Setting currentDatapoint from : \"+g_currentDatapoint+\" to \"+inputBufferDP);
+    g_currentDatapoint=inputBufferDP;
+    navPanel_setEvent(\"CircularBuffer.pnl\",\"ChangePanel\");  
+  }
+  // set delay to avoid click event will be triggered
+  delay(0, 500);
+  bDoubleClicked = false;
+}
+
+// routine for right mouse click
+void rClick() {
+  navPanel_setEvent(\"CircularBuffer.pnl\",\"EventRightClick\");
+}" 0
  2
 "CBRef" "1"
 "EClose" E
@@ -178,11 +219,64 @@ DISPLAY_LAYER, 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
 LAYER, 0 
 1
 LANG:1 6 Layer1
+6 285
+"InputBuffer_highLight"
+""
+1 240 10 E E E 1 E 0 E N "_Transparent" E N "Lofar_highLight" E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
+223 0 0 0 0 0
+E E E
+0
+1
+LANG:1 0 
+
+1
+"dashclr"N "_Transparent"
+"main()
+{
+  dpConnect( \"InputBufferCallback\",true,DPNAME_NAVIGATOR + g_navigatorID +\".objectTrigger\" );
+}
+
+void InputBufferCallback(string dp1, bool aTrig) {
+  
+  LOG_DEBUG(\"circularBuffer.pnl:InputBufferCallback|ObjectTrigger Callback on: \"+dp1+\" trigger: \"+aTrig);
+  LOG_DEBUG(\"circularBuffer.pnl:InputBufferCallback|Found highlight : \" + highlight + \" Looking for InputBuffer\");
+  bool bHighlight=false;
+  if (dynContains(highlight,\"InputBuffer\")) {
+    bHighlight=true;
+  }
+  LOG_DEBUG(\"circularBuffer.pnl:InputBufferCallback|Highlight request: \"+bHighlight);
+  InputBuffer_highLight.visible = bHighlight;
+  
+}
+
+" 0
+ "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E 1 0 1 -5 7 1 E 10 20 620 199
 6 226
 "RECTANGLE15"
 ""
 1 120 180 E E E 1 E 1 E N {0,0,0} E N {255,255,255} E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 132 0 0 0 0 0
 E E E
 0
@@ -191,12 +285,24 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E 1 0 1 -90 -148 1 E 100 180 700 349
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E 1 0 1 -90 -148 1 E 100 180 700 349
 6 229
 "RECTANGLE17"
 ""
 1 120 20 E E E 1 E 1 E N "_Transparent" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 136 0 0 0 0 0
 E E E
 0
@@ -205,12 +311,24 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E 1 0 1 196 45 2  1 0  "pictures/circleAni.gif" 4294967295 E 120 20 219 119
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E 1 0 1 196 45 2  1 0  "pictures/circleAni.gif" 4294967295 E 120 20 219 119
 14 234
 "In0"
 ""
 1 42 62 E E E 1 E 1 E N "_3DText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 144 0 0 0 0 0
 E E E
 0
@@ -221,12 +339,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  40 60 108 84
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 14 235
 "Bad0"
 ""
 1 114 62 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 146 0 0 0 0 0
 E E E
 0
@@ -237,12 +367,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  112 60 180 84
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 2 236
 "PRIMITIVE_TEXT3"
 ""
 1 22 67 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 147 0 0 0 0 0
 E E E
 0
@@ -251,7 +393,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 22 67 29 80
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 22 67 29 80
 0 2 2 "0s" 0 0 0 192 0 0  22 67 1
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0
@@ -261,7 +407,15 @@ LANG:1 1 0
 "In1"
 ""
 1 42 92 E E E 1 E 1 E N "_3DText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 149 0 0 0 0 0
 E E E
 0
@@ -272,12 +426,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  40 90 108 114
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 14 238
 "Bad1"
 ""
 1 114 92 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 151 0 0 0 0 0
 E E E
 0
@@ -288,12 +454,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  112 90 180 114
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 2 239
 "PRIMITIVE_TEXT4"
 ""
 1 22 97 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 153 0 0 0 0 0
 E E E
 0
@@ -302,7 +480,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 22 97 29 110
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 22 97 29 110
 0 2 2 "0s" 0 0 0 192 0 0  22 97 1
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0
@@ -312,7 +494,15 @@ LANG:1 1 1
 "In2"
 ""
 1 42 122 E E E 1 E 1 E N "_3DText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 155 0 0 0 0 0
 E E E
 0
@@ -323,12 +513,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  40 120 108 144
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 14 241
 "Bad2"
 ""
 1 114 122 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 157 0 0 0 0 0
 E E E
 0
@@ -339,12 +541,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  112 120 180 144
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 2 242
 "PRIMITIVE_TEXT5"
 ""
 1 22 127 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 159 0 0 0 0 0
 E E E
 0
@@ -353,7 +567,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 22 127 29 140
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 22 127 29 140
 0 2 2 "0s" 0 0 0 192 0 0  22 127 1
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0
@@ -363,7 +581,15 @@ LANG:1 1 2
 "In3"
 ""
 1 42 152 E E E 1 E 1 E N "_3DText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 161 0 0 0 0 0
 E E E
 0
@@ -374,12 +600,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  40 150 108 174
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 14 244
 "Bad3"
 ""
 1 116 152 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 163 0 0 0 0 0
 E E E
 0
@@ -390,12 +628,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  112 150 180 174
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 2 245
 "PRIMITIVE_TEXT6"
 ""
 1 22 157 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 165 0 0 0 0 0
 E E E
 0
@@ -404,7 +654,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 22 157 29 170
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 22 157 29 170
 0 2 2 "0s" 0 0 0 192 0 0  22 157 1
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0
@@ -413,8 +667,16 @@ LANG:1 1 3
 2 246
 "PRIMITIVE_TEXT7"
 ""
-1 42 47 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+1 41 50 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 166 0 0 0 0 0
 E E E
 0
@@ -423,8 +685,12 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 41 47 53 63
-0 2 2 "0s" 0 0 0 192 0 0  41 47 1
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 40 50 52 66
+0 2 2 "0s" 0 0 0 192 0 0  40 50 1
 1
 LANG:1 33 MS Shell Dlg,-1,13,5,75,0,0,0,0,0
 0 1
@@ -448,13 +714,21 @@ E E 0 1 1 2 1 E U  1 E 114 47 155 63
 LANG:1 33 MS Shell Dlg,-1,13,5,75,0,0,0,0,0
 0 1
 LANG:1 4 %Bad
-1 284 51 "" 1
+1 286 51 "" 1
 0
 14 249
 "Late"
 ""
 1 510 82 E E E 1 E 1 E N "_3DText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 171 0 0 0 0 0
 E E E
 0
@@ -465,12 +739,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  508 80 574 104
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 2 250
 "PRIMITIVE_TEXT9"
 ""
 1 446 85 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 172 0 0 0 0 0
 E E E
 0
@@ -479,7 +765,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 446 85 476 101
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 446 85 476 101
 0 2 2 "0s" 0 0 0 192 0 0  446 85 1
 1
 LANG:1 33 MS Shell Dlg,-1,13,5,75,0,0,0,0,0
@@ -489,7 +779,15 @@ LANG:1 4 Late
 "PRIMITIVE_TEXT10"
 ""
 1 577 84 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 174 0 0 0 0 0
 E E E
 0
@@ -498,7 +796,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 577 84 597 100
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 577 84 597 100
 0 2 2 "0s" 0 0 0 192 0 0  577 84 1
 1
 LANG:1 33 MS Shell Dlg,-1,13,5,75,0,0,0,0,0
@@ -508,7 +810,15 @@ LANG:1 2 ms
 "IOTime"
 ""
 1 510 122 E E E 1 E 1 E N "_3DText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 176 0 0 0 0 0
 E E E
 0
@@ -519,12 +829,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  508 120 574 144
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 2 253
 "PRIMITIVE_TEXT11"
 ""
 1 446 125 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 178 0 0 0 0 0
 E E E
 0
@@ -533,7 +855,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 446 125 496 141
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 446 125 496 141
 0 2 2 "0s" 0 0 0 192 0 0  446 125 1
 1
 LANG:1 33 MS Shell Dlg,-1,13,5,75,0,0,0,0,0
@@ -543,7 +869,15 @@ LANG:1 6 IOTime
 "PRIMITIVE_TEXT12"
 ""
 1 577 124 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 180 0 0 0 0 0
 E E E
 0
@@ -552,7 +886,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 577 124 597 140
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 577 124 597 140
 0 2 2 "0s" 0 0 0 192 0 0  577 124 1
 1
 LANG:1 33 MS Shell Dlg,-1,13,5,75,0,0,0,0,0
@@ -562,7 +900,15 @@ LANG:1 2 ms
 "InputBuffer_text"
 ""
 1 250 10 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 181 0 0 0 0 0
 E E E
 0
@@ -571,7 +917,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 250 10 323 26
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 250 10 323 26
 0 2 2 "0s" 0 0 0 192 0 0  250 10 1
 1
 LANG:1 33 MS Shell Dlg,-1,13,5,75,0,0,0,0,0
@@ -581,7 +931,15 @@ LANG:1 11 InputBuffer
 "LINE5"
 ""
 1 270 102 E E E 1 E 1 E N {0,0,0} E N {255,255,255} E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 188 0 0 0 0 0
 E E E
 0
@@ -590,12 +948,24 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 2 1 2 1 E  270 102 310 112
+E "main()
+{
+  click();
+}" 0
+ 0 2 1 2 1 E  270 102 310 112
 4 262
 "LINE6"
 ""
 1 270 72 E E E 1 E 1 E N {0,0,0} E N {255,255,255} E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 189 0 0 0 0 0
 E E E
 0
@@ -604,12 +974,24 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 2 1 2 1 E  270 72 310 102
+E "main()
+{
+  click();
+}" 0
+ 0 2 1 2 1 E  270 72 310 102
 4 263
 "LINE7"
 ""
 1 270 132 E E E 1 E 1 E N {0,0,0} E N {255,255,255} E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 190 0 0 0 0 0
 E E E
 0
@@ -618,12 +1000,24 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 2 1 2 1 E  270 132 310 122
+E "main()
+{
+  click();
+}" 0
+ 0 2 1 2 1 E  270 132 310 122
 4 264
 "LINE8"
 ""
 1 270 162 E E E 1 E 1 E N {0,0,0} E N {255,255,255} E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 191 0 0 0 0 0
 E E E
 0
@@ -632,12 +1026,24 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 2 1 2 1 E  270 162 310 132
+E "main()
+{
+  click();
+}" 0
+ 0 2 1 2 1 E  270 162 310 132
 6 265
 "RECTANGLE22"
 ""
 1 150 40 E E E 1 E 1 E N "_Transparent" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 193 0 0 0 0 0
 E E E
 0
@@ -646,12 +1052,24 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E 1 0 1 -35 49 2  1 0  "pictures/arrowRight.gif" 4294967295 E 450 50 474 74
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E 1 0 1 -35 49 2  1 0  "pictures/arrowRight.gif" 4294967295 E 450 50 474 74
 14 279
 "Rejected0"
 ""
 1 185 62 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 214 0 0 0 0 0
 E E E
 0
@@ -662,12 +1080,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  183 60 251 84
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 14 280
 "Rejected1"
 ""
 1 185 92 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 216 0 0 0 0 0
 E E E
 0
@@ -678,12 +1108,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  183 90 251 114
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 14 281
 "Rejected2"
 ""
 1 185 122 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 218 0 0 0 0 0
 E E E
 0
@@ -694,12 +1136,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  183 120 251 144
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 14 282
 "Rejected3"
 ""
 1 187 152 E E E 1 E 1 E N "_WindowText" E N "_Window" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 220 0 0 0 0 0
 E E E
 0
@@ -710,12 +1164,24 @@ LANG:1 0
 1
 LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
 0  183 150 251 174
-2 "0s" 0 0 0 0 0 -1  E E E
+2 "0s" 0 0 0 0 0 -1  "main()
+{
+  click();
+}" 0
+ E E
 2 283
 "PRIMITIVE_TEXT17"
 ""
 1 185 47 E E E 1 E 1 E N "_WindowText" E N "_Transparent" E E
- E E
+ "main()
+{
+  rClick();
+}" 0
+ "main()
+{
+  dblClick();
+}" 0
+
 222 0 0 0 0 0
 E E E
 0
@@ -724,7 +1190,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 185 47 243 63
+E "main()
+{
+  click();
+}" 0
+ 0 1 1 2 1 E U  1 E 185 47 243 63
 0 2 2 "0s" 0 0 0 192 0 0  185 47 1
 1
 LANG:1 33 MS Shell Dlg,-1,13,5,75,0,0,0,0,0
diff --git a/MAC/Navigator2/panels/objects/Processes/interactive_controller_small.pnl b/MAC/Navigator2/panels/objects/Processes/interactive_controller_small.pnl
index d73ef73ec08db1ef4719190ec6610326b672782e..22065ee08ea067d12f0d6a38ce68e75d65eef47a 100644
--- a/MAC/Navigator2/panels/objects/Processes/interactive_controller_small.pnl
+++ b/MAC/Navigator2/panels/objects/Processes/interactive_controller_small.pnl
@@ -1,4 +1,4 @@
-V 10
+V 11
 1
 LANG:1 0 
 PANEL,-1 -1 785 105 N "_3DFace" 2
@@ -27,7 +27,6 @@ void updateTrigger( string dp1, string objectName,
                     string dp2, dyn_string paramList,
                     string dp3, bool invalid) {
 
-  
   if (objectName == panelName) {
     LOG_TRACE(\"interactive_controller_small.pnl:main|updateTrigger: \"+$name+\" objectName: \"+objectName+
               \" panelName: \");
@@ -310,9 +309,8 @@ LANG:1 0
 
 0
 1
-LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg
-0 ""
- 118 4 644 46
+LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
+0  118 4 644 46
 EE 0 0 1 3 1 "error" 7 1 0 "s" 1
 LANG:1 5 error
 E
@@ -336,9 +334,8 @@ LANG:1 0
 LANG:1 2 #1
 10 150
 1
-LANG:1 98 -*-MS Shell Dlg-*-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,505,0,0,0,0,0,0,0,0,MS Shell Dlg
-0 ""
-0 0 0 1 7
+LANG:1 33 MS Shell Dlg,-1,11,5,50,0,0,0,0,0
+0 0 0 0 1 7
 1 0
 2 6
 "name"
@@ -353,12 +350,11 @@ LANG:1 0
 
 1
 "dashclr"N "_Transparent"
-E E 0 1 1 2 1 E U  1 E 10 10 40 24
+E E 0 1 1 2 1 E U  1 E 10 10 40 23
 0 2 2 "0s" 0 0 0 192 0 0  10 10 1
 1
-LANG:1 101 -*-MS Shell Dlg-bold-r-normal-*-11-*-100-100-*-*-iso8859-1|-11,0,0,0,758,0,0,0,0,0,0,0,0,MS Shell Dlg
-0 ""
-1
+LANG:1 33 MS Shell Dlg,-1,11,5,75,0,0,0,0,0
+0 1
 LANG:1 4 name
 0
 LAYER, 1 
@@ -389,7 +385,7 @@ LAYER, 7
 1
 LANG:1 0 
 0
-3 0 "selfState"
+3 0 "selfState" -1
 "objects\\lofar_self_state.pnl" 9.500000000000011 9.5 T 1 1 0 1 -0.499999999999992 10.5
 0
-0
\ No newline at end of file
+0
diff --git a/MAC/Navigator2/scripts/libs/CEP_Processes.ctl b/MAC/Navigator2/scripts/libs/CEP_Processes.ctl
index d31c48db4ed3f7dd04b2a9abc27f6c5223980df5..b2ae4877467cd88a67c33ebc2767e5d2a6d820c4 100644
--- a/MAC/Navigator2/scripts/libs/CEP_Processes.ctl
+++ b/MAC/Navigator2/scripts/libs/CEP_Processes.ctl
@@ -131,6 +131,8 @@ bool CEP_Processes_UpdateCEPControllers() {
     
     dpSet(DPNAME_NAVIGATOR + g_navigatorID + ".updateTrigger.objectName","OnlineControl_BGPApplPanel",
         DPNAME_NAVIGATOR + g_navigatorID + ".updateTrigger.paramList",makeDynString(CEP_obsBaseDP));
+    dpSet(DPNAME_NAVIGATOR + g_navigatorID + ".updateTrigger.objectName","PythonControl",
+        DPNAME_NAVIGATOR + g_navigatorID + ".updateTrigger.paramList",makeDynString(CEP_obsBaseDP));
   
   }
   
diff --git a/MAC/Navigator2/scripts/libs/MainCU_Processes.ctl b/MAC/Navigator2/scripts/libs/MainCU_Processes.ctl
index cc4e2594e430421d376b4015a4cd1a55d1ce64f4..7cf06f2c67d02a220111a0e6da4a4662a02c8ffd 100644
--- a/MAC/Navigator2/scripts/libs/MainCU_Processes.ctl
+++ b/MAC/Navigator2/scripts/libs/MainCU_Processes.ctl
@@ -132,6 +132,8 @@ void MainCU_Processes_UpdateMainControllers() {
     // also connect to CCU Ctrls
     dpSet(DPNAME_NAVIGATOR + g_navigatorID + ".updateTrigger.objectName","OnlineControl_BGPApplPanel",
           DPNAME_NAVIGATOR + g_navigatorID + ".updateTrigger.paramList",makeDynString(obsBaseDP));
+    dpSet(DPNAME_NAVIGATOR + g_navigatorID + ".updateTrigger.objectName","PythonControl",
+          DPNAME_NAVIGATOR + g_navigatorID + ".updateTrigger.paramList",makeDynString(obsBaseDP));
   }
 }
 
diff --git a/MAC/Navigator2/scripts/libs/navFunct.ctl b/MAC/Navigator2/scripts/libs/navFunct.ctl
index 26a72dc47408cc4226c3defa12f670900d7919df..1dff750a7f9c3c9c40877ceb311bb9838fe53241 100644
--- a/MAC/Navigator2/scripts/libs/navFunct.ctl
+++ b/MAC/Navigator2/scripts/libs/navFunct.ctl
@@ -80,6 +80,7 @@
 //navFunct_stationNameToIONode                : returns the IONode belonging to a station
 //navFunct_isBGPSwitch                        : returns the BGPSwitch setting (True = BGPRack1, False=BGPRack0)
 //navFunct_IONode2DPName                      : returns the DP name based on the ionode number.
+//navFunct_formatInt                          : returns a string with the int preceeded by zeros
 #uses "GCFLogging.ctl"
 #uses "GCFCommon.ctl"
 
@@ -1174,7 +1175,7 @@ void navFunct_fillObservationsList() {
     for (int i=1; i <= dynlen(g_processesList);i++) {
       // check if the dptype is of type (Stn)Observation
       string process = navFunct_getPathLessOne(g_processesList[i]);
-      if (dpTypeName(process) == "Observation" || dpTypeName(process) == "StnObservation") {
+      if (dpTypeName(process) == "Observation" || dpTypeName(process) == "StnObservation" || dpTypeName(process) == "CEPObservation") {
         // get the real observation name
         int iPos = dynContains(g_observations["DP"],dpSubStr(process,DPSUB_DP));
         if (iPos > 0) {
@@ -2076,4 +2077,32 @@ string navFunct_IONode2DPName(int ionode) {
   return dp;  
   
 }
+
+// ****************************************
+// Name: navFunct_formatInt
+// ****************************************
+// val = the value to be formatted
+// maxval = the maximum value to determine the format
+//  so a val of 1 will be formatted"
+//  maxval 9   -  1
+//  maxval 99  -  01
+//  maxval 999 -  001
+// Returns:
+//     the intval as string preceeded with zeros 
+// or "" if error
+// ****************************************
+string navFunct_formatInt(int val,int maxval) {
+  if (val > maxval) 
+    return "";
+
+  int nr = val;  
+  string ret="";
+  while (nr < maxval) {
+    if (nr*10 > maxval) break;
+    nr*=10;
+    ret+="0";
+  }
+  ret+=val;
+  return ret;
+}
     
diff --git a/MAC/Navigator2/scripts/readStationBGPconnections.ctl b/MAC/Navigator2/scripts/readStationBGPconnections.ctl
index e6e96dd6e57df4f99e2f15fd764f876dd3a8a33e..5fde0f41490bffdb3c4f99a79fcacd569f86c264 100644
--- a/MAC/Navigator2/scripts/readStationBGPconnections.ctl
+++ b/MAC/Navigator2/scripts/readStationBGPconnections.ctl
@@ -41,9 +41,9 @@ main()
   string strDataDir     = "";
   string strDataDir             = ""; 
   if (isdir("/opt/lofar/etc/") ) {
-    strDataDir = "/opt/lofar/etc/StaticMetaData/";
-  } else if ( isdir ("d:/data/TRUNK-CCU001/data/configs/") ) {
-    strDataDir = "d:/data/TRUNK-CCU001/data/configs/";
+    strDataDir = "/opt/lofar/etc/";
+  } else if ( isdir ("d:/data/TRUNK-CCU001/data/configs/") ) {
+    strDataDir = "d:/data/TRUNK-CCU001/data/configs/";
   } else {
     DebugN("Could not find datadir to work with, leaving and no antenne data read.");
     return;