]> git.plutz.net Git - gladerunner/commitdiff
actions for setting checkboxes
authorPaul Hänsch <paul@plutz.net>
Wed, 15 Jul 2026 13:53:00 +0000 (15:53 +0200)
committerPaul Hänsch <paul@plutz.net>
Wed, 15 Jul 2026 13:53:00 +0000 (15:53 +0200)
glade2.glade
gladerunner.c

index 472731de42395a02039906af0ebe657c5264bd53..9af82d9f87697cf371d1582da34f3211f5847c1d 100644 (file)
               </packing>
             </child>
             <child>
-              <object class="GtkRadioToolButton" id="rbar 1">
+              <object class="GtkRadioToolButton" id="rbar1">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
                 <property name="label" translatable="yes">Rad Bar 1</property>
                 <property name="label" translatable="yes">Rad Bar 2</property>
                 <property name="use-underline">True</property>
                 <property name="active">True</property>
-                <property name="group">rbar 1</property>
+                <property name="group">rbar1</property>
               </object>
               <packing>
                 <property name="expand">False</property>
               </packing>
             </child>
             <child>
-              <object class="GtkToggleToolButton" id="tbar 1">
+              <object class="GtkToggleToolButton" id="tbar1">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
                 <property name="label" translatable="yes">BarT</property>
index e164aa014a057d3d4ab06b5ce3a3e4267521e3e0..5abc76860f1d2a8d9ff4cc48279db35ad707d53a 100644 (file)
@@ -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))