- gtk_pixmap_set( g_pixmap, the_one.GetPixmap(), mask );
-}
-
-void wxBitmapButton::SetBitmapDisabled( const wxBitmap& bitmap )
-{
- wxCHECK_RET( m_widget != NULL, wxT("invalid button") );
-
- if ( ! m_disabled.Ok() ) return;
- m_disabled = bitmap;
-
- SetBitmap();
-}
-
-void wxBitmapButton::SetBitmapFocus( const wxBitmap& bitmap )
-{
- wxCHECK_RET( m_widget != NULL, wxT("invalid button") );
-
- if ( ! m_focus.Ok() ) return;
- m_focus = bitmap;
-
- SetBitmap();
-}
-
-void wxBitmapButton::SetBitmapLabel( const wxBitmap& bitmap )
-{
- wxCHECK_RET( m_widget != NULL, wxT("invalid button") );
-
- if (!m_bitmap.Ok()) return;
- m_bitmap = bitmap;
-
- SetBitmap();
-}
-
-void wxBitmapButton::SetBitmapSelected( const wxBitmap& bitmap )
-{
- wxCHECK_RET( m_widget != NULL, wxT("invalid button") );
-
- if ( ! m_selected.Ok() ) return;
- m_selected = bitmap;
-
- SetBitmap();
+ GtkWidget *child = BUTTON_CHILD(m_widget);
+ if (child == NULL)
+ {
+ // initial bitmap
+ GtkWidget *pixmap = gtk_pixmap_new(the_one.GetPixmap(), mask);
+ gtk_widget_show(pixmap);
+ gtk_container_add(GTK_CONTAINER(m_widget), pixmap);
+ }
+ else
+ { // subsequent bitmaps
+ GtkPixmap *g_pixmap = GTK_PIXMAP(child);
+ gtk_pixmap_set(g_pixmap, the_one.GetPixmap(), mask);
+ }