Index: guiframe/data_panel.py
===================================================================
--- guiframe/data_panel.py	(revision 73581ce74397080a590c1bac3e7eae03b2000cf3)
+++ guiframe/data_panel.py	(revision 1b1bbf9e33cd9b1a3338d3a449f2a011094f2f38)
@@ -20,8 +20,8 @@
 from sans.guiframe.panel_base import PanelBase
 
-PANEL_WIDTH = 200
+PANEL_WIDTH = 180
 #PANEL_HEIGHT = 560
-PANEL_HEIGHT = 840
-STYLE_FLAG = wx.SUNKEN_BORDER|CT.TR_HAS_BUTTONS| CT.TR_HIDE_ROOT|\
+PANEL_HEIGHT = 700
+STYLE_FLAG =wx.RAISED_BORDER|CT.TR_HAS_BUTTONS| CT.TR_HIDE_ROOT|\
                     wx.WANTS_CHARS|CT.TR_HAS_VARIABLE_ROW_HEIGHT
                     
@@ -59,5 +59,5 @@
     window_name = "Data Panel"
     ## Title to appear on top of the window
-    window_caption = "Data Panel"
+    window_caption = "Data Explorer"
     #type of window 
     window_type = "Data Panel"
@@ -68,4 +68,5 @@
                  size=(PANEL_WIDTH,PANEL_HEIGHT), manager=None, *args, **kwds):
         kwds['size']= size
+        kwds['style'] = STYLE_FLAG
         ScrolledPanel.__init__(self, parent=parent, *args, **kwds)
         PanelBase.__init__(self)
@@ -82,5 +83,6 @@
         self.owner = None
         self.do_layout()
-       
+        self.Bind(wx.EVT_SHOW, self.on_close_page)
+        
     def do_layout(self):
         """
@@ -99,5 +101,5 @@
         self.vbox  = wx.BoxSizer(wx.VERTICAL)
         self.sizer1 = wx.BoxSizer(wx.VERTICAL)
-        self.sizer1.SetMinSize((w/12, h*2/5))
+        self.sizer1.SetMinSize((w/13, h*2/5))
       
         self.sizer2 = wx.BoxSizer(wx.VERTICAL)
@@ -637,5 +639,16 @@
                               theory_id=theory_id,
                               append=False)
-       
+        
+    def on_close_page(self, event=None):
+        """
+        On close
+        """
+        if event != None:
+            event.Skip()
+
+        # send parent to update menu with no show nor hide action
+        self.parent.show_data_panel(action=False)
+    
+        
     def on_freeze(self, event):
         """
@@ -668,5 +681,5 @@
     ALWAYS_ON = True
     
