X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/11e62fe658531aaa2891351f19bd0a4c076717ae..553f7d8f5608f18b99864cc36d46452d2e1ff05b:/src/gtk/listbox.cpp diff --git a/src/gtk/listbox.cpp b/src/gtk/listbox.cpp index 40fb0c0a0c..efa0d15491 100644 --- a/src/gtk/listbox.cpp +++ b/src/gtk/listbox.cpp @@ -21,14 +21,19 @@ #include "wx/intl.h" #include "wx/checklst.h" #include "wx/settings.h" + +// FIXME: Use GtkTreeView/GtkListModel instead? +#include +#ifdef GTK_DISABLE_DEPRECATED +#undef GTK_DISABLE_DEPRECATED +#endif + #include "wx/gtk/private.h" #if wxUSE_TOOLTIPS #include "wx/tooltip.h" #endif -#include -#include #include //----------------------------------------------------------------------------- @@ -68,7 +73,7 @@ static gint wxlistbox_idle_callback( gpointer gdata ) wxlistbox_idle_struct* data = (wxlistbox_idle_struct*) gdata; gdk_threads_enter(); - gtk_idle_remove( data->m_tag ); + g_source_remove( data->m_tag ); // check that the items haven't been deleted from the listbox since we had // installed this callback @@ -349,7 +354,7 @@ gtk_listbox_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxLis if (ret) { - gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "key_press_event" ); + g_signal_stop_emission_by_name (widget, "key_press_event"); return TRUE; } @@ -534,8 +539,8 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id, gtk_widget_show( GTK_WIDGET(m_list) ); - gtk_signal_connect( GTK_OBJECT(m_list), "realize", - GTK_SIGNAL_FUNC(gtk_listbox_realized_callback), (gpointer) this ); + g_signal_connect (m_list, "realize", + G_CALLBACK (gtk_listbox_realized_callback), this); if ( style & wxLB_SORT ) { @@ -696,34 +701,30 @@ void wxListBox::GtkAddItem( const wxString &item, int pos ) else gtk_list_insert_items( GTK_LIST (m_list), gitem_list, pos ); - gtk_signal_connect_after( GTK_OBJECT(list_item), "select", - GTK_SIGNAL_FUNC(gtk_listitem_select_callback), (gpointer)this ); + g_signal_connect_after (list_item, "select", + G_CALLBACK (gtk_listitem_select_callback), + this); if (HasFlag(wxLB_MULTIPLE) || HasFlag(wxLB_EXTENDED)) - gtk_signal_connect_after( GTK_OBJECT(list_item), "deselect", - GTK_SIGNAL_FUNC(gtk_listitem_deselect_callback), (gpointer)this ); - - gtk_signal_connect( GTK_OBJECT(list_item), - "button_press_event", - (GtkSignalFunc)gtk_listbox_button_press_callback, - (gpointer) this ); - - gtk_signal_connect_after( GTK_OBJECT(list_item), - "button_release_event", - (GtkSignalFunc)gtk_listbox_button_release_callback, - (gpointer) this ); - - gtk_signal_connect( GTK_OBJECT(list_item), - "key_press_event", - (GtkSignalFunc)gtk_listbox_key_press_callback, - (gpointer)this ); - - - gtk_signal_connect( GTK_OBJECT(list_item), "focus_in_event", - GTK_SIGNAL_FUNC(gtk_listitem_focus_in_callback), (gpointer)this ); - - gtk_signal_connect( GTK_OBJECT(list_item), "focus_out_event", - GTK_SIGNAL_FUNC(gtk_listitem_focus_out_callback), (gpointer)this ); + g_signal_connect_after (list_item, "deselect", + G_CALLBACK (gtk_listitem_deselect_callback), + this); + + g_signal_connect (list_item, "button_press_event", + G_CALLBACK (gtk_listbox_button_press_callback), + this); + g_signal_connect_after (list_item, "button_release_event", + G_CALLBACK (gtk_listbox_button_release_callback), + this); + g_signal_connect (list_item, "key_press_event", + G_CALLBACK (gtk_listbox_key_press_callback), + this); + g_signal_connect (list_item, "focus_in_event", + G_CALLBACK (gtk_listitem_focus_in_callback), + this); + g_signal_connect (list_item, "focus_out_event", + G_CALLBACK (gtk_listitem_focus_out_callback), + this); ConnectWidget( list_item ); @@ -887,11 +888,7 @@ wxString wxListBox::GetRealLabel(GList *item) const wxString str; -#ifdef __WXGTK20__ str = wxGTK_CONV_BACK( gtk_label_get_text( label ) ); -#else - str = wxString( label->label ); -#endif #if wxUSE_CHECKLISTBOX // checklistboxes have "[±] " prepended to their lables, remove it @@ -921,7 +918,7 @@ void wxListBox::SetString( int n, const wxString &string ) #endif // wxUSE_CHECKLISTBOX str += string; - gtk_label_set( label, wxGTK_CONV( str ) ); + gtk_label_set_text( label, wxGTK_CONV( str ) ); } else { @@ -1077,7 +1074,7 @@ void wxListBox::DoSetFirstItem( int n ) wxlistbox_idle_struct* data = new wxlistbox_idle_struct; data->m_listbox = this; data->m_item = n; - data->m_tag = gtk_idle_add_priority( 800, wxlistbox_idle_callback, (gpointer) data ); + data->m_tag = g_idle_add_full( 800, wxlistbox_idle_callback, data, NULL ); return; }