wix: fixed parameters management
This commit is contained in:
parent
93777afc48
commit
c2f0382d93
1 changed files with 48 additions and 42 deletions
|
|
@ -57,48 +57,54 @@ class Param(wx.Frame):
|
|||
panel=wx.Panel(self.notebook)
|
||||
panel.sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
|
||||
cat_dom = minidom.parseString(self.host.bridge.getParamsForCategory(category, profile_key = self.host.profile).encode('utf-8'))
|
||||
|
||||
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, (label or name)+" ")
|
||||
ctrl = wx.TextCtrl(panel, -1, value)
|
||||
sizer.Add(label)
|
||||
elif type=="password":
|
||||
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
|
||||
if name:
|
||||
ctrl.param_id=(name, category)
|
||||
self.ctl_list[(name, category)] = ctrl
|
||||
sizer.Add(ctrl, 1, flag=wx.EXPAND)
|
||||
panel.sizer.Add(sizer, flag=wx.EXPAND)
|
||||
def errorGettingParams(ignore):
|
||||
wx.MessageDialog(self, _("Can't get parameters"), _("Parameters error"), wx.ICON_ERROR).ShowModal()
|
||||
|
||||
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)
|
||||
def gotParams(result):
|
||||
cat_dom = minidom.parseString(result.encode('utf-8'))
|
||||
|
||||
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, (label or name)+" ")
|
||||
ctrl = wx.TextCtrl(panel, -1, value)
|
||||
sizer.Add(label)
|
||||
elif type=="password":
|
||||
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
|
||||
if name:
|
||||
ctrl.param_id=(name, category)
|
||||
self.ctl_list[(name, category)] = ctrl
|
||||
sizer.Add(ctrl, 1, flag=wx.EXPAND)
|
||||
panel.sizer.Add(sizer, flag=wx.EXPAND)
|
||||
|
||||
panel.SetSizer(panel.sizer)
|
||||
panel.SetAutoLayout(True)
|
||||
self.notebook.AddPage(panel, category)
|
||||
cat_dom.unlink()
|
||||
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)
|
||||
|
||||
panel.SetSizer(panel.sizer)
|
||||
panel.SetAutoLayout(True)
|
||||
self.notebook.AddPage(panel, category)
|
||||
cat_dom.unlink()
|
||||
|
||||
self.host.bridge.getParamsForCategory(category, profile_key = self.host.profile, callback = gotParams, errback = errorGettingParams)
|
||||
|
||||
def onTextChanged(self, event):
|
||||
"""Called when a string paramater is modified"""
|
||||
|
|
|
|||
Loading…
Reference in a new issue