correction
[iramuteq] / layout.py
index bdaa038..67411fc 100644 (file)
--- a/layout.py
+++ b/layout.py
@@ -38,6 +38,7 @@ from PrintRScript import write_afc_graph, print_simi3d, PrintSimiScript
 from profile_segment import ProfileSegment
 from listlex import *
 from Liste import *
+from elcategorizator import ElCategorizator
 from search_tools import SearchFrame
 from dialog import PrefGraph, PrefExport, PrefSimpleFile, PrefDendro, SimpleDialog, ImageViewer
 from guifunct import SelectColumn, PrepSimi, PrefSimi, redosimi
@@ -45,6 +46,7 @@ from webexport import WebExport
 from corpus import Corpus
 from sheet import MySheet
 from graph_to_json import GraphToJson
+#from listlex2 import LexPanel
 
 
 import langue
@@ -250,7 +252,7 @@ class GraphPanelAfc(wx.Panel):
                 """
             txt += write_afc_graph(self)
             filetmp = tempfile.mktemp()
-            with open(filetmp, 'w') as f :
+            with open(filetmp, 'w', encoding='utf8') as f :
                 f.write(txt)
             pid = exec_rcode(self.ira.RPath, filetmp)
             check_Rresult(self.ira, pid)
@@ -458,9 +460,12 @@ class OpenCHDS():
     #    self.TabChdSim = wx.aui.AuiNotebook(self.parent.nb, -1, wx.DefaultPosition)
         notebook_flags =  aui.AUI_NB_DEFAULT_STYLE | aui.AUI_NB_TAB_EXTERNAL_MOVE | aui.AUI_NB_TAB_MOVE | aui.AUI_NB_TAB_FLOAT| wx.NO_BORDER
         panel.TabChdSim = aui.AuiNotebook(panel, -1, wx.DefaultPosition)
-        #panel.TabChdSim = LB.LabelBook(panel, -1, agwStyle = INB_TOP|INB_SHOW_ONLY_TEXT|INB_FIT_LABELTEXT)
+
+       #panel.TabChdSim = LB.LabelBook(panel, -1, agwStyle = INB_TOP|INB_SHOW_ONLY_TEXT|INB_FIT_LABELTEXT)
         panel.TabChdSim.SetAGWWindowStyleFlag(notebook_flags)
         panel.TabChdSim.SetArtProvider(aui.ChromeTabArt())
+        font = wx.Font(self.parent.fontsize, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)
+        panel.TabChdSim.SetFont(font)
         sizer1.Add(panel.TabChdSim,10, wx.EXPAND, 5)
         panel.SetSizer(sizer1)
         sizer1.Fit(panel)
@@ -506,6 +511,7 @@ class OpenCHDS():
                 self.tab_prof_seg = ProfListctrlPanel(self.parent, self, prof_seg[str(i + 1)], False, i + 1)
                 self.prof_seg_nb.AddPage(self.tab_prof_seg, _("Cluster") + ' %i' % (i + 1))
         panel.ProfNB.SetSelection(0)
+        panel.ProfNB.SetFont(font)
         if clnb > 2 :
             self.TabAFC = aui.AuiNotebook(panel.TabChdSim, -1, wx.DefaultPosition)
             log.info('read AFC')
@@ -750,15 +756,22 @@ class dolexlayout :
         #sash = SashList(ira.nb)
         self.TabStat = aui.AuiNotebook(ira.nb, -1, wx.DefaultPosition)
         self.TabStat.parametres = parametres
+        #self.ListPan = LexPanel(self, ira, self.DictSpec, self.etoiles)
         self.ListPan = ListForSpec(ira, self, self.DictSpec, self.etoiles)
+        self.ListPan.pathout = self.pathout
         if os.path.exists(self.pathout['banalites.csv']) :
             self.listban = ListForSpec(ira, self, self.dictban, ['eff'] + self.etoiles, usefirst = True)
         #self.ListPan2 = ListForSpec(sash.rightwin1, self, self.DictSpec, first)
         self.ListPant = ListForSpec(ira, self, self.DictType, self.etoiles)
+        self.ListPant.pathout = self.pathout
         self.ListPanEff = ListForSpec(ira, self, self.DictEff, self.etoiles)
+        self.ListPanEff.pathout = self.pathout
         self.ListPanEffType = ListForSpec(ira, self, self.DictEffType, self.etoiles)
+        self.ListPanEffType.pathout = self.pathout
         self.ListPanEffRelForme = ListForSpec(ira, self, self.DictEffRelForme, self.etoiles)
+        self.ListPanEffRelForme.pathout = self.pathout
         self.ListPanEffRelType = ListForSpec(ira, self, self.DictEffRelType, self.etoiles)
+        self.ListPanEffRelType.pathout = self.pathout
         self.TabStat.AddPage(self.ListPan, _('Forms'))
         if os.path.exists(self.pathout['banalites.csv']) :
             self.TabStat.AddPage(self.listban, _('Banal forms'))
@@ -780,6 +793,7 @@ class dolexlayout :
         self.ira = ira
         self.TabStat.corpus = self.corpus
         self.TabStat.etoiles = self.etoiles
+        self.TabStat.pathout = self.pathout
         if os.path.exists(os.path.join(self.parametres['pathout'], 'tgenspec.csv')) :
             self.parametres['tgenspec'] = os.path.join(self.parametres['pathout'], 'tgenspec.csv')
             TgenLayout(self.TabStat)
@@ -990,7 +1004,7 @@ class GraphPanelDendro(wx.Panel):
             """ % (ffr(self.dictpathout['RData.RData']), ffr(self.ira.RscriptsPath['Rgraph']), ffr(fileout), width, height, svg, type_dendro, bw)
         tmpfile = tempfile.mktemp()
         # ecriture du fichier de script à éxécuter
