Author: bugman Date: Sun May 13 16:51:32 2012 New Revision: 16283 URL: http://svn.gna.org/viewcvs/relax?rev=16283&view=rev Log: The user function menu has been split in half as it was far too long. Modified: branches/uf_redesign/gui/menu.py branches/uf_redesign/gui/spin_viewer/frame.py branches/uf_redesign/gui/uf_objects.py Modified: branches/uf_redesign/gui/menu.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/menu.py?rev=16283&r1=16282&r2=16283&view=diff ============================================================================== --- branches/uf_redesign/gui/menu.py (original) +++ branches/uf_redesign/gui/menu.py Sun May 13 16:51:32 2012 @@ -118,7 +118,7 @@ self.gui.Bind(wx.EVT_MENU, self.gui.show_pipe_editor, id=self.MENU_VIEW_PIPE_EDIT) # The auto generated 'User functions' menu entries. - self.menu_uf_id = build_uf_menus(parent=self.gui, menubar=self.menubar) + self.menu_uf_ids = build_uf_menus(parent=self.gui, menubar=self.menubar) # The 'Tools' menu entries. menu = wx.Menu() @@ -259,14 +259,16 @@ # The view menu entries. self.menubar.Enable(self.MENU_VIEW_PROMPT, enable) - # Loop over the user function menu items. - menu = self.menubar.GetMenu(self.menu_uf_id) - for item in menu.GetMenuItems(): - # Enable/disable. - item.Enable(enable) - - # Sub-menu. - submenu = item.GetSubMenu() - if submenu: - for subitem in submenu.GetMenuItems(): - subitem.Enable(enable) + # Loop over the user function menus. + for id in self.menu_uf_ids: + # Loop over the user function menu items. + menu = self.menubar.GetMenu(id) + for item in menu.GetMenuItems(): + # Enable/disable. + item.Enable(enable) + + # Sub-menu. + submenu = item.GetSubMenu() + if submenu: + for subitem in submenu.GetMenuItems(): + subitem.Enable(enable) Modified: branches/uf_redesign/gui/spin_viewer/frame.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/spin_viewer/frame.py?rev=16283&r1=16282&r2=16283&view=diff ============================================================================== --- branches/uf_redesign/gui/spin_viewer/frame.py (original) +++ branches/uf_redesign/gui/spin_viewer/frame.py Sun May 13 16:51:32 2012 @@ -116,7 +116,7 @@ self.SetMenuBar(self.menubar) # The user function menus. - self.menu_uf_id = build_uf_menus(parent=self, menubar=self.menubar) + self.menu_uf_ids = build_uf_menus(parent=self, menubar=self.menubar) def Show(self, show=True): Modified: branches/uf_redesign/gui/uf_objects.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/uf_objects.py?rev=16283&r1=16282&r2=16283&view=diff ============================================================================== --- branches/uf_redesign/gui/uf_objects.py (original) +++ branches/uf_redesign/gui/uf_objects.py Sun May 13 16:51:32 2012 @@ -57,8 +57,12 @@ @rtype: int """ - # The user function menu. - menu = wx.Menu() + # The user function menus. + menu1 = wx.Menu() + menu2 = wx.Menu() + + # The menu splitting. + pattern = '^[a-m]' # Initialise some variables. class_list = [] @@ -66,6 +70,8 @@ # Loop over the user functions. class_item = None + menu = menu1 + menu_index = 0 for name, data in uf_info.uf_loop(): # Split up the name. if search('\.', name): @@ -111,6 +117,11 @@ uf_id = wx.NewId() menu.AppendItem(build_menu_item(menu, id=uf_id, text=data.menu_text, icon=fetch_icon(data.gui_icon, size='16x16'))) + # New menu. + if menu_index == 0 and not search(pattern, name): + menu = menu2 + menu_index = 1 + # Bind the menu item to the parent. parent.Bind(wx.EVT_MENU, uf_store[name], id=uf_id) @@ -119,11 +130,13 @@ menu.AppendItem(class_item) # Add the user function menu to the menu bar. - title = "&User functions" - menubar.Append(menu, title) - - # Return the menu ID. - return menubar.FindMenu(title) + title1 = "&User functions (a-m)" + title2 = "&User functions (n-z)" + menubar.Append(menu1, title1) + menubar.Append(menu2, title2) + + # Return the menu IDs. + return [menubar.FindMenu(title1), menubar.FindMenu(title2)]