...
[iramuteq] / dialog.py
index b30dede..22fb495 100755 (executable)
--- a/dialog.py
+++ b/dialog.py
@@ -1564,7 +1564,7 @@ class FindInCluster(wx.Frame):
 class SearchDial ( wx.Frame ):
     
     def __init__( self, parent, listctrl, col, shown):
-        wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_FRAME_STYLE )
+        wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_FRAME_STYLE | wx.STAY_ON_TOP )
         self.parent = parent
         self.listctrl = listctrl
         self.col = col
@@ -1852,6 +1852,21 @@ class PrefDendro ( wx.Dialog ):
         
         self.m_staticline4 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
         fgSizer1.Add( self.m_staticline4, 0, wx.EXPAND |wx.ALL, 5 )
+    
+        self.text_format_image = wx.StaticText( self, wx.ID_ANY, _(u"Image format").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
+        self.text_format_image.Wrap( -1 )
+        fgSizer1.Add( self.text_format_image, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
+        
+        self.choice_format = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, ['png', 'svg'], 0 )
+        self.choice_format.SetSelection( 0 )
+        fgSizer1.Add( self.choice_format, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 )
+        
+        self.m_staticline31 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
+        fgSizer1.Add( self.m_staticline31, 0, wx.EXPAND |wx.ALL, 5 )
+        
+        self.m_staticline41 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
+        fgSizer1.Add( self.m_staticline41, 0, wx.EXPAND |wx.ALL, 5 )        
+        
         
         self.m_staticText5 = wx.StaticText( self, wx.ID_ANY, _(u"Color or black and white").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
         self.m_staticText5.Wrap( -1 )
@@ -1916,6 +1931,7 @@ class PrefDendro ( wx.Dialog ):
         self.m_radioBox1.SetSelection(self.param['color_nb'])
         self.m_checkBox1.SetValue(self.param['taille_classe'])
         self.m_radioBox2.SetSelection(self.param['type_tclasse'])
+        self.choice_format.SetSelection(self.param['svg'])
     
     def __del__( self ):
         pass
@@ -2247,9 +2263,9 @@ class ChiDialog(wx.Dialog):
 class CorpusPref ( wx.Dialog ):
     
     def __init__( self, parent, parametres ):
-        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"Settings").decode('utf8'), pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_DIALOG_STYLE )
+        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"Settings").decode('utf8'), pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_DIALOG_STYLE | wx.STAY_ON_TOP )
         self.parent = parent 
-        langues_n = [u'français', u'english', u'german (expérimentale)', u'italian', u'swedish (expérimentale)', u'portuguese (expérimentale)', u'spanish (expérimentale)', u'greek (expériementale)', u'galician (expérimentale)', u'autre...']
+        langues_n = [u'français', u'english', u'german (expérimentale)', u'italian', u'swedish (expérimentale)', u'portuguese', u'spanish (expérimentale)', u'greek (expériementale)', u'galician (expérimentale)', u'autre...']
         self.langues = [u'french', u'english', u'german', u'italian', u'swedish', u'portuguese', u'spanish', u'greek', u'galician', u'other']
         self.encodages = [enc[0].lower() for enc in encodages]
 
@@ -2321,7 +2337,9 @@ class CorpusPref ( wx.Dialog ):
         fgSizer5.Add( self.radio_other_dict, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
         
         self.otherdictpath = wx.FilePickerCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, _(u"Select a file").decode('utf8'), u"*.*", wx.DefaultPosition, wx.Size( 300,-1 ), wx.FLP_DEFAULT_STYLE )
+        self.otherdictpath.SetMinSize(wx.Size(300, -1))
         fgSizer5.Add( self.otherdictpath, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
+        self.otherdictpath.Enable( False )
         
         
         bSizer2.Add( fgSizer5, 1, wx.EXPAND, 5 )
@@ -2477,7 +2495,9 @@ class CorpusPref ( wx.Dialog ):
         # Connect Events
         self.Bind(wx.EVT_BUTTON, self.OnChangeDir, self.m_button1)
         self.lang_choices.Bind( wx.EVT_CHOICE, self.OnChangeLangage )
-        self.radio_other_dict.Bind( wx.EVT_RADIOBUTTON, self.changedictchoice )        
+        self.radio_other_dict.Bind( wx.EVT_RADIOBUTTON, self.changedictchoice )
+        self.radio_default_dict.Bind( wx.EVT_RADIOBUTTON, self.changedictchoice )
+        self.otherdictpath.Bind( wx.EVT_FILEPICKER_CHANGED, self.selectdict) 
 
         self.setparametres(parametres) 
         self.SetSizer( bSizer1 )
@@ -2518,6 +2538,7 @@ class CorpusPref ( wx.Dialog ):
         self.check_tirets.SetValue(parametres['tiret'])
         self.check_tolist.SetValue(parametres['tolist'])
         self.check_ponct.SetValue(parametres['keep_ponct'])
+        self.defaultdictpath.SetValue(self.langues[0])
 
     def doparametres(self) :
         parametres = {}
@@ -2537,6 +2558,8 @@ class CorpusPref ( wx.Dialog ):
         parametres['tiret'] = self.check_tirets.GetValue()
         parametres['tolist'] = self.check_tolist.GetValue()
         parametres['keep_ponct'] = self.check_ponct.GetValue()
+        if self.radio_other_dict.GetValue() :
+            parametres['dictionary'] = self.otherdictpath.GetPath()
         for val in parametres :
             if isinstance(parametres[val], bool) :
                 if parametres[val] :
@@ -2546,10 +2569,21 @@ class CorpusPref ( wx.Dialog ):
         return parametres
     
     def OnChangeLangage(self, evt):
-        pass
+        self.defaultdictpath.SetValue(self.langues[self.lang_choices.GetSelection()])
     
     def changedictchoice(self, evt):
-        pass
+        if self.radio_default_dict.GetValue() :
+            self.otherdictpath.Enable( False )
+            self.m_sdbSizer1OK.Enable( True )
+        else :
+            self.otherdictpath.Enable( True )
+            if self.otherdictpath.GetPath() == '' :
+                self.m_sdbSizer1OK.Enable( False )
+    
+    def selectdict(self, evt):
+        if self.otherdictpath.GetPath() != '' :
+            self.m_sdbSizer1OK.Enable( True )
+        
 
 
 class ConcordList(wx.HtmlListBox):
@@ -2570,8 +2604,9 @@ class message(wx.Frame):
         self.save = save
         self.uceids = uceids
         self.ira = wx.GetApp().GetTopWindow() 
+        self.SetIcon(self.ira._icon)
         self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
-
+        self.items = items
         self.html = ""
         #self.HtmlPage=wx.html.HtmlWindow(self, -1)
         self.HtmlPage = ConcordList(self, items)
@@ -2615,6 +2650,7 @@ class message(wx.Frame):
             )
         dlg.SetFilterIndex(2)
         dlg.CenterOnParent()
+        self.html = '<br>'.join([self.items[i] for i in range(0,len(self.items))])
         if dlg.ShowModal() == wx.ID_OK:
             path = dlg.GetPath()
             with open(path, 'w') as f :
@@ -2758,42 +2794,94 @@ class ExtractDialog ( wx.Dialog ):
     def __del__( self ):
         pass
 
