116 self.MainSizer.AddGrowableRow(main_growable_row) |
116 self.MainSizer.AddGrowableRow(main_growable_row) |
117 |
117 |
118 # Create a sizer for dividing parameters in two columns |
118 # Create a sizer for dividing parameters in two columns |
119 self.ColumnSizer = wx.BoxSizer(wx.HORIZONTAL) |
119 self.ColumnSizer = wx.BoxSizer(wx.HORIZONTAL) |
120 self.MainSizer.AddSizer(self.ColumnSizer, border=20, |
120 self.MainSizer.AddSizer(self.ColumnSizer, border=20, |
121 flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT) |
121 flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT) |
122 |
122 |
123 # Create a sizer for left column |
123 # Create a sizer for left column |
124 self.LeftGridSizer = wx.FlexGridSizer(cols=1, hgap=0, |
124 self.LeftGridSizer = wx.FlexGridSizer(cols=1, hgap=0, |
125 rows=left_rows, vgap=5) |
125 rows=left_rows, vgap=5) |
126 self.LeftGridSizer.AddGrowableCol(0) |
126 self.LeftGridSizer.AddGrowableCol(0) |
127 if left_growable_row is not None: |
127 if left_growable_row is not None: |
128 self.LeftGridSizer.AddGrowableRow(left_growable_row) |
128 self.LeftGridSizer.AddGrowableRow(left_growable_row) |
129 self.ColumnSizer.AddSizer(self.LeftGridSizer, 1, border=5, |
129 self.ColumnSizer.AddSizer(self.LeftGridSizer, 1, border=5, |
130 flag=wx.GROW | wx.RIGHT | wx.EXPAND) |
130 flag=wx.GROW | wx.RIGHT | wx.EXPAND) |
131 |
131 |
132 # Create a sizer for right column |
132 # Create a sizer for right column |
133 self.RightGridSizer = wx.FlexGridSizer(cols=1, hgap=0, |
133 self.RightGridSizer = wx.FlexGridSizer(cols=1, hgap=0, |
134 rows=right_rows, vgap=0) |
134 rows=right_rows, vgap=0) |
135 self.RightGridSizer.AddGrowableCol(0) |
135 self.RightGridSizer.AddGrowableCol(0) |
136 if right_growable_row is not None: |
136 if right_growable_row is not None: |
137 self.RightGridSizer.AddGrowableRow(right_growable_row) |
137 self.RightGridSizer.AddGrowableRow(right_growable_row) |
138 self.ColumnSizer.AddSizer(self.RightGridSizer, 1, border=5, |
138 self.ColumnSizer.AddSizer(self.RightGridSizer, 1, border=5, |
139 flag=wx.GROW | wx.LEFT) |
139 flag=wx.GROW | wx.LEFT) |
140 |
140 |
141 self.SetSizer(self.MainSizer) |
141 self.SetSizer(self.MainSizer) |
142 |
142 |
143 def SetMinElementSize(self, size): |
143 def SetMinElementSize(self, size): |
144 """ |
144 """ |
279 |
279 |
280 # If graphic element is too big to be displayed in preview panel, |
280 # If graphic element is too big to be displayed in preview panel, |
281 # calculate preview panel scale so that graphic element fit inside |
281 # calculate preview panel scale so that graphic element fit inside |
282 k = 1.1 if (bbox.width * 1.1 > client_size.width or |
282 k = 1.1 if (bbox.width * 1.1 > client_size.width or |
283 bbox.height * 1.1 > client_size.height) \ |
283 bbox.height * 1.1 > client_size.height) \ |
284 else 1.0 |
284 else 1.0 |
285 scale = (max(float(bbox.width) / client_size.width, |
285 scale = (max(float(bbox.width) / client_size.width, |
286 float(bbox.height) / client_size.height) * k) |
286 float(bbox.height) / client_size.height) * k) |
287 dc.SetUserScale(1.0 / scale, 1.0 / scale) |
287 dc.SetUserScale(1.0 / scale, 1.0 / scale) |
288 |
288 |
289 # Center graphic element in preview panel |
289 # Center graphic element in preview panel |