Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / lib / python2.4 / site-packages / Pmw / Pmw_1_2 / doc / Dialog.html
<html>
<head>
<meta name="description" content="Pmw - a toolkit for building high-level compound widgets in Python">
<meta name="content" content="python, megawidget, mega widget, compound widget, gui, tkinter">
<title>Pmw.Dialog reference manual</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000ee"
vlink="551a8b" alink="ff0000">
<h1 ALIGN="CENTER">Pmw.Dialog</h1>
<center><IMG SRC=Dialog.gif ALT="" WIDTH=374 HEIGHT=162></center>
<dl>
<dt> <h3>Name</h3></dt><dd>
<p>Pmw.Dialog() -
toplevel window with button box
</p>
</dd>
<dt> <h3>Inherits</h3></dt><dd>
<a href="MegaToplevel.html">Pmw.MegaToplevel</a><br>
</dd>
<dt> <h3>Description</h3></dt><dd>
<p>
A dialog is a toplevel window composed of a button box and a child
site area. The child site area can be used to specialise the
megawidget by creating other widgets within it. This can be done
by using this class directly or by deriving from it.</p>
<p></p>
</dd>
<dt> <h3>Options</h3></dt><dd>
Options for this megawidget and its base
classes are described below.<p></p>
<a name=option.activatecommand></a>
<dl><dt> <strong>activatecommand
</strong></dt><dd>
If this is callable, it will be called whenever the megawidget is
activated by a call to <code>activate()</code>. The default is <strong>None</strong>.</p>
</dd></dl>
<a name=option.buttonboxpos></a>
<dl><dt> <strong>buttonboxpos
</strong></dt><dd>
Initialisation option. Specifies on which side of the dialog window to place the button
box. Must be one of <strong>'n'</strong>, <strong>'s'</strong>, <strong>'e'</strong> or <strong>'w'</strong>. The default is <strong>'s'</strong>.</p>
</dd></dl>
<a name=option.buttons></a>
<dl><dt> <strong>buttons
</strong></dt><dd>
This must be a tuple or a list and specifies the names on the
buttons in the button box. The default is <strong>('OK',)</strong>.</p>
</dd></dl>
<a name=option.command></a>
<dl><dt> <strong>command
</strong></dt><dd>
Specifies a function to call whenever a button in the button box
is invoked or the window is deleted by the window manager. The
function is called with a single argument, which is the name of
the button which was invoked, or <strong>None</strong> if the window was deleted
by the window manager.</p>
<p> If the value of <strong>command</strong> is not callable, the default behaviour
is to deactivate the window if it is active, or withdraw the
window if it is not active. If it is deactivated, <code>deactivate()</code>
is called with the button name or <strong>None</strong> as described above. The default is <strong>None</strong>.</p>
</dd></dl>
<a name=option.deactivatecommand></a>
<dl><dt> <strong>deactivatecommand
</strong></dt><dd>
If this is callable, it will be called whenever the megawidget is
deactivated by a call to <code>deactivate()</code>. The default is <strong>None</strong>.</p>
</dd></dl>
<a name=option.defaultbutton></a>
<dl><dt> <strong>defaultbutton
</strong></dt><dd>
Specifies the default button in the button box. If the <strong>&lt;Return&gt;</strong>
key is hit when the dialog has focus, the default button will be
invoked. If <strong>defaultbutton</strong> is <strong>None</strong>, there will be no default
button and hitting the <strong>&lt;Return&gt;</strong> key will have no effect. The default is <strong>None</strong>.</p>
</dd></dl>
<a name=option.master></a>
<dl><dt> <strong>master
</strong></dt><dd>
This is used by the <code>activate()</code> method to control whether the
window is made <em>transient</em> during modal dialogs. See the
<code>activate()</code> method. The default is <strong>'parent'</strong>.</p>
</dd></dl>
<a name=option.separatorwidth></a>
<dl><dt> <strong>separatorwidth
</strong></dt><dd>
Initialisation option. If this is greater than <strong>0</strong>, a separator line with the specified
width will be created between the button box and the child site,
as a component named <strong>separator</strong>. Since the default border of the
button box and child site is <strong>raised</strong>, this option does not
usually need to be set for there to be a visual separation between
the button box and child site. The default is <strong>0</strong>.</p>
</dd></dl>
<a name=option.title></a>
<dl><dt> <strong>title
</strong></dt><dd>
This is the title that the window manager displays in the title
bar of the window. The default is <strong>None</strong>.</p>
</dd></dl>
</dd>
<dt> <h3>Components</h3></dt><dd>
Components created by this megawidget and its base
classes are described below.<p></p>
<a name=component.buttonbox></a>
<dl><dt> <strong>buttonbox
</strong></dt><dd>
This is the button box containing the buttons for the dialog. By
default it is created with the options
<code>(hull_borderwidth = 1, hull_relief = 'raised')</code>. By default, this component is a <a href="ButtonBox.html">Pmw.ButtonBox</a>.</p>
</dd></dl>
<a name=component.dialogchildsite></a>
<dl><dt> <strong>dialogchildsite
</strong></dt><dd>
This is the child site for the dialog, which may be used to
specialise the megawidget by creating other widgets within it. By
default it is created with the options
<code>(borderwidth = 1, relief = 'raised')</code>. By default, this component is a Tkinter.Frame.</p>
</dd></dl>
<a name=component.hull></a>
<dl><dt> <strong>hull
</strong></dt><dd>
This acts as the body for the entire megawidget. Other components
are created as children of the hull to further specialise this
class. By default, this component is a Tkinter.Toplevel.</p>
</dd></dl>
<a name=component.separator></a>
<dl><dt> <strong>separator
</strong></dt><dd>
If the <strong>separatorwidth</strong> initialisation option is non-zero, the
<strong>separator</strong> component is the line dividing the area between the
button box and the child site. By default, this component is a Tkinter.Frame.</p>
</dd></dl>
</dd>
<a name=methods></a>
<dt> <h3>Methods</h3></dt><dd>
Only methods specific to this megawidget are described below.
For a description of its inherited methods, see the
manual for its base class
<strong><a href="MegaToplevel.html#methods">Pmw.MegaToplevel</a></strong>.
<p></p>
<a name=method.interior></a>
<dl><dt> <strong>interior</strong>()</dt><dd>
Return the child site for the dialog. This is the same as
<code>component('dialogchildsite')</code>.</p>
</dd></dl>
<a name=method.invoke></a>
<dl><dt> <strong>invoke</strong>(<em>index</em> = <strong>Pmw.DEFAULT</strong>)</dt><dd>
Invoke the command specified by the <strong>command</strong> option as if the
button specified by <em>index</em> had been pressed and return the
result. <em>index</em> may have any of the forms accepted by the
<a href="ButtonBox.html">Pmw.ButtonBox</a> <code>index()</code> method.</p>
</dd></dl>
</dd>
<dt> <h3>Example</h3></dt><dd>
The image at the top of this manual is a snapshot
of the window (or part of the window) produced
by the following code.<p></p>
<pre>
class Demo:
def __init__(self, parent):
# Create two buttons to launch the dialog.
w = Tkinter.Button(parent, text = 'Show application modal dialog',
command = self.showAppModal)
w.pack(padx = 8, pady = 8)
w = Tkinter.Button(parent, text = 'Show global modal dialog',
command = self.showGlobalModal)
w.pack(padx = 8, pady = 8)
w = Tkinter.Button(parent, text = 'Show dialog with "no grab"',
command = self.showDialogNoGrab)
w.pack(padx = 8, pady = 8)
w = Tkinter.Button(parent, text =
'Show toplevel window which\n' +
'will not get a busy cursor',
command = self.showExcludedWindow)
w.pack(padx = 8, pady = 8)
# Create the dialog.
self.dialog = Pmw.Dialog(parent,
buttons = ('OK', 'Apply', 'Cancel', 'Help'),
defaultbutton = 'OK',
title = 'My dialog',
command = self.execute)
self.dialog.withdraw()
# Add some contents to the dialog.
w = Tkinter.Label(self.dialog.interior(),
text = 'Pmw Dialog\n(put your widgets here)',
background = 'black',
foreground = 'white',
pady = 20)
w.pack(expand = 1, fill = 'both', padx = 4, pady = 4)
# Create the window excluded from showbusycursor.
self.excluded = Pmw.MessageDialog(parent,
title = 'I still work',
message_text =
'This window will not get\n' +
'a busy cursor when modal dialogs\n' +
'are activated. In addition,\n' +
'you can still interact with\n' +
'this window when a "no grab"\n' +
'modal dialog is displayed.')
self.excluded.withdraw()
Pmw.setbusycursorattributes(self.excluded.component('hull'),
exclude = 1)
def showAppModal(self):
self.dialog.activate(geometry = 'centerscreenalways')
def showGlobalModal(self):
self.dialog.activate(globalMode = 1)
def showDialogNoGrab(self):
self.dialog.activate(globalMode = 'nograb')
def showExcludedWindow(self):
self.excluded.show()
def execute(self, result):
print 'You clicked on', result
if result not in ('Apply', 'Help'):
self.dialog.deactivate(result)
</pre>
</dd>
</dl>
<center><P ALIGN="CENTER">
<IMG SRC = blue_line.gif ALT = "" WIDTH=320 HEIGHT=5>
</p></center>
<font size=-1>
<center><P ALIGN="CENTER">
Pmw 1.2 -
5 Aug 2003
- <a href="index.html">Home</a>
<br>Manual page last reviewed: 18 May 2002
</p></center>
</font>
</body>
</html>