# 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