--- a/Beremiz_service.py Thu Sep 13 02:19:02 2012 +0200
+++ b/Beremiz_service.py Thu Sep 20 22:30:41 2012 +0200
@@ -23,6 +23,7 @@
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+from threading import Thread @@ -291,11 +292,12 @@
TBMENU_CHANGE_WD = wx.NewId()
- def __init__(self, pyroserver):
+ def __init__(self, pyroserver, level): wx.TaskBarIcon.__init__(self)
self.pyroserver = pyroserver
self.Bind(wx.EVT_MENU, self.OnTaskBarStartPLC, id=self.TBMENU_START)
@@ -318,13 +320,16 @@
menu.Append(self.TBMENU_START, _("Start PLC"))
menu.Append(self.TBMENU_STOP, _("Stop PLC"))
- menu.Append(self.TBMENU_CHANGE_NAME, _("Change Name"))
- menu.Append(self.TBMENU_CHANGE_INTERFACE, _("Change IP of interface to bind"))
- menu.Append(self.TBMENU_LIVE_SHELL, _("Launch a live Python shell"))
- menu.Append(self.TBMENU_WXINSPECTOR, _("Launch WX GUI inspector"))
- menu.Append(self.TBMENU_CHANGE_PORT, _("Change Port Number"))
+ menu.Append(self.TBMENU_CHANGE_NAME, _("Change Name")) + menu.Append(self.TBMENU_CHANGE_INTERFACE, _("Change IP of interface to bind")) + menu.Append(self.TBMENU_CHANGE_PORT, _("Change Port Number")) + menu.Append(self.TBMENU_CHANGE_WD, _("Change working directory")) + menu.Append(self.TBMENU_LIVE_SHELL, _("Launch a live Python shell")) + menu.Append(self.TBMENU_WXINSPECTOR, _("Launch WX GUI inspector")) - menu.Append(self.TBMENU_CHANGE_WD, _("Change working directory"))
menu.Append(self.TBMENU_QUIT, _("Quit"))
@@ -348,7 +353,7 @@
def OnTaskBarStopPLC(self, evt):
if self.pyroserver.plcobj is not None:
- self.pyroserver.plcobj.StopPLC()
+ Thread(target=self.pyroserver.plcobj.StopPLC).start() def OnTaskBarChangeInterface(self, evt):
@@ -677,7 +682,7 @@
from threading import Semaphore
wx_eval_lock = Semaphore(0)
mythread = currentThread()
def statuschange(status):
wx.CallAfter(taskbar_instance.UpdateIcon,status)
@@ -701,7 +706,7 @@
pyroserver = Server(servicename, given_ip, port, WorkingDir, argv, autostart, statuschange, evaluator, website)
- taskbar_instance = BeremizTaskBarIcon(pyroserver)
+ taskbar_instance = BeremizTaskBarIcon(pyroserver, enablewx) pyroserver = Server(servicename, given_ip, port, WorkingDir, argv, autostart, website=website)