]> git.saurik.com Git - wxWidgets.git/commitdiff
Use InheritAttributes for wxGTK widgets so they will check
authorRobin Dunn <robin@alldunn.com>
Wed, 3 Dec 2003 03:24:47 +0000 (03:24 +0000)
committerRobin Dunn <robin@alldunn.com>
Wed, 3 Dec 2003 03:24:47 +0000 (03:24 +0000)
ShouldInheritColours.  Set wxButton to not inherit colours.

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

33 files changed:
include/wx/button.h
include/wx/gtk/button.h
include/wx/gtk1/button.h
src/gtk/bmpbuttn.cpp
src/gtk/button.cpp
src/gtk/checkbox.cpp
src/gtk/choice.cpp
src/gtk/combobox.cpp
src/gtk/listbox.cpp
src/gtk/radiobox.cpp
src/gtk/radiobut.cpp
src/gtk/scrolbar.cpp
src/gtk/slider.cpp
src/gtk/spinbutt.cpp
src/gtk/spinctrl.cpp
src/gtk/stattext.cpp
src/gtk/textctrl.cpp
src/gtk/tglbtn.cpp
src/gtk1/bmpbuttn.cpp
src/gtk1/button.cpp
src/gtk1/checkbox.cpp
src/gtk1/choice.cpp
src/gtk1/combobox.cpp
src/gtk1/listbox.cpp
src/gtk1/radiobox.cpp
src/gtk1/radiobut.cpp
src/gtk1/scrolbar.cpp
src/gtk1/slider.cpp
src/gtk1/spinbutt.cpp
src/gtk1/spinctrl.cpp
src/gtk1/stattext.cpp
src/gtk1/textctrl.cpp
src/gtk1/tglbtn.cpp

index d4032a3b6c3e0f85fa0ccccbce61eaabeffe02e0..1e7f14a0f77e406c309a569e209d1859fe953624 100644 (file)
@@ -60,6 +60,11 @@ public:
     // on its panel
     virtual void SetDefault() { }
 
+    // Buttons on MSW can look bad if they are not native colours, because
+    // then they become owner-drawn and not theme-drawn.  Disable it here
+    // in wxButtonBase to make it consistent.
+    virtual bool ShouldInheritColours() const { return false; }
+
     // returns the default button size for this platform
     static wxSize GetDefaultSize();
 
index 84b20b81a08756fa08972731e7b10c2f4bf86f9a..5c90c03e246c6af811697876638e8718edc8a7a8 100644 (file)
@@ -67,6 +67,10 @@ public:
     void ApplyWidgetStyle();
     bool IsOwnGtkWindow( GdkWindow *window );
 
+    // Since this wxButton doesn't derive from wxButtonBase (why?) we need
+    // to override this here too...
+    virtual bool ShouldInheritColours() const { return false; }
+    
 protected:
     virtual wxSize DoGetBestSize() const;
 
index 84b20b81a08756fa08972731e7b10c2f4bf86f9a..5c90c03e246c6af811697876638e8718edc8a7a8 100644 (file)
@@ -67,6 +67,10 @@ public:
     void ApplyWidgetStyle();
     bool IsOwnGtkWindow( GdkWindow *window );
 
+    // Since this wxButton doesn't derive from wxButtonBase (why?) we need
+    // to override this here too...
+    virtual bool ShouldInheritColours() const { return false; }
+    
 protected:
     virtual wxSize DoGetBestSize() const;
 
