WIP: my_tree_view & my_list_model set as global variables in tree.c

This commit is contained in:
Jean Sirmai 2024-01-10 17:48:46 +01:00
parent 9c4f2ef3ef
commit 8182d64b69
Signed by: jean
GPG Key ID: FB3115C340E057E3
1 changed files with 13 additions and 11 deletions

View File

@ -52,15 +52,18 @@ static TreeItem A[] = {{"D", D}, {NULL}}, B[] = {{"E", E}, {NULL}};
static TreeItem R[] = {{"A", A}, {"B", B}, {"C", C}, {NULL}}; static TreeItem R[] = {{"A", A}, {"B", B}, {"C", C}, {NULL}};
static TreeItem O[] = {{"ROOT", R}, {NULL}}; // Artefact added for symmetry static TreeItem O[] = {{"ROOT", R}, {NULL}}; // Artefact added for symmetry
static GtkWidget *my_tree_view; // = NULL;
static GListStore *my_list_model = NULL;
static void static void
add_item (GtkWidget *button, gpointer data) add_item (GtkWidget *button, gpointer data)
{ {
TreeItem foo; TreeItem foo;
GtkTreeIter current, iter; GtkTreeView *treeview = my_tree_view; // (GtkTreeView *)data;
GtkTreeModel *model = my_list_model; // gtk_tree_view_get_model (treeview);
GtkTreePath *path; GtkTreePath *path;
GtkTreeModel *model;
GtkTreeViewColumn *column; GtkTreeViewColumn *column;
GtkTreeView *treeview = NULL; // (GtkTreeView *)data; GtkTreeIter current, iter;
} }
static void static void
@ -68,10 +71,10 @@ remove_item (GtkWidget *widget, gpointer data)
{ {
printf("From 'tree.c' (line 130), remove item() > no item selected (or can't get it ?)\n"); printf("From 'tree.c' (line 130), remove item() > no item selected (or can't get it ?)\n");
GtkTreeView *treeview = my_tree_view; // (GtkTreeView *)data;
GtkTreeModel *model = my_list_model; // gtk_tree_view_get_model (treeview);
GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview);
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeView *treeview = NULL; // (GtkTreeView *)data;
GtkTreeModel *model = NULL; // gtk_tree_view_get_model (treeview);
GtkTreeSelection *selection = NULL; // gtk_tree_view_get_selection (treeview);
} }
static void static void
@ -80,7 +83,7 @@ cell_edited (GtkCellRendererText *cell,
const char *new_text, const char *new_text,
gpointer data) gpointer data)
{ {
GtkTreeModel *model = (GtkTreeModel *)data; GtkTreeModel *model = my_list_model; // gtk_tree_view_get_model (treeview);
GtkTreePath *path = gtk_tree_path_new_from_string (path_string); GtkTreePath *path = gtk_tree_path_new_from_string (path_string);
GtkTreeIter iter; GtkTreeIter iter;
} }
@ -118,13 +121,12 @@ static GListStore *create_node_recursive (GListStore *model,
GtkWidget *create_my_tree_model(GtkBox *runlib_objects) GtkWidget *create_my_tree_model(GtkBox *runlib_objects)
{ {
GListStore *my_list_model = NULL;
GtkWidget *my_scrolled_window = NULL; GtkWidget *my_scrolled_window = NULL;
GtkWidget *my_tree_view = NULL;
GtkCellRenderer *my_renderer = NULL; GtkCellRenderer *my_renderer = NULL;
my_list_model = create_node_recursive (my_list_model, O, NULL, 0); my_list_model = create_node_recursive (my_list_model, O, NULL, 0);
my_tree_view = gtk_tree_view_new_with_model (my_list_model); my_tree_view = gtk_tree_view_new_with_model (my_list_model);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (my_tree_view), FALSE); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (my_tree_view), FALSE);
gtk_tree_view_set_enable_tree_lines (GTK_TREE_VIEW (my_tree_view), TRUE); gtk_tree_view_set_enable_tree_lines (GTK_TREE_VIEW (my_tree_view), TRUE);
gtk_widget_set_vexpand (my_tree_view, TRUE); gtk_widget_set_vexpand (my_tree_view, TRUE);
@ -161,7 +163,7 @@ print_hello (GtkWidget *widget,
{ {
static int nb; static int nb;
nb++; nb++;
printf("From 'tree.c', > button clicked (n = %d)\n", nb); printf("From 'tree.c', > %s added and button clicked (n = %d)\n", data, nb);
} }
GtkWidget *create_my_button_test(GtkBox *runlib_objects) GtkWidget *create_my_button_test(GtkBox *runlib_objects)
@ -173,7 +175,7 @@ GtkWidget *create_my_button_test(GtkBox *runlib_objects)
gtk_box_append(runlib_objects, button); gtk_box_append(runlib_objects, button);
gtk_widget_show(button); gtk_widget_show(button);
g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); g_signal_connect (button, "clicked", G_CALLBACK (print_hello), "some data");
return button; return button;
} }