Minor refactor of the snapshot code

This commit is contained in:
cncfanatics
2010-11-19 08:55:10 +01:00
parent 06357db79b
commit cdd463d35b
2 changed files with 8 additions and 8 deletions

View File

@@ -949,12 +949,11 @@ class PFTabsContainer(wx.Panel):
if self.TabHitTest(tab, mposx, mposy): if self.TabHitTest(tab, mposx, mposy):
try: try:
page = self.Parent.GetPage(self.GetTabIndex(tab)) page = self.Parent.GetPage(self.GetTabIndex(tab))
if page.CanUseSnapshot(): if hasattr(page, "Snapshot"):
if not self.previewTimer: if not self.previewTimer:
self.previewTimer = wx.Timer(self, self.previewTimerID) self.previewTimer = wx.Timer(self, self.previewTimerID)
self.previewTab = tab self.previewTab = tab
self.previewBmp = page.FVsnapshot
self.previewTimer.Start(1500, True) self.previewTimer.Start(1500, True)
break break
except: except:
@@ -1171,8 +1170,8 @@ class PFTabsContainer(wx.Panel):
cposx, cposy = self.ScreenToClient((mposx, mposy)) cposx, cposy = self.ScreenToClient((mposx, mposy))
if self.FindTabAtPos(cposx, cposy) == self.previewTab: if self.FindTabAtPos(cposx, cposy) == self.previewTab:
if not self.previewTab.GetSelected(): if not self.previewTab.GetSelected():
page = self.Parent.GetPage(self.GetTabIndex(self.previewTab))
self.previewWnd = PFNotebookPagePreview(self,(mposx+3,mposy+3), self.previewBmp, self.previewTab.text) self.previewWnd = PFNotebookPagePreview(self,(mposx+3,mposy+3), page.Snapshot(), self.previewTab.text)
self.previewWnd.Show() self.previewWnd.Show()
event.Skip() event.Skip()

View File

@@ -369,19 +369,20 @@ class FittingView(d.Display):
def OnShow(self, event): def OnShow(self, event):
if not event.GetShow(): if not event.GetShow():
self.Snapshot() self.MakeSnapshot()
event.Skip() event.Skip()
def CanUseSnapshot(self):
return True
def Snapshot(self): def Snapshot(self):
return self.FVsnapshot
def MakeSnapshot(self):
if self.FVsnapshot: if self.FVsnapshot:
del self.FVsnapshot del self.FVsnapshot
wantedWidth = 0 wantedWidth = 0
for i in xrange(4): for i in xrange(4):
wantedWidth += self.GetColumnWidth(i) wantedWidth += self.GetColumnWidth(i)
rect = self.GetRect() rect = self.GetRect()
rect.height = min(rect.height, 400) rect.height = min(rect.height, 400)
rect.width = min(rect.width, wantedWidth) rect.width = min(rect.width, wantedWidth)