enum {
PROP_0,
- PROP_DRAW_AS_RADIO
+ PROP_DRAW_AS_RADIO,
+ PROP_ACTIVE
};
static void gtk_toggle_action_init (GtkToggleAction *action);
FALSE,
GTK_PARAM_READWRITE));
+ /**
+ * GtkToggleAction:active:
+ *
+ * If the toggle action should be active in or not.
+ *
+ * Since: 2.10
+ */
+ g_object_class_install_property (gobject_class,
+ PROP_ACTIVE,
+ g_param_spec_boolean ("active",
+ P_("Active"),
+ P_("If the toggle action should be active in or not"),
+ FALSE,
+ GTK_PARAM_READWRITE));
+
action_signals[TOGGLED] =
g_signal_new (I_("toggled"),
G_OBJECT_CLASS_TYPE (klass),
case PROP_DRAW_AS_RADIO:
g_value_set_boolean (value, gtk_toggle_action_get_draw_as_radio (action));
break;
+ case PROP_ACTIVE:
+ g_value_set_boolean (value, gtk_toggle_action_get_active (action));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
case PROP_DRAW_AS_RADIO:
gtk_toggle_action_set_draw_as_radio (action, g_value_get_boolean (value));
break;
+ case PROP_ACTIVE:
+ gtk_toggle_action_set_active (action, g_value_get_boolean (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
toggle_action->private_data->active = !toggle_action->private_data->active;
+ g_object_notify (action, "active");
+
gtk_toggle_action_toggled (toggle_action);
}