Thanks to the help of LocutusofBorg i managed to devise a simple way to turn many id's on and off i guess efficient for now.
The following bit of code i used to set 'ranges' of id's i wanted to set all at once.
alias diag_range_set {
var %i $gettok($2,1,45)
var %tmp %i
var %i = %i + 1
while (%i <= $gettok($2,2,45)) {
var %tmp %tmp $+ , $+ %i
inc %i
}
set %range [ $+ [ $1 ] ] %tmp
}
This left me with somehting like this in variables:
var %range1 = 10
var %range2 = 20,21,22,23,24,25,26,27,28,29
var %range3 = 30
..
var %range10 = 100
var %range11 = 110
var %range12 = 120,121
From that on a click of such event i used the following code:
var %i = 1
while (%i <= %rang.top) {
did -h $dname [ %range [ $+ [ %i ] ] ]
inc %i
}
var %i $did($dname,2).sel
did -v k.so [ %range [ $+ [ %i ] ] ]
%rang.top would be set to whatever the highest number of groups of ranges of id's there are
Post and let me know what you think of my outcome.
Cheers Col