Changeset adfcab3 in sasview for guiframe


Ignore:
Timestamp:
May 23, 2008 2:59:03 PM (16 years ago)
Author:
Mathieu Doucet <doucetm@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
7cb0353
Parents:
1a5c946
Message:

Only add menu Perspectives and Panels menu items when they contain more than 1 item

File:
1 edited

Legend:

Unmodified
Added
Removed
  • guiframe/gui_manager.py

    rfa452e4 radfcab3  
    2222    import config 
    2323from sans.guicomm.events import EVT_STATUS 
     24 
     25import warnings 
     26warnings.simplefilter("ignore") 
     27 
    2428 
    2529class ViewerFrame(wx.Frame): 
     
    262266        filemenu.Append(101,'&Quit', 'Exit')  
    263267         
     268        # Add sub menus 
     269        menubar.Append(filemenu,  '&File') 
     270         
    264271        # Plot menu 
    265272        # Attach a menu item for each panel in our 
     
    267274        # TODO: clean this up. We should just identify 
    268275        # plug-in panels and add them all. 
    269         viewmenu = wx.Menu() 
    270          
     276         
     277        # Only add the panel menu if there is more than one panel 
     278        n_panels = 0 
    271279        for plug in self.plugins: 
    272             plugmenu = wx.Menu() 
    273280            pers = plug.get_perspective() 
    274281            if len(pers)>0: 
    275                 for item in self.panels: 
    276                     if item == 'default': 
    277                         continue 
    278                     panel = self.panels[item] 
    279                     if panel.window_name in pers: 
    280                         plugmenu.Append(int(item), panel.window_caption, "Show %s window" % panel.window_caption) 
    281                         wx.EVT_MENU(self, int(item), self._on_view) 
    282                  
    283                 viewmenu.AppendMenu(wx.NewId(), plug.sub_menu, plugmenu, plug.sub_menu) 
    284              
     282                n_panels += 1 
     283         
     284        if n_panels>1: 
     285            viewmenu = wx.Menu() 
     286            for plug in self.plugins: 
     287                plugmenu = wx.Menu() 
     288                pers = plug.get_perspective() 
     289                if len(pers)>0: 
     290                    for item in self.panels: 
     291                        if item == 'default': 
     292                            continue 
     293                        panel = self.panels[item] 
     294                        if panel.window_name in pers: 
     295                            plugmenu.Append(int(item), panel.window_caption, "Show %s window" % panel.window_caption) 
     296                            wx.EVT_MENU(self, int(item), self._on_view) 
     297                     
     298                    viewmenu.AppendMenu(wx.NewId(), plug.sub_menu, plugmenu, plug.sub_menu) 
     299                 
     300            menubar.Append(viewmenu, '&Panel') 
     301 
    285302        # Perspective 
    286303        # Attach a menu item for each defined perspective. 
    287         p_menu = wx.Menu() 
    288          
     304        # Only add the perspective menu if there are more than one perspectves 
     305        n_perspectives = 0 
    289306        for plug in self.plugins: 
    290307            if len(plug.get_perspective()) > 0: 
    291                 id = wx.NewId() 
    292                 p_menu.Append(id, plug.sub_menu, "Switch to %s perspective" % plug.sub_menu) 
    293                 wx.EVT_MENU(self, id, plug.on_perspective) 
     308                n_perspectives += 1 
     309         
     310        if n_perspectives>1: 
     311            p_menu = wx.Menu() 
     312            for plug in self.plugins: 
     313                if len(plug.get_perspective()) > 0: 
     314                    id = wx.NewId() 
     315                    p_menu.Append(id, plug.sub_menu, "Switch to %s perspective" % plug.sub_menu) 
     316                    wx.EVT_MENU(self, id, plug.on_perspective) 
     317            menubar.Append(p_menu,   '&Perspective') 
    294318  
    295319        # Help menu 
     
    312336         
    313337         
    314         # Add sub menus 
    315         menubar.Append(filemenu,  '&File') 
     338         
    316339         
    317340        # Look for plug-in menus 
     
    323346         
    324347 
    325         menubar.Append(viewmenu, '&Panel') 
    326         menubar.Append(p_menu,   '&Perspective') 
    327348        menubar.Append(helpmenu, '&Help') 
    328349          
Note: See TracChangeset for help on using the changeset viewer.