static void gtk_boolean_cell_accessible_update_cache (GtkCellAccessible *cell, gboolean emit_signal) { GtkBooleanCellAccessible *boolean_cell = GTK_BOOLEAN_CELL_ACCESSIBLE (cell); gboolean active; gboolean sensitive; GtkCellRenderer *renderer; g_object_get (cell, "renderer", &renderer, NULL); g_object_get (renderer, "active", &active, "sensitive", &sensitive, NULL); g_object_unref (renderer); if (boolean_cell->priv->cell_value != active) { boolean_cell->priv->cell_value = !boolean_cell->priv->cell_value; if (emit_signal) atk_object_notify_state_change (ATK_OBJECT (cell), ATK_STATE_CHECKED, active); } if (boolean_cell->priv->cell_sensitive != sensitive) { boolean_cell->priv->cell_sensitive = !boolean_cell->priv->cell_sensitive; if (emit_signal) atk_object_notify_state_change (ATK_OBJECT (cell), ATK_STATE_SENSITIVE, sensitive); } }
static void gtk_boolean_cell_accessible_update_cache (GtkCellAccessible *cell) { GtkBooleanCellAccessible *boolean_cell = GTK_BOOLEAN_CELL_ACCESSIBLE (cell); gboolean active; gboolean sensitive; g_object_get (G_OBJECT (GTK_RENDERER_CELL_ACCESSIBLE (cell)->renderer), "active", &active, "sensitive", &sensitive, NULL); if (boolean_cell->cell_value != active) { boolean_cell->cell_value = !boolean_cell->cell_value; atk_object_notify_state_change (ATK_OBJECT (cell), ATK_STATE_CHECKED, active); } if (boolean_cell->cell_sensitive != sensitive) { boolean_cell->cell_sensitive = !boolean_cell->cell_sensitive; atk_object_notify_state_change (ATK_OBJECT (cell), ATK_STATE_CHECKED, sensitive); } }
static AtkStateSet * gtk_boolean_cell_accessible_ref_state_set (AtkObject *accessible) { GtkBooleanCellAccessible *cell = GTK_BOOLEAN_CELL_ACCESSIBLE (accessible); AtkStateSet *state_set; state_set = ATK_OBJECT_CLASS (gtk_boolean_cell_accessible_parent_class)->ref_state_set (accessible); if (cell->priv->cell_value) atk_state_set_add_state (state_set, ATK_STATE_CHECKED); if (cell->priv->cell_sensitive) atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE); else atk_state_set_remove_state (state_set, ATK_STATE_SENSITIVE); return state_set; }