Checkboxy w NGCGUI
Zmiany robimy w pliku: usr/lib/tcltk/linuxcnc/ngcgui.tcl
Najpierw zmiana opcjonalna – wyłączenie numerków przed ptaszkami i przyciągnięcie ptaszków do lewej:
Szukamy (w okolicy linii 1574, dla wersji 2.7.x to będzie w okolicy linii 1610):
set l [label $fdata.[qid] -text [format %#2d $onum] -anchor e \ -takefocus 0 -relief ridge -width 2] pack $l -side left -fill x -expand 0
i wstawiamy w to w ifa – czyli zastępujemy tym:
if {[string first "<> " $::ngc($hdl,arg,comment,$num02)] == -1} { set l [label $fdata.[qid] -text [format %#2d $onum] -anchor e \ -takefocus 0 -relief ridge -width 2] pack $l -side left -fill x -expand 0 }
A teraz zmiana obowiązkowa – czyli podmiana pola tekstowego na ptaszka:
Wyszukujemy tego kawałka w okolicy linii 1588 (dla 2.7.x w okolicy 1624):
set e [entry $fdata.[qid] \ -width $ew \ -font $::ngc(any,font) \ -textvariable $tvar\ -validate all\ -validatecommand \ [list ::ngcgui::validateNumber $hdl $tvar %W %s %P]]
i też dodajemy ifa – ale z generowaniem ptaszka – czyli zamieniamy na cos takiego:
if {[string first "<> " $::ngc($hdl,arg,comment,$num02)] != -1} { set ::ngc($hdl,arg,comment,$num02) [string range $::ngc($hdl,arg,comment,$num02) 3 1000] set e [checkbutton $fdata.[qid] -anchor w -font $::ngc(any,font) \ -variable ::ngc($hdl,arg,value,$num)] } else { set e [entry $fdata.[qid] \ -width $ew \ -font $::ngc(any,font) \ -textvariable $tvar\ -validate all\ -validatecommand \ [list ::ngcgui::validateNumber $hdl $tvar %W %s %P]] }
I już.