]> git.zerfleddert.de Git - micropolis/blob - res/tk.tcl
src/tclx/ucbsrc/tclexpr.sed: Micropolis build fixes for recent macOS
[micropolis] / res / tk.tcl
1 # tk.tcl --
2 #
3 # Initialization script normally executed in the interpreter for each
4 # Tk-based application. Arranges class bindings for widgets.
5 #
6 # $Header: /user6/ouster/wish/scripts/RCS/tk.tcl,v 1.19 92/08/08 14:50:08 ouster Exp $ SPRITE (Berkeley)
7 #
8 # Copyright 1992 Regents of the University of California
9 # Permission to use, copy, modify, and distribute this
10 # software and its documentation for any purpose and without
11 # fee is hereby granted, provided that this copyright
12 # notice appears in all copies. The University of California
13 # makes no representations about the suitability of this
14 # software for any purpose. It is provided "as is" without
15 # express or implied warranty.
16
17 # Insist on running with a compatible version of Tcl.
18
19 if "[info tclversion] != {6.4}" {
20 error "wrong version of Tcl loaded ([info tclversion]): need 6.4"
21 }
22
23 # Initialize the auto-load path to include Tk's directory as well as
24 # Tcl's directory:
25
26 set auto_path "$tk_library [info library]"
27
28 # ----------------------------------------------------------------------
29 # Class bindings for various flavors of button widgets.
30 # ----------------------------------------------------------------------
31
32 bind Button <Any-Enter> {tk_butEnter %W}
33 bind Button <Any-Leave> {tk_butLeave %W}
34 bind Button <1> {tk_butDown %W}
35 bind Button <ButtonRelease-1> {tk_butUp %W}
36 bind Button <2> {tk_butDown %W}
37 bind Button <ButtonRelease-2> {tk_butUp %W}
38 bind Button <3> {tk_butDown %W}
39 bind Button <ButtonRelease-3> {tk_butUp %W}
40
41 bind CheckButton <Any-Enter> {tk_butEnter %W}
42 bind CheckButton <Any-Leave> {tk_butLeave %W}
43 bind CheckButton <1> {tk_butDown %W}
44 bind CheckButton <ButtonRelease-1> {tk_butUp %W}
45 bind CheckButton <2> {tk_butDown %W}
46 bind CheckButton <ButtonRelease-2> {tk_butUp %W}
47 bind CheckButton <3> {tk_butDown %W}
48 bind CheckButton <ButtonRelease-3> {tk_butUp %W}
49
50 bind RadioButton <Any-Enter> {tk_butEnter %W}
51 bind RadioButton <Any-Leave> {tk_butLeave %W}
52 bind RadioButton <1> {tk_butDown %W}
53 bind RadioButton <ButtonRelease-1> {tk_butUp %W}
54 bind RadioButton <2> {tk_butDown %W}
55 bind RadioButton <ButtonRelease-2> {tk_butUp %W}
56 bind RadioButton <3> {tk_butDown %W}
57 bind RadioButton <ButtonRelease-3> {tk_butUp %W}
58
59 # ----------------------------------------------------------------------
60 # Class bindings for entry widgets.
61 # ----------------------------------------------------------------------
62
63 bind Entry <1> {
64 %W cursor @%x
65 %W select from @%x
66 if {[lindex [%W config -state] 4] == "normal"} {focus %W}
67 }
68 bind Entry <B1-Motion> {%W select to @%x}
69 bind Entry <Shift-1> {%W select adjust @%x}
70 bind Entry <Shift-B1-Motion> {%W select to @%x}
71 bind Entry <2> {%W scan mark %x}
72 bind Entry <B2-Motion> {%W scan dragto %x}
73 bind Entry <Any-KeyPress> {
74 tk_entryCutPress %W
75 if {"%A" != ""} {
76 %W insert cursor %A
77 tk_entrySeeCaret %W
78 }
79 }
80 bind Entry <Delete> {tk_entryDelPress %W}
81 bind Entry <BackSpace> {tk_entryDelPress %W}
82 bind Entry <Control-h> {tk_entryDelPress %W}
83 bind Entry <Control-d> {tk_entryCutPress %W}
84 bind Entry <Control-u> {tk_entryDelLine %W}
85 bind Entry <Control-x> {tk_entryCutPress %W}
86 bind Entry <Control-y> {tk_entryCopyPress %W}
87 bind Entry <Control-v> {tk_entryCopyPress %W}
88 bind Entry <Control-w> {tk_entryBackword %W; tk_entrySeeCaret %W}
89 tk_bindForTraversal Entry
90
91 # ----------------------------------------------------------------------
92 # Class bindings for listbox widgets.
93 # ----------------------------------------------------------------------
94
95 bind Listbox <1> {%W select from [%W nearest %y]}
96 bind Listbox <B1-Motion> {%W select to [%W nearest %y]}
97 bind Listbox <Shift-1> {%W select adjust [%W nearest %y]}
98 bind Listbox <Shift-B1-Motion> {%W select to [%W nearest %y]}
99 bind Listbox <2> {%W scan mark %x %y}
100 bind Listbox <B2-Motion> {%W scan dragto %x %y}
101 bind Listbox <3> {%W select from [%W nearest %y]}
102 bind Listbox <B3-Motion> {%W select to [%W nearest %y]}
103 bind Listbox <Shift-3> {%W select adjust [%W nearest %y]}
104 bind Listbox <Shift-B3-Motion> {%W select to [%W nearest %y]}
105
106 # ----------------------------------------------------------------------
107 # Class bindings for scrollbar widgets.
108 # ----------------------------------------------------------------------
109
110 # ----------------------------------------------------------------------
111 # Class bindings for scale widgets.
112 # ----------------------------------------------------------------------
113
114 # ----------------------------------------------------------------------
115 # Class bindings for menubutton widgets.
116 # ----------------------------------------------------------------------
117
118 bind Menubutton <Enter> {tk_mbButtonEnter %W %m}
119 bind Menubutton <Any-Leave> {tk_mbButtonLeave %W}
120 bind Menubutton <1> {tk_mbButtonDown %W %X %Y}
121 bind Menubutton <Any-ButtonRelease-1> {tk_mbButtonUp %W %X %Y}
122 bind Menubutton <B1-Enter> {tk_mbButton1Enter %W %m}
123 bind Menubutton <2> {tk_mbButtonDown %W %X %Y}
124 bind Menubutton <ButtonRelease-2> {tk_mbButtonUp %W %X %Y}
125 bind Menubutton <3> {tk_mbButtonDown %W %X %Y}
126 bind Menubutton <ButtonRelease-3> {tk_mbButtonUp %W %X %Y}
127
128 # ----------------------------------------------------------------------
129 # Class bindings for menu widgets.
130 # ----------------------------------------------------------------------
131
132 bind Menu <Any-Enter> {tk_menuEnter %W %y}
133 bind Menu <Any-Leave> {tk_menuLeave %W}
134 bind Menu <Any-Motion> {tk_menuMotion %W %y}
135 bind Menu <ButtonRelease-1> {tk_menuUp %W %y}
136 bind Menu <ButtonRelease-2> {tk_menuUp %W %y}
137 bind Menu <ButtonRelease-3> {tk_menuUp %W %y}
138
139 bind Menu <Escape> {tk_mbUnpost %W}
140 bind Menu <Any-KeyPress> {tk_traverseWithinMenu %W %A}
141 bind Menu <Left> {tk_nextMenu %W -1}
142 bind Menu <Right> {tk_nextMenu %W 1}
143 bind Menu <Up> {tk_nextMenuEntry %W -1}
144 bind Menu <Down> {tk_nextMenuEntry %W 1}
145 bind Menu <Return> {tk_invokeMenu %W}
146
147 # ----------------------------------------------------------------------
148 # Class bindings for text widgets.
149 # ----------------------------------------------------------------------
150
151 #bind Text <1> {tk_textDown %W %x %y}
152 #bind Text <Double-1> {tk_textDoubleDown %W %x %y}
153 #bind Text <Triple-1> {tk_textTripleDown %W %x %y}
154 #bind Text <B1-Motion> {tk_textSelectTo %W %x %y}
155 #bind Text <Shift-1> {tk_textAdjustTo %W %x %y}
156 #bind Text <Shift-B1-Motion> {tk_textSelectTo %W %x %y}
157 bind Text <2> {%W scan mark %y}
158 bind Text <B2-Motion> {%W scan dragto %y}
159 bind Text <Any-KeyPress> {tk_textKeyPress %W %A}
160 bind Text <Return> {tk_textReturnPress %W}
161 bind Text <BackSpace> {tk_textDelPress %W}
162 bind Text <Delete> {tk_textDelPress %W}
163 bind Text <Control-h> {tk_textDelPress %W}
164 bind Text <Control-d> {tk_textCutPress %W}
165 bind Text <Control-v> {tk_textCopyPress %W}
166 tk_bindForTraversal Text
167
168 # Initialize the elements of tk_priv that require initialization.
Impressum, Datenschutz