Exemple #1
0
 def create_methods(self, methods, menu):
    items = sorted(methods.items())
    for key, val in items:
       if type(val) == dict:
          item = self.create_methods(val, wx.Menu())
          id = self.get_id()
          compat_wx.extend_menu(menu, id, key, item)
       else:
          id = self.get_id()
          menu.Append(id, key)
          compat_wx.handle_event_1(self.parent, wx.EVT_MENU, self.OnPopupFunction, id)
          self.functions[id] = val
    return menu
Exemple #2
0
def build_menu(parent, menu_spec):
   global menu_item_id
   menu = wx.Menu()
   for name, func in menu_spec:
      if util.is_sequence(func):
         menu_item_id = wx.NewId()
         compat_wx.extend_menu(menu, menu_item_id, name, build_menu(parent, func))
      elif name == None:
         menu.AppendSeparator()
      else:
         menu_item_id = wx.NewId()
         menu.Append(menu_item_id, name)
         compat_wx.handle_event_1(parent, wx.EVT_MENU, func, menu_item_id)
   return menu
Exemple #3
0
 def create_methods(self, methods, menu):
    items = methods.items()
    items.sort()
    for key, val in items:
       if type(val) == dict:
          item = self.create_methods(val, wx.Menu())
          id = self.get_id()
          compat_wx.extend_menu(menu, id, key, item)
       else:
          id = self.get_id()
          menu.Append(id, key)
          compat_wx.handle_event_1(self.parent, wx.EVT_MENU, self.OnPopupFunction, id)
          self.functions[id] = val
    return menu
Exemple #4
0
    def create_menu(self, members, methods, type, type_name, extra_methods):
        menu = wx.Menu()
        # Top line
        if self.mode == HELP_MODE:
            menu.Append(0, "Help")
        id = self.get_id()
        menu.Append(id, type_name + " Image")
        menu.AppendSeparator()
        id = self.get_id()
        menu.Append(id, "new reference")
        compat_wx.handle_event_1(self.parent, wx.EVT_MENU,
                                 self.OnCreateReference, id)
        id = self.get_id()
        menu.Append(id, "new copy")
        compat_wx.handle_event_1(self.parent, wx.EVT_MENU, self.OnCreateCopy,
                                 id)
        id = self.get_id()
        menu.Append(id, "delete image")
        compat_wx.handle_event_1(self.parent, wx.EVT_MENU, self.OnDeleteImage,
                                 id)
        menu.AppendSeparator()

        info_menu = wx.Menu()
        id = self.get_id()
        compat_wx.extend_menu(menu, id, "Info", info_menu)
        # Variables
        for member in members:
            id = self.get_id()
            info_menu.Append(id, member)

        # Methods
        menu.AppendSeparator()
        self.functions = {}
        menu = self.create_methods(methods, menu)

        # Extra methods
        if len(extra_methods):
            menu.AppendSeparator()
            menu = self.create_extra_methods(extra_methods, menu)

        return menu
Exemple #5
0
   def create_menu(self, members, methods, type, type_name, extra_methods):
      menu = wx.Menu()
      # Top line
      if self.mode == HELP_MODE:
         menu.Append(0, "Help")
      id = self.get_id()
      menu.Append(id, type_name + " Image")
      menu.AppendSeparator()
      id = self.get_id()
      menu.Append(id, "new reference")
      compat_wx.handle_event_1(self.parent, wx.EVT_MENU, self.OnCreateReference, id)
      id = self.get_id()
      menu.Append(id, "new copy")
      compat_wx.handle_event_1(self.parent, wx.EVT_MENU, self.OnCreateCopy, id)
      id = self.get_id()
      menu.Append(id, "delete image")
      compat_wx.handle_event_1(self.parent, wx.EVT_MENU, self.OnDeleteImage, id)
      menu.AppendSeparator()

      info_menu = wx.Menu()
      id = self.get_id()
      compat_wx.extend_menu(menu, id, "Info", info_menu)
      # Variables
      for member in members:
         id = self.get_id()
         info_menu.Append(id, member)

      # Methods
      menu.AppendSeparator()
      self.functions = {}
      menu = self.create_methods(methods, menu)

      # Extra methods
      if len(extra_methods):
         menu.AppendSeparator()
         menu = self.create_extra_methods(extra_methods, menu)

      return menu