From: Robin Dunn Date: Tue, 27 Mar 2001 18:56:28 +0000 (+0000) Subject: Added code to optionally put the wxSTC on a panel instead of directly X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/cf273c67180c07c5f2b1e9f712aba3ed82c4d70e Added code to optionally put the wxSTC on a panel instead of directly in the notebook. This eliminates most (all?) of the flicker and slowdown for wxSTC when in notebooks on wxGTK. My guess is that wxNotebook is broken, but this is an acceptable workaround. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/demo/wxStyledTextCtrl_1.py b/wxPython/demo/wxStyledTextCtrl_1.py index f7bf221259..e8f725ee71 100644 --- a/wxPython/demo/wxStyledTextCtrl_1.py +++ b/wxPython/demo/wxStyledTextCtrl_1.py @@ -96,8 +96,19 @@ class MySTC(wxStyledTextCtrl): #---------------------------------------------------------------------- +_USE_PANEL = 1 + def runTest(frame, nb, log): - ed = MySTC(nb, -1, log) + if not _USE_PANEL: + ed = p = MySTC(nb, -1, log) + + else: + p = wxPanel(nb, -1) + ed = MySTC(p, -1, log) + s = wxBoxSizer(wxHORIZONTAL) + s.Add(ed, 1, wxEXPAND) + p.SetSizer(s) + p.SetAutoLayout(true) ed.SetText(demoText) ed.EmptyUndoBuffer() @@ -158,7 +169,7 @@ def runTest(frame, nb, log): ed.SetStyling(10, wxSTC_INDIC2_MASK | wxSTC_INDIC1_MASK) - return ed + return p diff --git a/wxPython/demo/wxStyledTextCtrl_2.py b/wxPython/demo/wxStyledTextCtrl_2.py index ee2570b9d3..bd59137245 100644 --- a/wxPython/demo/wxStyledTextCtrl_2.py +++ b/wxPython/demo/wxStyledTextCtrl_2.py @@ -12,7 +12,7 @@ demoText = """\ """ - +wxSTC_CMD_ZOOMIN #---------------------------------------------------------------------- @@ -265,8 +265,19 @@ class PythonSTC(wxStyledTextCtrl): #---------------------------------------------------------------------- +_USE_PANEL = 1 + def runTest(frame, nb, log): - ed = PythonSTC(nb, -1) + if not _USE_PANEL: + ed = p = PythonSTC(nb, -1) + else: + p = wxPanel(nb, -1) + ed = PythonSTC(p, -1) + s = wxBoxSizer(wxHORIZONTAL) + s.Add(ed, 1, wxEXPAND) + p.SetSizer(s) + p.SetAutoLayout(true) + ed.SetText(demoText + open('Main.py').read()) ed.EmptyUndoBuffer() @@ -276,7 +287,7 @@ def runTest(frame, nb, log): ed.SetMarginType(1, wxSTC_MARGIN_NUMBER) ed.SetMarginWidth(1, 25) - return ed + return p