graphics/LD_Objects.py
changeset 254 27abdcf9a460
parent 253 d9391572655f
child 269 34eff05909b0
equal deleted inserted replaced
253:d9391572655f 254:27abdcf9a460
   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