if (m_bmpNormal.Ok())
{
- wxSize newSize = size;
- wxSize bestSize = DoGetBestSize();
- if (newSize.x == -1)
- newSize.x = bestSize.x;
- if (newSize.y == -1)
- newSize.y = bestSize.y;
- SetSize( newSize.x, newSize.y );
OnSetBitmap();
}
m_parent->DoAddChild( this );
- PostCreation();
- InheritAttributes();
-
- Show( TRUE );
+ PostCreation(size);
return TRUE;
}
return wxControl::GetLabel();
}
-void wxBitmapButton::ApplyWidgetStyle()
+void wxBitmapButton::DoApplyWidgetStyle(GtkRcStyle *style)
{
if ( !BUTTON_CHILD(m_widget) )
return;
- wxButton::ApplyWidgetStyle();
+ wxButton::DoApplyWidgetStyle(style);
}
void wxBitmapButton::OnSetBitmap()
{
wxCHECK_RET( m_widget != NULL, wxT("invalid bitmap button") );
+ InvalidateBestSize();
+
wxBitmap the_one;
if (!m_isEnabled)
the_one = m_bmpDisabled;
best.x = m_bmpNormal.GetWidth()+border;
best.y = m_bmpNormal.GetHeight()+border;
}
+ CacheBestSize(best);
return best;
}