index 8e548b420cd1bd3195c27df59e9168192d73eb92..6d463b364bd23e15bd91db337ea12747294b2913 100644 (file)
@@ -176,8 +176,7 @@ bool wxBitmapButton::Create( wxWindow *parent,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetBackgroundColour( parent->GetBackgroundColour() );
+    InheritAttributes();
 
     Show( TRUE );
 
index 51caf3b9dcbc625fa09e0ebc215b8186ffcd973b..68e6eb534685c637559cf496b319803030ad3ce8 100644 (file)
@@ -136,8 +136,7 @@ bool wxButton::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     wxSize best_size( DoGetBestSize() );
     wxSize new_size( size );
@@ -150,9 +149,6 @@ bool wxButton::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
 
     SetSize( new_size );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index a5316a29f22cc775e88cf9d817fbbd5c1ba345fa..2a7d0437bf6b44c4c240e42a8f7ca642c2b22e0f 100644 (file)
@@ -121,8 +121,7 @@ bool wxCheckBox::Create(wxWindow *parent,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
@@ -133,9 +132,6 @@ bool wxCheckBox::Create(wxWindow *parent,
     if ((new_size.x != size.x) || (new_size.y != size.y))
         SetSize( new_size.x, new_size.y );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index d4bcff0b9eba22a439664a0738803ce19791ade4..f437527d6c265f1480b603c59861114d2679a0b4 100644 (file)
@@ -111,14 +111,10 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     SetBestSize(size);
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index 0fb03dc36a270e5cb0e8174c043f94da11e1b032..f295daac11ac6cbabc4a3f649beb6808a66030e2 100644 (file)
@@ -158,6 +158,7 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
     m_focusWidget = combo->entry;
 
     PostCreation();
+    InheritAttributes();
 
     ConnectWidget( combo->button );
 
@@ -190,9 +191,6 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
         gtk_widget_set_usize( m_widget, new_size.x, new_size.y );
     }
 
-    SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index 56f3a233833e029fcc4d451dfadb32e08ca2d2a1..a8a680a940158541278211db23c3f20c6b28e6e4 100644 (file)
@@ -399,10 +399,7 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_LISTBOX ) );
-    SetForegroundColour( parent->GetForegroundColour() );
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     Show( TRUE );
 
index 1dbff8ad50482f2a5d575abe1397021e2cebf63d..1fd590f205983c1e4e05e681794b1c7aaaf169e2 100644 (file)
@@ -231,6 +231,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
     m_parent->DoAddChild( this );
 
     PostCreation();
+    InheritAttributes();
 
     ApplyWidgetStyle();
 
@@ -251,9 +252,6 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
     if (newSize.y == -1) newSize.y = ls.y;
     SetSize( newSize.x, newSize.y );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index e79978e8b7979b865bde961b6aff74064d1d4077..c8c6c53ecae61a8df1e1a9a9f45848d3ebecef3b 100644 (file)
