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 |