--- a/editors/Viewer.py Fri May 31 10:38:46 2013 +0200
+++ b/editors/Viewer.py Fri May 31 11:36:30 2013 +0200
@@ -1973,6 +1973,8 @@
self.Scroll(scrollx, scrolly)
self.RefreshVisibleElements()
highlighted = self.FindElement(event, connectors=False)
@@ -3317,7 +3319,18 @@
self.RefreshVisibleElements(xp = event.GetPosition())
self.RefreshVisibleElements(yp = event.GetPosition())
+ # Handle scroll in debug to fully redraw area and ensuring + # instance path is fully draw without flickering + x, y = self.GetViewStart() + if event.GetOrientation() == wx.HORIZONTAL: + self.Scroll(event.GetPosition(), y) + self.Scroll(x, event.GetPosition()) def OnScrollStop(self, event):
@@ -3331,6 +3344,8 @@
xp = max(0, min(x - rotation * 3, self.Editor.GetVirtualSize()[0] / self.Editor.GetScrollPixelsPerUnit()[0]))
self.RefreshVisibleElements(xp = xp)
elif event.ControlDown():
self.SetScale(self.CurrentScale + rotation, mouse_event = event)
@@ -3340,6 +3355,8 @@
yp = max(0, min(y - rotation * 3, self.Editor.GetVirtualSize()[1] / self.Editor.GetScrollPixelsPerUnit()[1]))
self.RefreshVisibleElements(yp = yp)
def OnMoveWindow(self, event):
@@ -3398,22 +3415,28 @@
+ scalex, scaley = dc.GetUserScale() is_action = self.TagName.split("::")[0] == "A"
text = _("Debug: %s") % self.InstancePath
if is_action and self.Value is not None:
text_offset_x, text_offset_y = self.CalcUnscrolledPosition(2, 2)
- dc.DrawText(text, 2, 2)
+ dc.DrawText(text, text_offset_x, text_offset_y) if is_action and self.Value is not None:
value_text = self.VALUE_TRANSLATION[self.Value]
tw, th = dc.GetTextExtent(text)
dc.SetTextForeground(wx.GREEN)
- dc.DrawText(value_text, tw + 2, 2)
+ dc.DrawText(value_text, text_offset_x + tw, text_offset_y) dc.SetTextForeground(wx.BLACK)
vw, vh = dc.GetTextExtent(value_text)
- dc.DrawText(")", tw + vw + 4, 2)
+ dc.DrawText(")", text_offset_x + tw + vw + 2, text_offset_y) + dc.SetUserScale(scalex, scaley) if self.rubberBand.IsShown():