multisplit
[iramuteq] / tree.py
diff --git a/tree.py b/tree.py
index 49e086d..6551973 100755 (executable)
--- a/tree.py
+++ b/tree.py
@@ -44,7 +44,7 @@ def buildmenu(menu, parent_menu):
     for i in range(parent_menu.GetMenuItemCount()) :
         item = parent_menu.FindItemByPosition(i)
         itemid = item.GetId()
-        itemtext = item.GetText()
+        itemtext = item.GetItemLabelText()
         itemicon = item.GetBitmap()
         nitem = wx.MenuItem(menu, itemid, itemtext)
         nitem.SetBitmap(itemicon)
@@ -52,12 +52,12 @@ def buildmenu(menu, parent_menu):
             nmenu = wx.Menu()
             for val in item.GetSubMenu().GetMenuItems() :
                 itemid = val.GetId()
-                itemtext = val.GetText()
+                itemtext = val.GetItemLabelText()
                 itemicon = val.GetBitmap()
                 nitem = wx.MenuItem(menu, itemid, itemtext)
                 nitem.SetBitmap(itemicon)
                 nmenu.Append(nitem)
-            menu.Append(-1, item.GetText(), nmenu)
+            menu.Append(-1, item.GetItemLabelText(), nmenu)
         else :
             menu.Append(nitem)
 
@@ -124,10 +124,9 @@ class LeftTree(CT.CustomTreeCtrl):
                  agwStyle=CT.TR_HIDE_ROOT|CT.TR_HAS_BUTTONS|CT.TR_HAS_VARIABLE_ROW_HEIGHT):
         CT.CustomTreeCtrl.__init__(self, parent, id, pos, size, style, agwStyle)
         #FIXME : test for bigger font on HIDPI screen
-        font = wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD,
-               False, "", wx.FONTENCODING_DEFAULT)
-        #font = wx.Font(pointSize=12, family=wx.FONTFAMILY_DEFAULT, style=wx.FONTSTYLE_NORMAL, weight=wx.FONTWEIGHT_BOLD)
-        #    underline=False, face="", encoding=wx.FONTENCODING_DEFAULT)
+        #font = wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD,
+        #       False, "", wx.FONTENCODING_DEFAULT)
+        font = wx.Font(pointSize=10, family=wx.FONTFAMILY_DEFAULT, style=wx.FONTSTYLE_NORMAL, weight=wx.FONTWEIGHT_NORMAL)
         self.SetFont(font)
         ##################
         self.log = log
@@ -569,7 +568,7 @@ class LeftTree(CT.CustomTreeCtrl):
                 ucis_txt, ucestxt = doconcorde(corpus, nuces, page.la, uci = uci)
                 items = ['<br>'.join([ucis_txt[j], '<table bgcolor = #1BF0F7 border=0><tr><td><b>score : %.2f</b></td></tr></table><br>' % ntab2[j][0], ucestxt[j]]) for j, uce in enumerate(nuces)]
                 filename = self.page.pathout['st_caract_cl_%i.html' % (rcl+1)]
-                with open(filename, 'w') as f :
+                with open(filename, 'w', encoding='utf8') as f :
                     f.write('\n'.join(items))
             dlg.Destroy()
 
@@ -599,7 +598,7 @@ class LeftTree(CT.CustomTreeCtrl):
         uci = False
         fileout = os.path.join(os.path.dirname(self.page.pathout['ira']), 'segmented_corpus.txt')
         txt = self.page.corpus.make_cut_corpus(uci = uci)
-        with open(fileout, 'w') as f :
+        with open(fileout, 'w', encoding='utf8') as f :
             f.write(txt)
         msg = '\n'.join([_("Done !"), fileout])
         dlg = wx.MessageDialog(self.parent, msg, _("Segmented corpus"), wx.OK | wx.ICON_INFORMATION)
@@ -620,7 +619,7 @@ class LeftTree(CT.CustomTreeCtrl):
             else :
                 uci = True
             txt = self.page.corpus.make_colored_corpus(uci = uci)
