static gboolean gail_button_set_image_description (AtkImage *image, const gchar *description) { GtkWidget *widget; GtkImage *button_image; AtkObject *obj; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image)); if (widget == NULL) /* * State is defunct */ return FALSE; button_image = get_image_from_button (widget); if (button_image != NULL) { obj = gtk_widget_get_accessible (GTK_WIDGET (button_image)); return atk_image_set_image_description (ATK_IMAGE (obj), description); } else return FALSE; }
static void gail_button_get_image_size (AtkImage *image, gint *width, gint *height) { GtkWidget *widget; GtkImage *button_image; AtkObject *obj; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image)); if (widget == NULL) { /* * State is defunct */ *width = -1; *height = -1; return; } button_image = get_image_from_button (widget); if (button_image != NULL) { obj = gtk_widget_get_accessible (GTK_WIDGET (button_image)); atk_image_get_image_size (ATK_IMAGE (obj), width, height); } else { *width = -1; *height = -1; } }
static void gail_button_get_image_position (AtkImage *image, gint *x, gint *y, AtkCoordType coord_type) { GtkWidget *widget; GtkImage *button_image; AtkObject *obj; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image)); if (widget == NULL) { /* * State is defunct */ *x = G_MININT; *y = G_MININT; return; } button_image = get_image_from_button (widget); if (button_image != NULL) { obj = gtk_widget_get_accessible (GTK_WIDGET (button_image)); atk_component_get_position (ATK_COMPONENT (obj), x, y, coord_type); } else { *x = G_MININT; *y = G_MININT; } }
static const gchar * gtk_button_accessible_get_name (AtkObject *obj) { const gchar *name = NULL; GtkWidget *widget; GtkWidget *child; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); if (widget == NULL) return NULL; name = ATK_OBJECT_CLASS (gtk_button_accessible_parent_class)->get_name (obj); if (name != NULL) return name; child = get_label_from_button (widget); if (GTK_IS_LABEL (child)) name = gtk_label_get_text (GTK_LABEL (child)); else { GtkWidget *image; image = get_image_from_button (widget); if (GTK_IS_IMAGE (image)) { AtkObject *atk_obj; atk_obj = gtk_widget_get_accessible (image); name = atk_object_get_name (atk_obj); } } return name; }
static G_CONST_RETURN gchar* gail_button_get_name (AtkObject *obj) { G_CONST_RETURN gchar* name = NULL; g_return_val_if_fail (GAIL_IS_BUTTON (obj), NULL); name = ATK_OBJECT_CLASS (gail_button_parent_class)->get_name (obj); if (name == NULL) { /* * Get the text on the label */ GtkWidget *widget; GtkWidget *child; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); if (widget == NULL) /* * State is defunct */ return NULL; g_return_val_if_fail (GTK_IS_BUTTON (widget), NULL); child = get_label_from_button (widget, 0, FALSE); if (GTK_IS_LABEL (child)) name = gtk_label_get_text (GTK_LABEL (child)); else { GtkImage *image; image = get_image_from_button (widget); if (GTK_IS_IMAGE (image)) { AtkObject *atk_obj; atk_obj = gtk_widget_get_accessible (GTK_WIDGET (image)); name = atk_object_get_name (atk_obj); } } } return name; }
static G_CONST_RETURN gchar* gail_button_get_image_description (AtkImage *image) { GtkWidget *widget; GtkImage *button_image; AtkObject *obj; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (image)); if (widget == NULL) /* * State is defunct */ return NULL; button_image = get_image_from_button (widget); if (button_image != NULL) { obj = gtk_widget_get_accessible (GTK_WIDGET (button_image)); return atk_image_get_image_description (ATK_IMAGE (obj)); } else return NULL; }