]> git.saurik.com Git - wxWidgets.git/commitdiff
Changed CanApplyParentThemeBackground to ApplyParentThemeBackground
authorRobin Dunn <robin@alldunn.com>
Fri, 5 Mar 2004 05:28:21 +0000 (05:28 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 5 Mar 2004 05:28:21 +0000 (05:28 +0000)
and let the windows set the the background colour themselves (or not)

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

17 files changed:
include/wx/bmpbuttn.h
include/wx/bookctrl.h
include/wx/checkbox.h
include/wx/generic/panelg.h
include/wx/html/htmlwin.h
include/wx/msw/button.h
include/wx/msw/radiobox.h
include/wx/msw/radiobut.h
include/wx/notebook.h
include/wx/radiobox.h
include/wx/slider.h
include/wx/statbox.h
include/wx/statline.h
include/wx/stattext.h
include/wx/vlbox.h
include/wx/window.h
src/msw/notebook.cpp

index 6827496a50827bfb229e6f77e036681a0af2e250..c874c9d9dabed5ef9b775c8b66b00d5e78099cc6 100644 (file)
@@ -61,7 +61,9 @@ public:
     int GetMarginX() const { return m_marginX; }
     int GetMarginY() const { return m_marginY; }
 
-    virtual bool CanApplyParentThemeBackground() const { return true; }
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
+
 
 protected:
     // function called when any of the bitmaps changes
index 26f1f2d31ce1162fd43adf1a50e0bf94b13e546b..883a27bebc9e3b13d51a993e5ec3f572f8e1d28f 100644 (file)
@@ -161,6 +161,9 @@ public:
         }
     }
 
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
+
 protected:
     // remove the page and return a pointer to it
     virtual wxWindow *DoRemovePage(size_t page) = 0;
index bb97f9d5ca1bef70fa9db3f7a0ebfc82aa807a72..6d3ec75c4d82d3cbdf98b9b189bf27090d830a14 100644 (file)
@@ -106,7 +106,8 @@ public:
         return HasFlag(wxCHK_ALLOW_3RD_STATE_FOR_USER);
     }
 
-    virtual bool CanApplyParentThemeBackground() const { return true; }
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
 
 protected:
     virtual void DoSet3StateValue(wxCheckBoxState WXUNUSED(state)) { wxFAIL; }
index 9fbe9ceb26936c304a0f02a619697cf24bb3bd2d..28852dd454c0bacfa86bfcaf1a214bc8fea3363c 100644 (file)
@@ -86,7 +86,9 @@ public:
     virtual bool ProvidesBackground() const { return TRUE; }
 #endif
 
-    virtual bool CanApplyParentThemeBackground() const { return true; }
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
+
     
     WX_DECLARE_CONTROL_CONTAINER();
 
index f8b88670d78b9b1ecd48dffd715cf71156c3e216..0e4fab1eda97aa8fec7529651b13750103dab191 100644 (file)
@@ -198,7 +198,8 @@ public:
     void SelectAll();
 #endif
 
-    virtual bool CanApplyParentThemeBackground() const { return false; }
+    virtual void ApplyParentThemeBackground(const wxColour& WXUNUSED(bg))
+        { /* do nothing */ }
     
 protected:
     void Init();
index 8e5a62461ef971cf02f3cc05a7ec9ac71e6ce098..bb844575e3b5d699db8acc0ad00eb3f44061ecee 100644 (file)
@@ -54,6 +54,12 @@ public:
     virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
     virtual bool MSWCommand(WXUINT param, WXWORD id);
 
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+    {
+        // avoide switching into owner-drawn mode
+        wxControl::SetBackgroundColour(bg);
+    }
+    
 #ifdef __WIN32__
     // coloured buttons support
     virtual bool SetBackgroundColour(const wxColour &colour);
index 093dca1f3aa0c4a7743f978e343cc98534438c12..698bde3d7a4c77164fbe047251bac2ff26f6a718 100644 (file)
@@ -124,6 +124,9 @@ public:
     int GetNumVer() const;
     int GetNumHor() const;
 
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
+
 protected:
     // subclass one radio button
     void SubclassRadioButton(WXHWND hWndBtn);
index b04f477ae62870592c14f37c79fe1d38af9123fe..da92a8e18fdd2f1ae4ed73989320950e918994c0 100644 (file)
@@ -52,7 +52,9 @@ public:
     // implementation only from now on
     virtual bool MSWCommand(WXUINT param, WXWORD id);
     virtual void Command(wxCommandEvent& event);
-    virtual bool CanApplyParentThemeBackground() const { return true; }
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
+
 
 protected:
     virtual wxSize DoGetBestSize() const;
index ef5419d80747412afbd8534e5868d1f3597b328e..d29d1a32e15633e9ae51bedadb5ae3c1fbf474fc 100644 (file)
@@ -86,7 +86,6 @@ public:
 
     // implement some base class functions
     virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const;
