Sha256: f172ff0cabced183b681febb923edc4a4fe439e44dc3362d965902e2b837f8b9
Contents?: true
Size: 1.14 KB
Versions: 6
Compression:
Stored size: 1.14 KB
Contents
# scale.tcl - Copyright (C) 2004 Pat Thoyts <patthoyts@users.sourceforge.net> # # Bindings for the TScale widget # # scale.tcl,v 1.11 2006/11/05 18:40:48 jenglish Exp namespace eval ttk::scale { variable State array set State { dragging 0 } } bind TScale <ButtonPress-1> { ttk::scale::Press %W %x %y } bind TScale <B1-Motion> { ttk::scale::Drag %W %x %y } bind TScale <ButtonRelease-1> { ttk::scale::Release %W %x %y } proc ttk::scale::Press {w x y} { variable State set State(dragging) 0 switch -glob -- [$w identify $x $y] { *track - *trough { if {[$w get $x $y] <= [$w get]} { ttk::Repeatedly Increment $w -1 } else { ttk::Repeatedly Increment $w 1 } } *slider { set State(dragging) 1 set State(initial) [$w get] } } } proc ttk::scale::Drag {w x y} { variable State if {$State(dragging)} { $w set [$w get $x $y] } } proc ttk::scale::Release {w x y} { variable State set State(dragging) 0 ttk::CancelRepeat } proc ttk::scale::Increment {w delta} { if {![winfo exists $w]} return $w set [expr {[$w get] + $delta}] }
Version data entries
6 entries across 6 versions & 1 rubygems