multisplit
[iramuteq] / KeyFrame.py
index 2c40909..f607eaf 100755 (executable)
@@ -1,10 +1,22 @@
 # -*- coding: utf-8 -*-
 #Author: Pierre Ratinaud
-#Copyright (c) 2008 Pierre Ratinaud
-#Lisense: GNU/GPL
+#Copyright (c) 2008-2020 Pierre Ratinaud
+#modification pour python 3 : Laurent Mérat, 6x7 - mai 2020
+#License: GNU/GPL
 
+#------------------------------------
+# import des modules python
+#------------------------------------
+
+#------------------------------------
+# import des modules wx
+#------------------------------------
 import wx
-from functions import sortedby
+
+#------------------------------------
+# import des fichiers du projet
+#------------------------------------
+from functions import sortedby, DoConf
 
 # begin wxGlade: extracode
 # end wxGlade
@@ -15,35 +27,35 @@ class AlcOptFrame(wx.Dialog):
         kwds["style"] = wx.DEFAULT_DIALOG_STYLE
         wx.Dialog.__init__(self, *args, **kwds)
         self.cle={
-        'adj_sup': [wx.NewId(),wx.NewId(),u"Adjectif supplémentaire"],
-        'art_ind': [wx.NewId(),wx.NewId(),u"Article indéfini"],
-        'adj_pos': [wx.NewId(),wx.NewId(),u"Adjectif possessif"],
-        'adv_sup': [wx.NewId(),wx.NewId(),u"Adverbe supplémentaire"],
-        'pro_dem': [wx.NewId(),wx.NewId(),u"Pronom démonstratif"],
-        'art_def': [wx.NewId(),wx.NewId(),u"Article défini"],
-        'con': [wx.NewId(),wx.NewId(),u"Conjonction"],
-        'pre': [wx.NewId(),wx.NewId(),u"Préposition"],
-        'ono': [wx.NewId(),wx.NewId(),u"Onomatopée"],
-        'adj_dem': [wx.NewId(),wx.NewId(),u"Adjectif démonstratif"],
-        'nom_sup': [wx.NewId(),wx.NewId(),u"Nom supplémentaire"],
-        'adv': [wx.NewId(),wx.NewId(),u"Adverbe"],
-        'pro_per': [wx.NewId(),wx.NewId(),u"Pronom personnel"],
-        'ver': [wx.NewId(),wx.NewId(),u"Verbe"],
-        'adj_num': [wx.NewId(),wx.NewId(),u"Adjectif numérique"],
-        'pro_rel': [wx.NewId(),wx.NewId(),u"Pronom relatif"],
-        'adj_ind': [wx.NewId(),wx.NewId(),u"Adjectif indéfini"],
-        'pro_ind': [wx.NewId(),wx.NewId(),u"Pronom indéfini"],
-        'pro_pos': [wx.NewId(),wx.NewId(),u"Pronom possessif"],
-        'aux': [wx.NewId(),wx.NewId(),u"Auxiliaire"],
-        'ver_sup': [wx.NewId(),wx.NewId(),u"Verbe supplémentaire"],
-        'adj': [wx.NewId(),wx.NewId(),u"Adjectif"],
-        'adj_int': [wx.NewId(),wx.NewId(),u"Adjectif interrogatif"],
-        'nom': [wx.NewId(),wx.NewId(),u"Nom commun"],
-        'num' : [wx.NewId(),wx.NewId(),u"Chiffre"],
-        'nr' : [wx.NewId(),wx.NewId(),u"Formes non reconnues"],
+        'adj_sup': [wx.NewId(),wx.NewId(),"Adjectif supplémentaire"],
+        'art_ind': [wx.NewId(),wx.NewId(),"Article indéfini"],
+        'adj_pos': [wx.NewId(),wx.NewId(),"Adjectif possessif"],
+        'adv_sup': [wx.NewId(),wx.NewId(),"Adverbe supplémentaire"],
+        'pro_dem': [wx.NewId(),wx.NewId(),"Pronom démonstratif"],
+        'art_def': [wx.NewId(),wx.NewId(),"Article défini"],
+        'con': [wx.NewId(),wx.NewId(),"Conjonction"],
+        'pre': [wx.NewId(),wx.NewId(),"Préposition"],
+        'ono': [wx.NewId(),wx.NewId(),"Onomatopée"],
+        'adj_dem': [wx.NewId(),wx.NewId(),"Adjectif démonstratif"],
+        'nom_sup': [wx.NewId(),wx.NewId(),"Nom supplémentaire"],
+        'adv': [wx.NewId(),wx.NewId(),"Adverbe"],
+        'pro_per': [wx.NewId(),wx.NewId(),"Pronom personnel"],
+        'ver': [wx.NewId(),wx.NewId(),"Verbe"],
+        'adj_num': [wx.NewId(),wx.NewId(),"Adjectif numérique"],
+        'pro_rel': [wx.NewId(),wx.NewId(),"Pronom relatif"],
+        'adj_ind': [wx.NewId(),wx.NewId(),"Adjectif indéfini"],
+        'pro_ind': [wx.NewId(),wx.NewId(),"Pronom indéfini"],
+        'pro_pos': [wx.NewId(),wx.NewId(),"Pronom possessif"],
+        'aux': [wx.NewId(),wx.NewId(),"Auxiliaire"],
+        'ver_sup': [wx.NewId(),wx.NewId(),"Verbe supplémentaire"],
+        'adj': [wx.NewId(),wx.NewId(),"Adjectif"],
+        'adj_int': [wx.NewId(),wx.NewId(),"Adjectif interrogatif"],
+        'nom': [wx.NewId(),wx.NewId(),"Nom commun"],
+        'num' : [wx.NewId(),wx.NewId(),"Chiffre"],
+        'nr' : [wx.NewId(),wx.NewId(),"Formes non reconnues"],
         }
         self.parent=parent
