home *** CD-ROM | disk | FTP | other *** search
/ tusportal.tus.k12.pa.us / tusportal.tus.k12.pa.us.tar / tusportal.tus.k12.pa.us / Wyse / latest-image.raw / 0.img / usr / lib / pygtk / 2.0 / demos / menu.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2010-05-11  |  3KB  |  86 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. '''Menu
  5.  
  6. This example demonstrates the use of various menu types in gtk.  It
  7. demonstrates the new submenu navigation and scrolling menu features of
  8. gtk 2.0.'''
  9. import gtk
  10.  
  11. def create_menu(depth, length = 5):
  12.     if depth < 1:
  13.         return None
  14.     menu = gtk.Menu()
  15.     group = None
  16.     for i in range(length):
  17.         menuitem = gtk.RadioMenuItem(group, 'item %2d - %d' % (depth, i))
  18.         group = menuitem
  19.         menu.add(menuitem)
  20.         menuitem.show()
  21.         if depth > 1:
  22.             submenu = create_menu(depth - 1)
  23.             menuitem.set_submenu(submenu)
  24.             continue
  25.         depth < 1
  26.     
  27.     return menu
  28.  
  29.  
  30. class MenuDemo(gtk.Window):
  31.     
  32.     def __init__(self, parent = None):
  33.         gtk.Window.__init__(self)
  34.         
  35.         try:
  36.             self.set_screen(parent.get_screen())
  37.         except AttributeError:
  38.             self.connect('destroy', (lambda : gtk.main_quit()))
  39.  
  40.         self.set_title(self.__class__.__name__)
  41.         vbox = gtk.VBox()
  42.         self.add(vbox)
  43.         menubar = gtk.MenuBar()
  44.         vbox.pack_start(menubar, expand = False)
  45.         menuitem = gtk.MenuItem('test\nline2')
  46.         menuitem.set_submenu(create_menu(2, 50))
  47.         menubar.add(menuitem)
  48.         menuitem = gtk.MenuItem('foo')
  49.         menuitem.set_submenu(create_menu(2))
  50.         menubar.add(menuitem)
  51.         menuitem = gtk.MenuItem('bar')
  52.         menuitem.set_submenu(create_menu(2))
  53.         menuitem.set_right_justified(True)
  54.         menubar.add(menuitem)
  55.         vbox2 = gtk.VBox(spacing = 10)
  56.         vbox2.set_border_width(10)
  57.         vbox.pack_start(vbox2)
  58.         combo_box = gtk.combo_box_new_text()
  59.         combo_box.set_wrap_width(2)
  60.         for i in range(50):
  61.             combo_box.append_text('item - %d' % i)
  62.         
  63.         combo_box.set_active(0)
  64.         vbox2.pack_start(combo_box)
  65.         separator = gtk.HSeparator()
  66.         vbox.pack_start(separator, expand = False)
  67.         vbox2 = gtk.VBox(spacing = 10)
  68.         vbox2.set_border_width(10)
  69.         vbox.pack_start(vbox2, expand = False)
  70.         button = gtk.Button('close')
  71.         button.connect('clicked', (lambda button, w = self: w.destroy()))
  72.         vbox2.pack_start(button)
  73.         button.set_flags(gtk.CAN_DEFAULT)
  74.         button.grab_default()
  75.         self.show_all()
  76.  
  77.  
  78.  
  79. def main():
  80.     MenuDemo()
  81.     gtk.main()
  82.  
  83. if __name__ == '__main__':
  84.     main()
  85.  
  86.