394 # If movement is greater than MIN_MOVE then a dragging is initiated |
394 # If movement is greater than MIN_MOVE then a dragging is initiated |
395 if not self.Dragging and (abs(movex) > MIN_MOVE or abs(movey) > MIN_MOVE): |
395 if not self.Dragging and (abs(movex) > MIN_MOVE or abs(movey) > MIN_MOVE): |
396 self.Dragging = True |
396 self.Dragging = True |
397 # If a dragging have been initiated, refreshes the element state |
397 # If a dragging have been initiated, refreshes the element state |
398 if self.Dragging: |
398 if self.Dragging: |
|
399 self.oldPos = pos |
399 self.ProcessDragging(movex, movey) |
400 self.ProcessDragging(movex, movey) |
400 self.oldPos = pos |
|
401 # If cursor just pass over the element, changes the cursor if it is on a handle |
401 # If cursor just pass over the element, changes the cursor if it is on a handle |
402 else: |
402 else: |
403 pos = event.GetPosition() |
403 pos = event.GetPosition() |
404 handle = self.TestHandle(pos) |
404 handle = self.TestHandle(pos) |
405 if handle == (1, 1) or handle == (3, 3): |
405 if handle == (1, 1) or handle == (3, 3): |
635 self.Direction, self.Negated) |
635 self.Direction, self.Negated) |
636 |
636 |
637 # Returns the connector parent block |
637 # Returns the connector parent block |
638 def GetParentBlock(self): |
638 def GetParentBlock(self): |
639 return self.ParentBlock |
639 return self.ParentBlock |
|
640 |
|
641 # Returns the connector name |
|
642 def GetType(self): |
|
643 return self.Type |
|
644 |
|
645 # Changes the connector name |
|
646 def SetType(self, type): |
|
647 self.Type = type |
640 |
648 |
641 # Returns the connector name |
649 # Returns the connector name |
642 def GetName(self): |
650 def GetName(self): |
643 return self.Name |
651 return self.Name |
644 |
652 |
1416 |
1424 |
1417 # Method called when a LeftDown event have been generated |
1425 # Method called when a LeftDown event have been generated |
1418 def OnLeftDown(self, event, scaling): |
1426 def OnLeftDown(self, event, scaling): |
1419 pos = GetScaledEventPosition(event, scaling) |
1427 pos = GetScaledEventPosition(event, scaling) |
1420 # Test if a point have been handled |
1428 # Test if a point have been handled |
1421 result = self.TestPoint(pos) |
1429 #result = self.TestPoint(pos) |
|
1430 #if result != None: |
|
1431 # self.Handle = (HANDLE_POINT, result) |
|
1432 # self.Parent.SetCursor(wxStockCursor(wxCURSOR_HAND)) |
|
1433 #else: |
|
1434 # Test if a segment have been handled |
|
1435 result = self.TestSegment(pos) |
1422 if result != None: |
1436 if result != None: |
1423 self.Handle = (HANDLE_POINT, result) |
1437 if result[1] in (NORTH, SOUTH): |
1424 self.Parent.SetCursor(wxStockCursor(wxCURSOR_HAND)) |
1438 self.Parent.SetCursor(wxStockCursor(wxCURSOR_SIZEWE)) |
|
1439 elif result[1] in (EAST, WEST): |
|
1440 self.Parent.SetCursor(wxStockCursor(wxCURSOR_SIZENS)) |
|
1441 self.Handle = (HANDLE_SEGMENT, result) |
|
1442 # Execute the default method for a graphic element |
1425 else: |
1443 else: |
1426 # Test if a segment have been handled |
1444 Graphic_Element.OnLeftDown(self, event, scaling) |
1427 result = self.TestSegment(pos) |
|
1428 if result != None: |
|
1429 if result[1] in (NORTH, SOUTH): |
|
1430 self.Parent.SetCursor(wxStockCursor(wxCURSOR_SIZEWE)) |
|
1431 elif result[1] in (EAST, WEST): |
|
1432 self.Parent.SetCursor(wxStockCursor(wxCURSOR_SIZENS)) |
|
1433 self.Handle = (HANDLE_SEGMENT, result) |
|
1434 # Execute the default method for a graphic element |
|
1435 else: |
|
1436 Graphic_Element.OnLeftDown(self, event, scaling) |
|
1437 self.oldPos = pos |
1445 self.oldPos = pos |
1438 |
1446 |
1439 # Method called when a RightUp event have been generated |
1447 # Method called when a RightUp event have been generated |
1440 def OnRightUp(self, event, scaling): |
1448 def OnRightUp(self, event, scaling): |
1441 pos = GetScaledEventPosition(event, scaling) |
1449 pos = GetScaledEventPosition(event, scaling) |
1465 wxCallAfter(self.Parent.SetCursor, wxStockCursor(wxCURSOR_SIZEWE)) |
1473 wxCallAfter(self.Parent.SetCursor, wxStockCursor(wxCURSOR_SIZEWE)) |
1466 elif result[1] in (EAST, WEST): |
1474 elif result[1] in (EAST, WEST): |
1467 wxCallAfter(self.Parent.SetCursor, wxStockCursor(wxCURSOR_SIZENS)) |
1475 wxCallAfter(self.Parent.SetCursor, wxStockCursor(wxCURSOR_SIZENS)) |
1468 else: |
1476 else: |
1469 # Test if a point has been handled |
1477 # Test if a point has been handled |
1470 result = self.TestPoint(pos) |
1478 #result = self.TestPoint(pos) |
1471 if result != None: |
1479 #if result != None: |
1472 if result == 0 and self.StartConnected: |
1480 # if result == 0 and self.StartConnected: |
1473 self.OverStart = True |
1481 # self.OverStart = True |
1474 elif result != 0 and self.EndConnected: |
1482 # elif result != 0 and self.EndConnected: |
1475 self.OverEnd = True |
1483 # self.OverEnd = True |
1476 else: |
1484 #else: |
1477 self.OverStart = False |
1485 # self.OverStart = False |
1478 self.OverEnd = False |
1486 # self.OverEnd = False |
1479 # Execute the default method for a graphic element |
1487 # Execute the default method for a graphic element |
1480 Graphic_Element.OnMotion(self, event, scaling) |
1488 Graphic_Element.OnMotion(self, event, scaling) |
1481 else: |
1489 else: |
1482 # Execute the default method for a graphic element |
1490 # Execute the default method for a graphic element |
1483 Graphic_Element.OnMotion(self, event, scaling) |
1491 Graphic_Element.OnMotion(self, event, scaling) |
1484 |
1492 |
1485 # Refreshes the wire state according to move defined and handle selected |
1493 # Refreshes the wire state according to move defined and handle selected |
1493 if connector: |
1501 if connector: |
1494 if handle == 0 and self.EndConnected != connector: |
1502 if handle == 0 and self.EndConnected != connector: |
1495 connector.Connect((self, handle)) |
1503 connector.Connect((self, handle)) |
1496 self.SetStartPointDirection(connector.GetDirection()) |
1504 self.SetStartPointDirection(connector.GetDirection()) |
1497 self.ConnectStartPoint(connector.GetPosition(), connector) |
1505 self.ConnectStartPoint(connector.GetPosition(), connector) |
|
1506 self.oldPos = connector.GetPosition() |
1498 self.Dragging = False |
1507 self.Dragging = False |
1499 elif handle != 0 and self.StartConnected != connector: |
1508 elif handle != 0 and self.StartConnected != connector: |
1500 connector.Connect((self, handle)) |
1509 connector.Connect((self, handle)) |
1501 self.SetEndPointDirection(connector.GetDirection()) |
1510 self.SetEndPointDirection(connector.GetDirection()) |
1502 self.ConnectEndPoint(connector.GetPosition(), connector) |
1511 self.ConnectEndPoint(connector.GetPosition(), connector) |
|
1512 self.oldPos = connector.GetPosition() |
1503 self.Dragging = False |
1513 self.Dragging = False |
1504 elif handle == 0: |
1514 elif handle == 0: |
1505 self.MoveStartPoint(new_pos) |
1515 self.MoveStartPoint(new_pos) |
1506 else: |
1516 else: |
1507 self.MoveEndPoint(new_pos) |
1517 self.MoveEndPoint(new_pos) |