X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9e691f46b2ec1b5dbbff2e51131e3c532e688a89..9c34dd9deafaa428534b498b90799687a7dcddaa:/src/gtk/checkbox.cpp diff --git a/src/gtk/checkbox.cpp b/src/gtk/checkbox.cpp index 225f9df18e..0916de575b 100644 --- a/src/gtk/checkbox.cpp +++ b/src/gtk/checkbox.cpp @@ -31,8 +31,9 @@ extern bool g_isIdle; // data //----------------------------------------------------------------------------- -extern bool g_blockEventsOnDrag; -extern wxCursor g_globalCursor; +extern bool g_blockEventsOnDrag; +extern wxCursor g_globalCursor; +extern wxWindowGTK *g_delayedFocus; //----------------------------------------------------------------------------- // "clicked" @@ -93,7 +94,7 @@ bool wxCheckBox::Create(wxWindow *parent, // left of it m_widgetCheckbox = gtk_check_button_new(); - m_widgetLabel = gtk_label_new(m_label.mbc_str()); + m_widgetLabel = gtk_label_new( wxGTK_CONV( m_label ) ); gtk_misc_set_alignment(GTK_MISC(m_widgetLabel), 0.0, 0.5); m_widget = gtk_hbox_new(FALSE, 0); @@ -105,7 +106,7 @@ bool wxCheckBox::Create(wxWindow *parent, } else { - m_widgetCheckbox = gtk_check_button_new_with_label( m_label.mbc_str() ); + m_widgetCheckbox = gtk_check_button_new_with_label( wxGTK_CONV( m_label ) ); m_widgetLabel = BUTTON_CHILD( m_widgetCheckbox ); m_widget = m_widgetCheckbox; } @@ -165,7 +166,7 @@ void wxCheckBox::SetLabel( const wxString& label ) wxControl::SetLabel( label ); - gtk_label_set( GTK_LABEL(m_widgetLabel), GetLabel().mbc_str() ); + gtk_label_set( GTK_LABEL(m_widgetLabel), wxGTK_CONV( GetLabel() ) ); } bool wxCheckBox::Enable( bool enable ) @@ -206,6 +207,15 @@ void wxCheckBox::OnInternalIdle() gdk_window_set_cursor( event_window, cursor.GetCursor() ); } + if (g_delayedFocus == this) + { + if (GTK_WIDGET_REALIZED(m_widget)) + { + gtk_widget_grab_focus( m_widget ); + g_delayedFocus = NULL; + } + } + UpdateWindowUI(); }