]> git.saurik.com Git - wxWidgets.git/commitdiff
Update AUI bitmaps when its colours change.
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 3 Dec 2010 12:40:28 +0000 (12:40 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 3 Dec 2010 12:40:28 +0000 (12:40 +0000)
Extract the bitmaps initialization in wxAuiDefaultDockArt::InitBitmaps() and
call it from SetColour() to ensure that the bitmaps are updated when the
colour scheme changes.

Closes #12532.

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

include/wx/aui/dockart.h
src/aui/dockart.cpp

index dbe21f332b41128c7eff6b14b15ed930181905bf..444308bdc99acadadc90357dbdeaeb84bf33368b 100644 (file)
@@ -134,6 +134,8 @@ protected:
 
     void DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active);
 
+    void InitBitmaps();
+
 protected:
 
     wxPen m_border_pen;
index eabee0f202849700b4acac2278a0b93671324452..3d9675b2baa5bb3dab3582327c3b8baabe5abebb 100644 (file)
@@ -190,6 +190,28 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
     m_caption_font = wxFont(8, wxDEFAULT, wxNORMAL, wxNORMAL, FALSE);
 #endif
 
+    // default metric values
+#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON
+    SInt32 height;
+    GetThemeMetric( kThemeMetricSmallPaneSplitterHeight , &height );
+    m_sash_size = height;
+#elif defined(__WXGTK__)
+    m_sash_size = wxRendererNative::Get().GetSplitterParams(NULL).widthSash;
+#else
+    m_sash_size = 4;
+#endif
+    m_caption_size = 17;
+    m_border_size = 1;
+    m_button_size = 14;
+    m_gripper_size = 9;
+    m_gradient_type = wxAUI_GRADIENT_VERTICAL;
+
+    InitBitmaps();
+}
+
+void
+wxAuiDefaultDockArt::InitBitmaps ()
+{
     // some built in bitmaps
 #if defined( __WXMAC__ )
      static const unsigned char close_bits[]={
@@ -256,22 +278,6 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
 
     m_inactive_pin_bitmap = wxAuiBitmapFromBits(pin_bits, 16, 16, m_inactive_caption_text_colour);
     m_active_pin_bitmap = wxAuiBitmapFromBits(pin_bits, 16, 16, m_active_caption_text_colour);
-
-    // default metric values
-#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON
-    SInt32 height;
-    GetThemeMetric( kThemeMetricSmallPaneSplitterHeight , &height );
-    m_sash_size = height;
-#elif defined(__WXGTK__)
-    m_sash_size = wxRendererNative::Get().GetSplitterParams(NULL).widthSash;
-#else
-    m_sash_size = 4;
-#endif
-    m_caption_size = 17;
-    m_border_size = 1;
-    m_button_size = 14;
-    m_gripper_size = 9;
-    m_gradient_type = wxAUI_GRADIENT_VERTICAL;
 }
 
 int wxAuiDefaultDockArt::GetMetric(int id)
@@ -344,6 +350,8 @@ void wxAuiDefaultDockArt::SetColour(int id, const wxColor& colour)
             break;
         default: wxFAIL_MSG(wxT("Invalid Metric Ordinal")); break;
     }
+
+    InitBitmaps();
 }
 
 void wxAuiDefaultDockArt::SetFont(int id, const wxFont& font)