@@ -129,8 +129,7 @@ bool wxRadioButton::Create( wxWindow *parent,
     m_parent->DoAddChild( this );
   
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
@@ -141,9 +140,6 @@ bool wxRadioButton::Create( wxWindow *parent,
     if ((new_size.x != size.x) || (new_size.y != size.y))
         SetSize( new_size.x, new_size.y );
         
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-  
     Show( TRUE );
 
     return TRUE;
index 60750087df39b9d1f0ccc86f1df1ff2563ec95ea..edc4f34d719e579a5ad505dd4400523c2b967c9c 100644 (file)
@@ -180,11 +180,10 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
+    InheritAttributes();
 
     SetBestSize(size);
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index 27f9bdd3936289402833a27dcf2461c8362b8dea..f3ab24213f9f949e8eda96895e50e4a8b61325c5 100644 (file)
@@ -142,8 +142,7 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetBackgroundColour( parent->GetBackgroundColour() );
+    InheritAttributes();
 
     Show( TRUE );
 
index 899c30c81684000fd9d5bdfce05a82bf71ea1de1..2d5eb9650cd5acf8b9447475eec714eef6d5c6b4 100644 (file)
@@ -151,8 +151,7 @@ bool wxSpinButton::Create(wxWindow *parent,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetBackgroundColour( parent->GetBackgroundColour() );
+    InheritAttributes();
 
     Show( TRUE );
 
index 989b574e37667d60559c60ae22c5d7b992eb4dd3..e071efbce9a94a46406eaa9255424e3d98e6123c 100644 (file)
@@ -127,9 +127,8 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
+    InheritAttributes();
 
-    SetFont( parent->GetFont() );
-    
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
     if (new_size.x == -1)
@@ -141,8 +140,6 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
     if ((new_size.x != size.x) || (new_size.y != size.y))
         SetSize( new_size.x, new_size.y );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-
     SetValue( value );
 
     Show( TRUE );
index 90c9857ac09ef4da608ea17aaf75cdcf5ff0cfa3..228cac559f569289b5b3dc6be4615521b959c931 100644 (file)
@@ -111,7 +111,8 @@ bool wxStaticText::Create(wxWindow *parent,
 
     ApplyWidgetStyle();
 
-    wxControl::SetFont( parent->GetFont() );
+    InheritAttributes();
+//    wxControl::SetFont( parent->GetFont() );
     
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
@@ -122,8 +123,11 @@ bool wxStaticText::Create(wxWindow *parent,
     if ((new_size.x != size.x) || (new_size.y != size.y))
         SetSize( new_size.x, new_size.y );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
+//     if (ShouldInheritColours())
+//     {
+//         SetBackgroundColour( parent->GetBackgroundColour() );
+//         SetForegroundColour( parent->GetForegroundColour() );
+//     }
     Show( TRUE );
 
     return TRUE;
index 36edaf5f50d70b44f4a978564fd56d712690df44..3d03f75d3b75a296255c96d4ed1f19c2aed25e7d 100644 (file)
@@ -347,8 +347,7 @@ bool wxTextCtrl::Create( wxWindow *parent,
     m_focusWidget = m_text;
 
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
index e5baaa38353870fb240cb55f1d7ea4f7488bb0eb..d6f4d5881f7c6d62c47c16231e0b73e1f7168b7c 100644 (file)
@@ -75,8 +75,7 @@ bool wxToggleButton::Create(wxWindow *parent, wxWindowID id,
    m_parent->DoAddChild(this);
 
    PostCreation();
-
-   SetFont(parent->GetFont());
+   InheritAttributes();
 
    wxSize size_best(DoGetBestSize());
    wxSize new_size(size);
@@ -87,9 +86,6 @@ bool wxToggleButton::Create(wxWindow *parent, wxWindowID id,
    if ((new_size.x != size.x) || (new_size.y != size.y))
       SetSize(new_size.x, new_size.y);
 
-   SetBackgroundColour(parent->GetBackgroundColour());
-   SetForegroundColour(parent->GetForegroundColour());
-
    Show(TRUE);
 
    return TRUE;
index 8e548b420cd1bd3195c27df59e9168192d73eb92..6d463b364bd23e15bd91db337ea12747294b2913 100644 (file)
@@ -176,8 +176,7 @@ bool wxBitmapButton::Create( wxWindow *parent,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetBackgroundColour( parent->GetBackgroundColour() );
+    InheritAttributes();
 
     Show( TRUE );
 
index 51caf3b9dcbc625fa09e0ebc215b8186ffcd973b..68e6eb534685c637559cf496b319803030ad3ce8 100644 (file)
@@ -136,8 +136,7 @@ bool wxButton::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     wxSize best_size( DoGetBestSize() );
     wxSize new_size( size );
@@ -150,9 +149,6 @@ bool wxButton::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
 
     SetSize( new_size );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index a5316a29f22cc775e88cf9d817fbbd5c1ba345fa..2a7d0437bf6b44c4c240e42a8f7ca642c2b22e0f 100644 (file)
@@ -121,8 +121,7 @@ bool wxCheckBox::Create(wxWindow *parent,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
@@ -133,9 +132,6 @@ bool wxCheckBox::Create(wxWindow *parent,
     if ((new_size.x != size.x) || (new_size.y != size.y))
         SetSize( new_size.x, new_size.y );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index d4bcff0b9eba22a439664a0738803ce19791ade4..f437527d6c265f1480b603c59861114d2679a0b4 100644 (file)
@@ -111,14 +111,10 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     SetBestSize(size);
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index 0fb03dc36a270e5cb0e8174c043f94da11e1b032..f295daac11ac6cbabc4a3f649beb6808a66030e2 100644 (file)
@@ -158,6 +158,7 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
     m_focusWidget = combo->entry;
 
     PostCreation();
+    InheritAttributes();
 
     ConnectWidget( combo->button );
 
@@ -190,9 +191,6 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
         gtk_widget_set_usize( m_widget, new_size.x, new_size.y );
     }
 
-    SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index 56f3a233833e029fcc4d451dfadb32e08ca2d2a1..a8a680a940158541278211db23c3f20c6b28e6e4 100644 (file)
@@ -399,10 +399,7 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_LISTBOX ) );
-    SetForegroundColour( parent->GetForegroundColour() );
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     Show( TRUE );
 
index 1dbff8ad50482f2a5d575abe1397021e2cebf63d..1fd590f205983c1e4e05e681794b1c7aaaf169e2 100644 (file)
@@ -231,6 +231,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
     m_parent->DoAddChild( this );
 
     PostCreation();
+    InheritAttributes();
 
     ApplyWidgetStyle();
 
@@ -251,9 +252,6 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
     if (newSize.y == -1) newSize.y = ls.y;
     SetSize( newSize.x, newSize.y );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index e79978e8b7979b865bde961b6aff74064d1d4077..c8c6c53ecae61a8df1e1a9a9f45848d3ebecef3b 100644 (file)
@@ -129,8 +129,7 @@ bool wxRadioButton::Create( wxWindow *parent,
     m_parent->DoAddChild( this );
   
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
@@ -141,9 +140,6 @@ bool wxRadioButton::Create( wxWindow *parent,
     if ((new_size.x != size.x) || (new_size.y != size.y))
         SetSize( new_size.x, new_size.y );
         
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
-  
     Show( TRUE );
 
     return TRUE;
index 60750087df39b9d1f0ccc86f1df1ff2563ec95ea..edc4f34d719e579a5ad505dd4400523c2b967c9c 100644 (file)
@@ -180,11 +180,10 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
+    InheritAttributes();
 
     SetBestSize(size);
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-
     Show( TRUE );
 
     return TRUE;
index 27f9bdd3936289402833a27dcf2461c8362b8dea..f3ab24213f9f949e8eda96895e50e4a8b61325c5 100644 (file)
@@ -142,8 +142,7 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetBackgroundColour( parent->GetBackgroundColour() );
+    InheritAttributes();
 
     Show( TRUE );
 
index 899c30c81684000fd9d5bdfce05a82bf71ea1de1..2d5eb9650cd5acf8b9447475eec714eef6d5c6b4 100644 (file)
@@ -151,8 +151,7 @@ bool wxSpinButton::Create(wxWindow *parent,
     m_parent->DoAddChild( this );
 
     PostCreation();
-
-    SetBackgroundColour( parent->GetBackgroundColour() );
+    InheritAttributes();
 
     Show( TRUE );
 
index 989b574e37667d60559c60ae22c5d7b992eb4dd3..e071efbce9a94a46406eaa9255424e3d98e6123c 100644 (file)
@@ -127,9 +127,8 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
     m_parent->DoAddChild( this );
 
     PostCreation();
+    InheritAttributes();
 
-    SetFont( parent->GetFont() );
-    
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
     if (new_size.x == -1)
@@ -141,8 +140,6 @@ bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
     if ((new_size.x != size.x) || (new_size.y != size.y))
         SetSize( new_size.x, new_size.y );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-
     SetValue( value );
 
     Show( TRUE );
index 90c9857ac09ef4da608ea17aaf75cdcf5ff0cfa3..228cac559f569289b5b3dc6be4615521b959c931 100644 (file)
@@ -111,7 +111,8 @@ bool wxStaticText::Create(wxWindow *parent,
 
     ApplyWidgetStyle();
 
-    wxControl::SetFont( parent->GetFont() );
+    InheritAttributes();
+//    wxControl::SetFont( parent->GetFont() );
     
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
@@ -122,8 +123,11 @@ bool wxStaticText::Create(wxWindow *parent,
     if ((new_size.x != size.x) || (new_size.y != size.y))
         SetSize( new_size.x, new_size.y );
 
-    SetBackgroundColour( parent->GetBackgroundColour() );
-    SetForegroundColour( parent->GetForegroundColour() );
+//     if (ShouldInheritColours())
+//     {
+//         SetBackgroundColour( parent->GetBackgroundColour() );
+//         SetForegroundColour( parent->GetForegroundColour() );
+//     }
     Show( TRUE );
 
     return TRUE;
index 36edaf5f50d70b44f4a978564fd56d712690df44..3d03f75d3b75a296255c96d4ed1f19c2aed25e7d 100644 (file)
@@ -347,8 +347,7 @@ bool wxTextCtrl::Create( wxWindow *parent,
     m_focusWidget = m_text;
 
     PostCreation();
-
-    SetFont( parent->GetFont() );
+    InheritAttributes();
 
     wxSize size_best( DoGetBestSize() );
     wxSize new_size( size );
index e5baaa38353870fb240cb55f1d7ea4f7488bb0eb..d6f4d5881f7c6d62c47c16231e0b73e1f7168b7c 100644 (file)
@@ -75,8 +75,7 @@ bool wxToggleButton::Create(wxWindow *parent, wxWindowID id,
    m_parent->DoAddChild(this);
 
    PostCreation();
-
-   SetFont(parent->GetFont());
+   InheritAttributes();
 
    wxSize size_best(DoGetBestSize());
    wxSize new_size(size);
@@ -87,9 +86,6 @@ bool wxToggleButton::Create(wxWindow *parent, wxWindowID id,
    if ((new_size.x != size.x) || (new_size.y != size.y))
       SetSize(new_size.x, new_size.y);
 
-   SetBackgroundColour(parent->GetBackgroundColour());
-   SetForegroundColour(parent->GetForegroundColour());
-
    Show(TRUE);
 
    return TRUE;