]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/notebook.cpp
regenerated from template
[wxWidgets.git] / src / gtk1 / notebook.cpp
index da7f735b6bb83116d07eb49d7c3be9b43586e253..942914458cda33f0c0461bdfe6b5c7b35d6ab835 100644 (file)
 #include "wx/intl.h"
 #include "wx/log.h"
 
-#include "gdk/gdk.h"
-#include "gtk/gtk.h"
+#include <gdk/gdk.h>
+#include <gtk/gtk.h>
 #include "wx/gtk/win_gtk.h"
-#include "gdk/gdkkeysyms.h"
+#include <gdk/gdkkeysyms.h>
 
 //-----------------------------------------------------------------------------
 // idle system
@@ -124,21 +124,30 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
 
     win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
 
+    /* GTK 1.2 up to version 1.2.5 is broken so that we have to call allocate
+       here in order to make repositioning after resizing to take effect. */
+    if ((gtk_major_version == 1) &&
+        (gtk_minor_version == 2) &&
+       (gtk_micro_version < 6) &&
+        (win->m_wxwindow) && 
+       (GTK_WIDGET_REALIZED(win->m_wxwindow)))
+    {
+        gtk_widget_size_allocate( win->m_wxwindow, alloc );
+    }
 }
 
 //-----------------------------------------------------------------------------
 // "realize" from m_widget
 //-----------------------------------------------------------------------------
 
-/* GTK 1.2 up to version 1.2.5 is broken so that we have to call a queue_resize
-   here in order to take repositioning before showing to take effect. */
-
 static gint
 gtk_notebook_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
 {
     if (g_isIdle)
         wxapp_install_idle_handler();
 
+    /* GTK 1.2 up to version 1.2.5 is broken so that we have to call a queue_resize
+       here in order to make repositioning before showing to take effect. */
     gtk_widget_queue_resize( win->m_widget );
 
     return FALSE;
@@ -204,7 +213,7 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
         !CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
     {
         wxFAIL_MSG( wxT("wxNoteBook creation failed") );
-       return FALSE;
+           return FALSE;
     }
 
 
@@ -221,15 +230,17 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
 
     m_parent->DoAddChild( this );
 
-       if(m_windowStyle & wxNB_RIGHT)
+       if (m_windowStyle & wxNB_RIGHT)
                gtk_notebook_set_tab_pos( GTK_NOTEBOOK(m_widget), GTK_POS_RIGHT );
-       if(m_windowStyle & wxNB_LEFT)
+       if (m_windowStyle & wxNB_LEFT)
                gtk_notebook_set_tab_pos( GTK_NOTEBOOK(m_widget), GTK_POS_LEFT );
-       if(m_windowStyle & wxNB_BOTTOM)
+       if (m_windowStyle & wxNB_BOTTOM)
                gtk_notebook_set_tab_pos( GTK_NOTEBOOK(m_widget), GTK_POS_BOTTOM );
 
     PostCreation();
 
+    SetFont( parent->GetFont() );
+
     gtk_signal_connect( GTK_OBJECT(m_widget), "realize",
                             GTK_SIGNAL_FUNC(gtk_notebook_realized_callback), (gpointer) this );
 
@@ -616,6 +627,8 @@ bool wxNotebook::DoPhase( int WXUNUSED(nPhase) )
 
 void wxNotebook::ApplyWidgetStyle()
 {
+    // TODO, font for labels etc
+    
     SetWidgetStyle();
     gtk_widget_set_style( m_widget, m_widgetStyle );
 }