# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1612410139 0 # Node ID 680212c356e335fdcdb27061b0a59fa8c263ed3c # Parent 2d282d8fe911781bb2ebe9095457115abec80e50 GTK4: Refactor tree and fix DW_SIGNAL_ITEM_CONTEXT signals on tree view widgets. diff -r 2d282d8fe911 -r 680212c356e3 gtk4/dw.c --- a/gtk4/dw.c Wed Feb 03 22:39:16 2021 +0000 +++ b/gtk4/dw.c Thu Feb 04 03:42:19 2021 +0000 @@ -667,7 +667,6 @@ } } } - retval = contextfunc(work.window, text, (int)x, (int)y, work.data, itemdata); if(text) g_free(text); @@ -2529,7 +2528,7 @@ #define _DW_TREE_TREE 2 #define _DW_TREE_LISTBOX 3 -GtkWidget *_tree_create(unsigned long id) +GtkWidget *_dw_tree_create(unsigned long id) { GtkWidget *tmp; @@ -2542,7 +2541,7 @@ return tmp; } -GtkWidget *_tree_setup(GtkWidget *tmp, GtkTreeModel *store) +GtkWidget *_dw_tree_view_setup(GtkWidget *tmp, GtkTreeModel *store) { GtkWidget *tree = gtk_tree_view_new_with_model(store); gtk_tree_view_set_enable_search(GTK_TREE_VIEW(tree), FALSE); @@ -2561,7 +2560,7 @@ { GtkWidget *tmp; - if(!(tmp = _tree_create(id))) + if(!(tmp = _dw_tree_create(id))) return 0; g_object_set_data(G_OBJECT(tmp), "_dw_tree_type", GINT_TO_POINTER(_DW_TREE_TYPE_CONTAINER)); g_object_set_data(G_OBJECT(tmp), "_dw_multi_sel", GINT_TO_POINTER(multi)); @@ -2582,10 +2581,10 @@ GtkCellRenderer *rend; GtkTreeSelection *sel; - if(!(tmp = _tree_create(id))) + if(!(tmp = _dw_tree_create(id))) return 0; store = gtk_tree_store_new(4, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_POINTER, G_TYPE_POINTER); - tree = _tree_setup(tmp, GTK_TREE_MODEL(store)); + tree = _dw_tree_view_setup(tmp, GTK_TREE_MODEL(store)); g_object_set_data(G_OBJECT(tmp), "_dw_tree_type", GINT_TO_POINTER(_DW_TREE_TYPE_TREE)); g_object_set_data(G_OBJECT(tree), "_dw_tree_type", GINT_TO_POINTER(_DW_TREE_TYPE_TREE)); col = gtk_tree_view_column_new(); @@ -2994,10 +2993,10 @@ GtkCellRenderer *rend; GtkTreeSelection *sel; - if(!(tmp = _tree_create(id))) + if(!(tmp = _dw_tree_create(id))) return 0; store = gtk_list_store_new(1, G_TYPE_STRING); - tree = _tree_setup(tmp, GTK_TREE_MODEL(store)); + tree = _dw_tree_view_setup(tmp, GTK_TREE_MODEL(store)); g_object_set_data(G_OBJECT(tmp), "_dw_tree_type", GINT_TO_POINTER(_DW_TREE_TYPE_LISTBOX)); g_object_set_data(G_OBJECT(tree), "_dw_tree_type", GINT_TO_POINTER(_DW_TREE_TYPE_LISTBOX)); @@ -4241,7 +4240,7 @@ } /* Create the store and then the tree */ store = gtk_list_store_newv(count + _DW_CONTAINER_STORE_EXTRA + 1, array); - tree = _tree_setup(handle, GTK_TREE_MODEL(store)); + tree = _dw_tree_view_setup(handle, GTK_TREE_MODEL(store)); g_object_set_data(G_OBJECT(tree), "_dw_tree_type", GINT_TO_POINTER(_DW_TREE_TYPE_CONTAINER)); /* Second loop... create the columns */ for(z=0;zname, DW_SIGNAL_ITEM_CONTEXT) == 0) + gtk_gesture_single_set_button(GTK_GESTURE_SINGLE(gesture), 3); gtk_widget_add_controller(GTK_WIDGET(object), GTK_EVENT_CONTROLLER(gesture)); return G_OBJECT(gesture); }