}
}
+ // this call is necessary if the button had been initially created without
+ // a (text) label -- then we didn't use gtk_button_new_with_mnemonic() and
+ // so "use-underline" GtkButton property remained unset
+ gtk_button_set_use_underline(GTK_BUTTON(m_widget), TRUE);
const wxString labelGTK = GTKConvertMnemonics(label);
gtk_button_set_label(GTK_BUTTON(m_widget), wxGTK_CONV(labelGTK));
gtk_button_set_use_stock(GTK_BUTTON(m_widget), FALSE);
bool wxButton::Enable( bool enable )
{
- bool isEnabled = IsEnabled();
-
- if ( !wxControl::Enable( enable ) )
+ if (!base_type::Enable(enable))
return false;
gtk_widget_set_sensitive(GTK_BIN(m_widget)->child, enable);
- if (!isEnabled && enable)
- {
+ if (enable)
GTKFixSensitivity();
- }
GTKUpdateBitmap();
void wxButton::GTKUpdateBitmap()
{
- State state = GTKGetCurrentState();
+ // if we don't show bitmaps at all, there is nothing to update
+ if ( m_bitmaps[State_Normal].IsOk() )
+ {
+ // if we do show them, this will return a state for which we do have a
+ // valid bitmap
+ State state = GTKGetCurrentState();
- GTKDoShowBitmap(m_bitmaps[state]);
+ GTKDoShowBitmap(m_bitmaps[state]);
+ }
}
void wxButton::GTKDoShowBitmap(const wxBitmap& bitmap)
}
gtk_button_set_image_position(GTK_BUTTON(m_widget), gtkpos);
+ InvalidateBestSize();
}
#endif // GTK+ 2.10+
}