-    def __init__(self, parent=None, owner=None, manager=None,size=(400, 800),
+    def __init__(self, parent=None, owner=None, manager=None,size=(200, 800),
                          list_of_perspective=[],list=[], *args, **kwds):
         kwds['size'] = size
Index: guiframe/gui_manager.py
===================================================================
--- guiframe/gui_manager.py	(revision 3450e7fa1dc22fbbebc889679efad347cf58ce9b)
+++ guiframe/gui_manager.py	(revision 1b1bbf9e33cd9b1a3338d3a449f2a011094f2f38)
@@ -88,4 +88,6 @@
         
         wx.Frame.__init__(self, parent=parent, title=title, pos=pos,size=size)
+        # title
+        self.title = title
         # Preferred window size
         self._window_width, self._window_height = size
@@ -132,4 +134,6 @@
         #tool bar
         self._toolbar = None
+        # (un)-focus color
+        #self.color = '#b3b3b3'
         ## Find plug-ins
         # Modify this so that we can specify the directory to look into
@@ -171,5 +175,6 @@
         self.Bind(EVT_PANEL_ON_FOCUS, self.set_panel_on_focus)
         self.Bind(EVT_APPEND_BOOKMARK, self.append_bookmark)
-    
+        
+        
     def set_input_file(self, input_file):
         """
@@ -204,5 +209,5 @@
             #update edit menu
             self.enable_edit_menu()
-       
+
     def build_gui(self):
         """
@@ -217,12 +222,11 @@
             self.load_from_cmd(self._input_file)
         except:
-            msg = "%s Cannot load file %s\n" %(str(APPLICATION_NAME), 
-                                             str(self._input_file))
-            msg += str(sys.exc_value) + '\n'
-            print msg
+            pass
         self.post_init()
+        self.show_welcome_panel(None)
         self.Show(True)
-        #self._check_update(None)
-             
+        self._check_update(None)
+    
+            
     def _setup_layout(self):
         """
@@ -236,5 +240,10 @@
         default_flag = wx.aui.AUI_MGR_DEFAULT| wx.aui.AUI_MGR_ALLOW_ACTIVE_PANE
         self._mgr = wx.aui.AuiManager(self, flags=default_flag)
-   
+        self._mgr.SetDockSizeConstraint(0.5, 0.5)
+        # border color
+        #self.b_color = wx.aui.AUI_DOCKART_BORDER_COLOUR  
+        #self._mgr.GetArtProvider().SetColor(self.b_color, self.color)
+        #self._mgr.SetArtProvider(wx.aui.AuiDockArt(wx.AuiDefaultDockArt))
+        #print "set", self._dockart.GetColour(13)
         # Load panels
         self._load_panels()
@@ -382,5 +391,6 @@
         style = self.__gui_style & (GUIFRAME.MANAGER_ON)
         if self._data_panel is not None  and (p == self._data_panel):
-            panel_width_min = self._window_width * 5/25 
+            panel_width_min = self._window_width * 4/25 
+            panel_height_min = self._window_height * 0.8
             return panel_width_min, panel_height_min
         if hasattr(p, "CENTER_PANE") and p.CENTER_PANE:
@@ -412,7 +422,7 @@
         self._mgr.AddPane(self.defaultPanel, wx.aui.AuiPaneInfo().
                               Name("default").
-                              Center().
-                              CloseButton(False).
-                              MinimizeButton(False).
+                              CenterPane().
+                              #CloseButton(False).
+                              #MinimizeButton(False).
                               # This is where we set the size of
                               # the application window
@@ -420,4 +430,5 @@
                                                self._window_height)).
                               Show())
+
         #add data panel 
         self.panels["data_panel"] = self._data_panel
@@ -425,7 +436,8 @@
         self._mgr.AddPane(self._data_panel, wx.aui.AuiPaneInfo().
                               Name(self._data_panel.window_name).
+                              Caption(self._data_panel.window_caption).
                               Left().
                               MinimizeButton().
-                              CloseButton(False).
+                              CloseButton(True).
                               TopDockable(False).
                               BottomDockable(False).
@@ -434,28 +446,33 @@
                               BestSize(wx.Size(w, h)).
                               Hide())
+
         style = self.__gui_style & GUIFRAME.MANAGER_ON
+        data_pane = self._mgr.GetPane(self.panels["data_panel"].window_name)
         if style != GUIFRAME.MANAGER_ON:
-            self._mgr.GetPane(self.panels["data_panel"].window_name).Hide()
+            data_pane.Hide()
         else:
-            self._mgr.GetPane(self.panels["data_panel"].window_name).Show()
-            
+            data_pane.Show()
+        
+   
         # Add the panels to the AUI manager
         for panel_class in panels:
             p = panel_class
             id = wx.NewId()
-            w, h = self._get_panels_size(p)
+            #w, h = self._get_panels_size(p)
             # Check whether we need to put this panel
             # in the center pane
             if hasattr(p, "CENTER_PANE") and p.CENTER_PANE:
+                w, h = self._get_panels_size(p)
                 if p.CENTER_PANE:
                     self.panels[str(id)] = p
                     self._mgr.AddPane(p, wx.aui.AuiPaneInfo().
-                                          Name(p.window_name).Caption(p.window_caption).
-                                           #CenterPane().
-                                            Center().
-                                            CloseButton(False).
-                                            MinimizeButton(False).
-                                           MinSize(wx.Size(w, h)).
-                                           Hide())
+                                          Name(p.window_name).
+                                          Caption(p.window_caption).
+                                          #CenterPane().
+                                          Center().
+                                          CloseButton(False).
+                                          #MinimizeButton(False).
+                                          #BestSize(wx.Size(w, h)).
+                                          Hide())
             else:
                 self.panels[str(id)] = p
@@ -556,11 +573,18 @@
         if style1 == GUIFRAME.FIXED_PANEL:
             self._mgr.AddPane(p, wx.aui.AuiPaneInfo().
-                              Name(windowname).Caption(caption).
+                              Name(windowname).
+                              Caption(caption).
+                              Position(10).
+                              Floatable().
+                              Right().
+                              Dock().
                               MinimizeButton().
                               Resizable(True).
                               # Use a large best size to make sure the AUI 
                               # manager takes all the available space
-                              BestSize(wx.Size(PLOPANEL_WIDTH, PLOPANEL_HEIGTH)).
-                              MinSize(wx.Size(PLOPANEL_WIDTH*0.9, PLOPANEL_HEIGTH)))
+                              BestSize(wx.Size(PLOPANEL_WIDTH, 
+                                               PLOPANEL_HEIGTH)))
+                              #MinSize(wx.Size(PLOPANEL_WIDTH*0.9, 
+                              #                PLOPANEL_HEIGTH)))
             self._popup_fixed_panel(p)
     
@@ -572,10 +596,11 @@
                               # Use a large best size to make sure the AUI
                               #  manager takes all the available space
-                              BestSize(wx.Size(PLOPANEL_WIDTH, PLOPANEL_HEIGTH)))
+                              BestSize(wx.Size(PLOPANEL_WIDTH, 
+                                               PLOPANEL_HEIGTH)))
             self._popup_floating_panel(p)
             
         pane = self._mgr.GetPane(windowname)
-        self._mgr.MaximizePane(pane)
-        self._mgr.RestoreMaximizedPane()
+        #self._mgr.MaximizePane(pane)
+        #self._mgr.RestoreMaximizedPane()
         # Register for showing/hiding the panel
         wx.EVT_MENU(self, ID, self._on_view)
@@ -760,5 +785,5 @@
             if style1 == GUIFRAME.MULTIPLE_APPLICATIONS:
                 id = wx.NewId()
-                self._toolbar_menu = preferences_menu.Append(id,'&Hide Toolbar', '')
+                self._toolbar_menu = preferences_menu.Append(id,'&Show Toolbar', '')
                 wx.EVT_MENU(self, id, self._on_hide_toolbar)
             self._window_menu.AppendSubMenu(preferences_menu,'&Preferences')
@@ -943,9 +968,14 @@
         if self.defaultPanel is None:
             return 
-        self._mgr.GetPane(self.panels["default"].window_name).Hide()
-        self._mgr.Update()
-        # set a default perspective
-        self.set_default_perspective()
-        
+        default_panel = self._mgr.GetPane(self.panels["default"].window_name)
+        if default_panel.IsShown():
+            default_panel.Hide()
+            
+            # set a default perspective
+            self.set_default_perspective()
+            self._mgr.Update()
+            # Show toolbar
+            self._on_hide_toolbar()
+            
     def show_welcome_panel(self, event):
         """    
@@ -965,4 +995,8 @@
                 self._mgr.GetPane(self.panels[id].window_name).IsShown()
                 self._mgr.GetPane(self.panels[id].window_name).Hide()
+            if self._toolbar != None and not self._toolbar.IsShown():
+                self._toolbar.Show(True)
+            self._on_hide_toolbar()
+
         self._mgr.Update()
        
@@ -1366,4 +1400,5 @@
                 if self.panels[item].ALWAYS_ON:
                     continue 
+            
             if self.panels[item].window_name in panels:
                 if not self._mgr.GetPane(self.panels[item].window_name).IsShown():
@@ -1379,16 +1414,20 @@
                     if self._mgr.GetPane(self.panels[item].window_name).IsShown():
                         self._mgr.GetPane(self.panels[item].window_name).Hide()
+                
         self._mgr.Update()
         
-    def show_data_panel(self, event=None):
+    def show_data_panel(self, event=None, action=True):
         """
         show the data panel
         """
+        if self._data_panel_menu == None:
+            return
         label = self._data_panel_menu.GetText()
         if label == 'Data Explorer ON':
             pane = self._mgr.GetPane(self.panels["data_panel"].window_name)
             #if not pane.IsShown():
-            pane.Show(True)
-            self._mgr.Update()
+            if action: 
+                pane.Show(True)
+                self._mgr.Update()
             self.__gui_style = self.__gui_style | GUIFRAME.MANAGER_ON
             
@@ -1397,6 +1436,7 @@
             pane = self._mgr.GetPane(self.panels["data_panel"].window_name)
             #if not pane.IsShown():
-            pane.Show(False)
-            self._mgr.Update()
+            if action:
+                pane.Show(False)
+                self._mgr.Update()
             self.__gui_style = self.__gui_style & (~GUIFRAME.MANAGER_ON)
             self._data_panel_menu.SetText('Data Explorer ON')
@@ -1434,4 +1474,5 @@
             #automatically send that to the current perspective
             self.set_data(data_id=data_list.keys())
+            self.on_close_welcome_panel()
        
     def set_data(self, data_id): 
@@ -1442,4 +1483,5 @@
         if self._current_perspective is not None:
             self._current_perspective.set_data(list_data.values())
+            self.on_close_welcome_panel()
         else:
             msg = "Guiframe does not have a current perspective"
@@ -1542,5 +1584,18 @@
                 self._data_panel.set_active_perspective(name)
                 self._check_applications_menu()
-  
+            #Set the SansView title
+            self._set_title_name(name)
+            
+            
+    def _set_title_name(self, name):
+        """
+        Set the SansView title w/ the current application name
+        
+        : param name: application name [string]
+        """
+        # Set SanView Window title w/ application anme
+        title = self.title + "  - " + name + " -"
+        self.SetTitle(title)
+            
     def _check_applications_menu(self):
         """
@@ -1989,7 +2044,5 @@
             if os.path.isfile(cmd):
                 basename  = os.path.basename(cmd)
-                app_py = str(APPLICATION_NAME).lower() + '.py'
-                app_exe = str(APPLICATION_NAME).lower() + '.exe'
-                if basename.lower() in [app_py, app_exe]:
+                if basename in ['sansview.py', 'sansview.exe']:
                     input_file = sys.argv[1]
         if input_file is None:
@@ -1997,5 +2050,6 @@
         if self.frame is not None:
             self.frame.set_input_file(input_file=input_file)
-          
+         
+            
     def set_manager(self, manager):
         """
Index: guiframe/gui_toolbar.py
===================================================================
--- guiframe/gui_toolbar.py	(revision 6d727ae85f821a96e4d2b511a43d832186b2423b)
+++ guiframe/gui_toolbar.py	(revision 1b1bbf9e33cd9b1a3338d3a449f2a011094f2f38)
@@ -7,5 +7,11 @@
 from sans.guiframe.gui_style import GUIFRAME_ICON
 from wx.lib.platebtn import PB_STYLE_SQUARE, PB_STYLE_DROPARROW
-
+#Control panel width 
+import sys
+if sys.platform.count("darwin")==0:
+    FONT_VARIANT = 0
+else:
+    FONT_VARIANT = 1
+    
 
 def clear_image(image):
@@ -27,4 +33,6 @@
     def __init__(self, parent,  *args, **kwds):
         Tbar.__init__(self, parent,  *args, **kwds)
+        #Set window's font size 
+        self.SetWindowVariant(variant=FONT_VARIANT)
         self.parent = parent
         self._bookmark_menu = None
