home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / Dialog.py < prev    next >
Text File  |  2003-12-30  |  2KB  |  50 lines

  1. # Dialog.py -- Tkinter interface to the tk_dialog script.
  2.  
  3. from Tkinter import *
  4. from Tkinter import _cnfmerge
  5.  
  6. if TkVersion <= 3.6:
  7.     DIALOG_ICON = 'warning'
  8. else:
  9.     DIALOG_ICON = 'questhead'
  10.  
  11.  
  12. class Dialog(Widget):
  13.     def __init__(self, master=None, cnf={}, **kw):
  14.         cnf = _cnfmerge((cnf, kw))
  15.         self.widgetName = '__dialog__'
  16.         Widget._setup(self, master, cnf)
  17.         self.num = self.tk.getint(
  18.                 self.tk.call(
  19.                       'tk_dialog', self._w,
  20.                       cnf['title'], cnf['text'],
  21.                       cnf['bitmap'], cnf['default'],
  22.                       *cnf['strings']))
  23.         try: Widget.destroy(self)
  24.         except TclError: pass
  25.     def destroy(self): pass
  26.  
  27. def _test():
  28.     d = Dialog(None, {'title': 'File Modified',
  29.                       'text':
  30.                       'File "Python.h" has been modified'
  31.                       ' since the last time it was saved.'
  32.                       ' Do you want to save it before'
  33.                       ' exiting the application.',
  34.                       'bitmap': DIALOG_ICON,
  35.                       'default': 0,
  36.                       'strings': ('Save File',
  37.                                   'Discard Changes',
  38.                                   'Return to Editor')})
  39.     print d.num
  40.  
  41.  
  42. if __name__ == '__main__':
  43.     t = Button(None, {'text': 'Test',
  44.                       'command': _test,
  45.                       Pack: {}})
  46.     q = Button(None, {'text': 'Quit',
  47.                       'command': t.quit,
  48.                       Pack: {}})
  49.     t.mainloop()
  50.