--- a/graphics/GraphicCommons.py Fri Jun 14 10:49:14 2013 +0200
+++ b/graphics/GraphicCommons.py Fri Jun 14 10:52:08 2013 +0200
@@ -504,7 +504,7 @@
# If the cursor is dragging and the element have been clicked
if event.Dragging() and self.oldPos:
# Calculate the movement of cursor
- pos = event.GetLogicalPosition(dc)
+ pos = GetScaledEventPosition(event, dc, scaling) movex = pos.x - self.oldPos.x
movey = pos.y - self.oldPos.y
# If movement is greater than MIN_MOVE then a dragging is initiated
--- a/graphics/LD_Objects.py Fri Jun 14 10:49:14 2013 +0200
+++ b/graphics/LD_Objects.py Fri Jun 14 10:52:08 2013 +0200
@@ -120,8 +120,10 @@
self.RefreshBoundingBox()
# Returns the block minimum size
- return LD_POWERRAIL_WIDTH, self.Extensions[0] + self.Extensions[1]
+ def GetMinSize(self, default=False): + height = (LD_LINE_SIZE * (len(self.Connectors) - 1) + return LD_POWERRAIL_WIDTH, height + self.Extensions[0] + self.Extensions[1] # Add a connector or a blank to this power rail at the last place
@@ -279,7 +281,7 @@
# Method called when a RightUp event have been generated
def OnRightUp(self, event, dc, scaling):
handle_type, handle = self.Handle
- if handle_type == HANDLE_CONNECTOR:
+ if handle_type == HANDLE_CONNECTOR and self.Dragging and self.oldPos: wires = handle.GetWires()
if handle == wires[0][0].StartConnected:
--- a/graphics/SFC_Objects.py Fri Jun 14 10:49:14 2013 +0200
+++ b/graphics/SFC_Objects.py Fri Jun 14 10:52:08 2013 +0200
@@ -1360,11 +1360,25 @@
# Method called when a LeftDown event have been generated
def OnLeftDown(self, event, dc, scaling):
- if event.ControlDown():
- pos = GetScaledEventPosition(event, dc, scaling)
- # Test if a connector have been handled
- connector = self.TestConnector(pos, exclude=False)
+ self.RealConnectors = {"Inputs":[],"Outputs":[]} + for input in self.Inputs: + position = input.GetRelPosition() + self.RealConnectors["Inputs"].append(float(position.x)/float(self.Size[0])) + for output in self.Outputs: + position = output.GetRelPosition() + self.RealConnectors["Outputs"].append(float(position.x)/float(self.Size[0])) + Graphic_Element.OnLeftDown(self, event, dc, scaling) + # Method called when a LeftUp event have been generated + def OnLeftUp(self, event, dc, scaling): + Graphic_Element.OnLeftUp(self, event, dc, scaling) + self.RealConnectors = None + # Method called when a RightDown event have been generated + def OnRightDown(self, event, dc, scaling): + pos = GetScaledEventPosition(event, dc, scaling) + # Test if a connector have been handled + connector = self.TestConnector(pos, exclude=False) self.Handle = (HANDLE_CONNECTOR, connector)
wx.CallAfter(self.Parent.SetCurrentCursor, 1)
@@ -1372,17 +1386,11 @@
# Initializes the last position
self.oldPos = GetScaledEventPosition(event, dc, scaling)
- self.RealConnectors = {"Inputs":[],"Outputs":[]}
- for input in self.Inputs:
- position = input.GetRelPosition()
- self.RealConnectors["Inputs"].append(float(position.x)/float(self.Size[0]))
- for output in self.Outputs:
- position = output.GetRelPosition()
- self.RealConnectors["Outputs"].append(float(position.x)/float(self.Size[0]))
- Graphic_Element.OnLeftDown(self, event, dc, scaling)
+ Graphic_Element.OnRightDown(self, event, dc, scaling) - # Method called when a LeftUp event have been generated
- def OnLeftUp(self, event, dc, scaling):
+ # Method called when a RightUp event have been generated + def OnRightUp(self, event, dc, scaling): + pos = GetScaledEventPosition(event, dc, scaling) handle_type, handle = self.Handle
if handle_type == HANDLE_CONNECTOR and self.Dragging and self.oldPos:
wires = handle.GetWires()
@@ -1394,21 +1402,17 @@
block.RefreshInputModel()
block.RefreshOutputModel()
- Graphic_Element.OnLeftUp(self, event, dc, scaling)
- self.RealConnectors = None
- # Method called when a RightUp event have been generated
- def OnRightUp(self, event, dc, scaling):
- pos = GetScaledEventPosition(event, dc, scaling)
- # Popup the menu with special items for a block and a connector if one is handled
- connector = self.TestConnector(pos, exclude=False)
- self.Handle = (HANDLE_CONNECTOR, connector)
- self.Parent.PopupDivergenceMenu(True)
+ Graphic_Element.OnRightUp(self, event, dc, scaling) - # Popup the divergence menu without delete branch
- self.Parent.PopupDivergenceMenu(False)
+ # Popup the menu with special items for a block and a connector if one is handled + connector = self.TestConnector(pos, exclude=False) + self.Handle = (HANDLE_CONNECTOR, connector) + self.Parent.PopupDivergenceMenu(True) + # Popup the divergence menu without delete branch + self.Parent.PopupDivergenceMenu(False) # Refreshes the divergence state according to move defined and handle selected
def ProcessDragging(self, movex, movey, event, scaling):
handle_type, handle = self.Handle