-    virtual bool CanApplyParentThemeBackground() const { return true; }
 
 protected:
     DECLARE_NO_COPY_CLASS(wxNotebookBase)
index 575fab95d9bb7cbeea6362bcd6def4ae660df0d2..0a189080210752b81a3eaf7e6ac949033c7285b2 100644 (file)
@@ -86,8 +86,6 @@ public:
     // return the item above/below/to the left/right of the given one
     int GetNextItem(int item, wxDirection dir, long style) const;
 
-    virtual bool CanApplyParentThemeBackground() const { return true; }
-    
     // for compatibility only, don't use these methods in new code!
 #if WXWIN_COMPATIBILITY_2_2
     int Number() const { return GetCount(); }
index 512e40132880a92aff4f8fd4cc2c307d8edc23e5..dfd4a63904b39480de4cd7b499c7564401db63cc 100644 (file)
@@ -81,7 +81,9 @@ public:
     virtual void SetSelection(int WXUNUSED(min), int WXUNUSED(max)) { }
 
 
-    virtual bool CanApplyParentThemeBackground() const { return true; }
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
+
 
 private:
     DECLARE_NO_COPY_CLASS(wxSliderBase)
index 4d409ab3737b9e821e9c0f0b72a8cd2b574347db..d5661e10fc5b62b1f1e7637e2b769c3d0a49ffec 100644 (file)
@@ -18,7 +18,8 @@ public:
 
     // overriden base class virtuals
     virtual bool AcceptsFocus() const { return false; }
-    virtual bool CanApplyParentThemeBackground() const { return true; }
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
 
 private:
     DECLARE_NO_COPY_CLASS(wxStaticBoxBase)
index 6beb05a2c597bc0a5b0901ab94b95999a159f5d5..7bd1939cebdd32d2090f1cf833854bf76f479cba 100644 (file)
@@ -48,7 +48,8 @@ public:
 
     // overriden base class virtuals
     virtual bool AcceptsFocus() const { return false; }
-    virtual bool CanApplyParentThemeBackground() const { return true; }
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
 
 protected:
     // set the right size for the right dimension
index 525ad9eb8dc7965c24815fdbf1eeb6f5defbb0ac..8590052f74938221b45eccb6218c4ffaed5ff1ef 100644 (file)
@@ -14,7 +14,8 @@ public:
 
     // overriden base virtuals
     virtual bool AcceptsFocus() const { return false; }
-    virtual bool CanApplyParentThemeBackground() const { return true; }
+    virtual void ApplyParentThemeBackground(const wxColour& bg)
+        { SetBackgroundColour(bg); }
 
 private:
     DECLARE_NO_COPY_CLASS(wxStaticTextBase)
index 42c5ce2ad47217483a29fe597cca3c4012214334..9e5bf64c5b1dc49b753b104ccd4938a186058ebb 100644 (file)
@@ -189,7 +189,9 @@ public:
     void SetSelectionBackground(const wxColour& col);
 
 
-    virtual bool CanApplyParentThemeBackground() const { return false; }
+    virtual void ApplyParentThemeBackground(const wxColour& WXUNUSED(bg))
+        { /* do nothing */ }
+
     
 protected:
     // the derived class must implement this function to actually draw the item
index b02a9ecf44c21f8d0ebd24a20e85688e88f75ddb..0f1d01072dc6926f081afdadd09d42e6e2387aa1 100644 (file)
@@ -399,7 +399,8 @@ public:
         // page is added to a notebook it and it's children may need to have
         // the colours adjusted depending on the current theme settings, but
         // not all windows/controls can do this without looking wrong.
-    virtual bool CanApplyParentThemeBackground() const { return false; }
+    virtual void ApplyParentThemeBackground(const wxColour& WXUNUSED(bg))
+        { /* do nothing */ }
     
         // returns true if this window should inherit its parent colours on
         // creation
index e04027b7dad546df6269007a9e6ffe1bf34765db..765866b1912e4aae6010ff2a1bf110e31498f88c 100644 (file)
@@ -966,19 +966,9 @@ void wxNotebook::ApplyThemeBackground(wxWindow*, const wxColour&)
 #endif
 {
 #if wxUSE_UXTHEME
-    // Special case for wxButton: Don't set the background for buttons since
-    // this will switch it into ownerdraw mode
-    if (window->IsKindOf(CLASSINFO(wxButton)) && !window->IsKindOf(CLASSINFO(wxBitmapButton)))
-        // This is essential, otherwise you'll see dark grey
-        // corners in the buttons.
-        ((wxButton*)window)->wxControl::SetBackgroundColour(colour);
-
-    // for all other classes let them decide
-    else if ((window != this) && window->CanApplyParentThemeBackground())
-    {
-        window->SetBackgroundColour(colour);
-    }
 
+    window->ApplyParentThemeBackground(colour);
+    
     for ( wxWindowList::compatibility_iterator node = window->GetChildren().GetFirst(); node; node = node->GetNext() )
     {
         wxWindow *child = node->GetData();