Changeset 2e3f9e3 in sasview for guiframe


Ignore:
Timestamp:
Apr 25, 2011 3:06:01 PM (14 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:
6f28e70
Parents:
fd224fd
Message:

fixed svs project saving

File:
1 edited

Legend:

Unmodified
Added
Removed
  • guiframe/gui_manager.py

    r5342eb8 r2e3f9e3  
    13411341        reader, ext = self._current_perspective.get_extensions() 
    13421342        path = None 
     1343        extension = '*' + APPLICATION_STATE_EXTENSION 
    13431344        dlg = wx.FileDialog(self, "Save Project file", 
    13441345                            self._default_save_location, "", 
    1345                              APPLICATION_STATE_EXTENSION,  
     1346                             extension,  
    13461347                             wx.SAVE) 
    13471348        if dlg.ShowModal() == wx.ID_OK: 
     
    13581359            doc = self.on_save_helper(doc, reader, panel, path) 
    13591360         
    1360              
    1361     def on_save_helper(self, doc, reader, panel, path): 
    1362         """ 
    1363         Save state into a file 
    1364         """ 
    1365         try: 
    1366             data = panel.get_data() 
    1367             state = panel.get_state() 
    1368  
    1369             if reader is not None: 
    1370                 if data is not None: 
    1371                     new_doc = reader.write_toXML(data, state) 
    1372                     if hasattr(doc, "firstChild"): 
    1373                         child = new_doc.firstChild.firstChild 
    1374                         doc.firstChild.appendChild(child)   
    1375                     else: 
    1376                         doc = new_doc  
    1377         except:  
    1378             raise 
    1379             #pass 
    13801361        # Write the XML document 
    13811362        if doc != None: 
     
    13861367            msg = "%s cannot read %s\n" % (str(APPLICATION_NAME), str(path)) 
    13871368            #raise RuntimeError, msg 
     1369                     
     1370    def on_save_helper(self, doc, reader, panel, path): 
     1371        """ 
     1372        Save state into a file 
     1373        """ 
     1374        try: 
     1375            if reader is not None: 
     1376                # case of a panel with multi-pages 
     1377                if hasattr(panel, "opened_pages"): 
     1378                    for uid, page in panel.opened_pages.iteritems(): 
     1379                        data = page.get_data() 
     1380                        # state must be cloned 
     1381                        state = page.get_state().clone() 
     1382                        if data is not None: 
     1383                            new_doc = reader.write_toXML(data, state) 
     1384                            if doc != None and hasattr(doc, "firstChild"): 
     1385                                child = new_doc.firstChild.firstChild 
     1386                                doc.firstChild.appendChild(child)   
     1387                            else: 
     1388                                doc = new_doc  
     1389                # case of only a panel 
     1390                else: 
     1391                    data = panel.get_data() 
     1392                    state = panel.get_state() 
     1393                    if data is not None: 
     1394                        new_doc = reader.write_toXML(data, state) 
     1395                        if doc != None and hasattr(doc, "firstChild"): 
     1396                            child = new_doc.firstChild.firstChild 
     1397                            doc.firstChild.appendChild(child)   
     1398                        else: 
     1399                            doc = new_doc  
     1400        except:  
     1401            raise 
     1402            #pass 
     1403 
    13881404        return doc 
    13891405 
Note: See TracChangeset for help on using the changeset viewer.