multisplit
[iramuteq] / iramuteq.py
index a8afd32..042ee0e 100755 (executable)
@@ -585,7 +585,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 +645,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)
 
@@ -755,13 +755,23 @@ class IraFrame(wx.Frame):
         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)
+                self.mb.EnableTop(3, False)
             else :
                 self._mgr.GetPane('tb_text').Hide()
         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)
+                self.mb.EnableTop(4, False)
             else :
                 self._mgr.GetPane('tb_mat').Hide()
         elif menu == 'view' :
@@ -769,9 +779,10 @@ class IraFrame(wx.Frame):
         else :
             menu_pos = None
         if not menu_pos is None :
-            self.mb.EnableTop(menu_pos, Show)
+            #self.mb.EnableTop(menu_pos, Show)
             self.mb.Refresh()
-        #self._mgr.Update()
+        self._mgr.Update()
+        self.Refresh()
 
     #--------------------------------------------------------------------
     # fin de __init__ du wx.Frame
@@ -925,16 +936,7 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, États-Unis."""
         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)
-        #self._mgr.Update()
-        #wx.CallAfter(self.nb.SendSizeEvent)
-        #self.Refresh()
+                self.tree.GiveFocus(uuid=npage.parametres['uuid'])
 
     # action ou évènement ?
     def OnCloseTab(self, evt):
@@ -971,12 +973,12 @@ 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()
         self._mgr.GetPane(panel).Show()
         self._mgr.Update()
-        print('show a pane refresh')
         wx.CallAfter(self.nb.SendSizeEvent)
         self.Refresh()