Bug slowing Debug mode fixed
authorgreg
Wed, 03 Jun 2009 16:59:29 +0200
changeset 368 591ba4003d74
parent 367 2fdf57d0ce51
child 369 b506dea7a103
Bug slowing Debug mode fixed
graphics/GraphicCommons.py
graphics/LD_Objects.py
graphics/SFC_Objects.py
--- a/graphics/GraphicCommons.py	Wed Jun 03 14:57:10 2009 +0200
+++ b/graphics/GraphicCommons.py	Wed Jun 03 16:59:29 2009 +0200
@@ -1739,7 +1739,8 @@
                 self.StartConnected.RefreshValue()
             if self.EndConnected:
                 self.EndConnected.RefreshValue()
-            self.Parent.UpdateRefreshRect(self.GetRedrawRect())
+            if self.Visible:
+                self.Parent.UpdateRefreshRect(self.GetRedrawRect())
             if isinstance(value, BooleanType) and self.StartConnected is not None:
                 block = self.StartConnected.GetParentBlock()
                 block.SpreadCurrent()
--- a/graphics/LD_Objects.py	Wed Jun 03 14:57:10 2009 +0200
+++ b/graphics/LD_Objects.py	Wed Jun 03 16:59:29 2009 +0200
@@ -410,7 +410,8 @@
         self.PreviousValue = self.Value
         self.Value = value
         if self.Value != self.PreviousValue:
-            self.Parent.UpdateRefreshRect(self.GetRedrawRect())
+            if self.Visible:
+                self.Parent.UpdateRefreshRect(self.GetRedrawRect())
             self.SpreadCurrent()
     
     def SpreadCurrent(self):
@@ -716,7 +717,7 @@
                 self.Output.SpreadCurrent(True)
             elif not self.Value and self.PreviousValue:
                 self.Output.SpreadCurrent(False)
-            if self.Value != self.PreviousValue:
+            if self.Value != self.PreviousValue and self.Visible:
                 self.Parent.UpdateRefreshRect(self.GetRedrawRect())
     
     # Make a clone of this LD_Coil
--- a/graphics/SFC_Objects.py	Wed Jun 03 14:57:10 2009 +0200
+++ b/graphics/SFC_Objects.py	Wed Jun 03 16:59:29 2009 +0200
@@ -77,7 +77,8 @@
         self.PreviousValue = self.Value
         self.Value = value
         if self.Value != self.PreviousValue:
-            self.Parent.UpdateRefreshRect(self.GetRedrawRect())
+            if self.Visible:
+                self.Parent.UpdateRefreshRect(self.GetRedrawRect())
             self.SpreadCurrent()
     
     def SpreadCurrent(self):
@@ -581,7 +582,8 @@
         self.PreviousValue = self.Value
         self.Value = value
         if self.Value != self.PreviousValue:
-            self.Parent.UpdateRefreshRect(self.GetRedrawRect())
+            if self.Visible:
+                self.Parent.UpdateRefreshRect(self.GetRedrawRect())
             self.SpreadCurrent()
     
     def SpreadCurrent(self):
@@ -1029,11 +1031,13 @@
             else:
                 self.Value = False
             if self.Value and not self.PreviousValue:
-                self.Parent.UpdateRefreshRect(self.GetRedrawRect())
+                if self.Visible:
+                    self.Parent.UpdateRefreshRect(self.GetRedrawRect())
                 for output in self.Outputs:
                     output.SpreadCurrent(True)
             elif not self.Value and self.PreviousValue:
-                self.Parent.UpdateRefreshRect(self.GetRedrawRect())
+                if self.Visible:
+                    self.Parent.UpdateRefreshRect(self.GetRedrawRect())
                 for output in self.Outputs:
                     output.SpreadCurrent(False)
     
@@ -1468,7 +1472,7 @@
         if self.Parent.Debug:
             self.PreviousValue = self.Value
             self.Value = self.Input.ReceivingCurrent()
-            if self.Value != self.PreviousValue:
+            if self.Value != self.PreviousValue and self.Visible:
                 self.Parent.UpdateRefreshRect(self.GetRedrawRect())
     
     # Make a clone of this SFC_Jump
@@ -1713,7 +1717,7 @@
         if self.Parent.Debug:
             self.PreviousValue = self.Value
             self.Value = self.Input.ReceivingCurrent()
-            if self.Value != self.PreviousValue:
+            if self.Value != self.PreviousValue and self.Visible:
                 self.Parent.UpdateRefreshRect(self.GetRedrawRect())
     
     # Make a clone of this SFC_ActionBlock