Annotation of micropolis/src/tk/library/demos/dialog, revision 1.1

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}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.