From 97357eecf18f61c65969a49c5830083ec59bb77d Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sat, 14 Aug 2004 22:08:04 +0000 Subject: [PATCH] gtk notebook page style fixes (patch 984864) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/notebook.cpp | 49 +++++++++++-------------------------------- src/gtk1/notebook.cpp | 49 +++++++++++-------------------------------- 2 files changed, 24 insertions(+), 74 deletions(-) diff --git a/src/gtk/notebook.cpp b/src/gtk/notebook.cpp index 6c6c5be6ac..c3dd7241a1 100644 --- a/src/gtk/notebook.cpp +++ b/src/gtk/notebook.cpp @@ -74,8 +74,6 @@ public: m_box = (GtkWidget *) NULL; } - bool SetFont(const wxFont& font); - wxString m_text; int m_image; GtkNotebookPage *m_page; @@ -84,26 +82,6 @@ public: }; -bool wxGtkNotebookPage::SetFont(const wxFont& font) -{ - if (!m_label) - return false; - -#ifdef __WXGTK20__ - gtk_widget_modify_font(GTK_WIDGET(m_label), - font.GetNativeFontInfo()->description); -#else - GtkRcStyle *style = gtk_rc_style_new(); - style->fontset_name = - g_strdup(font.GetNativeFontInfo()->GetXFontName().c_str()); - gtk_widget_modify_style(GTK_WIDGET(m_label), style); - gtk_rc_style_unref(style); -#endif - - return true; -} - - #include "wx/listimpl.cpp" WX_DEFINE_LIST(wxGtkNotebookPagesList); @@ -690,6 +668,14 @@ bool wxNotebook::InsertPage( size_t position, nb_page->m_label = GTK_LABEL( gtk_label_new(wxGTK_CONV(nb_page->m_text)) ); gtk_box_pack_end( GTK_BOX(nb_page->m_box), GTK_WIDGET(nb_page->m_label), FALSE, FALSE, m_padding ); + /* apply current style */ + GtkRcStyle *style = CreateWidgetStyle(); + if ( style ) + { + gtk_widget_modify_style(GTK_WIDGET(nb_page->m_label), style); + gtk_rc_style_unref(style); + } + /* show the label */ gtk_widget_show( GTK_WIDGET(nb_page->m_label) ); if (select && (m_pagesData.GetCount() > 1)) @@ -811,8 +797,10 @@ bool wxNotebook::DoPhase( int WXUNUSED(nPhase) ) void wxNotebook::DoApplyWidgetStyle(GtkRcStyle *style) { - // TODO, font for labels etc - gtk_widget_modify_style( m_widget, style ); + gtk_widget_modify_style(m_widget, style); + size_t cnt = m_pagesData.GetCount(); + for (size_t i = 0; i < cnt; i++) + gtk_widget_modify_style(GTK_WIDGET(GetNotebookPage(i)->m_label), style); } bool wxNotebook::IsOwnGtkWindow( GdkWindow *window ) @@ -821,19 +809,6 @@ bool wxNotebook::IsOwnGtkWindow( GdkWindow *window ) (NOTEBOOK_PANEL(m_widget) == window)); } -bool wxNotebook::SetFont(const wxFont& font) -{ - bool rc=wxNotebookBase::SetFont(font); - - if (rc) - { - size_t i; - for (i=0 ; i < m_pagesData.GetCount() ; i++) - GetNotebookPage(i)->SetFont(font); - } - return rc; -} - // static wxVisualAttributes wxNotebook::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) diff --git a/src/gtk1/notebook.cpp b/src/gtk1/notebook.cpp index 6c6c5be6ac..c3dd7241a1 100644 --- a/src/gtk1/notebook.cpp +++ b/src/gtk1/notebook.cpp @@ -74,8 +74,6 @@ public: m_box = (GtkWidget *) NULL; } - bool SetFont(const wxFont& font); - wxString m_text; int m_image; GtkNotebookPage *m_page; @@ -84,26 +82,6 @@ public: }; -bool wxGtkNotebookPage::SetFont(const wxFont& font) -{ - if (!m_label) - return false; - -#ifdef __WXGTK20__ - gtk_widget_modify_font(GTK_WIDGET(m_label), - font.GetNativeFontInfo()->description); -#else - GtkRcStyle *style = gtk_rc_style_new(); - style->fontset_name = - g_strdup(font.GetNativeFontInfo()->GetXFontName().c_str()); - gtk_widget_modify_style(GTK_WIDGET(m_label), style); - gtk_rc_style_unref(style); -#endif - - return true; -} - - #include "wx/listimpl.cpp" WX_DEFINE_LIST(wxGtkNotebookPagesList); @@ -690,6 +668,14 @@ bool wxNotebook::InsertPage( size_t position, nb_page->m_label = GTK_LABEL( gtk_label_new(wxGTK_CONV(nb_page->m_text)) ); gtk_box_pack_end( GTK_BOX(nb_page->m_box), GTK_WIDGET(nb_page->m_label), FALSE, FALSE, m_padding ); + /* apply current style */ + GtkRcStyle *style = CreateWidgetStyle(); + if ( style ) + { + gtk_widget_modify_style(GTK_WIDGET(nb_page->m_label), style); + gtk_rc_style_unref(style); + } + /* show the label */ gtk_widget_show( GTK_WIDGET(nb_page->m_label) ); if (select && (m_pagesData.GetCount() > 1)) @@ -811,8 +797,10 @@ bool wxNotebook::DoPhase( int WXUNUSED(nPhase) ) void wxNotebook::DoApplyWidgetStyle(GtkRcStyle *style) { - // TODO, font for labels etc - gtk_widget_modify_style( m_widget, style ); + gtk_widget_modify_style(m_widget, style); + size_t cnt = m_pagesData.GetCount(); + for (size_t i = 0; i < cnt; i++) + gtk_widget_modify_style(GTK_WIDGET(GetNotebookPage(i)->m_label), style); } bool wxNotebook::IsOwnGtkWindow( GdkWindow *window ) @@ -821,19 +809,6 @@ bool wxNotebook::IsOwnGtkWindow( GdkWindow *window ) (NOTEBOOK_PANEL(m_widget) == window)); } -bool wxNotebook::SetFont(const wxFont& font) -{ - bool rc=wxNotebookBase::SetFont(font); - - if (rc) - { - size_t i; - for (i=0 ; i < m_pagesData.GetCount() ; i++) - GetNotebookPage(i)->SetFont(font); - } - return rc; -} - // static wxVisualAttributes wxNotebook::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) -- 2.45.2