diff -r 2507f2736a3e -r 365bb7496697 Viewer.py --- 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):