-        self.KeyConf=self.parent.KeyConf
+        self.keys=self.parent.keys
         self.listlabel=[]
         self.listspin=[]
         self.listbutton=[]
@@ -51,27 +63,27 @@ class AlcOptFrame(wx.Dialog):
         self.listids=[]
         self.listidb=[]
         
-        self.label_1 = wx.StaticText(self, -1, u"        Choix des clés d'analyse\n0=éliminé ; 1=active ; 2=supplémentaire\n")
+        self.label_1 = wx.StaticText(self, -1, "        Choix des clés d'analyse\n0=éliminé ; 1=active ; 2=supplémentaire\n")
         self.listcleori=[[cle]+self.cle[cle] for cle in self.cle]
         self.listcleori=sortedby(self.listcleori,1,3)
 
         for line in self.listcleori:
             cle,ids,idb,label=line
             self.listlabel.append(wx.StaticText(self, -1, label))
-            self.listspin.append(wx.SpinCtrl(self, ids,self.KeyConf.get('KEYS',cle), min=0, max=2))
+            self.listspin.append(wx.SpinCtrl(self, ids,repr(self.keys[cle]), min=0, max=2))
             #if cle != 'nr' and cle!= 'num' : 
-            self.listbutton.append(wx.Button(self, idb, u"voir liste"))
+            self.listbutton.append(wx.Button(self, idb, "voir liste"))
             self.listids.append(ids)
             self.listidb.append(idb)
             self.listcle.append(cle)
             
 
-        self.button_val = wx.Button(self,wx.ID_APPLY)
+        self.button_val = wx.Button(self, wx.ID_OK)
         
         for button in self.listbutton :
             self.Bind(wx.EVT_BUTTON,self.OnShowList,button)
         
-        self.Bind(wx.EVT_BUTTON, self.OnApply, self.button_val)
+        #self.Bind(wx.EVT_BUTTON, self.OnApply, self.button_val)
         
         self.dico=self.parent.parent.lexique#'dictionnaires/lexique.txt')
 
@@ -81,7 +93,7 @@ class AlcOptFrame(wx.Dialog):
 
     def __set_properties(self):
         # begin wxGlade: AlcOptFrame.__set_properties
-        self.SetTitle(u"Clés d'analyse")
+        self.SetTitle("Clés d'analyse")
         # end wxGlade
 
     def __do_layout(self):
@@ -96,7 +108,7 @@ class AlcOptFrame(wx.Dialog):
             grid_sizer_1.Add(self.listlabel[i], 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
             grid_sizer_1.Add(self.listspin[i], 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
             grid_sizer_1.Add(self.listbutton[i], 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
-        for i in range(13,len(self.listlabel)):
+        for i in range(14,len(self.listlabel)):
             grid_sizer_2.Add(self.listlabel[i], 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
             grid_sizer_2.Add(self.listspin[i], 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
             grid_sizer_2.Add(self.listbutton[i], 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
@@ -118,25 +130,21 @@ class AlcOptFrame(wx.Dialog):
         
     def CreateList(self,type):
         if type=='ver_sup' or type=='ver':
-            liste=[descr[0] for item,descr in self.dico.iteritems() if descr[1]==type]
+            #liste=[descr[0] for item,descr in self.dico.iteritems() if descr[1]==type]
+            liste = [forme for forme in self.corpus.formes if self.corpus.formes[forme].gram==type]
             liste=list(set(liste))
         else:
-            liste=[item for item,descr in self.dico.iteritems() if descr[1]==type]
+            #liste=[item for item,descr in self.dico.iteritems() if descr[1]==type]
+            liste = [forme for forme in self.corpus.formes if self.corpus.formes[forme].gram==type]
         liste.sort()
         txt=('\n').join(liste)
-        ListViewFrame=ListView(self.parent.parent)
+        ListViewFrame=ListView(self.parent)
         ListViewFrame.text_ctrl_1.WriteText(txt)
         ListViewFrame.text_ctrl_1.SetSelection(0,0)
         ListViewFrame.text_ctrl_1.SetInsertionPoint(0)
         ListViewFrame.CenterOnParent()
         val=ListViewFrame.ShowModal()
     
-    def OnApply(self,evt):
-        for i in range(0,len(self.listlabel)):
-            self.KeyConf.set('KEYS',self.listcle[i],`self.listspin[i].GetValue()`)
-        self.Destroy()
-
-
 class ListView(wx.Dialog):
     def __init__(self, parent):
         wx.Dialog.__init__(self, parent, size=wx.Size(200, 400),style=wx.DEFAULT_DIALOG_STYLE)