#include "wx/intl.h"
#include "wx/checklst.h"
#include "wx/settings.h"
+
+// FIXME: Use GtkTreeView/GtkListModel instead?
+#include <gtk/gtkversion.h>
+#ifdef GTK_DISABLE_DEPRECATED
+#undef GTK_DISABLE_DEPRECATED
+#endif
+
#include "wx/gtk/private.h"
#if wxUSE_TOOLTIPS
#include "wx/tooltip.h"
#endif
-#include <gdk/gdk.h>
-#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
//-----------------------------------------------------------------------------
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
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;
}
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 )
{
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 );
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
#endif // wxUSE_CHECKLISTBOX
str += string;
- gtk_label_set( label, wxGTK_CONV( str ) );
+ gtk_label_set_text( label, wxGTK_CONV( str ) );
}
else
{
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;
}