/////////////////////////////////////////////////////////////////////////////
-// 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"
+// FIXME: Use GtkImage instead of GtkPixmap. Don't use gtk_container_border_width
+#include <gtk/gtkversion.h>
+#ifdef GTK_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+#endif
+
#include "wx/gtk/private.h"
#include "wx/gtk/win_gtk.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
//-----------------------------------------------------------------------------
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?
//-----------------------------------------------------------------------------
extern "C" {
-static gint
+static void
gtk_notebook_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
{
if (g_isIdle)
/* 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;
}
}
//-----------------------------------------------------------------------------
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();
}
// m_selection = page;
- gtk_notebook_set_page( GTK_NOTEBOOK(widget), page );
+ gtk_notebook_set_current_page( GTK_NOTEBOOK(widget), page );
g_signal_stop_emission_by_name (widget, "key_press_event");
return TRUE;
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
// cache the selection
m_selection = page;
- gtk_notebook_set_page( GTK_NOTEBOOK(m_widget), page );
+ gtk_notebook_set_current_page( GTK_NOTEBOOK(m_widget), page );
wxNotebookPage *client = GetPage(page);
if ( client )
{
/* Case 2) or 4). There is already an image in the gtkhbox. Let's find it */
- GList *child = gtk_container_children(GTK_CONTAINER(nb_page->m_box));
+ GList *child = gtk_container_get_children(GTK_CONTAINER(nb_page->m_box));
while (child)
{
if (GTK_IS_PIXMAP(child->data))
/* 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 );
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++ )
{
GtkWidget *pixmap = NULL;
- GList *children = gtk_container_children(GTK_CONTAINER(box));
+ GList *children = gtk_container_get_children(GTK_CONTAINER(box));
for ( GList *child = children; child; child = child->next )
{
if ( GTK_IS_PIXMAP(child->data) )