Downloading File
Filename: Groups Control Dialog
menu channel,status { [Groups]: dialog $iif($dialog(groups), -v, -m) groups groups } dialog groups { title Groups Control size -1 -1 150 40 text "Groups", 3, 5 40 130 30, center list 1, 5 60 140 130, vsbar button "Expand", 2, 5 7 140 25 edit "", 4, 5 174 75 22, autohs center read button "On" 5, 85 172 30 25 button "Off" 6, 115 172 30 25 } on *:dialog:groups:*:*: { if ($devent == init) { dialog -s $dname 791 2 150 40 did -b $dname 5,6 grps } if ($devent == sclick) { if ($did == 1) { did -ra $dname 4 $did(1).seltext if ($group($did(1).seltext).status == on) { did -e $dname 6 | did -b $dname 5 } if ($group($did(1).seltext).status == off) { did -b $dname 6 | did -e $dname 5 } } if ($did == 2) { did -ra $dname 3 Groups ( $+ $did(1).lines $+ ) if ($dialog(groups).h == 72) { did -r $dname 1 | grps } $iif($dialog(groups).h == 72, dialog -s $dname 791 2 150 200, dialog -s $dname 791 2 150 40) $iif($dialog(groups).h != 72, did -ra $dname 2 Shrink, did -ra $dname 2 Expand) if ($dialog(groups).h != 72) { did -b $dname 5,6 | did -r $dname 4 | did -u $dname 1 } if ($dialog(group2)) { dialog -x group2 | unset %grp | $iif($exists(timers.txt), .remove timers.txt) } if ($did(2).text == Shrink) { tmrs } if ($did(2).text == Expand) { if ($dialog(group2)) { dialog -x group2 } | unset %grp | $iif($exists(timers.txt), .remove timers.txt) } } if ($did == 5) { .enable $did(1).seltext | did -b $dname 5 | did -e $dname 6 } if ($did == 6) { .disable $did(1).seltext | did -b $dname 6 | did -e $dname 5 } } } alias grps { var %t 1 while (%t <= $group(0)) { set %groups $sorttok($addtok(%groups,$group(%t),32),32,a) inc %t } didtok groups 1 32 %groups unset %groups } dialog group2 { title Groups Control 2 size -1 -1 200 240 list 1, 5 25 190 90, check list 2, 5 130 190 90, check text "Variables", 3, 5 5 190 15, center text "Timers", 4, 5 113 190 15, center button "Del Vars", 5, 5 217 85 20 button "Del Timers", 6, 110 217 85 20 } on *:dialog:group2:*:*: { if ($devent == init) { did -b $dname 5,6 } if ($devent == close) { unset %grp | $iif($exists(timers.txt), .remove timers.txt) } if ($devent == sclick) { if ($did == 1) { if ($did(1).seltext) { did -e $dname 5 } if ($did(1).csel = 0) { did -b $dname 5 | did -uk $dname 1 | unset %grp } if ($did(1).sel >= 1) { if ($did(group2,1,$did(group2,1).sel).cstate == 1) { set %grp $addtok(%grp,$did(1).seltext,32) } if ($did(group2,1,$did(group2,1).sel).cstate == 0) { set %grp $remtok(%grp,$did(1).seltext,32) } } } if ($did == 2) { if ($did(2).seltext) { did -e $dname 6 } if ($did(2).csel = 0) { did -b $dname 6 | did -uk $dname 2 | .remove timers.txt } if ($did(2).sel >= 1) { if ($did(group2,2,$did(group2,2).sel).cstate == 1) { $iif($did(2).seltext !isin $read(timers.txt), write timers.txt $did(2).seltext) } if ($did(group2,2,$did(group2,2).sel).cstate == 0) { write -ds $+ $did(2).seltext timers.txt } } } if ($did == 5) { if (%grp != $null) { tokenize 32 %grp unset $1- unset %grp dialog -x group2 tmrs } if (%grp == $null) { did -b $dname 5 } } if ($did == 6) { var %t = 1 while (%t <= $read(timers.txt)) { .timer $+ $read(timers.txt,%t) off $iif(%t = $lines(timers.txt), goto next, inc %t ) } :next .remove timers.txt dialog -x group2 tmrs } } } alias tmrs { dialog $iif($dialog(group2), -v, -m) group2 group2 did -r group2 1,2 var %i 1 while (%i <= $var(%*,0)) { did -i group2 1 %i $var(%*,%i) inc %i } var %t 1 while (%t <= $timer(0)) { did -i group2 2 %t $timer(%t) inc %t } }