X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a236aa2058ccf3d36e9cafc20fa7375080c4be50..2f26ad2872b0119ade133f387dc28a0a9bfad2f0:/src/gtk/listbox.cpp diff --git a/src/gtk/listbox.cpp b/src/gtk/listbox.cpp index 3517dd9f71..ac6c9272e2 100644 --- a/src/gtk/listbox.cpp +++ b/src/gtk/listbox.cpp @@ -62,9 +62,9 @@ extern bool g_blockEventsOnScroll; extern "C" { static void -gtk_listbox_row_activated_callback(GtkTreeView *treeview, +gtk_listbox_row_activated_callback(GtkTreeView * WXUNUSED(treeview), GtkTreePath *path, - GtkTreeViewColumn *col, + GtkTreeViewColumn * WXUNUSED(col), wxListBox *listbox) { if (g_blockEventsOnDrag) return; @@ -114,7 +114,8 @@ gtk_listbox_row_activated_callback(GtkTreeView *treeview, extern "C" { static void -gtk_listitem_changed_callback( GtkTreeSelection* selection, wxListBox *listbox ) +gtk_listitem_changed_callback(GtkTreeSelection * WXUNUSED(selection), + wxListBox *listbox ) { if (g_blockEventsOnDrag) return; @@ -205,10 +206,9 @@ static void gtk_tree_entry_destroy_cb(GtkTreeEntry* entry, //----------------------------------------------------------------------------- // Sorting callback (standard CmpNoCase return value) //----------------------------------------------------------------------------- -#include extern "C" { -static gint gtk_listbox_sort_callback(GtkTreeModel *model, +static gint gtk_listbox_sort_callback(GtkTreeModel * WXUNUSED(model), GtkTreeIter *a, GtkTreeIter *b, wxListBox *listbox) @@ -244,8 +244,8 @@ static gint gtk_listbox_sort_callback(GtkTreeModel *model, //----------------------------------------------------------------------------- extern "C" { -static gboolean gtk_listbox_searchequal_callback(GtkTreeModel* model, - gint column, +static gboolean gtk_listbox_searchequal_callback(GtkTreeModel * WXUNUSED(model), + gint WXUNUSED(column), const gchar* key, GtkTreeIter* iter, wxListBox* listbox) @@ -272,7 +272,7 @@ static gboolean gtk_listbox_searchequal_callback(GtkTreeModel* model, // wxListBox //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl) +IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControlWithItems) // ---------------------------------------------------------------------------- // construction @@ -447,7 +447,7 @@ wxListBox::~wxListBox() int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items, unsigned int pos, void **clientData, - wxClientDataType type) + wxClientDataType WXUNUSED(type)) { wxCHECK_MSG( m_treeview != NULL, wxNOT_FOUND, wxT("invalid listbox") ); @@ -483,9 +483,6 @@ int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items, g_object_unref (entry); } - if ( !HasClientData() ) - m_clientDataItemsType = type; - return pos + numItems - 1; } @@ -772,6 +769,13 @@ void wxListBox::GtkSetSelection(int n, const bool select, const bool blockEvent) else gtk_tree_selection_unselect_iter(selection, &iter); + GtkTreePath* path = gtk_tree_model_get_path( + GTK_TREE_MODEL(m_liststore), &iter); + + gtk_tree_view_scroll_to_cell(m_treeview, path, NULL, FALSE, 0.0f, 0.0f); + + gtk_tree_path_free(path); + m_blockEvent = false; }