X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6e5f6c7c609dd0b478b95df672af4093a7a5b3ac..9d5507f7a2701395e1d5c121bd877bb9066ee6ea:/src/gtk/radiobox.cpp diff --git a/src/gtk/radiobox.cpp b/src/gtk/radiobox.cpp index e5bb933d2b..67d698b214 100644 --- a/src/gtk/radiobox.cpp +++ b/src/gtk/radiobox.cpp @@ -67,7 +67,7 @@ static void gtk_radiobutton_clicked_callback( GtkToggleButton *button, wxRadioBo event.SetInt( rb->GetSelection() ); event.SetString( rb->GetStringSelection() ); event.SetEventObject( rb ); - rb->GetEventHandler()->ProcessEvent(event); + rb->HandleWindowEvent(event); } } @@ -92,7 +92,7 @@ static gint gtk_radiobox_keypress_callback( GtkWidget *widget, GdkEventKey *gdk_ // CTRL-TAB changes the (parent) window, i.e. switch notebook page new_event.SetWindowChange( (gdk_event->state & GDK_CONTROL_MASK) ); new_event.SetCurrentFocus( rb ); - return rb->GetParent()->GetEventHandler()->ProcessEvent( new_event ); + return rb->GetParent()->HandleWindowEvent(new_event); } if ((gdk_event->keyval != GDK_Up) && @@ -138,7 +138,7 @@ static gint gtk_radiobox_keypress_callback( GtkWidget *widget, GdkEventKey *gdk_ } extern "C" { -static gint gtk_radiobutton_focus_in( GtkWidget *widget, +static gint gtk_radiobutton_focus_in( GtkWidget * WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxRadioBox *win ) { @@ -156,7 +156,7 @@ static gint gtk_radiobutton_focus_in( GtkWidget *widget, // never stop the signal emission, it seems to break the kbd handling // inside the radiobox - (void)win->GetEventHandler()->ProcessEvent( event ); + (void)win->HandleWindowEvent( event ); } return FALSE; @@ -164,7 +164,7 @@ static gint gtk_radiobutton_focus_in( GtkWidget *widget, } extern "C" { -static gint gtk_radiobutton_focus_out( GtkWidget *widget, +static gint gtk_radiobutton_focus_out( GtkWidget * WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxRadioBox *win ) { @@ -275,7 +275,8 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, radio_button_group = gtk_radio_button_get_group( GTK_RADIO_BUTTON(rbtn) ); label.Empty(); - for ( const wxChar *pc = choices[i]; *pc; pc++ ) + for ( wxString::const_iterator pc = choices[i].begin(); + pc != choices[i].end(); ++pc ) { if ( *pc != wxT('&') ) label += *pc; @@ -554,9 +555,8 @@ void wxRadioBox::GtkDisableEvents() wxRadioBoxButtonsInfoList::compatibility_iterator node = m_buttonsInfo.GetFirst(); while (node) { - g_signal_handlers_disconnect_by_func (node->GetData()->button, - (gpointer) gtk_radiobutton_clicked_callback, - this); + g_signal_handlers_block_by_func(node->GetData()->button, + (gpointer)gtk_radiobutton_clicked_callback, this); node = node->GetNext(); } @@ -567,8 +567,8 @@ void wxRadioBox::GtkEnableEvents() wxRadioBoxButtonsInfoList::compatibility_iterator node = m_buttonsInfo.GetFirst(); while (node) { - g_signal_connect (node->GetData()->button, "clicked", - G_CALLBACK (gtk_radiobutton_clicked_callback), this); + g_signal_handlers_unblock_by_func(node->GetData()->button, + (gpointer)gtk_radiobutton_clicked_callback, this); node = node->GetNext(); } @@ -658,7 +658,7 @@ void wxRadioBox::OnInternalIdle() wxFocusEvent event( wxEVT_KILL_FOCUS, GetId() ); event.SetEventObject( this ); - (void)GetEventHandler()->ProcessEvent( event ); + (void)HandleWindowEvent( event ); } }