graphics/GraphicCommons.py
changeset 1377 cc8f9177d41c
parent 1258 441f31474b50
child 1544 2969c2123105
equal deleted inserted replaced
1376:f8acd48e0342 1377:cc8f9177d41c
  1043     # Returns the RedrawRect
  1043     # Returns the RedrawRect
  1044     def GetRedrawRect(self, movex = 0, movey = 0):
  1044     def GetRedrawRect(self, movex = 0, movey = 0):
  1045         parent_pos = self.ParentBlock.GetPosition()
  1045         parent_pos = self.ParentBlock.GetPosition()
  1046         x = min(parent_pos[0] + self.Pos.x, parent_pos[0] + self.Pos.x + self.Direction[0] * CONNECTOR_SIZE)
  1046         x = min(parent_pos[0] + self.Pos.x, parent_pos[0] + self.Pos.x + self.Direction[0] * CONNECTOR_SIZE)
  1047         y = min(parent_pos[1] + self.Pos.y, parent_pos[1] + self.Pos.y + self.Direction[1] * CONNECTOR_SIZE)
  1047         y = min(parent_pos[1] + self.Pos.y, parent_pos[1] + self.Pos.y + self.Direction[1] * CONNECTOR_SIZE)
       
  1048         has_modifier = self.Negated or self.Edge != "none"
  1048         if self.Direction[0] == 0:
  1049         if self.Direction[0] == 0:
  1049             width = 5
  1050             width = 10 if has_modifier else 5
  1050         else:
  1051         else:
  1051             width = CONNECTOR_SIZE
  1052             width = CONNECTOR_SIZE
       
  1053             if self.Edge == "rising" and self.Direction[0] == 1:
       
  1054                 x -= 5
       
  1055                 width += 5
  1052         if self.Direction[1] == 0:
  1056         if self.Direction[1] == 0:
  1053             height = 5
  1057             height = 10 if has_modifier else 5
  1054         else:
  1058         else:
  1055             height = CONNECTOR_SIZE
  1059             height = CONNECTOR_SIZE
       
  1060             if self.Edge == "rising" and self.Direction[1] == 1:
       
  1061                 y -= 5
       
  1062                 height += 5
  1056         rect =  wx.Rect(x - abs(movex), y - abs(movey), width + 2 * abs(movex), height + 2 * abs(movey))
  1063         rect =  wx.Rect(x - abs(movex), y - abs(movey), width + 2 * abs(movex), height + 2 * abs(movey))
  1057         if self.ValueSize is None and isinstance(self.ComputedValue, (StringType, UnicodeType)):
  1064         if self.ValueSize is None and isinstance(self.ComputedValue, (StringType, UnicodeType)):
  1058             self.ValueSize = self.ParentBlock.Parent.GetMiniTextExtent(self.ComputedValue)
  1065             self.ValueSize = self.ParentBlock.Parent.GetMiniTextExtent(self.ComputedValue)
  1059         if self.ValueSize is not None:
  1066         if self.ValueSize is not None:
  1060             width, height = self.ValueSize
  1067             width, height = self.ValueSize
  1534         else:
  1541         else:
  1535             self.Points = []
  1542             self.Points = []
  1536             self.Segments = []
  1543             self.Segments = []
  1537         self.SelectedSegment = None
  1544         self.SelectedSegment = None
  1538         self.Valid = True
  1545         self.Valid = True
       
  1546         self.Modifier = "none"
       
  1547         self.PreviousValue = None
  1539         self.ValueSize = None
  1548         self.ValueSize = None
  1540         self.ComputedValue = None
  1549         self.ComputedValue = None
  1541         self.OverStart = False
  1550         self.OverStart = False
  1542         self.OverEnd = False
  1551         self.OverEnd = False
  1543         self.ComputingType = False
  1552         self.ComputingType = False
  1717         return None
  1726         return None
  1718     
  1727     
  1719     def GetToolTipValue(self):
  1728     def GetToolTipValue(self):
  1720         return self.GetComputedValue()
  1729         return self.GetComputedValue()
  1721 
  1730 
       
  1731     def SetModifier(self, modifier):
       
  1732         self.Modifier = modifier
       
  1733 
  1722     def SetValue(self, value):
  1734     def SetValue(self, value):
       
  1735         if self.Modifier == "rising":
       
  1736             value, self.PreviousValue = value and not self.PreviousValue, value
       
  1737         elif self.Modifier == "falling":
       
  1738             value, self.PreviousValue = not value and self.PreviousValue, value
       
  1739         elif self.Modifier == "negated":
       
  1740             value = not value
  1723         if self.Value != value:
  1741         if self.Value != value:
  1724             self.Value = value
  1742             self.Value = value
  1725             computed_value = self.GetComputedValue()
  1743             computed_value = self.GetComputedValue()
  1726             if computed_value is not None:
  1744             if computed_value is not None:
  1727                 self.ComputedValue = computed_value
  1745                 self.ComputedValue = computed_value