]> git.saurik.com Git - wxWidgets.git/commitdiff
implement Update() properly for the generic wxListCtrl (see #10857)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 30 May 2009 22:25:42 +0000 (22:25 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 30 May 2009 22:25:42 +0000 (22:25 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/generic/listctrl.h
src/generic/listctrl.cpp

index 9fdc58788d9bc9e12832b82da2c0c3515d8162e0..e33dfcf8d1c52483f41f8ae2ca8d488f90e8d876 100644 (file)
@@ -139,9 +139,6 @@ public:
                        int format = wxLIST_FORMAT_LEFT, int width = -1 );
     bool ScrollList( int dx, int dy );
     bool SortItems( wxListCtrlCompare fn, wxIntPtr data );
-    bool Update( long item );
-    // Must provide overload to avoid hiding it (and warnings about it)
-    virtual void Update() { wxControl::Update(); }
 
     // are we in report mode?
     bool InReportView() const { return HasFlag(wxLC_REPORT); }
@@ -162,6 +159,10 @@ public:
     wxDEPRECATED( int GetItemSpacing( bool isSmall ) const );
 #endif // WXWIN_COMPATIBILITY_2_6
 
+
+    // overridden base class virtuals
+    // ------------------------------
+
     virtual wxVisualAttributes GetDefaultAttributes() const
     {
         return GetClassDefaultAttributes(GetWindowVariant());
@@ -170,9 +171,15 @@ public:
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 
+    virtual void Update();
+
+
     // implementation only from now on
     // -------------------------------
 
+    // generic version extension, don't use in portable code
+    bool Update( long item );
+
     void OnInternalIdle( );
 
     // We have to hand down a few functions
index 5f7adb2fd1d692eb73d76e28cc602d0bece4409a..b62c9cf1f8932cac110c86bf4899a8c62f8080a8 100644 (file)
@@ -5198,4 +5198,18 @@ void wxGenericListCtrl::Refresh(bool eraseBackground, const wxRect *rect)
     }
 }
 
+void wxGenericListCtrl::Update()
+{
+    if ( m_mainWin )
+    {
+        if ( m_mainWin->m_dirty )
+            m_mainWin->RecalculatePositions();
+
+        m_mainWin->Update();
+    }
+
+    if ( m_headerWin )
+        m_headerWin->Update();
+}
+
 #endif // wxUSE_LISTCTRL