GIF89a;
Mass Deface { tixScrolledGrid:Button-1 [tixGetMegaWidget %W] %x %y } tixBind TixScrolledGrid { tixScrolledGrid:Shift-Button-1 %W %x %y } tixBind TixScrolledGrid { tixScrolledGrid:Control-Button-1 %W %x %y } tixBind TixScrolledGrid { tixScrolledGrid:ButtonRelease-1 %W %x %y } tixBind TixScrolledGrid { tixScrolledGrid:Double-1 %W %x %y } tixBind TixScrolledGrid { set tkPriv(x) %x set tkPriv(y) %y set tkPriv(X) %X set tkPriv(Y) %Y tixScrolledGrid:B1-Motion %W %x %y } tixBind TixScrolledGrid { set tkPriv(x) %x set tkPriv(y) %y set tkPriv(X) %X set tkPriv(Y) %Y tixScrolledGrid:Control-B1-Motion %W %x %y } tixBind TixScrolledGrid { set tkPriv(x) %x set tkPriv(y) %y set tkPriv(X) %X set tkPriv(Y) %Y tixScrolledGrid:B1-Leave %W } tixBind TixScrolledGrid { tixScrolledGrid:B1-Enter %W %x %y } tixBind TixScrolledGrid { set tkPriv(x) %x set tkPriv(y) %y set tkPriv(X) %X set tkPriv(Y) %Y tixScrolledGrid:Control-B1-Leave %W } tixBind TixScrolledGrid { tixScrolledGrid:Control-B1-Enter %W %x %y } # Keyboard bindings # tixBind TixScrolledGrid { tixScrolledGrid:DirKey %W up } tixBind TixScrolledGrid { tixScrolledGrid:DirKey %W down } tixBind TixScrolledGrid { tixScrolledGrid:DirKey %W left } tixBind TixScrolledGrid { tixScrolledGrid:DirKey %W right } tixBind TixScrolledGrid { %W yview scroll -1 pages } tixBind TixScrolledGrid { %W yview scroll 1 pages } tixBind TixScrolledGrid { tixScrolledGrid:Return %W } tixBind TixScrolledGrid { tixScrolledGrid:Space %W } } #---------------------------------------------------------------------- # # # Mouse bindings # # #---------------------------------------------------------------------- proc tixScrolledGrid:Button-1 {w x y} { if {[$w cget -state] == "disabled"} { return } if {[$w cget -takefocus]} { focus $w } case [tixScrolled:GetState $w] { {0} { tixScrolledGrid:GoState s1 $w $x $y } {b0} { tixScrolledGrid:GoState b1 $w $x $y } {m0} { tixScrolledGrid:GoState m1 $w $x $y } {e0} { tixScrolledGrid:GoState e1 $w $x $y } } } #---------------------------------------------------------------------- # # option configs #---------------------------------------------------------------------- #---------------------------------------------------------------------- # # Widget commands #---------------------------------------------------------------------- #---------------------------------------------------------------------- # # Private Methods #---------------------------------------------------------------------- #---------------------------------------------------------------------- # Virtual Methods #---------------------------------------------------------------------- proc tixScrolledGrid:FormatCmd {w area x1 y1 x2 y2} { # do nothing } #---------------------------------------------------------------------- # virtual functions to query the client window's scroll requirement #---------------------------------------------------------------------- proc tixScrolledGrid:GeometryInfo {w mW mH} { upvar #0 $w data if {$mW < 1} { set mW 1 } if {$mH < 1} { set mH 1 } return [$data(w:grid) geometryinfo $mW $mH] }