summaryrefslogtreecommitdiffstats
path: root/Demo/tix/samples/Balloon.py
blob: df90660a456eb367cc4f4b146c9ea5173bc48924 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/local/bin/python
# 
# $Id$
#
# Tix Demostration Program
#
# This sample program is structured in such a way so that it can be
# executed from the Tix demo program "tixwidgets": it must have a
# procedure called "RunSample". It should also have the "if" statment
# at the end of this file so that it can be run as a standalone
# program.

# This file demonstrates the use of the tixBalloon widget, which provides
# a interesting way to give help tips about elements in your user interface.
# Your can display the help message in a "balloon" and a status bar widget.
#

import Tix

def RunSample(w):
    status = Tix.Label(w, width=40, relief=Tix.SUNKEN, bd=1)
    status.pack(side=Tix.BOTTOM, fill=Tix.Y, padx=2, pady=1)

    # Create two mysterious widgets that need balloon help
    button1 = Tix.Button(w, text='Something Unexpected',
			 command=lambda w=w: w.destroy())
    button2 = Tix.Button(w, text='Something Else Unexpected')
    button2['command'] = lambda w=button2: w.destroy()
    button1.pack(side=Tix.TOP, expand=1)
    button2.pack(side=Tix.TOP, expand=1)

    # Create the balloon widget and associate it with the widgets that we want
    # to provide tips for:
    b = Tix.Balloon(w, statusbar=status)

    b.bind_widget(button1, balloonmsg='Close Window',
		  statusmsg='Press this button to close this window')
    b.bind_widget(button2, balloonmsg='Self-destruct button',
		  statusmsg='Press this button and it will destroy itself')

if __name__ == '__main__':
    root = Tix.Tk()

    RunSample(root)
    root.mainloop()