Try to flicker less when redrawing lists
This commit is contained in:
@@ -1333,14 +1333,12 @@ class _TabsContainer(wx.Panel):
|
||||
if not self.preview_tab.GetSelected():
|
||||
page = self.Parent.GetPage(self.GetTabIndex(self.preview_tab))
|
||||
if page.Snapshot():
|
||||
|
||||
self.preview_wnd = PFNotebookPagePreview(
|
||||
self,
|
||||
(mposx + 3, mposy + 3),
|
||||
page.Snapshot(),
|
||||
self.preview_tab.text)
|
||||
self,
|
||||
(mposx + 3, mposy + 3),
|
||||
page.Snapshot(),
|
||||
self.preview_tab.text)
|
||||
self.preview_wnd.Show()
|
||||
|
||||
event.Skip()
|
||||
|
||||
|
||||
|
||||
@@ -185,8 +185,10 @@ class Display(wx.ListCtrl):
|
||||
self.Select(row, True)
|
||||
|
||||
def populate(self, stuff):
|
||||
|
||||
if stuff is not None:
|
||||
wasFrozen = self.IsFrozen()
|
||||
if not wasFrozen:
|
||||
self.Freeze()
|
||||
listItemCount = self.GetItemCount()
|
||||
stuffItemCount = len(stuff)
|
||||
|
||||
@@ -203,11 +205,15 @@ class Display(wx.ListCtrl):
|
||||
for i in range(listItemCount - stuffItemCount):
|
||||
self.DeleteItem(self.getLastItem())
|
||||
self.Refresh()
|
||||
if not wasFrozen:
|
||||
self.Thaw()
|
||||
|
||||
def refresh(self, stuff):
|
||||
if stuff is None:
|
||||
return
|
||||
|
||||
wasFrozen = self.IsFrozen()
|
||||
if not wasFrozen:
|
||||
self.Freeze()
|
||||
item = -1
|
||||
for id_, st in enumerate(stuff):
|
||||
|
||||
@@ -259,6 +265,8 @@ class Display(wx.ListCtrl):
|
||||
self.SetColumnWidth(i, headerWidth)
|
||||
else:
|
||||
self.SetColumnWidth(i, col.size)
|
||||
if not wasFrozen:
|
||||
self.Thaw()
|
||||
|
||||
def update(self, stuff):
|
||||
self.populate(stuff)
|
||||
|
||||
@@ -48,6 +48,7 @@ class ErrorHandler:
|
||||
app = wx.App(False)
|
||||
cls.__frame = ErrorFrame(None)
|
||||
cls.__frame.addException("".join(t))
|
||||
cls.__frame.Show()
|
||||
app.MainLoop()
|
||||
sys.exit()
|
||||
else:
|
||||
@@ -121,7 +122,5 @@ class ErrorFrame(AuxiliaryFrame):
|
||||
|
||||
self.Centre(wx.BOTH)
|
||||
|
||||
self.Show()
|
||||
|
||||
def addException(self, text):
|
||||
self.errorTextCtrl.AppendText("\n{}\n\n{}".format("#" * 20, text))
|
||||
|
||||
Reference in New Issue
Block a user