[gtk+] Add _gtk_check_menu_item_set_active() internal function



commit 9ee3d73a19f71492b6cba77b1e9fa42e3461fdd3
Author: Javier Jardón <jjardon gnome org>
Date:   Thu Jul 15 16:49:45 2010 +0200

    Add _gtk_check_menu_item_set_active() internal function
    
    It's needed by gtkradiomenuitem
    
    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=624432

 gtk/gtkcheckmenuitem.c |   20 ++++++++++++++++++++
 gtk/gtkcheckmenuitem.h |    5 +++++
 gtk/gtkradiomenuitem.c |    6 +++---
 3 files changed, 28 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkcheckmenuitem.c b/gtk/gtkcheckmenuitem.c
index 32bebf7..55aa8f4 100644
--- a/gtk/gtkcheckmenuitem.c
+++ b/gtk/gtkcheckmenuitem.c
@@ -586,3 +586,23 @@ gtk_check_menu_item_set_property (GObject      *object,
       break;
     }
 }
+
+
+/* Private */
+
+/*
+ * _gtk_check_menu_item_set_active:
+ * @check_menu_item: a #GtkCheckMenuItem
+ * @is_active: whether the action is active or not
+ *
+ * Sets the #GtkCheckMenuItem:active property directly. This function does
+ * not emit signals or notifications: it is left to the caller to do so.
+ */
+void
+_gtk_check_menu_item_set_active (GtkCheckMenuItem *check_menu_item,
+                                 gboolean          is_active)
+{
+  GtkCheckMenuItemPriv *priv = check_menu_item->priv;
+
+  priv->active = is_active;
+}
diff --git a/gtk/gtkcheckmenuitem.h b/gtk/gtkcheckmenuitem.h
index 3b536e0..e76ba5e 100644
--- a/gtk/gtkcheckmenuitem.h
+++ b/gtk/gtkcheckmenuitem.h
@@ -90,6 +90,11 @@ void       gtk_check_menu_item_set_draw_as_radio (GtkCheckMenuItem *check_menu_i
 gboolean   gtk_check_menu_item_get_draw_as_radio (GtkCheckMenuItem *check_menu_item);
 
 
+/* private */
+void       _gtk_check_menu_item_set_active       (GtkCheckMenuItem *check_menu_item,
+                                                  gboolean          is_active);
+
+
 G_END_DECLS
 
 #endif /* __GTK_CHECK_MENU_ITEM_H__ */
diff --git a/gtk/gtkradiomenuitem.c b/gtk/gtkradiomenuitem.c
index 5d2745e..abf7a4c 100644
--- a/gtk/gtkradiomenuitem.c
+++ b/gtk/gtkradiomenuitem.c
@@ -164,7 +164,7 @@ gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item,
     }
   else
     {
-      gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (radio_menu_item), TRUE);
+      _gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (radio_menu_item), TRUE);
       /* gtk_widget_set_state (GTK_WIDGET (radio_menu_item), GTK_STATE_ACTIVE);
        */
     }
@@ -480,13 +480,13 @@ gtk_radio_menu_item_activate (GtkMenuItem *menu_item)
       if (tmp_menu_item)
 	{
 	  toggled = TRUE;
-          gtk_check_menu_item_set_active (check_menu_item, !active);
+          _gtk_check_menu_item_set_active (check_menu_item, !active);
 	}
     }
   else
     {
       toggled = TRUE;
-      gtk_check_menu_item_set_active (check_menu_item, !active);
+      _gtk_check_menu_item_set_active (check_menu_item, !active);
 
       tmp_list = priv->group;
       while (tmp_list)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]