Example #1
0
File: gui.py Project: ziberna/gnaf
 def menu_item(self, item):
     tooltip = None
     submenu = None
     function = None
     args = ()
     
     if isstr(item):
         text = item
     else:
         length = len(item)
         text = item[0]
         if length >= 2:
             if islist(item[1]):
                 submenu = item[1]
                 if length == 3:
                     tooltip = item[2]
             elif isstr(item[1]):
                 tooltip = item[1]
             elif iscallable(item[1]):
                 function = item[1]
                 if length >= 3:
                     if istuple(item[2]):
                         args = item[2]
                         if length >= 4:
                             tooltip = item[3]
                     else:
                         tooltip = item[2]
     
     if text == '-':
         menu_item_gtk = GtkSeparatorMenuItem()
         return menu_item_gtk
     if self.regex.ignore(text):
         return None
     
     text = wrap(self.regex.alias(text), self.menu_wrap)
     menu_item_gtk = GtkMenuItem(text)
     
     if tooltip != None and not self.regex.ignore(tooltip):
         tooltip = self.regex.alias(tooltip)
         tooltip = wrap(tooltip, self.tooltip_wrap)
         tooltip = self.markup_escape(tooltip)
         menu_item_gtk.set_tooltip_markup(tooltip)
     if submenu != None:
         menu_item_gtk.set_submenu(self.menu(submenu))
     if function != None:
         menu_item_gtk.connect('activate', lambda g, f=function, a=args: IdleAdd(f,*a))
     return menu_item_gtk
Example #2
0
File: gui.py Project: ziberna/gnaf
 def tooltip(self, markup=None):
     if markup == None:
         return self.tooltip_markup
     if self.regex.ignore(markup):
         return
     elif self.icon_gtk == None:
         self.icon_init()
     markup = self.regex.alias(markup)
     markup = wrap(markup, self.icon_tooltip_wrap)
     markup = self.markup_escape(markup)
     self.tooltip_markup = markup
     self.icon_gtk.set_tooltip_markup(markup)