Re: Could we discuss the patch again on gal atk implementation? was:Re: [evolution-patches] Re: GAL status
- From: Gilbert Fang <gilbert fang sun com>
- To: Mike Kestner <mkestner ximian com>
- Cc: Ettore Perazzoli <ettore ximian com>, Henry Jia <Henry Jia sun com>, "evolution-patches ximian com" <evolution-patches ximian com>, SCERI Evolution Accessibility <sceri-evolution-acc sun com>
- Subject: Re: Could we discuss the patch again on gal atk implementation? was:Re: [evolution-patches] Re: GAL status
- Date: 29 Jul 2003 19:39:13 +0800
sorry, forget attaching the patch
Hi, Mike
On Tue, 2003-07-29 at 02:04, Mike Kestner wrote:
> Hi Gilbert,
>
> On Sun, 2003-07-27 at 23:03, Gilbert Fang wrote:
>
> > 1) Remove the original libgal-a11y-2.0.so (which is rpm packaged as
> > libgal-modules). Instead of that, we create a new library
> > libgal-a11y.so for atk support. libgal-a11y.so is not a gtk modules at
> > all, and it should be installed with libgal before gal is dead totally.
>
> If that's the way it's supposed to be done, we should change to that
> approach in gal. I would prefer to keep the -2.0 versioning in the
> libname though.
>
Okay, the name will be libgal-a11y-2.0
> > 2) atk object implementation for epaned. The source code for this part
> > are all under gal/a11y/e-paned.
>
> I committed a patch to remove e-paned from the build today, along with
> removing the e-scroll-frame and e-[hv]scrollbar. EPaned and subclasses
> no longer exist in gal as of version 1.99.9 which was tagged and
> tarballed today.
Anyway, just now I checked out the gal (HEAD), gal/e-paned directory and
source files still existed. Do you mean your internal CVS server?
>
> > At least, part 2 is not harmful. So could I check the whole patch to gal
> > HEAD,or I have to split the patch and make the part 1 into HEAD?
>
> Please split out part 1 since part 2 is no longer necessary. Thanks.
okay. The patch for part 1 is in attachment.
Could you please review it soon ? Because we are waiting for it, and
then update the a11y branch for the future work.
Best Regards
Gilbert
Index: gal-2.0.pc.in
===================================================================
RCS file: /cvs/gnome/gal/gal-2.0.pc.in,v
retrieving revision 1.4
diff -u -r1.4 gal-2.0.pc.in
--- gal-2.0.pc.in 21 Jan 2003 16:48:00 -0000 1.4
+++ gal-2.0.pc.in 29 Jul 2003 10:56:20 -0000
@@ -8,5 +8,5 @@
Version: @VERSION@
Requires: gtk+-2.0 libxml-2.0 libglade-2.0 libgnomeprint-2.2
-Libs: -L${libdir} -lgal-2.0
+Libs: -L${libdir} -lgal-2.0 -lgal-a11y-2.0
Cflags: -I${includedir}/gal-2.0
Index: gal/Makefile.am
===================================================================
RCS file: /cvs/gnome/gal/gal/Makefile.am,v
retrieving revision 1.67
diff -u -r1.67 Makefile.am
--- gal/Makefile.am 28 Jul 2003 16:36:10 -0000 1.67
+++ gal/Makefile.am 29 Jul 2003 10:56:27 -0000
@@ -1,5 +1,5 @@
nonui_subdirs = util
-ui_subdirs = widgets e-table e-text menus shortcut-bar . a11y
+ui_subdirs = widgets e-table e-text menus shortcut-bar a11y .
SUBDIRS = $(nonui_subdirs) $(ui_subdirs)
@@ -16,4 +16,5 @@
e-text/libetext.la \
menus/libgalmenus.la \
shortcut-bar/libshortcut-bar.la \
+ a11y/libgal-a11y-2.0.la \
$(EXTRA_GNOME_LIBS)
Index: gal/a11y/Makefile.am
===================================================================
RCS file: /cvs/gnome/gal/gal/a11y/Makefile.am,v
retrieving revision 1.3
diff -u -r1.3 Makefile.am
--- gal/a11y/Makefile.am 3 May 2003 17:05:28 -0000 1.3
+++ gal/a11y/Makefile.am 29 Jul 2003 10:56:31 -0000
@@ -1,4 +1,4 @@
-SUBDIRS = e-table e-text
+SUBDIRS = e-table e-text
INCLUDES = \
-I$(top_srcdir) \
@@ -7,28 +7,30 @@
$(GNOME_BONOBO_CFLAGS) \
$(GNOME_INCLUDEDIR) \
$(ICONV_CFLAGS) \
- -DG_LOG_DOMAIN=\"gal-a11y\"
+ -DGTK_DISABLE_DEPRECATED=1 \
+ -DGDK_DISABLE_DEPRECATED=1 \
+ -DG_DISABLE_DEPRECATED=1 \
+ -DGNOME_DISABLE_DEPRECATED=1 \
+ -DG_LOG_DOMAIN=\"gal-a11y\"
-module_LTLIBRARIES = libgal-a11y-2.0.la
-moduledir = $(libdir)/gtk-2.0/modules
+lib_LTLIBRARIES = libgal-a11y-2.0.la
libgal_a11y_2_0_la_LDFLAGS = \
- -rpath $(moduledir) -module -avoid-version -no-undefined \
+ -avoid-version -no-undefined \
@LDFLAGS@
libgal_a11y_2_0_la_SOURCES = \
- gal-a11y-util.c \
- init.c
+ gal-a11y-util.c
libgal_a11y_2_0includedir = $(includedir)/gal-$(GAL_API_VERSION)/gal/a11y
libgal_a11y_2_0include_HEADERS = \
- gal-a11y-util.h
+ gal-a11y-util.h \
+ gal-a11y-factory.h
libgal_a11y_2_0_la_LIBADD = \
- e-table/libgal-a11y-etable.la \
e-text/libgal-a11y-etext.la \
- $(top_builddir)/gal/libgal-2.0.la \
+ $(top_builddir)/gal/e-text/libetext.la \
$(EXTRA_GNOME_LIBS)
--- /dev/null 2002-08-31 07:31:37.000000000 +0800
+++ gal/a11y/gal-a11y-factory.h 2003-07-29 16:34:30.000000000 +0800
@@ -0,0 +1,94 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* GAL A11Y
+ * gal-a11y-factory.h
+ *
+ * Copyright 2003 Ximian 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.
+ *
+ * Authors:
+ * Gilbert Fang <gilbert fang sun com>, Sun Microsystem Inc. 2003.
+ *
+ * This file is mainly from the gailfactory.h of GAIL.
+ */
+
+#ifndef _GAL_A11Y_FACTORY_H__
+#define _GAL_A11Y_FACTORY_H__
+
+#include <glib-object.h>
+#include <atk/atkobject.h>
+#include <atk/atkobjectfactory.h>
+
+#define GAL_A11Y_FACTORY(type, type_as_function, opt_create_accessible) \
+ \
+static GType \
+type_as_function ## _factory_get_accessible_type (void) \
+{ \
+ return type; \
+} \
+ \
+static AtkObject* \
+type_as_function ## _factory_create_accessible (GObject *obj) \
+{ \
+ GtkWidget *widget; \
+ AtkObject *accessible; \
+ \
+ g_return_val_if_fail (GTK_IS_WIDGET (obj), NULL); \
+ \
+ widget = GTK_WIDGET (obj); \
+ \
+ accessible = opt_create_accessible (widget); \
+ \
+ return accessible; \
+} \
+ \
+static void \
+type_as_function ## _factory_class_init (AtkObjectFactoryClass *klass) \
+{ \
+ klass->create_accessible = type_as_function ## _factory_create_accessible; \
+ klass->get_accessible_type = type_as_function ## _factory_get_accessible_type;\
+} \
+ \
+static GType \
+type_as_function ## _factory_get_type (void) \
+{ \
+ static GType t = 0; \
+ \
+ if (!t) \
+ { \
+ char *name; \
+ static const GTypeInfo tinfo = \
+ { \
+ sizeof (AtkObjectFactoryClass), \
+ NULL, NULL, (GClassInitFunc) type_as_function ## _factory_class_init, \
+ NULL, NULL, sizeof (AtkObjectFactory), 0, NULL, NULL \
+ }; \
+ \
+ name = g_strconcat (g_type_name (type), "Factory", NULL); \
+ t = g_type_register_static ( \
+ ATK_TYPE_OBJECT_FACTORY, name, &tinfo, 0); \
+ g_free (name); \
+ } \
+ \
+ return t; \
+}
+
+#define GAL_A11Y_WIDGET_SET_FACTORY(widget_type, type_as_function) \
+ atk_registry_set_factory_type (atk_get_default_registry (), \
+ widget_type, \
+ type_as_function ## _factory_get_type ())
+
+#endif /* _GAL_A11Y_FACTORY_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]