Initial import
[gregoa/zavai.git] / zavai / menu.py
1 import sys
2 import zavai
3 import gtk
4
5 class Menu(gtk.VBox, zavai.Resource):
6     def __init__(self, registry, name, *args, **kw):
7         super(Menu, self).__init__()
8         self.vbox = self
9
10         print >>sys.stderr, "PARENT?", name
11         parent = None
12         pos = name.rfind(".")
13         if pos != -1:
14             parent = name[:pos]
15             print >>sys.stderr, "PARENT IS", parent
16             if parent == "menu":
17                 parent = None
18                 print >>sys.stderr, "PARENT MAIN?"
19
20         if parent is not None:
21             print >>sys.stderr, "MAKE PARENT"
22             self.vbox = gtk.VBox()
23             self.pack_start(self.vbox)
24             self.pack_start(registry.menu_link(parent, "Back"), True, True)
25
26     def add_child(self, widget):
27         self.vbox.pack_start(widget, True, True)
28
29 class MenuLink(gtk.Button, zavai.Resource):
30     def __init__(self, registry, targetName, label):
31         super(MenuLink, self).__init__(label)
32         self.target = "menu." + targetName
33         self.registry = registry
34         self.connect("clicked", self.on_click)
35
36     def on_click(self, *args):
37         self.registry.resource("app").show_widget(self.target)