X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b4f3c9f768c91d1927c263f5db644cc16fca0b9..8b0d53975d0d1c973b5392e035974cb37975a138:/src/gtk1/radiobut.cpp diff --git a/src/gtk1/radiobut.cpp b/src/gtk1/radiobut.cpp index c523b49eef..c8c6c53eca 100644 --- a/src/gtk1/radiobut.cpp +++ b/src/gtk1/radiobut.cpp @@ -8,11 +8,12 @@ ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "radiobut.h" #endif -#include "wx/defs.h" +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" #if wxUSE_RADIOBOX @@ -94,7 +95,7 @@ bool wxRadioButton::Create( wxWindow *parent, { // search backward for last group start wxRadioButton *chief = (wxRadioButton*) NULL; - wxWindowList::Node *node = parent->GetChildren().GetLast(); + wxWindowList::compatibility_iterator node = parent->GetChildren().GetLast(); while (node) { wxWindow *child = node->GetData(); @@ -118,7 +119,7 @@ bool wxRadioButton::Create( wxWindow *parent, } } - m_widget = gtk_radio_button_new_with_label( m_radioButtonGroup, label.mbc_str() ); + m_widget = gtk_radio_button_new_with_label( m_radioButtonGroup, wxGTK_CONV( label ) ); SetLabel(label); @@ -128,8 +129,7 @@ bool wxRadioButton::Create( wxWindow *parent, m_parent->DoAddChild( this ); PostCreation(); - - SetFont( parent->GetFont() ); + InheritAttributes(); wxSize size_best( DoGetBestSize() ); wxSize new_size( size ); @@ -140,9 +140,6 @@ bool wxRadioButton::Create( wxWindow *parent, if ((new_size.x != size.x) || (new_size.y != size.y)) SetSize( new_size.x, new_size.y ); - SetBackgroundColour( parent->GetBackgroundColour() ); - SetForegroundColour( parent->GetForegroundColour() ); - Show( TRUE ); return TRUE; @@ -154,7 +151,12 @@ void wxRadioButton::SetLabel( const wxString& label ) wxControl::SetLabel( label ); GtkLabel *g_label = GTK_LABEL( BUTTON_CHILD(m_widget) ); - gtk_label_set( g_label, GetLabel().mbc_str() ); +#ifdef __WXGTK20__ + wxString label2 = PrepareLabelMnemonics( label ); + gtk_label_set_text_with_mnemonic( g_label, wxGTK_CONV( label2 ) ); +#else + gtk_label_set( g_label, wxGTK_CONV( GetLabel() ) ); +#endif } void wxRadioButton::SetValue( bool val ) @@ -234,7 +236,8 @@ void wxRadioButton::OnInternalIdle() } } - UpdateWindowUI(); + if (wxUpdateUIEvent::CanUpdate(this)) + UpdateWindowUI(wxUPDATE_UI_FROMIDLE); } wxSize wxRadioButton::DoGetBestSize() const