X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/29149a64916d6fdc53e445adca9ef83bc58fb6c3..b77b87881bae2e6306366d79e7fe160334b3d4a2:/src/gtk/bmpbuttn.cpp?ds=sidebyside diff --git a/src/gtk/bmpbuttn.cpp b/src/gtk/bmpbuttn.cpp index ca651c8b61..eeb89d7163 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,30 @@ static void gtk_bmpbutton_release_callback( GtkWidget *WXUNUSED(widget), wxBitma IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton,wxButton) -wxBitmapButton::wxBitmapButton() +wxBitmapButtonBase::wxBitmapButtonBase() + : m_bmpNormal(), + m_bmpSelected(), + m_bmpFocus(), + m_bmpDisabled(), + m_marginX(0), + m_marginY(0) +{ +} + +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 +186,7 @@ bool wxBitmapButton::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi m_parent->DoAddChild( this ); PostCreation(); - - SetBackgroundColour( parent->GetBackgroundColour() ); + InheritAttributes(); Show( TRUE ); @@ -199,7 +217,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 +255,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 +265,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); } }