From 2da936c7ddc4584509c08e39011c3f5532cb115c Mon Sep 17 00:00:00 2001
From: Arthur Coolen <coolen@astron.nl>
Date: Tue, 10 Mar 2009 11:21:18 +0000
Subject: [PATCH] Bug1164: SOrt order was wrong for stationlist due to numbers
 1-9 10- iso 01,02 etc

---
 MAC/Navigator2/panels/Hardware/Station.pnl | 29 +++++++++++++++++++---
 1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/MAC/Navigator2/panels/Hardware/Station.pnl b/MAC/Navigator2/panels/Hardware/Station.pnl
index 5d11d02f7a1..3436fd82bed 100644
--- a/MAC/Navigator2/panels/Hardware/Station.pnl
+++ b/MAC/Navigator2/panels/Hardware/Station.pnl
@@ -85,9 +85,28 @@ void updatePositions(string dp1, float cOL,
     return;
   }
   
-  dyn_string OL=dpNames(sysName+txt+\"*.deltaX;\",\"Antenna\");
-  dyn_string NB=dpNames(sysName+txt+\"*.deltaY;\",\"Antenna\");
-  dyn_string H= dpNames(sysName+txt+\"*.deltaH;\",\"Antenna\");
+  dyn_string unsortOL=dpNames(sysName+txt+\"*.deltaX;\",\"Antenna\");
+  dyn_string unsortNB=dpNames(sysName+txt+\"*.deltaY;\",\"Antenna\");
+  dyn_string unsortH= dpNames(sysName+txt+\"*.deltaH;\",\"Antenna\");
+  dyn_string OL=unsortOL;
+  dyn_string NB=unsortNB;
+  dyn_string H=unsortH;
+  
+  // since we have Antenna's with 1 digit and 2 digits we need to resort the dynstrings here, otherwise we get them as:
+  // HBA0 HBA1 HBA10 HBA11-HBA19 HBA 2 HBA 20 etc
+  //
+  
+  for (int i=1; i<= dynlen(unsortOL);i++) {
+    string ant = strsplit(unsortOL[i],\":.\" )[2];
+    int idx = substr(ant,3);
+    OL[idx+1]=unsortOL[i];
+    NB[idx+1]=unsortNB[i];
+    H[idx+1]=unsortH[i];         
+  }
+  
+  LOG_DEBUG(\"OL: \"+ OL);
+  LOG_DEBUG(\"NB: \"+ NB);
+  LOG_DEBUG(\"H: \"+ H);
            
   // found match, save found strings and redraw screen
   
@@ -98,6 +117,10 @@ void updatePositions(string dp1, float cOL,
   dpGet(NB,antennaOffsetsNB);
   dpGet(H,antennaOffsetsH);
   
+  LOG_DEBUG(\"offsetsOL: \" + antennaOffsetsOL);
+  LOG_DEBUG(\"offsetsNB: \" + antennaOffsetsNB);
+  LOG_DEBUG(\"offsetsH : \" + antennaOffsetsH);
+  
   redraw(txt);
 }
 " 0
-- 
GitLab