#include "wx/intl.h"
#include "wx/log.h"
#include "wx/utils.h"
- #include "wx/panel.h"
#include "wx/msgdlg.h"
#include "wx/bitmap.h"
#endif
#include "wx/imaglist.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"
extern "C" {
static void gtk_notebook_page_change_callback(GtkNotebook *WXUNUSED(widget),
- GtkNotebookPage *WXUNUSED(page),
+ GtkNotebookPage *WXUNUSED(gpage),
guint page,
wxNotebook *notebook )
{
}
else
{
- wxNotebookEvent eventChanging( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING,
- notebook->GetId(), page, old );
- eventChanging.SetEventObject( notebook );
-
- if ( (notebook->GetEventHandler()->ProcessEvent(eventChanging)) &&
- !eventChanging.IsAllowed() )
+ if ( !notebook->SendPageChangingEvent(page) )
{
- /* program doesn't allow the page change */
- g_signal_stop_emission_by_name (notebook->m_widget,
- "switch_page");
+ // program doesn't allow the page change
+ g_signal_stop_emission_by_name(notebook->m_widget, "switch_page");
}
else // change allowed
{
// not really changed in GTK+
notebook->m_selection = page;
- wxNotebookEvent eventChanged( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
- notebook->GetId(), page, old );
- eventChanged.SetEventObject( notebook );
- notebook->GetEventHandler()->ProcessEvent( eventChanged );
+ notebook->SendPageChangedEvent(old);
}
}
GList *child = gtk_container_get_children(GTK_CONTAINER(nb_page->m_box));
while (child)
{
- if (GTK_IS_PIXMAP(child->data))
+ if (GTK_IS_IMAGE(child->data))
{
pixmapwid = GTK_WIDGET(child->data);
break;
/* Construct the new pixmap */
const wxBitmap *bmp = m_imageList->GetBitmapPtr(image);
- GdkPixmap *pixmap = bmp->GetPixmap();
- GdkBitmap *mask = (GdkBitmap*) NULL;
- if ( bmp->GetMask() )
- {
- mask = bmp->GetMask()->GetBitmap();
- }
if (pixmapwid == NULL)
{
/* Case 3) No old pixmap. Create a new one and prepend it to the hbox */
- pixmapwid = gtk_pixmap_new (pixmap, mask );
+ pixmapwid = gtk_image_new_from_pixbuf(bmp->GetPixbuf());
/* CHECKME: Are these pack flags okay? */
gtk_box_pack_start(GTK_BOX(nb_page->m_box), pixmapwid, FALSE, FALSE, m_padding);
else
{
/* Case 4) Simply replace the pixmap */
- gtk_pixmap_set(GTK_PIXMAP(pixmapwid), pixmap, mask);
+ gtk_image_set_from_pixbuf((GtkImage*)pixmapwid, bmp->GetPixbuf());
}
nb_page->m_image = image;
gtk_widget_ref( client->m_widget );
gtk_widget_unrealize( client->m_widget );
- gtk_widget_unparent( client->m_widget );
+
+ // we don't need to unparent the client->m_widget; GTK+ will do
+ // that for us (and will throw a warning if we do it!)
// gtk_notebook_remove_page() sends "switch_page" signal with some strange
// new page index (when deleting selected page 0, new page is 1 although,
m_pages.Insert(win, position);
nb_page->m_box = gtk_hbox_new( FALSE, 1 );
- gtk_container_border_width( GTK_CONTAINER(nb_page->m_box), 2 );
+ gtk_container_set_border_width((GtkContainer*)nb_page->m_box, 2);
g_signal_connect (win->m_widget, "size_allocate",
G_CALLBACK (gtk_page_size_callback), win);
wxASSERT( m_imageList != NULL );
const wxBitmap *bmp = m_imageList->GetBitmapPtr(imageId);
- GdkPixmap *pixmap = bmp->GetPixmap();
- GdkBitmap *mask = (GdkBitmap*) NULL;
- if ( bmp->GetMask() )
- {
- mask = bmp->GetMask()->GetBitmap();
- }
-
- GtkWidget *pixmapwid = gtk_pixmap_new (pixmap, mask );
-
+ GtkWidget* pixmapwid = gtk_image_new_from_pixbuf(bmp->GetPixbuf());
gtk_box_pack_start(GTK_BOX(nb_page->m_box), pixmapwid, FALSE, FALSE, m_padding);
-
gtk_widget_show(pixmapwid);
}
GList *children = gtk_container_get_children(GTK_CONTAINER(box));
for ( GList *child = children; child; child = child->next )
{
- if ( GTK_IS_PIXMAP(child->data) )
+ if (GTK_IS_IMAGE(child->data))
{
pixmap = GTK_WIDGET(child->data);
break;