]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/notebook.cpp
remove the vertical scrollbar completely if the control is empty
[wxWidgets.git] / src / gtk / notebook.cpp
index 329ecddec58827a5b6393c0006f630f88427c3cb..1e29e55f493fd53c09bc990ee36cd6a33fdcc113 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        notebook.cpp
+// Name:        src/gtk/notebook.cpp
 // Purpose:
 // Author:      Robert Roebling
 // Id:          $Id$
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
+#if wxUSE_NOTEBOOK
+
 #include "wx/notebook.h"
 
-#if wxUSE_NOTEBOOK
+#ifndef WX_PRECOMP
+    #include "wx/intl.h"
+#endif
 
 #include "wx/panel.h"
 #include "wx/utils.h"
 #include "wx/imaglist.h"
-#include "wx/intl.h"
 #include "wx/log.h"
 #include "wx/bitmap.h"
 #include "wx/fontutil.h"
 DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED)
 DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING)
 
-//-----------------------------------------------------------------------------
-// idle system
-//-----------------------------------------------------------------------------
-
-extern void wxapp_install_idle_handler();
-extern bool g_isIdle;
-
 //-----------------------------------------------------------------------------
 // data
 //-----------------------------------------------------------------------------
@@ -95,7 +91,7 @@ WX_DEFINE_LIST(wxGtkNotebookPagesList)
 extern "C" {
 static void gtk_notebook_page_change_callback(GtkNotebook *WXUNUSED(widget),
                                               GtkNotebookPage *WXUNUSED(page),
-                                              gint page,
+                                              guint page,
                                               wxNotebook *notebook )
 {
     // are you trying to call SetSelection() from a notebook event handler?
@@ -175,7 +171,7 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
 //-----------------------------------------------------------------------------
 
 extern "C" {
-static gint
+static void
 gtk_notebook_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
 {
     if (g_isIdle)
@@ -184,8 +180,6 @@ gtk_notebook_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
     /* 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;
 }
 }
 
@@ -194,7 +188,10 @@ gtk_notebook_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
 //-----------------------------------------------------------------------------
 
 extern "C" {
-static gint gtk_notebook_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxNotebook *notebook )
+static gboolean
+gtk_notebook_key_press_callback( GtkWidget   *widget,
+                                 GdkEventKey *gdk_event,
+                                 wxNotebook  *notebook )
 {
     if (g_isIdle)
         wxapp_install_idle_handler();
@@ -389,13 +386,13 @@ int wxNotebook::GetSelection() const
 
 wxString wxNotebook::GetPageText( size_t page ) const
 {
-    wxCHECK_MSG( m_widget != NULL, wxT(""), wxT("invalid notebook") );
+    wxCHECK_MSG( m_widget != NULL, wxEmptyString, wxT("invalid notebook") );
 
     wxGtkNotebookPage* nb_page = GetNotebookPage(page);
     if (nb_page)
         return nb_page->m_text;
     else
-        return wxT("");
+        return wxEmptyString;
 }
 
 int wxNotebook::GetPageImage( size_t page ) const
@@ -697,7 +694,7 @@ bool wxNotebook::InsertPage( size_t position,
     /* set the label text */
 
     nb_page->m_text = text;
-    if (nb_page->m_text.IsEmpty()) nb_page->m_text = wxT("");
+    if (nb_page->m_text.empty()) nb_page->m_text = wxT("");
 
     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 );
@@ -747,7 +744,7 @@ int wxNotebook::HitTest(const wxPoint& pt, long *flags) const
     size_t i = 0;
 
     GtkNotebook * notebook = GTK_NOTEBOOK(m_widget);
-    if (gtk_notebook_get_scrollable(notebook));
+    if (gtk_notebook_get_scrollable(notebook))
         i = g_list_position( notebook->children, notebook->first_tab );
 
     for ( ; i < count; i++ )