Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / lib / python2.4 / site-packages / Pmw / Pmw_1_2 / demos / Resources_Pmw.py
title = 'Using Tk option database to configure Pmw megawidgets'
# Import Pmw from this directory tree.
import sys
sys.path[:0] = ['../../..']
import Tkinter
import Pmw
class Demo:
def __init__(self, parent):
self.parent = parent
header = Tkinter.Label(parent, text = 'Select some Tk option ' +
'database values from\nthe lists, then click ' +
'\'Create dialog\' to create\na MessageDialog with ' +
'these values as defaults.')
header.pack(padx = 10, pady = 10)
# Create and pack the ComboBoxes to select options.
buttons = (
"('OK',)",
"('Read', 'Write')",
"('OK', 'Cancel')",
"('OK', 'Apply', 'Cancel', 'Help')",
)
if Tkinter.TkVersion >= 8.4:
disabledState = 'readonly'
else:
disabledState = 'disabled'
self._buttons = Pmw.ComboBox(parent, label_text = 'buttons:',
labelpos = 'w',
entry_state = disabledState,
scrolledlist_items = buttons)
self._buttons.pack(fill = 'x', expand = 1, padx = 8, pady = 8)
self._buttons.selectitem(3)
buttonboxpos = ('n', 's', 'e', 'w',)
self._buttonboxpos = Pmw.ComboBox(parent, label_text = 'buttonboxpos:',
labelpos = 'w',
entry_state = disabledState,
scrolledlist_items = buttonboxpos)
self._buttonboxpos.pack(fill = 'x', expand = 1, padx = 8, pady = 8)
self._buttonboxpos.selectitem(2)
pad = ('0', '8', '20', '50',)
self._pad = Pmw.ComboBox(parent, label_text = 'padx, pady:',
labelpos = 'w',
entry_state = disabledState,
scrolledlist_items = pad)
self._pad.pack(fill = 'x', expand = 1, padx = 8, pady = 8)
self._pad.selectitem(1)
Pmw.alignlabels((self._buttons, self._buttonboxpos, self._pad))
# Create button to launch the dialog.
w = Tkinter.Button(parent, text = 'Create dialog',
command = self._createDialog)
w.pack(padx = 8, pady = 8)
self.dialog = None
def _createDialog(self):
# Set the option database.
buttons = self._buttons.get()
buttonboxpos = self._buttonboxpos.get()
pad = self._pad.get()
self.parent.option_add('*MessageDialog.buttons', buttons)
self.parent.option_add('*MessageDialog.buttonboxpos', buttonboxpos)
self.parent.option_add('*ButtonBox.padx', pad)
self.parent.option_add('*ButtonBox.pady', pad)
# Create the dialog.
if self.dialog is not None:
self.dialog.destroy()
text = ('This dialog was created by setting the Tk ' +
'option database:\n\n *MessageDialog.buttons: ' + buttons +
'\n *MessageDialog.buttonboxpos: ' + buttonboxpos +
'\n *ButtonBox.padx: ' + pad +
'\n *ButtonBox.pady: ' + pad)
self.dialog = Pmw.MessageDialog(self.parent,
defaultbutton = 0,
title = 'Pmw option database demonstration',
message_justify = 'left',
message_text = text)
self.dialog.iconname('Test dialog')
# Return the defaults to normal, otherwise all other demos
# will be affected.
self.parent.option_add('*MessageDialog.buttons', "('OK',)")
self.parent.option_add('*MessageDialog.buttonboxpos', 's')
self.parent.option_add('*ButtonBox.padx', 8)
self.parent.option_add('*ButtonBox.pady', 8)
######################################################################
# Create demo in root window for testing.
if __name__ == '__main__':
root = Tkinter.Tk()
Pmw.initialise(root, useTkOptionDb = 1)
root.title(title)
exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy)
exitButton.pack(side = 'bottom')
widget = Demo(root)
root.mainloop()