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
/
ui_manager.pyc
(
.txt
)
< prev
next >
Wrap
Python Compiled Bytecode
|
2010-05-11
|
6KB
|
82 lines
# Source Generated with Decompyle++
# File: in.pyc (Python 2.6)
'''UI Manager
The GtkUIManager object allows the easy creation of menus
from an array of actions and a description of the menu hierarchy.
'''
import gobject
import gtk
def activate_action(action):
print 'Action "%s" activated' % action.get_name()
def activate_radio_action(action, current):
print 'Radio action "%s" selected' % current.get_name()
entries = (('FileMenu', None, '_File'), ('PreferencesMenu', None, '_Preferences'), ('ColorMenu', None, '_Color'), ('ShapeMenu', None, '_Shape'), ('HelpMenu', None, '_Help'), ('New', gtk.STOCK_NEW, '_New', '<control>N', 'Create a new file', activate_action), ('Open', gtk.STOCK_OPEN, '_Open', '<control>O', 'Open a file', activate_action), ('Save', gtk.STOCK_SAVE, '_Save', '<control>S', 'Save current file', activate_action), ('SaveAs', gtk.STOCK_SAVE, 'Save _As...', None, 'Save to a file', activate_action), ('Quit', gtk.STOCK_QUIT, '_Quit', '<control>Q', 'Quit', activate_action), ('About', None, '_About', '<control>A', 'About', activate_action), ('Logo', 'demo-gtk-logo', None, None, 'GTK+', activate_action))
toggle_entries = (('Bold', gtk.STOCK_BOLD, '_Bold', '<control>B', 'Bold', activate_action, True),)
(COLOR_RED, COLOR_GREEN, COLOR_BLUE) = range(3)
color_entries = (('Red', None, '_Red', '<control>R', 'Blood', COLOR_RED), ('Green', None, '_Green', '<control>G', 'Grass', COLOR_GREEN), ('Blue', None, '_Blue', '<control>B', 'Sky', COLOR_BLUE))
(SHAPE_SQUARE, SHAPE_RECTANGLE, SHAPE_OVAL) = range(3)
shape_entries = (('Square', None, '_Square', '<control>S', 'Square', SHAPE_SQUARE), ('Rectangle', None, '_Rectangle', '<control>R', 'Rectangle', SHAPE_RECTANGLE), ('Oval', None, '_Oval', '<control>O', 'Egg', SHAPE_OVAL))
ui_info = "<ui>\n <menubar name='MenuBar'>\n <menu action='FileMenu'>\n <menuitem action='New'/>\n <menuitem action='Open'/>\n <menuitem action='Save'/>\n <menuitem action='SaveAs'/>\n <separator/>\n <menuitem action='Quit'/>\n </menu>\n <menu action='PreferencesMenu'>\n <menu action='ColorMenu'>\n <menuitem action='Red'/>\n <menuitem action='Green'/>\n <menuitem action='Blue'/>\n </menu>\n <menu action='ShapeMenu'>\n <menuitem action='Square'/>\n <menuitem action='Rectangle'/>\n <menuitem action='Oval'/>\n </menu>\n <menuitem action='Bold'/>\n </menu>\n <menu action='HelpMenu'>\n <menuitem action='About'/>\n </menu>\n </menubar>\n <toolbar name='ToolBar'>\n <toolitem action='Open'/>\n <toolitem action='Quit'/>\n <separator action='Sep1'/>\n <toolitem action='Logo'/>\n </toolbar>\n</ui>"
class UIManagerDemo(gtk.Window):
def __init__(self, parent = None):
gtk.Window.__init__(self)
try:
self.set_screen(parent.get_screen())
except AttributeError:
self.connect('destroy', (lambda : gtk.main_quit()))
self.set_title(self.__class__.__name__)
self.set_border_width(0)
actions = gtk.ActionGroup('Actions')
actions.add_actions(entries)
actions.add_toggle_actions(toggle_entries)
actions.add_radio_actions(color_entries, COLOR_RED, activate_radio_action)
actions.add_radio_actions(shape_entries, SHAPE_OVAL, activate_radio_action)
ui = gtk.UIManager()
ui.insert_action_group(actions, 0)
self.add_accel_group(ui.get_accel_group())
try:
mergeid = ui.add_ui_from_string(ui_info)
except gobject.GError:
msg = None
print 'building menus failed: %s' % msg
box1 = gtk.VBox(False, 0)
self.add(box1)
box1.pack_start(ui.get_widget('/MenuBar'), False, False, 0)
label = gtk.Label('Type\n<alt>\nto start')
label.set_size_request(200, 200)
label.set_alignment(0.5, 0.5)
box1.pack_start(label, True, True, 0)
separator = gtk.HSeparator()
box1.pack_start(separator, False, True, 0)
box2 = gtk.VBox(False, 10)
box2.set_border_width(10)
box1.pack_start(box2, False, True, 0)
button = gtk.Button('close')
button.connect('clicked', (lambda b, w = self: w.destroy()))
box2.pack_start(button, True, True, 0)
button.set_flags(gtk.CAN_DEFAULT)
button.grab_default()
self.show_all()
def main():
UIManagerDemo()
gtk.main()
if __name__ == '__main__':
main()