- m_bitmap = bitmap;
- m_label = "";
-
- m_widget = gtk_button_new();
-
- if (m_bitmap.Ok())
- {
- GdkBitmap *mask = (GdkBitmap *) NULL;
- if (m_bitmap.GetMask()) mask = m_bitmap.GetMask()->GetBitmap();
- GtkWidget *pixmap = gtk_pixmap_new( m_bitmap.GetPixmap(), mask );
-
- gtk_widget_show( pixmap );
- gtk_container_add( GTK_CONTAINER(m_widget), pixmap );
- }
-
- if (newSize.x == -1) newSize.x = m_bitmap.GetHeight()+10;
- if (newSize.y == -1) newSize.y = m_bitmap.GetWidth()+10;
- SetSize( newSize.x, newSize.y );
-
- gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
- GTK_SIGNAL_FUNC(gtk_bmpbutton_clicked_callback), (gpointer*)this );
-
- PostCreation();
-
- SetBackgroundColour( parent->GetBackgroundColour() );
-
- Show( TRUE );
-
- return TRUE;
-}
-
-void wxBitmapButton::SetDefault(void)
-{
-/*
- GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT );
- gtk_widget_grab_default( m_widget );
-*/
+ m_bmpNormal =
+ m_bmpDisabled =
+ m_bmpFocus =
+ m_bmpSelected = bitmap;
+
+ m_widget = gtk_button_new();
+
+#if (GTK_MINOR_VERSION > 0)
+ if (style & wxNO_BORDER)
+ gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE );
+#endif
+
+ if (m_bmpNormal.Ok())
+ {
+ wxSize newSize = size;
+ int border = (style & wxNO_BORDER) ? 4 : 10;
+ if (newSize.x == -1)
+ newSize.x = m_bmpNormal.GetWidth()+border;
+ if (newSize.y == -1)
+ newSize.y = m_bmpNormal.GetHeight()+border;
+ SetSize( newSize.x, newSize.y );
+ OnSetBitmap();
+ }
+
+ gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
+ GTK_SIGNAL_FUNC(gtk_bmpbutton_clicked_callback), (gpointer*)this );
+
+ gtk_signal_connect( GTK_OBJECT(m_widget), "enter",
+ GTK_SIGNAL_FUNC(gtk_bmpbutton_enter_callback), (gpointer*)this );
+ gtk_signal_connect( GTK_OBJECT(m_widget), "leave",
+ GTK_SIGNAL_FUNC(gtk_bmpbutton_leave_callback), (gpointer*)this );
+ gtk_signal_connect( GTK_OBJECT(m_widget), "pressed",
+ GTK_SIGNAL_FUNC(gtk_bmpbutton_press_callback), (gpointer*)this );
+ gtk_signal_connect( GTK_OBJECT(m_widget), "released",
+ GTK_SIGNAL_FUNC(gtk_bmpbutton_release_callback), (gpointer*)this );
+
+ m_parent->DoAddChild( this );
+
+ PostCreation();
+ InheritAttributes();
+
+ Show( TRUE );
+
+ return TRUE;
+}
+
+void wxBitmapButton::SetDefault()
+{
+ GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT );
+ gtk_widget_grab_default( m_widget );
+
+ SetSize( m_x, m_y, m_width, m_height );