Changeset 1b1bbf9 in sasview for guiframe


Ignore:
Timestamp:
Apr 6, 2011 8:42:32 AM (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:
2ca51f44
Parents:
16865897
Message:

focus color (plots) and adjust panel sizes a bit

Location:
guiframe
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • guiframe/data_panel.py

    r73581ce r1b1bbf9  
    2020from sans.guiframe.panel_base import PanelBase 
    2121 
    22 PANEL_WIDTH = 200 
     22PANEL_WIDTH = 180 
    2323#PANEL_HEIGHT = 560 
    24 PANEL_HEIGHT = 840 
    25 STYLE_FLAG = wx.SUNKEN_BORDER|CT.TR_HAS_BUTTONS| CT.TR_HIDE_ROOT|\ 
     24PANEL_HEIGHT = 700 
     25STYLE_FLAG =wx.RAISED_BORDER|CT.TR_HAS_BUTTONS| CT.TR_HIDE_ROOT|\ 
    2626                    wx.WANTS_CHARS|CT.TR_HAS_VARIABLE_ROW_HEIGHT 
    2727                     
     
    5959    window_name = "Data Panel" 
    6060    ## Title to appear on top of the window 
    61     window_caption = "Data Panel" 
     61    window_caption = "Data Explorer" 
    6262    #type of window  
    6363    window_type = "Data Panel" 
     
    6868                 size=(PANEL_WIDTH,PANEL_HEIGHT), manager=None, *args, **kwds): 
    6969        kwds['size']= size 
     70        kwds['style'] = STYLE_FLAG 
    7071        ScrolledPanel.__init__(self, parent=parent, *args, **kwds) 
    7172        PanelBase.__init__(self) 
     
    8283        self.owner = None 
    8384        self.do_layout() 
    84         
     85        self.Bind(wx.EVT_SHOW, self.on_close_page) 
     86         
    8587    def do_layout(self): 
    8688        """ 
     
    99101        self.vbox  = wx.BoxSizer(wx.VERTICAL) 
    100102        self.sizer1 = wx.BoxSizer(wx.VERTICAL) 
    101         self.sizer1.SetMinSize((w/12, h*2/5)) 
     103        self.sizer1.SetMinSize((w/13, h*2/5)) 
    102104       
    103105        self.sizer2 = wx.BoxSizer(wx.VERTICAL) 
     
    637639                              theory_id=theory_id, 
    638640                              append=False) 
    639         
     641         
     642    def on_close_page(self, event=None): 
     643        """ 
     644        On close 
     645        """ 
     646        if event != None: 
     647            event.Skip() 
     648 
     649        # send parent to update menu with no show nor hide action 
     650        self.parent.show_data_panel(action=False) 
     651     
     652         
    640653    def on_freeze(self, event): 
    641654        """ 
     
    668681    ALWAYS_ON = True 
    669682     
    670     def __init__(self, parent=None, owner=None, manager=None,size=(400, 800), 
     683    def __init__(self, parent=None, owner=None, manager=None,size=(200, 800), 
    671684                         list_of_perspective=[],list=[], *args, **kwds): 
    672685        kwds['size'] = size 
  • guiframe/gui_manager.py

    r3450e7f r1b1bbf9  
    8888         
    8989        wx.Frame.__init__(self, parent=parent, title=title, pos=pos,size=size) 
     90        # title 
     91        self.title = title 
    9092        # Preferred window size 
    9193        self._window_width, self._window_height = size 
     
    132134        #tool bar 
    133135        self._toolbar = None 
     136        # (un)-focus color 
     137        #self.color = '#b3b3b3' 
    134138        ## Find plug-ins 
    135139        # Modify this so that we can specify the directory to look into 
     
    171175        self.Bind(EVT_PANEL_ON_FOCUS, self.set_panel_on_focus) 
    172176        self.Bind(EVT_APPEND_BOOKMARK, self.append_bookmark) 
    173      
     177         
     178         
    174179    def set_input_file(self, input_file): 
    175180        """ 
     
    204209            #update edit menu 
    205210            self.enable_edit_menu() 
    206         
     211 
    207212    def build_gui(self): 
    208213        """ 
     
    217222            self.load_from_cmd(self._input_file) 
    218223        except: 
    219             msg = "%s Cannot load file %s\n" %(str(APPLICATION_NAME),  
    220                                              str(self._input_file)) 
    221             msg += str(sys.exc_value) + '\n' 
    222             print msg 
     224            pass 
    223225        self.post_init() 
     226        self.show_welcome_panel(None) 
    224227        self.Show(True) 
    225         #self._check_update(None) 
    226               
     228        self._check_update(None) 
     229     
     230             
    227231    def _setup_layout(self): 
    228232        """ 
     
    236240        default_flag = wx.aui.AUI_MGR_DEFAULT| wx.aui.AUI_MGR_ALLOW_ACTIVE_PANE 
    237241        self._mgr = wx.aui.AuiManager(self, flags=default_flag) 
    238     
     242        self._mgr.SetDockSizeConstraint(0.5, 0.5) 
     243        # border color 
     244        #self.b_color = wx.aui.AUI_DOCKART_BORDER_COLOUR   
     245        #self._mgr.GetArtProvider().SetColor(self.b_color, self.color) 
     246        #self._mgr.SetArtProvider(wx.aui.AuiDockArt(wx.AuiDefaultDockArt)) 
     247        #print "set", self._dockart.GetColour(13) 
    239248        # Load panels 
    240249        self._load_panels() 
     
    382391        style = self.__gui_style & (GUIFRAME.MANAGER_ON) 
    383392        if self._data_panel is not None  and (p == self._data_panel): 
    384             panel_width_min = self._window_width * 5/25  
     393            panel_width_min = self._window_width * 4/25  
     394            panel_height_min = self._window_height * 0.8 
    385395            return panel_width_min, panel_height_min 
    386396        if hasattr(p, "CENTER_PANE") and p.CENTER_PANE: 
     
    412422        self._mgr.AddPane(self.defaultPanel, wx.aui.AuiPaneInfo(). 
    413423                              Name("default"). 
    414                               Center(). 
    415                               CloseButton(False). 
    416                               MinimizeButton(False). 
     424                              CenterPane(). 
     425                              #CloseButton(False). 
     426                              #MinimizeButton(False). 
    417427                              # This is where we set the size of 
    418428                              # the application window 
     
    420430                                               self._window_height)). 
    421431                              Show()) 
     432 
    422433        #add data panel  
    423434        self.panels["data_panel"] = self._data_panel 
     
    425436        self._mgr.AddPane(self._data_panel, wx.aui.AuiPaneInfo(). 
    426437                              Name(self._data_panel.window_name). 
     438                              Caption(self._data_panel.window_caption). 
    427439                              Left(). 
    428440                              MinimizeButton(). 
    429                               CloseButton(False). 
     441                              CloseButton(True). 
    430442                              TopDockable(False). 
    431443                              BottomDockable(False). 
     
    434446                              BestSize(wx.Size(w, h)). 
    435447                              Hide()) 
     448 
    436449        style = self.__gui_style & GUIFRAME.MANAGER_ON 
     450        data_pane = self._mgr.GetPane(self.panels["data_panel"].window_name) 
    437451        if style != GUIFRAME.MANAGER_ON: 
    438             self._mgr.GetPane(self.panels["data_panel"].window_name).Hide() 
     452            data_pane.Hide() 
    439453        else: 
    440             self._mgr.GetPane(self.panels["data_panel"].window_name).Show() 
    441              
     454            data_pane.Show() 
     455         
     456    
    442457        # Add the panels to the AUI manager 
    443458        for panel_class in panels: 
    444459            p = panel_class 
    445460            id = wx.NewId() 
    446             w, h = self._get_panels_size(p) 
     461            #w, h = self._get_panels_size(p) 
    447462            # Check whether we need to put this panel 
    448463            # in the center pane 
    449464            if hasattr(p, "CENTER_PANE") and p.CENTER_PANE: 
     465                w, h = self._get_panels_size(p) 
    450466                if p.CENTER_PANE: 
    451467                    self.panels[str(id)] = p 
    452468                    self._mgr.AddPane(p, wx.aui.AuiPaneInfo(). 
    453                                           Name(p.window_name).Caption(p.window_caption). 
    454                                            #CenterPane(). 
    455                                             Center(). 
    456                                             CloseButton(False). 
    457                                             MinimizeButton(False). 
    458                                            MinSize(wx.Size(w, h)). 
    459                                            Hide()) 
     469                                          Name(p.window_name). 
     470                                          Caption(p.window_caption). 
     471                                          #CenterPane(). 
     472                                          Center(). 
     473                                          CloseButton(False). 
     474                                          #MinimizeButton(False). 
     475                                          #BestSize(wx.Size(w, h)). 
     476                                          Hide()) 
    460477            else: 
    461478                self.panels[str(id)] = p 
     
    556573        if style1 == GUIFRAME.FIXED_PANEL: 
    557574            self._mgr.AddPane(p, wx.aui.AuiPaneInfo(). 
    558                               Name(windowname).Caption(caption). 
     575                              Name(windowname). 
     576                              Caption(caption). 
     577                              Position(10). 
     578                              Floatable(). 
     579                              Right(). 
     580                              Dock(). 
    559581                              MinimizeButton(). 
    560582                              Resizable(True). 
    561583                              # Use a large best size to make sure the AUI  
    562584                              # manager takes all the available space 
    563                               BestSize(wx.Size(PLOPANEL_WIDTH, PLOPANEL_HEIGTH)). 
    564                               MinSize(wx.Size(PLOPANEL_WIDTH*0.9, PLOPANEL_HEIGTH))) 
     585                              BestSize(wx.Size(PLOPANEL_WIDTH,  
     586                                               PLOPANEL_HEIGTH))) 
     587                              #MinSize(wx.Size(PLOPANEL_WIDTH*0.9,  
     588                              #                PLOPANEL_HEIGTH))) 
    565589            self._popup_fixed_panel(p) 
    566590     
     
    572596                              # Use a large best size to make sure the AUI 
    573597                              #  manager takes all the available space 
    574                               BestSize(wx.Size(PLOPANEL_WIDTH, PLOPANEL_HEIGTH))) 
     598                              BestSize(wx.Size(PLOPANEL_WIDTH,  
     599                                               PLOPANEL_HEIGTH))) 
    575600            self._popup_floating_panel(p) 
    576601             
    577602        pane = self._mgr.GetPane(windowname) 
    578         self._mgr.MaximizePane(pane) 
    579         self._mgr.RestoreMaximizedPane() 
     603        #self._mgr.MaximizePane(pane) 
     604        #self._mgr.RestoreMaximizedPane() 
    580605        # Register for showing/hiding the panel 
    581606        wx.EVT_MENU(self, ID, self._on_view) 
     
    760785            if style1 == GUIFRAME.MULTIPLE_APPLICATIONS: 
    761786                id = wx.NewId() 
    762                 self._toolbar_menu = preferences_menu.Append(id,'&Hide Toolbar', '') 
     787                self._toolbar_menu = preferences_menu.Append(id,'&Show Toolbar', '') 
    763788                wx.EVT_MENU(self, id, self._on_hide_toolbar) 
    764789            self._window_menu.AppendSubMenu(preferences_menu,'&Preferences') 
     
    943968        if self.defaultPanel is None: 
    944969            return  
    945         self._mgr.GetPane(self.panels["default"].window_name).Hide() 
    946         self._mgr.Update() 
    947         # set a default perspective 
    948         self.set_default_perspective() 
    949          
     970        default_panel = self._mgr.GetPane(self.panels["default"].window_name) 
     971        if default_panel.IsShown(): 
     972            default_panel.Hide() 
     973             
     974            # set a default perspective 
     975            self.set_default_perspective() 
     976            self._mgr.Update() 
     977            # Show toolbar 
     978            self._on_hide_toolbar() 
     979             
    950980    def show_welcome_panel(self, event): 
    951981        """     
     
    965995                self._mgr.GetPane(self.panels[id].window_name).IsShown() 
    966996                self._mgr.GetPane(self.panels[id].window_name).Hide() 
     997            if self._toolbar != None and not self._toolbar.IsShown(): 
     998                self._toolbar.Show(True) 
     999            self._on_hide_toolbar() 
     1000 
    9671001        self._mgr.Update() 
    9681002        
     
    13661400                if self.panels[item].ALWAYS_ON: 
    13671401                    continue  
     1402             
    13681403            if self.panels[item].window_name in panels: 
    13691404                if not self._mgr.GetPane(self.panels[item].window_name).IsShown(): 
     
    13791414                    if self._mgr.GetPane(self.panels[item].window_name).IsShown(): 
    13801415                        self._mgr.GetPane(self.panels[item].window_name).Hide() 
     1416                 
    13811417        self._mgr.Update() 
    13821418         
    1383     def show_data_panel(self, event=None): 
     1419    def show_data_panel(self, event=None, action=True): 
    13841420        """ 
    13851421        show the data panel 
    13861422        """ 
     1423        if self._data_panel_menu == None: 
     1424            return 
    13871425        label = self._data_panel_menu.GetText() 
    13881426        if label == 'Data Explorer ON': 
    13891427            pane = self._mgr.GetPane(self.panels["data_panel"].window_name) 
    13901428            #if not pane.IsShown(): 
    1391             pane.Show(True) 
    1392             self._mgr.Update() 
     1429            if action:  
     1430                pane.Show(True) 
     1431                self._mgr.Update() 
    13931432            self.__gui_style = self.__gui_style | GUIFRAME.MANAGER_ON 
    13941433             
     
    13971436            pane = self._mgr.GetPane(self.panels["data_panel"].window_name) 
    13981437            #if not pane.IsShown(): 
    1399             pane.Show(False) 
    1400             self._mgr.Update() 
     1438            if action: 
     1439                pane.Show(False) 
     1440                self._mgr.Update() 
    14011441            self.__gui_style = self.__gui_style & (~GUIFRAME.MANAGER_ON) 
    14021442            self._data_panel_menu.SetText('Data Explorer ON') 
     
    14341474            #automatically send that to the current perspective 
    14351475            self.set_data(data_id=data_list.keys()) 
     1476            self.on_close_welcome_panel() 
    14361477        
    14371478    def set_data(self, data_id):  
     
    14421483        if self._current_perspective is not None: 
    14431484            self._current_perspective.set_data(list_data.values()) 
     1485            self.on_close_welcome_panel() 
    14441486        else: 
    14451487            msg = "Guiframe does not have a current perspective" 
     
    15421584                self._data_panel.set_active_perspective(name) 
    15431585                self._check_applications_menu() 
    1544    
     1586            #Set the SansView title 
     1587            self._set_title_name(name) 
     1588             
     1589             
     1590    def _set_title_name(self, name): 
     1591        """ 
     1592        Set the SansView title w/ the current application name 
     1593         
     1594        : param name: application name [string] 
     1595        """ 
     1596        # Set SanView Window title w/ application anme 
     1597        title = self.title + "  - " + name + " -" 
     1598        self.SetTitle(title) 
     1599             
    15451600    def _check_applications_menu(self): 
    15461601        """ 
     
    19892044            if os.path.isfile(cmd): 
    19902045                basename  = os.path.basename(cmd) 
    1991                 app_py = str(APPLICATION_NAME).lower() + '.py' 
    1992                 app_exe = str(APPLICATION_NAME).lower() + '.exe' 
    1993                 if basename.lower() in [app_py, app_exe]: 
     2046                if basename in ['sansview.py', 'sansview.exe']: 
    19942047                    input_file = sys.argv[1] 
    19952048        if input_file is None: 
     
    19972050        if self.frame is not None: 
    19982051            self.frame.set_input_file(input_file=input_file) 
    1999            
     2052          
     2053             
    20002054    def set_manager(self, manager): 
    20012055        """ 
  • guiframe/gui_toolbar.py

    r6d727ae r1b1bbf9  
    77from sans.guiframe.gui_style import GUIFRAME_ICON 
    88from wx.lib.platebtn import PB_STYLE_SQUARE, PB_STYLE_DROPARROW 
    9  
     9#Control panel width  
     10import sys 
     11if sys.platform.count("darwin")==0: 
     12    FONT_VARIANT = 0 
     13else: 
     14    FONT_VARIANT = 1 
     15     
    1016 
    1117def clear_image(image): 
     
    2733    def __init__(self, parent,  *args, **kwds): 
    2834        Tbar.__init__(self, parent,  *args, **kwds) 
     35        #Set window's font size  
     36        self.SetWindowVariant(variant=FONT_VARIANT) 
    2937        self.parent = parent 
    3038        self._bookmark_menu = None 
Note: See TracChangeset for help on using the changeset viewer.