# HG changeset patch # User Laurent Bessard # Date 1371073893 -7200 # Node ID 00b7d3c64c805130bee08752553105d3816c7524 # Parent 18cd1357e8d3d586124e67c81d229a34cad716da Fixed bug when centering element in Preview panel diff -r 18cd1357e8d3 -r 00b7d3c64c80 dialogs/BlockPreviewDialog.py --- a/dialogs/BlockPreviewDialog.py Wed Jun 12 22:23:57 2013 +0200 +++ b/dialogs/BlockPreviewDialog.py Wed Jun 12 23:51:33 2013 +0200 @@ -269,7 +269,8 @@ height = max(self.MinElementSize[1], min_height) self.Element.SetSize(width, height) - # Get element bounding box to center in preview + # Get element position and bounding box to center in preview + posx, posy = self.Element.GetPosition() bbox = self.Element.GetBoundingBox() # Get Preview panel size @@ -278,15 +279,15 @@ # If graphic element is too big to be displayed in preview panel, # calculate preview panel scale so that graphic element fit inside scale = (max(float(bbox.width) / client_size.width, - float(bbox.height) / client_size.height) * 1.2 + float(bbox.height) / client_size.height) * 1.1 if bbox.width * 1.1 > client_size.width or bbox.height * 1.1 > client_size.height else 1.0) dc.SetUserScale(1.0 / scale, 1.0 / scale) # Center graphic element in preview panel - x = int(client_size.width * scale - bbox.width) / 2 - y = int(client_size.height * scale - bbox.height) / 2 + x = int(client_size.width * scale - bbox.width) / 2 + posx - bbox.x + y = int(client_size.height * scale - bbox.height) / 2 + posy - bbox.y self.Element.SetPosition(x, y) # Draw graphic element