Changeset 66ff250 in sasview for sansview/perspectives/fitting/fitpanel.py
- Timestamp:
- Mar 18, 2011 6:20:50 PM (14 years ago)
- 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:
- e4957fb
- Parents:
- 511c6810
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/fitpanel.py
rf95301b r66ff250 8 8 from sans.guiframe.events import PanelOnFocusEvent 9 9 from sans.guiframe.events import StatusEvent 10 10 11 import basepage 11 12 import models … … 51 52 #page of simultaneous fit 52 53 self.sim_page = None 54 self.fit_engine_type = "scipy" 53 55 ## get the state of a page 54 56 self.Bind(basepage.EVT_PAGE_INFO, self._onGetstate) … … 56 58 self.Bind(basepage.EVT_NEXT_STATE, self._onRedo) 57 59 self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.on_page_changing) 58 60 59 61 #add default pages 60 62 self.add_default_pages() 61 63 64 def _on_engine_change(self, name='scipy'): 65 """ 66 """ 67 for panel in self.opened_pages.values(): 68 self.set_engine_helper(panel=panel, name=name) 69 70 def set_engine_helper(self, panel, name='scipy'): 71 """ 72 """ 73 self.fit_engine_type = name 74 if panel != self.sim_page: 75 panel._on_engine_change(name=self.fit_engine_type) 76 62 77 def update_model_list(self): 63 78 """ … … 67 82 68 83 69 def get_page_by_id(self, id):70 """ 71 """ 72 if id not in self.opened_pages:73 msg = "Fitpanel cannot find ID: %s in self.opened_pages" % str( id)84 def get_page_by_id(self, uid): 85 """ 86 """ 87 if uid not in self.opened_pages: 88 msg = "Fitpanel cannot find ID: %s in self.opened_pages" % str(uid) 74 89 raise ValueError, msg 75 90 else: 76 return self.opened_pages[ id]91 return self.opened_pages[uid] 77 92 78 93 def on_page_changing(self, event): … … 157 172 page_is_opened = False 158 173 if state is not None: 159 for id, panel in self.opened_pages.iteritems():174 for uid, panel in self.opened_pages.iteritems(): 160 175 #Don't return any panel is the exact same page is created 161 if id == panel.id:176 if uid == panel.uid: 162 177 # the page is still opened 163 178 panel.reset_page(state=state) … … 168 183 # add data associated to the page created 169 184 if panel is not None: 170 self._manager.store_page(page=panel. id, data=state.data)185 self._manager.store_page(page=panel.uid, data=state.data) 171 186 panel.reset_page(state=state) 172 187 panel.save_current_state() … … 250 265 page_finder= self._manager.get_page_finder() 251 266 self.sim_page = SimultaneousFitPage(self,page_finder=page_finder, id=-1) 252 self.sim_page. id = wx.NewId()267 self.sim_page.uid = wx.NewId() 253 268 self.AddPage(self.sim_page,"Simultaneous Fit", True) 254 269 self.sim_page.set_manager(self._manager) … … 262 277 from fitpage import FitPage 263 278 panel = FitPage(parent=self) 264 panel. id = wx.NewId()279 panel.uid = wx.NewId() 265 280 panel.populate_box(dict=self.model_list_box) 266 281 panel.set_manager(self._manager) 267 282 caption = str(panel.window_name) + " " + str(self._manager.index_model) 268 283 self.AddPage(panel, caption, select=True) 269 self.opened_pages[panel.id] = panel 284 self.opened_pages[panel.uid] = panel 285 self.set_engine_helper(panel=panel) 270 286 return panel 271 287 … … 308 324 page = self.add_empty_page() 309 325 pos = self.GetPageIndex(page) 310 page.id = wx.NewId()311 326 page.set_data(data) 312 327 self.SetPageText(pos, str(data.name)) 313 self.opened_pages[page. id] = page328 self.opened_pages[page.uid] = page 314 329 315 330 return page … … 320 335 """ 321 336 page = event.page 322 if page. id in self.fit_page_name:323 self.fit_page_name[page. id].appendItem(page.createMemento())337 if page.uid in self.fit_page_name: 338 self.fit_page_name[page.uid].appendItem(page.createMemento()) 324 339 325 340 def _onUndo(self, event ): … … 328 343 """ 329 344 page = event.page 330 if page. id in self.fit_page_name:331 if self.fit_page_name[page. id].getCurrentPosition()==0:345 if page.uid in self.fit_page_name: 346 if self.fit_page_name[page.uid].getCurrentPosition()==0: 332 347 state = None 333 348 else: 334 state = self.fit_page_name[page. id].getPreviousItem()349 state = self.fit_page_name[page.uid].getPreviousItem() 335 350 page._redo.Enable(True) 336 351 page.reset_page(state) … … 341 356 """ 342 357 page = event.page 343 if page. id in self.fit_page_name:344 length= len(self.fit_page_name[page. id])345 if self.fit_page_name[page. id].getCurrentPosition()== length -1:358 if page.uid in self.fit_page_name: 359 length= len(self.fit_page_name[page.uid]) 360 if self.fit_page_name[page.uid].getCurrentPosition()== length -1: 346 361 state = None 347 362 page._redo.Enable(False) 348 363 page._redo.Enable(True) 349 364 else: 350 state =self.fit_page_name[page. id].getNextItem()365 state =self.fit_page_name[page.uid].getNextItem() 351 366 page.reset_page(state) 352 367 … … 376 391 if selected_page in page_finder: 377 392 #Delete the name of the page into the list of open page 378 for id, list in self.opened_pages.iteritems():393 for uid, list in self.opened_pages.iteritems(): 379 394 #Don't return any panel is the exact same page is created 380 395 381 if flag and selected_page. id ==id:382 self._manager.remove_plot( id, theory=False)396 if flag and selected_page.uid == uid: 397 self._manager.remove_plot(uid, theory=False) 383 398 break 384 399 del page_finder[selected_page] … … 392 407 393 408 #Delete the name of the page into the list of open page 394 for id, list in self.opened_pages.iteritems():409 for uid, list in self.opened_pages.iteritems(): 395 410 #Don't return any panel is the exact same page is created 396 411 397 if selected_page. id ==id:398 del self.opened_pages[selected_page. id]412 if selected_page.uid == uid: 413 del self.opened_pages[selected_page.uid] 399 414 break 400 415
Note: See TracChangeset
for help on using the changeset viewer.