From 1a02d93f206a6bbce190f8f078d79e4d9012ab1b Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Tue, 12 Dec 2023 18:40:36 +0100 Subject: [PATCH] Learning GTK4 Trees _ initial commit (+ simple loop) --- demos/gtk-demo/main.c | 79 +++++++++++++++++++------------------ demos/gtk-demo/tree_store.c | 7 ++-- gdk/gdkdrawcontext.c | 2 +- 3 files changed, 46 insertions(+), 42 deletions(-) diff --git a/demos/gtk-demo/main.c b/demos/gtk-demo/main.c index 20510b8..a5d52ec 100644 --- a/demos/gtk-demo/main.c +++ b/demos/gtk-demo/main.c @@ -21,7 +21,7 @@ #include #include -#include "demos.h" +#include "demos.h" // la liste de toutes les démos #include "fontify.h" #include "demo_conf.h" @@ -913,52 +913,55 @@ activate (GApplication *app) GtkFilterListModel *filter_model; GtkFilter *filter; GSimpleAction *action; - - builder = gtk_builder_new_from_resource ("/ui/main.ui"); - - window = (GtkWidget *)gtk_builder_get_object (builder, "window"); + + window= do_tree_store(NULL); gtk_application_add_window (GTK_APPLICATION (app), GTK_WINDOW (window)); - if (g_strcmp0 (PROFILE, "devel") == 0) - gtk_widget_add_css_class (window, "devel"); + /* builder = gtk_builder_new_from_resource ("/ui/main.ui"); */ - action = g_simple_action_new ("run", NULL); - g_signal_connect (action, "activate", G_CALLBACK (activate_run), window); - g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (action)); + /* window = (GtkWidget *)gtk_builder_get_object (builder, "window"); */ + /* gtk_application_add_window (GTK_APPLICATION (app), GTK_WINDOW (window)); */ - notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook")); + /* if (g_strcmp0 (PROFILE, "devel") == 0) */ + /* gtk_widget_add_css_class (window, "devel"); */ - info_view = GTK_WIDGET (gtk_builder_get_object (builder, "info-textview")); - source_view = GTK_WIDGET (gtk_builder_get_object (builder, "source-textview")); - toplevel = GTK_WIDGET (window); - listview = GTK_WIDGET (gtk_builder_get_object (builder, "listview")); - g_signal_connect (listview, "activate", G_CALLBACK (activate_cb), window); - search_bar = GTK_WIDGET (gtk_builder_get_object (builder, "searchbar")); - g_signal_connect (search_bar, "notify::search-mode-enabled", G_CALLBACK (clear_search), NULL); + /* action = g_simple_action_new ("run", NULL); */ + /* g_signal_connect (action, "activate", G_CALLBACK (activate_run), window); */ + /* g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (action)); */ - listmodel = create_demo_model (); - treemodel = gtk_tree_list_model_new (G_LIST_MODEL (listmodel), - FALSE, - TRUE, - get_child_model, - NULL, - NULL); - filter_model = gtk_filter_list_model_new (G_LIST_MODEL (treemodel), NULL); - filter = GTK_FILTER (gtk_custom_filter_new (demo_filter_by_name, filter_model, NULL)); - gtk_filter_list_model_set_filter (filter_model, filter); - g_object_unref (filter); + /* notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook")); */ - search_entry = GTK_WIDGET (gtk_builder_get_object (builder, "search-entry")); - g_signal_connect (search_entry, "search-changed", G_CALLBACK (demo_search_changed_cb), filter); + /* info_view = GTK_WIDGET (gtk_builder_get_object (builder, "info-textview")); */ + /* source_view = GTK_WIDGET (gtk_builder_get_object (builder, "source-textview")); */ + /* toplevel = GTK_WIDGET (window); */ + /* listview = GTK_WIDGET (gtk_builder_get_object (builder, "listview")); */ + /* g_signal_connect (listview, "activate", G_CALLBACK (activate_cb), window); */ + /* search_bar = GTK_WIDGET (gtk_builder_get_object (builder, "searchbar")); */ + /* g_signal_connect (search_bar, "notify::search-mode-enabled", G_CALLBACK (clear_search), NULL); */ - selection = gtk_single_selection_new (G_LIST_MODEL (filter_model)); - g_signal_connect (selection, "notify::selected-item", G_CALLBACK (selection_cb), NULL); - gtk_list_view_set_model (GTK_LIST_VIEW (listview), GTK_SELECTION_MODEL (selection)); + /* listmodel = create_demo_model (); */ + /* treemodel = gtk_tree_list_model_new (G_LIST_MODEL (listmodel), */ + /* FALSE, */ + /* TRUE, */ + /* get_child_model, */ + /* NULL, */ + /* NULL); */ + /* filter_model = gtk_filter_list_model_new (G_LIST_MODEL (treemodel), NULL); */ + /* filter = GTK_FILTER (gtk_custom_filter_new (demo_filter_by_name, filter_model, NULL)); */ + /* gtk_filter_list_model_set_filter (filter_model, filter); */ + /* g_object_unref (filter); */ - selection_cb (selection, NULL, NULL); - g_object_unref (selection); + /* search_entry = GTK_WIDGET (gtk_builder_get_object (builder, "search-entry")); */ + /* g_signal_connect (search_entry, "search-changed", G_CALLBACK (demo_search_changed_cb), filter); */ - g_object_unref (builder); + /* selection = gtk_single_selection_new (G_LIST_MODEL (filter_model)); */ + /* g_signal_connect (selection, "notify::selected-item", G_CALLBACK (selection_cb), NULL); */ + /* gtk_list_view_set_model (GTK_LIST_VIEW (listview), GTK_SELECTION_MODEL (selection)); */ + + /* selection_cb (selection, NULL, NULL); */ + /* g_object_unref (selection); */ + + /* g_object_unref (builder); */ } static gboolean @@ -1123,7 +1126,7 @@ main (int argc, char **argv) g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); g_signal_connect (app, "command-line", G_CALLBACK (command_line), NULL); g_signal_connect (app, "handle-local-options", G_CALLBACK (local_options), NULL); - + g_application_run (G_APPLICATION (app), argc, argv); return 0; diff --git a/demos/gtk-demo/tree_store.c b/demos/gtk-demo/tree_store.c index 1de1e7c..2e48bb5 100644 --- a/demos/gtk-demo/tree_store.c +++ b/demos/gtk-demo/tree_store.c @@ -9,6 +9,7 @@ */ #include +#include G_GNUC_BEGIN_IGNORE_DEPRECATIONS @@ -394,8 +395,8 @@ do_tree_store (GtkWidget *do_widget) /* create window, etc */ window = gtk_window_new (); - gtk_window_set_display (GTK_WINDOW (window), - gtk_widget_get_display (do_widget)); + //gtk_window_set_display (GTK_WINDOW (window), + // gtk_widget_get_display (do_widget)); gtk_window_set_title (GTK_WINDOW (window), "Tree Store"); g_object_add_weak_pointer (G_OBJECT (window), (gpointer *)&window); @@ -440,6 +441,6 @@ do_tree_store (GtkWidget *do_widget) gtk_widget_set_visible (window, TRUE); else gtk_window_destroy (GTK_WINDOW (window)); - + return window; } diff --git a/gdk/gdkdrawcontext.c b/gdk/gdkdrawcontext.c index f89939e..ee663e2 100644 --- a/gdk/gdkdrawcontext.c +++ b/gdk/gdkdrawcontext.c @@ -71,7 +71,7 @@ gdk_draw_context_default_surface_resized (GdkDrawContext *context) static void gdk_draw_context_default_empty_frame (GdkDrawContext *context) { - g_warning ("FIXME: Implement"); + // g_warning ("FIXME: Implement"); } static void