X-Git-Url: http://iramuteq.org/git?p=iramuteq;a=blobdiff_plain;f=dialog.py;h=ec0c6fa1bdaf539a80f231119c608b9ff7588994;hp=bfc617868c4853cfa1e5cb1a71c871e1172a06b7;hb=ead6ffe8d4024e2afb3dc0c8457cd78dd15768e5;hpb=a6c0faa62f33e5e64ad7eab5b9d804be99c6759a diff --git a/dialog.py b/dialog.py index bfc6178..ec0c6fa 100755 --- 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 @@ -1739,6 +1739,7 @@ class OptLexi(wx.Dialog): self.label = wx.StaticText(self, -1, _(u"Minimum frequency").decode('utf8')) self.spin = wx.SpinCtrl(self, -1, min = 1, max = 10000, initial = 10) self.Bind(wx.EVT_CHOICE, self.onselect, self.choice) + self.Bind(wx.EVT_LISTBOX, self.onchoose, self.list_box_1) self.__set_properties() self.__do_layout() # end wxGlade @@ -1750,6 +1751,7 @@ class OptLexi(wx.Dialog): self.spin.SetValue(10) self.choice.SetSelection(0) self.choice_indice.SetSelection(0) + self.button_1.Enable(False) #self.SetMinSize(wx.Size(300, 400)) # end wxGlade @@ -1789,7 +1791,18 @@ class OptLexi(wx.Dialog): else : for et in self.listet : self.list_box_1.Append(et) - + + def onchoose(self, evt): + if self.choice.GetSelection()== 0 : + if len(self.list_box_1.GetSelections()) > 0 : + self.button_1.Enable(True) + else : + self.button_1.Enable(False) + elif self.choice.GetSelection() == 1 : + if len(self.list_box_1.GetSelections()) > 1 : + self.button_1.Enable(True) + else : + self.button_1.Enable(False) class PrefDendro ( wx.Dialog ): @@ -1852,6 +1865,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 +1944,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 +2276,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 +2350,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 +2508,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 +2551,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 +2571,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 +2582,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): @@ -2566,12 +2613,13 @@ class ConcordList(wx.HtmlListBox): class message(wx.Frame): def __init__(self, parent, items, title, size, save = True, uceids = None): - wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = title, pos = wx.DefaultPosition, size = size, style = wx.DEFAULT_FRAME_STYLE ) + wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = title, pos = wx.DefaultPosition, size = size, style = wx.CLOSE_BOX|wx.DEFAULT_FRAME_STYLE|wx.FRAME_FLOAT_ON_PARENT|wx.TAB_TRAVERSAL ) self.save = save self.uceids = uceids - self.ira = wx.GetApp().GetTopWindow() + 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 +2663,7 @@ class message(wx.Frame): ) dlg.SetFilterIndex(2) dlg.CenterOnParent() + self.html = '
'.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,49 +2807,63 @@ 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, 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 ): def __init__( self, parent, headers ): 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 ) - self.SetSizeHintsSz( wx.Size( 200,300 ), wx.DefaultSize ) + self.SetSizeHintsSz( wx.Size( -1,-1 ), wx.DefaultSize ) bSizer1 = wx.BoxSizer( wx.VERTICAL ) @@ -2817,19 +2880,19 @@ class ProtoDial ( wx.Dialog ): fgSizer1.Add( self.m_staticText2, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, 5 ) variablesChoices = headers - self.variables = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, variablesChoices, wx.LB_MULTIPLE ) - self.variables.SetMinSize( wx.Size( 150,-1 ) ) + self.variables = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, variablesChoices, wx.LB_HSCROLL|wx.LB_MULTIPLE ) + self.variables.SetMinSize( wx.Size( 350,-1 ) ) - fgSizer1.Add( self.variables, 0, wx.ALL|wx.EXPAND, 5 ) + fgSizer1.Add( self.variables, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.EXPAND, 5 ) rangsChoices = headers - self.rangs = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, rangsChoices, wx.LB_MULTIPLE ) - self.rangs.SetMinSize( wx.Size( 150,-1 ) ) + self.rangs = wx.ListBox( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, rangsChoices, wx.LB_HSCROLL|wx.LB_MULTIPLE ) + self.rangs.SetMinSize( wx.Size( 350,-1 ) ) - fgSizer1.Add( self.rangs, 0, wx.ALL|wx.EXPAND, 5 ) + fgSizer1.Add( self.rangs, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.EXPAND, 5 ) - bSizer1.Add( fgSizer1, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 ) + bSizer1.Add( fgSizer1, 1, wx.ALIGN_CENTER_HORIZONTAL, 5 ) fgSizer3 = wx.FlexGridSizer( 0, 2, 0, 0 ) fgSizer3.SetFlexibleDirection( wx.BOTH ) @@ -2882,8 +2945,16 @@ class ProtoDial ( wx.Dialog ): self.m_textCtrl4 = wx.TextCtrl( self, wx.ID_ANY, u"2", wx.DefaultPosition, wx.DefaultSize, wx.TE_CENTRE ) fgSizer3.Add( self.m_textCtrl4, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, 5 ) + self.m_staticText6 = wx.StaticText( self, wx.ID_ANY, u"Type de représentation", wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText6.Wrap( -1 ) + fgSizer3.Add( self.m_staticText6, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 ) + + m_choice3Choices = [ u"Classical - List", u"Classical - Cloud", u"Plan" ] + self.typegraph = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice3Choices, 0 ) + self.typegraph.SetSelection( 0 ) + fgSizer3.Add( self.typegraph, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, 5 ) - bSizer1.Add( fgSizer3, 1, wx.EXPAND, 5 ) + bSizer1.Add( fgSizer3, 0, wx.ALIGN_CENTER_HORIZONTAL, 5 ) m_sdbSizer1 = wx.StdDialogButtonSizer() self.m_sdbSizer1OK = wx.Button( self, wx.ID_OK ) @@ -3107,14 +3178,16 @@ class BarGraphDialog ( wx.Dialog ): class MessageImage(wx.Frame): def __init__(self, parent, parametres, title, size): - wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = title, pos = wx.DefaultPosition, size = size, style = wx.DEFAULT_FRAME_STYLE ) + wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = title, pos = wx.DefaultPosition, size = size, style = wx.CLOSE_BOX|wx.DEFAULT_FRAME_STYLE|wx.FRAME_FLOAT_ON_PARENT|wx.TAB_TRAVERSAL ) + self.ira = wx.GetApp().GetTopWindow() + self.SetIcon(self.ira._icon) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) self.parametres = parametres self.imageFile = self.parametres['tmpgraph'] if parametres['svg'] == 'TRUE' : self.imagename = u"image.svg" else : - self.imagename = u"iamge.png" + self.imagename = u"image.png" self.HtmlPage = wx.html.HtmlWindow(self, -1) self.HtmlPage.SetMinSize(size) if "gtk2" in wx.PlatformInfo: