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?ds=inline 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