From 0a13fd3702b265298268ece517c3c99e519c7b79 Mon Sep 17 00:00:00 2001 From: Yuedong Du Date: Wed, 17 Dec 2003 02:35:20 +0000 Subject: Fixed bug 51917, add atk support for ClickToAdd 2003-12-16 Yuedong Du Fixed bug 51917, add atk support for ClickToAdd * gal/a11y/e-table/Makefile.am: add files. * gal/a11y/e-table/gal-a11y-e-table-click-to-add-factory.c: (gal_a11y_e_table_click_to_add_factory_get_accessible_type), (gal_a11y_e_table_click_to_add_factory_create_accessible), (gal_a11y_e_table_click_to_add_factory_class_init), (gal_a11y_e_table_click_to_add_factory_init), (gal_a11y_e_table_click_to_add_factory_get_type): factory for ClickToAdd * gal/a11y/e-table/gal-a11y-e-table-click-to-add-factory.h: ditto * gal/a11y/e-table/gal-a11y-e-table-click-to-add.c: (etcta_get_n_actions), (etcta_get_description), (etcta_action_get_name), (idle_do_action), (etcta_do_action), (atk_action_interface_init): a "click" action interface. (etcta_get_name), (etcta_get_n_children), (etcta_ref_child): create accessible according to which child is available. Either rect or row. (etcta_class_init), (etcta_init), (gal_a11y_e_table_click_to_add_get_type), (etcta_event): listen to canvas event, emit children-changed signal when it found rect/row was changed. (gal_a11y_e_table_click_to_add_new): * gal/a11y/e-table/gal-a11y-e-table-click-to-add.h: * gal/a11y/e-table/gal-a11y-e-table-item-factory.c: (gal_a11y_e_table_item_factory_create_accessible): * gal/a11y/e-table/gal-a11y-e-table.c: (init_child_item), (et_get_n_children), (et_ref_child): change the trick way to create a11y object for a table item. Because ClickToAdd is also a table item, previous way do not work for clicktoadd. * gal/e-table/e-table-click-to-add.c: (etcta_class_init): atk_register the new a11y factory. svn path=/trunk/; revision=23956 --- a11y/e-table/gal-a11y-e-table-click-to-add.h | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 a11y/e-table/gal-a11y-e-table-click-to-add.h (limited to 'a11y/e-table/gal-a11y-e-table-click-to-add.h') diff --git a/a11y/e-table/gal-a11y-e-table-click-to-add.h b/a11y/e-table/gal-a11y-e-table-click-to-add.h new file mode 100644 index 0000000000..98e3aa9b80 --- /dev/null +++ b/a11y/e-table/gal-a11y-e-table-click-to-add.h @@ -0,0 +1,35 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ + +#ifndef __GAL_A11Y_E_TABLE_CLICK_TO_ADD_H__ +#define __GAL_A11Y_E_TABLE_CLICK_TO_ADD_H__ + +#include +#include +#include + +#define GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD (gal_a11y_e_table_click_to_add_get_type ()) +#define GAL_A11Y_E_TABLE_CLICK_TO_ADD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD, GalA11yETableClickToAdd)) +#define GAL_A11Y_E_TABLE_CLICK_TO_ADD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD, GalA11yETableClickToAddClass)) +#define GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD)) +#define GAL_A11Y_IS_E_TABLE_CLICK_TO_ADD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TABLE_CLICK_TO_ADD)) + +typedef struct _GalA11yETableClickToAdd GalA11yETableClickToAdd; +typedef struct _GalA11yETableClickToAddClass GalA11yETableClickToAddClass; +typedef struct _GalA11yETableClickToAddPrivate GalA11yETableClickToAddPrivate; + +/* This struct should actually be larger as this isn't what we derive from. + * The GalA11yETableClickToAddPrivate comes right after the parent class structure. + **/ +struct _GalA11yETableClickToAdd { + AtkGObjectAccessible parent; +}; + +struct _GalA11yETableClickToAddClass { + AtkGObjectAccessibleClass parent_class; +}; + +/* Standard Glib function */ +GType gal_a11y_e_table_click_to_add_get_type (void); +AtkObject *gal_a11y_e_table_click_to_add_new (GObject *widget); + +#endif /* ! __GAL_A11Y_E_TABLE_CLICK_TO_ADD_H__ */ -- cgit v1.2.3