if (not (self.manager.destination) or not self.manager.destination.tabbar.Rect.Contains(self.manager.destination.ScreenToClient(wx.GetMousePosition()))) and not self.manager.source.tabbar.Rect.Contains(self.manager.source.ScreenToClient(wx.GetMousePosition())):
self.manager.ShowDropMarker()
if not wx.LeftDown():
self.manager.Trigger()
self.Stop()
def Stop(self):
if self.target and hasattr(self.target, 'notebook'):
self.target.notebook.tabbar.Toggle(False)
self.target = None
wx.Timer.Stop(self)
fadeout(self.overlay)
del self.overlay
class WinDragTimer(wx.Timer):
notebook = property((lambda self: None if self._notebook is not None else None), (lambda self, nb: setattr(self, '_notebook', ref(nb))))