diff -r f0e8e7f58a5a -r 203c4acdaf27 Viewer.py --- a/Viewer.py Wed Jan 23 18:25:57 2008 +0100 +++ b/Viewer.py Wed Jan 23 18:26:49 2008 +0100 @@ -1643,18 +1643,22 @@ dialog.SetValues(old_values) if dialog.ShowModal() == wx.ID_OK: new_values = dialog.GetValues() + rect = block.GetRedrawRect(1, 1) if "name" in new_values: block.SetName(new_values["name"]) + else: + block.SetName("") block.SetSize(*self.GetScaledSize(new_values["width"], new_values["height"])) block.SetType(new_values["type"], new_values["extension"]) block.SetExecutionOrder(new_values["executionOrder"]) + rect = rect.Union(block.GetRedrawRect()) self.RefreshBlockModel(block) if old_values["executionOrder"] != new_values["executionOrder"]: self.RefreshView() self.RefreshBuffer() self.RefreshScrollBars() self.ParentWindow.RefreshVariablePanel(self.TagName) - block.Refresh() + block.Refresh(rect) dialog.Destroy() def EditVariableContent(self, variable): @@ -1675,10 +1679,12 @@ dialog.SetValues(old_values) if dialog.ShowModal() == wx.ID_OK: new_values = dialog.GetValues() + rect = variable.GetRedrawRect(1, 1) variable.SetName(new_values["name"]) variable.SetType(new_values["type"], new_values["value_type"]) variable.SetSize(*self.GetScaledSize(new_values["width"], new_values["height"])) variable.SetExecutionOrder(new_values["executionOrder"]) + rect = rect.Union(variable.GetRedrawRect()) if old_values["type"] != new_values["type"]: id = variable.GetId() self.Controler.RemoveEditedElementInstance(self.TagName, id) @@ -1688,7 +1694,7 @@ self.RefreshView() self.RefreshBuffer() self.RefreshScrollBars() - variable.Refresh() + variable.Refresh(rect) dialog.Destroy() def EditConnectionContent(self, connection): @@ -1699,9 +1705,11 @@ if dialog.ShowModal() == wx.ID_OK: old_type = connection.GetType() values = dialog.GetValues() + rect = connection.GetRedrawRect(1, 1) connection.SetName(values["name"]) connection.SetType(values["type"]) connection.SetSize(*self.GetScaledSize(values["width"], values["height"])) + rect = rect.Union(connection.GetRedrawRect()) if old_type != values["type"]: id = connection.GetId() self.Controler.RemoveEditedElementInstance(self.TagName, id) @@ -1709,7 +1717,7 @@ self.RefreshConnectionModel(connection) self.RefreshBuffer() self.RefreshScrollBars() - connection.Refresh() + connection.Refresh(rect) dialog.Destroy() def EditContactContent(self, contact): @@ -1726,13 +1734,15 @@ dialog.SetElementSize(contact.GetSize()) if dialog.ShowModal() == wx.ID_OK: values = dialog.GetValues() + rect = contact.GetRedrawRect(1, 1) contact.SetName(values["name"]) contact.SetType(values["type"]) contact.SetSize(*self.GetScaledSize(values["width"], values["height"])) + rect = rect.Union(contact.GetRedrawRect()) self.RefreshContactModel(contact) self.RefreshBuffer() self.RefreshScrollBars() - contact.Refresh() + contact.Refresh(rect) dialog.Destroy() def EditCoilContent(self, coil): @@ -1752,13 +1762,15 @@ dialog.SetElementSize(coil.GetSize()) if dialog.ShowModal() == wx.ID_OK: values = dialog.GetValues() + rect = coil.GetRedrawRect(1, 1) coil.SetName(values["name"]) coil.SetType(values["type"]) coil.SetSize(*self.GetScaledSize(values["width"], values["height"])) + rect = rect.Union(coil.GetRedrawRect()) self.RefreshCoilModel(coil) self.RefreshBuffer() self.RefreshScrollBars() - coil.Refresh() + coil.Refresh(rect) dialog.Destroy() def EditPowerRailContent(self, powerrail): @@ -1767,8 +1779,10 @@ if dialog.ShowModal() == wx.ID_OK: old_type = powerrail.GetType() values = dialog.GetValues() + rect = powerrail.GetRedrawRect(1, 1) powerrail.SetType(values["type"], [True for i in xrange(values["number"])]) powerrail.SetSize(*self.GetScaledSize(values["width"], values["height"])) + rect = rect.Union(powerrail.GetRedrawRect()) if old_type != values["type"]: id = powerrail.GetId() self.Controler.RemoveEditedElementInstance(self.TagName, id) @@ -1776,7 +1790,7 @@ self.RefreshPowerRailModel(powerrail) self.RefreshBuffer() self.RefreshScrollBars() - powerrail.Refresh() + powerrail.Refresh(rect) dialog.Destroy() def EditStepContent(self, step): @@ -1793,6 +1807,7 @@ dialog.SetValues(values) if dialog.ShowModal() == wx.ID_OK: values = dialog.GetValues() + rect = step.GetRedrawRect(1, 1) step.SetName(values["name"]) if values["input"]: step.AddInput() @@ -1807,10 +1822,11 @@ else: step.RemoveAction() step.UpdateSize(*self.GetScaledSize(values["width"], values["height"])) - step.RefreshModel() - self.RefreshBuffer() - self.RefreshScrollBars() - step.Refresh() + rect = rect.Union(step.GetRedrawRect()) + self.RefreshStepModel(step) + self.RefreshBuffer() + self.RefreshScrollBars() + step.Refresh(rect) def EditTransitionContent(self, transition): dialog = TransitionContentDialog(self.ParentWindow, self.GetDrawingMode() == FREEDRAWING_MODE) @@ -1819,12 +1835,14 @@ dialog.SetElementSize(transition.GetSize()) if dialog.ShowModal() == wx.ID_OK: values = dialog.GetValues() + rect = transition.GetRedrawRect(1, 1) transition.SetType(values["type"],values["value"]) transition.SetPriority(values["priority"]) - transition.RefreshModel() - self.RefreshBuffer() - self.RefreshScrollBars() - transition.Refresh() + rect = rect.Union(transition.GetRedrawRect()) + self.RefreshTransitionModel(transition) + self.RefreshBuffer() + self.RefreshScrollBars() + transition.Refresh(rect) dialog.Destroy() def EditJumpContent(self, jump): @@ -1836,11 +1854,13 @@ dialog.SetSelection(choices.index(jump.GetTarget())) if dialog.ShowModal() == wx.ID_OK: value = dialog.GetStringSelection() + rect = jump.GetRedrawRect(1, 1) jump.SetTarget(value) - jump.RefreshModel() - self.RefreshBuffer() - self.RefreshScrollBars() - jump.Refresh() + rect = rect.Union(jump.GetRedrawRect()) + self.RefreshJumpModel(jump) + self.RefreshBuffer() + self.RefreshScrollBars() + jump.Refresh(rect) dialog.Destroy() def EditActionBlockContent(self, actionblock): @@ -1851,12 +1871,14 @@ dialog.SetValues(actionblock.GetActions()) if dialog.ShowModal() == wx.ID_OK: actions = dialog.GetValues() + rect = actionblock.GetRedrawRect(1, 1) actionblock.SetActions(actions) actionblock.SetSize(*self.GetScaledSize(*actionblock.GetSize())) - actionblock.RefreshModel() - self.RefreshBuffer() - self.RefreshScrollBars() - actionblock.Refresh() + rect = rect.Union(actionblock.GetRedrawRect()) + self.RefreshActionBlockModel(actionblock) + self.RefreshBuffer() + self.RefreshScrollBars() + actionblock.Refresh(rect) dialog.Destroy() def EditCommentContent(self, comment): @@ -1866,12 +1888,14 @@ dialog = wx.TextEntryDialog(self.ParentWindow, "Edit comment", "Please enter comment text", comment.GetContent(), wx.OK|wx.CANCEL) if dialog.ShowModal() == wx.ID_OK: value = dialog.GetValue() + rect = comment.GetRedrawRect(1, 1) comment.SetContent(value) comment.SetSize(*self.GetScaledSize(*comment.GetSize())) - comment.RefreshModel() - self.RefreshBuffer() - self.RefreshScrollBars() - comment.Refresh() + rect = rect.Union(comment.GetRedrawRect()) + self.RefreshCommentModel(comment) + self.RefreshBuffer() + self.RefreshScrollBars() + comment.Refresh(rect) dialog.Destroy() #-------------------------------------------------------------------------------