def MoveConnector(self, connector, movey):
position = connector.GetRelPosition()
connector.SetPosition(wx.Point(position.x, position.y + movey))
miny = self.Size[1]
maxy = 0
for connect in self.Connectors:
connect_pos = connect.GetRelPosition()
miny = min(miny, connect_pos.y - self.Extensions[0])
maxy = max(maxy, connect_pos.y - self.Extensions[0])
min_pos = self.Pos.y + miny
self.Pos.y = min(min_pos, self.Pos.y)
if min_pos == self.Pos.y:
for connect in self.Connectors:
connect_pos = connect.GetRelPosition()
connect.SetPosition(wx.Point(connect_pos.x, connect_pos.y - miny))
self.Connectors.sort(lambda x, y: cmp(x.Pos.y, y.Pos.y))
maxy = 0
for connect in self.Connectors:
connect_pos = connect.GetRelPosition()
maxy = max(maxy, connect_pos.y)
self.Size[1] = max(maxy + self.Extensions[1], self.Size[1])
connector.MoveConnected()
self.RefreshBoundingBox()
# Returns the index in connectors list for the connector given
评论列表
文章目录