Viewer.py
changeset 710 365bb7496697
parent 704 aca0c83ed82e
child 713 95a0a427f3ef
--- a/Viewer.py	Mon Jun 11 01:25:32 2012 +0200
+++ b/Viewer.py	Mon Jun 11 01:30:03 2012 +0200
@@ -2286,14 +2286,14 @@
             rect = rect.Union(block.GetRedrawRect())
             self.RefreshBlockModel(block)
             self.RefreshBuffer()
-            self.RefreshScrollBars()
-            self.RefreshVisibleElements()
+            if old_values["executionOrder"] != new_values["executionOrder"]:
+                self.RefreshView(selection=({block.GetId(): True}, {}))
+            else:
+                self.RefreshScrollBars()
+                self.RefreshVisibleElements()
+                block.Refresh(rect)
             self.RefreshVariablePanel()
             self.ParentWindow.RefreshPouInstanceVariablesPanel()
-            if old_values["executionOrder"] != new_values["executionOrder"]:
-                self.RefreshView()
-            else:
-                block.Refresh(rect)
         dialog.Destroy()
 
     def EditVariableContent(self, variable):
@@ -2330,12 +2330,13 @@
                 self.Controler.RemoveEditedElementInstance(self.TagName, id)
                 self.Controler.AddEditedElementVariable(self.TagName, id, new_values["type"])
             self.RefreshVariableModel(variable)
+            self.RefreshBuffer()
             if old_values["executionOrder"] != new_values["executionOrder"]:
-                self.RefreshView()
-            self.RefreshBuffer()
-            self.RefreshVisibleElements()
-            self.RefreshScrollBars()
-            variable.Refresh(rect)
+                self.RefreshView(selection=({variable.GetId(): True}, {}))
+            else:
+                self.RefreshVisibleElements()
+                self.RefreshScrollBars()
+                variable.Refresh(rect)
         dialog.Destroy()
 
     def EditConnectionContent(self, connection):
@@ -2348,6 +2349,7 @@
         dialog.SetValues(values)
         if dialog.ShowModal() == wx.ID_OK:
             old_type = connection.GetType()
+            old_name = connection.GetName()
             values = dialog.GetValues()
             rect = connection.GetRedrawRect(1, 1)
             connection.SetName(values["name"])
@@ -2360,9 +2362,13 @@
                 self.Controler.AddEditedElementConnection(self.TagName, id, values["type"])
             self.RefreshConnectionModel(connection)
             self.RefreshBuffer()
-            self.RefreshScrollBars()
-            self.RefreshVisibleElements()
-            connection.Refresh(rect)
+            if old_name != values["name"]:
+                self.Controler.UpdateEditedElementUsedVariable(self.TagName, old_name, values["name"])
+                self.RefreshView(selection=({connection.GetId(): True}, {}))
+            else:
+                self.RefreshScrollBars()
+                self.RefreshVisibleElements()
+                connection.Refresh(rect)
         dialog.Destroy()
 
     def EditContactContent(self, contact):