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;
+ wxSize bestSize = DoGetBestSize();
if (newSize.x == -1)
- newSize.x = m_bmpNormal.GetWidth()+border;
+ newSize.x = bestSize.x;
if (newSize.y == -1)
- newSize.y = m_bmpNormal.GetHeight()+border;
+ newSize.y = bestSize.y;
SetSize( newSize.x, newSize.y );
OnSetBitmap();
}
}
}
+wxSize wxBitmapButton::DoGetBestSize() const
+{
+ wxSize best;
+
+ if (m_bmpNormal.Ok())
+ {
+ int border = HasFlag(wxNO_BORDER) ? 4 : 10;
+ best.x = m_bmpNormal.GetWidth()+border;
+ best.y = m_bmpNormal.GetHeight()+border;
+ }
+ return best;
+}
+
bool wxBitmapButton::Enable( bool enable )
{
if ( !wxWindow::Enable(enable) )