a better way of applying style changes to label_widget

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2004-07-03 16:58:10 +00:00
parent e37168448f
commit 7545e13206
4 changed files with 12 additions and 28 deletions

View File

@ -40,8 +40,6 @@ public:
virtual void SetLabel( const wxString &label ); virtual void SetLabel( const wxString &label );
bool SetFont( const wxFont &font );
static wxVisualAttributes static wxVisualAttributes
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
@ -49,6 +47,9 @@ public:
virtual bool IsTransparentForMouse() const { return TRUE; } virtual bool IsTransparentForMouse() const { return TRUE; }
protected:
void DoApplyWidgetStyle(GtkRcStyle *style);
private: private:
DECLARE_DYNAMIC_CLASS(wxStaticBox) DECLARE_DYNAMIC_CLASS(wxStaticBox)
}; };

View File

@ -40,8 +40,6 @@ public:
virtual void SetLabel( const wxString &label ); virtual void SetLabel( const wxString &label );
bool SetFont( const wxFont &font );
static wxVisualAttributes static wxVisualAttributes
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
@ -49,6 +47,9 @@ public:
virtual bool IsTransparentForMouse() const { return TRUE; } virtual bool IsTransparentForMouse() const { return TRUE; }
protected:
void DoApplyWidgetStyle(GtkRcStyle *style);
private: private:
DECLARE_DYNAMIC_CLASS(wxStaticBox) DECLARE_DYNAMIC_CLASS(wxStaticBox)
}; };

View File

@ -91,19 +91,10 @@ void wxStaticBox::SetLabel( const wxString &label )
m_label.empty() ? (char *)NULL : (const char*) wxGTK_CONV( m_label ) ); m_label.empty() ? (char *)NULL : (const char*) wxGTK_CONV( m_label ) );
} }
bool wxStaticBox::SetFont( const wxFont &font ) void wxStaticBox::DoApplyWidgetStyle(GtkRcStyle *style)
{ {
wxControl::SetFont( font ); gtk_widget_modify_style(m_widget, style);
gtk_widget_modify_style(GTK_FRAME(m_widget)->label_widget, style);
if (GTK_FRAME(m_widget)->label_widget)
{
GtkRcStyle *style = CreateWidgetStyle(true);
if ( style )
{
gtk_widget_modify_style( GTK_FRAME(m_widget)->label_widget, style);
gtk_rc_style_unref(style);
}
}
} }
// static // static

View File

@ -91,19 +91,10 @@ void wxStaticBox::SetLabel( const wxString &label )
m_label.empty() ? (char *)NULL : (const char*) wxGTK_CONV( m_label ) ); m_label.empty() ? (char *)NULL : (const char*) wxGTK_CONV( m_label ) );
} }
bool wxStaticBox::SetFont( const wxFont &font ) void wxStaticBox::DoApplyWidgetStyle(GtkRcStyle *style)
{ {
wxControl::SetFont( font ); gtk_widget_modify_style(m_widget, style);
gtk_widget_modify_style(GTK_FRAME(m_widget)->label_widget, style);
if (GTK_FRAME(m_widget)->label_widget)
{
GtkRcStyle *style = CreateWidgetStyle(true);
if ( style )
{
gtk_widget_modify_style( GTK_FRAME(m_widget)->label_widget, style);
gtk_rc_style_unref(style);
}
}
} }
// static // static