From 729c46ab00e4a182c9c919ae31ee88a1e12fe213 Mon Sep 17 00:00:00 2001 From: Ryan Holmes Date: Wed, 14 Jun 2017 03:57:57 -0400 Subject: [PATCH] Revert "Remove EVT_ERASE_BACKGROUND events - pretty sure these were there for older versions of wx where the background wasn't erased properly" This does help prevent flickering on resizing. Need to research more before removing them This reverts commit 8c5c7fba29e4f072d1ef23ac30f99f36a4566728. --- gui/builtinMarketBrowser/pfSearchBox.py | 4 ++++ gui/builtinPreferenceViews/pyfaGaugePreferences.py | 4 ++++ gui/builtinShipBrowser/pfBitmapFrame.py | 4 ++++ gui/builtinShipBrowser/raceSelector.py | 4 ++++ gui/builtinShipBrowser/sfBrowserItem.py | 4 ++++ gui/chrome_tabs.py | 9 +++++++++ gui/display.py | 1 + gui/mainFrame.py | 4 ++++ gui/pyfa_gauge.py | 4 ++++ gui/utils/anim.py | 4 ++++ 10 files changed, 42 insertions(+) diff --git a/gui/builtinMarketBrowser/pfSearchBox.py b/gui/builtinMarketBrowser/pfSearchBox.py index 57c91cc0e..b696026f8 100644 --- a/gui/builtinMarketBrowser/pfSearchBox.py +++ b/gui/builtinMarketBrowser/pfSearchBox.py @@ -45,6 +45,7 @@ class PFSearchBox(wx.Window): wx.TE_PROCESS_ENTER | (wx.BORDER_NONE if 'wxGTK' in wx.PlatformInfo else 0)) self.Bind(wx.EVT_PAINT, self.OnPaint) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBk) self.Bind(wx.EVT_SIZE, self.OnSize) self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) @@ -186,6 +187,9 @@ class PFSearchBox(wx.Window): self.resized = True self.Refresh() + def OnEraseBk(self, event): + pass + def UpdateElementsPos(self, dc): rect = self.GetRect() diff --git a/gui/builtinPreferenceViews/pyfaGaugePreferences.py b/gui/builtinPreferenceViews/pyfaGaugePreferences.py index e5996c666..c17002590 100644 --- a/gui/builtinPreferenceViews/pyfaGaugePreferences.py +++ b/gui/builtinPreferenceViews/pyfaGaugePreferences.py @@ -48,6 +48,10 @@ class PFGaugePreview(wx.Window): self.Bind(wx.EVT_ENTER_WINDOW, self.OnWindowEnter) self.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave) self.Bind(wx.EVT_TIMER, self.OnTimer) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBk) + + def OnEraseBk(self, event): + pass def OnTimer(self, event): if event.GetId() == self.timerID: diff --git a/gui/builtinShipBrowser/pfBitmapFrame.py b/gui/builtinShipBrowser/pfBitmapFrame.py index 618401a4f..8421ee6a7 100644 --- a/gui/builtinShipBrowser/pfBitmapFrame.py +++ b/gui/builtinShipBrowser/pfBitmapFrame.py @@ -11,6 +11,7 @@ class PFBitmapFrame(wx.Frame): self.bitmap = bitmap self.SetSize((bitmap.GetWidth(), bitmap.GetHeight())) self.Bind(wx.EVT_PAINT, self.OnWindowPaint) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnWindowEraseBk) self.Bind(wx.EVT_TIMER, self.OnTimer) self.timer = wx.Timer(self, wx.ID_ANY) @@ -44,6 +45,9 @@ class PFBitmapFrame(wx.Frame): self.direction = -1 self.timer.Start(5) + def OnWindowEraseBk(self, event): + pass + def OnWindowPaint(self, event): rect = self.GetRect() canvas = wx.Bitmap(rect.width, rect.height) diff --git a/gui/builtinShipBrowser/raceSelector.py b/gui/builtinShipBrowser/raceSelector.py index 404c4123b..cfc795ea9 100644 --- a/gui/builtinShipBrowser/raceSelector.py +++ b/gui/builtinShipBrowser/raceSelector.py @@ -77,6 +77,7 @@ class RaceSelector(wx.Window): self.Bind(wx.EVT_ENTER_WINDOW, self.OnWindowEnter) self.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave) self.Bind(wx.EVT_TIMER, self.OnTimer) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnBackgroundErase) self.Bind(wx.EVT_PAINT, self.OnPaint) self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp) self.Bind(wx.EVT_MOTION, self.OnMouseMove) @@ -159,6 +160,9 @@ class RaceSelector(wx.Window): self.CalcButtonsBarPos() self.Refresh() + def OnBackgroundErase(self, event): + pass + def OnPaint(self, event): rect = self.GetRect() diff --git a/gui/builtinShipBrowser/sfBrowserItem.py b/gui/builtinShipBrowser/sfBrowserItem.py index 57979ae12..e0cef1495 100644 --- a/gui/builtinShipBrowser/sfBrowserItem.py +++ b/gui/builtinShipBrowser/sfBrowserItem.py @@ -251,6 +251,7 @@ class SFBrowserItem(wx.Window): self.toolbar = PFToolbar(self) self.Bind(wx.EVT_PAINT, self.OnPaint) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp) self.Bind(wx.EVT_KEY_UP, self.OnKeyUp) @@ -292,6 +293,9 @@ class SFBrowserItem(wx.Window): def DrawItem(self, mdc): pass + def OnEraseBackground(self, event): + pass + def OnKeyUp(self, event): pass diff --git a/gui/chrome_tabs.py b/gui/chrome_tabs.py index dad6ac182..e65719867 100644 --- a/gui/chrome_tabs.py +++ b/gui/chrome_tabs.py @@ -719,6 +719,7 @@ class _TabsContainer(wx.Panel): self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow) self.Bind(wx.EVT_PAINT, self.OnPaint) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnErase) self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp) self.Bind(wx.EVT_MOTION, self.OnMotion) @@ -1150,6 +1151,9 @@ class _TabsContainer(wx.Panel): mdc.DrawBitmap(bmp, posx, posy, True) + def OnErase(self, event): + pass + def UpdateTabFX(self): """ Updates tab drop shadow bitmap """ self.tab_shadow.SetSize((self.tab_min_width, self.height + 1)) @@ -1299,6 +1303,7 @@ class PFNotebookPagePreview(wx.Frame): self.bitmap = bitmap self.SetSize((bitmap.GetWidth(), bitmap.GetHeight())) self.Bind(wx.EVT_PAINT, self.OnWindowPaint) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnWindowEraseBk) self.Bind(wx.EVT_TIMER, self.OnTimer) self.timer = wx.Timer(self, wx.ID_ANY) @@ -1358,6 +1363,10 @@ class PFNotebookPagePreview(wx.Frame): self.direction = -1 self.timer.Start(10) + + def OnWindowEraseBk(self,event): + pass + def OnWindowPaint(self, event): rect = self.GetRect() canvas = wx.Bitmap(rect.width, rect.height) diff --git a/gui/display.py b/gui/display.py index b088a89c8..312f5916b 100644 --- a/gui/display.py +++ b/gui/display.py @@ -37,6 +37,7 @@ class Display(wx.ListCtrl): self.columnsMinWidth = [] self.Bind(wx.EVT_LIST_COL_END_DRAG, self.resizeChecker) self.Bind(wx.EVT_LIST_COL_BEGIN_DRAG, self.resizeSkip) + self.mainFrame = gui.mainFrame.MainFrame.getInstance() i = 0 diff --git a/gui/mainFrame.py b/gui/mainFrame.py index 1d9e3130f..58f49b24e 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -102,10 +102,14 @@ class PFPanel(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent) self.Bind(wx.EVT_PAINT, self.OnPaint) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnBkErase) def OnPaint(self, event): event.Skip() + def OnBkErase(self, event): + pass + class OpenFitsThread(threading.Thread): def __init__(self, fits, callback): diff --git a/gui/pyfa_gauge.py b/gui/pyfa_gauge.py index fc9ffd321..fbfab3322 100644 --- a/gui/pyfa_gauge.py +++ b/gui/pyfa_gauge.py @@ -72,6 +72,7 @@ class PyGauge(wx.Window): self.SetToolTip(self._tooltip) self.Bind(wx.EVT_PAINT, self.OnPaint) + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_TIMER, self.OnTimer) self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_ENTER_WINDOW, self.OnWindowEnter) @@ -196,6 +197,9 @@ class PyGauge(wx.Window): (self._value, self._max_range if self._max_range > 0.01 else 0)) + def OnEraseBackground(self, event): + pass + def OnPaint(self, event): dc = wx.BufferedPaintDC(self) rect = self.GetClientRect() diff --git a/gui/utils/anim.py b/gui/utils/anim.py index 643a91fc7..8791b273d 100644 --- a/gui/utils/anim.py +++ b/gui/utils/anim.py @@ -18,6 +18,7 @@ class LoadAnimation(wx.Window): self.bars = 10 self.padding = 2 + self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_TIMER, self.OnTimer) self.Bind(wx.EVT_PAINT, self.OnPaint) @@ -46,6 +47,9 @@ class LoadAnimation(wx.Window): self.Refresh() + def OnEraseBackground(self, event): + pass + def OnPaint(self, event): rect = self.GetClientRect() dc = wx.BufferedPaintDC(self)