plugger.py
changeset 675 44b35c27e9ff
parent 674 761de581cf7a
child 676 04cd443cd18d
--- a/plugger.py	Tue Jan 31 00:41:46 2012 +0100
+++ b/plugger.py	Tue Jan 31 23:28:03 2012 +0100
@@ -135,14 +135,20 @@
 
     def PlugPath(self,PlugName=None):
         if not PlugName:
-            PlugName = self.BaseParams.getName()
+            PlugName = self.PlugName()
         return os.path.join(self.PlugParent.PlugPath(),
                             PlugName + NameTypeSeparator + self.PlugType)
     
+    def PlugName(self):
+        return self.BaseParams.getName()
+    
+    def PlugEnabled(self):
+        return self.BaseParams.getEnabled()
+    
     def PlugFullName(self):
         parent = self.PlugParent.PlugFullName()
         if parent != "":
-            return parent + "." + self.BaseParams.getName()
+            return parent + "." + self.PlugName()
         return self.BaseParams.getName()
     
     def GetIconPath(self, name):
@@ -498,10 +504,11 @@
             
             self._View = self.EditorType(app_frame.TabsOpened, self, app_frame)
             
-            app_frame.EditProjectElement(self._View, self.GetFilename())
-
-    def OnCloseEditor(self):
-        self._View = None
+            app_frame.EditProjectElement(self._View, self.PlugName())
+
+    def OnCloseEditor(self, view):
+        if self._View == view:
+            self._View = None
 
     def OnPlugClose(self):
         if self._View is not None:
@@ -1840,7 +1847,7 @@
             self._connect_debug()
         else:
             self.logger.write_error(_("Couldn't start PLC !\n"))
-        self.UpdateMethodsFromPLCStatus()
+        wx.CallAfter(self.UpdateMethodsFromPLCStatus)
 
 
 #    def _Do_Test_Debug(self):
@@ -1869,7 +1876,7 @@
 
         self.KillDebugThread()
         
-        self.UpdateMethodsFromPLCStatus()
+        wx.CallAfter(self.UpdateMethodsFromPLCStatus)
 
     def _Connect(self):
         # don't accept re-connetion is already connected
@@ -1963,7 +1970,7 @@
     def _Disconnect(self):
         self._connector = None
         self.StatusTimer.Stop()
-        self.UpdateMethodsFromPLCStatus()
+        wx.CallAfter(self.UpdateMethodsFromPLCStatus)
         
     def _Transfer(self):
         # Get the last build PLC's 
@@ -2003,7 +2010,7 @@
             else:
                 self.logger.write_error(_("No PLC to transfer (did build succeed ?)\n"))
 
-        self.UpdateMethodsFromPLCStatus()
+        wx.CallAfter(self.UpdateMethodsFromPLCStatus)
 
     PluginMethods = [
         {"bitmap" : opjimg("Build"),