]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
non-pch build fix
[wxWidgets.git] / src / generic / listctrl.cpp
index b3c3b77564a92bdab2c60d60fb4f8a979f8ff03b..3804bf0e6f68e61833e06fa31fca7b740d7bf1b8 100644 (file)
@@ -52,8 +52,6 @@
 
 #ifdef __WXMAC__
     #include "wx/osx/private.h"
-    // for themeing support
-    #include <Carbon/Carbon.h>
 #endif
 
 #if defined(__WXMSW__) && !defined(__WXWINCE__) && !defined(__WXUNIVERSAL__)
@@ -4274,7 +4272,6 @@ void wxGenericListCtrl::Init()
 
     m_mainWin = NULL;
     m_headerWin = NULL;
-    m_headerHeight = wxRendererNative::Get().GetHeaderButtonHeight(this);
 }
 
 wxGenericListCtrl::~wxGenericListCtrl()
@@ -4301,7 +4298,11 @@ void wxGenericListCtrl::CreateOrDestroyHeaderWindowAsNeeded()
                       (
                         this, wxID_ANY, m_mainWin,
                         wxPoint(0,0),
-                        wxSize(GetClientSize().x, m_headerHeight),
+                        wxSize
+                        (
+                          GetClientSize().x,
+                          wxRendererNative::Get().GetHeaderButtonHeight(this)
+                        ),
                         wxTAB_TRAVERSAL
                       );
 
@@ -4443,6 +4444,10 @@ void wxGenericListCtrl::SetSingleStyle( long style, bool add )
 
 void wxGenericListCtrl::SetWindowStyleFlag( long flag )
 {
+    // update the window style first so that the header is created or destroyed
+    // corresponding to the new style
+    wxWindow::SetWindowStyleFlag( flag );
+
     if (m_mainWin)
     {
         // m_mainWin->DeleteEverything();  wxMSW doesn't do that
@@ -4451,8 +4456,6 @@ void wxGenericListCtrl::SetWindowStyleFlag( long flag )
 
         GetSizer()->Layout();
     }
-
-    wxWindow::SetWindowStyleFlag( flag );
 }
 
 bool wxGenericListCtrl::GetColumn(int col, wxListItem &item) const
@@ -4589,7 +4592,7 @@ bool wxGenericListCtrl::GetSubItemRect(long item,
         return false;
 
     if ( m_mainWin->HasHeader() )
-        rect.y += m_headerHeight + 1;
+        rect.y += m_headerWin->GetSize().y + 1;
 
     return true;
 }