graphics/FBD_Objects.py
changeset 2437 105c20fdeb19
parent 2432 dbc065a2f7a5
child 3303 0ffb41625592
--- 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: