Changeset b25caad in sasview


Ignore:
Timestamp:
Jan 14, 2012 4:13:47 PM (12 years ago)
Author:
Jae Cho <jhjcho@…>
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:
f706e09c
Parents:
6f140f2
Message:

added 'delete custom model menu'

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • calculatorview/src/sans/perspectives/calculator/model_editor.py

    r6f140f2 rb25caad  
    294294        self.param_tcl = EditWindow(self, id, wx.DefaultPosition,  
    295295                            wx.DefaultSize, wx.CLIP_CHILDREN|wx.SUNKEN_BORDER) 
     296        self.param_tcl.setDisplayLineNumbers(True) 
    296297        self.param_tcl.SetToolTipString(param_tip) 
    297298        self.param_sizer.AddMany([(param_txt, 0, wx.LEFT, 10), 
     
    305306        function_txt = wx.StaticText(self, -1, 'Function(x) : ')  
    306307        hint_function = "#Example:\n" 
    307         hint_function += "y = A + B * numpy.sin(x * math.pi)\n" 
    308         hint_function += "return y" 
     308        hint_function += "new_x = x * math.pi\n" 
     309        hint_function += "if new_x <= 0:\n" 
     310        hint_function += "    y = A + B\n" 
     311        hint_function += "else:\n" 
     312        hint_function += "    y = A + B * numpy.cos(new_x)\n" 
     313        hint_function += "return y\n" 
    309314        id  = wx.NewId()  
    310315        self.function_tcl = EditWindow(self, id, wx.DefaultPosition,  
    311316                            wx.DefaultSize, wx.CLIP_CHILDREN|wx.SUNKEN_BORDER) 
     317        self.function_tcl.setDisplayLineNumbers(True) 
    312318        self.function_tcl.SetToolTipString(hint_function) 
    313319        self.function_sizer.Add(function_txt, 0, wx.LEFT, 10) 
     
    567573        On close event 
    568574        """ 
    569         self.parent.new_model_frame = None 
     575        if self.parent != None: 
     576            self.parent.new_model_frame = None 
    570577        self.Destroy()   
    571578 
  • fittingview/src/sans/perspectives/fitting/fitting.py

    r6f140f2 rb25caad  
    249249        frame.Show(True)  
    250250     
     251    def delete_custom_model(self, event): 
     252        """ 
     253        Delete custom model file 
     254        """ 
     255        id = event.GetId() 
     256        label = self.delete_menu.GetLabel(id) 
     257        toks = os.path.splitext(label) 
     258        path = os.path.join(models.find_plugins_dir(), toks[0]) 
     259        try: 
     260            for ext in ['.py', '.pyc']: 
     261                p_path = path + ext 
     262                os.remove(p_path) 
     263            self.update_custom_combo() 
     264            self.delete_menu.Delete(id) 
     265            for item in self.edit_menu.GetMenuItems(): 
     266                if item.GetLabel() == label: 
     267                    self.edit_menu.DeleteItem(item) 
     268                    break 
     269        except: 
     270            msg ='Delete Error: \nCould not delete the file; Check if in use.' 
     271            wx.MessageBox(msg) 
     272     
    251273    def make_sum_model(self, event): 
    252274        """ 
     
    258280        model_list = model_manager.get_model_name_list() 
    259281 
    260         textdial = TextDialog(None, -1, 'Modify Sum(p1, p2) Model', model_list) 
     282        textdial = TextDialog(None, -1, 'Easy Sum(p1, p2)', model_list) 
    261283        self.put_icon(textdial) 
    262284        if textdial.ShowModal() == wx.ID_OK: 
     
    264286                label = textdial.getText() 
    265287                plug_dir = models.find_plugins_dir() 
    266                 fname = os.path.join(plug_dir, "sum_temp.py") 
     288                fname = os.path.join(plug_dir, "easy_sum_of_p1_p2.py") 
    267289                name1 = label[0] 
    268290                name2 = label[1] 
     
    300322        """ 
    301323        try: 
     324            # Update edit menus 
     325            self.set_edit_menu_helper(self.parent, self.edit_custom_model) 
     326            self.set_edit_menu_helper(self.parent, self.delete_custom_model) 
    302327            temp = self.fit_panel.reset_pmodel_list() 
    303328            if temp: 
     
    309334                        pos = page.formfactorbox.GetSelection() 
    310335                        page._show_combox_helper() 
    311                         page.formfactorbox.SetSelection(pos) 
    312                         page.formfactorbox.SetValue(current_val) 
     336                        new_val = page.formfactorbox.GetValue() 
     337                        if current_val != new_val and new_val != '': 
     338                            page.formfactorbox.SetValue(new_val) 
     339                        else: 
     340                            page.formfactorbox.SetValue(current_val) 
    313341        except: 
    314342            pass 
     
    321349        id = wx.NewId() 
    322350        #new_model_menu = wx.Menu() 
    323         self.edit_model_menu.Append(id, 'New Model Function',  
     351        self.edit_model_menu.Append(id, 'New',  
    324352                                   'Add a new model function')#,  
    325353                                   #new_model_menu)  
    326354        wx.EVT_MENU(owner, id,  self.make_new_model) 
    327355        id = wx.NewId() 
    328         self.edit_model_menu.Append(id, 'Modify Sum(p1, p2)',  
     356        self.edit_model_menu.Append(id, 'Sum(p1, p2)',  
    329357                                    'Sum of two model functions')  
    330358        wx.EVT_MENU(owner, id,  self.make_sum_model) 
     
    332360        self.edit_menu =wx.Menu() 
    333361        self.edit_model_menu.AppendMenu(e_id,  
    334                                     'Advanced Edit', self.edit_menu)  
    335         self.set_edit_menu_helper(owner) 
    336      
    337     def set_edit_menu_helper(self, owner): 
     362                                    'Advanced', self.edit_menu)  
     363        self.set_edit_menu_helper(owner, self.edit_custom_model) 
     364 
     365        d_id = wx.NewId() 
     366        self.delete_menu =wx.Menu() 
     367        self.edit_model_menu.AppendMenu(d_id,  
     368                                    'Delete', self.delete_menu) 
     369        self.set_edit_menu_helper(owner, self.delete_custom_model) 
     370     
     371    def set_edit_menu_helper(self, owner, menu): 
    338372        """ 
    339373        help for setting list of the edit model menu labels 
     
    343377            name = os.path.basename(item) 
    344378            toks = os.path.splitext(name) 
    345             if toks[1]=='.py' and not toks[0] =='__init__' \ 
    346                                 and not toks[0] =='sum_temp': 
     379            if toks[-1]=='.py' and not toks[0] =='__init__': 
     380                if menu == self.edit_custom_model: 
     381                    if toks[0] =='easy_sum_of_p1_p2': 
     382                        continue 
     383                    submenu = self.edit_menu 
     384                else: 
     385                    submenu = self.delete_menu 
     386                    #name = toks[0] 
    347387                has_file = False 
    348                 for item in self.edit_menu.GetMenuItems(): 
    349                     if name == self.edit_menu.GetLabel(item.GetId()): 
     388                for item in submenu.GetMenuItems(): 
     389                    if name == submenu.GetLabel(item.GetId()): 
    350390                        has_file = True 
    351391                if not has_file: 
    352392                    id = wx.NewId() 
    353                     self.edit_menu.Append(id, name)  
    354                     wx.EVT_MENU(owner, id,  self.edit_custom_model) 
     393                    submenu.Append(id, name)  
     394                    wx.EVT_MENU(owner, id,  menu) 
    355395                    has_file = False 
    356396 
Note: See TracChangeset for help on using the changeset viewer.