📄 bind.test
字号:
proc bgerror msg { global x lappend x $msg}test bind-13.44 {Tk_BindEvent procedure: error in script} { setup bind .b.f <Button-2> {lappend x b1; blap} bind Test <Button-2> {lappend x B1} set x {} event gen .b.f <Button-2> update bind Test <Button-2> {} set x} {b1 {invalid command name "blap"}}test bind-13.45 {Tk_BindEvent procedure: error in script} { setup testcbind .b.f <Button-2> {lappend x b1; blap} testcbind Test <Button-2> {lappend x B1} set x {} event gen .b.f <Button-2> update bind Test <Button-2> {} set x} {b1 {invalid command name "blap"}}test bind-14.1 {TkBindDeadWindow: no C bindings pending} { setup bind .b.f <1> x testcbind .b.f <2> y destroy .b.f} {}test bind-14.2 {TkBindDeadWindow: is called after <Destroy>} { setup testcbind .b.f <Destroy> "lappend x .b.f" testcbind Test <Destroy> "lappend x Test" set x {} destroy .b.f bind Test <Destroy> {} set x} {.b.f Test}test bind-14.3 {TkBindDeadWindow: pending C bindings} { setup bindtags .b.f {a b c d} testcbind a <1> "lappend x a1" "lappend x bye.a1" testcbind b <1> "destroy .b.f; lappend x b1" "lappend x bye.b1" testcbind c <1> "lappend x c1" "lappend x bye.c1" testcbind d <1> "lappend x d1" "lappend x bye.d1" bind a <2> "event gen .b.f <1>" testcbind b <2> "lappend x b2" "lappend x bye.b2" testcbind c <2> "lappend x c2" "lappend x bye.d2" bind d <2> "lappend x d2" testcbind a <3> "event gen .b.f <2>" set x {} event gen .b.f <3> set y $x foreach tag {a b c d} { foreach event {<1> <2> <3>} { bind $tag $event {} } } set y} {a1 b1 d2} test bind-15.1 {MatchPatterns procedure, ignoring type mismatches} { setup bind .b.f ab {set x 1} set x 0 event gen .b.f <Key-a> event gen .b.f <KeyRelease-a> event gen .b.f <Key-b> event gen .b.f <KeyRelease-b> set x} 1test bind-15.2 {MatchPatterns procedure, ignoring type mismatches} { setup bind .b.f ab {set x 1} set x 0 event gen .b.f <Key-a> event gen .b.f <Enter> event gen .b.f <KeyRelease-a> event gen .b.f <Leave> event gen .b.f <Key-b> event gen .b.f <KeyRelease-b> set x} 1test bind-15.3 {MatchPatterns procedure, ignoring type mismatches} { setup bind .b.f ab {set x 1} set x 0 event gen .b.f <Key-a> event gen .b.f <Button-1> event gen .b.f <Key-b> set x} 0test bind-15.4 {MatchPatterns procedure, ignoring type mismatches} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-1> event gen .b.f <ButtonRelease-1> event gen .b.f <Button-1> event gen .b.f <ButtonRelease-1> set x} 1test bind-15.5 {MatchPatterns procedure, ignoring type mismatches} { setup bind .b.f <Double-ButtonRelease> {set x 1} set x 0 event gen .b.f <Button-1> event gen .b.f <ButtonRelease-1> event gen .b.f <Button-2> event gen .b.f <ButtonRelease-2> set x} 1test bind-15.6 {MatchPatterns procedure, ignoring type mismatches} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-1> event gen .b.f <Key-a> event gen .b.f <ButtonRelease-1> event gen .b.f <Button-1> event gen .b.f <ButtonRelease-1> set x} 0test bind-15.7 {MatchPatterns procedure, ignoring type mismatches} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-1> event gen .b.f <Key-Shift_L> event gen .b.f <ButtonRelease-1> event gen .b.f <Button-1> event gen .b.f <ButtonRelease-1> set x} 1test bind-15.8 {MatchPatterns procedure, ignoring type mismatches} { setup bind .b.f ab {set x 1} set x 0 event gen .b.f <Key-a> event gen .b.f <Key-c> event gen .b.f <Key-b> set x} 0test bind-15.9 {MatchPatterns procedure, modifier checks} { setup bind .b.f <M1-M2-Key> {set x 1} set x 0 event gen .b.f <Key-a> -state 0x18 set x} 1test bind-15.10 {MatchPatterns procedure, modifier checks} { setup bind .b.f <M1-M2-Key> {set x 1} set x 0 event gen .b.f <Key-a> -state 0xfc set x} 1test bind-15.11 {MatchPatterns procedure, modifier checks} { setup bind .b.f <M1-M2-Key> {set x 1} set x 0 event gen .b.f <Key-a> -state 0x8 set x} 0test bind-15.12 {MatchPatterns procedure, ignore modifier presses and releases} {nonPortable} { # This test is non-portable because the Shift_L keysym may behave # differently on some platforms. setup bind .b.f aB {set x 1} set x 0 event gen .b.f <Key-a> event gen .b.f <Key-Shift_L> event gen .b.f <Key-b> -state 1 set x} 1test bind-15.13 {MatchPatterns procedure, checking detail} { setup bind .b.f ab {set x 1} set x 0 event gen .b.f <Key-a> event gen .b.f <Key-c> set x} 0test bind-15.14 {MatchPatterns procedure, checking "nearby"} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-2> event gen .b.f <Button-1> -x 30 -y 40 event gen .b.f <Button-1> -x 31 -y 39 set x} 1test bind-15.15 {MatchPatterns procedure, checking "nearby"} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-2> event gen .b.f <Button-1> -x 30 -y 40 event gen .b.f <Button-1> -x 29 -y 41 set x} 1test bind-15.16 {MatchPatterns procedure, checking "nearby"} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-2> event gen .b.f <Button-1> -x 30 -y 40 event gen .b.f <Button-1> -x 40 -y 40 set x} 0test bind-15.17 {MatchPatterns procedure, checking "nearby"} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-2> event gen .b.f <Button-1> -x 30 -y 40 event gen .b.f <Button-1> -x 20 -y 40 set x} 0test bind-15.18 {MatchPatterns procedure, checking "nearby"} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-2> event gen .b.f <Button-1> -x 30 -y 40 event gen .b.f <Button-1> -x 30 -y 30 set x} 0test bind-15.19 {MatchPatterns procedure, checking "nearby"} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-2> event gen .b.f <Button-1> -x 30 -y 40 event gen .b.f <Button-1> -x 30 -y 50 set x} 0test bind-15.20 {MatchPatterns procedure, checking "nearby"} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-2> event gen .b.f <Button-1> -time 300 event gen .b.f <Button-1> -time 700 set x} 1test bind-15.21 {MatchPatterns procedure, checking "nearby"} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-2> event gen .b.f <Button-1> -time 300 event gen .b.f <Button-1> -time 900 set x} 0test bind-15.22 {MatchPatterns procedure, time wrap-around} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-1> -time [expr -100] event gen .b.f <Button-1> -time 200 set x} 1test bind-15.23 {MatchPatterns procedure, time wrap-around} { setup bind .b.f <Double-1> {set x 1} set x 0 event gen .b.f <Button-1> -time -100 event gen .b.f <Button-1> -time 500 set x} 0test bind-15.24 {MatchPatterns procedure, virtual event} { setup event add <<Paste>> <Button-1> bind .b.f <<Paste>> {lappend x paste} set x {} event gen .b.f <Button-1> set x} {paste}test bind-15.25 {MatchPatterns procedure, reject a virtual event} { setup event add <<Paste>> <Shift-Button-1> bind .b.f <<Paste>> {lappend x paste} set x {} event gen .b.f <Button-1> set x} {}test bind-15.26 {MatchPatterns procedure, reject a virtual event} { setup event add <<V1>> <Button> event add <<V2>> <Button-1> event add <<V3>> <Shift-Button-1> bind .b.f <<V2>> "lappend x V2%#" set x {} event gen .b.f <Button> -serial 101 event gen .b.f <Button-1> -serial 102 event gen .b.f <Shift-Button-1> -serial 103 bind .b.f <Shift-Button-1> "lappend x Shift-Button-1" event gen .b.f <Button> -serial 104 event gen .b.f <Button-1> -serial 105 event gen .b.f <Shift-Button-1> -serial 106 set x} {V2102 V2103 V2105 Shift-Button-1}test bind-15.27 {MatchPatterns procedure, conflict resolution} { setup bind .b.f <KeyPress> {set x 0} bind .b.f a {set x 1} set x none event gen .b.f <Key-a> set x} 1test bind-15.28 {MatchPatterns procedure, conflict resolution} { setup bind .b.f <KeyPress> {set x 0} bind .b.f a {set x 1} set x none event gen .b.f <Key-b> set x} 0test bind-15.29 {MatchPatterns procedure, conflict resolution} { setup bind .b.f <KeyPress> {lappend x 0} bind .b.f a {lappend x 1} bind .b.f ba {lappend x 2} set x none event gen .b.f <Key-b> event gen .b.f <KeyRelease-b> event gen .b.f <Key-a> set x} {none 0 2}test bind-15.30 {MatchPatterns procedure, conflict resolution} { setup bind .b.f <ButtonPress> {set x 0} bind .b.f <1> {set x 1} set x none event gen .b.f <Button-1> set x} 1test bind-15.31 {MatchPatterns procedure, conflict resolution} { setup bind .b.f <M1-Key> {set x 0} bind .b.f <M2-Key> {set x 1} set x none event gen .b.f <Key-a> -state 0x18 set x} 1test bind-15.32 {MatchPatterns procedure, conflict resolution} { setup bind .b.f <M2-Key> {set x 0} bind .b.f <M1-Key> {set x 1} set x none event gen .b.f <Key-a> -state 0x18 set x} 1test bind-15.33 {MatchPatterns procedure, conflict resolution} { setup bind .b.f <1> {lappend x single} bind Test <1> {lappend x single(Test)} bind Test <Double-1> {lappend x double(Test)} set x {} event gen .b.f <Button-1> event gen .b.f <Button-1> event gen .b.f <Button-1> set x} {single single(Test) single double(Test) single double(Test)}foreach i [bind Test] { bind Test $i {}}test bind-16.1 {ExpandPercents procedure} { setup bind .b.f <Enter> {set x abcd} set x none event gen .b.f <Enter> set x} abcdtest bind-16.2 {ExpandPercents procedure} { setup bind .b.f <Enter> {set x %#} set x none event gen .b.f <Enter> -serial 1234 set x} 1234test bind-16.3 {ExpandPercents procedure} { setup bind .b.f <Configure> {set x %a} set x none event gen .b.f <Configure> -above .b -window .b.f set x} [winfo id .b]test bind-16.4 {ExpandPercents procedure} { setup bind .b.f <Button> {set x %b} set x none event gen .b.f <Button-3> set x} 3test bind-16.5 {ExpandPercents procedure} { setup bind .b.f <Expose> {set x %c} set x none event gen .b.f <Expose> -count 47 set x} 47test bind-16.6 {ExpandPercents procedure} { setup bind .b.f <Enter> {set x %d} set x none event gen .b.f <Enter> -detail NotifyAncestor set x} NotifyAncestortest bind-16.7 {ExpandPercents procedure} { setup bind .b.f <Enter> {set x %d} set x none event gen .b.f <Enter> -detail NotifyVirtual set x} NotifyVirtualtest bind-16.8 {ExpandPercents procedure} { setup bind .b.f <Enter> {set x %d} set x none event gen .b.f <Enter> -detail NotifyNonlinear set x
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -