...
[iramuteq] / dialog.py
index 751f888..17a0025 100755 (executable)
--- a/dialog.py
+++ b/dialog.py
@@ -2237,8 +2237,10 @@ class ChiDialog(wx.Dialog):
         self.__set_properties()
         self.__do_layout()
 
-        self.Bind(wx.EVT_LISTBOX, self.Select1, self.list_box_1)
+        self.Bind(wx.EVT_LISTBOX, self.selchange, self.list_box_1)
+        self.Bind(wx.EVT_LISTBOX, self.selchange, self.list_box_2)
         self.Bind(wx.EVT_BUTTON, self.onparam, self.button_pref)
+        self.button_1.Enable(False)
         # end wxGlade
 #-------------------------------
     def __set_properties(self):
@@ -2264,8 +2266,11 @@ class ChiDialog(wx.Dialog):
         self.Layout()
         # end wxGlade
 
-    def Select1(self, event): # wxGlade: ConfChi2.<event_handler>
-        event.Skip()
+    def selchange(self, event): # wxGlade: ConfChi2.<event_handler>
+        if (len(self.list_box_1.GetSelections()) == 0) or (len(self.list_box_2.GetSelections()) == 0) :
+            self.button_1.Enable(False)
+        else :
+            self.button_1.Enable(True)
     
     
     def onparam(self,event):
@@ -2676,9 +2681,8 @@ class message(wx.Frame):
         self.Destroy()
     
     def OnSub(self ,evt):
-        parametres = {'fromuceids' : True, 'uceids' : self.uceids}
-        self.ira.OnSubText(None, parametres)
-
+        parametres = {'fromuceids' : True, 'uceids' : self.uceids, 'isempty' : True}
+        self.ira.OnSubText(wx.MenuEvent(), None, parametres)
 
 
 class ExtractDialog ( wx.Dialog ):
@@ -2852,11 +2856,17 @@ class FreqDialog ( wx.Dialog ):
         bSizer1.Fit( self )
         
         self.Centre( wx.BOTH )
+        self.Bind(wx.EVT_LISTBOX, self.selchange, self.m_listBox1)
+        self.m_sdbSizer1OK.Enable(False)
     
     def __del__( self ):
         pass
     
-
+    def selchange(self, evt):
+        if len(self.m_listBox1.GetSelections()) == 0 :
+            self.m_sdbSizer1OK.Enable(False)
+        else :
+            self.m_sdbSizer1OK.Enable(True)
 
 class ProtoDial ( wx.Dialog ):
     
@@ -2974,10 +2984,20 @@ class ProtoDial ( wx.Dialog ):
         # Connect Events
         self.choix_freq.Bind( wx.EVT_CHOICE, self.UpdateText )
         self.choix_rang.Bind( wx.EVT_CHOICE, self.UpdateText )
+        self.Bind(wx.EVT_LISTBOX, self.selchange, self.variables)
+        self.Bind(wx.EVT_LISTBOX, self.selchange, self.rangs)
+        
+        self.m_sdbSizer1OK.Enable(False)
     
     def __del__( self ):
         pass
     
+    def selchange(self, evt):
+        if (len(self.variables.GetSelections()) == 0) or (len(self.rangs.GetSelections()) == 0) or (len(self.variables.GetSelections()) != len(self.rangs.GetSelections())) :
+            self.m_sdbSizer1OK.Enable(False)
+        else :
+            self.m_sdbSizer1OK.Enable(True)
+    
     
     # Virtual event handlers, overide them in your derived class
     def UpdateText( self, event ):
@@ -3029,7 +3049,7 @@ class SimpleDialog ( wx.Dialog ):
 class SubTextFromMetaDial ( wx.Dialog ):
     
     def __init__( self, parent, parametres ):
-        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Subcorpus from metadata", pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_DIALOG_STYLE )
+        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"Subcorpus").decode('utf8'), pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_DIALOG_STYLE )
         
         self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
         
@@ -3039,14 +3059,14 @@ class SubTextFromMetaDial ( wx.Dialog ):
         fgSizer1.SetFlexibleDirection( wx.BOTH )
         fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
         
-        self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"SubCorpus Name", wx.DefaultPosition, wx.DefaultSize, 0 )
+        self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, _(u"Name").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
         self.m_staticText1.Wrap( -1 )
         fgSizer1.Add( self.m_staticText1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
         
         self.subcorpusname = wx.TextCtrl( self, wx.ID_ANY, parametres['corpus_name'], wx.DefaultPosition, wx.Size( 300,-1 ), 0 )
         fgSizer1.Add( self.subcorpusname, 0, wx.ALL, 5 )
         
-        self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Select one or more metadata", wx.DefaultPosition, wx.DefaultSize, 0 )
+        self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, _(u"Select one or more metadata").decode('utf8'), wx.DefaultPosition, wx.DefaultSize, 0 )
         self.m_staticText2.Wrap( -1 )
         fgSizer1.Add( self.m_staticText2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
         
@@ -3075,9 +3095,18 @@ class SubTextFromMetaDial ( wx.Dialog ):
         bSizer1.Fit( self )
         
         self.Centre( wx.BOTH )
+        self.Bind(wx.EVT_LISTBOX, self.onchoose, self.m_listBox1)
+        if not parametres.get('isempty', False) :
+            self.m_sdbSizer1OK.Enable(False)
     
     def __del__( self ):
         pass
+    
+    def onchoose(self, evt):
+        if len(self.m_listBox1.GetSelections()) > 0 :
+            self.m_sdbSizer1OK.Enable(True)
+        else :
+            self.m_sdbSizer1OK.Enable(False)
 
 class BarGraphDialog ( wx.Dialog ):