correction
[iramuteq] / iramuteq.py
index 3f5183b..79b15e5 100755 (executable)
@@ -240,8 +240,7 @@ class IraFrame(wx.Frame):
         log.info('version : %s' % ConfigGlob.get('DEFAULT', 'version'))
         print(size)
         wx.Frame.__init__(self, parent, id, title, pos, size, style)
-        #Font
-        self.SetFont(wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
+
         # configuration
         self.AppliPath = AppliPath
         self.images_path = os.path.join(AppliPath,'images')
@@ -260,6 +259,15 @@ class IraFrame(wx.Frame):
         self._mgr = aui.AuiManager()
         self._mgr.SetManagedWindow(self)
         self.x = 0
+        #Font
+        try :
+            self.pref.read(self.ConfigPath['preferences'])
+            self.fontsize = self.pref.getint('iramuteq','fontsize')
+        except :
+            print('no pref : setting fontsize to 12')
+            self.fontsize = 12
+        self.SetFont(wx.Font(self.fontsize, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
+
         #--------------------------------------------------------------------------------
         # creation menu
         #--------------------------------------------------------------------------------
@@ -511,7 +519,8 @@ class IraFrame(wx.Frame):
             Name("lefttree").
             Caption(_("Historic")).
             Left().
-            MinSize(wx.Size(300,400)).
+            MinSize(wx.Size(200,400)).
+            BestSize(wx.Size(300,-1)).
             Layer(1).
             Position(1).
             CloseButton(False).
@@ -528,6 +537,7 @@ class IraFrame(wx.Frame):
         # | aui.AUI_NB_TAB_EXTERNAL_MOVE | aui.AUI_NB_TAB_MOVE | aui.AUI_NB_TAB_FLOAT| wx.NO_BORDER
         self.nb.SetAGWWindowStyleFlag(notebook_flags)
         self.nb.SetArtProvider(aui.ChromeTabArt())
+        self.nb.SetFont(wx.Font(self.fontsize, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
         #self.nb.SetArtProvider(aui.VC8TabArt())
         #self.nb.parent = self
         #self._notebook_style = aui.AUI_NB_DEFAULT_STYLE | aui.AUI_NB_TAB_EXTERNAL_MOVE | wx.NO_BORDER
@@ -539,6 +549,7 @@ class IraFrame(wx.Frame):
             aui.AuiPaneInfo().
             Name("Tab_content").
             CenterPane())
+
         #self._mgr.AddPane(self.Sheet, wx.aui.AuiPaneInfo().Name("Data").CenterPane())
         #self._mgr.AddPane(self.Sheet, aui.AuiPaneInfo().Name("Data").CenterPane())
         self.nb.Bind(aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.OnCloseTab)
@@ -585,7 +596,7 @@ class IraFrame(wx.Frame):
         self._mgr.GetPane("lefttree").Show()
         self._mgr.GetPane("classif_tb").Hide() # utilisé nulle part ailleurs que sur cette ligne ???
         # "commit" all changes made to FrameManager
-        self._mgr.Update()
+        #self._mgr.Update()
 
         # Attache les événements aux éléments d'interface
         self.Bind(wx.EVT_MENU, self.OnAcceuil, id=ID_ACCEUIL)
@@ -645,7 +656,7 @@ class IraFrame(wx.Frame):
         self._mgr.SetAGWFlags(self._mgr.GetAGWFlags() ^ (aui.AUI_MGR_RECTANGLE_HINT | aui.AUI_MGR_ALLOW_FLOATING))
         self._mgr.GetArtProvider().SetMetric(aui.AUI_DOCKART_GRADIENT_TYPE, aui.AUI_GRADIENT_HORIZONTAL)
         self.GetDockArt().SetColor(aui.AUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR, "#00FFF9")
-        self.DoUpdate()
+        #self.DoUpdate()
         self._icon = wx.Icon(os.path.join(ImagePath, "iraicone.ico"), wx.BITMAP_TYPE_ICO)
         self.SetIcon(self._icon)
 
@@ -684,6 +695,7 @@ class IraFrame(wx.Frame):
         self.Text = ''
         self.lexique = None
         self.corpus = None
+        
 
     def finish_init(self) :
         try :
@@ -752,10 +764,11 @@ class IraFrame(wx.Frame):
     # vu comme elle est écrite, impossible de gérer
     # l'affichage/masquage des toolbars en fonction du contexte
     def ShowMenu(self, menu, Show=True):
-        print("showmenu")
         if menu == 'text' :
             menu_pos = 4
             if Show :
+                if self._mgr.GetPane('tb_text').IsShown()  :
+                    return
                 self._mgr.GetPane('tb_text').Show()
                 self._mgr.GetPane('tb_mat').Hide()
                 self.mb.EnableTop(menu_pos, Show)
@@ -765,6 +778,8 @@ class IraFrame(wx.Frame):
         elif menu == 'matrix' :
             menu_pos = 3
             if Show :
+                if self._mgr.GetPane('tb_mat').IsShown():
+                    return
                 self._mgr.GetPane('tb_mat').Show()
                 self._mgr.GetPane('tb_text').Hide()
                 self.mb.EnableTop(menu_pos, Show)
@@ -779,6 +794,7 @@ class IraFrame(wx.Frame):
             #self.mb.EnableTop(menu_pos, Show)
             self.mb.Refresh()
         self._mgr.Update()
+        self.Refresh()
 
     #--------------------------------------------------------------------
     # fin de __init__ du wx.Frame
@@ -926,22 +942,13 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis."""
 
     # action ou évènement ?
     def OnPageChanged(self, event) :
-        print("OnPageChange")
         new = event.GetSelection()
         nobject = event.GetEventObject()
         parent = nobject.GetParent()
         if isinstance(parent, IraFrame) :
             npage = self.nb.GetPage(new)
             if 'parametres' in dir(npage) :
-                #self.tree.GiveFocus(uuid=npage.parametres['uuid'])
-                if npage.parametres.get('matrix', False) :
-                    #self.ShowMenu('text', False)
-                    self.ShowMenu('matrix', True)
-                elif npage.parametres.get('corpus', False) :
-                    self.ShowMenu('text')
-                    #self.ShowMenu('matrix', False)
-        wx.CallAfter(self.nb.SendSizeEvent)
-        self.Refresh()
+                self.tree.GiveFocus(uuid=npage.parametres['uuid'])
 
     # action ou évènement ?
     def OnCloseTab(self, evt):
@@ -978,6 +985,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis."""
 
     # action ou évènement ?
     def ShowAPane(self, panel):
+        print('ShowAPane')
         for pane in self._mgr.GetAllPanes() :
             if not pane.IsToolbar() and pane.name != 'lefttree':
                 pane.Hide()