99 SEARCH_RESULT_HIGHLIGHT = (wx.Colour(255, 165, 0), wx.WHITE) |
99 SEARCH_RESULT_HIGHLIGHT = (wx.Colour(255, 165, 0), wx.WHITE) |
100 |
100 |
101 # Define highlight refresh inhibition period in second |
101 # Define highlight refresh inhibition period in second |
102 REFRESH_HIGHLIGHT_PERIOD = 0.1 |
102 REFRESH_HIGHLIGHT_PERIOD = 0.1 |
103 |
103 |
|
104 # Define tooltip wait for displaying period in second |
|
105 TOOLTIP_WAIT_PERIOD = 0.5 |
|
106 |
104 HANDLE_CURSORS = { |
107 HANDLE_CURSORS = { |
105 (1, 1) : 2, |
108 (1, 1) : 2, |
106 (3, 3) : 2, |
109 (3, 3) : 2, |
107 (1, 3) : 3, |
110 (1, 3) : 3, |
108 (3, 1) : 3, |
111 (3, 1) : 3, |
600 self.Highlighted = False |
603 self.Highlighted = False |
601 self.Pos = wx.Point(0, 0) |
604 self.Pos = wx.Point(0, 0) |
602 self.Size = wx.Size(0, 0) |
605 self.Size = wx.Size(0, 0) |
603 self.BoundingBox = wx.Rect(0, 0, 0, 0) |
606 self.BoundingBox = wx.Rect(0, 0, 0, 0) |
604 self.Visible = False |
607 self.Visible = False |
|
608 self.ToolTip = None |
|
609 self.ToolTipPos = None |
|
610 self.ToolTipTimer = wx.Timer(self.Parent, -1) |
|
611 self.Parent.Bind(wx.EVT_TIMER, self.OnToolTipTimer, self.ToolTipTimer) |
|
612 |
|
613 def __del__(self): |
|
614 self |
605 |
615 |
606 def GetDefinition(self): |
616 def GetDefinition(self): |
607 return [self.Id], [] |
617 return [self.Id], [] |
608 |
618 |
609 def TestVisible(self, screen): |
619 def TestVisible(self, screen): |
965 movey = self.StartPos.y + self.CurrentDrag.y - self.Pos.y |
975 movey = self.StartPos.y + self.CurrentDrag.y - self.Pos.y |
966 self.Move(movex, movey) |
976 self.Move(movex, movey) |
967 return movex, movey |
977 return movex, movey |
968 return 0, 0 |
978 return 0, 0 |
969 |
979 |
|
980 def OnToolTipTimer(self, event): |
|
981 value = self.GetToolTipValue() |
|
982 if value is not None and self.ToolTipPos is not None: |
|
983 self.ToolTip = ToolTip(self.Parent, value) |
|
984 self.ToolTip.MoveToolTip(self.ToolTipPos) |
|
985 self.ToolTip.Show() |
|
986 |
|
987 def GetToolTipValue(self): |
|
988 return None |
|
989 |
|
990 def CreateToolTip(self, pos): |
|
991 value = self.GetToolTipValue() |
|
992 if value is not None: |
|
993 self.ToolTipPos = pos |
|
994 self.ToolTipTimer.Start(int(TOOLTIP_WAIT_PERIOD * 1000), oneShot=True) |
|
995 |
|
996 def MoveToolTip(self, pos): |
|
997 if self.ToolTip is not None: |
|
998 self.ToolTip.MoveToolTip(pos) |
|
999 elif self.ToolTipPos is not None: |
|
1000 self.ToolTipPos = pos |
|
1001 self.ToolTipTimer.Start(int(TOOLTIP_WAIT_PERIOD * 1000), oneShot=True) |
|
1002 |
|
1003 def ClearToolTip(self): |
|
1004 self.ToolTipTimer.Stop() |
|
1005 self.ToolTipPos = None |
|
1006 if self.ToolTip is not None: |
|
1007 self.ToolTip.Destroy() |
|
1008 self.ToolTip = None |
|
1009 |
970 # Override this method for defining the method to call for adding an highlight to this element |
1010 # Override this method for defining the method to call for adding an highlight to this element |
971 def AddHighlight(self, infos, start, end, highlight_type): |
1011 def AddHighlight(self, infos, start, end, highlight_type): |
972 pass |
1012 pass |
973 |
1013 |
974 # Override this method for defining the method to call for removing an highlight from this element |
1014 # Override this method for defining the method to call for removing an highlight from this element |
1790 self.ValueSize = None |
1830 self.ValueSize = None |
1791 self.ComputedValue = None |
1831 self.ComputedValue = None |
1792 self.OverStart = False |
1832 self.OverStart = False |
1793 self.OverEnd = False |
1833 self.OverEnd = False |
1794 self.ComputingType = False |
1834 self.ComputingType = False |
1795 self.ToolTip = None |
|
1796 self.Font = parent.GetMiniFont() |
1835 self.Font = parent.GetMiniFont() |
1797 |
1836 |
1798 def GetDefinition(self): |
1837 def GetDefinition(self): |
1799 if self.StartConnected is not None and self.EndConnected is not None: |
1838 if self.StartConnected is not None and self.EndConnected is not None: |
1800 startblock = self.StartConnected.GetParentBlock() |
1839 startblock = self.StartConnected.GetParentBlock() |
1804 |
1843 |
1805 def Flush(self): |
1844 def Flush(self): |
1806 self.StartConnected = None |
1845 self.StartConnected = None |
1807 self.EndConnected = None |
1846 self.EndConnected = None |
1808 |
1847 |
1809 def CreateToolTip(self, pos): |
1848 def GetToolTipValue(self): |
1810 if self.Value is not None and self.Value != "undefined" and not isinstance(self.Value, BooleanType): |
1849 if self.Value is not None and self.Value != "undefined" and not isinstance(self.Value, BooleanType): |
1811 if isinstance(self.Value, StringType) and self.Value.find("#") == -1: |
1850 if isinstance(self.Value, StringType) and self.Value.find("#") == -1: |
1812 computed_value = "\"%s\""%self.Value |
1851 return "\"%s\""%self.Value |
1813 else: |
1852 else: |
1814 computed_value = str(self.Value) |
1853 return str(self.Value) |
1815 self.ToolTip = ToolTip(self.Parent, computed_value) |
1854 return None |
1816 self.ToolTip.MoveToolTip(pos) |
|
1817 self.ToolTip.Show() |
|
1818 |
|
1819 def MoveToolTip(self, pos): |
|
1820 if self.ToolTip is not None: |
|
1821 self.ToolTip.MoveToolTip(pos) |
|
1822 |
|
1823 def ClearToolTip(self): |
|
1824 if self.ToolTip is not None: |
|
1825 self.ToolTip.Destroy() |
|
1826 self.ToolTip = None |
|
1827 |
1855 |
1828 # Returns the RedrawRect |
1856 # Returns the RedrawRect |
1829 def GetRedrawRect(self, movex = 0, movey = 0): |
1857 def GetRedrawRect(self, movex = 0, movey = 0): |
1830 rect = Graphic_Element.GetRedrawRect(self, movex, movey) |
1858 rect = Graphic_Element.GetRedrawRect(self, movex, movey) |
1831 if self.StartConnected: |
1859 if self.StartConnected: |