X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/29149a64916d6fdc53e445adca9ef83bc58fb6c3..60848fcfefa649f4e1275281639881452374a350:/src/gtk/bmpbuttn.cpp diff --git a/src/gtk/bmpbuttn.cpp b/src/gtk/bmpbuttn.cpp index ca651c8b61..6d463b364b 100644 --- a/src/gtk/bmpbuttn.cpp +++ b/src/gtk/bmpbuttn.cpp @@ -7,18 +7,20 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "bmpbuttn.h" #endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + #include "wx/defs.h" #if wxUSE_BMPBUTTON #include "wx/bmpbuttn.h" -#include -#include +#include "wx/gtk/private.h" //----------------------------------------------------------------------------- // classes @@ -110,13 +112,20 @@ static void gtk_bmpbutton_release_callback( GtkWidget *WXUNUSED(widget), wxBitma IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton,wxButton) -wxBitmapButton::wxBitmapButton() +void wxBitmapButton::Init() { + m_hasFocus = + m_isSelected = FALSE; } -bool wxBitmapButton::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bitmap, - const wxPoint &pos, const wxSize &size, - long style, const wxValidator& validator, const wxString &name ) +bool wxBitmapButton::Create( wxWindow *parent, + wxWindowID id, + const wxBitmap& bitmap, + const wxPoint& pos, + const wxSize& size, + long style, + const wxValidator& validator, + const wxString &name ) { m_needParent = TRUE; m_acceptsFocus = TRUE; @@ -167,8 +176,7 @@ bool wxBitmapButton::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi m_parent->DoAddChild( this ); PostCreation(); - - SetBackgroundColour( parent->GetBackgroundColour() ); + InheritAttributes(); Show( TRUE ); @@ -199,7 +207,8 @@ wxString wxBitmapButton::GetLabel() const void wxBitmapButton::ApplyWidgetStyle() { - if (GTK_BUTTON(m_widget)->child == NULL) return; + if ( !BUTTON_CHILD(m_widget) ) + return; wxButton::ApplyWidgetStyle(); } @@ -236,8 +245,8 @@ void wxBitmapButton::OnSetBitmap() GdkBitmap *mask = (GdkBitmap *) NULL; if (the_one.GetMask()) mask = the_one.GetMask()->GetBitmap(); - GtkButton *bin = GTK_BUTTON(m_widget); - if (bin->child == NULL) + GtkWidget *child = BUTTON_CHILD(m_widget); + if (child == NULL) { // initial bitmap GtkWidget *pixmap = gtk_pixmap_new(the_one.GetPixmap(), mask); @@ -246,7 +255,7 @@ void wxBitmapButton::OnSetBitmap() } else { // subsequent bitmaps - GtkPixmap *g_pixmap = GTK_PIXMAP(bin->child); + GtkPixmap *g_pixmap = GTK_PIXMAP(child); gtk_pixmap_set(g_pixmap, the_one.GetPixmap(), mask); } }