Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
|||
package require Tk
|
||||
|
||||
###--- Our data Model! ---###
|
||||
# A single variable will do just fine
|
||||
set field 0
|
||||
|
||||
###--- Lay out the GUI components in our View ---###
|
||||
# We use the Ttk widget set here; it looks much better on Windows and OSX
|
||||
|
||||
# First, a quick hack to make things look even nicer
|
||||
place [ttk::frame .bg] -relwidth 1 -relheight 1
|
||||
|
||||
# A labelled frame containing an entry field constrained to use numbers
|
||||
pack [ttk::labelframe .val -text "Value"]
|
||||
pack [ttk::entry .val.ue -textvariable field \
|
||||
-validate key -invalidcommand bell \
|
||||
-validatecommand {string is integer %P}]
|
||||
# Now, a pair of buttons
|
||||
pack [ttk::button .inc -text "increment" -command step]
|
||||
pack [ttk::button .rnd -text "random" -command random]
|
||||
|
||||
###--- Now we define the behaviors, the Controller ---###
|
||||
# How to respond to a click on the "increment" button
|
||||
proc step {} {
|
||||
global field
|
||||
incr field
|
||||
}
|
||||
# How to respond to a click on the "random" button
|
||||
proc random {} {
|
||||
global field
|
||||
if {[tk_messageBox -type yesno -parent . \
|
||||
-message "Reset to random?"] eq "yes"} {
|
||||
set field [expr {int(rand() * 5000)}]
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue