fix bug for svgui
authorgreg
Mon, 26 May 2008 15:01:32 +0200
changeset 158 771578d7580e
parent 157 2e6d52c17cab
child 159 1c5710e8c941
fix bug for svgui
plugger.py
plugins/svgui/svgui.py
--- a/plugger.py	Mon May 26 15:00:10 2008 +0200
+++ b/plugger.py	Mon May 26 15:01:32 2008 +0200
@@ -100,6 +100,9 @@
         # copy PluginMethods so that it can be later customized
         self.PluginMethods = [dic.copy() for dic in self.PluginMethods]
 
+    def IsGUIPlugin(self):
+        return False
+
     def PluginBaseXmlFilePath(self, PlugName=None):
         return os.path.join(self.PlugPath(PlugName), "baseplugin.xml")
     
@@ -1093,6 +1096,9 @@
     def _Run(self, logger):
         command_start_plc = os.path.join(self._getBuildPath(),self.GetProjectName() + exe_ext)
         if os.path.isfile(command_start_plc):
+            has_gui_plugin = False
+            for PlugChild in self.IterChilds():
+                has_gui_plugin |= PlugChild.IsGUIPlugin()
             logger.write("Starting PLC\n")
             def this_plc_finish_callback(*args):
                 if self.runningPLC is not None:
@@ -1101,7 +1107,8 @@
             self.runningPLC = ProcessLogger(
                logger,
                command_start_plc,
-               finish_callback = this_plc_finish_callback)
+               finish_callback = this_plc_finish_callback,
+               no_gui=wx.Platform != '__WXMSW__' or not has_gui_plugin)
             self.EnableMethod("_Clean", False)
             self.EnableMethod("_Run", False)
             self.EnableMethod("_Stop", True)
--- a/plugins/svgui/svgui.py	Mon May 26 15:00:10 2008 +0200
+++ b/plugins/svgui/svgui.py	Mon May 26 15:01:32 2008 +0200
@@ -115,6 +115,9 @@
             self.CreateNewInterface()
             self.SetFilePath(filepath)
 
+    def IsGUIPlugin(self):
+        return True
+
     def GetElementIdFromName(self, name):
         element = self.GetElementByName(name)
         if element is not None: