]> git.saurik.com Git - wxWidgets.git/commitdiff
On wxMac don't call Refresh from FullPaint as that is the biggest
authorRobin Dunn <robin@alldunn.com>
Sat, 19 Feb 2005 23:45:18 +0000 (23:45 +0000)
committerRobin Dunn <robin@alldunn.com>
Sat, 19 Feb 2005 23:45:18 +0000 (23:45 +0000)
cause of the performance problems.  Instead call refresh when the
AutoComp window is displayed or hidden to ensure that borders,
etc. are drawn/erased as needed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

contrib/src/stc/PlatWX.cpp
contrib/src/stc/ScintillaWX.cpp
src/stc/PlatWX.cpp
src/stc/ScintillaWX.cpp

index b3232e6aa575dc3bed12e58b861df13b4d53d49f..606d9d809b02178ad303a986a8472bf82aebfcdf 100644 (file)
@@ -806,6 +806,14 @@ public:
         event.Skip();
     }
 
+#ifdef __WXMAC__
+    virtual bool Show(bool show = true) {
+        bool rv = wxWindow::Show(show);
+        GetParent()->Refresh(false);
+        return rv;
+    }
+#endif
+    
     void OnActivate(wxListEvent& WXUNUSED(event)) {
         doubleClickAction(doubleClickActionData);
     }
index 50773daee1d74bcd4c2b966a17bfd5d6f2fba070..779ac2a3df0daca99e3f195e256a89acf4026a5d 100644 (file)
@@ -636,6 +636,7 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar
             LexerManager::GetInstance()->Load((const char*)lParam);
             break;
 #endif
+
       default:
           return ScintillaBase::WndProc(iMessage, wParam, lParam);
       }
@@ -983,7 +984,9 @@ void ScintillaWX::DoDragLeave() {
 
 // Force the whole window to be repainted
 void ScintillaWX::FullPaint() {
+#ifndef __WXMAC__
     stc->Refresh(false);
+#endif
     stc->Update();
 }
 
index b3232e6aa575dc3bed12e58b861df13b4d53d49f..606d9d809b02178ad303a986a8472bf82aebfcdf 100644 (file)
@@ -806,6 +806,14 @@ public:
         event.Skip();
     }
 
+#ifdef __WXMAC__
+    virtual bool Show(bool show = true) {
+        bool rv = wxWindow::Show(show);
+        GetParent()->Refresh(false);
+        return rv;
+    }
+#endif
+    
     void OnActivate(wxListEvent& WXUNUSED(event)) {
         doubleClickAction(doubleClickActionData);
     }
index 50773daee1d74bcd4c2b966a17bfd5d6f2fba070..779ac2a3df0daca99e3f195e256a89acf4026a5d 100644 (file)
@@ -636,6 +636,7 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar
             LexerManager::GetInstance()->Load((const char*)lParam);
             break;
 #endif
+
       default:
           return ScintillaBase::WndProc(iMessage, wParam, lParam);
       }
@@ -983,7 +984,9 @@ void ScintillaWX::DoDragLeave() {
 
 // Force the whole window to be repainted
 void ScintillaWX::FullPaint() {
+#ifndef __WXMAC__
     stc->Refresh(false);
+#endif
     stc->Update();
 }