267 |
267 |
268 # Method called when a LeftDown event have been generated |
268 # Method called when a LeftDown event have been generated |
269 def OnLeftDown(self, event, dc, scaling): |
269 def OnLeftDown(self, event, dc, scaling): |
270 self.RealConnectors = [] |
270 self.RealConnectors = [] |
271 height = self.Size[1] - self.Extensions[0] - self.Extensions[1] |
271 height = self.Size[1] - self.Extensions[0] - self.Extensions[1] |
272 for connector in self.Connectors: |
272 if height > 0: |
273 position = connector.GetRelPosition() |
273 for connector in self.Connectors: |
274 self.RealConnectors.append(float(position.y - self.Extensions[0])/float(max(1, height))) |
274 position = connector.GetRelPosition() |
|
275 self.RealConnectors.append(max(0., min(float(position.y - self.Extensions[0]) / float(height), 1.))) |
|
276 elif len(self.Connectors) > 1: |
|
277 self.RealConnectors = map(lambda x : x * 1 / (len(self.Connectors) - 1), xrange(len(self.Connectors))) |
|
278 else: |
|
279 self.RealConnectors = [0.5] |
275 Graphic_Element.OnLeftDown(self, event, dc, scaling) |
280 Graphic_Element.OnLeftDown(self, event, dc, scaling) |
276 |
281 |
277 # Method called when a LeftUp event have been generated |
282 # Method called when a LeftUp event have been generated |
278 def OnLeftUp(self, event, dc, scaling): |
283 def OnLeftUp(self, event, dc, scaling): |
279 Graphic_Element.OnLeftUp(self, event, dc, scaling) |
284 Graphic_Element.OnLeftUp(self, event, dc, scaling) |
313 else: |
318 else: |
314 self.Parent.PopupDefaultMenu() |
319 self.Parent.PopupDefaultMenu() |
315 |
320 |
316 def Resize(self, x, y, width, height): |
321 def Resize(self, x, y, width, height): |
317 self.Move(x, y) |
322 self.Move(x, y) |
318 self.SetSize(LD_POWERRAIL_WIDTH, height) |
323 if self.Parent.GetDrawingMode() == FREEDRAWING_MODE: |
|
324 self.SetSize(width, height) |
|
325 else: |
|
326 self.SetSize(LD_POWERRAIL_WIDTH, height) |
319 |
327 |
320 # Refreshes the powerrail state according to move defined and handle selected |
328 # Refreshes the powerrail state according to move defined and handle selected |
321 def ProcessDragging(self, movex, movey, centered, scaling): |
329 def ProcessDragging(self, movex, movey, centered, scaling): |
322 handle_type, handle = self.Handle |
330 handle_type, handle = self.Handle |
323 # A connector has been handled |
331 # A connector has been handled |