graphics/GraphicCommons.py
changeset 395 d432eae889ed
parent 386 2049a2bd8017
child 398 c215899298c7
equal deleted inserted replaced
394:2e9fc0ad6095 395:d432eae889ed
  2404     def OnLeftDClick(self, event, dc, scaling):
  2404     def OnLeftDClick(self, event, dc, scaling):
  2405         rect = self.GetRedrawRect()
  2405         rect = self.GetRedrawRect()
  2406         if event.ControlDown():
  2406         if event.ControlDown():
  2407             direction = (self.StartPoint[1], self.EndPoint[1])
  2407             direction = (self.StartPoint[1], self.EndPoint[1])
  2408             if direction in [(EAST, WEST), (WEST, EAST)]:
  2408             if direction in [(EAST, WEST), (WEST, EAST)]:
  2409                 avgy = round(float((self.StartPoint[0].y + self.EndPoint[0].y) / 2) / scaling[1]) * scaling[1]
  2409                 avgy = (self.StartPoint[0].y + self.EndPoint[0].y) / 2
       
  2410                 if scaling is not None:
       
  2411                     avgy = round(float(avgy) / scaling[1]) * scaling[1]
  2410                 if self.StartConnected is not None:
  2412                 if self.StartConnected is not None:
  2411                     movey = avgy - self.StartPoint[0].y
  2413                     movey = avgy - self.StartPoint[0].y
  2412                     startblock = self.StartConnected.GetParentBlock()
  2414                     startblock = self.StartConnected.GetParentBlock()
  2413                     startblock.Move(0, movey)
  2415                     startblock.Move(0, movey)
  2414                     startblock.RefreshModel()
  2416                     startblock.RefreshModel()
  2423                     rect.Union(endblock.GetRedrawRect(0, movey))
  2425                     rect.Union(endblock.GetRedrawRect(0, movey))
  2424                 else:
  2426                 else:
  2425                     self.MoveEndPoint(wx.Point(self.EndPoint[0].x, avgy))
  2427                     self.MoveEndPoint(wx.Point(self.EndPoint[0].x, avgy))
  2426                 self.Parent.RefreshBuffer()
  2428                 self.Parent.RefreshBuffer()
  2427             elif direction in [(NORTH, SOUTH), (SOUTH, NORTH)]:
  2429             elif direction in [(NORTH, SOUTH), (SOUTH, NORTH)]:
  2428                 avgx = round(float((self.StartPoint[0].x + self.EndPoint[0].x) / 2) / scaling[0]) * scaling[0]
  2430                 avgx = (self.StartPoint[0].x + self.EndPoint[0].x) / 2
       
  2431                 if scaling is not None:
       
  2432                     avgx = round(float(avgx) / scaling[0]) * scaling[0]
  2429                 if self.StartConnected is not None:
  2433                 if self.StartConnected is not None:
  2430                     movex = avgx - self.StartPoint[0].x
  2434                     movex = avgx - self.StartPoint[0].x
  2431                     startblock = self.StartConnected.GetParentBlock()
  2435                     startblock = self.StartConnected.GetParentBlock()
  2432                     startblock.Move(movex, 0)
  2436                     startblock.Move(movex, 0)
  2433                     startblock.RefreshModel()
  2437                     startblock.RefreshModel()