Changeset a45037aa in sasview for guiframe


Ignore:
Timestamp:
Feb 4, 2011 3:28:27 PM (14 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:
3f0351c6
Parents:
27f3831
Message:

working on toolbar

Location:
guiframe
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • guiframe/gui_manager.py

    rf036c692 ra45037aa  
    3838 
    3939from sans.guiframe.events import EVT_STATUS 
    40 from sans.guiframe.events import EVT_ADD_MANY_DATA 
     40from sans.guiframe.events import EVT_PANEL_ON_FOCUS 
    4141from sans.guiframe.events import StatusEvent 
    4242from sans.guiframe.events import NewPlotEvent 
     
    110110        self._applications_menu = None 
    111111        self._edit_menu = None 
     112        self._toolbar_menu = None 
    112113        #tool bar 
    113114        self._toolbar = None 
     
    141142        self.Bind(EVT_STATUS, self._on_status_event) 
    142143        #Register add extra data on the same panel event on load 
    143         self.Bind(EVT_ADD_MANY_DATA, self.set_panel_on_focus) 
     144        self.Bind(EVT_PANEL_ON_FOCUS, self.set_panel_on_focus) 
    144145         
    145146    def set_panel_on_focus(self, event): 
     
    150151        """ 
    151152        self.panel_on_focus = event.panel 
     153        panel_name = 'No panel on focus' 
     154        application_name = 'No Selected Application' 
    152155        if self.panel_on_focus is not None and self._data_panel is not None: 
    153             name = self.panel_on_focus.window_name 
    154             self._data_panel.set_panel_on_focus() 
    155             if self._toolbar is not None: 
    156                 self.update_button(self.panel_on_focus) 
    157             #update edit menu 
    158             self.enable_edit_menu() 
     156            panel_name = self.panel_on_focus.window_caption 
     157            self._data_panel.set_panel_on_focus(panel_name) 
     158        #update toolbar 
     159        self._update_toolbar_helper() 
     160        #update edit menu 
     161        self.enable_edit_menu() 
     162        print "set_panel_on_focus", event.panel.window_caption 
    159163             
    160164    def build_gui(self): 
     
    179183        self.SetStatusBar(self.sb) 
    180184        # Add panel 
    181         default_flag = wx.aui.AUI_MGR_DEFAULT| wx.aui.AUI_MGR_ALLOW_ACTIVE_PANE 
     185        default_flag = wx.aui.AUI_MGR_DEFAULT#| wx.aui.AUI_MGR_ALLOW_ACTIVE_PANE 
    182186        self._mgr = wx.aui.AuiManager(self, flags=default_flag) 
    183187    
     
    356360                              Name("default"). 
    357361                              Center(). 
    358                               CloseButton(True). 
     362                              CloseButton(False). 
     363                              MinimizeButton(False). 
    359364                              # This is where we set the size of 
    360365                              # the application window 
     
    374379        if style != GUIFRAME.MANAGER_ON: 
    375380            self._mgr.GetPane(self.panels["data_panel"].window_name).Hide() 
    376             print "manager_on" 
    377381        else: 
    378382            self._mgr.GetPane(self.panels["data_panel"].window_name).Show() 
     
    390394                    self._mgr.AddPane(p, wx.aui.AuiPaneInfo(). 
    391395                                          Name(p.window_name).Caption(p.window_caption). 
    392                                            CenterPane(). 
     396                                           #CenterPane(). 
     397                                            Center(). 
     398                                            CloseButton(False). 
     399                                            MinimizeButton(False). 
    393400                                           MinSize(wx.Size(w, h)). 
    394401                                           Hide()) 
     
    508515        self._toolbar = GUIToolBar(self, -1) 
    509516        self.SetToolBar(self._toolbar) 
    510         self._toolbar.update_button() 
     517        self._update_toolbar_helper() 
     518        #self._on_hide_toolbar(event=None) 
     519     
     520    def _update_toolbar_helper(self): 
     521        """ 
     522        """ 
     523        application_name = 'No Selected Application' 
     524        panel_name = 'No Panel on Focus' 
     525        self._toolbar.update_toolbar(self.panel_on_focus) 
    511526        if self._current_perspective is not None: 
    512             name = self._current_perspective.sub_menu 
    513             self._toolbar.set_active_perspective(name) 
    514            
     527            application_name = self._current_perspective.sub_menu 
     528        if self.panel_on_focus is not None: 
     529            panel_name = self.panel_on_focus.window_caption 
     530        self._toolbar.update_button(application_name=application_name,  
     531                                        panel_name=panel_name) 
     532        self._toolbar.Realize() 
     533         
    515534    def _add_menu_tool(self): 
    516535        """ 
     
    635654            wx.EVT_MENU(self, id, self.set_plotpanel_fixed) 
    636655            id = wx.NewId() 
     656            style1 = self.__gui_style & GUIFRAME.MULTIPLE_APPLICATIONS 
     657            if style1 == GUIFRAME.MULTIPLE_APPLICATIONS: 
     658                id = wx.NewId() 
     659                self._toolbar_menu = preferences_menu.Append(id,'&Hide Toolbar', '') 
     660                wx.EVT_MENU(self, id, self._on_hide_toolbar) 
    637661            self._window_menu.AppendSubMenu(preferences_menu,'&Preferences') 
    638662        if self._window_menu.GetMenuItemCount() == 0: 
     
    809833            self.show_data_panel(event=None) 
    810834                 
     835    def _on_hide_toolbar(self, event=None): 
     836        """ 
     837        hide or show toolbar 
     838        """ 
     839        if self._toolbar is None: 
     840            return 
     841        if self._toolbar.IsShown(): 
     842            if self._toolbar_menu is not None: 
     843                self._toolbar_menu.SetItemLabel('Show Toolbar') 
     844            self._toolbar.Hide() 
     845        else: 
     846            if self._toolbar_menu is not None: 
     847                self._toolbar_menu.SetItemLabel('Hide Toolbar') 
     848            self._toolbar.Show() 
     849        self._toolbar.Realize() 
     850         
    811851    def _on_status_event(self, evt): 
    812852        """ 
     
    12411281        if self._current_perspective is not None: 
    12421282            self._add_current_plugin_menu() 
     1283            for panel in self.panels.values(): 
     1284                if hasattr(panel, 'CENTER_PANE') and panel.CENTER_PANE: 
     1285                    for name in self._current_perspective.get_perspective(): 
     1286                        print "current",name.lower(),panel.window_name.lower(), name == panel.window_name 
     1287                        if name == panel.window_name: 
     1288                            panel.on_set_focus(event=None) 
     1289                            print "panel", name,  panel.window_name,  panel.window_caption 
     1290                            break 
     1291                            
    12431292            name = self._current_perspective.sub_menu 
    12441293            if self._data_panel is not None: 
    12451294                self._data_panel.set_active_perspective(name) 
    12461295                self._check_applications_menu() 
    1247             #update tool bar 
    1248             if self._toolbar is not None: 
    1249                 self._toolbar.set_active_perspective(name) 
     1296            ##update tool bar 
     1297            #if self._toolbar is not None: 
     1298            #    self._update_toolbar_helper() 
    12501299                 
    12511300    def _check_applications_menu(self): 
     
    13411390        """ 
    13421391        if self.panel_on_focus is not None and self._edit_menu is not None: 
    1343             flag = panel_on_focus.get_undo_flag() 
     1392            flag = self.panel_on_focus.get_undo_flag() 
    13441393            self._edit_menu.Enable(GUIFRAME_ID.UNDO_ID, flag) 
    1345             flag = panel_on_focus.get_redo_flag() 
     1394            flag = self.panel_on_focus.get_redo_flag() 
    13461395            self._edit_menu.Enable(GUIFRAME_ID.REDO_ID, flag) 
    1347             flag = panel_on_focus.get_bookmark_flag() 
     1396            flag = self.panel_on_focus.get_bookmark_flag() 
    13481397            self._edit_menu.Enable(GUIFRAME_ID.BOOKMARK_ID, flag) 
    1349             flag = panel_on_focus.get_save_flag() 
     1398            flag = self.panel_on_focus.get_save_flag() 
    13501399            self._edit_menu.Enable(GUIFRAME_ID.SAVE_ID, flag) 
    1351             flag = panel_on_focus.get_print_flag() 
     1400            flag = self.panel_on_focus.get_print_flag() 
    13521401            self._edit_menu.Enable(GUIFRAME_ID.PRINT_ID, flag) 
    1353             flag = panel_on_focus.get_prieview_flag() 
     1402            flag = self.panel_on_focus.get_preview_flag() 
    13541403            self._edit_menu.Enable(GUIFRAME_ID.PREVIEW_ID, flag) 
    1355             flag = panel_on_focus.get_zoom_flag() 
     1404            flag = self.panel_on_focus.get_zoom_flag() 
    13561405            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_ID, flag) 
    1357             flag = panel_on_focus.get_zoom_in_flag() 
     1406            flag = self.panel_on_focus.get_zoom_in_flag() 
    13581407            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_IN_ID, flag) 
    1359             flag = panel_on_focus.get_zoom_out_flag() 
     1408            flag = self.panel_on_focus.get_zoom_out_flag() 
    13601409            self._edit_menu.Enable(GUIFRAME_ID.ZOOM_OUT_ID, flag) 
    1361             flag = panel_on_focus.get_drag_flag() 
     1410            flag = self.panel_on_focus.get_drag_flag() 
    13621411            self._edit_menu.Enable(GUIFRAME_ID.DRAG_ID, flag) 
    1363             flag = panel_on_focus.get_reset_flag() 
     1412            flag = self.panel_on_focus.get_reset_flag() 
    13641413            self._edit_menu.Enable(GUIFRAME_ID.RESET_ID, flag) 
    13651414        else: 
  • guiframe/gui_toolbar.py

    rf036c692 ra45037aa  
    5656                                             size=tbar_size) 
    5757        self.AddLabelTool(GUIFRAME_ID.REDO_ID, 'Redo', redo_bmp,shortHelp='Redo') 
    58         self.button = wx.Button(self, -1, 'Welcome') 
    59         self.button.SetForegroundColour('black') 
    60         self.button.SetBackgroundColour('#1874CD') 
    61         #self.button.Disable() 
    62         self.AddControl(self.button) 
     58        #add button for the current application 
     59        self.button_application = wx.Button(self, -1, 'Welcome') 
     60        self.button_application.SetForegroundColour('black') 
     61        self.button_application.SetBackgroundColour('#1874CD') 
     62        self.AddControl(self.button_application) 
     63         #add button for the panel on focus 
     64        self.button_panel = wx.Button(self, -1, 'No Panel') 
     65        self.button_panel.SetForegroundColour('black') 
     66        self.button_panel.SetBackgroundColour('#90EE90') 
     67        self.AddControl(self.button_panel) 
    6368     
    6469        self.SetToolBitmapSize(tbar_size) 
     
    9297                             id=GUIFRAME_ID.PRINT_ID) 
    9398             
    94     def set_active_perspective(self, name=''): 
     99    def update_button(self, application_name='', panel_name=''): 
    95100        """ 
    96101        """ 
    97         self.button.SetLabel(str(name)) 
    98          
    99     def update_button(self, panel=None): 
     102        self.button_application.SetLabel(str(application_name)) 
     103        self.button_panel.SetLabel(str(panel_name)) 
     104        print "update_button", application_name, panel_name 
     105    def update_toolbar(self, panel=None): 
    100106        """ 
    101107        """ 
  • guiframe/local_perspectives/plotting/Plotter1D.py

    r7a67e075 ra45037aa  
    2828from sans.guiframe.events import ErrorDataEvent 
    2929from sans.guiframe.events import RemoveDataEvent 
    30 from sans.guiframe.events import AddManyDataEvent 
     30from sans.guiframe.events import PanelOnFocusEvent 
    3131from sans.guiframe.events import EVT_NEW_LOADED_DATA 
    3232from sans.guiframe.utils import PanelMenu 
     
    6060                 dpi=None, style=wx.NO_FULL_REPAINT_ON_RESIZE, **kwargs): 
    6161        PlotPanel.__init__(self, parent, id=id, style=style, **kwargs) 
    62         PanelBase.__init__(self) 
     62        PanelBase.__init__(self, parent) 
    6363        ## Reference to the parent window 
    6464        self.parent = parent 
     
    210210             
    211211        #post nd event to notify guiframe that this panel is on focus 
    212         wx.PostEvent(self.parent, AddManyDataEvent(panel=self)) 
     212        wx.PostEvent(self.parent, PanelOnFocusEvent(panel=self)) 
    213213         
    214214    def _onRemove(self, event): 
  • guiframe/panel_base.py

    rf036c692 ra45037aa  
    1111################################################################################ 
    1212 
     13from sans.guiframe.events import PanelOnFocusEvent 
     14import wx 
    1315 
    1416class PanelBase: 
     
    2426    #CENTER_PANE = True 
    2527     
    26     def __init__(self): 
     28    def __init__(self, parent=None): 
    2729        """ 
    2830        Initialize some flag that Viewerframe used 
     
    4244        self._drag_flag = False 
    4345        self._reset_flag = False 
    44          
     46        self.parent = parent 
     47        self.Bind(wx.EVT_LEFT_DOWN, self.on_set_focus) 
     48        self.Bind(wx.EVT_TEXT_ENTER, self.on_set_focus) 
     49        self.Bind(wx.EVT_MIDDLE_DOWN, self.on_set_focus) 
     50        self.Bind(wx.EVT_RIGHT_DOWN, self.on_set_focus) 
     51 
    4552    def _set_print_flag(self, flag=True): 
    4653        """ 
     
    4956        """ 
    5057        self._print_flag = flag 
     58        self.on_set_focus(event=None) 
    5159     
    5260    def get_print_flag(self): 
     
    6270        """ 
    6371        self._undo_flag = flag 
    64          
     72        self.on_set_focus(event=None) 
     73        
    6574    def get_undo_flag(self): 
    6675        """ 
     
    7584        """ 
    7685        self._redo_flag = flag 
    77       
     86        self.on_set_focus(event=None) 
     87     
    7888    def get_redo_flag(self): 
    7989        """ 
     
    8191        """ 
    8292        return self._redo_flag 
     93     
    8394     
    8495    def _set_zoomed_in_flag(self, flag=True): 
     
    8899        """ 
    89100        self._zoom_in_flag = flag 
     101        self.on_set_focus(event=None) 
     102 
    90103         
    91104    def get_zoom_in_flag(self): 
     
    101114        """ 
    102115        self._zoom_out_flag = flag 
     116        self.on_set_focus(event=None) 
    103117         
    104118    def get_zoom_out_flag(self): 
     
    114128        """ 
    115129        self._zoom_flag = flag 
    116          
     130        self.on_set_focus(event=None) 
     131     
    117132    def get_zoom_flag(self): 
    118133        """ 
     
    127142        """ 
    128143        self._bookmark_flag = flag 
    129          
     144        self.on_set_focus(event=None) 
     145        
    130146    def get_bookmark_flag(self): 
    131147        """ 
     
    140156        """ 
    141157        self._preview_flag = flag 
     158        self.on_set_focus(event=None) 
    142159         
    143160    def get_preview_flag(self): 
     
    153170        """ 
    154171        self._save_flag = flag 
    155          
     172        self.on_set_focus(event=None) 
     173 
    156174    def get_save_flag(self): 
    157175        """ 
     
    166184        """ 
    167185        self._drag_flag = flag 
    168          
     186        
    169187    def get_drag_flag(self): 
    170188        """ 
     
    179197        """ 
    180198        self._reset_flag = flag 
    181          
     199       
    182200    def get_reset_flag(self): 
    183201        """ 
     
    227245        if zoom mode is implemented 
    228246        """ 
    229     def on_set_focus(self, event): 
     247    def on_set_focus(self, event=None): 
    230248        """ 
    231249        The  derivative class is on focus if implemented 
    232250        """ 
     251        if self.parent is not None: 
     252            print "on_set_focus", self.window_name, self.parent 
     253            wx.PostEvent(self.parent, PanelOnFocusEvent(panel=self)) 
    233254         
    234255    def get_data(self): 
Note: See TracChangeset for help on using the changeset viewer.