|
|
1.1 ! root 1: #!/usr/local/bin/wish -f ! 2: # ! 3: # This script generates a sample dialog box that waits for one of three ! 4: # buttons to be pressed, then prints a message and exits. ! 5: ! 6: # Create two frames in the main window. The top frame will hold the ! 7: # message and the bottom one will hold the buttons. Arrange them ! 8: # on above the other, with any extra vertical space split between ! 9: # them. ! 10: ! 11: frame .top -relief raised -border 1 ! 12: frame .bot -relief raised -border 1 ! 13: pack append . .top {top fill expand} .bot {top fill expand} ! 14: ! 15: # Create the message widget and arrange for it to be centered in the ! 16: # top frame. ! 17: ! 18: message .top.msg -text "File main.c hasn't been saved to disk since \ ! 19: it was last modified. What should I do?" -justify center \ ! 20: -font -Adobe-helvetica-medium-r-normal--*-240* -aspect 200 ! 21: pack append .top .top.msg {top padx 5 pady 5 expand} ! 22: ! 23: # Create the buttons and arrange them from left to right in the bottom ! 24: # frame. Embed the left button in an additional sunken frame to indicate ! 25: # that it is the default button. ! 26: ! 27: frame .bot.left -relief sunken -border 1 ! 28: pack append .bot .bot.left {left expand padx 20 pady 20} ! 29: button .bot.left.button -text "Save File" -command "quit save" ! 30: pack append .bot.left .bot.left.button {expand padx 12 pady 12} ! 31: button .bot.middle -text "Quit Anyway" -command "quit quit" ! 32: pack append .bot .bot.middle {left expand padx 20} ! 33: button .bot.right -text "Return To Editor" -command "quit return" ! 34: pack append .bot .bot.right {left expand padx 20} ! 35: ! 36: # The procedure below is invoked as the action for each of the buttons. ! 37: # It prints a message and exits by destroying the application's main ! 38: # window. ! 39: ! 40: proc quit button { ! 41: puts stdout "You pressed the \"$button\" button; bye-bye!" ! 42: destroy . ! 43: } ! 44: ! 45: bind .top <Enter> {.bot.left.button activate} ! 46: bind .top.msg <Enter> {.bot.left.button activate} ! 47: bind .bot <Enter> {.bot.left.button activate} ! 48: bind .top <Leave> {.bot.left.button deactivate} ! 49: bind .top.msg <Leave> {.bot.left.button deactivate} ! 50: bind .bot <Leave> {.bot.left.button deactivate} ! 51: bind . <1> {.bot.left.button config -relief sunken} ! 52: bind . <ButtonRelease-1> {quit save} ! 53: focus . ! 54: bind . <Return> {quit save}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.