--- a/graphics/FBD_Objects.py Fri Nov 23 11:01:20 2018 +0100
+++ b/graphics/FBD_Objects.py Fri Nov 23 12:13:24 2018 +0100
@@ -24,7 +24,9 @@
from __future__ import absolute_import
+from __future__ import division
import wx
+from six.moves import xrange
from graphics.GraphicCommons import *
from plcopen.structures import *
@@ -130,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)
@@ -160,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
@@ -478,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])
@@ -591,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:
@@ -604,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:
@@ -777,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
@@ -876,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:
@@ -1017,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: