static gint gtk_container_cell_accessible_get_n_children (AtkObject *obj) { GtkContainerCellAccessible *cell = GTK_CONTAINER_CELL_ACCESSIBLE (obj); return cell->NChildren; }
static void gtk_container_cell_accessible_finalize (GObject *obj) { GtkContainerCellAccessible *container = GTK_CONTAINER_CELL_ACCESSIBLE (obj); g_list_free_full (container->children, g_object_unref); G_OBJECT_CLASS (_gtk_container_cell_accessible_parent_class)->finalize (obj); }
static void gtk_container_cell_accessible_update_cache (GtkCellAccessible *cell) { GtkContainerCellAccessible *container = GTK_CONTAINER_CELL_ACCESSIBLE (cell); GList *l; for (l = container->children; l; l = l->next) { _gtk_cell_accessible_update_cache (l->data); } }
static void gtk_container_cell_widget_unset (GtkAccessible *accessible) { GtkContainerCellAccessible *container = GTK_CONTAINER_CELL_ACCESSIBLE (accessible); GList *l; for (l = container->children; l; l = l->next) { gtk_accessible_set_widget (l->data, NULL); } GTK_ACCESSIBLE_CLASS (_gtk_container_cell_accessible_parent_class)->widget_unset (accessible); }
static AtkObject * gtk_container_cell_accessible_ref_child (AtkObject *obj, gint child) { GtkContainerCellAccessible *cell = GTK_CONTAINER_CELL_ACCESSIBLE (obj); GList *l; l = g_list_nth (cell->children, child); if (l == NULL) return NULL; return g_object_ref (ATK_OBJECT (l->data)); }
static gint gtk_cell_accessible_get_index_in_parent (AtkObject *obj) { GtkCellAccessible *cell; AtkObject *parent; cell = GTK_CELL_ACCESSIBLE (obj); parent = atk_object_get_parent (obj); if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (parent)) return g_list_index (GTK_CONTAINER_CELL_ACCESSIBLE (parent)->children, obj); parent = gtk_widget_get_accessible (gtk_accessible_get_widget (GTK_ACCESSIBLE (cell))); if (parent == NULL) return -1; return _gtk_cell_accessible_parent_get_child_index (GTK_CELL_ACCESSIBLE_PARENT (parent), cell); }
GtkContainerCellAccessible * _gtk_container_cell_accessible_new (void) { GObject *object; AtkObject *atk_object; GtkContainerCellAccessible *container; object = g_object_new (GTK_TYPE_CONTAINER_CELL_ACCESSIBLE, NULL); g_return_val_if_fail (object != NULL, NULL); atk_object = ATK_OBJECT (object); atk_object->role = ATK_ROLE_TABLE_CELL; container = GTK_CONTAINER_CELL_ACCESSIBLE (object); container->children = NULL; container->NChildren = 0; return container; }