From: Matthias Clasen Date: Sat, 25 Jun 2011 02:12:55 +0000 (-0400) Subject: First cut at GailEntry -> GtkEntryAccessible X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=918514d51dbd12832ae8121b28a59c1e002c2f09;p=~andy%2Fgtk First cut at GailEntry -> GtkEntryAccessible Replace the factory for entry and spin button with gtk_widget_class_set_accessible_type() calls, and move then to the GtkAccessible namespace. --- diff --git a/gtk/a11y/Makefile.am b/gtk/a11y/Makefile.am index 4e914626d..b6b3b44b9 100644 --- a/gtk/a11y/Makefile.am +++ b/gtk/a11y/Makefile.am @@ -18,7 +18,7 @@ gail_c_sources = \ gailcombobox.c \ gailcontainer.c \ gailcontainercell.c \ - gailentry.c \ + gtkentryaccessible.c \ gailexpander.c \ gailframe.c \ gailimage.c \ @@ -43,7 +43,7 @@ gail_c_sources = \ gailscrollbar.c \ gailscrolledwindow.c \ gailseparator.c \ - gailspinbutton.c \ + gtkspinbuttonaccessible.c \ gailsubmenuitem.c \ gailstatusbar.c \ gailtextcell.c \ @@ -72,7 +72,7 @@ gail_private_h_sources = \ gailcombobox.h \ gailcontainercell.h \ gailcontainer.h \ - gailentry.h \ + gtkentryaccessible.h \ gailexpander.h \ gailfactory.h \ gailframe.h \ @@ -98,7 +98,7 @@ gail_private_h_sources = \ gailscrollbar.h \ gailscrolledwindow.h \ gailseparator.h \ - gailspinbutton.h \ + gtkspinbuttonaccessible.h \ gailsubmenuitem.h \ gailstatusbar.h \ gailtextcell.h \ diff --git a/gtk/a11y/gail.c b/gtk/a11y/gail.c index 2d369b1a3..1e9d5d73e 100644 --- a/gtk/a11y/gail.c +++ b/gtk/a11y/gail.c @@ -34,7 +34,6 @@ #include "gailcombobox.h" #include "gailcontainer.h" #include "gailcontainercell.h" -#include "gailentry.h" #include "gailexpander.h" #include "gailframe.h" #include "gailimage.h" @@ -55,7 +54,6 @@ #include "gailscrollbar.h" #include "gailscrolledwindow.h" #include "gailseparator.h" -#include "gailspinbutton.h" #include "gailstatusbar.h" #include "gailtextcell.h" #include "gailtextview.h" @@ -121,7 +119,6 @@ GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TOGGLE_BUTTON, GailToggleButton, gail_toggle_b GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_IMAGE, GailImage, gail_image, GTK_TYPE_IMAGE) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TEXT_VIEW, GailTextView, gail_text_view, GTK_TYPE_TEXT_VIEW) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_COMBO_BOX, GailComboBox, gail_combo_box, GTK_TYPE_COMBO_BOX) -GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_ENTRY, GailEntry, gail_entry, GTK_TYPE_ENTRY) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_MENU_SHELL, GailMenuShell, gail_menu_shell, GTK_TYPE_MENU_SHELL) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_MENU, GailMenu, gail_menu, GTK_TYPE_MENU) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WINDOW, GailWindow, gail_window, GTK_TYPE_BIN) @@ -132,7 +129,6 @@ GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_STATUSBAR, GailStatusbar, gail_statusbar, GTK_ GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_NOTEBOOK, GailNotebook, gail_notebook, GTK_TYPE_NOTEBOOK) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_CALENDAR, GailCalendar, gail_calendar, GTK_TYPE_CALENDAR) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_PROGRESS_BAR, GailProgressBar, gail_progress_bar, GTK_TYPE_PROGRESS_BAR) -GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_SPIN_BUTTON, GailSpinButton, gail_spin_button, GTK_TYPE_SPIN_BUTTON) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_TREE_VIEW, GailTreeView, gail_tree_view, GTK_TYPE_TREE_VIEW) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_FRAME, GailFrame, gail_frame, GTK_TYPE_FRAME) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_RADIO_BUTTON, GailRadioButton, gail_radio_button, GTK_TYPE_RADIO_BUTTON) @@ -898,7 +894,6 @@ gail_accessibility_module_init (void) GAIL_WIDGET_SET_FACTORY (GTK_TYPE_IMAGE, gail_image); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_TEXT_VIEW, gail_text_view); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_COMBO_BOX, gail_combo_box); - GAIL_WIDGET_SET_FACTORY (GTK_TYPE_ENTRY, gail_entry); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_MENU_BAR, gail_menu_shell); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_MENU, gail_menu); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_WINDOW, gail_window); @@ -909,7 +904,6 @@ gail_accessibility_module_init (void) GAIL_WIDGET_SET_FACTORY (GTK_TYPE_NOTEBOOK, gail_notebook); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CALENDAR, gail_calendar); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_PROGRESS_BAR, gail_progress_bar); - GAIL_WIDGET_SET_FACTORY (GTK_TYPE_SPIN_BUTTON, gail_spin_button); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_TREE_VIEW, gail_tree_view); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_FRAME, gail_frame); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER_TEXT, gail_text_cell); diff --git a/gtk/a11y/gailspinbutton.h b/gtk/a11y/gailspinbutton.h deleted file mode 100644 index 7d1043df4..000000000 --- a/gtk/a11y/gailspinbutton.h +++ /dev/null @@ -1,53 +0,0 @@ -/* GAIL - The GNOME Accessibility Implementation Library - * Copyright 2001 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GAIL_SPIN_BUTTON_H__ -#define __GAIL_SPIN_BUTTON_H__ - -#include "gailentry.h" - -G_BEGIN_DECLS - -#define GAIL_TYPE_SPIN_BUTTON (gail_spin_button_get_type ()) -#define GAIL_SPIN_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_SPIN_BUTTON, GailSpinButton)) -#define GAIL_SPIN_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_SPIN_BUTTON, GailSpinButtonClass)) -#define GAIL_IS_SPIN_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_SPIN_BUTTON)) -#define GAIL_IS_SPIN_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_SPIN_BUTTON)) -#define GAIL_SPIN_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_SPIN_BUTTON, GailSpinButtonClass)) - -typedef struct _GailSpinButton GailSpinButton; -typedef struct _GailSpinButtonClass GailSpinButtonClass; - -struct _GailSpinButton -{ - GailEntry parent; - - AtkObject *adjustment; -}; - -GType gail_spin_button_get_type (void); - -struct _GailSpinButtonClass -{ - GailEntryClass parent_class; -}; - -G_END_DECLS - -#endif /* __GAIL_SPIN_BUTTON_H__ */ diff --git a/gtk/a11y/gailentry.c b/gtk/a11y/gtkentryaccessible.c similarity index 72% rename from gtk/a11y/gailentry.c rename to gtk/a11y/gtkentryaccessible.c index ea751b40a..dddeb780a 100644 --- a/gtk/a11y/gailentry.c +++ b/gtk/a11y/gtkentryaccessible.c @@ -22,155 +22,155 @@ #include #include #include -#include "gailentry.h" +#include "gtkentryaccessible.h" #include "gailcombobox.h" #include -static void gail_entry_class_init (GailEntryClass *klass); -static void gail_entry_init (GailEntry *entry); -static void gail_entry_real_initialize (AtkObject *obj, +static void gtk_entry_accessible_class_init (GtkEntryAccessibleClass *klass); +static void gtk_entry_accessible_init (GtkEntryAccessible *entry); +static void gtk_entry_accessible_real_initialize (AtkObject *obj, gpointer data); -static void text_setup (GailEntry *entry, +static void text_setup (GtkEntryAccessible *entry, GtkEntry *gtk_entry); -static void gail_entry_real_notify_gtk (GObject *obj, +static void gtk_entry_accessible_real_notify_gtk (GObject *obj, GParamSpec *pspec); -static void gail_entry_finalize (GObject *object); +static void gtk_entry_accessible_finalize (GObject *object); -static gint gail_entry_get_index_in_parent (AtkObject *accessible); +static gint gtk_entry_accessible_get_index_in_parent (AtkObject *accessible); /* atkobject.h */ -static AtkStateSet* gail_entry_ref_state_set (AtkObject *accessible); -static AtkAttributeSet* gail_entry_get_attributes (AtkObject *accessible); +static AtkStateSet* gtk_entry_accessible_ref_state_set (AtkObject *accessible); +static AtkAttributeSet* gtk_entry_accessible_get_attributes (AtkObject *accessible); /* atktext.h */ static void atk_text_interface_init (AtkTextIface *iface); -static gchar* gail_entry_get_text (AtkText *text, +static gchar* gtk_entry_accessible_get_text (AtkText *text, gint start_pos, gint end_pos); -static gunichar gail_entry_get_character_at_offset +static gunichar gtk_entry_accessible_get_character_at_offset (AtkText *text, gint offset); -static gchar* gail_entry_get_text_before_offset(AtkText *text, +static gchar* gtk_entry_accessible_get_text_before_offset(AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset); -static gchar* gail_entry_get_text_at_offset (AtkText *text, +static gchar* gtk_entry_accessible_get_text_at_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset); -static gchar* gail_entry_get_text_after_offset (AtkText *text, +static gchar* gtk_entry_accessible_get_text_after_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset); -static gint gail_entry_get_caret_offset (AtkText *text); -static gboolean gail_entry_set_caret_offset (AtkText *text, +static gint gtk_entry_accessible_get_caret_offset (AtkText *text); +static gboolean gtk_entry_accessible_set_caret_offset (AtkText *text, gint offset); -static gint gail_entry_get_n_selections (AtkText *text); -static gchar* gail_entry_get_selection (AtkText *text, +static gint gtk_entry_accessible_get_n_selections (AtkText *text); +static gchar* gtk_entry_accessible_get_selection (AtkText *text, gint selection_num, gint *start_offset, gint *end_offset); -static gboolean gail_entry_add_selection (AtkText *text, +static gboolean gtk_entry_accessible_add_selection (AtkText *text, gint start_offset, gint end_offset); -static gboolean gail_entry_remove_selection (AtkText *text, +static gboolean gtk_entry_accessible_remove_selection (AtkText *text, gint selection_num); -static gboolean gail_entry_set_selection (AtkText *text, +static gboolean gtk_entry_accessible_set_selection (AtkText *text, gint selection_num, gint start_offset, gint end_offset); -static gint gail_entry_get_character_count (AtkText *text); -static AtkAttributeSet * gail_entry_get_run_attributes +static gint gtk_entry_accessible_get_character_count (AtkText *text); +static AtkAttributeSet * gtk_entry_accessible_get_run_attributes (AtkText *text, gint offset, gint *start_offset, gint *end_offset); -static AtkAttributeSet * gail_entry_get_default_attributes +static AtkAttributeSet * gtk_entry_accessible_get_default_attributes (AtkText *text); -static void gail_entry_get_character_extents (AtkText *text, +static void gtk_entry_accessible_get_character_extents (AtkText *text, gint offset, gint *x, gint *y, gint *width, gint *height, AtkCoordType coords); -static gint gail_entry_get_offset_at_point (AtkText *text, +static gint gtk_entry_accessible_get_offset_at_point (AtkText *text, gint x, gint y, AtkCoordType coords); /* atkeditabletext.h */ static void atk_editable_text_interface_init (AtkEditableTextIface *iface); -static void gail_entry_set_text_contents (AtkEditableText *text, +static void gtk_entry_accessible_set_text_contents (AtkEditableText *text, const gchar *string); -static void gail_entry_insert_text (AtkEditableText *text, +static void gtk_entry_accessible_insert_text (AtkEditableText *text, const gchar *string, gint length, gint *position); -static void gail_entry_copy_text (AtkEditableText *text, +static void gtk_entry_accessible_copy_text (AtkEditableText *text, gint start_pos, gint end_pos); -static void gail_entry_cut_text (AtkEditableText *text, +static void gtk_entry_accessible_cut_text (AtkEditableText *text, gint start_pos, gint end_pos); -static void gail_entry_delete_text (AtkEditableText *text, +static void gtk_entry_accessible_delete_text (AtkEditableText *text, gint start_pos, gint end_pos); -static void gail_entry_paste_text (AtkEditableText *text, +static void gtk_entry_accessible_paste_text (AtkEditableText *text, gint position); -static void gail_entry_paste_received (GtkClipboard *clipboard, +static void gtk_entry_accessible_paste_received (GtkClipboard *clipboard, const gchar *text, gpointer data); /* Callbacks */ -static gboolean gail_entry_idle_notify_insert (gpointer data); -static void gail_entry_notify_insert (GailEntry *entry); -static void gail_entry_notify_delete (GailEntry *entry); -static void _gail_entry_insert_text_cb (GtkEntry *entry, +static gboolean gtk_entry_accessible_idle_notify_insert (gpointer data); +static void gtk_entry_accessible_notify_insert (GtkEntryAccessible *entry); +static void gtk_entry_accessible_notify_delete (GtkEntryAccessible *entry); +static void _gtk_entry_accessible_insert_text_cb (GtkEntry *entry, gchar *arg1, gint arg2, gpointer arg3); -static void _gail_entry_delete_text_cb (GtkEntry *entry, +static void _gtk_entry_accessible_delete_text_cb (GtkEntry *entry, gint arg1, gint arg2); -static void _gail_entry_changed_cb (GtkEntry *entry); -static gboolean check_for_selection_change (GailEntry *entry, +static void _gtk_entry_accessible_changed_cb (GtkEntry *entry); +static gboolean check_for_selection_change (GtkEntryAccessible *entry, GtkEntry *gtk_entry); static void atk_action_interface_init (AtkActionIface *iface); -static gboolean gail_entry_do_action (AtkAction *action, +static gboolean gtk_entry_accessible_do_action (AtkAction *action, gint i); static gboolean idle_do_action (gpointer data); -static gint gail_entry_get_n_actions (AtkAction *action); -static const gchar* gail_entry_get_keybinding (AtkAction *action, +static gint gtk_entry_accessible_get_n_actions (AtkAction *action); +static const gchar* gtk_entry_accessible_get_keybinding (AtkAction *action, gint i); -static const gchar* gail_entry_action_get_name (AtkAction *action, +static const gchar* gtk_entry_accessible_action_get_name (AtkAction *action, gint i); -typedef struct _GailEntryPaste GailEntryPaste; +typedef struct _GtkEntryAccessiblePaste GtkEntryAccessiblePaste; -struct _GailEntryPaste +struct _GtkEntryAccessiblePaste { GtkEntry* entry; gint position; }; -G_DEFINE_TYPE_WITH_CODE (GailEntry, gail_entry, GAIL_TYPE_WIDGET, +G_DEFINE_TYPE_WITH_CODE (GtkEntryAccessible, gtk_entry_accessible, GAIL_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init) G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init) G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)) static void -gail_entry_class_init (GailEntryClass *klass) +gtk_entry_accessible_class_init (GtkEntryAccessibleClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); AtkObjectClass *class = ATK_OBJECT_CLASS (klass); @@ -178,18 +178,18 @@ gail_entry_class_init (GailEntryClass *klass) widget_class = (GailWidgetClass*)klass; - gobject_class->finalize = gail_entry_finalize; + gobject_class->finalize = gtk_entry_accessible_finalize; - class->ref_state_set = gail_entry_ref_state_set; - class->get_index_in_parent = gail_entry_get_index_in_parent; - class->initialize = gail_entry_real_initialize; - class->get_attributes = gail_entry_get_attributes; + class->ref_state_set = gtk_entry_accessible_ref_state_set; + class->get_index_in_parent = gtk_entry_accessible_get_index_in_parent; + class->initialize = gtk_entry_accessible_real_initialize; + class->get_attributes = gtk_entry_accessible_get_attributes; - widget_class->notify_gtk = gail_entry_real_notify_gtk; + widget_class->notify_gtk = gtk_entry_accessible_real_notify_gtk; } static void -gail_entry_init (GailEntry *entry) +gtk_entry_accessible_init (GtkEntryAccessible *entry) { entry->textutil = NULL; entry->signal_name_insert = NULL; @@ -200,34 +200,34 @@ gail_entry_init (GailEntry *entry) } static void -gail_entry_real_initialize (AtkObject *obj, +gtk_entry_accessible_real_initialize (AtkObject *obj, gpointer data) { GtkEntry *entry; - GailEntry *gail_entry; + GtkEntryAccessible *gtk_entry_accessible; gint start_pos, end_pos; - ATK_OBJECT_CLASS (gail_entry_parent_class)->initialize (obj, data); + ATK_OBJECT_CLASS (gtk_entry_accessible_parent_class)->initialize (obj, data); - gail_entry = GAIL_ENTRY (obj); - gail_entry->textutil = gail_text_util_new (); + gtk_entry_accessible = GTK_ENTRY_ACCESSIBLE (obj); + gtk_entry_accessible->textutil = gail_text_util_new (); g_assert (GTK_IS_ENTRY (data)); entry = GTK_ENTRY (data); - text_setup (gail_entry, entry); + text_setup (gtk_entry_accessible, entry); gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos); - gail_entry->cursor_position = end_pos; - gail_entry->selection_bound = start_pos; + gtk_entry_accessible->cursor_position = end_pos; + gtk_entry_accessible->selection_bound = start_pos; /* Set up signal callbacks */ g_signal_connect (data, "insert-text", - G_CALLBACK (_gail_entry_insert_text_cb), NULL); + G_CALLBACK (_gtk_entry_accessible_insert_text_cb), NULL); g_signal_connect (data, "delete-text", - G_CALLBACK (_gail_entry_delete_text_cb), NULL); + G_CALLBACK (_gtk_entry_accessible_delete_text_cb), NULL); g_signal_connect (data, "changed", - G_CALLBACK (_gail_entry_changed_cb), NULL); + G_CALLBACK (_gtk_entry_accessible_changed_cb), NULL); if (gtk_entry_get_visibility (entry)) obj->role = ATK_ROLE_TEXT; @@ -236,23 +236,23 @@ gail_entry_real_initialize (AtkObject *obj, } static void -gail_entry_real_notify_gtk (GObject *obj, +gtk_entry_accessible_real_notify_gtk (GObject *obj, GParamSpec *pspec) { GtkWidget *widget; AtkObject* atk_obj; GtkEntry* gtk_entry; - GailEntry* entry; + GtkEntryAccessible* entry; widget = GTK_WIDGET (obj); atk_obj = gtk_widget_get_accessible (widget); gtk_entry = GTK_ENTRY (widget); - entry = GAIL_ENTRY (atk_obj); + entry = GTK_ENTRY_ACCESSIBLE (atk_obj); if (strcmp (pspec->name, "cursor-position") == 0) { if (entry->insert_idle_handler == 0) - entry->insert_idle_handler = gdk_threads_add_idle (gail_entry_idle_notify_insert, entry); + entry->insert_idle_handler = gdk_threads_add_idle (gtk_entry_accessible_idle_notify_insert, entry); if (check_for_selection_change (entry, gtk_entry)) g_signal_emit_by_name (atk_obj, "text_selection_changed"); @@ -265,7 +265,7 @@ gail_entry_real_notify_gtk (GObject *obj, else if (strcmp (pspec->name, "selection-bound") == 0) { if (entry->insert_idle_handler == 0) - entry->insert_idle_handler = gdk_threads_add_idle (gail_entry_idle_notify_insert, entry); + entry->insert_idle_handler = gdk_threads_add_idle (gtk_entry_accessible_idle_notify_insert, entry); if (check_for_selection_change (entry, gtk_entry)) g_signal_emit_by_name (atk_obj, "text_selection_changed"); @@ -301,11 +301,11 @@ gail_entry_real_notify_gtk (GObject *obj, } } else - GAIL_WIDGET_CLASS (gail_entry_parent_class)->notify_gtk (obj, pspec); + GAIL_WIDGET_CLASS (gtk_entry_accessible_parent_class)->notify_gtk (obj, pspec); } static void -text_setup (GailEntry *entry, +text_setup (GtkEntryAccessible *entry, GtkEntry *gtk_entry) { if (gtk_entry_get_visibility (gtk_entry)) @@ -339,9 +339,9 @@ text_setup (GailEntry *entry, } static void -gail_entry_finalize (GObject *object) +gtk_entry_accessible_finalize (GObject *object) { - GailEntry *entry = GAIL_ENTRY (object); + GtkEntryAccessible *entry = GTK_ENTRY_ACCESSIBLE (object); g_object_unref (entry->textutil); g_free (entry->activate_keybinding); @@ -355,11 +355,11 @@ gail_entry_finalize (GObject *object) g_source_remove (entry->insert_idle_handler); entry->insert_idle_handler = 0; } - G_OBJECT_CLASS (gail_entry_parent_class)->finalize (object); + G_OBJECT_CLASS (gtk_entry_accessible_parent_class)->finalize (object); } static gint -gail_entry_get_index_in_parent (AtkObject *accessible) +gtk_entry_accessible_get_index_in_parent (AtkObject *accessible) { /* * If the parent widget is a combo box then the index is 1 @@ -369,20 +369,20 @@ gail_entry_get_index_in_parent (AtkObject *accessible) if (GAIL_IS_COMBO_BOX (accessible->accessible_parent)) return 1; - return ATK_OBJECT_CLASS (gail_entry_parent_class)->get_index_in_parent (accessible); + return ATK_OBJECT_CLASS (gtk_entry_accessible_parent_class)->get_index_in_parent (accessible); } /* atkobject.h */ static AtkStateSet* -gail_entry_ref_state_set (AtkObject *accessible) +gtk_entry_accessible_ref_state_set (AtkObject *accessible) { AtkStateSet *state_set; GtkEntry *entry; gboolean value; GtkWidget *widget; - state_set = ATK_OBJECT_CLASS (gail_entry_parent_class)->ref_state_set (accessible); + state_set = ATK_OBJECT_CLASS (gtk_entry_accessible_parent_class)->ref_state_set (accessible); widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); if (widget == NULL) @@ -399,14 +399,14 @@ gail_entry_ref_state_set (AtkObject *accessible) } static AtkAttributeSet * -gail_entry_get_attributes (AtkObject *accessible) +gtk_entry_accessible_get_attributes (AtkObject *accessible) { GtkWidget *widget; AtkAttributeSet *attributes; AtkAttribute *placeholder_text; const gchar *text; - attributes = ATK_OBJECT_CLASS (gail_entry_parent_class)->get_attributes (accessible); + attributes = ATK_OBJECT_CLASS (gtk_entry_accessible_parent_class)->get_attributes (accessible); widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); if (widget == NULL) @@ -430,27 +430,27 @@ gail_entry_get_attributes (AtkObject *accessible) static void atk_text_interface_init (AtkTextIface *iface) { - iface->get_text = gail_entry_get_text; - iface->get_character_at_offset = gail_entry_get_character_at_offset; - iface->get_text_before_offset = gail_entry_get_text_before_offset; - iface->get_text_at_offset = gail_entry_get_text_at_offset; - iface->get_text_after_offset = gail_entry_get_text_after_offset; - iface->get_caret_offset = gail_entry_get_caret_offset; - iface->set_caret_offset = gail_entry_set_caret_offset; - iface->get_character_count = gail_entry_get_character_count; - iface->get_n_selections = gail_entry_get_n_selections; - iface->get_selection = gail_entry_get_selection; - iface->add_selection = gail_entry_add_selection; - iface->remove_selection = gail_entry_remove_selection; - iface->set_selection = gail_entry_set_selection; - iface->get_run_attributes = gail_entry_get_run_attributes; - iface->get_default_attributes = gail_entry_get_default_attributes; - iface->get_character_extents = gail_entry_get_character_extents; - iface->get_offset_at_point = gail_entry_get_offset_at_point; + iface->get_text = gtk_entry_accessible_get_text; + iface->get_character_at_offset = gtk_entry_accessible_get_character_at_offset; + iface->get_text_before_offset = gtk_entry_accessible_get_text_before_offset; + iface->get_text_at_offset = gtk_entry_accessible_get_text_at_offset; + iface->get_text_after_offset = gtk_entry_accessible_get_text_after_offset; + iface->get_caret_offset = gtk_entry_accessible_get_caret_offset; + iface->set_caret_offset = gtk_entry_accessible_set_caret_offset; + iface->get_character_count = gtk_entry_accessible_get_character_count; + iface->get_n_selections = gtk_entry_accessible_get_n_selections; + iface->get_selection = gtk_entry_accessible_get_selection; + iface->add_selection = gtk_entry_accessible_add_selection; + iface->remove_selection = gtk_entry_accessible_remove_selection; + iface->set_selection = gtk_entry_accessible_set_selection; + iface->get_run_attributes = gtk_entry_accessible_get_run_attributes; + iface->get_default_attributes = gtk_entry_accessible_get_default_attributes; + iface->get_character_extents = gtk_entry_accessible_get_character_extents; + iface->get_offset_at_point = gtk_entry_accessible_get_offset_at_point; } static gchar* -gail_entry_get_text (AtkText *text, +gtk_entry_accessible_get_text (AtkText *text, gint start_pos, gint end_pos) { @@ -461,11 +461,11 @@ gail_entry_get_text (AtkText *text, /* State is defunct */ return NULL; - return gail_text_util_get_substring (GAIL_ENTRY (text)->textutil, start_pos, end_pos); + return gail_text_util_get_substring (GTK_ENTRY_ACCESSIBLE (text)->textutil, start_pos, end_pos); } static gchar* -gail_entry_get_text_before_offset (AtkText *text, +gtk_entry_accessible_get_text_before_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, @@ -482,13 +482,13 @@ gail_entry_get_text_before_offset (AtkText *text, /* Get Entry */ entry = GTK_ENTRY (widget); - return gail_text_util_get_text (GAIL_ENTRY (text)->textutil, + return gail_text_util_get_text (GTK_ENTRY_ACCESSIBLE (text)->textutil, gtk_entry_get_layout (entry), GAIL_BEFORE_OFFSET, boundary_type, offset, start_offset, end_offset); } static gchar* -gail_entry_get_text_at_offset (AtkText *text, +gtk_entry_accessible_get_text_at_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, @@ -505,13 +505,13 @@ gail_entry_get_text_at_offset (AtkText *text, /* Get Entry */ entry = GTK_ENTRY (widget); - return gail_text_util_get_text (GAIL_ENTRY (text)->textutil, + return gail_text_util_get_text (GTK_ENTRY_ACCESSIBLE (text)->textutil, gtk_entry_get_layout (entry), GAIL_AT_OFFSET, boundary_type, offset, start_offset, end_offset); } static gchar* -gail_entry_get_text_after_offset (AtkText *text, +gtk_entry_accessible_get_text_after_offset (AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, @@ -528,13 +528,13 @@ gail_entry_get_text_after_offset (AtkText *text, /* Get Entry */ entry = GTK_ENTRY (widget); - return gail_text_util_get_text (GAIL_ENTRY (text)->textutil, + return gail_text_util_get_text (GTK_ENTRY_ACCESSIBLE (text)->textutil, gtk_entry_get_layout (entry), GAIL_AFTER_OFFSET, boundary_type, offset, start_offset, end_offset); } static gint -gail_entry_get_character_count (AtkText *text) +gtk_entry_accessible_get_character_count (AtkText *text) { GtkEntry *entry; GtkWidget *widget; @@ -549,7 +549,7 @@ gail_entry_get_character_count (AtkText *text) } static gint -gail_entry_get_caret_offset (AtkText *text) +gtk_entry_accessible_get_caret_offset (AtkText *text) { GtkEntry *entry; GtkWidget *widget; @@ -565,7 +565,7 @@ gail_entry_get_caret_offset (AtkText *text) } static gboolean -gail_entry_set_caret_offset (AtkText *text, gint offset) +gtk_entry_accessible_set_caret_offset (AtkText *text, gint offset) { GtkEntry *entry; GtkWidget *widget; @@ -582,7 +582,7 @@ gail_entry_set_caret_offset (AtkText *text, gint offset) } static AtkAttributeSet* -gail_entry_get_run_attributes (AtkText *text, +gtk_entry_accessible_get_run_attributes (AtkText *text, gint offset, gint *start_offset, gint *end_offset) @@ -617,7 +617,7 @@ gail_entry_get_run_attributes (AtkText *text, } static AtkAttributeSet* -gail_entry_get_default_attributes (AtkText *text) +gtk_entry_accessible_get_default_attributes (AtkText *text) { GtkWidget *widget; GtkEntry *entry; @@ -637,7 +637,7 @@ gail_entry_get_default_attributes (AtkText *text) } static void -gail_entry_get_character_extents (AtkText *text, +gtk_entry_accessible_get_character_extents (AtkText *text, gint offset, gint *x, gint *y, @@ -678,7 +678,7 @@ gail_entry_get_character_extents (AtkText *text, } static gint -gail_entry_get_offset_at_point (AtkText *text, +gtk_entry_accessible_get_offset_at_point (AtkText *text, gint x, gint y, AtkCoordType coords) @@ -728,7 +728,7 @@ gail_entry_get_offset_at_point (AtkText *text, } static gint -gail_entry_get_n_selections (AtkText *text) +gtk_entry_accessible_get_n_selections (AtkText *text) { GtkEntry *entry; GtkWidget *widget; @@ -751,7 +751,7 @@ gail_entry_get_n_selections (AtkText *text) } static gchar* -gail_entry_get_selection (AtkText *text, +gtk_entry_accessible_get_selection (AtkText *text, gint selection_num, gint *start_pos, gint *end_pos) @@ -780,7 +780,7 @@ gail_entry_get_selection (AtkText *text, } static gboolean -gail_entry_add_selection (AtkText *text, +gtk_entry_accessible_add_selection (AtkText *text, gint start_pos, gint end_pos) { @@ -811,7 +811,7 @@ gail_entry_add_selection (AtkText *text, } static gboolean -gail_entry_remove_selection (AtkText *text, +gtk_entry_accessible_remove_selection (AtkText *text, gint selection_num) { GtkEntry *entry; @@ -844,7 +844,7 @@ gail_entry_remove_selection (AtkText *text, } static gboolean -gail_entry_set_selection (AtkText *text, +gtk_entry_accessible_set_selection (AtkText *text, gint selection_num, gint start_pos, gint end_pos) @@ -881,17 +881,17 @@ gail_entry_set_selection (AtkText *text, static void atk_editable_text_interface_init (AtkEditableTextIface *iface) { - iface->set_text_contents = gail_entry_set_text_contents; - iface->insert_text = gail_entry_insert_text; - iface->copy_text = gail_entry_copy_text; - iface->cut_text = gail_entry_cut_text; - iface->delete_text = gail_entry_delete_text; - iface->paste_text = gail_entry_paste_text; + iface->set_text_contents = gtk_entry_accessible_set_text_contents; + iface->insert_text = gtk_entry_accessible_insert_text; + iface->copy_text = gtk_entry_accessible_copy_text; + iface->cut_text = gtk_entry_accessible_cut_text; + iface->delete_text = gtk_entry_accessible_delete_text; + iface->paste_text = gtk_entry_accessible_paste_text; iface->set_run_attributes = NULL; } static void -gail_entry_set_text_contents (AtkEditableText *text, +gtk_entry_accessible_set_text_contents (AtkEditableText *text, const gchar *string) { GtkEntry *entry; @@ -912,7 +912,7 @@ gail_entry_set_text_contents (AtkEditableText *text, } static void -gail_entry_insert_text (AtkEditableText *text, +gtk_entry_accessible_insert_text (AtkEditableText *text, const gchar *string, gint length, gint *position) @@ -936,7 +936,7 @@ gail_entry_insert_text (AtkEditableText *text, } static void -gail_entry_copy_text (AtkEditableText *text, +gtk_entry_accessible_copy_text (AtkEditableText *text, gint start_pos, gint end_pos) { @@ -960,7 +960,7 @@ gail_entry_copy_text (AtkEditableText *text, } static void -gail_entry_cut_text (AtkEditableText *text, +gtk_entry_accessible_cut_text (AtkEditableText *text, gint start_pos, gint end_pos) { @@ -987,7 +987,7 @@ gail_entry_cut_text (AtkEditableText *text, } static void -gail_entry_delete_text (AtkEditableText *text, +gtk_entry_accessible_delete_text (AtkEditableText *text, gint start_pos, gint end_pos) { @@ -1009,12 +1009,12 @@ gail_entry_delete_text (AtkEditableText *text, } static void -gail_entry_paste_text (AtkEditableText *text, +gtk_entry_accessible_paste_text (AtkEditableText *text, gint position) { GtkWidget *widget; GtkEditable *editable; - GailEntryPaste paste_struct; + GtkEntryAccessiblePaste paste_struct; GtkClipboard *clipboard; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); @@ -1032,15 +1032,15 @@ gail_entry_paste_text (AtkEditableText *text, clipboard = gtk_clipboard_get_for_display (gtk_widget_get_display (widget), GDK_SELECTION_CLIPBOARD); gtk_clipboard_request_text (clipboard, - gail_entry_paste_received, &paste_struct); + gtk_entry_accessible_paste_received, &paste_struct); } static void -gail_entry_paste_received (GtkClipboard *clipboard, +gtk_entry_accessible_paste_received (GtkClipboard *clipboard, const gchar *text, gpointer data) { - GailEntryPaste* paste_struct = (GailEntryPaste *)data; + GtkEntryAccessiblePaste* paste_struct = (GtkEntryAccessiblePaste *)data; if (text) gtk_editable_insert_text (GTK_EDITABLE (paste_struct->entry), text, -1, @@ -1052,19 +1052,19 @@ gail_entry_paste_received (GtkClipboard *clipboard, /* Callbacks */ static gboolean -gail_entry_idle_notify_insert (gpointer data) +gtk_entry_accessible_idle_notify_insert (gpointer data) { - GailEntry *entry; + GtkEntryAccessible *entry; - entry = GAIL_ENTRY (data); + entry = GTK_ENTRY_ACCESSIBLE (data); entry->insert_idle_handler = 0; - gail_entry_notify_insert (entry); + gtk_entry_accessible_notify_insert (entry); return FALSE; } static void -gail_entry_notify_insert (GailEntry *entry) +gtk_entry_accessible_notify_insert (GtkEntryAccessible *entry) { GtkWidget *widget; @@ -1086,40 +1086,40 @@ gail_entry_notify_insert (GailEntry *entry) * arg2 returns the number of characters inserted. */ static void -_gail_entry_insert_text_cb (GtkEntry *entry, +_gtk_entry_accessible_insert_text_cb (GtkEntry *entry, gchar *arg1, gint arg2, gpointer arg3) { AtkObject *accessible; - GailEntry *gail_entry; + GtkEntryAccessible *entry_accessible; gint *position = (gint *) arg3; if (arg2 == 0) return; accessible = gtk_widget_get_accessible (GTK_WIDGET (entry)); - gail_entry = GAIL_ENTRY (accessible); - if (!gail_entry->signal_name_insert) + entry_accessible = GTK_ENTRY_ACCESSIBLE (accessible); + if (!entry_accessible->signal_name_insert) { - gail_entry->signal_name_insert = "text_changed::insert"; - gail_entry->position_insert = *position; - gail_entry->length_insert = g_utf8_strlen(arg1, arg2); + entry_accessible->signal_name_insert = "text_changed::insert"; + entry_accessible->position_insert = *position; + entry_accessible->length_insert = g_utf8_strlen(arg1, arg2); } /* * The signal will be emitted when the cursor position is updated. * or in an idle handler if it not updated. */ - if (gail_entry->insert_idle_handler == 0) - gail_entry->insert_idle_handler = gdk_threads_add_idle (gail_entry_idle_notify_insert, gail_entry); + if (entry_accessible->insert_idle_handler == 0) + entry_accessible->insert_idle_handler = gdk_threads_add_idle (gtk_entry_accessible_idle_notify_insert, entry_accessible); } static gunichar -gail_entry_get_character_at_offset (AtkText *text, +gtk_entry_accessible_get_character_at_offset (AtkText *text, gint offset) { GtkWidget *widget; - GailEntry *entry; + GtkEntryAccessible *entry; gchar *string; gchar *index; gunichar unichar; @@ -1129,7 +1129,7 @@ gail_entry_get_character_at_offset (AtkText *text, /* State is defunct */ return '\0'; - entry = GAIL_ENTRY (text); + entry = GTK_ENTRY_ACCESSIBLE (text); string = gail_text_util_get_substring (entry->textutil, 0, -1); if (offset >= g_utf8_strlen (string, -1)) { @@ -1147,7 +1147,7 @@ gail_entry_get_character_at_offset (AtkText *text, } static void -gail_entry_notify_delete (GailEntry *entry) +gtk_entry_accessible_notify_delete (GtkEntryAccessible *entry) { if (entry->signal_name_delete) { @@ -1163,12 +1163,12 @@ gail_entry_notify_delete (GailEntry *entry) * end of the delete range if multiple characters are deleted. */ static void -_gail_entry_delete_text_cb (GtkEntry *entry, +_gtk_entry_accessible_delete_text_cb (GtkEntry *entry, gint arg1, gint arg2) { AtkObject *accessible; - GailEntry *gail_entry; + GtkEntryAccessible *entry_accessible; /* * Zero length text deleted so ignore @@ -1177,31 +1177,31 @@ _gail_entry_delete_text_cb (GtkEntry *entry, return; accessible = gtk_widget_get_accessible (GTK_WIDGET (entry)); - gail_entry = GAIL_ENTRY (accessible); - if (!gail_entry->signal_name_delete) + entry_accessible = GTK_ENTRY_ACCESSIBLE (accessible); + if (!entry_accessible->signal_name_delete) { - gail_entry->signal_name_delete = "text_changed::delete"; - gail_entry->position_delete = arg1; - gail_entry->length_delete = arg2 - arg1; + entry_accessible->signal_name_delete = "text_changed::delete"; + entry_accessible->position_delete = arg1; + entry_accessible->length_delete = arg2 - arg1; } - gail_entry_notify_delete (gail_entry); + gtk_entry_accessible_notify_delete (entry_accessible); } static void -_gail_entry_changed_cb (GtkEntry *entry) +_gtk_entry_accessible_changed_cb (GtkEntry *entry) { AtkObject *accessible; - GailEntry *gail_entry; + GtkEntryAccessible *gtk_entry_accessible; accessible = gtk_widget_get_accessible (GTK_WIDGET (entry)); - gail_entry = GAIL_ENTRY (accessible); + gtk_entry_accessible = GTK_ENTRY_ACCESSIBLE (accessible); - text_setup (gail_entry, entry); + text_setup (gtk_entry_accessible, entry); } static gboolean -check_for_selection_change (GailEntry *entry, +check_for_selection_change (GtkEntryAccessible *entry, GtkEntry *gtk_entry) { gboolean selected, ret_val = FALSE; @@ -1236,21 +1236,21 @@ check_for_selection_change (GailEntry *entry, static void atk_action_interface_init (AtkActionIface *iface) { - iface->do_action = gail_entry_do_action; - iface->get_n_actions = gail_entry_get_n_actions; - iface->get_keybinding = gail_entry_get_keybinding; - iface->get_name = gail_entry_action_get_name; + iface->do_action = gtk_entry_accessible_do_action; + iface->get_n_actions = gtk_entry_accessible_get_n_actions; + iface->get_keybinding = gtk_entry_accessible_get_keybinding; + iface->get_name = gtk_entry_accessible_action_get_name; } static gboolean -gail_entry_do_action (AtkAction *action, +gtk_entry_accessible_do_action (AtkAction *action, gint i) { - GailEntry *entry; + GtkEntryAccessible *entry; GtkWidget *widget; gboolean return_value = TRUE; - entry = GAIL_ENTRY (action); + entry = GTK_ENTRY_ACCESSIBLE (action); widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action)); if (widget == NULL) /* @@ -1279,10 +1279,10 @@ gail_entry_do_action (AtkAction *action, static gboolean idle_do_action (gpointer data) { - GailEntry *entry; + GtkEntryAccessible *entry; GtkWidget *widget; - entry = GAIL_ENTRY (data); + entry = GTK_ENTRY_ACCESSIBLE (data); entry->action_idle_handler = 0; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (entry)); if (widget == NULL /* State is defunct */ || @@ -1295,19 +1295,19 @@ idle_do_action (gpointer data) } static gint -gail_entry_get_n_actions (AtkAction *action) +gtk_entry_accessible_get_n_actions (AtkAction *action) { return 1; } static const gchar* -gail_entry_get_keybinding (AtkAction *action, +gtk_entry_accessible_get_keybinding (AtkAction *action, gint i) { - GailEntry *entry; + GtkEntryAccessible *entry; gchar *return_value = NULL; - entry = GAIL_ENTRY (action); + entry = GTK_ENTRY_ACCESSIBLE (action); switch (i) { case 0: @@ -1323,7 +1323,7 @@ gail_entry_get_keybinding (AtkAction *action, gpointer target_object; guint key_val; - entry = GAIL_ENTRY (action); + entry = GTK_ENTRY_ACCESSIBLE (action); widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (entry)); if (widget == NULL) /* @@ -1365,7 +1365,7 @@ gail_entry_get_keybinding (AtkAction *action, } static const gchar* -gail_entry_action_get_name (AtkAction *action, +gtk_entry_accessible_action_get_name (AtkAction *action, gint i) { const gchar *return_value; diff --git a/gtk/a11y/gailentry.h b/gtk/a11y/gtkentryaccessible.h similarity index 57% rename from gtk/a11y/gailentry.h rename to gtk/a11y/gtkentryaccessible.h index 08636ddbc..882604001 100644 --- a/gtk/a11y/gailentry.h +++ b/gtk/a11y/gtkentryaccessible.h @@ -17,25 +17,25 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GAIL_ENTRY_H__ -#define __GAIL_ENTRY_H__ +#ifndef __GTK_ENTRY_ACCESSIBLE_H__ +#define __GTK_ENTRY_ACCESSIBLE_H__ #include "gailwidget.h" #include "gailtextutil.h" G_BEGIN_DECLS -#define GAIL_TYPE_ENTRY (gail_entry_get_type ()) -#define GAIL_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_ENTRY, GailEntry)) -#define GAIL_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_ENTRY, GailEntryClass)) -#define GAIL_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_ENTRY)) -#define GAIL_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_ENTRY)) -#define GAIL_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_ENTRY, GailEntryClass)) +#define GTK_TYPE_ENTRY_ACCESSIBLE (gtk_entry_accessible_get_type ()) +#define GTK_ENTRY_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ENTRY_ACCESSIBLE, GtkEntryAccessible)) +#define GTK_ENTRY_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_ENTRY_ACCESSIBLE, GtkEntryAccessibleClass)) +#define GTK_IS_ENTRY_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ENTRY_ACCESSIBLE)) +#define GTK_IS_ENTRY_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ENTRY_ACCESSIBLE)) +#define GTK_ENTRY_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ENTRY_ACCESSIBLE, GtkEntryAccessibleClass)) -typedef struct _GailEntry GailEntry; -typedef struct _GailEntryClass GailEntryClass; +typedef struct _GtkEntryAccessible GtkEntryAccessible; +typedef struct _GtkEntryAccessibleClass GtkEntryAccessibleClass; -struct _GailEntry +struct _GtkEntryAccessible { GailWidget parent; @@ -57,13 +57,13 @@ struct _GailEntry guint insert_idle_handler; }; -GType gail_entry_get_type (void); +GType gtk_entry_accessible_get_type (void); -struct _GailEntryClass +struct _GtkEntryAccessibleClass { GailWidgetClass parent_class; }; G_END_DECLS -#endif /* __GAIL_ENTRY_H__ */ +#endif /* __GTK_ENTRY_ACCESSIBLE_H__ */ diff --git a/gtk/a11y/gailspinbutton.c b/gtk/a11y/gtkspinbuttonaccessible.c similarity index 58% rename from gtk/a11y/gailspinbutton.c rename to gtk/a11y/gtkspinbuttonaccessible.c index 767099d4c..2b09deac9 100644 --- a/gtk/a11y/gailspinbutton.c +++ b/gtk/a11y/gtkspinbuttonaccessible.c @@ -21,39 +21,38 @@ #include #include -#include "gailspinbutton.h" +#include "gtkspinbuttonaccessible.h" #include "gailadjustment.h" -#include "gail-private-macros.h" -static void gail_spin_button_class_init (GailSpinButtonClass *klass); -static void gail_spin_button_init (GailSpinButton *button); -static void gail_spin_button_real_initialize (AtkObject *obj, +static void gtk_spin_button_accessible_class_init (GtkSpinButtonAccessibleClass *klass); +static void gtk_spin_button_accessible_init (GtkSpinButtonAccessible *button); +static void gtk_spin_button_accessible_real_initialize (AtkObject *obj, gpointer data); -static void gail_spin_button_finalize (GObject *object); +static void gtk_spin_button_accessible_finalize (GObject *object); static void atk_value_interface_init (AtkValueIface *iface); -static void gail_spin_button_real_notify_gtk (GObject *obj, +static void gtk_spin_button_accessible_real_notify_gtk (GObject *obj, GParamSpec *pspec); -static void gail_spin_button_get_current_value (AtkValue *obj, +static void gtk_spin_button_accessible_get_current_value (AtkValue *obj, GValue *value); -static void gail_spin_button_get_maximum_value (AtkValue *obj, +static void gtk_spin_button_accessible_get_maximum_value (AtkValue *obj, GValue *value); -static void gail_spin_button_get_minimum_value (AtkValue *obj, +static void gtk_spin_button_accessible_get_minimum_value (AtkValue *obj, GValue *value); -static void gail_spin_button_get_minimum_increment (AtkValue *obj, +static void gtk_spin_button_accessible_get_minimum_increment (AtkValue *obj, GValue *value); -static gboolean gail_spin_button_set_current_value (AtkValue *obj, +static gboolean gtk_spin_button_accessible_set_current_value (AtkValue *obj, const GValue *value); -static void gail_spin_button_value_changed (GtkAdjustment *adjustment, +static void gtk_spin_button_accessible_value_changed (GtkAdjustment *adjustment, gpointer data); -G_DEFINE_TYPE_WITH_CODE (GailSpinButton, gail_spin_button, GAIL_TYPE_ENTRY, +G_DEFINE_TYPE_WITH_CODE (GtkSpinButtonAccessible, gtk_spin_button_accessible, GTK_TYPE_ENTRY_ACCESSIBLE, G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init)) static void -gail_spin_button_class_init (GailSpinButtonClass *klass) +gtk_spin_button_accessible_class_init (GtkSpinButtonAccessibleClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); AtkObjectClass *class = ATK_OBJECT_CLASS (klass); @@ -61,27 +60,27 @@ gail_spin_button_class_init (GailSpinButtonClass *klass) widget_class = (GailWidgetClass*)klass; - widget_class->notify_gtk = gail_spin_button_real_notify_gtk; + widget_class->notify_gtk = gtk_spin_button_accessible_real_notify_gtk; - class->initialize = gail_spin_button_real_initialize; + class->initialize = gtk_spin_button_accessible_real_initialize; - gobject_class->finalize = gail_spin_button_finalize; + gobject_class->finalize = gtk_spin_button_accessible_finalize; } static void -gail_spin_button_init (GailSpinButton *button) +gtk_spin_button_accessible_init (GtkSpinButtonAccessible *button) { } static void -gail_spin_button_real_initialize (AtkObject *obj, +gtk_spin_button_accessible_real_initialize (AtkObject *obj, gpointer data) { GtkAdjustment *adjustment; - GailSpinButton *spin_button = GAIL_SPIN_BUTTON (obj); + GtkSpinButtonAccessible *spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (obj); GtkSpinButton *gtk_spin_button; - ATK_OBJECT_CLASS (gail_spin_button_parent_class)->initialize (obj, data); + ATK_OBJECT_CLASS (gtk_spin_button_accessible_parent_class)->initialize (obj, data); gtk_spin_button = GTK_SPIN_BUTTON (data); /* @@ -94,7 +93,7 @@ gail_spin_button_real_initialize (AtkObject *obj, spin_button->adjustment = gail_adjustment_new (adjustment); g_signal_connect (adjustment, "value-changed", - G_CALLBACK (gail_spin_button_value_changed), + G_CALLBACK (gtk_spin_button_accessible_value_changed), obj); } else @@ -107,22 +106,20 @@ gail_spin_button_real_initialize (AtkObject *obj, static void atk_value_interface_init (AtkValueIface *iface) { - iface->get_current_value = gail_spin_button_get_current_value; - iface->get_maximum_value = gail_spin_button_get_maximum_value; - iface->get_minimum_value = gail_spin_button_get_minimum_value; - iface->get_minimum_increment = gail_spin_button_get_minimum_increment; - iface->set_current_value = gail_spin_button_set_current_value; + iface->get_current_value = gtk_spin_button_accessible_get_current_value; + iface->get_maximum_value = gtk_spin_button_accessible_get_maximum_value; + iface->get_minimum_value = gtk_spin_button_accessible_get_minimum_value; + iface->get_minimum_increment = gtk_spin_button_accessible_get_minimum_increment; + iface->set_current_value = gtk_spin_button_accessible_set_current_value; } static void -gail_spin_button_get_current_value (AtkValue *obj, +gtk_spin_button_accessible_get_current_value (AtkValue *obj, GValue *value) { - GailSpinButton *spin_button; + GtkSpinButtonAccessible *spin_button; - g_return_if_fail (GAIL_IS_SPIN_BUTTON (obj)); - - spin_button = GAIL_SPIN_BUTTON (obj); + spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (obj); if (spin_button->adjustment == NULL) /* * Adjustment has not been specified @@ -133,14 +130,12 @@ gail_spin_button_get_current_value (AtkValue *obj, } static void -gail_spin_button_get_maximum_value (AtkValue *obj, +gtk_spin_button_accessible_get_maximum_value (AtkValue *obj, GValue *value) { - GailSpinButton *spin_button; - - g_return_if_fail (GAIL_IS_SPIN_BUTTON (obj)); + GtkSpinButtonAccessible *spin_button; - spin_button = GAIL_SPIN_BUTTON (obj); + spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (obj); if (spin_button->adjustment == NULL) /* * Adjustment has not been specified @@ -151,14 +146,12 @@ gail_spin_button_get_maximum_value (AtkValue *obj, } static void -gail_spin_button_get_minimum_value (AtkValue *obj, +gtk_spin_button_accessible_get_minimum_value (AtkValue *obj, GValue *value) { - GailSpinButton *spin_button; - - g_return_if_fail (GAIL_IS_SPIN_BUTTON (obj)); + GtkSpinButtonAccessible *spin_button; - spin_button = GAIL_SPIN_BUTTON (obj); + spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (obj); if (spin_button->adjustment == NULL) /* * Adjustment has not been specified @@ -169,13 +162,11 @@ gail_spin_button_get_minimum_value (AtkValue *obj, } static void -gail_spin_button_get_minimum_increment (AtkValue *obj, GValue *value) +gtk_spin_button_accessible_get_minimum_increment (AtkValue *obj, GValue *value) { - GailSpinButton *spin_button; + GtkSpinButtonAccessible *spin_button; - g_return_if_fail (GAIL_IS_SPIN_BUTTON (obj)); - - spin_button = GAIL_SPIN_BUTTON (obj); + spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (obj); if (spin_button->adjustment == NULL) /* * Adjustment has not been specified @@ -186,14 +177,12 @@ gail_spin_button_get_minimum_increment (AtkValue *obj, GValue *value) } static gboolean -gail_spin_button_set_current_value (AtkValue *obj, +gtk_spin_button_accessible_set_current_value (AtkValue *obj, const GValue *value) { - GailSpinButton *spin_button; - - g_return_val_if_fail (GAIL_IS_SPIN_BUTTON (obj), FALSE); + GtkSpinButtonAccessible *spin_button; - spin_button = GAIL_SPIN_BUTTON (obj); + spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (obj); if (spin_button->adjustment == NULL) /* * Adjustment has not been specified @@ -204,25 +193,25 @@ gail_spin_button_set_current_value (AtkValue *obj, } static void -gail_spin_button_finalize (GObject *object) +gtk_spin_button_accessible_finalize (GObject *object) { - GailSpinButton *spin_button = GAIL_SPIN_BUTTON (object); + GtkSpinButtonAccessible *spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (object); if (spin_button->adjustment) { g_object_unref (spin_button->adjustment); spin_button->adjustment = NULL; } - G_OBJECT_CLASS (gail_spin_button_parent_class)->finalize (object); + G_OBJECT_CLASS (gtk_spin_button_accessible_parent_class)->finalize (object); } static void -gail_spin_button_real_notify_gtk (GObject *obj, +gtk_spin_button_accessible_real_notify_gtk (GObject *obj, GParamSpec *pspec) { GtkWidget *widget = GTK_WIDGET (obj); - GailSpinButton *spin_button = GAIL_SPIN_BUTTON (gtk_widget_get_accessible (widget)); + GtkSpinButtonAccessible *spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (gtk_widget_get_accessible (widget)); if (strcmp (pspec->name, "adjustment") == 0) { @@ -247,24 +236,24 @@ gail_spin_button_real_notify_gtk (GObject *obj, spin_button->adjustment = gail_adjustment_new (adjustment); g_signal_connect (adjustment, "value-changed", - G_CALLBACK (gail_spin_button_value_changed), + G_CALLBACK (gtk_spin_button_accessible_value_changed), spin_button); } else - GAIL_WIDGET_CLASS (gail_spin_button_parent_class)->notify_gtk (obj, pspec); + GAIL_WIDGET_CLASS (gtk_spin_button_accessible_parent_class)->notify_gtk (obj, pspec); } static void -gail_spin_button_value_changed (GtkAdjustment *adjustment, +gtk_spin_button_accessible_value_changed (GtkAdjustment *adjustment, gpointer data) { - GailSpinButton *spin_button; + GtkSpinButtonAccessible *spin_button; - gail_return_if_fail (adjustment != NULL); - gail_return_if_fail (data != NULL); + if (adjustment == NULL || data == NULL) + return; - spin_button = GAIL_SPIN_BUTTON (data); + spin_button = GTK_SPIN_BUTTON_ACCESSIBLE (data); g_object_notify (G_OBJECT (spin_button), "accessible-value"); } diff --git a/gtk/a11y/gtkspinbuttonaccessible.h b/gtk/a11y/gtkspinbuttonaccessible.h new file mode 100644 index 000000000..87f0d3943 --- /dev/null +++ b/gtk/a11y/gtkspinbuttonaccessible.h @@ -0,0 +1,53 @@ +/* GAIL - The GNOME Accessibility Implementation Library + * Copyright 2001 Sun Microsystems Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_SPIN_BUTTON_ACCESSIBLE_H__ +#define __GTK_SPIN_BUTTON_ACCESSIBLE_H__ + +#include "gtkentryaccessible.h" + +G_BEGIN_DECLS + +#define GTK_TYPE_SPIN_BUTTON_ACCESSIBLE (gtk_spin_button_accessible_get_type ()) +#define GTK_SPIN_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE, GtkSpinButtonAccessible)) +#define GTK_SPIN_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE, GtkSpinButtonAccessibleClass)) +#define GTK_IS_SPIN_BUTTON_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE)) +#define GTK_IS_SPIN_BUTTON_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE)) +#define GTK_SPIN_BUTTON_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SPIN_BUTTON_ACCESSIBLE, GtkSpinButtonAccessibleClass)) + +typedef struct _GtkSpinButtonAccessible GtkSpinButtonAccessible; +typedef struct _GtkSpinButtonAccessibleClass GtkSpinButtonAccessibleClass; + +struct _GtkSpinButtonAccessible +{ + GtkEntryAccessible parent; + + AtkObject *adjustment; +}; + +struct _GtkSpinButtonAccessibleClass +{ + GtkEntryAccessibleClass parent_class; +}; + +GType gtk_spin_button_accessible_get_type (void); + +G_END_DECLS + +#endif /* __GTK_SPIN_BUTTON_ACCESSIBLE_H__ */ diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 8e1b7ec43..f5088e700 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -67,6 +67,8 @@ #include "gtkwidgetprivate.h" #include "gtkstylecontextprivate.h" +#include "a11y/gtkentryaccessible.h" + /** * SECTION:gtkentry * @Short_description: A single line text entry field @@ -1870,6 +1872,8 @@ gtk_entry_class_init (GtkEntryClass *class) GTK_PARAM_READABLE)); g_type_class_add_private (gobject_class, sizeof (GtkEntryPrivate)); + + gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ENTRY_ACCESSIBLE); } static void diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 0bb565633..8ff0df4ed 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -45,6 +45,8 @@ #include "gtkintl.h" #include "gtktypebuiltins.h" +#include "a11y/gtkspinbuttonaccessible.h" + #define MIN_SPIN_BUTTON_WIDTH 30 #define MAX_TIMER_CALLS 5 #define EPSILON 1e-10 @@ -507,6 +509,8 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) add_spin_binding (binding_set, GDK_KEY_Page_Down, GDK_CONTROL_MASK, GTK_SCROLL_START); g_type_class_add_private (class, sizeof (GtkSpinButtonPrivate)); + + gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SPIN_BUTTON_ACCESSIBLE); } static void