Esempio n. 1
0
 def _checkSelectionDlgOverlap(self):
     if self.view.viewName not in ('Package', 'Application'):
         selStart, selEnd = self.view.GetSelection()
         selStartLnNo = self.view.LineFromPosition(selStart)
         if selStart != selEnd and selStartLnNo == self.view.LineFromPosition(
                 selEnd):
             chrHeight = self.view.GetCharHeight()
             selPos = self.view.ClientToScreen(
                 self.view.PointFromPosition(selStart))
             selSize = wx.Size(
                 self.view.ClientToScreen(
                     self.view.PointFromPosition(selEnd)).x - selPos.x,
                 chrHeight)
             dlgPos, dlgSize = self.GetPosition(), self.GetSize()
             r = wx.IntersectRect(
                 wx.Rect(selPos.x, selPos.y, selSize.x, selSize.y),
                 wx.Rect(dlgPos.x, dlgPos.y, dlgSize.x, dlgSize.y))
             if r is not None:
                 # simply moves dialog above or below selection
                 # sometimes rather moving it to the sides would be more
                 # appropriate
                 mcp = self.ScreenToClient(wx.GetMousePosition())
                 if selStartLnNo < self.view.GetFirstVisibleLine() + \
                       self.view.LinesOnScreen()/2:
                     self.SetPosition(
                         (dlgPos.x,
                          selPos.y + chrHeight + self._fudgeOffset))
                 else:
                     self.SetPosition(
                         (dlgPos.x,
                          selPos.y - dlgSize.y - self._fudgeOffset))
                 self.WarpPointer(mcp.x, mcp.y)
Esempio n. 2
0
    def GetDayHit(self, mx, my):
        for key in self.rg.keys():
            val = self.rg[key]
            ms_rect = wx.Rect(mx, my, 1, 1)
            if wx.IntersectRect(ms_rect, val) is not None:
                result = self.TestDay(key)
                return result

        return None
Esempio n. 3
0
    def GetDayHit(self, mx, my):
        """
        Find the clicked area rectangle.

        :param `mx`: the x position
        :param `my`: the y positon

        """
        for key in self.rg.keys():
            val = self.rg[key]
            ms_rect = wx.Rect(mx, my, 1, 1)
            if wx.IntersectRect(ms_rect, val) is not None:
                result = self.TestDay(key)
                return result

        return None
Esempio n. 4
0
 def test_intersectRect02(self):
     r1 = wx.Rect(0, 0, 55, 55)
     r2 = wx.Rect(50, 50, 10, 10)
     r3 = wx.IntersectRect(r1, r2)
     self.assertEqual(r3, wx.Rect(50, 50, 5, 5))
Esempio n. 5
0
 def test_intersectRect01(self):
     r1 = wx.Rect(0, 0, 10, 10)
     r2 = wx.Rect(50, 50, 10, 10)
     r3 = wx.IntersectRect(r1, r2)
     self.assertEqual(r3, None)