parameters: new button type (not finished)

This commit is contained in:
Goffi 2009-11-08 01:49:08 +01:00
commit bd70d6d7b6
3 changed files with 20 additions and 3 deletions

View file

@ -62,20 +62,28 @@ class Param(wx.Frame):
type = param.getAttribute("type")
value = param.getAttribute("value")
sizer = wx.BoxSizer(wx.HORIZONTAL)
label=wx.StaticText(panel, -1, name+" ")
if type=="string":
label=wx.StaticText(panel, -1, name+" ")
ctrl = wx.TextCtrl(panel, -1, value)
sizer.Add(label)
elif type=="password":
label=wx.StaticText(panel, -1, name+" ")
ctrl = wx.TextCtrl(panel, -1, value, style=wx.TE_PASSWORD)
sizer.Add(label)
elif type=="button":
ctrl = wx.Button(panel, -1, value)
else:
error("FIXME FIXME FIXME") #FIXME !
raise NotImplementedError
ctrl.param_id=(name, category)
sizer.Add(label)
sizer.Add(ctrl, 1, flag=wx.EXPAND)
panel.sizer.Add(sizer, flag=wx.EXPAND)
panel.Bind(wx.EVT_TEXT, self.onTextChanged, ctrl)
if type=="string" or type=="password":
panel.Bind(wx.EVT_TEXT, self.onTextChanged, ctrl)
elif type=="button":
panel.Bind(wx.EVT_BUTTON, self.onButtonClicked, ctrl)
panel.SetSizer(panel.sizer)
panel.SetAutoLayout(True)
self.notebook.AddPage(panel, category)
@ -86,6 +94,11 @@ class Param(wx.Frame):
self.modified[event.GetEventObject().param_id]=event.GetString()
event.Skip()
def onButtonClicked(self, event):
"""Called when a paramated is modified"""
print "Button Clicked (%s/%s)" % event.GetEventObject().param_id#TODO: gof: appeler callback
#self.modified[event.GetEventObject().param_id]=event.GetString()
event.Skip()
def onClose(self, event):
"""Close event: we have to save the params."""

View file

@ -468,8 +468,11 @@ class XEP_0065(XMPPHandler):
self.server_factory = Socks5ServerFactory()
self.server_factory.protocol.host = self.host #needed for progress CB
self.client_factory = Socks5ClientFactory()
#parameters
host.memory.importParams(self, XEP_0065.params)
host.memory.setDefault("IP", "File Transfert", self.getExternalIP)
port = int(self.host.memory.getParamV("Port", "File Transfert"))
info("Launching Socks5 Stream server on port %d", port)
reactor.listenTCP(port, self.server_factory)

View file

@ -43,6 +43,7 @@ class Param():
<param name="JabberID" value="goffi@necton2.int/TestScript" type="string" />
<param name="Password" value="toto" type="password" />
<param name="Server" value="necton2.int" type="string" />
<param name="NewAccount" value="Register new account" type="button" callback="registerNewAccount"/>
</category>
<category name="Misc">
<param name="Watched" value="test@Jabber.goffi.int" type="string" />