1 title = 'Pmw.MessageBar demonstration'
3 # Import Pmw from this directory tree.
5 sys.path[:0] = ['../../..']
11 def __init__(self, parent):
12 # Create and pack the MessageBar.
13 self._messagebar = Pmw.MessageBar(parent,
15 entry_relief='groove',
17 label_text = 'Status:')
18 self._messagebar.pack(side = 'bottom', fill = 'x',
19 expand = 1, padx = 10, pady = 10)
21 # Create and pack the ScrolledListBox to change the MessageBar.
22 self.box = Pmw.ScrolledListBox(parent,
23 listbox_selectmode='single',
24 items=('state', 'help', 'userevent', 'systemevent',
25 'usererror', 'systemerror', 'busy',),
26 label_text='Message type',
28 selectioncommand=self.selectionCommand)
29 self.box.pack(fill = 'both', expand = 'yes', padx = 10, pady = 10)
32 self._stateCounter = 0
34 def selectionCommand(self):
35 sels = self.box.getcurselection()
37 self._index = self._index + 1
39 if messagetype == 'state':
40 self._stateCounter = (self._stateCounter + 1) % 3
41 text = stateMessages[self._stateCounter]
43 text = text + ' (' + messagetype + ')'
44 self._messagebar.message('state', text)
46 text = messages[messagetype]
47 text = text + ' (' + messagetype + ')'
48 self._messagebar.message(messagetype, text)
49 if messagetype == 'busy':
53 self._messagebar.resetmessages('busy')
54 text = 'All files successfully removed'
55 text = text + ' (userevent)'
56 self._messagebar.message('userevent', text)
60 'help': 'Save current file',
61 'userevent': 'Saving file "foo"',
62 'busy': 'Busy deleting all files from file system ...',
63 'systemevent': 'File "foo" saved',
64 'usererror': 'Invalid file name "foo/bar"',
65 'systemerror': 'Failed to save file: file system full',
70 1: 'Database is down',
71 2: 'Waiting for reply from database',
74 ######################################################################
76 # Create demo in root window for testing.
77 if __name__ == '__main__':
82 exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy)
83 exitButton.pack(side = 'bottom')