[gtk+/drop-gail: 13/24] Move GailCalendar to GtkCalendarAccessible
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/drop-gail: 13/24] Move GailCalendar to GtkCalendarAccessible
- Date: Sun, 15 May 2011 02:13:11 +0000 (UTC)
commit 5a54658f7dd1a1124b8ab89ea62b7e28961983fd
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Feb 25 00:53:17 2011 -0500
Move GailCalendar to GtkCalendarAccessible
gtk/Makefile.am | 1 +
gtk/gtkcalendar.c | 35 +++++++++++++++++++++++++++
gtk/gtkcalendaraccessible.h | 55 +++++++++++++++++++++++++++++++++++++++++++
modules/other/gail/gail.c | 17 ++++++-------
4 files changed, 99 insertions(+), 9 deletions(-)
---
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 2a7918f..a7e18a3 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -386,6 +386,7 @@ gtk_private_h_sources = \
gtkbindingsprivate.h \
gtkbuilderprivate.h \
gtkbuttonprivate.h \
+ gtkcalendaraccessible.h \
gtkcellareaboxcontextprivate.h \
gtkcontaineraccessible.h \
gtkcssproviderprivate.h \
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 404dfe9..7c12eef 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -4040,3 +4040,38 @@ gtk_calendar_get_detail_height_rows (GtkCalendar *calendar)
g_return_val_if_fail (GTK_IS_CALENDAR (calendar), 0);
return GTK_CALENDAR_GET_PRIVATE (calendar)->detail_height_rows;
}
+
+
+/* --- Accessibility --- */
+
+#include "gtkaccessibility.h"
+#include "gtkcalendaraccessible.h"
+
+G_DEFINE_TYPE (GtkCalendarAccessible, gtk_calendar_accessible, GTK_TYPE_WIDGET_ACCESSIBLE)
+
+static void
+gtk_calendar_accessible_initialize (AtkObject *accessible,
+ gpointer data)
+{
+ ATK_OBJECT_CLASS (gtk_calendar_accessible_parent_class)->initialize (accessible, data);
+
+ /* FIXME: this is the *only* change to GtkWidgetAccessible
+ * this does not deserve a separate class
+ */
+ atk_object_set_role (accessible, ATK_ROLE_CALENDAR);
+}
+
+static void
+gtk_calendar_accessible_class_init (GtkCalendarAccessibleClass *klass)
+{
+ AtkObjectClass *atkobject_class = ATK_OBJECT_CLASS (klass);
+
+ atkobject_class->initialize = gtk_calendar_accessible_initialize;
+}
+
+static void
+gtk_calendar_accessible_init (GtkCalendarAccessible *accessible)
+{
+}
+
+GTK_ACCESSIBLE_FACTORY(GTK_TYPE_CALENDAR_ACCESSIBLE, gtk_calendar_accessible)
diff --git a/gtk/gtkcalendaraccessible.h b/gtk/gtkcalendaraccessible.h
new file mode 100644
index 0000000..111c3e7
--- /dev/null
+++ b/gtk/gtkcalendaraccessible.h
@@ -0,0 +1,55 @@
+/* GTK - The GIMP Toolkit
+ * Copyright 2011 Red Hat, 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.
+ */
+
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
+#ifndef __GTK_CALENDAR_ACCESSIBLE_H__
+#define __GTK_CALENDAR_ACCESSIBLE_H__
+
+#include <gtk/gtkwidgetaccessible.h>
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_CALENDAR_ACCESSIBLE (gtk_calendar_accessible_get_type ())
+#define GTK_CALENDAR_ACCESSIBLE(obj)(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CALENDAR_ACCESSIBLE, GtkCalendarAccessible))
+#define GTK_CALENDAR_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CALENDAR_ACCESSIBLE, GtkCalendarAccessibleClass))
+
+typedef struct _GtkCalendarAccessible GtkCalendarAccessible;
+typedef struct _GtkCalendarAccessibleClass GtkCalendarAccessibleClass;
+
+struct _GtkCalendarAccessible
+{
+ GtkWidgetAccessible parent;
+};
+
+struct _GtkCalendarAccessibleClass
+{
+ GtkWidgetAccessibleClass parent_class;
+};
+
+
+GType gtk_calendar_accessible_get_type (void) G_GNUC_CONST;
+GType gtk_calendar_accessible_factory_get_type (void) G_GNUC_CONST;
+
+
+G_END_DECLS
+
+#endif /* __GTK_CALENDAR_ACCESSIBLE_H__ */
diff --git a/modules/other/gail/gail.c b/modules/other/gail/gail.c
index e3be7ca..b6a29bc 100644
--- a/modules/other/gail/gail.c
+++ b/modules/other/gail/gail.c
@@ -23,6 +23,11 @@
#include <stdlib.h>
#include <gtk/gtkx.h>
+#include <gtk/gtkcalendaraccessible.h>
+#include <gtk/gtkcontaineraccessible.h>
+#include <gtk/gtkimageaccessible.h>
+#include <gtk/gtkwidgetaccessible.h>
+
#include "gail.h"
#include "gailfactory.h"
@@ -856,14 +861,6 @@ gail_set_focus_object (AtkObject *focus_obj,
extern void gnome_accessibility_module_init (void);
extern void gnome_accessibility_module_shutdown (void);
-/* This is only temporary until factory registration moves
- * to GTK+ proper
- */
-extern GType gtk_widget_accessible_factory_get_type (void);
-extern GType gtk_container_accessible_factory_get_type (void);
-extern GType gtk_image_accessible_factory_get_type (void);
-extern GType gtk_arrow_accessible_factory_get_type (void);
-
static int gail_initialized = FALSE;
static void
@@ -898,6 +895,9 @@ gail_accessibility_module_init (void)
atk_registry_set_factory_type (atk_get_default_registry (),
GTK_TYPE_ARROW,
gtk_arrow_accessible_factory_get_type ());
+ atk_registry_set_factory_type (atk_get_default_registry (),
+ GTK_TYPE_CALENDAR,
+ gtk_calendar_accessible_factory_get_type ());
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_BUTTON, gail_button);
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_LINK_BUTTON, gail_link_button);
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_MENU_ITEM, gail_menu_item);
@@ -914,7 +914,6 @@ gail_accessibility_module_init (void)
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_LABEL, gail_label);
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_STATUSBAR, gail_statusbar);
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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]