]> git.saurik.com Git - wxWidgets.git/commitdiff
gtk notebook page style fixes (patch 984864)
authorVáclav Slavík <vslavik@fastmail.fm>
Sat, 14 Aug 2004 22:08:04 +0000 (22:08 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sat, 14 Aug 2004 22:08:04 +0000 (22:08 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/notebook.cpp
src/gtk1/notebook.cpp

index 6c6c5be6ac5ce60a1e2236ad55e2339dd3a6ba2f..c3dd7241a1f4c8cf857dfe36a8023cb61668ff81 100644 (file)
@@ -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))
index 6c6c5be6ac5ce60a1e2236ad55e2339dd3a6ba2f..c3dd7241a1f4c8cf857dfe36a8023cb61668ff81 100644 (file)
@@ -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))