-            with open(fileout, 'w') as f :
+            with open(fileout, 'w', encoding='utf8') as f :
                 f.write(txt)
             msg = ' !\n'.join([_("Done"), _("Open in a web browser ?")])
             dlg = wx.MessageDialog(self.parent, msg, "Corpus en couleur", wx.NO | wx.YES | wx.ICON_QUESTION)
@@ -658,7 +657,7 @@ class LeftTree(CT.CustomTreeCtrl):
                 find = True
                 break
         if not find :
-            open_antiprofil(self.page, self.page.dictpathout['ANTIPRO_OUT'], self.parent.syscoding)
+            open_antiprofil(self.page, self.page.dictpathout['ANTIPRO_OUT'], 'utf8')
             self.page.TabChdSim.SetSelection(self.page.TabChdSim.GetPageCount() - 1)
 
     def OnTranslate(self, evt) :
@@ -688,7 +687,7 @@ class LeftTree(CT.CustomTreeCtrl):
         if res == wx.ID_OK :
             fileout = dial.fbb.GetValue()
             dial.Destroy()
-            with open(fileout, 'w') as f :
+            with open(fileout, 'w', encoding='utf8') as f :
                 f.write(self.page.debtext + '\n' + GetTxtProfile(self.page.DictProfile, self.page.cluster_size))
             msg = "Fini !"
             dlg = wx.MessageDialog(self.parent, msg, _("Report"), wx.OK | wx.ICON_INFORMATION)
@@ -1053,7 +1052,7 @@ class LeftTree(CT.CustomTreeCtrl):
             else :
                 if os.path.exists(pydata['ira']) :
                     busy = wx.BusyInfo(_("Please wait..."), self.parent)
-                    wx.SafeYield()
+                    #wx.SafeYield()
                     try :
                         OpenAnalyse(self.parent, pydata)
                         del busy
@@ -1102,10 +1101,10 @@ class LeftTree(CT.CustomTreeCtrl):
             pydata = self.GetPyData(item)
         if pydata is not None :
             if 'corpus_name' in pydata or 'corpus' in pydata :
-                self.ira.ShowMenu('matrix', False)
+                #self.ira.ShowMenu('matrix', False)
                 self.ira.ShowMenu('text', True)
             if 'matrix_name' in pydata or 'matrix' in pydata:
-                self.ira.ShowMenu('text', False)
+                #self.ira.ShowMenu('text', False)
                 self.ira.ShowMenu('matrix', True)
             if 'uuid' in pydata :
                 if pydata['uuid'] in ['textroot', 'matroot'] :
@@ -1113,14 +1112,18 @@ class LeftTree(CT.CustomTreeCtrl):
                     self.ira.ShowMenu('matrix', False)             
             self.pydata = pydata
             if pydata['uuid'] in self.parent.history.opened :
+                actual = self.parent.nb.GetSelection()
                 for i in range(self.parent.nb.GetPageCount()) :
                     self.page = self.parent.nb.GetPage(i)
                     if 'parametres' in dir(self.page) :
                         if self.page.parametres['uuid'] == pydata['uuid'] :
                             self.parent.nb.SetSelection(i)
+                            wx.CallAfter(self.parent.nb.SendSizeEvent)
+                            #self.parent.Refresh()
                             break
-        if event is not None :
-            event.Skip()
+        #self.parent._mgr.Update()
+        #if event is not None :
+        #    event.Skip()
 
     def OnSelChanging(self, event):
         item = event.GetItem()
@@ -1131,7 +1134,7 @@ class LeftTree(CT.CustomTreeCtrl):
             else:
                 olditemtext = self.GetItemText(olditem)
             #self.log.info("OnSelChanging: From %s" % olditemtext + " To %s" % self.GetItemText(item) + "\n")
-        event.Skip()
+        #event.Skip()
 
     def OnBeginDrag(self, event):
         self.item = event.GetItem()