def add_catalog_items(self, menu_add):
def add_to_menu(grp_menu, path) :
for ptr in range(len(path)) :
try :
p = path[ptr]
if p.tag.lower() in ["menu", "menuitem", "group", "sub"] :
name = p.get("name") if "name" in p.keys() else ""
a_menu_item = gtk.ImageMenuItem(_(name))
tooltip = _(p.get("tool_tip")) if "tool_tip" in p.keys() else None
if (tooltip is not None) and (tooltip != '') :
a_menu_item.set_tooltip_markup(_(tooltip))
icon = p.get('icon')
if icon is not None :
img = gtk.Image()
img.set_from_pixbuf(get_pixbuf(icon, add_menu_icon_size))
a_menu_item.set_image(img)
src = p.get('src')
if src is not None :
a_menu_item.connect("activate", self.add_feature, src)
grp_menu.append(a_menu_item)
if p.tag.lower() in ['menu', "group"] :
a_menu = gtk.Menu()
a_menu_item.set_submenu(a_menu)
add_to_menu(a_menu, p)
elif p.tag.lower() == "separator":
grp_menu.append(gtk.SeparatorMenuItem())
except:
pass
if self.catalog.tag != 'ncam_ui' :
mess_dlg(_('Menu is old format, no toolbar defined.\nUpdate to new format'))
add_to_menu(menu_add, self.catalog)
else :
for _ptr in range(len(self.catalog)) :
_p = self.catalog[_ptr]
if _p.tag.lower() in ["menu", "group"] :
add_to_menu(menu_add, _p)
评论列表
文章目录