summaryrefslogtreecommitdiff
path: root/gtk/a11y/gtklinkbuttonaccessible.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/a11y/gtklinkbuttonaccessible.c')
-rw-r--r--gtk/a11y/gtklinkbuttonaccessible.c234
1 files changed, 0 insertions, 234 deletions
diff --git a/gtk/a11y/gtklinkbuttonaccessible.c b/gtk/a11y/gtklinkbuttonaccessible.c
deleted file mode 100644
index f5738a78d3..0000000000
--- a/gtk/a11y/gtklinkbuttonaccessible.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/* GTK+ - accessibility implementations
- * Copyright 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include "gtklinkbuttonaccessible.h"
-
-typedef struct _GtkLinkButtonAccessibleLink GtkLinkButtonAccessibleLink;
-typedef struct _GtkLinkButtonAccessibleLinkClass GtkLinkButtonAccessibleLinkClass;
-
-struct _GtkLinkButtonAccessiblePrivate
-{
- AtkHyperlink *link;
-};
-
-struct _GtkLinkButtonAccessibleLink
-{
- AtkHyperlink parent;
-
- GtkLinkButtonAccessible *button;
-};
-
-struct _GtkLinkButtonAccessibleLinkClass
-{
- AtkHyperlinkClass parent_class;
-};
-
-static void atk_action_interface_init (AtkActionIface *iface);
-
-GType _gtk_link_button_accessible_link_get_type (void);
-
-G_DEFINE_TYPE_WITH_CODE (GtkLinkButtonAccessibleLink, _gtk_link_button_accessible_link, ATK_TYPE_HYPERLINK,
- G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
-
-static AtkHyperlink *
-gtk_link_button_accessible_link_new (GtkLinkButtonAccessible *button)
-{
- GtkLinkButtonAccessibleLink *l;
-
- l = g_object_new (_gtk_link_button_accessible_link_get_type (), NULL);
- l->button = button;
-
- return ATK_HYPERLINK (l);
-}
-
-static char *
-gtk_link_button_accessible_link_get_uri (AtkHyperlink *atk_link,
- int i)
-{
- GtkLinkButtonAccessibleLink *l = (GtkLinkButtonAccessibleLink *)atk_link;
- GtkWidget *widget;
- const char *uri;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (l->button));
- uri = gtk_link_button_get_uri (GTK_LINK_BUTTON (widget));
-
- return g_strdup (uri);
-}
-
-static int
-gtk_link_button_accessible_link_get_n_anchors (AtkHyperlink *atk_link)
-{
- return 1;
-}
-
-static gboolean
-gtk_link_button_accessible_link_is_valid (AtkHyperlink *atk_link)
-{
- return TRUE;
-}
-
-static AtkObject *
-gtk_link_button_accessible_link_get_object (AtkHyperlink *atk_link,
- int i)
-{
- GtkLinkButtonAccessibleLink *l = (GtkLinkButtonAccessibleLink *)atk_link;
-
- return ATK_OBJECT (l->button);
-}
-
-static void
-_gtk_link_button_accessible_link_init (GtkLinkButtonAccessibleLink *l)
-{
-}
-
-static void
-_gtk_link_button_accessible_link_class_init (GtkLinkButtonAccessibleLinkClass *class)
-{
- AtkHyperlinkClass *atk_link_class = ATK_HYPERLINK_CLASS (class);
-
- atk_link_class->get_uri = gtk_link_button_accessible_link_get_uri;
- atk_link_class->get_n_anchors = gtk_link_button_accessible_link_get_n_anchors;
- atk_link_class->is_valid = gtk_link_button_accessible_link_is_valid;
- atk_link_class->get_object = gtk_link_button_accessible_link_get_object;
-}
-
-static gboolean
-gtk_link_button_accessible_link_do_action (AtkAction *action,
- int i)
-{
- GtkLinkButtonAccessibleLink *l = (GtkLinkButtonAccessibleLink *)action;
- GtkWidget *widget;
-
- widget = GTK_WIDGET (l->button);
- if (widget == NULL)
- return FALSE;
-
- if (i != 0)
- return FALSE;
-
- if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
- return FALSE;
-
- g_signal_emit_by_name (widget, "clicked");
-
- return TRUE;
-}
-
-static int
-gtk_link_button_accessible_link_get_n_actions (AtkAction *action)
-{
- return 1;
-}
-
-static const char *
-gtk_link_button_accessible_link_get_name (AtkAction *action,
- int i)
-{
- if (i != 0)
- return NULL;
-
- return "activate";
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- iface->do_action = gtk_link_button_accessible_link_do_action;
- iface->get_n_actions = gtk_link_button_accessible_link_get_n_actions;
- iface->get_name = gtk_link_button_accessible_link_get_name;
-}
-
-static gboolean
-activate_link (GtkLinkButton *button,
- AtkHyperlink *atk_link)
-{
- g_signal_emit_by_name (atk_link, "link-activated");
-
- return FALSE;
-}
-
-static AtkHyperlink *
-gtk_link_button_accessible_get_hyperlink (AtkHyperlinkImpl *impl)
-{
- GtkLinkButtonAccessible *button = GTK_LINK_BUTTON_ACCESSIBLE (impl);
-
- if (!button->priv->link)
- {
- button->priv->link = gtk_link_button_accessible_link_new (button);
- g_signal_connect (gtk_accessible_get_widget (GTK_ACCESSIBLE (button)),
- "activate-link", G_CALLBACK (activate_link), button->priv->link);
- }
-
- return g_object_ref (button->priv->link);
-}
-
-static void atk_hypertext_impl_interface_init (AtkHyperlinkImplIface *iface);
-
-G_DEFINE_TYPE_WITH_CODE (GtkLinkButtonAccessible, gtk_link_button_accessible, GTK_TYPE_BUTTON_ACCESSIBLE,
- G_ADD_PRIVATE (GtkLinkButtonAccessible)
- G_IMPLEMENT_INTERFACE (ATK_TYPE_HYPERLINK_IMPL, atk_hypertext_impl_interface_init))
-
-static void
-gtk_link_button_accessible_init (GtkLinkButtonAccessible *button)
-{
- button->priv = gtk_link_button_accessible_get_instance_private (button);
-}
-
-static void
-gtk_link_button_accessible_finalize (GObject *object)
-{
- GtkLinkButtonAccessible *button = GTK_LINK_BUTTON_ACCESSIBLE (object);
-
- if (button->priv->link)
- g_object_unref (button->priv->link);
-
- G_OBJECT_CLASS (gtk_link_button_accessible_parent_class)->finalize (object);
-}
-
-static AtkStateSet *
-gtk_link_button_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set;
- GtkWidget *widget;
-
- state_set = ATK_OBJECT_CLASS (gtk_link_button_accessible_parent_class)->ref_state_set (accessible);
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget != NULL)
- {
- if (gtk_link_button_get_visited (GTK_LINK_BUTTON (widget)))
- atk_state_set_add_state (state_set, ATK_STATE_VISITED);
- }
-
- return state_set;
-}
-
-static void
-gtk_link_button_accessible_class_init (GtkLinkButtonAccessibleClass *klass)
-{
- G_OBJECT_CLASS (klass)->finalize = gtk_link_button_accessible_finalize;
- ATK_OBJECT_CLASS (klass)->ref_state_set = gtk_link_button_ref_state_set;
-}
-
-static void
-atk_hypertext_impl_interface_init (AtkHyperlinkImplIface *iface)
-{
- iface->get_hyperlink = gtk_link_button_accessible_get_hyperlink;
-}