-class FreqDialog(wx.Dialog):
-    def __init__(self, parent, ID, listcol, title, size) :
-        wx.Dialog.__init__(self, parent, ID, title, size=size, pos=wx.DefaultPosition,style=wx.DEFAULT_DIALOG_STYLE | wx.CANCEL | wx.OK )
-        pre = wx.PreDialog()
-        pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
-        pre.Create(parent, ID, title, wx.DefaultPosition, size, wx.DEFAULT_DIALOG_STYLE | wx.CANCEL | wx.OK)
-        self.PostCreate(pre)
-        self.parent = parent 
-        sizer = wx.BoxSizer(wx.VERTICAL)
-        #self.content = parent.content
+# class FreqDialog(wx.Dialog):
+#     def __init__(self, parent, ID, listcol, title, size) :
+#         wx.Dialog.__init__(self, parent, ID, title, size=size, pos=wx.DefaultPosition,style=wx.DEFAULT_DIALOG_STYLE | wx.CANCEL | wx.OK )
+#         pre = wx.PreDialog()
+#         pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
+#         pre.Create(parent, ID, title, wx.DefaultPosition, size, wx.DEFAULT_DIALOG_STYLE | wx.CANCEL | wx.OK)
+#         self.PostCreate(pre)
+#         self.parent = parent 
+#         sizer = wx.BoxSizer(wx.VERTICAL)
+#         #self.content = parent.content
+#         self.header = listcol
+#         #LABELLIST = []
+#         #for i in self.header:
+#         #    forme = i
+#         #    if len(forme) > 60 :
+#         #        LABELLIST.append(i[0:60])
+#         #    else:
+#         #        LABELLIST.append(i)
+#         self.list_box_1 = wx.ListBox(self, -1, choices=self.header, style=wx.LB_EXTENDED | wx.LB_HSCROLL)
+#         sizer.Add(self.list_box_1, 0, 5)
+#         
+#         btnsizer = wx.BoxSizer(wx.HORIZONTAL)
+#         
+#         btn = wx.Button(self, wx.ID_CANCEL)
+#         btnsizer.Add(btn)
+#         
+#         btn = wx.Button(self, wx.ID_OK)
+#         btn.SetDefault()
+#         btnsizer.Add(btn)
+#         
+#         sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER_HORIZONTAL, 5)
+#         self.SetSizer(sizer)
+#         sizer.Fit(self)
+#         self.SetTitle(_(u"Selection").decode('utf8'))
+#   
+        # end wxGlade
+
+
+class FreqDialog ( wx.Dialog ):
+    
+    def __init__( self, parent, listcol, title, size =  wx.Size( -1,-1 ), showNA = True):
+        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( -1,-1 ), style = wx.DEFAULT_DIALOG_STYLE )
+        
         self.header = listcol
-        #LABELLIST = []
-        #for i in self.header:
-        #    forme = i
-        #    if len(forme) > 60 :
-        #        LABELLIST.append(i[0:60])
-        #    else:
-        #        LABELLIST.append(i)
-        self.list_box_1 = wx.ListBox(self, -1, choices=self.header, style=wx.LB_EXTENDED | wx.LB_HSCROLL)
-        sizer.Add(self.list_box_1, 0, 5)
-        
-        btnsizer = wx.BoxSizer(wx.HORIZONTAL)
         
-        btn = wx.Button(self, wx.ID_CANCEL)
-        btnsizer.Add(btn)
+        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
         
-        btn = wx.Button(self, wx.ID_OK)
-        btn.SetDefault()
-        btnsizer.Add(btn)
+        bSizer1 = wx.BoxSizer( wx.VERTICAL )
         
-        sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER_HORIZONTAL, 5)
-        self.SetSizer(sizer)
-        sizer.Fit(self)
-        self.SetTitle(_(u"Selection").decode('utf8'))
-  
-        # end wxGlade
+        m_listBox1Choices = self.header
+        self.m_listBox1 = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_listBox1Choices, wx.LB_EXTENDED|wx.LB_HSCROLL )
+        self.m_listBox1.SetMinSize( wx.Size( 500,-1 ) )
+        bSizer1.Add( self.m_listBox1, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
+        
+        if showNA :
+            fgSizer1 = wx.FlexGridSizer( 0, 2, 0, 0 )
+            fgSizer1.SetFlexibleDirection( wx.BOTH )
+            fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
+        
+            self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, _(u"Include empty cells (NA)").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
+            self.m_staticText1.Wrap( -1 )
+            fgSizer1.Add( self.m_staticText1, 0, wx.ALL, 5 )
+        
+            self.includeNA = wx.CheckBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
+            fgSizer1.Add( self.includeNA, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
+        
+            bSizer1.Add( fgSizer1, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 )
+        
+        m_sdbSizer1 = wx.StdDialogButtonSizer()
+        self.m_sdbSizer1OK = wx.Button( self, wx.ID_OK )
+        m_sdbSizer1.AddButton( self.m_sdbSizer1OK )
+        self.m_sdbSizer1Cancel = wx.Button( self, wx.ID_CANCEL )
+        m_sdbSizer1.AddButton( self.m_sdbSizer1Cancel )
+        m_sdbSizer1.Realize();
+        
+        bSizer1.Add( m_sdbSizer1, 0, wx.EXPAND, 5 )
+        
+        
+        self.SetSizer( bSizer1 )
+        self.Layout()
+        bSizer1.Fit( self )
+        
+        self.Centre( wx.BOTH )
+    
+    def __del__( self ):
+        pass
+    
+
 
 class ProtoDial ( wx.Dialog ):