Changeset 03314e7 in sasview


Ignore:
Timestamp:
Feb 11, 2011 8:53:48 PM (13 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:
44ad7f5
Parents:
229da98
Message:

working save state

Location:
guiframe
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • guiframe/events.py

    r52b8b74 r03314e7  
    2424##event for the panel on focus 
    2525(PanelOnFocusEvent, EVT_PANEL_ON_FOCUS)   = wx.lib.newevent.NewEvent() 
    26 # event to update state of each perspectives after state file is loaded 
    27 (InvStateUpdateEvent, EVT_INVSTATE_UPDATE)   = wx.lib.newevent.NewEvent() 
    28 (FitStateUpdateEvent, EVT_FITSTATE_UPDATE)   = wx.lib.newevent.NewEvent() 
     26 
  • guiframe/gui_manager.py

    reec8dbb r03314e7  
    149149        #Register add extra data on the same panel event on load 
    150150        self.Bind(EVT_PANEL_ON_FOCUS, self.set_panel_on_focus) 
    151          
    152    
     151     
     152    def get_toolbar(self): 
     153        """ 
     154        """ 
     155        return self._toolbar 
     156     
    153157    def set_panel_on_focus(self, event): 
    154158        """ 
     
    163167            panel_name = self.panel_on_focus.window_caption 
    164168            self._data_panel.set_panel_on_focus(panel_name) 
    165         #update toolbar 
    166         self._update_toolbar_helper() 
    167         #update edit menu 
    168         self.enable_edit_menu() 
     169            #update toolbar 
     170            self._update_toolbar_helper() 
     171            #update edit menu 
     172            self.enable_edit_menu() 
    169173        
    170174    def build_gui(self): 
     
    932936        return new_plot 
    933937  
    934     def get_data(self, path, format=None): 
     938    def get_data(self, path): 
    935939        """ 
    936940        """ 
     
    949953                   message=log_msg, path=path)     
    950954            return 
    951         try: 
    952             #reading a state file 
    953             for plug in self.plugins: 
    954                 reader, ext = plug.get_extensions() 
    955                 if reader is not None: 
    956                     #read the state of the single plugin 
    957                     if extension == ext: 
    958                         reader.read(path) 
    959                         return 
    960                     elif extension == '.svs': 
    961                         reader.read(path) 
    962         except: 
    963             raise 
    964                          
    965     def load_update(self, output=None, message=""): 
    966         """ 
    967         print update on the status bar 
    968         """ 
    969         if message != "": 
    970             wx.PostEvent(self, StatusEvent(status=message, 
    971                                                   type="progress", 
    972                                                    info="warning")) 
    973          
    974     def load_complete(self, output, message="", error_message="",  
    975                       extension=None, path=None): 
    976         """ 
    977          post message to  status bar and return list of data 
    978         """ 
    979         wx.PostEvent(self, StatusEvent(status=message, 
    980                                               info="warning", 
    981                                               type="stop")) 
    982         if error_message != "": 
    983             self.load_error(error_message) 
    984         #send a list of available data to plotting plugin 
    985         available_data = [] 
    986         if self._data_manager is not None: 
    987             self._data_manager.add_data(output) 
    988             temp = self._data_manager.get_selected_data() 
    989             for data_state in temp.values(): 
    990                 available_data.append(data_state.data) 
     955         
    991956        #reading a state file 
    992957        for plug in self.plugins: 
    993             #plug.on_set_state_helper(event=None) 
    994             _, ext = plug.get_extensions() 
    995             plug.set_state(state=None, datainfo=available_data) 
    996              
    997                  
     958            reader, ext = plug.get_extensions() 
     959            if reader is not None: 
     960                #read the state of the single plugin 
     961                if extension == ext: 
     962                    reader.read(path) 
     963                    return 
     964                elif extension == '.svs': 
     965                    reader.read(path) 
     966         
    998967        style = self.__gui_style & GUIFRAME.MANAGER_ON 
    999968        if style == GUIFRAME.MANAGER_ON: 
     
    1002971                self._data_panel.load_data_list(data_state) 
    1003972                self._mgr.GetPane(self._data_panel.window_name).Show(True) 
    1004          
     973                         
    1005974    def _on_open_state(self, event): 
    1006975        """ 
     
    1028997            if  basename.endswith('.svs'): 
    1029998                #remove panels for new states 
    1030                 for item in self.panels: 
    1031                     try: 
    1032                         self.panels[item].clear_panel() 
    1033                     except: 
    1034                         pass 
     999                for plug in self.plugins: 
     1000                    plug.clear_panel() 
     1001                    self.panel_on_focus = None 
     1002                 
    10351003            self.get_data(path) 
    10361004                 
     
    15791547        if self.panel_on_focus is not None: 
    15801548            self.panel_on_focus.on_reset(event) 
     1549             
     1550    def enable_undo(self): 
     1551        """ 
     1552        enable undo related control 
     1553        """ 
     1554        if self.panel_on_focus is not None: 
     1555            self._toolbar.enable_undo(self.panel_on_focus) 
     1556             
     1557    def enable_redo(self): 
     1558        """ 
     1559        enable redo  
     1560        """ 
     1561        if self.panel_on_focus is not None: 
     1562            self._toolbar.enable_redo(self.panel_on_focus) 
     1563             
     1564    def enable_bookmark(self): 
     1565        """ 
     1566        Bookmark  
     1567        """ 
     1568        if self.panel_on_focus is not None: 
     1569            self._toolbar.enable_bookmark(self.panel_on_focus) 
     1570             
     1571    def enable_save(self): 
     1572        """ 
     1573        save  
     1574        """ 
     1575        if self.panel_on_focus is not None: 
     1576            self._toolbar.enable_save(self.panel_on_focus) 
     1577             
     1578    def enable_preview(self): 
     1579        """ 
     1580        preview  
     1581        """ 
     1582        if self.panel_on_focus is not None: 
     1583            self._toolbar.enable_preview(self.panel_on_focus) 
     1584             
     1585    def enable_print(self): 
     1586        """ 
     1587        print  
     1588        """ 
     1589        if self.panel_on_focus is not None: 
     1590            self._toolbar.enable_print(self.panel_on_focus) 
     1591             
     1592    def enable_zoom(self): 
     1593        """ 
     1594        zoom  
     1595        """ 
     1596        if self.panel_on_focus is not None: 
     1597            self._toolbar.enable_zoom(self.panel_on_focus) 
     1598             
     1599    def enable_zoom_in(self): 
     1600        """ 
     1601        zoom in  
     1602        """ 
     1603        if self.panel_on_focus is not None: 
     1604            self._toolbar.enable_zoom_in(self.panel_on_focus) 
     1605             
     1606    def enable_zoom_out(self): 
     1607        """ 
     1608        zoom out  
     1609        """ 
     1610        if self.panel_on_focus is not None: 
     1611            self._toolbar.enable_zoom_out(self.panel_on_focus) 
     1612             
     1613    def enable_drag(self, event=None): 
     1614        """ 
     1615        drag  
     1616        """ 
     1617        if self.panel_on_focus is not None: 
     1618            self._toolbar.enable_drag(self.panel_on_focus) 
     1619             
     1620    def enable_reset(self): 
     1621        """ 
     1622        reset the current panel 
     1623        """ 
     1624        if self.panel_on_focus is not None: 
     1625            self._toolbar.enable_reset(self.panel_on_focus) 
    15811626         
    15821627class DefaultPanel(wx.Panel, PanelBase): 
  • guiframe/gui_toolbar.py

    r568658b r03314e7  
    196196            self.EnableTool(GUIFRAME_ID.RESET_ID, panel.get_reset_flag()) 
    197197        self.Realize() 
    198    
     198         
     199    def enable_undo(self, panel): 
     200        self.EnableTool(GUIFRAME_ID.PRINT_ID, panel.get_print_flag()) 
     201        self.Realize() 
     202         
     203    def enable_redo(self, panel): 
     204        self.EnableTool(GUIFRAME_ID.REDO_ID, panel.get_redo_flag()) 
     205        self.Realize() 
     206         
     207    def enable_print(self, panel): 
     208        self.EnableTool(GUIFRAME_ID.PRINT_ID, panel.get_print_flag()) 
     209        self.Realize() 
     210     
     211    def enable_zoom(self, panel): 
     212        self.EnableTool(GUIFRAME_ID.ZOOM_ID, panel.get_zoom_flag()) 
     213        self.Realize() 
     214         
     215    def enable_zoom_in(self, panel): 
     216        self.EnableTool(GUIFRAME_ID.ZOOM_IN_ID, panel.get_zoom_in_flag()) 
     217        self.Realize() 
     218         
     219    def enable_zoom_out(self, panel): 
     220        self.EnableTool(GUIFRAME_ID.ZOOM_OUT_ID, panel.get_zoom_out_flag()) 
     221        self.Realize() 
     222         
     223    def enable_bookmark(self, panel): 
     224        self.EnableTool(GUIFRAME_ID.BOOKMARK_ID, panel.get_bookmark_flag()) 
     225        self.Realize() 
     226         
     227    def enable_save(self, panel): 
     228        self.EnableTool(GUIFRAME_ID.SAVE_ID, panel.get_save_flag()) 
     229        self.Realize() 
     230         
     231    def enable_reset(self, panel): 
     232        self.EnableTool(GUIFRAME_ID.RESET_ID, panel.get_reset_flag()) 
     233        self.Realize() 
     234     
     235    def enable_preview(self, panel): 
     236        self.EnableTool(GUIFRAME_ID.PREVIEW_ID, panel.get_preview_flag()) 
     237        self.Realize() 
    199238 
    200239               
  • guiframe/panel_base.py

    rd20771f r03314e7  
    1010#copyright 2008, University of Tennessee 
    1111################################################################################ 
     12 
    1213 
    1314from sans.guiframe.events import PanelOnFocusEvent 
     
    3233        #panel manager 
    3334        self._manager = None 
    34          
     35        self.parent = parent 
    3536        self._print_flag = False 
    3637        self._undo_flag = False 
     
    4445        self._drag_flag = False 
    4546        self._reset_flag = False 
    46         self.parent = parent 
     47        self._has_changed = False 
     48         
    4749        self.Bind(wx.EVT_LEFT_DOWN, self.on_set_focus) 
    4850        self.Bind(wx.EVT_TEXT_ENTER, self.on_set_focus) 
    4951        self.Bind(wx.EVT_MIDDLE_DOWN, self.on_set_focus) 
    5052        self.Bind(wx.EVT_RIGHT_DOWN, self.on_set_focus) 
    51  
     53         
     54    def has_changed(self): 
     55        """ 
     56        """ 
     57        return self._has_changed 
     58             
    5259    def _set_print_flag(self, flag=True): 
    5360        """ 
     
    5562        be printed 
    5663        """ 
     64        if flag == self._print_flag: 
     65            self._has_changed = False 
     66            return 
     67        self._has_changed = True 
    5768        self._print_flag = flag 
    58         self.on_set_focus(event=None) 
    59      
     69        if self._manager is not None and self._manager.parent is not None: 
     70            self._manager.parent.enable_print() 
     71      
    6072    def get_print_flag(self): 
    6173        """ 
     
    6981        current action done can be canceled 
    7082        """ 
     83        if flag == self._undo_flag: 
     84            self._has_changed = False 
     85            return 
     86        self._has_changed = True 
    7187        self._undo_flag = flag 
    72         self.on_set_focus(event=None) 
    73         
     88        if self._manager is not None and self._manager.parent is not None: 
     89            self._manager.parent.enable_undo() 
     90       
    7491    def get_undo_flag(self): 
    7592        """ 
     
    83100        action done can be recovered 
    84101        """ 
     102        if flag == self._redo_flag: 
     103            self._has_changed = False 
     104            return 
     105        self._has_changed = True 
    85106        self._redo_flag = flag 
    86         self.on_set_focus(event=None) 
    87      
     107        if self._manager is not None and self._manager.parent is not None: 
     108            self._manager.parent.enable_redo() 
     109       
    88110    def get_redo_flag(self): 
    89111        """ 
     
    91113        """ 
    92114        return self._redo_flag 
    93      
    94115     
    95116    def _set_zoomed_in_flag(self, flag=True): 
     
    98119        can be zoomed in 
    99120        """ 
     121        if self._zoom_in_flag == flag: 
     122            self._has_changed = False 
     123            return 
     124        self._has_changed = True 
    100125        self._zoom_in_flag = flag 
    101         self.on_set_focus(event=None) 
    102  
    103          
     126        if self._manager is not None and self._manager.parent is not None: 
     127            self._manager.parent.enable_zoom_in() 
     128        
    104129    def get_zoom_in_flag(self): 
    105130        """ 
     
    113138        can be zoomed out 
    114139        """ 
     140        if self._zoom_out_flag == flag: 
     141            self._has_changed = False 
     142            return 
     143        self._has_changed = True 
    115144        self._zoom_out_flag = flag 
    116         self.on_set_focus(event=None) 
     145        if self._manager is not None and self._manager.parent is not None: 
     146            self._manager.parent.enable_zoom_out() 
    117147         
    118148    def get_zoom_out_flag(self): 
     
    127157        can be zoomed 
    128158        """ 
     159        if flag == self._zoom_flag: 
     160            self._has_changed = False 
     161            return 
     162        self._has_changed = True 
    129163        self._zoom_flag = flag 
    130         self.on_set_focus(event=None) 
    131      
     164        if self._manager is not None and self._manager.parent is not None: 
     165            self._manager.parent.enable_zoom() 
     166      
    132167    def get_zoom_flag(self): 
    133168        """ 
     
    141176        can be bookmarked 
    142177        """ 
     178        if flag == self._bookmark_flag: 
     179            self._has_changed = False 
     180            return 
     181        self._has_changed = True 
    143182        self._bookmark_flag = flag 
    144         self.on_set_focus(event=None) 
     183        if self._manager is not None and self._manager.parent is not None: 
     184            self._manager.parent.enable_bookmark() 
    145185        
    146186    def get_bookmark_flag(self): 
     
    155195        can be previewed 
    156196        """ 
     197        if flag == self._preview_flag: 
     198            self._has_changed = False 
     199            return 
     200        self._has_changed = True 
    157201        self._preview_flag = flag 
    158         self.on_set_focus(event=None) 
    159          
     202        if self._manager is not None and self._manager.parent is not None: 
     203            self._manager.parent.enable_preview() 
     204        
    160205    def get_preview_flag(self): 
    161206        """ 
     
    169214        can be saved 
    170215        """ 
     216        if flag == self._save_flag: 
     217            self._has_changed = False 
     218            return 
     219        self._has_changed = True 
    171220        self._save_flag = flag 
    172         self.on_set_focus(event=None) 
     221        if self._manager is not None and self._manager.parent is not None: 
     222            self._manager.parent.enable_save() 
    173223 
    174224    def get_save_flag(self): 
     
    183233        dragging motion is possible 
    184234        """ 
     235        if self._drag_flag == flag: 
     236            self._has_changed = False 
     237            return 
     238        self._has_changed = True 
    185239        self._drag_flag = flag 
     240        if self._manager is not None and self._manager.parent is not None: 
     241            self._manager.parent.enable_drag() 
    186242        
    187243    def get_drag_flag(self): 
     
    196252        can be reset 
    197253        """ 
     254        if self._reset_flag == flag: 
     255            self._has_changed = False 
     256            return 
     257        self._has_changed = True 
    198258        self._reset_flag = flag 
     259        if self._manager is not None and self._manager.parent is not None: 
     260            self._manager.parent.enable_reset() 
    199261       
    200262    def get_reset_flag(self): 
  • guiframe/plugin_base.py

    r75fbd17 r03314e7  
    4848        self.perspective = [] 
    4949         
     50    def clear_panel(self): 
     51        """ 
     52        clear all related panels 
     53        """ 
    5054    def get_extensions(self): 
    5155        """ 
Note: See TracChangeset for help on using the changeset viewer.