ca8f66cffb264681c60268733b66ed58ef999099
[iramuteq] / guifunct.py
1 # -*- coding: utf-8 -*-
2 #Author: Pierre Ratinaud
3 #Copyright (c) 2008-2011 Pierre Ratinaud
4 #Lisense: GNU/GPL
5
6 import wx
7 import os
8 import sys
9 from copy import copy
10 import dialog
11 from listlex import *
12 from functions import treat_var_mod
13
14
15 def OnOpen(self, type):
16         if type == "Data":
17              wildcard = u"Fichiers supportés|*.ods;*.xls;*.csv;*.txt|Openoffice Clac|*.ods|Fichier excel|*.xls|Fichier csv|*.csv|Fichier texte|*.txt|Tous les fichiers|*"
18         elif type == "Texte":
19             wildcard = "Fichier texte|*.txt|Tous les fichiers|*"
20         elif type == "Analyse":
21             wildcard = "Fichier analyse/Corpus|*.ira;*.cira"
22         defaultDir = self.PathPath.get('PATHS', 'lastpath')
23         if defaultDir.strip() == '':
24             defaultDir = self.UserConfigPath.replace('.iramuteq','')
25         dlg = wx.FileDialog(
26         self, message="Choisissez un fichier", defaultDir=defaultDir,
27         defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.CHANGE_DIR)
28         dlg.CenterOnParent()
29         if dlg.ShowModal() == wx.ID_OK :
30             fileName = dlg.GetFilename()
31             path = dlg.GetPaths()
32             dlg.Destroy()
33             self.PathPath.set('PATHS', 'lastpath', os.path.dirname(path[0]))
34             self.type = type
35             return fileName, path
36         else:
37             dlg.Destroy()
38             if type == "Data":
39                 return False, [False]
40             elif type == "Texte":
41                 return False, [False]
42             elif type == "Analyse":
43                 return [False]
44
45 def getfileextension(file) :
46     return os.path.splitext(file)[1]
47
48 def get_table_param(self, filename) :
49     if getfileextension(filename) == '.csv':
50         dlg = dialog.FileOptionDialog(self, -1, u"Format du fichier", sep=True, size=(350, 200),
51                      style=wx.DEFAULT_DIALOG_STYLE)
52         dlg.CenterOnParent()
53         val = dlg.ShowModal()
54         if val == wx.ID_OK:
55             self.tableau.parametre['colsep'] = dlg.colsep[dlg.choice3.GetSelection()]
56             self.tableau.parametre['txtsep'] = dlg.txtsep[dlg.choice4.GetSelection()]
57             if self.tableau.parametre['colsep'] == 'tabulation' :
58                 self.tableau.parametre['colsep'] = '\t'
59             self.tableau.parametre['filetype'] = 'csv'
60         else :
61             dlg.Destroy()
62     elif  getfileextension(filename) == '.xls' :
63         dlg = dialog.FileOptionDialog(self, -1, u"Format du fichier", sep=False, sheet = True, size=(350, 200),
64                      style=wx.DEFAULT_DIALOG_STYLE)
65         dlg.CenterOnParent()
66         val = dlg.ShowModal()
67         if val == wx.ID_OK:    
68             self.tableau.parametre['colsep'] = ';'
69             self.tableau.parametre['txtsep'] = '\"'
70             self.tableau.parametre['encodage'] = sys.getdefaultencoding()
71             self.tableau.parametre['sheetnb'] = dlg.spin1.GetValue()
72             self.tableau.parametre['filetype'] = 'xls'
73         else :
74             dlg.Destroy()
75     elif getfileextension(filename) == '.ods':
76         dlg = dialog.FileOptionDialog(self, -1, u"Format du fichier", sep=False, size=(350, 200),
77                      style=wx.DEFAULT_DIALOG_STYLE)
78         dlg.CenterOnParent()
79         val = dlg.ShowModal()
80         if val == wx.ID_OK:          
81             self.tableau.parametre['colsep'] = ';'
82             self.tableau.parametre['txtsep'] = '\"'
83             self.tableau.parametre['filetype'] = 'ods'
84         else :
85             dlg.Destroy()
86     else :
87         val = False
88     if val == wx.ID_OK:       
89         if dlg.radio_box_1.GetSelection() == 0:
90             self.tableau.firstrowiscolnames = True
91         else:
92             self.tableau.firstrowiscolnames = False
93         if dlg.radio_box_2.GetSelection() == 0:
94             self.tableau.firstcolisrownames = True
95         else:
96             self.tableau.firstcolisrownames = False
97         dlg.Destroy()
98
99 def getPage(ira) :
100     if '_mgr' in dir(ira) :
101         if not ira._mgr.GetPane('Text').IsShown() :
102             if ira.nb.GetPageCount() >= 1:
103                 return ira.nb.GetPage(ira.nb.GetSelection())
104             else :
105                 return None
106         else :
107             return None
108     else :
109         return None
110
111 def getCorpus(page) :
112     if 'corpus' in page.__dict__:
113         return copy(page.corpus)
114     else :
115         return None
116             
117 class SelectColumn :
118     def __init__(self, parent, dictcol, actives, pathout, selected = None, dlg = False) :
119         self.ira = parent
120         if dlg :
121             dial = dialog.SelectColDial(self.ira)
122             listcol = ListForSpec(dial, self, dictcol, ['forme', 'eff'])
123             dial.bSizer2.Add( listcol, 2, wx.ALL|wx.EXPAND, 5 )
124             dial.m_sdbSizer2.AddButton( dial.m_sdbSizer2OK )
125             dial.m_sdbSizer2.AddButton( dial.butok)
126             dial.m_sdbSizer2.Realize()
127             dial.bSizer2.Add( dial.m_sdbSizer2, 0, wx.EXPAND, 5 )
128             dial.Layout()
129             if selected is None :
130                 for row in xrange(listcol.GetItemCount()):
131                     listcol.Select(row)
132             else :
133                 orderlex = dict([[listcol.getColumnText(i,0),i] for i in range(0,listcol.GetItemCount())])
134                 for row in selected :
135                     listcol.Select(orderlex[actives[row]])
136             dial.CenterOnParent()
137             val = dial.ShowModal()        
138             if val == wx.ID_OK :
139                 last = listcol.GetFirstSelected()
140                 lastl = [listcol.GetFirstSelected()]
141                 indexes = [listcol.getColumnText(listcol.GetFirstSelected(),0)]
142                 while listcol.GetNextSelected(last) != -1:
143                     last = listcol.GetNextSelected(last)
144                     lastl.append(last)
145                     indexes.append(listcol.getColumnText(last,0))
146                 dial.Destroy()
147                 column = [actives.index(val) for val in indexes]
148                 column.sort()
149                 with open(pathout, 'w') as f :
150                     f.write('\n'.join([`val` for val in column]))
151                 self.ok = True
152             else :
153                 self.ok = False
154         else :
155             if selected is None :
156                 selected = [i for i in range(0, len(actives))]
157             with open(pathout, 'w') as f :
158                 f.write('\n'.join([`i` for i in selected]))
159
160
161 class PrefSimi ( wx.Dialog ):
162     
163     def __init__( self, parent, ID, paramsimi, indices, wordlist = None, selected = None, actives = None):
164         wx.Dialog.__init__ ( self, None, id = wx.ID_ANY, title = u"Paramètres", pos = wx.DefaultPosition, size = wx.Size( -1,-1 ), style = wx.DEFAULT_DIALOG_STYLE )
165         self.parent = parent
166         self.ira = parent
167         self.paramsimi=paramsimi
168         self.indices = indices
169
170         self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
171         
172         bSizer16 = wx.BoxSizer( wx.HORIZONTAL )
173         if wordlist is not None :
174             self.listcol = ListForSpec(self, self, wordlist, ['forme', 'eff'])
175             self.listcol.SetMinSize( wx.Size( 270,-1 ) )
176             bSizer16.Add( self.listcol, 0, wx.ALL|wx.EXPAND, 5 )
177             if selected is None :
178                 for row in xrange(self.listcol.GetItemCount()):
179                     self.listcol.Select(row)
180             else :
181                 self.orderlex = dict([[self.listcol.getColumnText(i,0),i] for i in range(0,self.listcol.GetItemCount())])
182                 for row in selected :
183                     self.listcol.Select(self.orderlex[actives[row]])
184         
185
186         fgSizer10 = wx.FlexGridSizer( 2, 1, 0, 0 )
187         fgSizer10.SetFlexibleDirection( wx.BOTH )
188         fgSizer10.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
189         
190         self.m_notebook1 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )
191         self.m_panel2 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
192         bSizer18 = wx.BoxSizer( wx.VERTICAL )
193         
194         fgSizer3 = wx.FlexGridSizer( 0, 2, 0, 0 )
195         fgSizer3.SetFlexibleDirection( wx.BOTH )
196         fgSizer3.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
197         
198         if not self.paramsimi['first'] :
199
200             self.m_staticText271 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Utiliser les coordonnées\nprécédentes", wx.DefaultPosition, wx.DefaultSize, 0 )
201             self.m_staticText271.Wrap( -1 )
202             fgSizer3.Add( self.m_staticText271, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
203             
204             self.check_coord = wx.CheckBox( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
205             fgSizer3.Add( self.check_coord, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
206             
207             self.m_staticline36 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
208             fgSizer3.Add( self.m_staticline36, 0, wx.EXPAND, 5 )
209             
210             self.m_staticline37 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
211             fgSizer3.Add( self.m_staticline37, 0, wx.EXPAND, 5 )
212         
213         self.m_staticText3 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Indice", wx.DefaultPosition, wx.DefaultSize, 0 )
214         self.m_staticText3.Wrap( -1 )
215         fgSizer3.Add( self.m_staticText3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
216         
217         choice1Choices = []
218         self.choice1 = wx.Choice( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, self.indices, 0 )
219         self.choice1.SetSelection( 0 )
220         fgSizer3.Add( self.choice1, 0, wx.ALL, 5 )
221         
222         self.m_staticline293 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
223         fgSizer3.Add( self.m_staticline293, 0, wx.EXPAND, 5 )
224         
225         self.m_staticline292 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
226         fgSizer3.Add( self.m_staticline292, 0, wx.EXPAND, 5 )
227         
228         self.m_staticText4 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Layout", wx.DefaultPosition, wx.DefaultSize, 0 )
229         self.m_staticText4.Wrap( -1 )
230         fgSizer3.Add( self.m_staticText4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
231         
232         choice2Choices = [ u"random", u"cercle", u"fruchterman reingold", u"kamada kawai", u"graphopt" ]
233         self.choice2 = wx.Choice( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice2Choices, 0 )
234         self.choice2.SetSelection( 0 )
235         fgSizer3.Add( self.choice2, 0, wx.ALL, 5 )
236         
237         self.m_staticline294 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
238         fgSizer3.Add( self.m_staticline294, 0, wx.EXPAND, 5 )
239         
240         self.m_staticline295 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
241         fgSizer3.Add( self.m_staticline295, 0, wx.EXPAND, 5 )
242         
243         self.m_staticText5 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Type de graph", wx.DefaultPosition, wx.DefaultSize, 0 )
244         self.m_staticText5.Wrap( -1 )
245         fgSizer3.Add( self.m_staticText5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
246         
247         choice3Choices = [ u"dynamique", u"statique", u"3D" ]
248         self.choice3 = wx.Choice( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice3Choices, 0 )
249         self.choice3.SetSelection( 0 )
250         fgSizer3.Add( self.choice3, 0, wx.ALL, 5 )
251         
252         self.m_staticline296 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
253         fgSizer3.Add( self.m_staticline296, 0, wx.EXPAND, 5 )
254         
255         self.m_staticline297 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
256         fgSizer3.Add( self.m_staticline297, 0, wx.EXPAND, 5 )
257         
258         self.m_staticText8 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Arbre maximum", wx.DefaultPosition, wx.DefaultSize, 0 )
259         self.m_staticText8.Wrap( -1 )
260         fgSizer3.Add( self.m_staticText8, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
261         
262         self.check1 = wx.CheckBox( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
263         fgSizer3.Add( self.check1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
264         
265         self.m_staticline298 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
266         fgSizer3.Add( self.m_staticline298, 0, wx.EXPAND, 5 )
267         
268         self.m_staticline299 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
269         fgSizer3.Add( self.m_staticline299, 0, wx.EXPAND, 5 )
270         
271         self.m_staticText91 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Graph à seuil", wx.DefaultPosition, wx.DefaultSize, 0 )
272         self.m_staticText91.Wrap( -1 )
273         fgSizer3.Add( self.m_staticText91, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
274         
275         bSizer21 = wx.BoxSizer( wx.HORIZONTAL )
276         
277         self.check_seuil = wx.CheckBox( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
278         bSizer21.Add( self.check_seuil, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
279         
280         self.spin_seuil = wx.SpinCtrl( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 1, 10000, 1 )
281         bSizer21.Add( self.spin_seuil, 0, wx.ALL, 5 )
282         
283         
284         fgSizer3.Add( bSizer21, 1, wx.EXPAND, 5 )
285         
286         self.m_staticline2910 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
287         fgSizer3.Add( self.m_staticline2910, 0, wx.EXPAND, 5 )
288         
289         self.m_staticline2911 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
290         fgSizer3.Add( self.m_staticline2911, 0, wx.EXPAND, 5 )
291         
292         self.m_staticText19 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Texte sur les sommets", wx.DefaultPosition, wx.DefaultSize, 0 )
293         self.m_staticText19.Wrap( -1 )
294         fgSizer3.Add( self.m_staticText19, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
295         
296         self.check_vlab = wx.CheckBox( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
297         fgSizer3.Add( self.check_vlab, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
298         
299         self.m_staticline2912 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
300         fgSizer3.Add( self.m_staticline2912, 0, wx.EXPAND, 5 )
301         
302         self.m_staticline2913 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
303         fgSizer3.Add( self.m_staticline2913, 0, wx.EXPAND, 5 )
304         
305         self.m_staticText20 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Indices sur les arêtes", wx.DefaultPosition, wx.DefaultSize, 0 )
306         self.m_staticText20.Wrap( -1 )
307         fgSizer3.Add( self.m_staticText20, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
308         
309         self.check_elab = wx.CheckBox( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
310         fgSizer3.Add( self.check_elab, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
311         
312         self.m_staticline2914 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
313         fgSizer3.Add( self.m_staticline2914, 0, wx.EXPAND, 5 )
314         
315         self.m_staticline2915 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
316         fgSizer3.Add( self.m_staticline2915, 0, wx.EXPAND, 5 )
317         
318         self.m_staticText27 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Taille du texte", wx.DefaultPosition, wx.DefaultSize, 0 )
319         self.m_staticText27.Wrap( -1 )
320         fgSizer3.Add( self.m_staticText27, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
321         
322         self.spin_cex = wx.SpinCtrl( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 10 )
323         fgSizer3.Add( self.spin_cex, 0, wx.ALL, 5 )
324         
325         self.m_staticline2916 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
326         fgSizer3.Add( self.m_staticline2916, 0, wx.EXPAND, 5 )
327         
328         self.m_staticline2917 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
329         fgSizer3.Add( self.m_staticline2917, 0, wx.EXPAND, 5 )
330         
331         if 'bystar' in self.paramsimi :
332             self.m_staticText40 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Sélectionner une variable", wx.DefaultPosition, wx.DefaultSize, 0 )
333             self.m_staticText40.Wrap( -1 )
334             fgSizer3.Add( self.m_staticText40, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
335             
336             self.check_bystar = wx.CheckBox( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
337             fgSizer3.Add( self.check_bystar, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
338             
339             self.m_staticline3200 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
340             fgSizer3.Add( self.m_staticline3200, 0, wx.EXPAND, 5 )
341             self.m_staticline3201 = wx.StaticLine( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
342             fgSizer3.Add( self.m_staticline3201, 0, wx.EXPAND, 5 )
343
344         
345         bSizer18.Add( fgSizer3, 0, wx.EXPAND, 5 )
346         
347         
348         self.m_panel2.SetSizer( bSizer18 )
349         self.m_panel2.Layout()
350         bSizer18.Fit( self.m_panel2 )
351         self.m_notebook1.AddPage( self.m_panel2, u"Paramètres du graph", True )
352         self.m_panel3 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
353         fgSizer5 = wx.FlexGridSizer( 0, 3, 0, 0 )
354         fgSizer5.SetFlexibleDirection( wx.BOTH )
355         fgSizer5.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
356         
357         fgSizer51 = wx.FlexGridSizer( 0, 2, 0, 0 )
358         fgSizer51.SetFlexibleDirection( wx.BOTH )
359         fgSizer51.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
360         
361         self.m_staticText6 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Taille du graphique", wx.DefaultPosition, wx.DefaultSize, 0 )
362         self.m_staticText6.Wrap( -1 )
363         fgSizer51.Add( self.m_staticText6, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
364         
365         fgSizer31 = wx.FlexGridSizer( 0, 2, 0, 0 )
366         fgSizer31.SetFlexibleDirection( wx.BOTH )
367         fgSizer31.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
368         
369         self.m_staticText9 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"hauteur", wx.DefaultPosition, wx.DefaultSize, 0 )
370         self.m_staticText9.Wrap( -1 )
371         fgSizer31.Add( self.m_staticText9, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
372         
373         self.spin_height = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 10, 100000, 800 )
374         fgSizer31.Add( self.spin_height, 0, wx.ALL, 5 )
375         
376         self.m_staticText10 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"largeur", wx.DefaultPosition, wx.DefaultSize, 0 )
377         self.m_staticText10.Wrap( -1 )
378         fgSizer31.Add( self.m_staticText10, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
379         
380         self.spin_width = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 10, 100000, 800 )
381         fgSizer31.Add( self.spin_width, 0, wx.ALL, 5 )
382         
383         
384         fgSizer51.Add( fgSizer31, 1, wx.EXPAND, 5 )
385         
386         self.m_staticline3 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
387         fgSizer51.Add( self.m_staticline3, 0, wx.EXPAND, 5 )
388         
389         self.m_staticline4 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
390         fgSizer51.Add( self.m_staticline4, 0, wx.EXPAND, 5 )
391         
392         self.m_staticText101 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Taille des sommets \nproportionnelle à l'effectif\n(les scores sont normalisés)", wx.DefaultPosition, wx.DefaultSize, 0 )
393         self.m_staticText101.Wrap( -1 )
394         fgSizer51.Add( self.m_staticText101, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
395         
396         bSizer7 = wx.BoxSizer( wx.HORIZONTAL )
397         
398         bSizer9 = wx.BoxSizer( wx.VERTICAL )
399         
400         self.check2 = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"eff.", wx.DefaultPosition, wx.DefaultSize, 0 )
401         bSizer9.Add( self.check2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
402         
403         self.checki = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"chi2", wx.DefaultPosition, wx.DefaultSize, 0 )
404         bSizer9.Add( self.checki, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
405         
406         
407         bSizer7.Add( bSizer9, 0, wx.ALIGN_CENTER_VERTICAL, 5 )
408         
409         fgSizer7 = wx.FlexGridSizer( 0, 2, 0, 0 )
410         fgSizer7.SetFlexibleDirection( wx.BOTH )
411         fgSizer7.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
412         
413         self.m_staticText11 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"min", wx.DefaultPosition, wx.DefaultSize, 0 )
414         self.m_staticText11.Wrap( -1 )
415         fgSizer7.Add( self.m_staticText11, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
416         
417         self.spin_tvmin = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
418         fgSizer7.Add( self.spin_tvmin, 0, wx.ALL, 5 )
419         
420         self.m_staticText12 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"max", wx.DefaultPosition, wx.DefaultSize, 0 )
421         self.m_staticText12.Wrap( -1 )
422         fgSizer7.Add( self.m_staticText12, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
423         
424         self.spin_tvmax = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
425         fgSizer7.Add( self.spin_tvmax, 0, wx.ALL, 5 )
426         
427         
428         bSizer7.Add( fgSizer7, 1, wx.EXPAND, 5 )
429         
430         
431         fgSizer51.Add( bSizer7, 1, wx.EXPAND, 5 )
432         
433         self.m_staticline31 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
434         fgSizer51.Add( self.m_staticline31, 0, wx.EXPAND, 5 )
435         
436         self.m_staticline32 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
437         fgSizer51.Add( self.m_staticline32, 0, wx.EXPAND, 5 )
438         
439         self.m_staticText1011 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Taille du texte des sommets \nproportionnelle à l'effectif\n(les scores sont normalisés)", wx.DefaultPosition, wx.DefaultSize, 0 )
440         self.m_staticText1011.Wrap( -1 )
441         fgSizer51.Add( self.m_staticText1011, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
442         
443         bSizer71 = wx.BoxSizer( wx.HORIZONTAL )
444         
445         bSizer8 = wx.BoxSizer( wx.VERTICAL )
446         
447         self.check_vcex = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"eff.", wx.DefaultPosition, wx.DefaultSize, 0 )
448         bSizer8.Add( self.check_vcex, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
449         
450         self.checkit = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"chi2", wx.DefaultPosition, wx.DefaultSize, 0 )
451         bSizer8.Add( self.checkit, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
452         
453         
454         bSizer71.Add( bSizer8, 0, wx.ALIGN_CENTER_VERTICAL, 5 )
455         
456         fgSizer71 = wx.FlexGridSizer( 0, 2, 0, 0 )
457         fgSizer71.SetFlexibleDirection( wx.BOTH )
458         fgSizer71.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
459         
460         self.m_staticText111 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"min", wx.DefaultPosition, wx.DefaultSize, 0 )
461         self.m_staticText111.Wrap( -1 )
462         fgSizer71.Add( self.m_staticText111, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
463         
464         self.spin_vcexmin = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
465         fgSizer71.Add( self.spin_vcexmin, 0, wx.ALL, 5 )
466         
467         self.m_staticText121 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"max", wx.DefaultPosition, wx.DefaultSize, 0 )
468         self.m_staticText121.Wrap( -1 )
469         fgSizer71.Add( self.m_staticText121, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
470         
471         self.spin_vcexmax = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
472         fgSizer71.Add( self.spin_vcexmax, 0, wx.ALL, 5 )
473         
474         
475         bSizer71.Add( fgSizer71, 1, wx.EXPAND, 5 )
476         
477         
478         fgSizer51.Add( bSizer71, 1, wx.EXPAND, 5 )
479         
480         self.m_staticline321 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
481         fgSizer51.Add( self.m_staticline321, 0, wx.EXPAND, 5 )
482         
483         self.m_staticline322 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
484         fgSizer51.Add( self.m_staticline322, 0, wx.EXPAND, 5 )
485         
486         self.m_staticText10111 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Largeur des arêtes\nproportionnelle à l'indice", wx.DefaultPosition, wx.DefaultSize, 0 )
487         self.m_staticText10111.Wrap( -1 )
488         fgSizer51.Add( self.m_staticText10111, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
489         
490         bSizer711 = wx.BoxSizer( wx.HORIZONTAL )
491         
492         self.check3 = wx.CheckBox( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
493         bSizer711.Add( self.check3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
494         
495         fgSizer711 = wx.FlexGridSizer( 0, 2, 0, 0 )
496         fgSizer711.SetFlexibleDirection( wx.BOTH )
497         fgSizer711.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
498         
499         self.m_staticText1111 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"min", wx.DefaultPosition, wx.DefaultSize, 0 )
500         self.m_staticText1111.Wrap( -1 )
501         fgSizer711.Add( self.m_staticText1111, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
502         
503         self.spin_temin = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
504         fgSizer711.Add( self.spin_temin, 0, wx.ALL, 5 )
505         
506         self.m_staticText1211 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"max", wx.DefaultPosition, wx.DefaultSize, 0 )
507         self.m_staticText1211.Wrap( -1 )
508         fgSizer711.Add( self.m_staticText1211, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
509         
510         self.spin_temax = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
511         fgSizer711.Add( self.spin_temax, 0, wx.ALL, 5 )
512         
513         
514         bSizer711.Add( fgSizer711, 1, wx.EXPAND, 5 )
515         
516         
517         fgSizer51.Add( bSizer711, 1, wx.EXPAND, 5 )
518         
519         self.m_staticline33 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
520         fgSizer51.Add( self.m_staticline33, 0, wx.EXPAND, 5 )
521         
522         self.m_staticline34 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
523         fgSizer51.Add( self.m_staticline34, 0, wx.EXPAND, 5 )
524         
525         self.m_staticText28 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Gradiant de gris sur les textes en fonction \nde l'effectif (du chi2) (0=noir; 1=blanc)", wx.DefaultPosition, wx.DefaultSize, 0 )
526         self.m_staticText28.Wrap( -1 )
527         fgSizer51.Add( self.m_staticText28, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
528         
529         bSizer10 = wx.BoxSizer( wx.HORIZONTAL )
530         
531         self.m_checkBox14 = wx.CheckBox( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
532         bSizer10.Add( self.m_checkBox14, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
533         
534         bSizer11 = wx.BoxSizer( wx.VERTICAL )
535         
536         bSizer12 = wx.BoxSizer( wx.HORIZONTAL )
537         
538         self.m_staticText31 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"min", wx.DefaultPosition, wx.DefaultSize, 0 )
539         self.m_staticText31.Wrap( -1 )
540         bSizer12.Add( self.m_staticText31, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
541         
542         self.m_spinCtrl14 = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
543         bSizer12.Add( self.m_spinCtrl14, 0, wx.ALL, 5 )
544         
545         
546         bSizer11.Add( bSizer12, 1, wx.EXPAND, 5 )
547         
548         bSizer13 = wx.BoxSizer( wx.HORIZONTAL )
549         
550         self.m_staticText32 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"max", wx.DefaultPosition, wx.DefaultSize, 0 )
551         self.m_staticText32.Wrap( -1 )
552         bSizer13.Add( self.m_staticText32, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
553         
554         self.m_spinCtrl15 = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 10 )
555         bSizer13.Add( self.m_spinCtrl15, 0, wx.ALL, 5 )
556         
557         
558         bSizer11.Add( bSizer13, 1, wx.EXPAND, 5 )
559         
560         
561         bSizer10.Add( bSizer11, 1, wx.EXPAND, 5 )
562         
563         
564         fgSizer51.Add( bSizer10, 1, wx.ALIGN_CENTER_VERTICAL|wx.EXPAND, 5 )
565         
566         self.m_staticline3311 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
567         fgSizer51.Add( self.m_staticline3311, 0, wx.EXPAND |wx.ALL, 5 )
568         
569         self.m_staticline33111 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
570         fgSizer51.Add( self.m_staticline33111, 0, wx.EXPAND |wx.ALL, 5 )
571         
572         bSizer5 = wx.BoxSizer( wx.HORIZONTAL )
573         
574         self.m_staticText21 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Couleur des sommets", wx.DefaultPosition, wx.DefaultSize, 0 )
575         self.m_staticText21.Wrap( -1 )
576         bSizer5.Add( self.m_staticText21, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
577         
578         self.cols = wx.ColourPickerCtrl( self.m_panel3, wx.ID_ANY, wx.Colour( 255, 0, 0 ), wx.DefaultPosition, wx.Size( 10,10 ), wx.CLRP_DEFAULT_STYLE )
579         bSizer5.Add( self.cols, 0, wx.ALL, 5 )
580         
581         
582         fgSizer51.Add( bSizer5, 1, wx.EXPAND, 5 )
583         
584         bSizer6 = wx.BoxSizer( wx.HORIZONTAL )
585         
586         self.m_staticText22 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Couleur des arêtes", wx.DefaultPosition, wx.DefaultSize, 0 )
587         self.m_staticText22.Wrap( -1 )
588         bSizer6.Add( self.m_staticText22, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
589         
590         self.cola = wx.ColourPickerCtrl( self.m_panel3, wx.ID_ANY, wx.Colour( 208, 208, 208 ), wx.DefaultPosition, wx.DefaultSize, wx.CLRP_DEFAULT_STYLE )
591         bSizer6.Add( self.cola, 0, wx.ALL, 5 )
592         
593         
594         fgSizer51.Add( bSizer6, 1, wx.EXPAND, 5 )
595         
596         self.m_staticline331 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
597         fgSizer51.Add( self.m_staticline331, 0, wx.EXPAND, 5 )
598         
599         self.m_staticline332 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
600         fgSizer51.Add( self.m_staticline332, 0, wx.EXPAND, 5 )
601         
602         self.m_staticText23 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Taille des sommets unique", wx.DefaultPosition, wx.DefaultSize, 0 )
603         self.m_staticText23.Wrap( -1 )
604         fgSizer51.Add( self.m_staticText23, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
605         
606         bSizer72 = wx.BoxSizer( wx.HORIZONTAL )
607         
608         self.check_s_size = wx.CheckBox( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
609         bSizer72.Add( self.check_s_size, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
610         
611         self.spin_tv = wx.SpinCtrl( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 10 )
612         bSizer72.Add( self.spin_tv, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
613         
614         
615         fgSizer51.Add( bSizer72, 1, wx.EXPAND, 5 )
616         
617         self.m_staticline333 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
618         fgSizer51.Add( self.m_staticline333, 0, wx.EXPAND, 5 )
619         
620         self.m_staticline334 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
621         fgSizer51.Add( self.m_staticline334, 0, wx.EXPAND, 5 )
622         
623         self.m_staticText24 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Transparence des sphères", wx.DefaultPosition, wx.DefaultSize, 0 )
624         self.m_staticText24.Wrap( -1 )
625         fgSizer51.Add( self.m_staticText24, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
626         
627         self.slider_sphere = wx.Slider( self.m_panel3, wx.ID_ANY, 10, 0, 100, wx.DefaultPosition, wx.DefaultSize, wx.SL_HORIZONTAL|wx.SL_LABELS )
628         fgSizer51.Add( self.slider_sphere, 0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 )
629         
630         self.m_staticline335 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
631         fgSizer51.Add( self.m_staticline335, 0, wx.EXPAND, 5 )
632         
633         self.m_staticline336 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
634         fgSizer51.Add( self.m_staticline336, 0, wx.EXPAND, 5 )
635         
636         self.m_staticText25 = wx.StaticText( self.m_panel3, wx.ID_ANY, u"Faire un film", wx.DefaultPosition, wx.DefaultSize, 0 )
637         self.m_staticText25.Wrap( -1 )
638         fgSizer51.Add( self.m_staticText25, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
639         
640         self.film = wx.CheckBox( self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
641         fgSizer51.Add( self.film, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
642         
643         self.m_staticline2918 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
644         fgSizer51.Add( self.m_staticline2918, 0, wx.EXPAND, 5 )
645         
646         self.m_staticline2919 = wx.StaticLine( self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
647         fgSizer51.Add( self.m_staticline2919, 0, wx.EXPAND, 5 )
648         
649         
650         fgSizer51.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
651         
652         
653         fgSizer5.Add( fgSizer51, 1, wx.EXPAND, 5 )
654         
655         
656         self.m_panel3.SetSizer( fgSizer5 )
657         self.m_panel3.Layout()
658         fgSizer5.Fit( self.m_panel3 )
659         self.m_notebook1.AddPage( self.m_panel3, u"Paramètres graphiques", False )
660         
661         fgSizer10.Add( self.m_notebook1, 1, wx.EXPAND |wx.ALL, 5 )
662         
663         m_sdbSizer2 = wx.StdDialogButtonSizer()
664         self.m_sdbSizer2OK = wx.Button( self, wx.ID_OK )
665         m_sdbSizer2.AddButton( self.m_sdbSizer2OK )
666         self.m_sdbSizer2Cancel = wx.Button( self, wx.ID_CANCEL )
667         m_sdbSizer2.AddButton( self.m_sdbSizer2Cancel )
668         m_sdbSizer2.Realize();
669         
670         fgSizer10.Add( m_sdbSizer2, 1, wx.EXPAND, 5 )
671         
672         
673         bSizer16.Add( fgSizer10, 1, wx.EXPAND, 5 )
674         
675         
676         self.SetSizer( bSizer16 )
677         self.Layout()
678         bSizer16.Fit( self )
679         
680         self.Centre( wx.BOTH )
681         self.__set_properties()
682  
683         # Connect Events
684         if not self.paramsimi['first'] :
685             self.check_coord.Bind( wx.EVT_CHECKBOX, self.OnKeepCoords )
686         self.choice3.Bind( wx.EVT_CHOICE, self.OnChangeType )
687         self.check2.Bind( wx.EVT_CHECKBOX, self.OnCheck2 )
688         self.checki.Bind( wx.EVT_CHECKBOX, self.OnChecki )
689         self.check_vcex.Bind( wx.EVT_CHECKBOX, self.OnCheck_vcex )
690         self.checkit.Bind( wx.EVT_CHECKBOX, self.OnCheckit )
691         self.check_s_size.Bind( wx.EVT_CHECKBOX, self.OnCheck_s_size )
692         
693 #        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
694 #
695 #        bSizer16 = wx.BoxSizer( wx.HORIZONTAL )
696 #        if wordlist is not None :
697 #            liscol = ListForSpec(dial, self, wordlist, ['forme', 'eff'])
698 #            bSizer16.Add(liscol, 0, wx.ALL| wx.EXPAND, 5 )
699 #        
700 #        self.m_notebook1 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )
701 #        self.m_panel2 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
702 #
703 #        bSizer18 = wx.BoxSizer( wx.VERTICAL )
704 #        fgSizer5 = wx.FlexGridSizer( 0, 3, 0, 0 )
705 #        fgSizer5.SetFlexibleDirection( wx.BOTH )
706 #        fgSizer5.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
707 #        
708 #        fgSizer3 = wx.FlexGridSizer( 0, 2, 0, 0 )
709 #        fgSizer3.SetFlexibleDirection( wx.BOTH )
710 #        fgSizer3.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
711 #        
712 #        #self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"Sélectionner les colonnes", wx.DefaultPosition, wx.DefaultSize, 0 )
713 #        #self.m_staticText1.Wrap( -1 )
714 #        #fgSizer3.Add( self.m_staticText1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
715 #        
716 #        #self.check_colch = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
717 #        #fgSizer3.Add( self.check_colch, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
718 #        
719 #        self.m_staticline29 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
720 #        fgSizer3.Add( self.m_staticline29, 0, wx.EXPAND, 5 )
721 #        
722 #        self.m_staticline291 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
723 #        fgSizer3.Add( self.m_staticline291, 0, wx.EXPAND, 5 )
724 #        if not self.paramsimi['first'] :
725
726 #            self.m_staticText271 = wx.StaticText( self, wx.ID_ANY, u"Utiliser les coordonnées\nprécédentes", wx.DefaultPosition, wx.DefaultSize, 0 )
727 #            self.m_staticText271.Wrap( -1 )
728 #            fgSizer3.Add( self.m_staticText271, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
729 #        
730 #            self.check_coord = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
731 #            fgSizer3.Add( self.check_coord, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
732 #        
733 #            self.m_staticline36 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
734 #            fgSizer3.Add( self.m_staticline36, 0, wx.EXPAND, 5 )
735 #        
736 #            self.m_staticline37 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
737 #            fgSizer3.Add( self.m_staticline37, 0, wx.EXPAND, 5 )
738 #        
739 #        self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"Indice", wx.DefaultPosition, wx.DefaultSize, 0 )
740 #        self.m_staticText3.Wrap( -1 )
741 #        fgSizer3.Add( self.m_staticText3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
742 #        
743 #        choice1Choices = []
744 #        self.choice1 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, self.indices, 0 )
745 #        self.choice1.SetSelection( 0 )
746 #        fgSizer3.Add( self.choice1, 0, wx.ALL, 5 )
747 #        
748 #        self.m_staticline293 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
749 #        fgSizer3.Add( self.m_staticline293, 0, wx.EXPAND, 5 )
750 #        
751 #        self.m_staticline292 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
752 #        fgSizer3.Add( self.m_staticline292, 0, wx.EXPAND, 5 )
753 #        
754 #        self.m_staticText4 = wx.StaticText( self, wx.ID_ANY, u"Layout", wx.DefaultPosition, wx.DefaultSize, 0 )
755 #        self.m_staticText4.Wrap( -1 )
756 #        fgSizer3.Add( self.m_staticText4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
757 #        
758 #        choice2Choices = [u"random", u"cercle", u"fruchterman reingold", u"kamada kawai", u"graphopt"]
759 #        self.choice2 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice2Choices, 0 )
760 #        self.choice2.SetSelection( 0 )
761 #        fgSizer3.Add( self.choice2, 0, wx.ALL, 5 )
762 #        
763 #        self.m_staticline294 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
764 #        fgSizer3.Add( self.m_staticline294, 0, wx.EXPAND, 5 )
765 #        
766 #        self.m_staticline295 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
767 #        fgSizer3.Add( self.m_staticline295, 0, wx.EXPAND, 5 )
768 #        
769 #        self.m_staticText5 = wx.StaticText( self, wx.ID_ANY, u"Type de graph", wx.DefaultPosition, wx.DefaultSize, 0 )
770 #        self.m_staticText5.Wrap( -1 )
771 #        fgSizer3.Add( self.m_staticText5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
772 #        
773 #        choice3Choices = [u"dynamique", u"statique", u"3D"]
774 #        self.choice3 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice3Choices, 0 )
775 #        self.choice3.SetSelection( 0 )
776 #        fgSizer3.Add( self.choice3, 0, wx.ALL, 5 )
777 #        
778 #        self.m_staticline296 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
779 #        fgSizer3.Add( self.m_staticline296, 0, wx.EXPAND, 5 )
780 #        
781 #        self.m_staticline297 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
782 #        fgSizer3.Add( self.m_staticline297, 0, wx.EXPAND, 5 )
783 #        
784 #        self.m_staticText8 = wx.StaticText( self, wx.ID_ANY, u"Arbre maximum", wx.DefaultPosition, wx.DefaultSize, 0 )
785 #        self.m_staticText8.Wrap( -1 )
786 #        fgSizer3.Add( self.m_staticText8, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
787 #        
788 #        self.check1 = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
789 #        fgSizer3.Add( self.check1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
790 #        
791 #        self.m_staticline298 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
792 #        fgSizer3.Add( self.m_staticline298, 0, wx.EXPAND, 5 )
793 #        
794 #        self.m_staticline299 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
795 #        fgSizer3.Add( self.m_staticline299, 0, wx.EXPAND, 5 )
796 #        
797 #        self.m_staticText91 = wx.StaticText( self, wx.ID_ANY, u"Graph à seuil", wx.DefaultPosition, wx.DefaultSize, 0 )
798 #        self.m_staticText91.Wrap( -1 )
799 #        fgSizer3.Add( self.m_staticText91, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
800 #        
801 #        bSizer21 = wx.BoxSizer( wx.HORIZONTAL )
802 #        
803 #        self.check_seuil = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
804 #        bSizer21.Add( self.check_seuil, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
805 #        
806 #        self.spin_seuil = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 1, 10000, 1 )
807 #        bSizer21.Add( self.spin_seuil, 0, wx.ALL, 5 )
808 #        
809 #        fgSizer3.Add( bSizer21, 1, wx.EXPAND, 5 )
810 #        
811 #        self.m_staticline2910 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
812 #        fgSizer3.Add( self.m_staticline2910, 0, wx.EXPAND, 5 )
813 #        
814 #        self.m_staticline2911 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
815 #        fgSizer3.Add( self.m_staticline2911, 0, wx.EXPAND, 5 )
816 #        
817 #        self.m_staticText19 = wx.StaticText( self, wx.ID_ANY, u"Texte sur les sommets", wx.DefaultPosition, wx.DefaultSize, 0 )
818 #        self.m_staticText19.Wrap( -1 )
819 #        fgSizer3.Add( self.m_staticText19, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
820 #        
821 #        self.check_vlab = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
822 #        fgSizer3.Add( self.check_vlab, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
823 #        
824 #        self.m_staticline2912 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
825 #        fgSizer3.Add( self.m_staticline2912, 0, wx.EXPAND, 5 )
826 #        
827 #        self.m_staticline2913 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
828 #        fgSizer3.Add( self.m_staticline2913, 0, wx.EXPAND, 5 )
829 #        
830 #        self.m_staticText20 = wx.StaticText( self, wx.ID_ANY, u"Indices sur les arêtes", wx.DefaultPosition, wx.DefaultSize, 0 )
831 #        self.m_staticText20.Wrap( -1 )
832 #        fgSizer3.Add( self.m_staticText20, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
833 #        
834 #        self.check_elab = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
835 #        fgSizer3.Add( self.check_elab, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
836 #        
837 #        self.m_staticline2914 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
838 #        fgSizer3.Add( self.m_staticline2914, 0, wx.EXPAND, 5 )
839 #        
840 #        self.m_staticline2915 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
841 #        fgSizer3.Add( self.m_staticline2915, 0, wx.EXPAND, 5 )
842 #        
843 #        self.m_staticText27 = wx.StaticText( self, wx.ID_ANY, u"Taille du texte", wx.DefaultPosition, wx.DefaultSize, 0 )
844 #        self.m_staticText27.Wrap( -1 )
845 #        fgSizer3.Add( self.m_staticText27, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
846 #        
847 #        self.spin_cex = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 10 )
848 #        fgSizer3.Add( self.spin_cex, 0, wx.ALL, 5 )
849 #        
850 #        self.m_staticline2916 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
851 #        fgSizer3.Add( self.m_staticline2916, 0, wx.EXPAND, 5 )
852 #        
853 #        self.m_staticline2917 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
854 #        fgSizer3.Add( self.m_staticline2917, 0, wx.EXPAND, 5 )
855 #        
856 #        if 'bystar' in self.paramsimi :
857 #            self.m_staticText40 = wx.StaticText( self, wx.ID_ANY, u"Sélectionner une variable", wx.DefaultPosition, wx.DefaultSize, 0 )
858 #            self.m_staticText40.Wrap( -1 )
859 #            fgSizer3.Add( self.m_staticText40, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
860 #            
861 #            self.check_bystar = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
862 #            fgSizer3.Add( self.check_bystar, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
863 #            
864 #            self.m_staticline3200 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
865 #            fgSizer3.Add( self.m_staticline3200, 0, wx.EXPAND, 5 )
866 #            self.m_staticline3201 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
867 #            fgSizer3.Add( self.m_staticline3201, 0, wx.EXPAND, 5 )
868 #
869 #        fgSizer5.Add( fgSizer3, 1, wx.EXPAND, 5 )
870 #        
871 #        self.m_staticline5 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_VERTICAL )
872 #        self.m_staticline5.SetForegroundColour( wx.Colour( 0, 0, 0 ) )
873 #        
874 #        fgSizer5.Add( self.m_staticline5, 0, wx.EXPAND|wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
875 #        
876 #        fgSizer51 = wx.FlexGridSizer( 0, 2, 0, 0 )
877 #        fgSizer51.SetFlexibleDirection( wx.BOTH )
878 #        fgSizer51.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
879 #        
880 #        self.m_staticText6 = wx.StaticText( self, wx.ID_ANY, u"Taille du graphique", wx.DefaultPosition, wx.DefaultSize, 0 )
881 #        self.m_staticText6.Wrap( -1 )
882 #        fgSizer51.Add( self.m_staticText6, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
883 #        
884 #        fgSizer31 = wx.FlexGridSizer( 0, 2, 0, 0 )
885 #        fgSizer31.SetFlexibleDirection( wx.BOTH )
886 #        fgSizer31.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
887 #        
888 #        self.m_staticText9 = wx.StaticText( self, wx.ID_ANY, u"hauteur", wx.DefaultPosition, wx.DefaultSize, 0 )
889 #        self.m_staticText9.Wrap( -1 )
890 #        fgSizer31.Add( self.m_staticText9, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
891 #        
892 #        self.spin_height = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 10, 100000, 800 )
893 #        fgSizer31.Add( self.spin_height, 0, wx.ALL, 5 )
894 #        
895 #        self.m_staticText10 = wx.StaticText( self, wx.ID_ANY, u"largeur", wx.DefaultPosition, wx.DefaultSize, 0 )
896 #        self.m_staticText10.Wrap( -1 )
897 #        fgSizer31.Add( self.m_staticText10, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
898 #        
899 #        self.spin_width = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 10, 100000, 800 )
900 #        fgSizer31.Add( self.spin_width, 0, wx.ALL, 5 )
901 #        
902 #        fgSizer51.Add( fgSizer31, 1, wx.EXPAND, 5 )
903 #        
904 #        self.m_staticline3 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
905 #        fgSizer51.Add( self.m_staticline3, 0, wx.EXPAND, 5 )
906 #        
907 #        self.m_staticline4 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
908 #        fgSizer51.Add( self.m_staticline4, 0, wx.EXPAND, 5 )
909 #        
910 #        self.m_staticText101 = wx.StaticText( self, wx.ID_ANY, u"Taille des sommets \nproportionnelle à l'effectif\n(les scores sont normalisés)", wx.DefaultPosition, wx.DefaultSize, 0 )
911 #        self.m_staticText101.Wrap( -1 )
912 #        fgSizer51.Add( self.m_staticText101, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
913 #        
914 #        bSizer7 = wx.BoxSizer( wx.HORIZONTAL )
915 #        
916 #        bSizer9 = wx.BoxSizer( wx.VERTICAL )
917 #        
918 #        self.check2 = wx.CheckBox( self, wx.ID_ANY, u"eff.", wx.DefaultPosition, wx.DefaultSize, 0 )
919 #        bSizer9.Add( self.check2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
920 #        
921 #        if 'sfromchi' in self.paramsimi :
922 #            self.checki = wx.CheckBox( self, wx.ID_ANY, u"chi2", wx.DefaultPosition, wx.DefaultSize, 0 )
923 #            bSizer9.Add( self.checki, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
924 #        
925 #        bSizer7.Add( bSizer9, 0, wx.ALIGN_CENTER_VERTICAL, 5 )
926 #        
927 #        fgSizer7 = wx.FlexGridSizer( 0, 2, 0, 0 )
928 #        fgSizer7.SetFlexibleDirection( wx.BOTH )
929 #        fgSizer7.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
930 #        
931 #        self.m_staticText11 = wx.StaticText( self, wx.ID_ANY, u"min", wx.DefaultPosition, wx.DefaultSize, 0 )
932 #        self.m_staticText11.Wrap( -1 )
933 #        fgSizer7.Add( self.m_staticText11, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
934 #        
935 #        self.spin_tvmin = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
936 #        fgSizer7.Add( self.spin_tvmin, 0, wx.ALL, 5 )
937 #        
938 #        self.m_staticText12 = wx.StaticText( self, wx.ID_ANY, u"max", wx.DefaultPosition, wx.DefaultSize, 0 )
939 #        self.m_staticText12.Wrap( -1 )
940 #        fgSizer7.Add( self.m_staticText12, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
941 #        
942 #        self.spin_tvmax = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
943 #        fgSizer7.Add( self.spin_tvmax, 0, wx.ALL, 5 )
944 #        
945 #        bSizer7.Add( fgSizer7, 1, wx.EXPAND, 5 )
946 #        
947 #        fgSizer51.Add( bSizer7, 1, wx.EXPAND, 5 )
948 #        
949 #        self.m_staticline31 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
950 #        fgSizer51.Add( self.m_staticline31, 0, wx.EXPAND, 5 )
951 #        
952 #        self.m_staticline32 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
953 #        fgSizer51.Add( self.m_staticline32, 0, wx.EXPAND, 5 )
954 #        
955 #        self.m_staticText1011 = wx.StaticText( self, wx.ID_ANY, u"Taille du texte des sommets \nproportionnelle à l'effectif\n(les scores sont normalisés)", wx.DefaultPosition, wx.DefaultSize, 0 )
956 #        self.m_staticText1011.Wrap( -1 )
957 #        fgSizer51.Add( self.m_staticText1011, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
958 #        
959 #        bSizer71 = wx.BoxSizer( wx.HORIZONTAL )
960 #        
961 #        bSizer8 = wx.BoxSizer( wx.VERTICAL )
962 #        
963 #        self.check_vcex = wx.CheckBox( self, wx.ID_ANY, u"eff.", wx.DefaultPosition, wx.DefaultSize, 0 )
964 #        bSizer8.Add( self.check_vcex, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
965 #        if 'cexfromchi' in self.paramsimi :
966 #        
967 #            self.checkit = wx.CheckBox( self, wx.ID_ANY, u"chi2", wx.DefaultPosition, wx.DefaultSize, 0 )
968 #            bSizer8.Add( self.checkit, 0, wx.ALL, 5 )
969 #        
970 #        bSizer71.Add( bSizer8, 0, wx.ALIGN_CENTER_VERTICAL, 5 )
971 #        
972 #        fgSizer71 = wx.FlexGridSizer( 0, 2, 0, 0 )
973 #        fgSizer71.SetFlexibleDirection( wx.BOTH )
974 #        fgSizer71.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
975 #        
976 #        self.m_staticText111 = wx.StaticText( self, wx.ID_ANY, u"min", wx.DefaultPosition, wx.DefaultSize, 0 )
977 #        self.m_staticText111.Wrap( -1 )
978 #        fgSizer71.Add( self.m_staticText111, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
979 #        
980 #        self.spin_vcexmin = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
981 #        fgSizer71.Add( self.spin_vcexmin, 0, wx.ALL, 5 )
982 #        
983 #        self.m_staticText121 = wx.StaticText( self, wx.ID_ANY, u"max", wx.DefaultPosition, wx.DefaultSize, 0 )
984 #        self.m_staticText121.Wrap( -1 )
985 #        fgSizer71.Add( self.m_staticText121, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
986 #        
987 #        self.spin_vcexmax = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
988 #        fgSizer71.Add( self.spin_vcexmax, 0, wx.ALL, 5 )
989 #        
990 #        bSizer71.Add( fgSizer71, 1, wx.EXPAND, 5 )
991 #        
992 #        fgSizer51.Add( bSizer71, 1, wx.EXPAND, 5 )
993 #        
994 #        self.m_staticline321 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
995 #        fgSizer51.Add( self.m_staticline321, 0, wx.EXPAND, 5 )
996 #        
997 #        self.m_staticline322 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
998 #        fgSizer51.Add( self.m_staticline322, 0, wx.EXPAND, 5 )
999 #        
1000 #        self.m_staticText10111 = wx.StaticText( self, wx.ID_ANY, u"Largeur des arêtes\nproportionnelle à l'indice", wx.DefaultPosition, wx.DefaultSize, 0 )
1001 #        self.m_staticText10111.Wrap( -1 )
1002 #        fgSizer51.Add( self.m_staticText10111, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1003 #        
1004 #        bSizer711 = wx.BoxSizer( wx.HORIZONTAL )
1005 #        
1006 #        self.check3 = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
1007 #        bSizer711.Add( self.check3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
1008 #        
1009 #        fgSizer711 = wx.FlexGridSizer( 0, 2, 0, 0 )
1010 #        fgSizer711.SetFlexibleDirection( wx.BOTH )
1011 #        fgSizer711.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
1012 #        
1013 #        self.m_staticText1111 = wx.StaticText( self, wx.ID_ANY, u"min", wx.DefaultPosition, wx.DefaultSize, 0 )
1014 #        self.m_staticText1111.Wrap( -1 )
1015 #        fgSizer711.Add( self.m_staticText1111, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
1016 #        
1017 #        self.spin_temin = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
1018 #        fgSizer711.Add( self.spin_temin, 0, wx.ALL, 5 )
1019 #        
1020 #        self.m_staticText1211 = wx.StaticText( self, wx.ID_ANY, u"max", wx.DefaultPosition, wx.DefaultSize, 0 )
1021 #        self.m_staticText1211.Wrap( -1 )
1022 #        fgSizer711.Add( self.m_staticText1211, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
1023 #        
1024 #        self.spin_temax = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 )
1025 #        fgSizer711.Add( self.spin_temax, 0, wx.ALL, 5 )
1026 #        
1027 #        bSizer711.Add( fgSizer711, 1, wx.EXPAND, 5 )
1028 #        
1029 #        fgSizer51.Add( bSizer711, 1, wx.EXPAND, 5 )
1030 #        
1031 #        self.m_staticline33 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1032 #        fgSizer51.Add( self.m_staticline33, 0, wx.EXPAND, 5 )
1033 #        
1034 #        self.m_staticline34 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1035 #        fgSizer51.Add( self.m_staticline34, 0, wx.EXPAND, 5 )
1036 #        
1037 #        self.m_staticText28 = wx.StaticText( self, wx.ID_ANY, u"Gradiant de gris sur les textes en fonction \nde l'effectif (du chi2) (0=noir; 1=blanc)", wx.DefaultPosition, wx.DefaultSize, 0 )
1038 #        self.m_staticText28.Wrap( -1 )
1039 #        fgSizer51.Add( self.m_staticText28, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
1040 #        
1041 #        bSizer10 = wx.BoxSizer( wx.HORIZONTAL )
1042 #        
1043 #        self.m_checkBox14 = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
1044 #        bSizer10.Add( self.m_checkBox14, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
1045 #        
1046 #        bSizer11 = wx.BoxSizer( wx.VERTICAL )
1047 #        
1048 #        bSizer12 = wx.BoxSizer( wx.HORIZONTAL )
1049 #        
1050 #        self.m_staticText31 = wx.StaticText( self, wx.ID_ANY, u"min", wx.DefaultPosition, wx.DefaultSize, 0 )
1051 #        self.m_staticText31.Wrap( -1 )
1052 #        bSizer12.Add( self.m_staticText31, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
1053 #        
1054 #        self.m_spinCtrl14 = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 10, 0 )
1055 #        bSizer12.Add( self.m_spinCtrl14, 0, wx.ALL, 5 )
1056 #        
1057 #        bSizer11.Add( bSizer12, 1, wx.EXPAND, 5 )
1058 #        
1059 #        bSizer13 = wx.BoxSizer( wx.HORIZONTAL )
1060 #        
1061 #        self.m_staticText32 = wx.StaticText( self, wx.ID_ANY, u"max", wx.DefaultPosition, wx.DefaultSize, 0 )
1062 #        self.m_staticText32.Wrap( -1 )
1063 #        bSizer13.Add( self.m_staticText32, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
1064 #        
1065 #        self.m_spinCtrl15 = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 10, 10 )
1066 #        bSizer13.Add( self.m_spinCtrl15, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
1067 #        
1068 #        bSizer11.Add( bSizer13, 1, wx.EXPAND, 5 )
1069 #        
1070 #        bSizer10.Add( bSizer11, 1, wx.EXPAND, 5 )
1071 #        
1072 #        fgSizer51.Add( bSizer10, 1, wx.ALIGN_CENTER_VERTICAL|wx.EXPAND, 5 )
1073 #        
1074 #        self.m_staticline3311 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1075 #        fgSizer51.Add( self.m_staticline3311, 0, wx.EXPAND |wx.ALL, 5 )
1076 #        
1077 #        self.m_staticline33111 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1078 #        fgSizer51.Add( self.m_staticline33111, 0, wx.EXPAND |wx.ALL, 5 )
1079 #        bSizer5 = wx.BoxSizer( wx.HORIZONTAL )
1080 #        
1081 #        self.m_staticText21 = wx.StaticText( self, wx.ID_ANY, u"Couleur des sommets", wx.DefaultPosition, wx.DefaultSize, 0 )
1082 #        self.m_staticText21.Wrap( -1 )
1083 #        bSizer5.Add( self.m_staticText21, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1084 #        
1085 #        self.cols = wx.ColourPickerCtrl( self, wx.ID_ANY, wx.Colour( 255, 0, 0 ), wx.DefaultPosition, wx.Size( 10,10 ), wx.CLRP_DEFAULT_STYLE )
1086 #        bSizer5.Add( self.cols, 0, wx.ALL, 5 )
1087 #        
1088 #        fgSizer51.Add( bSizer5, 1, wx.EXPAND, 5 )
1089 #        
1090 #        bSizer6 = wx.BoxSizer( wx.HORIZONTAL )
1091 #        
1092 #        self.m_staticText22 = wx.StaticText( self, wx.ID_ANY, u"Couleur des arêtes", wx.DefaultPosition, wx.DefaultSize, 0 )
1093 #        self.m_staticText22.Wrap( -1 )
1094 #        bSizer6.Add( self.m_staticText22, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1095 #        
1096 #        self.cola = wx.ColourPickerCtrl( self, wx.ID_ANY, wx.Colour( 208, 208, 208 ), wx.DefaultPosition, wx.DefaultSize, wx.CLRP_DEFAULT_STYLE )
1097 #        bSizer6.Add( self.cola, 0, wx.ALL, 5 )
1098 #        
1099 #        fgSizer51.Add( bSizer6, 1, wx.EXPAND, 5 )
1100 #        
1101 #        self.m_staticline331 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1102 #        fgSizer51.Add( self.m_staticline331, 0, wx.EXPAND, 5 )
1103 #        
1104 #        self.m_staticline332 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1105 #        fgSizer51.Add( self.m_staticline332, 0, wx.EXPAND, 5 )
1106 #        
1107 #        self.m_staticText23 = wx.StaticText( self, wx.ID_ANY, u"Taille des sommets unique", wx.DefaultPosition, wx.DefaultSize, 0 )
1108 #        self.m_staticText23.Wrap( -1 )
1109 #        fgSizer51.Add( self.m_staticText23, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1110 #        
1111 #        bSizer72 = wx.BoxSizer( wx.HORIZONTAL )
1112 #        
1113 #        self.check_s_size = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
1114 #        bSizer72.Add( self.check_s_size, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1115 #        
1116 #        self.spin_tv = wx.SpinCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 10 )
1117 #        bSizer72.Add( self.spin_tv, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1118 #        
1119 #        fgSizer51.Add( bSizer72, 1, wx.EXPAND, 5 )
1120 #        
1121 #        self.m_staticline333 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1122 #        fgSizer51.Add( self.m_staticline333, 0, wx.EXPAND, 5 )
1123 #        
1124 #        self.m_staticline334 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1125 #        fgSizer51.Add( self.m_staticline334, 0, wx.EXPAND, 5 )
1126 #        
1127 #        self.m_staticText24 = wx.StaticText( self, wx.ID_ANY, u"Transparence des sphères", wx.DefaultPosition, wx.DefaultSize, 0 )
1128 #        self.m_staticText24.Wrap( -1 )
1129 #        fgSizer51.Add( self.m_staticText24, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1130 #        
1131 #        self.slider_sphere = wx.Slider( self, wx.ID_ANY, 10, 0, 100, wx.DefaultPosition, wx.DefaultSize, wx.SL_HORIZONTAL|wx.SL_LABELS )
1132 #        fgSizer51.Add( self.slider_sphere, 0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 )
1133 #        
1134 #        self.m_staticline335 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1135 #        fgSizer51.Add( self.m_staticline335, 0, wx.EXPAND, 5 )
1136 #        
1137 #        self.m_staticline336 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1138 #        fgSizer51.Add( self.m_staticline336, 0, wx.EXPAND, 5 )
1139 #        
1140 #        self.m_staticText25 = wx.StaticText( self, wx.ID_ANY, u"Faire un film", wx.DefaultPosition, wx.DefaultSize, 0 )
1141 #        self.m_staticText25.Wrap( -1 )
1142 #        fgSizer51.Add( self.m_staticText25, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1143 #        
1144 #        self.film = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
1145 #        fgSizer51.Add( self.film, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
1146 #        
1147 #        self.m_staticline2918 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1148 #        fgSizer51.Add( self.m_staticline2918, 0, wx.EXPAND, 5 )
1149 #        
1150 #        self.m_staticline2919 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
1151 #        fgSizer51.Add( self.m_staticline2919, 0, wx.EXPAND, 5 )
1152 #        
1153 #        
1154 #        fgSizer51.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
1155 #        
1156 #        m_sdbSizer2 = wx.StdDialogButtonSizer()
1157 #        self.m_sdbSizer2OK = wx.Button( self, wx.ID_OK )
1158 #        m_sdbSizer2.AddButton( self.m_sdbSizer2OK )
1159 #        self.m_sdbSizer2Cancel = wx.Button( self, wx.ID_CANCEL )
1160 #        m_sdbSizer2.AddButton( self.m_sdbSizer2Cancel )
1161 #        m_sdbSizer2.Realize();
1162 #        fgSizer51.Add( m_sdbSizer2, 1, wx.EXPAND, 5 )
1163 #        
1164 #        fgSizer5.Add( fgSizer51, 1, wx.EXPAND, 5 )
1165 #        
1166 #        self.SetSizer( fgSizer5 )
1167 #        self.__set_properties()
1168 #
1169 #        self.Layout()
1170 #        fgSizer5.Fit( self )
1171 #        
1172 #        self.Centre( wx.BOTH )
1173         
1174         # Connect Events
1175         if not self.paramsimi['first'] :
1176             self.check_coord.Bind( wx.EVT_CHECKBOX, self.OnKeepCoords )
1177         self.choice3.Bind( wx.EVT_CHOICE, self.OnChangeType )
1178         self.check2.Bind( wx.EVT_CHECKBOX, self.OnCheck2 )
1179         if 'cexfromchi' in self.paramsimi :
1180             self.checkit.Bind( wx.EVT_CHECKBOX, self.OnCheckit )
1181         if 'sfromchi' in self.paramsimi :
1182             self.checki.Bind( wx.EVT_CHECKBOX, self.OnChecki )
1183         self.check_vcex.Bind( wx.EVT_CHECKBOX, self.OnCheck_vcex )
1184         self.check_s_size.Bind( wx.EVT_CHECKBOX, self.OnCheck_s_size )
1185
1186     def __set_properties(self):
1187         self.choice1.SetSelection(self.paramsimi['coeff'])
1188         self.choice2.SetSelection(self.paramsimi['layout'])
1189         self.choice3.SetSelection(self.paramsimi['type_graph'])
1190         if self.paramsimi['type'] != 2 :
1191             self.film.Enable(False)
1192             self.slider_sphere.Enable(False)
1193         else :
1194             self.film.Enable(True)
1195             self.slider_sphere.Enable(True)
1196         self.check1.SetValue(self.paramsimi['arbremax'])
1197         self.check_vlab.SetValue(self.paramsimi['label_v'])
1198         self.check_elab.SetValue(self.paramsimi['label_e'])
1199         self.check2.SetValue(self.paramsimi['tvprop'])
1200         self.spin_tv.SetValue(self.paramsimi['coeff_tv_nb'])
1201         self.check_s_size.SetValue(self.paramsimi['coeff_tv'])
1202         self.spin_tvmin.SetValue(self.paramsimi['tvmin'])
1203         self.spin_tvmax.SetValue(self.paramsimi['tvmax'])
1204         self.check3.SetValue(self.paramsimi['coeff_te'])
1205         self.spin_temin.SetValue(self.paramsimi['coeff_temin'])
1206         self.spin_temax.SetValue(self.paramsimi['coeff_temax'])
1207         self.check_vcex.SetValue(self.paramsimi['vcex'])
1208         self.spin_vcexmin.SetValue(self.paramsimi['vcexmin'])
1209         self.spin_vcexmax.SetValue(self.paramsimi['vcexmax'])
1210         self.spin_cex.SetValue(self.paramsimi['cex'])
1211         self.check_seuil.SetValue(self.paramsimi['seuil_ok'])
1212         self.spin_seuil.SetValue(self.paramsimi['seuil'])
1213         self.cols.SetColour(self.paramsimi['cols'])
1214         self.cola.SetColour(self.paramsimi['cola'])
1215         self.spin_width.SetValue(self.paramsimi['width'])
1216         self.spin_height.SetValue(self.paramsimi['height'])
1217         if 'cexfromchi' in self.paramsimi :
1218             self.checkit.SetValue(self.paramsimi['cexfromchi'])
1219         if 'sfromchi' in self.paramsimi :
1220             self.checki.SetValue(self.paramsimi['sfromchi'])
1221         if not self.paramsimi['first'] :
1222             self.check_coord.SetValue(self.paramsimi['keep_coord'])
1223             self.OnKeepCoords(wx.EVT_CHECKBOX)
1224         if self.paramsimi.get('bystar', False) :
1225             self.check_bystar.SetValue(True)
1226             self.stars = self.paramsimi['stars']
1227         self.slider_sphere.SetValue(self.paramsimi['alpha'])
1228         self.film.SetValue(self.paramsimi['film'])
1229
1230     def OnCheck_s_size(self, evt):
1231         if self.check_s_size.GetValue() :
1232             if 'cexfromchi' in self.paramsimi :
1233                 self.checki.SetValue(False)
1234             self.check2.SetValue(False)
1235             self.spin_tvmin.Enable(False)
1236             self.spin_tvmax.Enable(False)
1237             self.spin_tv.Enable(True)
1238         else :
1239             self.check2.SetValue(True)
1240             self.spin_tvmin.Enable(True)
1241             self.spin_tvmax.Enable(True)
1242             self.spin_tv.Enable(False)
1243
1244     def OnCheck2(self, evt):
1245         if self.check2.GetValue():
1246             self.check_s_size.SetValue(False)
1247             if 'cexfromchi' in self.paramsimi :
1248                 self.checki.SetValue(False)
1249             self.spin_tvmin.Enable(True)
1250             self.spin_tvmax.Enable(True)
1251             self.spin_tv.Enable(False)
1252         else :
1253             self.check_s_size.SetValue(True)
1254             self.spin_tvmin.Enable(False)
1255             self.spin_tvmax.Enable(False)
1256             self.spin_tv.Enable(True)
1257
1258     def OnChecki(self, evt):
1259         if 'sfromchi' in self.paramsimi :
1260             if self.checki.GetValue() :
1261                 self.check_s_size.SetValue(False)
1262                 self.check2.SetValue(False)
1263                 self.spin_tvmin.Enable(True)
1264                 self.spin_tvmax.Enable(True)
1265                 self.spin_tv.Enable(False)
1266             else :
1267                 self.check_s_size.SetValue(True)
1268                 #self.check2.SetValue(True)
1269                 self.spin_tvmin.Enable(False)
1270                 self.spin_tvmax.Enable(False)
1271                 self.spin_tv.Enable(True)
1272
1273     def OnCheckit(self,evt) :
1274         if 'cexfromchi' in self.paramsimi :
1275             if self.checkit.GetValue() :
1276                 if self.check_vcex.GetValue() :
1277                     self.check_vcex.SetValue(False)
1278
1279     def OnCheck_vcex(self, evt):
1280         if self.check_vcex.GetValue() :
1281             if 'checkit' in dir(self) :
1282                 if self.checkit.GetValue() :
1283                     self.checkit.SetValue(False)
1284     
1285     def OnChangeType(self, event) :
1286         if event.GetInt() != 1 :
1287             self.spin_width.Enable(False)
1288             self.spin_height.Enable(False)
1289         else :
1290             self.spin_width.Enable(True)
1291             self.spin_height.Enable(True)
1292         if event.GetInt() != 2 :
1293             self.film.Enable(False)
1294             self.slider_sphere.Enable(False)
1295         else :
1296             self.film.Enable(True)
1297             self.slider_sphere.Enable(True)
1298
1299     def OnKeepCoords(self, event):
1300         if self.check_coord.GetValue() :
1301             self.choice1.SetSelection(self.paramsimi['coeff'])
1302             self.choice2.SetSelection(self.paramsimi['layout'])
1303             self.check_seuil.SetValue(self.paramsimi['seuil_ok'])
1304             self.spin_seuil.SetValue(self.paramsimi['seuil'])
1305             self.choice1.Disable()
1306             self.choice2.Disable()
1307             self.check_seuil.Disable()
1308             self.spin_seuil.Disable()
1309             #self.check_colch.SetValue(False)
1310             #self.check_colch.Disable()
1311         else :
1312             self.choice1.Enable(True)
1313             self.choice2.Enable(True)
1314             self.check_seuil.Enable(True)
1315             self.spin_seuil.Enable(True)
1316             #self.check_colch.Enable(True)
1317
1318
1319 class PrepSimi :
1320     def __init__(self, parent, source, parametres, pathout, actives, indices_simi, wordlist = None, selected = None) :    
1321         self.parametres = parametres
1322         self.etline = []
1323         self.dial = PrefSimi(parent, -1, self.parametres, indices_simi, wordlist = wordlist, selected = selected, actives = actives) 
1324         self.dial.CenterOnParent()
1325         self.val = self.dial.ShowModal()
1326         if self.val == wx.ID_OK :
1327             if 'bystar' in self.parametres :
1328                 if self.dial.check_bystar.GetValue() :
1329                     variables = treat_var_mod(self.parametres['stars'])
1330                     vardial = dialog.OptLexi(parent) 
1331                     vardial.listet = self.parametres['stars']
1332                     vardial.variables = [v for v in variables]
1333                     for et in vardial.variables :
1334                         vardial.list_box_1.Append(et)
1335                     nval = vardial.ShowModal()
1336                     if nval == wx.ID_OK :
1337                         if vardial.choice.GetSelection() == 1 :
1338                             listet = [vardial.listet[i] for i in vardial.list_box_1.GetSelections()]
1339                         else :
1340                             listet = variables[vardial.variables[vardial.list_box_1.GetSelections()[0]]]
1341                         self.dial.Destroy()
1342                         vardial.Destroy()
1343                         self.etline = source.corpus.make_etline(listet)
1344                         self.parametres['selectedstars'] = listet
1345                         self.parametres['listet'] = self.etline
1346                     else:
1347                         vardial.Destroy()
1348             last = self.dial.listcol.GetFirstSelected()
1349             lastl = [self.dial.listcol.GetFirstSelected()]
1350             indexes = [self.dial.listcol.getColumnText(self.dial.listcol.GetFirstSelected(),0)]
1351             while self.dial.listcol.GetNextSelected(last) != -1:
1352                 last = self.dial.listcol.GetNextSelected(last)
1353                 lastl.append(last)
1354                 indexes.append(self.dial.listcol.getColumnText(last,0))
1355             column = [actives.index(val) for val in indexes]
1356             column.sort()
1357             with open(pathout, 'w') as f :
1358                 f.write('\n'.join([`val` for val in column]))
1359             self.make_param()
1360             self.dial.Destroy()
1361         else :
1362             self.dial.Destroy()
1363
1364     def make_param(self) :
1365         #self.select = self.dial.check_colch.GetValue()
1366         if self.parametres.get('first', True) :
1367             keep_coord = False
1368         else :
1369             keep_coord = self.dial.check_coord.GetValue()
1370         param = {'coeff' : self.dial.choice1.GetSelection(),
1371                           'layout' : self.dial.choice2.GetSelection(),
1372                           'type_graph' : self.dial.choice3.GetSelection(),
1373                           'arbremax' : self.dial.check1.GetValue(),
1374                           'coeff_tv' : self.dial.check_s_size.GetValue(),
1375                           'coeff_tv_nb' : self.dial.spin_tv.GetValue(),
1376                           'tvprop' : self.dial.check2.GetValue(),
1377                           'tvmin' : self.dial.spin_tvmin.GetValue(),
1378                           'tvmax' : self.dial.spin_tvmax.GetValue(),
1379                           'coeff_te' : self.dial.check3.GetValue(),
1380                           'coeff_temin' : self.dial.spin_temin.GetValue(),
1381                           'coeff_temax' : self.dial.spin_temax.GetValue(),
1382                           'label_e' : self.dial.check_elab.GetValue(),
1383                           'label_v' : self.dial.check_vlab.GetValue(),
1384                           'vcex' : self.dial.check_vcex.GetValue(),
1385                           'vcexmin' : self.dial.spin_vcexmin.GetValue(),
1386                           'vcexmax' : self.dial.spin_vcexmax.GetValue(),
1387                           'cex' : self.dial.spin_cex.GetValue(),
1388                           'seuil_ok' : self.dial.check_seuil.GetValue(),
1389                           'seuil' : self.dial.spin_seuil.GetValue(),
1390                           'cols' : self.dial.cols.GetColour(),
1391                           'cola' : self.dial.cola.GetColour(),
1392                           'width' : self.dial.spin_width.GetValue(),
1393                           'height' : self.dial.spin_height.GetValue(),
1394                           'first' : False,
1395                           'keep_coord' : keep_coord,
1396                           'alpha' : self.dial.slider_sphere.GetValue(),
1397                           'film' : self.dial.film.GetValue()
1398                           }
1399         if 'cexfromchi' in self.parametres :
1400             param['cexfromchi'] = self.dial.checkit.GetValue()
1401         if 'sfromchi' in self.parametres :
1402             param['sfromchi'] = self.dial.checki.GetValue()
1403         if 'vlabcolor' in self.parametres :
1404            param['vlabcolor'] = self.parametres['vlabcolor']
1405         if 'check_bystar' in dir(self.dial) :
1406             param['bystar'] = self.dial.check_bystar.GetValue()
1407             param['stars'] = self.parametres['stars']
1408         self.parametres.update(param)
1409