Changeset 1b1bbf9 in sasview


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

Files:
8 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 
  • sansview/perspectives/fitting/basepage.py

    re030625 r1b1bbf9  
    2323_QMIN_DEFAULT = 0.0005 
    2424_QMAX_DEFAULT = 0.5 
    25 _NPTS_DEFAULT = 50 
     25_NPTS_DEFAULT = 200 
    2626#Control panel width  
    2727if sys.platform.count("darwin")==0: 
  • sansview/perspectives/fitting/fitpage.py

    r59b8c74 r1b1bbf9  
    27222722            self._show_ftol_dialog() 
    27232723            flag = True 
     2724        elif event.AltDown() or event.ShiftDown(): 
     2725            flag = False 
    27242726        else: 
    2725             flag = False 
     2727            return 
    27262728        # make event free 
    27272729        event.Skip() 
  • sansview/perspectives/fitting/fitpanel.py

    r2296316 r1b1bbf9  
    33import string  
    44import wx 
    5 import wx.lib.flatnotebook as fnb 
     5#from wx.lib.flatnotebook import FlatNotebook as nb 
     6from wx.aui import AuiNotebook as nb 
    67 
    78from sans.guiframe.panel_base import PanelBase 
     
    1415 
    1516 
    16 class FitPanel(fnb.FlatNotebook, PanelBase):     
     17class FitPanel(nb, PanelBase):     
    1718 
    1819    """ 
     
    3233        """ 
    3334        """ 
    34         fnb.FlatNotebook.__init__(self, parent, -1, 
     35        nb.__init__(self, parent, -1, 
    3536                    style= wx.aui.AUI_NB_WINDOWLIST_BUTTON| 
    3637                    wx.aui.AUI_NB_DEFAULT_STYLE| 
    3738                    wx.CLIP_CHILDREN) 
    3839        PanelBase.__init__(self, parent) 
    39         self.SetWindowStyleFlag(style=fnb.FNB_FANCY_TABS) 
     40        #self.SetWindowStyleFlag(style=nb.FNB_FANCY_TABS) 
    4041        self._manager = manager 
    4142        self.parent = parent 
     
    4445        self.menu_mng = models.ModelManager() 
    4546        self.model_list_box = self.menu_mng.get_model_list() 
    46         #pageClosedEvent = fnb.EVT_FLATNOTEBOOK_PAGE_CLOSING  
    47         self.Bind(fnb.EVT_FLATNOTEBOOK_PAGE_CLOSING , self.on_close_page) 
     47        #pageClosedEvent = nb.EVT_FLATNOTEBOOK_PAGE_CLOSING  
     48        pageClosedEvent = wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE 
     49         
     50        self.Bind(pageClosedEvent, self.on_close_page) 
    4851         ## save the title of the last page tab added 
    4952        self.fit_page_name = {} 
     
    5861        self.Bind(basepage.EVT_NEXT_STATE, self._onRedo) 
    5962        self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.on_page_changing) 
    60        
     63 
    6164        #add default pages 
    6265        self.add_default_pages() 
     
    375378        """ 
    376379        #remove hint page 
    377         if selected_page == self.hint_page: 
    378             return 
     380        #if selected_page == self.hint_page: 
     381        #    return 
    379382        ## removing sim_page 
    380383        if selected_page == self.sim_page : 
  • sansview/perspectives/fitting/fitting.py

    rbb9f322 r1b1bbf9  
    277277                wx.PostEvent(self.parent, NewPlotEvent(plot=data,  
    278278                                                       title=str(data.title))) 
     279                 
    279280        except: 
    280281            raise 
    281282            #msg = "Fitting Set_data: " + str(sys.exc_value) 
    282283            #wx.PostEvent(self.parent, StatusEvent(status=msg, info="error")) 
    283              
     284     
     285    def set_top_panel(self): 
     286        """ 
     287        Close default (welcome) panel 
     288        """ 
     289        if 'default' in self.parent.panels: 
     290            self.parent.on_close_welcome_panel() 
     291 
     292              
    284293    def set_theory(self,  theory_list=None): 
    285294        """ 
     
    352361                wx.PostEvent(self.parent, NewPlotEvent(plot=data, 
    353362                                        title=data.title)) 
    354                 self.add_fit_page(data) 
    355                 caption = panel.window_name 
    356                 self.store_data(page=panel.id, data=data, caption=caption) 
    357                 self.mypanels.append(panel)  
     363                page = self.add_fit_page(data) 
     364                caption = page.window_name 
     365                self.store_data(page=page.id, data=data, caption=caption) 
     366                self.mypanels.append(page)  
    358367                 
    359368            # get ready for the next set_state 
     
    689698                wx.PostEvent(self.parent, StatusEvent(status=msg, 
    690699                                                       info="warning")) 
     700            self.set_top_panel() 
    691701        except: 
    692702            raise 
     
    726736        if self.sim_page is not None: 
    727737            self.sim_page.draw_page() 
     738        return page 
    728739             
    729740    def _onEVT_SLICER_PANEL(self, event): 
     
    851862                data = plottable 
    852863                self.add_fit_page(data=data) 
     864        self.set_top_panel() 
    853865             
    854866    def update_fit(self, result=None, msg=""): 
  • sansview/perspectives/fitting/ftol_dialog.py

    r2296316 r1b1bbf9  
    1111import wx 
    1212import sys 
    13 from sans.guicomm.events import StatusEvent   
     13from sans.guiframe.events import StatusEvent   
    1414# default ftol 
    1515F_TOL = 1.49012e-08  
Note: See TracChangeset for help on using the changeset viewer.