diff -r 82bfc75bcd9d -r 105c20fdeb19 graphics/FBD_Objects.py --- a/graphics/FBD_Objects.py Fri Oct 05 13:48:54 2018 +0300 +++ b/graphics/FBD_Objects.py Fri Oct 05 14:22:01 2018 +0300 @@ -24,6 +24,7 @@ from __future__ import absolute_import +from __future__ import division import wx from six.moves import xrange @@ -131,7 +132,7 @@ def GetTextBoundingBox(self): # Calculate the size of the name outside the block text_width, text_height = self.NameSize - return wx.Rect(self.Pos.x + (self.Size[0] - text_width) / 2, + return wx.Rect(self.Pos.x + (self.Size[0] - text_width) // 2, self.Pos.y - (text_height + 2), text_width, text_height) @@ -161,9 +162,9 @@ # Calculate the size for the connector lines lines = max(len(self.Inputs), len(self.Outputs)) if lines > 0: - linesize = max((self.Size[1] - BLOCK_LINE_SIZE) / lines, BLOCK_LINE_SIZE) + linesize = max((self.Size[1] - BLOCK_LINE_SIZE) // lines, BLOCK_LINE_SIZE) # Update inputs and outputs positions - position = BLOCK_LINE_SIZE + linesize / 2 + position = BLOCK_LINE_SIZE + linesize // 2 for i in xrange(lines): if scaling is not None: ypos = round_scaling(self.Pos.y + position, scaling[1]) - self.Pos.y @@ -479,9 +480,9 @@ # Draw a rectangle with the block size dc.DrawRectangle(self.Pos.x, self.Pos.y, self.Size[0] + 1, self.Size[1] + 1) # Draw block name and block type - name_pos = (self.Pos.x + (self.Size[0] - name_size[0]) / 2, + name_pos = (self.Pos.x + (self.Size[0] - name_size[0]) // 2, self.Pos.y - (name_size[1] + 2)) - type_pos = (self.Pos.x + (self.Size[0] - type_size[0]) / 2, + type_pos = (self.Pos.x + (self.Size[0] - type_size[0]) // 2, self.Pos.y + 5) dc.DrawText(self.Name, name_pos[0], name_pos[1]) dc.DrawText(self.Type, type_pos[0], type_pos[1]) @@ -592,7 +593,7 @@ bbx_width = self.Size[0] + 2 * CONNECTOR_SIZE else: bbx_width = self.Size[0] + CONNECTOR_SIZE - bbx_x = min(bbx_x, self.Pos.x + (self.Size[0] - self.NameSize[0]) / 2) + bbx_x = min(bbx_x, self.Pos.x + (self.Size[0] - self.NameSize[0]) // 2) bbx_width = max(bbx_width, self.NameSize[0]) bbx_height = self.Size[1] if self.ExecutionOrder != 0: @@ -605,9 +606,9 @@ def RefreshConnectors(self): scaling = self.Parent.GetScaling() if scaling is not None: - position = round_scaling(self.Pos.y + self.Size[1] / 2, scaling[1]) - self.Pos.y - else: - position = self.Size[1] / 2 + position = round_scaling(self.Pos.y + self.Size[1] // 2, scaling[1]) - self.Pos.y + else: + position = self.Size[1] // 2 if self.Input: self.Input.SetPosition(wx.Point(0, position)) if self.Output: @@ -778,8 +779,8 @@ name_size = self.NameSize executionorder_size = self.ExecutionOrderSize - text_pos = (self.Pos.x + (self.Size[0] - name_size[0]) / 2, - self.Pos.y + (self.Size[1] - name_size[1]) / 2) + text_pos = (self.Pos.x + (self.Size[0] - name_size[0]) // 2, + self.Pos.y + (self.Size[1] - name_size[1]) // 2) # Draw a rectangle with the variable size dc.DrawRectangle(self.Pos.x, self.Pos.y, self.Size[0] + 1, self.Size[1] + 1) # Draw variable name @@ -877,9 +878,9 @@ def RefreshConnectors(self): scaling = self.Parent.GetScaling() if scaling is not None: - position = round_scaling(self.Pos.y + self.Size[1] / 2, scaling[1]) - self.Pos.y - else: - position = self.Size[1] / 2 + position = round_scaling(self.Pos.y + self.Size[1] // 2, scaling[1]) - self.Pos.y + else: + position = self.Size[1] // 2 if self.Type == CONNECTOR: self.Connector.SetPosition(wx.Point(0, position)) else: @@ -1018,18 +1019,18 @@ # Draw a rectangle with the connection size with arrows inside dc.DrawRectangle(self.Pos.x, self.Pos.y, self.Size[0] + 1, self.Size[1] + 1) - arrowsize = min(self.Size[1] / 2, (self.Size[0] - name_size[0] - 10) / 2) + arrowsize = min(self.Size[1] // 2, (self.Size[0] - name_size[0] - 10) // 2) dc.DrawLine(self.Pos.x, self.Pos.y, self.Pos.x + arrowsize, - self.Pos.y + self.Size[1] / 2) - dc.DrawLine(self.Pos.x + arrowsize, self.Pos.y + self.Size[1] / 2, + self.Pos.y + self.Size[1] // 2) + dc.DrawLine(self.Pos.x + arrowsize, self.Pos.y + self.Size[1] // 2, self.Pos.x, self.Pos.y + self.Size[1]) dc.DrawLine(self.Pos.x + self.Size[0] - arrowsize, self.Pos.y, - self.Pos.x + self.Size[0], self.Pos.y + self.Size[1] / 2) - dc.DrawLine(self.Pos.x + self.Size[0], self.Pos.y + self.Size[1] / 2, + self.Pos.x + self.Size[0], self.Pos.y + self.Size[1] // 2) + dc.DrawLine(self.Pos.x + self.Size[0], self.Pos.y + self.Size[1] // 2, self.Pos.x + self.Size[0] - arrowsize, self.Pos.y + self.Size[1]) # Draw connection name - text_pos = (self.Pos.x + (self.Size[0] - name_size[0]) / 2, - self.Pos.y + (self.Size[1] - name_size[1]) / 2) + text_pos = (self.Pos.x + (self.Size[0] - name_size[0]) // 2, + self.Pos.y + (self.Size[1] - name_size[1]) // 2) dc.DrawText(self.Name, text_pos[0], text_pos[1]) # Draw connector if self.Connector: