From 1cf6e31015cfa6cae50b1d2e453c8f0826584283 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Paul=20H=C3=A4nsch?= Date: Wed, 15 Jul 2026 15:53:00 +0200 Subject: [PATCH] actions for setting checkboxes --- glade2.glade | 6 +++--- gladerunner.c | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/glade2.glade b/glade2.glade index 472731d..9af82d9 100644 --- a/glade2.glade +++ b/glade2.glade @@ -228,7 +228,7 @@ - + True False Rad Bar 1 @@ -247,7 +247,7 @@ Rad Bar 2 True True - rbar 1 + rbar1 False @@ -255,7 +255,7 @@ - + True False BarT diff --git a/gladerunner.c b/gladerunner.c index e164aa0..5abc768 100644 --- a/gladerunner.c +++ b/gladerunner.c @@ -118,6 +118,27 @@ int a_widget(GtkWidget *w, char *cmd, char *args) { else return 0; return 1; } +int a_tb(GtkToggleButton *w, char *cmd, char *args) { + if (!w || !cmd || !cmd[0]) return 0; + else if (!strcmp(cmd, "check")) gtk_toggle_button_set_active(w, TRUE); + else if (!strcmp(cmd, "uncheck")) gtk_toggle_button_set_active(w, FALSE); + else return 0; + return 1; +} +int a_ttb(GtkToggleToolButton *w, char *cmd, char *args) { + if (!w || !cmd || !cmd[0]) return 0; + else if (!strcmp(cmd, "check")) gtk_toggle_tool_button_set_active(w, TRUE); + else if (!strcmp(cmd, "uncheck")) gtk_toggle_tool_button_set_active(w, FALSE); + else return 0; + return 1; +} +int a_cmi(GtkCheckMenuItem *w, char *cmd, char *args) { + if (!w || !cmd || !cmd[0]) return 0; + else if (!strcmp(cmd, "check")) gtk_check_menu_item_set_active(w, TRUE); + else if (!strcmp(cmd, "uncheck")) gtk_check_menu_item_set_active(w, FALSE); + else return 0; + return 1; +} int a_button(GtkButton *w, char *cmd, char *args) { if (!w || !cmd || !cmd[0]) return 0; @@ -151,6 +172,9 @@ int action(char *cli) { || !(wdg = GTK_WIDGET(gtk_builder_get_object(builder, wid))) ) return 0; else if (0 + || (GTK_IS_TOGGLE_BUTTON(wdg) && a_tb(GTK_TOGGLE_BUTTON(wdg), cmd, args)) + || (GTK_IS_CHECK_MENU_ITEM(wdg) && a_cmi(GTK_CHECK_MENU_ITEM(wdg), cmd, args)) + || (GTK_IS_TOGGLE_TOOL_BUTTON(wdg) && a_ttb(GTK_TOGGLE_TOOL_BUTTON(wdg), cmd, args)) || (GTK_IS_ENTRY(wdg) && a_entry(GTK_ENTRY(wdg), cmd, args)) || (GTK_IS_WINDOW(wdg) && a_window(GTK_WINDOW(wdg), cmd, args)) || (GTK_IS_TEXT_VIEW(wdg) && a_text_view(GTK_TEXT_VIEW(wdg), cmd, args)) -- 2.47.3