def __init__(self, parent): wx.Dialog.__init__(self, parent, -1, style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER|wx.MAXIMIZE_BOX|wx.MINIMIZE_BOX) self.parent = parent self.SetTitle(_(u"Saisie d'une nouvelle traduction")) self.SetMinSize((400, 400)) self.label_langue = wx.StaticText(self, -1, _(u"Sélectionnez une langue :")) self.ctrl_langue = langlistctrl.LanguageListCtrl(self, -1, filter=langlistctrl.LC_ALL) self.dictLangues = langlistctrl.BuildLanguageCountryMapping() self.bouton_ok = CTRL_Bouton_image.CTRL(self, texte=_(u"Ok"), cheminImage="Images/32x32/Valider.png") self.bouton_annuler = CTRL_Bouton_image.CTRL(self, id=wx.ID_CANCEL, texte=_(u"Annuler"), cheminImage="Images/32x32/Annuler.png") grid_sizer_base = wx.FlexGridSizer(rows=3, cols=1, vgap=10, hgap=10) grid_sizer_base.Add(self.label_langue, 0, wx.TOP|wx.LEFT|wx.RIGHT|wx.EXPAND, 10) grid_sizer_base.Add(self.ctrl_langue, 1, wx.LEFT|wx.RIGHT|wx.EXPAND, 10) grid_sizer_boutons = wx.FlexGridSizer(rows=1, cols=4, vgap=10, hgap=10) grid_sizer_boutons.Add((20, 20), 0, wx.EXPAND, 0) grid_sizer_boutons.Add(self.bouton_ok, 0, 0, 0) grid_sizer_boutons.Add(self.bouton_annuler, 0, 0, 0) grid_sizer_boutons.AddGrowableCol(0) grid_sizer_base.Add(grid_sizer_boutons, 1, wx.LEFT|wx.RIGHT|wx.BOTTOM|wx.EXPAND, 10) self.SetSizer(grid_sizer_base) grid_sizer_base.Fit(self) grid_sizer_base.AddGrowableCol(0) grid_sizer_base.AddGrowableRow(1) self.Layout() self.CenterOnScreen() self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
def __init__(self, parent, id, title, sel_lang, size=wx.DefaultSize, pos=wx.DefaultPosition, style=wx.DEFAULT_DIALOG_STYLE, name='dialog'): """Create language dialog to allow the user to change locale.""" # Create the dialog wx.Dialog.__init__(self) self.Create(parent, id, title, pos, size, style, name) # Now continue with the normal construction of the dialog # contents sizer = wx.BoxSizer(wx.VERTICAL) self.lang_selected = sel_lang self.lang_listctrl = langlc.LanguageListCtrl( self, size=(0, -1), filter=langlc.LC_ONLY, only=[wx.LANGUAGE_ENGLISH, wx.LANGUAGE_GREEK], select=self.lang_selected) sizer.Add(self.lang_listctrl, 0, wx.EXPAND, 0) # Add dialog buttons btnsizer = wx.StdDialogButtonSizer() btn = wx.Button(self, wx.ID_OK) btn.SetDefault() btnsizer.AddButton(btn) btn = wx.Button(self, wx.ID_CANCEL) btnsizer.AddButton(btn) btnsizer.Realize() sizer.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) self.SetSizer(sizer) sizer.Fit(self) # Bind event listeners self.lang_listctrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.onItemSelected) self.lang_listctrl.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.onItemActivated)
def _init_ctrls(self, prnt): wx.Panel.__init__(self, id=wxID_WXPANEL1, name='', parent=prnt, pos=wx.Point(0, 0), style=wx.TAB_TRAVERSAL) # self.SetClientSize(wx.Size(350, 150)) sizer = wx.BoxSizer(wx.VERTICAL) self.checkBox1 = wx.CheckBox(id=wxID_WXPANEL1CHECKBOX1, label=_("Load last project at startup"), name="", parent=self, pos=wx.Point(24, 32), style=0) sizer.Add(self.checkBox1, 0, wx.ALL, 10) import glob import os.path langs = glob.glob(os.path.join(wx.GetApp().artub_path, "locale", "*")) only = [] for lang in langs: l = os.path.basename(lang) if os.path.isdir(lang): only.append(wx.Locale.FindLanguageInfo(l).Language) self.langlist = langlistctrl.LanguageListCtrl( self, -1, filter=langlistctrl.LC_ONLY, only=only, select=wx.Locale.FindLanguageInfo(config["lang"]).Language) sizer.Add(self.langlist, 1, wx.ALL, 10) self.SetSizer(sizer) sizer.Fit(self) self.langlist.SetSize(self.GetSize()) try: self.checkBox1.SetValue(config["auto_load"] == 'True') except IndexError: self.checkBox1.SetValue(False)
def __init__(self, parent, log): self.choices = [] self.choices = exampleStrings self._init_ctrls(parent) self.log = log lang = wx.LANGUAGE_DEFAULT filter = 'demo' langs = (wx.LANGUAGE_AFRIKAANS, wx.LANGUAGE_ENGLISH, wx.LANGUAGE_DEFAULT, wx.LANGUAGE_SPANISH, wx.LANGUAGE_GERMAN, wx.LANGUAGE_ITALIAN, wx.LANGUAGE_FRENCH) # usually you would define wx.Locale in your wx.App.OnInit class. # for the demo we just define it in this module self.locale = None wx.Locale.AddCatalogLookupPathPrefix(opj('data/locale')) self.updateLanguage(wx.LANGUAGE_DEFAULT) self.filterMap = { 'demo': langlistctrl.LC_ONLY, 'available': langlistctrl.LC_AVAILABLE, 'all': langlistctrl.LC_ALL } self.filterIdxMap = {0: 'demo', 1: 'available', 2: 'all'} self.langs = langs self.langCtrl = langlistctrl.LanguageListCtrl( self.langCtrlContainer, -1, filter=self.filterMap[filter], only=langs, select=lang) self.langCtrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnLangSelectAndTranslate) self.langCtrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnClearTranslatedText) self.OnLangCtrlContainerSize() self.englishBaseCh.Select(0) self.OnLangSelectAndTranslate()
def test_langlistctrlCtor(self): theList = lc.LanguageListCtrl(self.frame, filter=lc.LC_ONLY, only=(wx.LANGUAGE_ENGLISH, wx.LANGUAGE_FRENCH), select=wx.LANGUAGE_ENGLISH)
def SetLanguage(self, event): dlg = wx.Dialog(self, -1, '', size=(230, 300)) l_dir = os.path.join(SYSLOC, 'locale') langs_arr = [] for f in os.listdir(l_dir): if os.path.isdir(os.path.join(l_dir, f)): try: yy= wx.Locale.FindLanguageInfo(f) langs_arr.append(yy.Language) except Exception, expt: pass langs = tuple(langs_arr) lang = wx.LANGUAGE_DEFAULT #controls self.langCtrl = langlistctrl.LanguageListCtrl(dlg, -1, filter=langlistctrl.LC_ONLY, only=langs)#, select=lang) but_ok = wx.Button(dlg, wx.ID_OK) but_cancel = wx.Button(dlg, wx.ID_CANCEL) #sizers sizer = wx.BoxSizer(wx.VERTICAL) sizer2 = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(self.langCtrl, 1, wx.EXPAND|wx.ALL, 5) sizer2.Add(but_ok, 0, wx.EXPAND|wx.ALL, 5) sizer2.Add(but_cancel, 0, wx.EXPAND|wx.ALL, 5) sizer.Add(sizer2, 0, wx.EXPAND|wx.ALL, 5) dlg.SetSizer(sizer) if dlg.ShowModal() == wx.ID_OK: # get selected lang = self.langCtrl.GetLanguage()