Re: Could we discuss the patch again on gal atk implementation? was:Re: [evolution-patches] Re: GAL status



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]