Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v8plus / lib / python2.4 / site-packages / Pmw / Pmw_1_2 / lib / PmwMessageDialog.py
CommitLineData
920dae64
AT
1# Based on iwidgets2.2.0/messagedialog.itk code.
2
3import Tkinter
4import Pmw
5
6class MessageDialog(Pmw.Dialog):
7 def __init__(self, parent = None, **kw):
8
9 # Define the megawidget options.
10 INITOPT = Pmw.INITOPT
11 optiondefs = (
12 ('borderx', 20, INITOPT),
13 ('bordery', 20, INITOPT),
14 ('iconmargin', 20, INITOPT),
15 ('iconpos', None, INITOPT),
16 )
17 self.defineoptions(kw, optiondefs)
18
19 # Initialise the base class (after defining the options).
20 Pmw.Dialog.__init__(self, parent)
21
22 # Create the components.
23 interior = self.interior()
24
25 self._message = self.createcomponent('message',
26 (), None,
27 Tkinter.Label, (interior,))
28
29 iconpos = self['iconpos']
30 iconmargin = self['iconmargin']
31 borderx = self['borderx']
32 bordery = self['bordery']
33 border_right = 2
34 border_bottom = 2
35 if iconpos is None:
36 self._message.grid(column = 1, row = 1)
37 else:
38 self._icon = self.createcomponent('icon',
39 (), None,
40 Tkinter.Label, (interior,))
41 if iconpos not in 'nsew':
42 raise ValueError, \
43 'bad iconpos option "%s": should be n, s, e, or w' \
44 % iconpos
45
46 if iconpos in 'nw':
47 icon = 1
48 message = 3
49 else:
50 icon = 3
51 message = 1
52
53 if iconpos in 'ns':
54 # vertical layout
55 self._icon.grid(column = 1, row = icon)
56 self._message.grid(column = 1, row = message)
57 interior.grid_rowconfigure(2, minsize = iconmargin)
58 border_bottom = 4
59 else:
60 # horizontal layout
61 self._icon.grid(column = icon, row = 1)
62 self._message.grid(column = message, row = 1)
63 interior.grid_columnconfigure(2, minsize = iconmargin)
64 border_right = 4
65
66 interior.grid_columnconfigure(0, minsize = borderx)
67 interior.grid_rowconfigure(0, minsize = bordery)
68 interior.grid_columnconfigure(border_right, minsize = borderx)
69 interior.grid_rowconfigure(border_bottom, minsize = bordery)
70
71
72 # Check keywords and initialise options.
73 self.initialiseoptions()