symbian-qemu-0.9.1-12/python-2.6.1/Demo/tix/samples/Balloon.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 # -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
       
     2 #
       
     3 # $Id: Balloon.py 36560 2004-07-18 06:16:08Z tim_one $
       
     4 #
       
     5 # Tix Demostration Program
       
     6 #
       
     7 # This sample program is structured in such a way so that it can be
       
     8 # executed from the Tix demo program "tixwidgets.py": it must have a
       
     9 # procedure called "RunSample". It should also have the "if" statment
       
    10 # at the end of this file so that it can be run as a standalone
       
    11 # program.
       
    12 
       
    13 # This file demonstrates the use of the tixBalloon widget, which provides
       
    14 # a interesting way to give help tips about elements in your user interface.
       
    15 # Your can display the help message in a "balloon" and a status bar widget.
       
    16 #
       
    17 
       
    18 import Tix
       
    19 
       
    20 TCL_ALL_EVENTS          = 0
       
    21 
       
    22 def RunSample (root):
       
    23     balloon = DemoBalloon(root)
       
    24     balloon.mainloop()
       
    25     balloon.destroy()
       
    26 
       
    27 class DemoBalloon:
       
    28     def __init__(self, w):
       
    29         self.root = w
       
    30         self.exit = -1
       
    31 
       
    32         z = w.winfo_toplevel()
       
    33         z.wm_protocol("WM_DELETE_WINDOW", lambda self=self: self.quitcmd())
       
    34 
       
    35         status = Tix.Label(w, width=40, relief=Tix.SUNKEN, bd=1)
       
    36         status.pack(side=Tix.BOTTOM, fill=Tix.Y, padx=2, pady=1)
       
    37 
       
    38         # Create two mysterious widgets that need balloon help
       
    39         button1 = Tix.Button(w, text='Something Unexpected',
       
    40                              command=self.quitcmd)
       
    41         button2 = Tix.Button(w, text='Something Else Unexpected')
       
    42         button2['command'] = lambda w=button2: w.destroy()
       
    43         button1.pack(side=Tix.TOP, expand=1)
       
    44         button2.pack(side=Tix.TOP, expand=1)
       
    45 
       
    46         # Create the balloon widget and associate it with the widgets that we want
       
    47         # to provide tips for:
       
    48         b = Tix.Balloon(w, statusbar=status)
       
    49 
       
    50         b.bind_widget(button1, balloonmsg='Close Window',
       
    51                       statusmsg='Press this button to close this window')
       
    52         b.bind_widget(button2, balloonmsg='Self-destruct button',
       
    53                       statusmsg='Press this button and it will destroy itself')
       
    54 
       
    55     def quitcmd (self):
       
    56         self.exit = 0
       
    57 
       
    58     def mainloop(self):
       
    59         foundEvent = 1
       
    60         while self.exit < 0 and foundEvent > 0:
       
    61             foundEvent = self.root.tk.dooneevent(TCL_ALL_EVENTS)
       
    62 
       
    63     def destroy (self):
       
    64         self.root.destroy()
       
    65 
       
    66 if __name__ == '__main__':
       
    67     root = Tix.Tk()
       
    68     RunSample(root)