graphics/GraphicCommons.py
changeset 3 86ccc89d7b0b
parent 2 93bc4c2cf376
child 5 f8652b073e84
equal deleted inserted replaced
2:93bc4c2cf376 3:86ccc89d7b0b
   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)