summaryrefslogtreecommitdiffstats
path: root/Demo/tkinter/matt/dialog-box.py
blob: e40c72eef54f276fb345b404162543a8e35efd3a (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from Tkinter import *

# this shows how to create a new window with a button in it that can create new windows

class Test(Frame):
    def printit(self):
	print "hi"

    def makeWindow(self):
	# there is no Tkinter interface to the dialog box. Making one would mean putting 
	# a few wrapper functions in the Tkinter.py file.
	# even better is to put in a SUIT-like selection of commonly-used dialogs.
	# the parameters to this call are as follows: 

	fred = Toplevel()               # a toplevel window that the dialog goes into


	# this function returns the index of teh button chosen. In this case, 0 for "yes" and 1 for "no"

	print self.tk.call("tk_dialog",           # the command name
			   fred,                  # the name of a toplevel window
			   "fred the dialog box", # the title on the window
			   "click on a choice",   # the message to appear in the window
			   "info",                # the bitmap (if any) to appear. If no bitmap is desired, pass ""
			                          #     legal values here are:
			                          #        string      what it looks like
			                          #        ----------------------------------------------
			                          #        error       a circle with a slash through it
						  #	   grey25      grey square
						  #	   grey50      darker grey square
						  #	   hourglass   use for "wait.."
						  #	   info        a large, lower case "i"
						  #	   questhead   a human head with a "?" in it
						  #	   question    a large "?"
						  #	   warning     a large "!" 
			                          #        @fname      any X bitmap where fname is the path to the file  
			                          #
			   "0",                   # the index of the default button choice. hitting return selects this
			   "yes", "no")           # all remaining parameters are the labels for the 
	                                          # buttons that appear left to right in the dialog box

      

    def createWidgets(self):
	self.QUIT = Button(self, {'text': 'QUIT', 
				  'fg': 'red', 
				  'command': self.quit})
	
	self.QUIT.pack({'side': 'left', 'fill': 'both'})


	# a hello button
	self.hi_there = Button(self, {'text': 'Make a New Window', 
				      'command' : self.makeWindow})
	self.hi_there.pack({'side': 'left'})


    def __init__(self, master=None):
	Frame.__init__(self, master)
	Pack.config(self)
	self.windownum = 0 
	self.createWidgets()

test = Test()
test.mainloop()