-        with open(tmpfile, 'w') as f :
+        with open(tmpfile, 'w', encoding='utf8') as f :
             f.write(txt)
         # dialogue d'attente
         busy = wx.BusyInfo(_("Please wait..."), self.parent)
@@ -1053,7 +1067,6 @@ class OpenCorpus :
         ira.nb.SetSelection(ira.nb.GetPageCount() - 1)
         ira.ShowAPane("Tab_content")
 
-
 class MatLayout :
 
     def __init__(self, ira, matrix):
@@ -1205,7 +1218,7 @@ def blender(self):
     """
     # ecriture du fichier de script à éxécuter
     filetmp = tempfile.mktemp()
-    with open(filetmp, 'w') as f :
+    with open(filetmp, 'w', encoding='utf8') as f :
         f.write(txt)
     exec_rcode(self.ira.RPath, filetmp)
     GraphToJson(nodesfile, edgesfile, jsonout)
@@ -1361,7 +1374,8 @@ class FreqLayout(DefaultMatLayout) :
         self.tab = wx.html.HtmlWindow(self.ira.nb, -1)
         #self.tab = wx.html2.WebView.New(self)
         res = normpath_win32(self.pathout['resultats.html']).replace('\\','/')
-        self.tab.LoadPage(res)
+        #self.tab.LoadPage(res)
+        self.tab.LoadFile(res)
         #self.tab.LoadURL(res)
         self.tab.parametres = self.parametres
         self.ira.nb.AddPage(self.tab, ' - '.join([_("Frequency"), self.parametres['name']]))
@@ -1374,7 +1388,7 @@ class Chi2Layout(DefaultMatLayout) :
         if "gtk2" in wx.PlatformInfo:
             self.tab.SetStandardFonts()
         res = normpath_win32(self.pathout['resultats-chi2.html']).replace('\\','/')
-        self.tab.LoadPage(res)
+        self.tab.LoadFile(res)
         self.tab.parametres = self.parametres
         self.ira.nb.AddPage(self.tab, ' - '.join(["Chi2", self.parametres['name']]))
         #self.ira.nb.SetSelection(self.ira.nb.GetPageCount() - 1)
@@ -1398,6 +1412,13 @@ class ProtoLayout(DefaultMatLayout) :
         #self.ira.nb.SetSelection(self.ira.nb.GetPageCount() - 1)
         #self.ira.ShowAPane("Tab_content")
 
+class CateLayout(DefaultMatLayout) :
+
+    def dolayout(self) :
+        self.tableau.read_tableau(self.pathout['analyse.db'])
+        TabCate = ElCategorizator(self.ira.nb, self.pathout, self.tableau)
+        TabCate.parametres = self.parametres
+        self.ira.nb.AddPage(TabCate, ' - '.join([_('ElCaTeGoRiZaToR'), self.parametres['name']]))
 
 class SimiMatLayout(DefaultMatLayout) :
 
@@ -1423,7 +1444,7 @@ class SimiMatLayout(DefaultMatLayout) :
         #self.parent.nb.SetSelection(self.parent.nb.GetPageCount() - 1)
 
     def redosimi(self,evt) :
-        with open(self.pathout['selected.csv'],'r') as f :
+        with open(self.pathout['selected.csv'],'r', encoding='utf8') as f :
             selected = f.read()
         selected = [int(val) for val in selected.splitlines()]
         #if self.actives is None :
@@ -1436,6 +1457,7 @@ class SimiMatLayout(DefaultMatLayout) :
             actives = [[val, self.tableau.actives[val]] for val in self.tableau.actives]
         #self.tableau.make_listactives()
         actives = dict([[i, val] for i, val in enumerate(actives)])
+        print(actives)
         #dictcol = dict([[i, [act, self.corpus.getlemeff(act)]] for i, act in enumerate(self.actives)])
         self.dial = PrefSimi(self.parent, -1, self.parametres, self.indices, wordlist = actives, selected = selected, actives = self.tableau.listactives)
         self.dial.CenterOnParent()
@@ -1450,7 +1472,7 @@ class SimiMatLayout(DefaultMatLayout) :
                 indexes.append(self.dial.listcol.getColumnText(last,0))
             self.column = [self.tableau.listactives.index(val) for val in indexes]
             self.column.sort()
-            with open(self.pathout['selected.csv'], 'w') as f :
+            with open(self.pathout['selected.csv'], 'w', encoding='utf8') as f :
                 f.write('\n'.join([repr(val) for val in self.column]))
             self.make_param()
             self.dial.Destroy()
@@ -1578,7 +1600,7 @@ class SimiMatLayout(DefaultMatLayout) :
         #saveAsGEXF(graph, filepath = fileout)
         """ % (ffr(self.pathout['RData.RData']), ffr(self.parent.RscriptsPath['simi']), fileout)
         filetmp = tempfile.mktemp()
-        with open(filetmp, 'w') as f :
+        with open(filetmp, 'w', encoding='utf8') as f :
             f.write(txt)
         exec_rcode(self.ira.RPath, filetmp)
         mss = wx.MessageDialog(self.ira, fileout, _('File exported'), wx.OK)