Mercurial > libervia-backend
diff frontends/wix/param.py @ 183:9ee4a1d0d7fb
Added auto(dis)connect params + misc
- parameters,xmlui: "bool" type is now managed
- parameters,xmlui: categories now use label in addition of name
- QuickFrontend: auto(dis)connection management
- plugin XEP-0045: an error dialog is now show in frontend if room cannot be joined
- Wix: fixed unproper close event management
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 18 Aug 2010 15:57:26 +0800 |
parents | 7452ac3818e7 |
children |
line wrap: on
line diff
--- a/frontends/wix/param.py Wed Aug 18 12:45:48 2010 +0800 +++ b/frontends/wix/param.py Wed Aug 18 15:57:26 2010 +0800 @@ -61,30 +61,37 @@ for param in cat_dom.documentElement.getElementsByTagName("param"): name = param.getAttribute("name") + label = param.getAttribute("label") type = param.getAttribute("type") value = param.getAttribute("value") sizer = wx.BoxSizer(wx.HORIZONTAL) if type=="string": - label=wx.StaticText(panel, -1, name+" ") + label=wx.StaticText(panel, -1, (label or name)+" ") ctrl = wx.TextCtrl(panel, -1, value) sizer.Add(label) elif type=="password": - label=wx.StaticText(panel, -1, name+" ") + label=wx.StaticText(panel, -1, (label or name)+" ") ctrl = wx.TextCtrl(panel, -1, value, style=wx.TE_PASSWORD) sizer.Add(label) + elif type=="bool": + ctrl = wx.CheckBox(panel, -1, label or name, style = wx.CHK_2STATE) + ctrl.SetValue(value=="true") elif type=="button": ctrl = wx.Button(panel, -1, value) ctrl.callback_id = param.getAttribute("callback_id") else: error(_("FIXME FIXME FIXME")) #FIXME ! raise NotImplementedError - ctrl.param_id=(name, category) + if name: + ctrl.param_id=(name, category) + self.ctl_list[(name, category)] = ctrl sizer.Add(ctrl, 1, flag=wx.EXPAND) - self.ctl_list[(name, category)] = ctrl panel.sizer.Add(sizer, flag=wx.EXPAND) if type=="string" or type=="password": panel.Bind(wx.EVT_TEXT, self.onTextChanged, ctrl) + elif type=="bool": + panel.Bind(wx.EVT_CHECKBOX, self.onCheckBoxClicked, ctrl) elif type=="button": panel.Bind(wx.EVT_BUTTON, self.onButtonClicked, ctrl) @@ -94,7 +101,7 @@ cat_dom.unlink() def onTextChanged(self, event): - """Called when a paramated is modified""" + """Called when a string paramater is modified""" self.modified[event.GetEventObject().param_id]=event.GetString() ### FIXME # Some hacks for better presentation, should be generic # FIXME ### @@ -105,8 +112,13 @@ event.Skip() + def onCheckBoxClicked(self, event): + """Called when a bool paramater is modified""" + self.modified[event.GetEventObject().param_id]="true" if event.GetEventObject().GetValue() else "false" + event.Skip() + def onButtonClicked(self, event): - """Called when a paramated is modified""" + """Called when a button paramater is modified""" self.__save_parameters() name, category = event.GetEventObject().param_id callback_id = event.GetEventObject().callback_id