// Name: bmpbuttn.cpp
// Purpose:
// Author: Robert Roebling
-// Created: 01/02/97
-// Id:
-// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id: $Id$
+// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
extern bool g_blockEventsOnDrag;
//-----------------------------------------------------------------------------
-// wxBitmapButton
+// "clicked"
//-----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton,wxControl)
-
static void gtk_bmpbutton_clicked_callback( GtkWidget *WXUNUSED(widget), wxBitmapButton *button )
{
if (!button->HasVMT()) return;
button->GetEventHandler()->ProcessEvent(event);
}
+//-----------------------------------------------------------------------------
+// wxBitmapButton
//-----------------------------------------------------------------------------
+IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton,wxControl)
+
wxBitmapButton::wxBitmapButton(void)
{
}
if (m_bitmap.Ok())
{
- GdkBitmap *mask = NULL;
+ GdkBitmap *mask = (GdkBitmap *) NULL;
if (m_bitmap.GetMask()) mask = m_bitmap.GetMask()->GetBitmap();
GtkWidget *pixmap = gtk_pixmap_new( m_bitmap.GetPixmap(), mask );
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 );
+*/
}
void wxBitmapButton::SetLabel( const wxString &label )
{
+ wxCHECK_RET( m_widget != NULL, "invalid button" );
+
wxControl::SetLabel( label );
}
wxString wxBitmapButton::GetLabel(void) const
{
+ wxCHECK_MSG( m_widget != NULL, "", "invalid button" );
+
return wxControl::GetLabel();
}
+
+void wxBitmapButton::SetBitmapLabel( const wxBitmap& bitmap )
+{
+ wxCHECK_RET( m_widget != NULL, "invalid button" );
+
+ m_bitmap = bitmap;
+ if (!m_bitmap.Ok()) return;
+
+ GtkButton *bin = GTK_BUTTON( m_widget );
+ GtkPixmap *g_pixmap = GTK_PIXMAP( bin->child );
+
+ GdkBitmap *mask = (GdkBitmap *) NULL;
+ if (m_bitmap.GetMask()) mask = m_bitmap.GetMask()->GetBitmap();
+
+ gtk_pixmap_set( g_pixmap, m_bitmap.GetPixmap(), mask );
+}
+
+void wxBitmapButton::ApplyWidgetStyle()
+{
+}
+