graphics/GraphicCommons.py
changeset 625 b7062a7018ec
parent 612 fdb9501e5cc8
child 628 edcd40605fff
equal deleted inserted replaced
624:efedc9d06a59 625:b7062a7018ec
    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: