workaround bad default size of wx.SearchCtrl on gtk3

(cherry picked from commit 1d1f4f712a)
This commit is contained in:
Robin Dunn
2019-04-12 15:48:34 -07:00
parent fb4b52681b
commit f0e0d80dd8
2 changed files with 16 additions and 0 deletions

View File

@@ -1493,6 +1493,14 @@ class wxPythonDemo(wx.Frame):
lambda e: self.filter.SetValue('')) lambda e: self.filter.SetValue(''))
self.filter.Bind(wx.EVT_TEXT_ENTER, self.OnSearch) self.filter.Bind(wx.EVT_TEXT_ENTER, self.OnSearch)
if 'gtk3' in wx.PlatformInfo:
# Something is wrong with the bestsize of the SearchCtrl, so for now
# let's set it based on the size of a TextCtrl.
txt = wx.TextCtrl(leftPanel)
bs = txt.GetBestSize()
txt.DestroyLater()
self.filter.SetMinSize((-1, bs.height+4))
searchMenu = wx.Menu() searchMenu = wx.Menu()
item = searchMenu.AppendRadioItem(-1, "Sample Name") item = searchMenu.AppendRadioItem(-1, "Sample Name")
self.Bind(wx.EVT_MENU, self.OnSearchMenu, item) self.Bind(wx.EVT_MENU, self.OnSearchMenu, item)

View File

@@ -18,6 +18,14 @@ class TestPanel(wx.Panel):
self.search = wx.SearchCtrl(self, size=(200,-1), style=wx.TE_PROCESS_ENTER) self.search = wx.SearchCtrl(self, size=(200,-1), style=wx.TE_PROCESS_ENTER)
if 'gtk3' in wx.PlatformInfo:
# Something is wrong with the bestsize of the SearchCtrl, so for now
# let's set it based on the size of a TextCtrl.
txt = wx.TextCtrl(self)
bs = txt.GetBestSize()
txt.DestroyLater()
self.search.SetMinSize((200, bs.height+4))
# Setup the layout # Setup the layout
box = wx.StaticBoxSizer(sb, wx.VERTICAL) box = wx.StaticBoxSizer(sb, wx.VERTICAL)
box.Add(searchBtnOpt, 0, wx.ALL, 5) box.Add(searchBtnOpt, 0, wx.ALL, 5)