Changeset b0eee0f0 in sasview for guiframe


Ignore:
Timestamp:
May 18, 2009 6:12:00 PM (16 years ago)
Author:
Gervaise Alina <gervyh@…>
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:
25ccf33
Parents:
0aeabc6
Message:

testing history of open data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • guiframe/gui_manager.py

    rb8d7491 rb0eee0f0  
    2020import wx.aui 
    2121import os, sys 
     22import xml 
     23from xml import xpath 
    2224try: 
    2325    # Try to find a local config 
     
    227229        # Check for update 
    228230        self._check_update(None) 
    229         
     231        ## maximum number of opened files' paths to store 
     232        self.n_maxfileopen =  2 
     233        ## number of file open 
     234        self.n_fileOpen=0 
     235        ## list of path of open files  
     236        self.filePathList=[] 
     237        ## list of open file with name form menu 
     238        #self._saveOpenData() 
    230239        # Register the close event so it calls our own method 
    231240        wx.EVT_CLOSE(self, self._onClose) 
     
    471480         
    472481        # File menu 
    473         filemenu = wx.Menu() 
     482        self.filemenu = wx.Menu() 
    474483         
    475484        id = wx.NewId() 
    476         filemenu.Append(id, '&Open', 'Open a file') 
     485        self.filemenu.Append(id, '&Open', 'Open a file') 
    477486        wx.EVT_MENU(self, id, self._on_open) 
    478      
     487        #self.filemenu.AppendSeparator() 
     488         
    479489        id = wx.NewId() 
    480         filemenu.Append(id,'&Quit', 'Exit')  
     490        self.filemenu.Append(id,'&Quit', 'Exit')  
    481491        wx.EVT_MENU(self, id, self.Close) 
    482492         
    483493        # Add sub menus 
    484         menubar.Append(filemenu,  '&File') 
     494        menubar.Append(self.filemenu,  '&File') 
    485495         
    486496        # Plot menu 
     
    621631         
    622632    def _onClose(self, event): 
     633        """ 
     634            Store info to retrieve in xml before closing the application 
     635        """ 
     636        try: 
     637            doc = xml.dom.minidom.Document() 
     638            main_node = doc.createElement("file Path") 
     639             
     640            doc.appendChild(main_node) 
     641         
     642            for item in self.filePathList: 
     643                id, menuitem_name , path, title = item 
     644                pt1 = doc.createElement("File") 
     645                pt1.setAttribute("name", menuitem_name) 
     646                pt2 = doc.createElement("path") 
     647                pt2.appendChild(doc.createTextNode(str(path))) 
     648                pt1.appendChild(pt2) 
     649                pt3 = doc.createElement("title") 
     650                pt3.appendChild(doc.createTextNode(str(title))) 
     651                pt1.appendChild(pt3) 
     652                 
     653                main_node.appendChild(pt1) 
     654                 
     655                
     656            fd = open("fileOpened.xml",'w') 
     657            fd.write(doc.toprettyxml()) 
     658            fd.close() 
     659        except: 
     660            pass 
     661         
    623662        import sys 
    624663        wx.Exit() 
    625664        sys.exit() 
     665                    
    626666                    
    627667    def Close(self, event=None): 
     
    679719            dialog.ShowModal() 
    680720             
     721             
     722    def _saveOpenData(self): 
     723        """ 
     724            Savename and path of n opened data  into as xml file 
     725        """ 
     726        try: 
     727            fd = open("fileOpened.xml",'r') 
     728            from xml.dom.minidom import parse 
     729            dom = parse(fd) 
     730            ## Check the format version number 
     731            nodes = xpath.Evaluate('file Path\File', dom) 
     732            print "node",nodes 
     733            if nodes[0].hasAttributes(): 
     734                print "--->" 
     735            fd.close() 
     736        except: 
     737            raise 
     738        
     739        
     740         
     741    def _onreloaFile(self, event):   
     742        """ 
     743            load a data previously opened  
     744        """ 
     745        from data_loader import plot_data 
     746        for item in self.filePathList: 
     747            id, menuitem_name , path, title = item 
     748            if id == event.GetId(): 
     749                if path and os.path.isfile(path): 
     750                    plot_data(self, path) 
     751                    break 
     752             
     753         
    681754    def set_manager(self, manager): 
    682755        """ 
     
    731804            try: 
    732805                self._default_save_location = os.path.dirname(path) 
     806                
     807                self.n_fileOpen += 1 
     808                if self.n_fileOpen==1: 
     809                    pos= self.filemenu.GetMenuItemCount()-1 
     810                    #self.filemenu.InsertSeparator(pos ) 
     811                
     812                id = wx.NewId() 
     813                filename= os.path.basename(path) 
     814                dir= os.path.split(self._default_save_location)[1] 
     815                title= str(os.path.join(dir,filename ))  
     816                menuitem_name = str(self.n_fileOpen)+". "+ title 
     817                position= self.filemenu.GetMenuItemCount()-2 
     818                #self.filemenu.Insert(id=id, pos= position,text=menuitem_name,help=str(path) )  
     819                #self.filePathList.append(( id, menuitem_name, path, title)) 
     820                #wx.EVT_MENU(self, id, self._onreloaFile) 
     821                 
     822                ## construct menu item for open file 
     823                if self.n_fileOpen == self.n_maxfileopen +1: 
     824                    ## reach the maximun number of path to store 
     825                    self.n_fileOpen = 0 
     826                    id, menuitem_name , path, title = self.filePathList[0] 
     827                    self.filemenu.Delete(id) 
     828                    self.filePathList.pop(0) 
     829                    for item in self.filePathList: 
     830                        id, menuitem_name , path, title = item 
     831                        self.n_fileOpen += 1 
     832                        label = str(self.n_fileOpen)+". "+ title 
     833                        #self.filemenu.FindItemById(id).SetItemLabel(label) 
     834                         
     835                           
    733836            except: 
    734                 pass 
     837                raise 
     838                #pass 
    735839        return path 
    736840     
Note: See TracChangeset for help on using the changeset viewer.