aboutsummaryrefslogtreecommitdiffstats
path: root/a11y
diff options
context:
space:
mode:
Diffstat (limited to 'a11y')
-rw-r--r--a11y/.cvsignore2
-rw-r--r--a11y/ChangeLog328
-rw-r--r--a11y/Makefile.am16
-rw-r--r--a11y/addressbook/.cvsignore2
-rw-r--r--a11y/addressbook/Makefile.am34
-rw-r--r--a11y/addressbook/ea-addressbook-view.c122
-rw-r--r--a11y/addressbook/ea-addressbook-view.h61
-rw-r--r--a11y/addressbook/ea-addressbook.c87
-rw-r--r--a11y/addressbook/ea-addressbook.h36
-rw-r--r--a11y/addressbook/ea-minicard-view.c406
-rw-r--r--a11y/addressbook/ea-minicard-view.h62
-rw-r--r--a11y/addressbook/ea-minicard.c269
-rw-r--r--a11y/addressbook/ea-minicard.h62
-rw-r--r--a11y/calendar/.cvsignore6
-rw-r--r--a11y/calendar/Makefile.am55
-rw-r--r--a11y/calendar/ea-cal-view-event.c528
-rw-r--r--a11y/calendar/ea-cal-view-event.h64
-rw-r--r--a11y/calendar/ea-cal-view.c441
-rw-r--r--a11y/calendar/ea-cal-view.h64
-rw-r--r--a11y/calendar/ea-calendar-helpers.c159
-rw-r--r--a11y/calendar/ea-calendar-helpers.h43
-rw-r--r--a11y/calendar/ea-calendar.c195
-rw-r--r--a11y/calendar/ea-calendar.h39
-rw-r--r--a11y/calendar/ea-day-view-cell.c396
-rw-r--r--a11y/calendar/ea-day-view-cell.h91
-rw-r--r--a11y/calendar/ea-day-view-main-item.c1292
-rw-r--r--a11y/calendar/ea-day-view-main-item.h64
-rw-r--r--a11y/calendar/ea-day-view.c267
-rw-r--r--a11y/calendar/ea-day-view.h64
-rw-r--r--a11y/calendar/ea-gnome-calendar.c353
-rw-r--r--a11y/calendar/ea-gnome-calendar.h67
-rw-r--r--a11y/calendar/ea-jump-button.c226
-rw-r--r--a11y/calendar/ea-jump-button.h64
-rw-r--r--a11y/calendar/ea-week-view-cell.c478
-rw-r--r--a11y/calendar/ea-week-view-cell.h92
-rw-r--r--a11y/calendar/ea-week-view-main-item.c1275
-rw-r--r--a11y/calendar/ea-week-view-main-item.h65
-rw-r--r--a11y/calendar/ea-week-view.c322
-rw-r--r--a11y/calendar/ea-week-view.h65
-rw-r--r--a11y/ea-cell-table.c207
-rw-r--r--a11y/ea-cell-table.h63
-rw-r--r--a11y/ea-factory.h113
-rw-r--r--a11y/widgets/.cvsignore2
-rw-r--r--a11y/widgets/Makefile.am33
-rw-r--r--a11y/widgets/ea-calendar-cell.c325
-rw-r--r--a11y/widgets/ea-calendar-cell.h92
-rw-r--r--a11y/widgets/ea-calendar-item.c1300
-rw-r--r--a11y/widgets/ea-calendar-item.h75
-rw-r--r--a11y/widgets/ea-combo-button.c170
-rw-r--r--a11y/widgets/ea-combo-button.h35
-rw-r--r--a11y/widgets/ea-widgets.c42
-rw-r--r--a11y/widgets/ea-widgets.h35
52 files changed, 0 insertions, 10754 deletions
diff --git a/a11y/.cvsignore b/a11y/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/a11y/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/a11y/ChangeLog b/a11y/ChangeLog
deleted file mode 100644
index f905c5a39a..0000000000
--- a/a11y/ChangeLog
+++ /dev/null
@@ -1,328 +0,0 @@
-2005-02-01 Harry Lu <harry.lu@sun.com>
-
- Fix for 71924, 71926, 71932
- Don't split sentences that need translation.
- Also remove two useless variables.
-
- * calendar/ea-cal-view-event.c: (ea_cal_view_event_get_name):
- * calendar/ea-day-view.c: (ea_day_view_get_name):
- * calendar/ea-week-view.c: (ea_week_view_get_name),
- (ea_week_view_get_n_children):
- * widgets/ea-calendar-item.c: (ea_calendar_item_get_name),
- (e_calendar_item_get_offset_for_date):
-
-2005-01-31 Rodrigo Moya <rodrigo@novell.com>
-
- Fixes #71929
-
- * calendar/ea-day-view.c (ea_day_view_get_name):
- * calendar/ea-week-view.c (ea_week_view_get_name): don't use spaces
- before colons.
-
-2005-01-28 Sivaiah Nallagatla <snallagatla@novell.com>
-
- * addressbook/ea-minicard-view.c
- (ea_minicard_view_get_name) : fix a typo present
- in the string too
-
-2005-01-28 Sivaiah Nallagatla <snallagatla@novell.com>
-
- * addressbook/ea-minicard-view.c
- (ea_minicard_view_get_name) : use ngetext
- instead of splitting the the sentence to take care
- of different messages for plural vs singular case
- Fixes #61060
-
-2005-01-15 JP Rosevear <jpr@novell.com>
-
- * calendar/ea-calendar-helpers.c
- (ea_calendar_helpers_get_cal_view_from): use E_CALENDAR_VIEW, not
- E_CAL_VIEW
-
- Fixes #71306
-
- * calendar/Makefile.am: no need for any idl in this directory, it
- was not used anywhere
-
-2005-01-04 Harry Lu <harry.lu@sun.com>
-
- * widgets/Makefile.am: add ea-combo-button.[ch] to Makefile.
- * widgets/ea-combo-button.c:
- * widgets/ea-combo-button.h: implement a11y object for e-combo-button.
- * widgets/ea-widgets.c: (e_combo_button_a11y_init): set a11y factory.
- * widgets/ea-widgets.h: add declaration.
-
-2004-12-09 Harry Lu <harry.lu@sun.com>
-
- Fix a warning.
-
- * addressbook/ea-addressbook.c: (ea_addressbook_focus_watcher):
- use object instead of ATK_OBJECT (minicard).
-
-2004-12-1 Hao Sheng <hao.sheng@sun.com>
-
- * a11y/addressbook/ea-minicard.c:
- (atk_action_interface_do_action): Change e_minicard_activiate_editor to
- e_minicard_activate_editor.
-
-2004-11-08 Steven Zhang <steven.zhang@sun.com>
-
- Implement accessible feature for e-minicard and e-mini-card-view.
- Add get_n_children, ref_child, ref_state_set, atk_selection_interface,
- and action_interface for ea-minicard-view and ea-minicard
-
- *ea-minicard-view.c:
- (ea_minicard_view_get_n_children),
- (ea_minicard_view_ref_child),
- (ea_minicard_view_ref_state_set),
- (atk_selection_interface_init),
- (selection_interface_add_selection),
- (selection_interface_clear_selection),
- (selection_interface_ref_selection),
- (selection_interface_get_selection_count),
- (selection_interface_is_child_selected),
- (atk_action_interface_init),
- (atk_action_interface_do_action),
- (atk_action_interface_get_n_action),
- (atk_action_interface_get_description),
- (atk_action_interface_get_name).
-
- *ea-minicard.c:
- (ea_minicard_get_n_children),
- (ea_minicard_ref_child),
- (ea_minicard_ref_state_set),
- (atk_action_interface_init),
- (atk_action_interface_do_action),
- (atk_action_interface_get_n_action),
- (atk_action_interface_get_description),
- (atk_action_interface_get_name).
-
-2004-11-01 Li Yuan <li.yuan@sun.com>
-
- * calendar/ea-day-view.c: (ea_day_view_get_name):
- use ngettext for n_events.
- * calendar/ea-week-view.c: (ea_week_view_get_name):
- ditto.
-
-2004-10-26 Li Yuan <li.yuan@sun.com>
-
- * calendar/ea-day-view.c: (ea_day_view_get_name):
- * calendar/ea-gnome-calendar.c:
- (ea_gnome_calendar_get_label_description),
- (ea_gcal_dates_change_cb):
- * calendar/ea-gnome-calendar.h:
- * calendar/ea-week-view.c: (ea_week_view_get_name):
- for calendar_get_text_for_folder_bar_label has been removed form
- calendar-commands.c, we implement it ourself.
-
-2004-09-23 Li Yuan <li.yuan@sun.com>
-
- * calendar/ea-cal-view-event.c: (ea_cal_view_event_get_type),
- (ea_cal_view_event_get_name), (ea_cal_view_event_get_description):
- Make accessibility name and description translatable.
- (atk_action_interface_init), (ea_cal_view_event_do_action),
- (ea_cal_view_event_get_n_actions),
- (ea_cal_view_event_action_get_name):
- Add action interface to ea-cal-view-event so that it can be
- UI grabbed by GOK.
- * calendar/ea-cal-view.c:
- Make accessibility name and description translatable.
- * calendar/ea-day-view-cell.c: (ea_day_view_cell_new):
- Change atk role of ea-day-view-cell from ATK_ROLE_TABLE_CELL
- to ATK_ROLE_UNKNOWN so that it can be UI grabbed by GOK.
- (atk_component_interface_init), (component_interface_grab_focus):
- Add a component interface function : grab_focus.
- When grab focus, present the Evolution GUI to the front.
- * calendar/ea-day-view-main-item.c:
- (ea_day_view_main_item_get_description):
- Make accessibility name and description translatable.
- (ea_day_view_main_item_time_change_cb):
- Notify the item_cell is selected.
- * calendar/ea-day-view.c: (ea_day_view_get_name),
- (ea_day_view_get_description):
- Make accessibility name and description translatable.
- * calendar/ea-gnome-calendar.c: (ea_gnome_calendar_get_name),
- (ea_gnome_calendar_get_description), (ea_gnome_calendar_ref_child):
- Make accessibility name and description translatable.
- * calendar/ea-jump-button.c: (ea_jump_button_get_name),
- (ea_jump_button_get_description):
- Make accessibility name and description translatable.
- * calendar/ea-week-view-cell.c: (ea_week_view_cell_get_name),
- (atk_component_interface_init), (component_interface_get_extents),
- (component_interface_grab_focus):
- Add a component interface function : grab_focus.
- Add support for different week start days.
- When grab focus, present the Evolutioon GUI to the front.
- * calendar/ea-week-view-main-item.c: (ea_week_view_main_item_new):
- Set the atk role to ATK_ROLE_TABLE.
- (ea_week_view_main_item_get_description):
- Make accessibility name and description translatable.
- (ea_week_view_main_item_time_change_cb):
- Notify the item_cell is selected.
- * calendar/ea-week-view.c: (ea_week_view_get_name),
- (ea_week_view_get_description):
- Make accessibility name and description translatable.
- * widgets/ea-calendar-cell.c: (ea_calendar_cell_new):
- Change atk role of ea-calendar-cell from ATK_ROLE_TABLE_CELL
- to ATK_ROLE_UNKNOWN so that it can be UI grabbed by GOK.
- * widgets/ea-calendar-item.c: (ea_calendar_item_class_init),
- (ea_calendar_item_get_name), (ea_calendar_item_get_description):
- Make accessibility name and description translatable.
- (ea_calendar_item_ref_state_set),:
- Implement ref_state_set so that ea-calendar-item can be UI
- grabbed by GOK.
- (ea_calendar_item_destory_cell_data):
- Fix a crash here.
-
-2004-04-29 Rodney Dawes <dobey@ximian.com>
-
- * calendar/Makefile.am (INCLUDES): Add $(top_srcdir)/widgets/misc
- for the e-activity-handler.h stuff
-
-2004-04-22 Kidd Wang <kidd.wang@sun.com>
-
- * calendar/ea-week-view.c: (ea_week_view_get_n_children): If the
- week view has no spans, there is no visible events in the view.
-
-2004-03-15 JP Rosevear <jpr@ximian.com>
-
- * calendar/ea-cal-view.h: fix include
-
-2003-03-15 Hao Sheng <hao.sheng@sun.com>
-
- * Contritbuted by Leon Zhang <leon.zhang@sun.com>
- * Makefile.am: add directory addressbook.
- * implement basic accessbility addressbook's minicard.
- add new directory and Files below:
- addressbook/
- addressbook/Makefile.am
- addressbook/ea-addressbook.c
- addressbook/ea-addressbook-view.c
- addressbook/ea-minicard.c
- addressbook/ea-minicard-view.c
- addressbook/ea-addressbook.h
- addressbook/ea-addressbook-view.h
- addressbook/ea-minicard.h
- addressbook/ea-minicard-view.h
-
-2003-12-10 Bolian Yin <bolian.yin@sun.com>
-
- * calendar/ea-cal-view-event.c (ea_cal_view_event_get_index_in_parent): corret index error in week view.
- * calendar/ea-day-view-cell.c: impl. get_index_in_parent
- * calendar/ea-day-view-main-item.c: emit signal "active-descendant-changed", fix error in selection_interface_ref_selection.
- * widgets/ea-calendar-cell.c: impl. get_index_in_parent.
- * widgets/ea-calendar-item.c: change signature of e_calendar_item_get_offset_for_date, emit signal "active-descendant-changed".
-
-2003-12-09 Andrew Wu <Yang.Wu@sun.com>
-
- * calendar/Makefile.am: add entries for new source files
- * calendar/ea-calendar-helpers.c: add cases for jump button.
- * calendar/ea-calendar.c: add cases for week view and week view main item.
- * calendar/ea-jump-button.c: new impl.
- * calendar/ea-week-view-cell.c: new impl.
- * calendar/ea-week-view-main-item.c: new impl.
- * calendar/ea-week-view.c: add main item as first child.
-
-2003-12-05 Bolian Yin <bolian.yin@sun.com>
-
- * calendar/ea-cal-view-event.c (ea_cal_view_event_new): shortcut when cal_view is NULL.
- * calendar/ea-cal-view.c: Change an action name.
- * calendar/ea-calendar.c (ea_calendar_focus_watcher): add check for event atk object.
- * calendar/ea-week-view.c (ea_week_view_get_n_children): correct impl.
- (get_visible_text_item_count): removed.
-
-2003-12-06 JP Rosevear <jpr@ximian.com>
-
- * */Makefile.am: Remove hard coded disable deprecated flags
-
-2003-12-03 Ettore Perazzoli <ettore@ximian.com>
-
- * calendar/Makefile.am (SHELL_IDLS): Only get Evolution.idl.
-
-2003-11-11 Bolian Yin <bolian.yin@sun.com>
-
- Fixes #50538
-
- * new files:
- widgets/ea-calendar-cell.[hc]
-
- * widgets/ea-calendar-item: impl. atk selection and atk table interface.
-
- * widgets/Makefile.am : use shared object library (.so)
-
-2003-11-07 JP Rosevear <jpr@ximian.com>
-
- * calendar/Makefile.am (INCLUDES): don't include toplevel libical
-
-2003-11-07 JP Rosevear <jpr@ximian.com>
-
- * Handle some more renaming
-
-2003-11-07 JP Rosevear <jpr@ximian.com>
-
- * Reflect renaming of ECalView to ECalendarView
-
-2003-11-04 Bolian Yin <bolian.yin@sun.com>
-
- Fixes # 48509
-
- * new files:
- ea-cell-table.h ea-cell-table.c
- * calendar/Makefile.am: add entries for new files
- * calendar/New files added:
- ea-day-view-main-item.c ea-day-view-main-item.h
- ea-day-view-cell.c ea-day-view-cell.h
- * Add debug info and remove some non-C99 compilers warnings.
- * calendar/ea-cal-view: add action interface.
-
-2003-10-09 Jeffrey Stedfast <fejj@ximian.com>
-
- * calendar/Makefile.am: INCLUDE path fixes for changes made to
- libical build.
-
-2003-08-27 Bolian Yin <bolian.yin@sun.com>
-
- * Makefile.am: add widgets directory; move calendar idl stuff to
- calendar directory; stop make a single shared lib for whole a11y
- stuff.
-
- * ea-factory.h: make factory macros available to GOBJECT
-
- * calendar/Makefile.am: add calendar idl stuff
-
- * calendar/ea-cal-view-event.c: add atkcomponent interface.
-
- * calendar/ea-gnome-calendar.c (ea_gcal_switch_view_cb): add
- details for "children_changed".
-
- * new widgets directory for widgets a11y stuff, new files are:
- widgets/Makefile.am, widgets/ea-calendar-item.c,
- widgets/ea-calendar-item.h, widgets/ea-widgets.c,
- widgets/ea-widgets.h
-
-2003-08-20 Rodrigo Moya <rodrigo@ximian.com>
-
- * calendar/ea-cal-view-event.c (ea_cal_view_event_get_name):
- adapted to changes in ECalViewEvent.
-
-2003-08-20 Bolian Yin <bolian.yin@sun.com>
- setup the a11y directory for evolution accessibility work
- New files are:
- ChangeLog
- ea-factory.h
- Makefile.am
- calendar/ea-calendar.c
- calendar/ea-calendar.h
- calendar/ea-calendar-helpers.c
- calendar/ea-calendar-helpers.h
- calendar/ea-cal-view.c
- calendar/ea-cal-view.h
- calendar/ea-cal-view-event.c
- calendar/ea-cal-view-event.h
- calendar/ea-day-view.c
- calendar/ea-day-view.h
- calendar/ea-week-view.c
- calendar/ea-week-view.h
- calendar/ea-gnome-calendar.c
- calendar/ea-gnome-calendar.h
- calendar/Makefile.am
diff --git a/a11y/Makefile.am b/a11y/Makefile.am
deleted file mode 100644
index c98e486e7f..0000000000
--- a/a11y/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-SUBDIRS = . calendar widgets addressbook
-
-# for debug
-#A11Y_CFLAGS += -pedantic -ansi -DACC_DEBUG -Werror
-
-privlib_LTLIBRARIES = libevolution-a11y.la
-
-INCLUDES = \
- -I$(top_srcdir)/a11y \
- $(A11Y_CFLAGS)
-
-libevolution_a11y_la_SOURCES = \
- ea-factory.h \
- ea-cell-table.h \
- ea-cell-table.c
-
diff --git a/a11y/addressbook/.cvsignore b/a11y/addressbook/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/a11y/addressbook/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/a11y/addressbook/Makefile.am b/a11y/addressbook/Makefile.am
deleted file mode 100644
index dfabdf27ba..0000000000
--- a/a11y/addressbook/Makefile.am
+++ /dev/null
@@ -1,34 +0,0 @@
-privlib_LTLIBRARIES = libevolution-addressbook-a11y.la
-
-INCLUDES = \
- -DG_LOG_DOMAIN=\"evolution-a11y\" \
- -I$(top_srcdir) \
- -I$(top_srcdir)/a11y \
- -I$(top_srcdir)/a11y/addressbook \
- -I$(top_srcdir)/shell \
- -I$(top_srcdir)/addressbook \
- -I$(top_srcdir)/addressbook/gui \
- -I$(top_srcdir)/addressbook/gui/widgets \
- -I$(top_srcdir)/addressbook/gui/contact-editor \
- -I$(top_srcdir)/addressbook/backend \
- -I$(top_srcdir)/addressbook/backend/ebook \
- -DEVOLUTION_DATADIR=\""$(datadir)"\" \
- -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" \
- -DEVOLUTION_ETSPECDIR=\""$(etspecdir)"\" \
- -DEVOLUTION_IMAGESDIR=\""$(imagesdir)"\" \
- -DEVOLUTION_GALVIEWSDIR=\""$(viewsdir)"\" \
- -DEVOLUTION_UIDIR=\""$(evolutionuidir)"\" \
- -DG_DISABLE_DEPRECATED \
- -DPREFIX=\""$(prefix)"\" \
- $(A11Y_CFLAGS) \
- $(EVOLUTION_ADDRESSBOOK_CFLAGS)
-
-libevolution_addressbook_a11y_la_SOURCES = \
- ea-minicard.c \
- ea-minicard.h \
- ea-minicard-view.c \
- ea-minicard-view.h \
- ea-addressbook-view.c \
- ea-addressbook-view.h \
- ea-addressbook.c \
- ea-addressbook.h
diff --git a/a11y/addressbook/ea-addressbook-view.c b/a11y/addressbook/ea-addressbook-view.c
deleted file mode 100644
index 1d26767a79..0000000000
--- a/a11y/addressbook/ea-addressbook-view.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * ea-addressbook-view.c
- * Copyright (C) 2000 Ximian, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU 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.
- *
- * Author: Leon Zhang <leon.zhang@sun.com> Sun Microsystem Inc., 2003
- */
-
-#include <config.h>
-
-#include <libgnome/gnome-i18n.h>
-#include "ea-addressbook-view.h"
-
-static G_CONST_RETURN gchar* ea_ab_view_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_ab_view_get_description (AtkObject *accessible);
-
-static void ea_ab_view_class_init (EABViewClass *klass);
-
-static gpointer parent_class = NULL;
-
-GType
-ea_ab_view_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EABViewClass),
- (GBaseInitFunc) NULL, /* base_init */
- (GBaseFinalizeFunc) NULL, /* base_finalize */
- (GClassInitFunc) ea_ab_view_class_init,
- (GClassFinalizeFunc) NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (EaABView),
- 0, /* n_preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (GailWidget, in this case) */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- GTK_TYPE_EVENT_BOX);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaABView", &tinfo, 0);
- }
-
- return type;
-}
-
-static void
-ea_ab_view_class_init (EABViewClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_ab_view_get_name;
- class->get_description = ea_ab_view_get_description;
-}
-
-static G_CONST_RETURN gchar*
-ea_ab_view_get_name (AtkObject *accessible)
-{
- g_return_val_if_fail (EA_IS_AB_VIEW(accessible), NULL);
- if (accessible->name)
- return accessible->name;
-
- return _("evolution addressbook");
-}
-
-static G_CONST_RETURN gchar*
-ea_ab_view_get_description (AtkObject *accessible)
-{
- if (accessible->description)
- return accessible->description;
-
- return _("evolution addressbook");
-}
-
-AtkObject*
-ea_ab_view_new (GObject *obj)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail(obj != NULL, NULL);
- g_return_val_if_fail (E_IS_ADDRESSBOOK_VIEW(obj), NULL);
-
- object = g_object_new (EA_TYPE_AB_VIEW, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, obj);
- accessible->role = ATK_ROLE_CANVAS;
-
- return accessible;
-}
diff --git a/a11y/addressbook/ea-addressbook-view.h b/a11y/addressbook/ea-addressbook-view.h
deleted file mode 100644
index 94f6b2b452..0000000000
--- a/a11y/addressbook/ea-addressbook-view.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * ea-addressbook_view.h
- * Copyright (C) 2000 Ximian, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU 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.
- *
- * Author: Leon Zhang <leon.zhang@sun.com> Sun Microsystem Inc., 2003
- */
-#ifndef __EA_ADDRESSBOOK_VIEW_H__
-#define __EA_ADDRESSBOOK_VIEW_H__
-
-#include <gtk/gtkaccessible.h>
-#include "e-addressbook-view.h"
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-#define EA_TYPE_AB_VIEW (ea_ab_view_get_type ())
-#define EA_AB_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_AB_VIEW, EaABView))
-#define EA_AB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_AB_VIEW, EaABViewClass))
-#define EA_IS_AB_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_AB_VIEW))
-#define EA_IS_AB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), EA_TYPE_AB_VIEW))
-
-typedef struct _EaABView EaABView;
-typedef struct _EaABViewClass EaABViewClass;
-
-struct _EaABView
-{
- GtkAccessible parent;
-};
-
-
-struct _EaABViewClass
-{
- GtkAccessibleClass parent_class;
-};
-
-GType ea_ab_view_get_type (void);
-AtkObject* ea_ab_view_new(GObject *obj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __EA_ADDRESSBOOK_VIEW_H__ */
diff --git a/a11y/addressbook/ea-addressbook.c b/a11y/addressbook/ea-addressbook.c
deleted file mode 100644
index 1abe1f2a4d..0000000000
--- a/a11y/addressbook/ea-addressbook.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-addressbook.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Leon Zhang <leon.zhang@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include <gal/e-text/e-text.h>
-#include "ea-factory.h"
-#include "ea-addressbook.h"
-#include "addressbook/ea-minicard.h"
-#include "addressbook/ea-minicard-view.h"
-#include "addressbook/ea-addressbook-view.h"
-
-EA_FACTORY_GOBJECT (EA_TYPE_MINICARD, ea_minicard, ea_minicard_new);
-EA_FACTORY_GOBJECT (EA_TYPE_MINICARD_VIEW, ea_minicard_view, ea_minicard_view_new);
-EA_FACTORY_GOBJECT (EA_TYPE_AB_VIEW, ea_ab_view, ea_ab_view_new);
-
-static gboolean ea_addressbook_focus_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-
-void e_minicard_a11y_init (void)
-{
- EA_SET_FACTORY (e_minicard_get_type (), ea_minicard);
-}
-
-void e_minicard_view_a11y_init (void)
-{
- EA_SET_FACTORY (e_minicard_view_get_type (), ea_minicard_view);
-
- if (atk_get_root ()) {
- g_signal_add_emission_hook (g_signal_lookup ("event",
- e_minicard_get_type()),
- 0, ea_addressbook_focus_watcher,
- NULL, (GDestroyNotify) NULL);
- }
-}
-
-void eab_view_a11y_init (void)
-{
- EA_SET_FACTORY (eab_view_get_type (), ea_ab_view);
-}
-
-gboolean
-ea_addressbook_focus_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GObject *object;
- GdkEvent *event;
- AtkObject *ea_event = NULL;
-
- object = g_value_get_object (param_values + 0);
- event = g_value_get_boxed (param_values + 1);
-
- if (E_IS_MINICARD (object)) {
- GnomeCanvasItem *item = GNOME_CANVAS_ITEM (object);
- ea_event = atk_gobject_accessible_for_object (object);
- if (event->type == GDK_FOCUS_CHANGE) {
- if ((event->focus_change.in) && (E_IS_MINICARD (item->canvas->focused_item)))
- atk_focus_tracker_notify (ea_event);
- }
- }
-
- return TRUE;
-}
diff --git a/a11y/addressbook/ea-addressbook.h b/a11y/addressbook/ea-addressbook.h
deleted file mode 100644
index 437d34f1cc..0000000000
--- a/a11y/addressbook/ea-addressbook.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-addressbook.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Leon Zhang <leon.zhang@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-/* Evolution Accessibility
-*/
-
-#ifndef _EA_ADDRESSBOOK_H__
-#define _EA_ADDRESSBOOK_H__
-
-void eab_view_a11y_init (void);
-void e_minicard_view_a11y_init (void);
-void e_minicard_a11y_init (void);
-
-#endif /* _EA_ADDRESSBOOK_H__ */
diff --git a/a11y/addressbook/ea-minicard-view.c b/a11y/addressbook/ea-minicard-view.c
deleted file mode 100644
index a2d87d967f..0000000000
--- a/a11y/addressbook/ea-minicard-view.c
+++ /dev/null
@@ -1,406 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * ea-minicard-view.c
- * Copyright (C) 2000 Ximian, Inc.
- * Author: Leon Zhang < leon.zhang@sun.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU 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.
- */
-
-#include <config.h>
-#include <libgnome/gnome-i18n.h>
-#include <string.h>
-#include <gtk/gtkaccessible.h>
-#include <glib/gstrfuncs.h>
-#include <libgnome/gnome-i18n.h>
-#include "ea-minicard.h"
-#include "ea-minicard-view.h"
-#include "eab-gui-util.h"
-#include "e-addressbook-view.h"
-
-static const char * action_name[] = {
- N_("New Contact"),
- N_("New Contact List")
-};
-
-
-static G_CONST_RETURN gchar* ea_minicard_view_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_minicard_view_get_description (AtkObject *accessible);
-
-static void ea_minicard_view_class_init (EaMinicardViewClass *klass);
-
-static gint ea_minicard_view_get_n_children (AtkObject *obj);
-static AtkObject *ea_minicard_view_ref_child (AtkObject *obj, gint i);
-
-static AtkStateSet *ea_minicard_view_ref_state_set(AtkObject *obj);
-
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean selection_interface_add_selection (AtkSelection *selection,
- gint i);
-static gboolean selection_interface_clear_selection (AtkSelection *selection);
-static AtkObject* selection_interface_ref_selection (AtkSelection *selection,
- gint i);
-static gint selection_interface_get_selection_count (AtkSelection *selection);
-static gboolean selection_interface_is_child_selected (AtkSelection *selection,
- gint i);
-
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean atk_action_interface_do_action (AtkAction *iface, gint i);
-static gint atk_action_interface_get_n_action (AtkAction *iface);
-static G_CONST_RETURN gchar* atk_action_interface_get_description (AtkAction *iface, gint i);
-static G_CONST_RETURN gchar* atk_action_interface_get_name (AtkAction *iface, gint i);
-
-static gpointer parent_class = NULL;
-
-GType
-ea_minicard_view_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaMinicardViewClass),
- (GBaseInitFunc) NULL, /* base_init */
- (GBaseFinalizeFunc) NULL, /* base_finalize */
- (GClassInitFunc) ea_minicard_view_class_init,
- (GClassFinalizeFunc) NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (EaMinicardView),
- 0, /* n_preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_selection_info = {
- (GInterfaceInitFunc) atk_selection_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- static const GInterfaceInfo atk_action_info = {
- (GInterfaceInitFunc) atk_action_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (GailWidget, in this case) */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- GNOME_TYPE_CANVAS_GROUP);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaMinicardView", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_SELECTION,
- &atk_selection_info);
- g_type_add_interface_static (type, ATK_TYPE_ACTION,
- &atk_action_info);
-
- }
-
- return type;
-}
-
-static void
-ea_minicard_view_class_init (EaMinicardViewClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_minicard_view_get_name;
- class->get_description = ea_minicard_view_get_description;
- class->ref_state_set = ea_minicard_view_ref_state_set;
- class->get_n_children = ea_minicard_view_get_n_children;
- class->ref_child = ea_minicard_view_ref_child;
-}
-
-static G_CONST_RETURN gchar*
-ea_minicard_view_get_name (AtkObject *accessible)
-{
- EReflow *reflow;
- gchar *string;
-
- g_return_val_if_fail (EA_IS_MINICARD_VIEW (accessible), NULL);
-
- reflow = E_REFLOW(atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (accessible)));
-
- string = g_strdup_printf (ngettext ("current addressbook folder has %d card",
- "current addressbook folder has %d cards",
- reflow->count), reflow->count);
-
-
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, string);
- g_free (string);
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_minicard_view_get_description (AtkObject *accessible)
-{
- g_return_val_if_fail (EA_IS_MINICARD_VIEW(accessible), NULL);
- if (accessible->description)
- return accessible->description;
-
- return _("evolution addressbook");
-}
-
-AtkObject*
-ea_minicard_view_new (GObject *obj)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (E_IS_MINICARD_VIEW(obj), NULL);
- object = g_object_new (EA_TYPE_MINICARD_VIEW, NULL);
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, obj);
- accessible->role = ATK_ROLE_UNKNOWN;
- return accessible;
-}
-
-static gint
-ea_minicard_view_get_n_children (AtkObject *accessible)
-{
- EReflow *reflow;
-
- gint child_num = 0;
-
- g_return_val_if_fail (EA_IS_MINICARD_VIEW (accessible), -1);
-
- reflow = E_REFLOW (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible)));
-
- if (!reflow)
- return -1;
-
- child_num = reflow->count;
-
- return child_num;
-}
-
-static AtkStateSet *ea_minicard_view_ref_state_set (AtkObject *obj)
-{
- AtkStateSet *state_set = NULL;
- GObject *gobj = NULL;
-
- state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
- if( !state_set )
- return NULL;
- gobj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (obj));
- if( !gobj )
- return NULL;
-
- atk_state_set_add_state (state_set, ATK_STATE_ENABLED);
- atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE);
- atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
-
- return state_set;
-}
-
-static AtkObject *
-ea_minicard_view_ref_child (AtkObject *accessible, gint index)
-{
- EReflow *reflow;
- gint child_num;
- AtkObject *atk_object = NULL;
- EMinicard *card = NULL;
-
- g_return_val_if_fail (EA_IS_MINICARD_VIEW (accessible), NULL);
-
- child_num = atk_object_get_n_accessible_children (accessible);
- if (child_num <= 0 || index < 0 || index >= child_num)
- return NULL;
-
- reflow = E_REFLOW (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (accessible)));
- if (!reflow)
- return NULL;
- if (!reflow->items )
- return NULL;
- /* a minicard */
- if (index < child_num) {
- card = E_MINICARD (reflow->items[index]);
- atk_object = atk_gobject_accessible_for_object (G_OBJECT (card));
- } else {
- return NULL;
- }
-
- g_object_ref (atk_object);
- return atk_object;
-}
-
-/* atkselection interface */
-
-static void
-atk_selection_interface_init (AtkSelectionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->add_selection = selection_interface_add_selection;
- iface->clear_selection = selection_interface_clear_selection;
- iface->ref_selection = selection_interface_ref_selection;
- iface->get_selection_count = selection_interface_get_selection_count;
- iface->is_child_selected = selection_interface_is_child_selected;
-}
-
-static gboolean
-selection_interface_add_selection (AtkSelection *selection, gint i)
-{
- AtkGObjectAccessible *atk_gobj= NULL;
- EReflow *reflow = NULL;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (selection);
- reflow = E_REFLOW (atk_gobject_accessible_get_object (atk_gobj));
-
- if (!reflow)
- return FALSE;
-
- selection_interface_clear_selection (selection);
- e_selection_model_select_single_row (reflow->selection, i);
-
- return TRUE;
-}
-
-static gboolean
-selection_interface_clear_selection (AtkSelection *selection)
-{
- AtkGObjectAccessible *atk_gobj = NULL;
- EReflow *reflow = NULL;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (selection);
- reflow = E_REFLOW(atk_gobject_accessible_get_object (atk_gobj));
-
- if( !reflow )
- return FALSE;
-
- e_selection_model_clear (reflow->selection);
-
- return TRUE;
-}
-
-static AtkObject*
-selection_interface_ref_selection (AtkSelection *selection, gint i)
-{
- return ea_minicard_view_ref_child (ATK_OBJECT (selection), i);
-}
-
-static gint
-selection_interface_get_selection_count (AtkSelection *selection)
-{
- AtkGObjectAccessible *atk_gobj = NULL;
- EReflow *reflow = NULL;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (selection);
- reflow = E_REFLOW (atk_gobject_accessible_get_object (atk_gobj));
-
- if (!reflow )
- return FALSE;
-
- return e_selection_model_selected_count (reflow->selection);
-}
-
-static gboolean
-selection_interface_is_child_selected (AtkSelection *selection, gint i)
-{
- AtkGObjectAccessible *atk_gobj = NULL;
- EReflow *reflow = NULL;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (selection);
- reflow = E_REFLOW(atk_gobject_accessible_get_object (atk_gobj));
-
- if( !reflow )
- return FALSE;
-
- return e_selection_model_is_row_selected (reflow->selection, i);
-}
-
-static void atk_action_interface_init (AtkActionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->do_action = atk_action_interface_do_action;
- iface->get_n_actions = atk_action_interface_get_n_action;
- iface->get_description = atk_action_interface_get_description;
- iface->get_name = atk_action_interface_get_name;
-}
-
-static gboolean atk_action_interface_do_action (AtkAction *action, gint i)
-{
- gboolean return_value = TRUE;
- EMinicardView *card_view;
- EContact *contact = e_contact_new();
-
- AtkGObjectAccessible *atk_gobj= NULL;
- EReflow *reflow = NULL;
- EBook *book;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (action);
- reflow = E_REFLOW (atk_gobject_accessible_get_object (atk_gobj));
-
- if (reflow == NULL)
- return FALSE;
-
- card_view = E_MINICARD_VIEW (reflow);
- g_object_get(card_view,
- "book", &book,
- NULL);
- g_assert (E_IS_BOOK (book));
-
- switch (i) {
- case 0:
- /* New Contact */
- eab_show_contact_editor (book, contact, TRUE, TRUE);
- break;
- case 1:
- /* New Contact List */
- eab_show_contact_list_editor (book, contact, TRUE, TRUE);
- break;
- default:
- return_value = FALSE;
- break;
- }
- g_object_unref (book);
- g_object_unref (contact);
- return return_value;
-}
-
-static gint atk_action_interface_get_n_action (AtkAction *iface)
-{
- return G_N_ELEMENTS (action_name);
-}
-
-static G_CONST_RETURN gchar*
-atk_action_interface_get_description (AtkAction *iface, gint i)
-{
- return atk_action_interface_get_name (iface, i);
-}
-
-static G_CONST_RETURN gchar*
-atk_action_interface_get_name (AtkAction *iface, gint i)
-{
- if( i >= G_N_ELEMENTS (action_name) || i < 0)
- return NULL;
-
- return action_name[i];
-}
-
diff --git a/a11y/addressbook/ea-minicard-view.h b/a11y/addressbook/ea-minicard-view.h
deleted file mode 100644
index e983ae5229..0000000000
--- a/a11y/addressbook/ea-minicard-view.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * ea-minicard-view.h
- * Copyright (C) 2000 Ximian, Inc.
- * Author: Leon Zhang <leon.zhang@sun.com> Sun Microsystem Inc., 2003
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU 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 __EA_MINICARD_VIEW_H__
-#define __EA_MINICARD_VIEW_H__
-
-#include <atk/atkgobjectaccessible.h>
-#include "e-minicard-view.h"
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-#define EA_TYPE_MINICARD_VIEW (ea_minicard_view_get_type ())
-#define EA_MINICARD_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_MINICARD_VIEW, EaMinicardView))
-#define EA_MINICARD_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_MINICARD_VIEW, EaMiniCardViewClass))
-#define EA_IS_MINICARD_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_MINICARD_VIEW))
-#define EA_IS_MINICARD_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), EA_TYPE_MINICARD_VIEW))
-
-
-typedef struct _EaMinicardView EaMinicardView;
-typedef struct _EaMinicardViewClass EaMinicardViewClass;
-
-struct _EaMinicardView
-{
- AtkGObjectAccessible parent;
-};
-
-
-struct _EaMinicardViewClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-GType ea_minicard_view_get_type (void);
-
-AtkObject* ea_minicard_view_new(GObject *obj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __EA_MINICARD_VIEW_H__ */
diff --git a/a11y/addressbook/ea-minicard.c b/a11y/addressbook/ea-minicard.c
deleted file mode 100644
index 728ac88e8d..0000000000
--- a/a11y/addressbook/ea-minicard.c
+++ /dev/null
@@ -1,269 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * ea-minicard.c
- * Copyright (C) 2000 Ximian, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU 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.
- *
- * Author: Leon Zhang <leon.zhang@sun.com> Sun Microsystem Inc., 2003
- */
-
-#include <config.h>
-#include <string.h>
-#include <libgnome/gnome-i18n.h>
-#include "ea-minicard.h"
-#include "ea-minicard-view.h"
-#include "e-minicard.h"
-
-static const char * action_name[] = {
- N_("Open")
-};
-
-static G_CONST_RETURN gchar* ea_minicard_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_minicard_get_description (AtkObject *accessible);
-
-static void ea_minicard_class_init (EaMinicardClass *klass);
-
-static gint ea_minicard_get_n_children (AtkObject *obj);
-static AtkObject* ea_minicard_ref_child(AtkObject *obj, gint i);
-
-static AtkStateSet *ea_minicard_ref_state_set (AtkObject *obj);
-
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean atk_action_interface_do_action (AtkAction *iface, gint i);
-static gint atk_action_interface_get_n_action (AtkAction *iface);
-static G_CONST_RETURN gchar* atk_action_interface_get_description (AtkAction *iface, gint i);
-static G_CONST_RETURN gchar* atk_action_interface_get_name (AtkAction *iface, gint i);
-
-static gpointer parent_class = NULL;
-
-GType
-ea_minicard_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaMinicardClass),
- (GBaseInitFunc) NULL, /* base_init */
- (GBaseFinalizeFunc) NULL, /* base_finalize */
- (GClassInitFunc) ea_minicard_class_init,
- (GClassFinalizeFunc) NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (EaMinicard),
- 0, /* n_preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_action_info = {
- (GInterfaceInitFunc) atk_action_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (GailWidget, in this case)
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- GNOME_TYPE_CANVAS_GROUP);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static ( derived_atk_type,
- "EaMinicard", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_ACTION,
- &atk_action_info);
- }
-
- return type;
-}
-
-static void
-ea_minicard_class_init (EaMinicardClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_minicard_get_name;
- class->get_description = ea_minicard_get_description;
- class->ref_state_set = ea_minicard_ref_state_set;
- class->get_n_children = ea_minicard_get_n_children;
- class->ref_child = ea_minicard_ref_child;
-}
-
-/*
- * we access the main content of current minicard, including
- * header text, label(field, field name)
- */
-static G_CONST_RETURN gchar*
-ea_minicard_get_name (AtkObject *accessible)
-{
-#define BUFFERSIZE 500
-
- static gchar name[BUFFERSIZE];
- GString *new_str = g_string_new (NULL);
- gchar *string;
- EMinicard *card;
-
- g_return_val_if_fail (EA_IS_MINICARD(accessible), NULL);
- memset (name, '\0', BUFFERSIZE);
-
- card = E_MINICARD(atk_gobject_accessible_get_object
- (ATK_GOBJECT_ACCESSIBLE(accessible)));
- g_object_get (card->header_text, "text", &string, NULL);
-
- if (e_contact_get (card->contact, E_CONTACT_IS_LIST))
- g_string_append (new_str, _("Contact List: "));
- else g_string_append (new_str, _("Contact: "));
-
- /* get header of current card */
- g_string_append (new_str, string);
- g_free (string);
-
- /* if there exist no enough space for remain info, return */
- if (new_str->len >= BUFFERSIZE) {
- strncpy (name, new_str->str, BUFFERSIZE);
- return name;
- }
-
- strcpy (name, new_str->str);
- g_string_free (new_str, TRUE);
-
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name);
-
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_minicard_get_description (AtkObject *accessible)
-{
- if (accessible->description)
- return accessible->description;
-
- return _("evolution minicard");
-}
-
-AtkObject*
-ea_minicard_new (GObject *obj)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail(obj != NULL, NULL);
- g_return_val_if_fail (E_IS_MINICARD(obj), NULL);
-
- object = g_object_new (EA_TYPE_MINICARD, NULL);
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, obj);
-
- accessible->role = ATK_ROLE_UNKNOWN;
- return accessible;
-}
-
-static AtkStateSet *ea_minicard_ref_state_set (AtkObject *obj)
-{
- AtkStateSet *state_set = NULL;
- GObject *gobj = NULL;
-
- state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
- if( !state_set )
- return NULL;
- gobj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (obj));
- if( !gobj )
- return NULL;
-
- atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);
- atk_state_set_add_state (state_set, ATK_STATE_ENABLED);
- atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE);
- atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
-
- return state_set;
-}
-
-static gint
-ea_minicard_get_n_children (AtkObject *accessible)
-{
- return 0;
-}
-
-static AtkObject *
-ea_minicard_ref_child (AtkObject *accessible, gint index)
-{
- return NULL;
-}
-
-static void atk_action_interface_init (AtkActionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->do_action = atk_action_interface_do_action;
- iface->get_n_actions = atk_action_interface_get_n_action;
- iface->get_description = atk_action_interface_get_description;
- iface->get_name = atk_action_interface_get_name;
-}
-
-static gboolean atk_action_interface_do_action (AtkAction *iface, gint i)
-{
- EMinicard *minicard = NULL;
-
- minicard = E_MINICARD (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (iface)));
- if( minicard == NULL )
- return FALSE;
-
- if( i >= G_N_ELEMENTS (action_name) || i < 0 )
- return FALSE;
-
- switch (i) {
- // open card
- case 0:
- e_minicard_activate_editor (minicard);
- break;
- default:
- return FALSE;
- }
-
- return TRUE;
-}
-
-static gint atk_action_interface_get_n_action (AtkAction *iface)
-{
- return G_N_ELEMENTS (action_name);
-}
-
-static G_CONST_RETURN gchar*
-atk_action_interface_get_description (AtkAction *iface, gint i)
-{
- return atk_action_interface_get_name (iface, i);
-}
-
-static G_CONST_RETURN gchar*
-atk_action_interface_get_name (AtkAction *iface, gint i)
-{
- if( i >= G_N_ELEMENTS (action_name) || i < 0)
- return NULL;
-
- return action_name[i];
-}
-
diff --git a/a11y/addressbook/ea-minicard.h b/a11y/addressbook/ea-minicard.h
deleted file mode 100644
index 1b09ec6839..0000000000
--- a/a11y/addressbook/ea-minicard.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * ea-minicard.h
- * Copyright (C) 2000 Ximian, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU 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.
- *
- * Author: Leon Zhang <leon.zhang@sun.com> Sun Microsystem Inc., 2003
- */
-#ifndef __EA_MINICARD_H__
-#define __EA_MINICARD_H__
-
-#include <atk/atkgobjectaccessible.h>
-#include "e-minicard.h"
-#include "e-minicard-label.h"
-
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
-#define EA_TYPE_MINICARD (ea_minicard_get_type ())
-#define EA_MINICARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_MINICARD, EaMinicard))
-#define EA_MINICARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_MINICARD, EaMiniCardClass))
-#define EA_IS_MINICARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_MINICARD))
-#define EA_IS_MINICARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), EA_TYPE_MINICARD))
-
-typedef struct _EaMinicard EaMinicard;
-typedef struct _EaMinicardClass EaMinicardClass;
-
-struct _EaMinicard
-{
- AtkGObjectAccessible parent;
-};
-
-
-struct _EaMinicardClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-GType ea_minicard_get_type (void);
-AtkObject* ea_minicard_new(GObject *obj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __EA_MINICARD_H__ */
diff --git a/a11y/calendar/.cvsignore b/a11y/calendar/.cvsignore
deleted file mode 100644
index 0e1e389af7..0000000000
--- a/a11y/calendar/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-Makefile
-Makefile.in
-Evolution-*.c
-Evolution.h
-evolution-calendar-*.c
-evolution-calendar.h
diff --git a/a11y/calendar/Makefile.am b/a11y/calendar/Makefile.am
deleted file mode 100644
index 9688fc7ead..0000000000
--- a/a11y/calendar/Makefile.am
+++ /dev/null
@@ -1,55 +0,0 @@
-# Calendar IDL files
-
-# for debug
-#A11Y_CFLAGS += -pedantic -ansi -DACC_DEBUG -Werror
-
-privlib_LTLIBRARIES = libevolution-calendar-a11y.la
-
-INCLUDES = \
- -DG_LOG_DOMAIN=\"evolution-a11y\" \
- -I$(top_srcdir) \
- -I$(top_srcdir)/shell \
- -I$(top_srcdir)/calendar \
- -I$(top_srcdir)/calendar/cal-client \
- -I$(top_srcdir)/calendar/gui \
- -I$(top_srcdir)/widgets \
- -I$(top_srcdir)/widgets/misc \
- -I$(top_srcdir)/a11y \
- -DEVOLUTION_DATADIR=\""$(datadir)"\" \
- -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" \
- -DEVOLUTION_ETSPECDIR=\""$(etspecdir)"\" \
- -DEVOLUTION_IMAGESDIR=\""$(imagesdir)"\" \
- -DEVOLUTION_GALVIEWSDIR=\""$(viewsdir)"\" \
- -DEVOLUTION_UIDIR=\""$(evolutionuidir)"\" \
- -DPREFIX=\""$(prefix)"\" \
- $(A11Y_CFLAGS) \
- $(EVOLUTION_CALENDAR_CFLAGS)
-
-libevolution_calendar_a11y_la_SOURCES = \
- ea-calendar.c \
- ea-calendar.h \
- ea-calendar-helpers.c \
- ea-calendar-helpers.h \
- ea-cal-view.c \
- ea-cal-view.h \
- ea-cal-view-event.c \
- ea-cal-view-event.h \
- ea-day-view.c \
- ea-day-view.h \
- ea-day-view-main-item.c \
- ea-day-view-main-item.h \
- ea-day-view-cell.c \
- ea-day-view-cell.h \
- ea-week-view.c \
- ea-week-view.h \
- ea-week-view-main-item.c \
- ea-week-view-main-item.h \
- ea-week-view-cell.c \
- ea-week-view-cell.h \
- ea-jump-button.c \
- ea-jump-button.h \
- ea-gnome-calendar.c \
- ea-gnome-calendar.h
-
-libevolution_calendar_a11y_la_LIBADD = \
- $(top_builddir)/a11y/libevolution-a11y.la
diff --git a/a11y/calendar/ea-cal-view-event.c b/a11y/calendar/ea-cal-view-event.c
deleted file mode 100644
index cbd53f4ebd..0000000000
--- a/a11y/calendar/ea-cal-view-event.c
+++ /dev/null
@@ -1,528 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-cal-view-event.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-cal-view-event.h"
-#include "ea-calendar-helpers.h"
-#include "ea-day-view.h"
-#include "ea-week-view.h"
-#include <gal/e-text/e-text.h>
-#include <libgnome/gnome-i18n.h>
-
-static void ea_cal_view_event_class_init (EaCalViewEventClass *klass);
-
-static G_CONST_RETURN gchar* ea_cal_view_event_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_cal_view_event_get_description (AtkObject *accessible);
-static AtkObject* ea_cal_view_event_get_parent (AtkObject *accessible);
-static gint ea_cal_view_event_get_index_in_parent (AtkObject *accessible);
-
-/* component interface */
-static void atk_component_interface_init (AtkComponentIface *iface);
-static void ea_cal_view_get_extents (AtkComponent *component,
- gint *x, gint *y, gint *width, gint *height,
- AtkCoordType coord_type);
-/* action interface */
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean ea_cal_view_event_do_action (AtkAction *action, gint i);
-static gint ea_cal_view_event_get_n_actions (AtkAction *action);
-static G_CONST_RETURN gchar* ea_cal_view_event_action_get_name (AtkAction *action, gint i);
-
-
-#ifdef ACC_DEBUG
-static gint n_ea_cal_view_event_created = 0, n_ea_cal_view_event_destroyed = 0;
-static void ea_cal_view_finalize (GObject *object);
-#endif
-
-static gpointer parent_class = NULL;
-
-GType
-ea_cal_view_event_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaCalViewEventClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_cal_view_event_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaCalViewEvent), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) atk_component_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- static const GInterfaceInfo atk_action_info = {
- (GInterfaceInitFunc) atk_action_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (atk object for E_TEXT, in this case)
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- E_TYPE_TEXT);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- /* we inherit the component, text and other interfaces from E_TEXT */
- type = g_type_register_static (derived_atk_type,
- "EaCalViewEvent", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
- &atk_component_info);
- g_type_add_interface_static (type, ATK_TYPE_ACTION,
- &atk_action_info);
-
-
- }
-
- return type;
-}
-
-static void
-ea_cal_view_event_class_init (EaCalViewEventClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-#ifdef ACC_DEBUG
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = ea_cal_view_finalize;
-#endif
-
- parent_class = g_type_class_peek_parent (klass);
-
-
- class->get_name = ea_cal_view_event_get_name;
- class->get_description = ea_cal_view_event_get_description;
- class->get_parent = ea_cal_view_event_get_parent;
- class->get_index_in_parent = ea_cal_view_event_get_index_in_parent;
-
-}
-
-#ifdef ACC_DEBUG
-static void ea_cal_view_finalize (GObject *object)
-{
- ++n_ea_cal_view_event_destroyed;
- printf ("ACC_DEBUG: n_ea_cal_view_event_destroyed = %d\n",
- n_ea_cal_view_event_destroyed);
-}
-#endif
-
-AtkObject*
-ea_cal_view_event_new (GObject *obj)
-{
- AtkObject *atk_obj = NULL;
- GObject *target_obj;
- ECalendarView *cal_view;
-
- g_return_val_if_fail (E_IS_TEXT (obj), NULL);
- cal_view = ea_calendar_helpers_get_cal_view_from (GNOME_CANVAS_ITEM (obj));
- if (!cal_view)
- return NULL;
-
- if (E_IS_WEEK_VIEW (cal_view)) {
- gint event_num, span_num;
- EWeekViewEvent *week_view_event;
- EWeekViewEventSpan *event_span;
- EWeekView *week_view = E_WEEK_VIEW (cal_view);
-
- /* for week view, we need to check if a atkobject exists for
- * the first span of the same event
- */
- if (!e_week_view_find_event_from_item (week_view,
- GNOME_CANVAS_ITEM (obj),
- &event_num,
- &span_num))
- return NULL;
- week_view_event = &g_array_index (week_view->events,
- EWeekViewEvent,
- event_num);
- /* get the first span */
- event_span = &g_array_index (week_view->spans,
- EWeekViewEventSpan,
- week_view_event->spans_index);
- target_obj = G_OBJECT (event_span->text_item);
- atk_obj = g_object_get_data (target_obj, "accessible-object");
-
- }
- else
- target_obj = obj;
-
- if (!atk_obj) {
- static AtkRole event_role = ATK_ROLE_INVALID;
- atk_obj = ATK_OBJECT (g_object_new (EA_TYPE_CAL_VIEW_EVENT,
- NULL));
- atk_object_initialize (atk_obj, target_obj);
- if (event_role == ATK_ROLE_INVALID)
- event_role = atk_role_register ("Calendar Event");
- atk_obj->role = event_role;
-#ifdef ACC_DEBUG
- ++n_ea_cal_view_event_created;
- printf ("ACC_DEBUG: n_ea_cal_view_event_created = %d\n",
- n_ea_cal_view_event_created);
-#endif
- }
-
- /* the registered factory for E_TEXT is cannot create a EaCalViewEvent,
- * we should save the EaCalViewEvent object in it.
- */
- g_object_set_data (obj, "accessible-object", atk_obj);
-
- return atk_obj;
-}
-
-static G_CONST_RETURN gchar*
-ea_cal_view_event_get_name (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarViewEvent *event;
- gchar *name_string;
- gchar *alarm_string, *recur_string, *meeting_string, *summary_string;
- const char *summary;
-
-
- g_return_val_if_fail (EA_IS_CAL_VIEW_EVENT (accessible), NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj || !E_IS_TEXT (g_obj))
- return NULL;
- event = ea_calendar_helpers_get_cal_view_event_from (GNOME_CANVAS_ITEM(g_obj));
-
- alarm_string = recur_string = meeting_string = "";
- if (event && event->comp_data) {
- if (e_cal_util_component_has_alarms (event->comp_data->icalcomp))
- alarm_string = _("It has alarms.");
-
- if (e_cal_util_component_has_recurrences (event->comp_data->icalcomp))
- recur_string = _("It has recurrences.");
-
- if (e_cal_util_component_has_organizer (event->comp_data->icalcomp))
- meeting_string = _("It is a meeting.");
-
- }
-
- summary = icalcomponent_get_summary (event->comp_data->icalcomp);
- if (summary)
- summary_string = g_strdup_printf (_("Calendar Event: Summary is %s."), summary);
- else
- summary_string = g_strdup (_("Calendar Event: It has no summary."));
-
- name_string = g_strdup_printf ("%s %s %s %s", summary_string, alarm_string, recur_string, meeting_string);
-
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name_string);
-#ifdef ACC_DEBUG
- printf("EvoAcc: name for event accobj=%p, is %s\n",
- (void *)accessible, new_name);
-#endif
- g_free (name_string);
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_cal_view_event_get_description (AtkObject *accessible)
-{
- if (accessible->description)
- return accessible->description;
-
- return _("calendar view event");
-}
-
-static AtkObject *
-ea_cal_view_event_get_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- GnomeCanvasItem *canvas_item;
- ECalendarView *cal_view;
-
- g_return_val_if_fail (EA_IS_CAL_VIEW_EVENT (accessible), NULL);
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
-
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (g_obj == NULL)
- /* Object is defunct */
- return NULL;
- canvas_item = GNOME_CANVAS_ITEM (g_obj);
-
- cal_view = ea_calendar_helpers_get_cal_view_from (canvas_item);
-
- if (!cal_view)
- return NULL;
-
- return gtk_widget_get_accessible (GTK_WIDGET (cal_view));
-}
-
-static gint
-ea_cal_view_event_get_index_in_parent (AtkObject *accessible)
-{
- GObject *g_obj;
- GnomeCanvasItem *canvas_item;
- ECalendarView *cal_view;
- ECalendarViewEvent *cal_view_event;
-
- g_return_val_if_fail (EA_IS_CAL_VIEW_EVENT (accessible), -1);
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible));
- if (!g_obj)
- /* defunct object*/
- return -1;
-
- canvas_item = GNOME_CANVAS_ITEM (g_obj);
- cal_view = ea_calendar_helpers_get_cal_view_from (canvas_item);
- if (!cal_view)
- return -1;
-
- cal_view_event = ea_calendar_helpers_get_cal_view_event_from (canvas_item);
- if (!cal_view_event)
- return -1;
-
- if (E_IS_DAY_VIEW (cal_view)) {
- gint day, event_num, num_before;
- EDayViewEvent *day_view_event;
- EDayView *day_view = E_DAY_VIEW (cal_view);
-
- /* the long event comes first in the order */
- for (event_num = day_view->long_events->len - 1; event_num >= 0;
- --event_num) {
- day_view_event = &g_array_index (day_view->long_events,
- EDayViewEvent, event_num);
- if (cal_view_event == (ECalendarViewEvent*)day_view_event)
- return event_num;
-
- }
- num_before = day_view->long_events->len;
-
- for (day = 0; day < day_view->days_shown; ++day) {
- for (event_num = day_view->events[day]->len - 1; event_num >= 0;
- --event_num) {
- day_view_event = &g_array_index (day_view->events[day],
- EDayViewEvent, event_num);
- if (cal_view_event == (ECalendarViewEvent*)day_view_event)
- return num_before + event_num;
- }
- num_before += day_view->events[day]->len;
- }
- }
- else if (E_IS_WEEK_VIEW (cal_view)) {
- AtkObject *atk_parent, *atk_child;
- gint index = 0;
-
- atk_parent = atk_object_get_parent (accessible);
- while ((atk_child = atk_object_ref_accessible_child (atk_parent,
- index)) != NULL) {
- if (atk_child == accessible) {
- g_object_unref (atk_child);
- return index;
- }
- g_object_unref (atk_child);
- ++index;
- }
- }
- else {
- g_assert_not_reached ();
- return -1;
- }
- return -1;
-}
-
-/* Atk Component Interface */
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->get_extents = ea_cal_view_get_extents;
-}
-
-static void
-ea_cal_view_get_extents (AtkComponent *component,
- gint *x,
- gint *y,
- gint *width,
- gint *height,
- AtkCoordType coord_type)
-{
- GObject *g_obj;
- GnomeCanvasItem *canvas_item;
- gint x_window, y_window;
- gint scroll_x, scroll_y;
- ECalendarView *cal_view;
- gint item_x, item_y, item_w, item_h;
- GtkWidget *canvas = NULL;
-
- g_return_if_fail (EA_IS_CAL_VIEW_EVENT (component));
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(component));
- if (!g_obj)
- /* defunct object*/
- return;
- g_return_if_fail (E_IS_TEXT (g_obj));
-
- canvas_item = GNOME_CANVAS_ITEM (g_obj);
- cal_view = ea_calendar_helpers_get_cal_view_from (canvas_item);
- if (!cal_view)
- return;
-
- if (E_IS_DAY_VIEW (cal_view)) {
- gint day, event_num;
-
- if (!e_day_view_find_event_from_item (E_DAY_VIEW (cal_view),
- canvas_item,
- &day, &event_num))
- return;
- if (day == E_DAY_VIEW_LONG_EVENT) {
- gint start_day, end_day;
- if (!e_day_view_get_long_event_position (E_DAY_VIEW (cal_view),
- event_num,
- &start_day,
- &end_day,
- &item_x,
- &item_y,
- &item_w,
- &item_h))
- return;
- canvas = E_DAY_VIEW (cal_view)->top_canvas;
- }
- else {
- if (!e_day_view_get_event_position (E_DAY_VIEW (cal_view), day,
- event_num,
- &item_x, &item_y,
- &item_w, &item_h))
-
- return;
- canvas = E_DAY_VIEW (cal_view)->main_canvas;
- }
- }
- else if (E_IS_WEEK_VIEW (cal_view)) {
- gint event_num, span_num;
- if (!e_week_view_find_event_from_item (E_WEEK_VIEW (cal_view),
- canvas_item, &event_num,
- &span_num))
- return;
-
- if (!e_week_view_get_span_position (E_WEEK_VIEW (cal_view),
- event_num, span_num,
- &item_x, &item_y, &item_w))
- return;
- item_h = E_WEEK_VIEW_ICON_HEIGHT;
- canvas = E_WEEK_VIEW (cal_view)->main_canvas;
- }
- else
- return;
-
- if (!canvas)
- return;
-
- gdk_window_get_origin (canvas->window,
- &x_window, &y_window);
- gnome_canvas_get_scroll_offsets (GNOME_CANVAS (canvas), &scroll_x, &scroll_y);
-
- *x = item_x + x_window - scroll_x;
- *y = item_y + y_window - scroll_y;
- *width = item_w;
- *height = item_h;
-
- if (coord_type == ATK_XY_WINDOW) {
- GdkWindow *window;
- gint x_toplevel, y_toplevel;
-
- window = gdk_window_get_toplevel (GTK_WIDGET (cal_view)->window);
- gdk_window_get_origin (window, &x_toplevel, &y_toplevel);
-
- *x -= x_toplevel;
- *y -= y_toplevel;
- }
-
-#ifdef ACC_DEBUG
- printf ("Event Bounds (%d, %d, %d, %d)\n", *x, *y, *width, *height);
-#endif
-}
-
-#define CAL_VIEW_EVENT_ACTION_NUM 1
-
-static const char * action_name [CAL_VIEW_EVENT_ACTION_NUM] = {
- N_("Grab Focus")
-};
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->do_action = ea_cal_view_event_do_action;
- iface->get_n_actions = ea_cal_view_event_get_n_actions;
- iface->get_name = ea_cal_view_event_action_get_name;
-}
-
-static gboolean
-ea_cal_view_event_do_action (AtkAction *action, gint i)
-{
- AtkGObjectAccessible *atk_gobj;
- AtkComponent *atk_comp;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (action);
-
- if (i == 0) {
- atk_comp = (AtkComponent *)atk_gobj;
- return atk_component_grab_focus (atk_comp);
- }
-
- return FALSE;
-
-}
-
-static gint
-ea_cal_view_event_get_n_actions (AtkAction *action)
-{
- return CAL_VIEW_EVENT_ACTION_NUM;
-}
-
-static G_CONST_RETURN gchar*
-ea_cal_view_event_action_get_name (AtkAction *action, gint i)
-{
- if (i >= 0 && i < CAL_VIEW_EVENT_ACTION_NUM)
- return action_name [i];
- return NULL;
-}
-
diff --git a/a11y/calendar/ea-cal-view-event.h b/a11y/calendar/ea-cal-view-event.h
deleted file mode 100644
index f139dde9fb..0000000000
--- a/a11y/calendar/ea-cal-view-event.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-cal-view-event.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_CAL_VIEW_EVENT_H__
-#define __EA_CAL_VIEW_EVENT_H__
-
-#include <atk/atkgobjectaccessible.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_CAL_VIEW_EVENT (ea_cal_view_event_get_type ())
-#define EA_CAL_VIEW_EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_CAL_VIEW_EVENT, EaCalViewEvent))
-#define EA_CAL_VIEW_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_CAL_VIEW_EVENT, EaCalViewEventClass))
-#define EA_IS_CAL_VIEW_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_CAL_VIEW_EVENT))
-#define EA_IS_CAL_VIEW_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_CAL_VIEW_EVENT))
-#define EA_CAL_VIEW_EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_CAL_VIEW_EVENT, EaCalViewEventClass))
-
-typedef struct _EaCalViewEvent EaCalViewEvent;
-typedef struct _EaCalViewEventClass EaCalViewEventClass;
-
-struct _EaCalViewEvent
-{
- AtkGObjectAccessible parent;
-};
-
-GType ea_cal_view_event_get_type (void);
-
-struct _EaCalViewEventClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-AtkObject *ea_cal_view_event_new (GObject *obj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __EA_CAL_VIEW_EVENT_H__ */
diff --git a/a11y/calendar/ea-cal-view.c b/a11y/calendar/ea-cal-view.c
deleted file mode 100644
index 31400ca2da..0000000000
--- a/a11y/calendar/ea-cal-view.c
+++ /dev/null
@@ -1,441 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-cal-view.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-cal-view.h"
-#include "ea-calendar-helpers.h"
-#include "e-day-view.h"
-#include "e-week-view.h"
-#include "calendar-commands.h"
-#include "goto.h"
-#include <glib/gstrfuncs.h>
-#include <libgnome/gnome-i18n.h>
-
-static void ea_cal_view_class_init (EaCalViewClass *klass);
-
-static AtkObject* ea_cal_view_get_parent (AtkObject *accessible);
-static void ea_cal_view_real_initialize (AtkObject *accessible, gpointer data);
-
-static void ea_cal_view_event_changed_cb (ECalendarView *cal_view,
- ECalendarViewEvent *event, gpointer data);
-static void ea_cal_view_event_added_cb (ECalendarView *cal_view,
- ECalendarViewEvent *event, gpointer data);
-
-static gboolean idle_dates_changed (gpointer data);
-static void ea_cal_view_dates_change_cb (GnomeCalendar *gcal, gpointer data);
-
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean action_interface_do_action (AtkAction *action, gint i);
-static gint action_interface_get_n_actions (AtkAction *action);
-static G_CONST_RETURN gchar*
-action_interface_get_description(AtkAction *action, gint i);
-static G_CONST_RETURN gchar*
-action_interface_get_keybinding (AtkAction *action, gint i);
-static G_CONST_RETURN gchar*
-action_interface_action_get_name(AtkAction *action, gint i);
-
-static gpointer parent_class = NULL;
-
-GType
-ea_cal_view_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaCalViewClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_cal_view_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaCalView), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_action_info = {
- (GInterfaceInitFunc) atk_action_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (GailWidget, in this case)
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- GTK_TYPE_WIDGET);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaCalView", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_ACTION,
- &atk_action_info);
- }
-
- return type;
-}
-
-static void
-ea_cal_view_class_init (EaCalViewClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_parent = ea_cal_view_get_parent;
- class->initialize = ea_cal_view_real_initialize;
-}
-
-AtkObject*
-ea_cal_view_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (E_IS_CALENDAR_VIEW (widget), NULL);
-
- object = g_object_new (EA_TYPE_CAL_VIEW, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
- return accessible;
-}
-
-static void
-ea_cal_view_real_initialize (AtkObject *accessible, gpointer data)
-{
- ECalendarView *cal_view;
- GnomeCalendar *gcal;
- static AtkRole role = ATK_ROLE_INVALID;
-
- g_return_if_fail (EA_IS_CAL_VIEW (accessible));
- g_return_if_fail (E_IS_CALENDAR_VIEW (data));
-
- ATK_OBJECT_CLASS (parent_class)->initialize (accessible, data);
- if (role == ATK_ROLE_INVALID)
- role = atk_role_register ("Calendar View");
- accessible->role = role;
- cal_view = E_CALENDAR_VIEW (data);
-
- /* add listener for event_changed, event_added
- * we don't need to listen on event_removed. When the e_text
- * of the event is removed, the cal_view_event will go to the state
- * of "defunct" (changed by weak ref callback of atkgobjectaccessible
- */
- g_signal_connect (G_OBJECT(cal_view), "event_changed",
- G_CALLBACK (ea_cal_view_event_changed_cb), NULL);
- g_signal_connect (G_OBJECT(cal_view), "event_added",
- G_CALLBACK (ea_cal_view_event_added_cb), NULL);
-
- /* listen for date changes of calendar */
- gcal = e_calendar_view_get_calendar (cal_view);
-
- if (gcal)
- g_signal_connect (gcal, "dates_shown_changed",
- G_CALLBACK (ea_cal_view_dates_change_cb),
- accessible);
-}
-
-static AtkObject*
-ea_cal_view_get_parent (AtkObject *accessible)
-{
- ECalendarView *cal_view;
- GnomeCalendar *gnomeCalendar;
-
- g_return_val_if_fail (EA_IS_CAL_VIEW (accessible), NULL);
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return NULL;
- cal_view = E_CALENDAR_VIEW (GTK_ACCESSIBLE (accessible)->widget);
-
- gnomeCalendar = e_calendar_view_get_calendar (cal_view);
-
- return gtk_widget_get_accessible (GTK_WIDGET(gnomeCalendar));
-}
-
-static void
-ea_cal_view_event_changed_cb (ECalendarView *cal_view, ECalendarViewEvent *event,
- gpointer data)
-{
- AtkObject *atk_obj;
- EaCalView *ea_cal_view;
- AtkObject *event_atk_obj = NULL;
-
- g_return_if_fail (E_IS_CALENDAR_VIEW (cal_view));
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET(cal_view));
- if (!EA_IS_CAL_VIEW (atk_obj))
- return;
- ea_cal_view = EA_CAL_VIEW (atk_obj);
-
- if ((E_IS_DAY_VIEW (cal_view)) && event && event->canvas_item) {
- event_atk_obj =
- ea_calendar_helpers_get_accessible_for (event->canvas_item);
- }
- else if ((E_IS_WEEK_VIEW (cal_view)) && event) {
- EWeekViewEventSpan *span;
- EWeekViewEvent *week_view_event = (EWeekViewEvent *)event;
- EWeekView *week_view = E_WEEK_VIEW (cal_view);
- /* get the first span of the event */
- span = &g_array_index (week_view->spans, EWeekViewEventSpan,
- week_view_event->spans_index);
- if (span && span->text_item)
- event_atk_obj = ea_calendar_helpers_get_accessible_for (span->text_item);
- }
- if (event_atk_obj) {
-#ifdef ACC_DEBUG
- printf ("AccDebug: event=%p changed\n", (void *)event);
-#endif
- g_object_notify (G_OBJECT(event_atk_obj), "accessible-name");
- g_signal_emit_by_name (event_atk_obj, "visible_data_changed");
- }
-
-}
-
-static void
-ea_cal_view_event_added_cb (ECalendarView *cal_view, ECalendarViewEvent *event,
- gpointer data)
-{
- AtkObject *atk_obj;
- EaCalView *ea_cal_view;
- AtkObject *event_atk_obj = NULL;
- gint index;
-
- g_return_if_fail (E_IS_CALENDAR_VIEW (cal_view));
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET(cal_view));
- if (!EA_IS_CAL_VIEW (atk_obj))
- return;
- ea_cal_view = EA_CAL_VIEW (atk_obj);
-
- if ((E_IS_DAY_VIEW (cal_view)) && event && event->canvas_item) {
- event_atk_obj =
- ea_calendar_helpers_get_accessible_for (event->canvas_item);
- }
- else if ((E_IS_WEEK_VIEW (cal_view)) && event) {
- EWeekViewEventSpan *span;
- EWeekViewEvent *week_view_event = (EWeekViewEvent *)event;
- EWeekView *week_view = E_WEEK_VIEW (cal_view);
- /* get the first span of the event */
- span = &g_array_index (week_view->spans, EWeekViewEventSpan,
- week_view_event->spans_index);
- if (span && span->text_item)
- event_atk_obj = ea_calendar_helpers_get_accessible_for (span->text_item);
-
- }
- if (event_atk_obj) {
- index = atk_object_get_index_in_parent (event_atk_obj);
- if (index < 0)
- return;
-#ifdef ACC_DEBUG
- printf ("AccDebug: event=%p added\n", (void *)event);
-#endif
- g_signal_emit_by_name (atk_obj, "children_changed::add",
- index, event_atk_obj, NULL);
- }
-}
-
-static gboolean
-idle_dates_changed (gpointer data)
-{
- AtkObject *ea_cal_view;
-
- g_return_val_if_fail (data, FALSE);
- g_return_val_if_fail (EA_IS_CAL_VIEW (data), FALSE);
-
- ea_cal_view = ATK_OBJECT(data);
-
- if (ea_cal_view->name) {
- g_free (ea_cal_view->name);
- ea_cal_view->name = NULL;
- }
- g_object_notify (G_OBJECT (ea_cal_view), "accessible-name");
- g_signal_emit_by_name (ea_cal_view, "visible_data_changed");
- g_signal_emit_by_name (ea_cal_view, "children_changed", NULL);
-#ifdef ACC_DEBUG
- printf ("AccDebug: cal view date changed\n");
-#endif
-
- return FALSE;
-}
-
-static void
-ea_cal_view_dates_change_cb (GnomeCalendar *gcal, gpointer data)
-{
- g_idle_add (idle_dates_changed, data);
-}
-
-/* atk action interface */
-
-#define CAL_VIEW_ACTION_NUM 5
-
-static const char * action_name [CAL_VIEW_ACTION_NUM] = {
- N_("New Appointment"),
- N_("New All Day Event"),
- N_("New Meeting"),
- N_("Go to Today"),
- N_("Go to Date")
-};
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->do_action = action_interface_do_action;
- iface->get_n_actions = action_interface_get_n_actions;
- iface->get_description = action_interface_get_description;
- iface->get_keybinding = action_interface_get_keybinding;
- iface->get_name = action_interface_action_get_name;
-}
-
-static gboolean
-action_interface_do_action (AtkAction *action, gint index)
-{
- GtkWidget *widget;
- gboolean return_value = TRUE;
- time_t dtstart, dtend;
- ECalendarView *cal_view;
-
- widget = GTK_ACCESSIBLE (action)->widget;
- if (widget == NULL)
- /*
- * State is defunct
- */
- return FALSE;
-
- if (!GTK_WIDGET_IS_SENSITIVE (widget) || !GTK_WIDGET_VISIBLE (widget))
- return FALSE;
-
- cal_view = E_CALENDAR_VIEW (widget);
- switch (index) {
- case 0:
- /* New Appointment */
- e_calendar_view_new_appointment (cal_view);
- break;
- case 1:
- /* New All Day Event */
- e_calendar_view_get_selected_time_range (cal_view,
- &dtstart, &dtend);
- e_calendar_view_new_appointment_for (cal_view,
- dtstart, dtend, TRUE, FALSE);
- break;
- case 2:
- /* New Meeting */
- e_calendar_view_get_selected_time_range (cal_view,
- &dtstart, &dtend);
- e_calendar_view_new_appointment_for (cal_view,
- dtstart, dtend, FALSE, TRUE);
- break;
- case 3:
- /* Go to today */
- break;
- calendar_goto_today (e_calendar_view_get_calendar (cal_view));
- case 4:
- /* Go to date */
- goto_dialog (e_calendar_view_get_calendar (cal_view));
- break;
- default:
- return_value = FALSE;
- break;
- }
- return return_value;
-}
-
-static gint
-action_interface_get_n_actions (AtkAction *action)
-{
- return CAL_VIEW_ACTION_NUM;
-}
-
-static G_CONST_RETURN gchar*
-action_interface_get_description(AtkAction *action, gint index)
-{
- return action_interface_action_get_name (action, index);
-}
-
-static G_CONST_RETURN gchar*
-action_interface_get_keybinding (AtkAction *action, gint index)
-{
- GtkWidget *widget;
- EaCalView *ea_cal_view;
-
- widget = GTK_ACCESSIBLE (action)->widget;
- if (widget == NULL)
- /*
- * State is defunct
- */
- return NULL;
-
- if (!GTK_WIDGET_IS_SENSITIVE (widget) || !GTK_WIDGET_VISIBLE (widget))
- return FALSE;
-
- ea_cal_view = EA_CAL_VIEW (action);
-
- switch (index) {
- case 0:
- /* New Appointment */
- return "<Alt>fna;<Control>n";
- break;
- case 1:
- /* New Event */
- return "<Alt>fnd;<Shift><Control>d";
- break;
- case 2:
- /* New Meeting */
- return "<Alt>fne;<Shift><Control>e";
- break;
- case 3:
- /* Go to today */
- return "<Alt>vt;<Alt><Control>t";
- break;
- case 4:
- /* Go to date */
- return "<Alt>vd;<Alt><Control>g";
- break;
- default:
- break;
- }
- return NULL;
-}
-
-static G_CONST_RETURN gchar*
-action_interface_action_get_name(AtkAction *action, gint i)
-{
- if (i >= 0 && i < CAL_VIEW_ACTION_NUM)
- return action_name [i];
- return NULL;
-}
diff --git a/a11y/calendar/ea-cal-view.h b/a11y/calendar/ea-cal-view.h
deleted file mode 100644
index 193bb3a3cb..0000000000
--- a/a11y/calendar/ea-cal-view.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-cal-view.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_CAL_VIEW_H__
-#define __EA_CAL_VIEW_H__
-
-#include <gtk/gtkaccessible.h>
-#include "e-calendar-view.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_CAL_VIEW (ea_cal_view_get_type ())
-#define EA_CAL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_CAL_VIEW, EaCalView))
-#define EA_CAL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_CAL_VIEW, EaCalViewClass))
-#define EA_IS_CAL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_CAL_VIEW))
-#define EA_IS_CAL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_CAL_VIEW))
-#define EA_CAL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_CAL_VIEW, EaCalViewClass))
-
-typedef struct _EaCalView EaCalView;
-typedef struct _EaCalViewClass EaCalViewClass;
-
-struct _EaCalView
-{
- GtkAccessible parent;
-};
-
-GType ea_cal_view_get_type (void);
-
-struct _EaCalViewClass
-{
- GtkAccessibleClass parent_class;
-};
-
-AtkObject* ea_cal_view_new (GtkWidget *widget);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __EA_CAL_VIEW_H__ */
diff --git a/a11y/calendar/ea-calendar-helpers.c b/a11y/calendar/ea-calendar-helpers.c
deleted file mode 100644
index ff3a502a67..0000000000
--- a/a11y/calendar/ea-calendar-helpers.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-calendar-helpers.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-calendar-helpers.h"
-#include "ea-cal-view-event.h"
-#include "ea-jump-button.h"
-#include "e-day-view.h"
-#include "e-week-view.h"
-
-#include <gal/e-text/e-text.h>
-#include <libgnomecanvas/gnome-canvas-pixbuf.h>
-
-/**
- * ea_calendar_helpers_get_accessible_for
- * @canvas_item: the canvas item for a event or a jump button
- * @returns: the atk object for the canvas_item
- *
- **/
-AtkObject *
-ea_calendar_helpers_get_accessible_for (GnomeCanvasItem *canvas_item)
-{
- AtkObject *atk_obj = NULL;
- GObject *g_obj;
-
- g_return_val_if_fail ((E_IS_TEXT (canvas_item)) || (GNOME_IS_CANVAS_ITEM (canvas_item)), NULL);;
-
- g_obj = G_OBJECT (canvas_item);
- /* we cannot use atk_gobject_accessible_for_object here,
- * EaDayViewEvent/EaWeekViewEvent cannot be created by the
- * registered facotry of E_TEXT
- */
- atk_obj = g_object_get_data (g_obj, "accessible-object");
- if (!atk_obj) {
- if (E_IS_TEXT (canvas_item)) {
- atk_obj = ea_cal_view_event_new (g_obj);
- }
- else if (GNOME_IS_CANVAS_PIXBUF(canvas_item)) {
- atk_obj = ea_jump_button_new (g_obj);
- }
- else
- return NULL;
- }
- return atk_obj;
-}
-
-/**
- * ea_calendar_helpers_get_view_widget_from:
- * @canvas_item: the canvas item for a event or a jump button
- * @returns: the cal view widget if exists
- *
- * Get the cal view widget contains the canvas_item.
- *
- **/
-ECalendarView *
-ea_calendar_helpers_get_cal_view_from (GnomeCanvasItem *canvas_item)
-{
- GnomeCanvas *canvas;
- GtkWidget *view_widget = NULL;
-
- g_return_val_if_fail (canvas_item, NULL);
- g_return_val_if_fail ((E_IS_TEXT (canvas_item)) || (GNOME_IS_CANVAS_ITEM (canvas_item)), NULL);
-
- /* canvas_item is the e_text for the event */
- /* canvas_item->canvas is the ECanvas for day view */
- /* parent of canvas_item->canvas is the EDayView or EWeekView widget */
- canvas = canvas_item->canvas;
- view_widget = gtk_widget_get_parent (GTK_WIDGET(canvas));
- if (!view_widget || !E_IS_CALENDAR_VIEW (view_widget))
- return NULL;
-
- return E_CALENDAR_VIEW (view_widget);
-}
-
-/**
- * ea_calendar_helpers_get_cal_view_event_from
- * @canvas_item: the cavas_item (e_text) for the event
- * @returns: the ECalendarViewEvent
- *
- * Get the ECalendarViewEvent for the canvas_item.
- *
- **/
-ECalendarViewEvent *
-ea_calendar_helpers_get_cal_view_event_from (GnomeCanvasItem *canvas_item)
-{
- ECalendarView *cal_view;
- gboolean event_found;
- ECalendarViewEvent *cal_view_event;
-
- g_return_val_if_fail (E_IS_TEXT (canvas_item), NULL);
-
- cal_view = ea_calendar_helpers_get_cal_view_from (canvas_item);
-
- if (!cal_view)
- return NULL;
-
- if (E_IS_DAY_VIEW (cal_view)) {
- gint event_day, event_num;
- EDayViewEvent *day_view_event;
- EDayView *day_view = E_DAY_VIEW (cal_view);
- event_found = e_day_view_find_event_from_item (day_view, canvas_item,
- &event_day, &event_num);
- if (!event_found)
- return NULL;
- if (event_day == E_DAY_VIEW_LONG_EVENT) {
- /* a long event */
- day_view_event = &g_array_index (day_view->long_events,
- EDayViewEvent, event_num);
- }
- else {
- /* a main canvas event */
- day_view_event = &g_array_index (day_view->events[event_day],
- EDayViewEvent, event_num);
- }
- cal_view_event = (ECalendarViewEvent *) day_view_event;
- }
- else if (E_IS_WEEK_VIEW (cal_view)) {
- gint event_num, span_num;
- EWeekViewEvent *week_view_event;
- EWeekView *week_view = E_WEEK_VIEW (cal_view);
- event_found = e_week_view_find_event_from_item (week_view,
- canvas_item,
- &event_num,
- &span_num);
- if (!event_found)
- return NULL;
-
- week_view_event = &g_array_index (week_view->events, EWeekViewEvent,
- event_num);
-
- cal_view_event = (ECalendarViewEvent *)week_view_event;
- }
- else {
- g_assert_not_reached ();
- return NULL;
- }
- return cal_view_event;
-}
diff --git a/a11y/calendar/ea-calendar-helpers.h b/a11y/calendar/ea-calendar-helpers.h
deleted file mode 100644
index 50d997d91d..0000000000
--- a/a11y/calendar/ea-calendar-helpers.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-calendar-helpers.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-/* Evolution Accessibility
- */
-
-#ifndef _EA_CALENDAR_HELPERS_H__
-#define _EA_CALENDAR_HELPERS_H__
-
-#include "ea-cal-view.h"
-
-AtkObject *
-ea_calendar_helpers_get_accessible_for (GnomeCanvasItem *canvas_item);
-
-ECalendarView *
-ea_calendar_helpers_get_cal_view_from (GnomeCanvasItem *canvas_item);
-
-ECalendarViewEvent *
-ea_calendar_helpers_get_cal_view_event_from (GnomeCanvasItem *canvas_item);
-
-#endif /* _EA_CALENDAR_HELPERS_H__ */
diff --git a/a11y/calendar/ea-calendar.c b/a11y/calendar/ea-calendar.c
deleted file mode 100644
index f2510bbcf9..0000000000
--- a/a11y/calendar/ea-calendar.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-calendar.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include <gal/e-text/e-text.h>
-#include <libgnomecanvas/gnome-canvas-pixbuf.h>
-#include "ea-calendar-helpers.h"
-#include "ea-factory.h"
-#include "ea-calendar.h"
-
-#include "calendar/ea-cal-view.h"
-#include "calendar/ea-cal-view-event.h"
-#include "calendar/ea-day-view.h"
-#include "calendar/ea-day-view-main-item.h"
-#include "calendar/ea-week-view.h"
-#include "calendar/ea-week-view-main-item.h"
-#include "calendar/ea-gnome-calendar.h"
-
-
-EA_FACTORY (EA_TYPE_CAL_VIEW, ea_cal_view, ea_cal_view_new)
-EA_FACTORY (EA_TYPE_DAY_VIEW, ea_day_view, ea_day_view_new)
-EA_FACTORY_GOBJECT (EA_TYPE_DAY_VIEW_MAIN_ITEM, ea_day_view_main_item, ea_day_view_main_item_new)
-EA_FACTORY (EA_TYPE_WEEK_VIEW, ea_week_view, ea_week_view_new)
-EA_FACTORY_GOBJECT (EA_TYPE_WEEK_VIEW_MAIN_ITEM, ea_week_view_main_item, ea_week_view_main_item_new)
-EA_FACTORY (EA_TYPE_GNOME_CALENDAR, ea_gnome_calendar, ea_gnome_calendar_new)
-
-static gboolean ea_calendar_focus_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data);
-
-void
-gnome_calendar_a11y_init (void)
-{
- EA_SET_FACTORY (gnome_calendar_get_type(), ea_gnome_calendar);
- /* we only add focus watcher when accessibility is enabled
- */
- if (atk_get_root ()) {
- g_signal_add_emission_hook (g_signal_lookup ("event", E_TYPE_TEXT),
- 0, ea_calendar_focus_watcher,
- NULL, (GDestroyNotify) NULL);
- g_signal_add_emission_hook (g_signal_lookup ("event", GNOME_TYPE_CANVAS_PIXBUF),
- 0, ea_calendar_focus_watcher,
- NULL, (GDestroyNotify) NULL);
- g_signal_add_emission_hook (g_signal_lookup ("event-after",
- e_day_view_get_type()),
- 0, ea_calendar_focus_watcher,
- NULL, (GDestroyNotify) NULL);
- g_signal_add_emission_hook (g_signal_lookup ("event",
- e_day_view_main_item_get_type()),
- 0, ea_calendar_focus_watcher,
- NULL, (GDestroyNotify) NULL);
- g_signal_add_emission_hook (g_signal_lookup ("event-after",
- e_week_view_get_type()),
- 0, ea_calendar_focus_watcher,
- NULL, (GDestroyNotify) NULL);
- g_signal_add_emission_hook (g_signal_lookup ("event",
- e_week_view_main_item_get_type()),
- 0, ea_calendar_focus_watcher,
- NULL, (GDestroyNotify) NULL);
-
- }
-}
-
-void
-e_cal_view_a11y_init (void)
-{
- EA_SET_FACTORY (e_cal_view_get_type(), ea_cal_view);
-}
-
-void
-e_day_view_a11y_init (void)
-{
- EA_SET_FACTORY (e_day_view_get_type(), ea_day_view);
-}
-
-void
-e_day_view_main_item_a11y_init (void)
-{
- EA_SET_FACTORY (e_day_view_main_item_get_type (), ea_day_view_main_item);
-}
-
-void
-e_week_view_a11y_init (void)
-{
- EA_SET_FACTORY (e_week_view_get_type(), ea_week_view);
-}
-
-void
-e_week_view_main_item_a11y_init (void)
-{
- EA_SET_FACTORY (e_week_view_main_item_get_type (), ea_week_view_main_item);
-}
-
-gboolean
-ea_calendar_focus_watcher (GSignalInvocationHint *ihint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data)
-{
- GObject *object;
- GdkEvent *event;
- AtkObject *ea_event = NULL;
-
- object = g_value_get_object (param_values + 0);
- event = g_value_get_boxed (param_values + 1);
-
- if ((E_IS_TEXT (object)) || (GNOME_IS_CANVAS_PIXBUF (object))) {
- /* "event" signal on canvas item
- */
- GnomeCanvasItem *canvas_item;
-
- canvas_item = GNOME_CANVAS_ITEM (object);
- if (event->type == GDK_FOCUS_CHANGE) {
- if (event->focus_change.in) {
- ea_event =
- ea_calendar_helpers_get_accessible_for (canvas_item);
- if (!ea_event)
- /* not canvas item we want */
- return TRUE;
-
- }
- atk_focus_tracker_notify (ea_event);
- }
- }
- else if (E_IS_DAY_VIEW (object)) {
- EDayView *day_view = E_DAY_VIEW (object);
- if (event->type == GDK_FOCUS_CHANGE) {
- if (event->focus_change.in) {
- /* give main item chance to emit focus */
- gnome_canvas_item_grab_focus (day_view->main_canvas_item);
- }
- }
- }
- else if (E_IS_DAY_VIEW_MAIN_ITEM (object)) {
- if (event->type == GDK_FOCUS_CHANGE) {
- if (event->focus_change.in) {
- /* we should emit focus on main item */
- ea_event = atk_gobject_accessible_for_object (object);
- }
- else
- /* focus out */
- ea_event = NULL;
-#ifdef ACC_DEBUG
- printf ("EvoAcc: focus notify on day main item %p\n", (void *)object);
-#endif
- atk_focus_tracker_notify (ea_event);
- }
- } else if (E_IS_WEEK_VIEW (object)) {
- EWeekView *week_view = E_WEEK_VIEW (object);
- if (event->type == GDK_FOCUS_CHANGE) {
- if (event->focus_change.in) {
- /* give main item chance to emit focus */
- gnome_canvas_item_grab_focus (week_view->main_canvas_item);
- }
- }
- }
- else if (E_IS_WEEK_VIEW_MAIN_ITEM (object)) {
- if (event->type == GDK_FOCUS_CHANGE) {
- if (event->focus_change.in) {
- /* we should emit focus on main item */
- ea_event = atk_gobject_accessible_for_object (object);
- }
- else
- /* focus out */
- ea_event = NULL;
-#ifdef ACC_DEBUG
- printf ("EvoAcc: focus notify on week main item %p\n", (void *)object);
-#endif
- atk_focus_tracker_notify (ea_event);
- }
- }
- return TRUE;
-}
diff --git a/a11y/calendar/ea-calendar.h b/a11y/calendar/ea-calendar.h
deleted file mode 100644
index 92bb80a962..0000000000
--- a/a11y/calendar/ea-calendar.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-calendar.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-/* Evolution Accessibility
-*/
-
-#ifndef _EA_CALENDAR_H__
-#define _EA_CALENDAR_H__
-
-void gnome_calendar_a11y_init (void);
-void e_cal_view_a11y_init (void);
-void e_day_view_a11y_init (void);
-void e_day_view_main_item_a11y_init (void);
-void e_week_view_a11y_init (void);
-void e_week_view_main_item_a11y_init (void);
-
-#endif /* _EA_CALENDAR_H__ */
diff --git a/a11y/calendar/ea-day-view-cell.c b/a11y/calendar/ea-day-view-cell.c
deleted file mode 100644
index 5b1f81ae1a..0000000000
--- a/a11y/calendar/ea-day-view-cell.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-day-view-cell.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-day-view-cell.h"
-#include "ea-day-view-main-item.h"
-#include "ea-day-view.h"
-#include "ea-factory.h"
-
-/* EDayViewCell */
-
-static void e_day_view_cell_class_init (EDayViewCellClass *class);
-
-EA_FACTORY_GOBJECT (EA_TYPE_DAY_VIEW_CELL, ea_day_view_cell, ea_day_view_cell_new)
-
-GType
-e_day_view_cell_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EDayViewCellClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) e_day_view_cell_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EDayViewCell), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- type = g_type_register_static (G_TYPE_OBJECT,
- "EDayViewCell", &tinfo, 0);
- }
-
- return type;
-}
-
-static void
-e_day_view_cell_class_init (EDayViewCellClass *class)
-{
- EA_SET_FACTORY (e_day_view_cell_get_type (), ea_day_view_cell);
-}
-
-EDayViewCell *
-e_day_view_cell_new (EDayView *day_view, gint row, gint column)
-{
- GObject *object;
- EDayViewCell *cell;
-
- g_return_val_if_fail (E_IS_DAY_VIEW (day_view), NULL);
-
- object = g_object_new (E_TYPE_DAY_VIEW_CELL, NULL);
- cell = E_DAY_VIEW_CELL (object);
- cell->day_view = day_view;
- cell->row = row;
- cell->column = column;
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: e_day_view_cell created %p\n", (void *)cell);
-#endif
-
- return cell;
-}
-
-/* EaDayViewCell */
-
-static void ea_day_view_cell_class_init (EaDayViewCellClass *klass);
-
-static G_CONST_RETURN gchar* ea_day_view_cell_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_day_view_cell_get_description (AtkObject *accessible);
-static AtkStateSet* ea_day_view_cell_ref_state_set (AtkObject *obj);
-static AtkObject * ea_day_view_cell_get_parent (AtkObject *accessible);
-static gint ea_day_view_cell_get_index_in_parent (AtkObject *accessible);
-
-/* component interface */
-static void atk_component_interface_init (AtkComponentIface *iface);
-static void component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y,
- gint *width, gint *height,
- AtkCoordType coord_type);
-static gboolean component_interface_grab_focus (AtkComponent *component);
-
-static gpointer parent_class = NULL;
-
-#ifdef ACC_DEBUG
-static gint n_ea_day_view_cell_created = 0, n_ea_day_view_cell_destroyed = 0;
-static void ea_day_view_cell_finalize (GObject *object);
-#endif
-
-GType
-ea_day_view_cell_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaDayViewCellClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_day_view_cell_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaDayViewCell), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) atk_component_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- type = g_type_register_static (ATK_TYPE_GOBJECT_ACCESSIBLE,
- "EaDayViewCell", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
- &atk_component_info);
- }
-
- return type;
-}
-
-static void
-ea_day_view_cell_class_init (EaDayViewCellClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
-#ifdef ACC_DEBUG
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = ea_day_view_cell_finalize;
-#endif
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_day_view_cell_get_name;
- class->get_description = ea_day_view_cell_get_description;
- class->ref_state_set = ea_day_view_cell_ref_state_set;
-
- class->get_parent = ea_day_view_cell_get_parent;
- class->get_index_in_parent = ea_day_view_cell_get_index_in_parent;
-}
-
-AtkObject*
-ea_day_view_cell_new (GObject *obj)
-{
- gpointer object;
- AtkObject *atk_object;
-
- g_return_val_if_fail (E_IS_DAY_VIEW_CELL (obj), NULL);
-
- object = g_object_new (EA_TYPE_DAY_VIEW_CELL, NULL);
- atk_object = ATK_OBJECT (object);
- atk_object_initialize (atk_object, obj);
- atk_object->role = ATK_ROLE_UNKNOWN;
-
-#ifdef ACC_DEBUG
- ++n_ea_day_view_cell_created;
- printf ("ACC_DEBUG: n_ea_day_view_cell_created = %d\n",
- n_ea_day_view_cell_created);
-#endif
- return atk_object;
-}
-
-#ifdef ACC_DEBUG
-static void ea_day_view_cell_finalize (GObject *object)
-{
- ++n_ea_day_view_cell_destroyed;
- printf ("ACC_DEBUG: n_ea_day_view_cell_destroyed = %d\n",
- n_ea_day_view_cell_destroyed);
-}
-#endif
-
-static G_CONST_RETURN gchar*
-ea_day_view_cell_get_name (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewCell *cell;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW_CELL (accessible), NULL);
-
- if (!accessible->name) {
- AtkObject *ea_main_item;
- GnomeCanvasItem *main_item;
- gchar *new_name = g_strdup ("");
- const gchar *row_label, *column_label;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- cell = E_DAY_VIEW_CELL (g_obj);
- main_item = cell->day_view->main_canvas_item;
- ea_main_item = atk_gobject_accessible_for_object (G_OBJECT (main_item));
- column_label = atk_table_get_column_description (ATK_TABLE (ea_main_item),
- cell->column);
- row_label = atk_table_get_row_description (ATK_TABLE (ea_main_item),
- cell->row);
- new_name = g_strconcat (column_label, " ", row_label, NULL);
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, new_name);
- g_free (new_name);
- }
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_day_view_cell_get_description (AtkObject *accessible)
-{
- return ea_day_view_cell_get_name (accessible);
-}
-
-static AtkStateSet*
-ea_day_view_cell_ref_state_set (AtkObject *obj)
-{
- AtkStateSet *state_set;
- GObject *g_obj;
- AtkObject *parent;
- gint x, y, width, height;
- gint parent_x, parent_y, parent_width, parent_height;
-
- state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(obj));
- if (!g_obj)
- return state_set;
-
- atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);
-
- parent = atk_object_get_parent (obj);
- atk_component_get_extents (ATK_COMPONENT (obj), &x, &y,
- &width, &height, ATK_XY_WINDOW);
- atk_component_get_extents (ATK_COMPONENT (parent), &parent_x, &parent_y,
- &parent_width, &parent_height, ATK_XY_WINDOW);
-
-
- if (x + width < parent_x || x > parent_x + parent_width ||
- y + height < parent_y || y > parent_y + parent_height)
- /* the cell is out of the main canvas */
- ;
- else
- atk_state_set_add_state (state_set, ATK_STATE_VISIBLE);
-
- return state_set;
-}
-
-static AtkObject *
-ea_day_view_cell_get_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewCell *cell;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW_CELL (accessible), NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- cell = E_DAY_VIEW_CELL (g_obj);
- return atk_gobject_accessible_for_object (G_OBJECT (cell->day_view->main_canvas_item));
-}
-
-static gint
-ea_day_view_cell_get_index_in_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewCell *cell;
- AtkObject *parent;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW_CELL (accessible), -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- cell = E_DAY_VIEW_CELL (g_obj);
- parent = atk_object_get_parent (accessible);
- return atk_table_get_index_at (ATK_TABLE (parent),
- cell->row, cell->column);
-}
-
-/* Atk Component Interface */
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->get_extents = component_interface_get_extents;
- iface->grab_focus = component_interface_grab_focus;
-}
-
-static void
-component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y, gint *width, gint *height,
- AtkCoordType coord_type)
-{
- GObject *g_obj;
- AtkObject *atk_obj;
- EDayViewCell *cell;
- EDayView *day_view;
- GtkWidget *main_canvas;
- gint day_view_width, day_view_height;
- gint scroll_x, scroll_y;
-
- *x = *y = *width = *height = 0;
-
- g_return_if_fail (EA_IS_DAY_VIEW_CELL (component));
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(component));
- if (!g_obj)
- /* defunct object*/
- return;
-
- cell = E_DAY_VIEW_CELL (g_obj);
- day_view = cell->day_view;
- main_canvas = cell->day_view->main_canvas;
-
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (main_canvas));
- atk_component_get_extents (ATK_COMPONENT (atk_obj),
- x, y,
- &day_view_width, &day_view_height,
- coord_type);
- gnome_canvas_get_scroll_offsets (GNOME_CANVAS (day_view->main_canvas),
- &scroll_x, &scroll_y);
- *x += day_view->day_offsets[cell->column] - scroll_x;
- *y += day_view->row_height * cell->row
- - scroll_y;
- *width = day_view->day_widths[cell->column];
- *height = day_view->row_height;
-}
-
-static gboolean
-component_interface_grab_focus (AtkComponent *comp)
-{
- GObject *g_obj;
- EDayViewCell *cell;
- EDayView *day_view;
- GtkWidget *toplevel;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW_CELL (comp), FALSE);
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (comp));
- if (!g_obj)
- return FALSE;
-
- cell = E_DAY_VIEW_CELL (g_obj);
- day_view = cell->day_view;
-
- day_view->selection_start_day = cell->column;
- day_view->selection_end_day = cell->column;
- day_view->selection_start_row = cell->row;
- day_view->selection_end_row = cell->row;
-
- e_day_view_ensure_rows_visible (day_view,
- day_view->selection_start_row,
- day_view->selection_end_row);
- e_day_view_update_calendar_selection_time (day_view);
- gtk_widget_queue_draw (day_view->main_canvas);
-
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (day_view));
- if (GTK_WIDGET_TOPLEVEL (toplevel))
- gtk_window_present (GTK_WINDOW (toplevel));
-
- return TRUE;
-}
-
diff --git a/a11y/calendar/ea-day-view-cell.h b/a11y/calendar/ea-day-view-cell.h
deleted file mode 100644
index cba2fec15b..0000000000
--- a/a11y/calendar/ea-day-view-cell.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-day-view-cell.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_DAY_VIEW_CELL_H__
-#define __EA_DAY_VIEW_CELL_H__
-
-#include <atk/atkgobjectaccessible.h>
-#include "e-day-view.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_TYPE_DAY_VIEW_CELL (e_day_view_cell_get_type ())
-#define E_DAY_VIEW_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_DAY_VIEW_CELL, EDayViewCell))
-#define E_DAY_VIEW_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_DAY_VIEW_CELL, EDayViewCellClass))
-#define E_IS_DAY_VIEW_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_DAY_VIEW_CELL))
-#define E_IS_DAY_VIEW_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_DAY_VIEW_CELL))
-#define E_DAY_VIEW_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TYPE_DAY_VIEW_CELL, EDayViewCellClass))
-
-typedef struct _EDayViewCell EDayViewCell;
-typedef struct _EDayViewCellClass EDayViewCellClass;
-
-struct _EDayViewCell
-{
- GObject parent;
- EDayView *day_view;
- gint row;
- gint column;
-};
-
-GType e_day_view_cell_get_type (void);
-
-struct _EDayViewCellClass
-{
- GObjectClass parent_class;
-};
-
-EDayViewCell * e_day_view_cell_new (EDayView *day_view, gint row, gint column);
-
-#define EA_TYPE_DAY_VIEW_CELL (ea_day_view_cell_get_type ())
-#define EA_DAY_VIEW_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_DAY_VIEW_CELL, EaDayViewCell))
-#define EA_DAY_VIEW_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_DAY_VIEW_CELL, EaDayViewCellClass))
-#define EA_IS_DAY_VIEW_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_DAY_VIEW_CELL))
-#define EA_IS_DAY_VIEW_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_DAY_VIEW_CELL))
-#define EA_DAY_VIEW_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_DAY_VIEW_CELL, EaDayViewCellClass))
-
-typedef struct _EaDayViewCell EaDayViewCell;
-typedef struct _EaDayViewCellClass EaDayViewCellClass;
-
-struct _EaDayViewCell
-{
- AtkGObjectAccessible parent;
-};
-
-GType ea_day_view_cell_get_type (void);
-
-struct _EaDayViewCellClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-AtkObject* ea_day_view_cell_new (GObject *gobj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __EA_DAY_VIEW_CELL_H__ */
diff --git a/a11y/calendar/ea-day-view-main-item.c b/a11y/calendar/ea-day-view-main-item.c
deleted file mode 100644
index b65ad63957..0000000000
--- a/a11y/calendar/ea-day-view-main-item.c
+++ /dev/null
@@ -1,1292 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-day-view-main-item.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-day-view-main-item.h"
-#include "e-day-view-top-item.h"
-#include "ea-day-view.h"
-#include "ea-day-view-cell.h"
-#include "ea-cell-table.h"
-#include <libgnome/gnome-i18n.h>
-
-/* EaDayViewMainItem */
-static void ea_day_view_main_item_class_init (EaDayViewMainItemClass *klass);
-
-static void ea_day_view_main_item_finalize (GObject *object);
-static G_CONST_RETURN gchar* ea_day_view_main_item_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_day_view_main_item_get_description (AtkObject *accessible);
-
-static gint ea_day_view_main_item_get_n_children (AtkObject *obj);
-static AtkObject* ea_day_view_main_item_ref_child (AtkObject *obj,
- gint i);
-static AtkObject * ea_day_view_main_item_get_parent (AtkObject *accessible);
-static gint ea_day_view_main_item_get_index_in_parent (AtkObject *accessible);
-
-/* callbacks */
-static void ea_day_view_main_item_dates_change_cb (GnomeCalendar *gcal, gpointer data);
-static void ea_day_view_main_item_time_change_cb (EDayView *day_view, gpointer data);
-
-/* component interface */
-static void atk_component_interface_init (AtkComponentIface *iface);
-static void component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y,
- gint *width, gint *height,
- AtkCoordType coord_type);
-/* atk table interface */
-static void atk_table_interface_init (AtkTableIface *iface);
-static gint table_interface_get_index_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_column_at_index (AtkTable *table,
- gint index);
-static gint table_interface_get_row_at_index (AtkTable *table,
- gint index);
-static AtkObject* table_interface_ref_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_n_rows (AtkTable *table);
-static gint table_interface_get_n_columns (AtkTable *table);
-static gint table_interface_get_column_extent_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_row_extent_at (AtkTable *table,
- gint row,
- gint column);
-
-static gboolean table_interface_is_row_selected (AtkTable *table,
- gint row);
-static gboolean table_interface_is_column_selected (AtkTable *table,
- gint row);
-static gboolean table_interface_is_selected (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_selected_rows (AtkTable *table,
- gint **rows_selected);
-static gint table_interface_get_selected_columns (AtkTable *table,
- gint **columns_selected);
-static gboolean table_interface_add_row_selection (AtkTable *table, gint row);
-static gboolean table_interface_remove_row_selection (AtkTable *table,
- gint row);
-static gboolean table_interface_add_column_selection (AtkTable *table,
- gint column);
-static gboolean table_interface_remove_column_selection (AtkTable *table,
- gint column);
-static AtkObject* table_interface_get_row_header (AtkTable *table, gint row);
-static AtkObject* table_interface_get_column_header (AtkTable *table,
- gint in_col);
-static AtkObject* table_interface_get_caption (AtkTable *table);
-
-static G_CONST_RETURN gchar*
-table_interface_get_column_description (AtkTable *table, gint in_col);
-
-static G_CONST_RETURN gchar*
-table_interface_get_row_description (AtkTable *table, gint row);
-
-static AtkObject* table_interface_get_summary (AtkTable *table);
-
-/* atk selection interface */
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean selection_interface_add_selection (AtkSelection *selection,
- gint i);
-static gboolean selection_interface_clear_selection (AtkSelection *selection);
-static AtkObject* selection_interface_ref_selection (AtkSelection *selection,
- gint i);
-static gint selection_interface_get_selection_count (AtkSelection *selection);
-static gboolean selection_interface_is_child_selected (AtkSelection *selection,
- gint i);
-
-/* helpers */
-static EaCellTable *
-ea_day_view_main_item_get_cell_data (EaDayViewMainItem *ea_main_item);
-
-static void
-ea_day_view_main_item_destory_cell_data (EaDayViewMainItem *ea_main_item);
-
-static gint
-ea_day_view_main_item_get_child_index_at (EaDayViewMainItem *ea_main_item,
- gint row, gint column);
-static gint
-ea_day_view_main_item_get_row_at_index (EaDayViewMainItem *ea_main_item,
- gint index);
-static gint
-ea_day_view_main_item_get_column_at_index (EaDayViewMainItem *ea_main_item,
- gint index);
-static gint
-ea_day_view_main_item_get_row_label (EaDayViewMainItem *ea_main_item,
- gint row, gchar *buffer,
- gint buffer_size);
-
-#ifdef ACC_DEBUG
-static gint n_ea_day_view_main_item_created = 0;
-static gint n_ea_day_view_main_item_destroyed = 0;
-#endif
-
-static gpointer parent_class = NULL;
-
-GType
-ea_day_view_main_item_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaDayViewMainItemClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_day_view_main_item_class_init,
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaDayViewMainItem), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) atk_component_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- static const GInterfaceInfo atk_table_info = {
- (GInterfaceInitFunc) atk_table_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- static const GInterfaceInfo atk_selection_info = {
- (GInterfaceInitFunc) atk_selection_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (GailCanvasItem, in this case)
- *
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- e_day_view_main_item_get_type());
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaDayViewMainItem", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
- &atk_component_info);
- g_type_add_interface_static (type, ATK_TYPE_TABLE,
- &atk_table_info);
- g_type_add_interface_static (type, ATK_TYPE_SELECTION,
- &atk_selection_info);
- }
-
- return type;
-}
-
-static void
-ea_day_view_main_item_class_init (EaDayViewMainItemClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- gobject_class->finalize = ea_day_view_main_item_finalize;
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_day_view_main_item_get_name;
- class->get_description = ea_day_view_main_item_get_description;
-
- class->get_n_children = ea_day_view_main_item_get_n_children;
- class->ref_child = ea_day_view_main_item_ref_child;
- class->get_parent = ea_day_view_main_item_get_parent;
- class->get_index_in_parent = ea_day_view_main_item_get_index_in_parent;
-}
-
-AtkObject*
-ea_day_view_main_item_new (GObject *obj)
-{
- AtkObject *accessible;
- GnomeCalendar *gcal;
- EDayViewMainItem *main_item;
-
- g_return_val_if_fail (E_IS_DAY_VIEW_MAIN_ITEM (obj), NULL);
-
- accessible = ATK_OBJECT (g_object_new (EA_TYPE_DAY_VIEW_MAIN_ITEM,
- NULL));
-
- atk_object_initialize (accessible, obj);
- accessible->role = ATK_ROLE_TABLE;
-
-#ifdef ACC_DEBUG
- ++n_ea_day_view_main_item_created;
- printf ("ACC_DEBUG: n_ea_day_view_main_item_created = %d\n",
- n_ea_day_view_main_item_created);
-#endif
- main_item = E_DAY_VIEW_MAIN_ITEM (obj);
- g_signal_connect (main_item->day_view, "selected_time_changed",
- G_CALLBACK (ea_day_view_main_item_time_change_cb),
- accessible);
-
- /* listen for date changes of calendar */
- gcal = e_calendar_view_get_calendar (E_CALENDAR_VIEW (main_item->day_view));
- if (gcal)
- g_signal_connect (gcal, "dates_shown_changed",
- G_CALLBACK (ea_day_view_main_item_dates_change_cb),
- accessible);
-
- return accessible;
-}
-
-static void
-ea_day_view_main_item_finalize (GObject *object)
-{
- EaDayViewMainItem *ea_main_item;
-
- g_return_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (object));
-
- ea_main_item = EA_DAY_VIEW_MAIN_ITEM (object);
-
- /* Free the allocated cell data */
- ea_day_view_main_item_destory_cell_data (ea_main_item);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-#ifdef ACC_DEBUG
- ++n_ea_day_view_main_item_destroyed;
- printf ("ACC_DEBUG: n_ea_day_view_main_item_destroyed = %d\n",
- n_ea_day_view_main_item_destroyed);
-#endif
-}
-
-static G_CONST_RETURN gchar*
-ea_day_view_main_item_get_name (AtkObject *accessible)
-{
- AtkObject *parent;
- g_return_val_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (accessible), NULL);
- parent = atk_object_get_parent (accessible);
- return atk_object_get_name (parent);
-}
-
-static G_CONST_RETURN gchar*
-ea_day_view_main_item_get_description (AtkObject *accessible)
-{
- return _("a table to view and select the current time range");
-}
-
-static gint
-ea_day_view_main_item_get_n_children (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (accessible), -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- return day_view->rows * day_view->days_shown;
-}
-
-static AtkObject *
-ea_day_view_main_item_ref_child (AtkObject *accessible, gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- gint n_children;
- EDayViewCell *cell;
- EaCellTable *cell_data;
- EaDayViewMainItem *ea_main_item;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (accessible), NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- n_children = ea_day_view_main_item_get_n_children (accessible);
- if (index < 0 || index >= n_children)
- return NULL;
-
- ea_main_item = EA_DAY_VIEW_MAIN_ITEM (accessible);
- cell_data = ea_day_view_main_item_get_cell_data (ea_main_item);
- if (!cell_data)
- return NULL;
-
- cell = ea_cell_table_get_cell_at_index (cell_data, index);
- if (!cell) {
- gint row, column;
-
- row = ea_day_view_main_item_get_row_at_index (ea_main_item, index);
- column = ea_day_view_main_item_get_column_at_index (ea_main_item, index);
- cell = e_day_view_cell_new (day_view, row, column);
- ea_cell_table_set_cell_at_index (cell_data, index, cell);
- g_object_unref (cell);
- }
- return g_object_ref (atk_gobject_accessible_for_object (G_OBJECT(cell)));
-}
-
-static AtkObject *
-ea_day_view_main_item_get_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (accessible), NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- return gtk_widget_get_accessible (GTK_WIDGET (main_item->day_view));
-}
-
-static gint
-ea_day_view_main_item_get_index_in_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (accessible), -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- /* always the first child of ea-day-view */
- return 0;
-}
-
-/* callbacks */
-
-static void
-ea_day_view_main_item_dates_change_cb (GnomeCalendar *gcal, gpointer data)
-{
- EaDayViewMainItem *ea_main_item;
-
- g_return_if_fail (GNOME_IS_CALENDAR (gcal));
- g_return_if_fail (data);
- g_return_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (data));
-
- ea_main_item = EA_DAY_VIEW_MAIN_ITEM (data);
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: ea_day_view_main_item update cb\n");
-#endif
-
- ea_day_view_main_item_destory_cell_data (ea_main_item);
-}
-
-static void
-ea_day_view_main_item_time_change_cb (EDayView *day_view, gpointer data)
-{
- EaDayViewMainItem *ea_main_item;
- AtkObject *item_cell = NULL;
-
- g_return_if_fail (E_IS_DAY_VIEW (day_view));
- g_return_if_fail (data);
- g_return_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (data));
-
- ea_main_item = EA_DAY_VIEW_MAIN_ITEM (data);
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: ea_day_view_main_item time changed cb\n");
-#endif
- /* only deal with the first selected child, for now */
- item_cell = atk_selection_ref_selection (ATK_SELECTION (ea_main_item),
- 0);
- if (item_cell) {
- AtkStateSet *state_set;
- state_set = atk_object_ref_state_set (item_cell);
- atk_state_set_add_state (state_set, ATK_STATE_FOCUSED);
- g_object_unref (state_set);
-
- g_signal_emit_by_name (ea_main_item,
- "active-descendant-changed",
- item_cell);
- g_signal_emit_by_name (data, "selection_changed");
-
- atk_focus_tracker_notify (item_cell);
- g_object_unref (item_cell);
- }
-
-}
-
-/* helpers */
-
-static gint
-ea_day_view_main_item_get_child_index_at (EaDayViewMainItem *ea_main_item,
- gint row, gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
-
- g_return_val_if_fail (ea_main_item, -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- if (row >= 0 && row < day_view->rows &&
- column >= 0 && column < day_view->days_shown)
- return column * day_view->rows + row;
- return -1;
-}
-
-static gint
-ea_day_view_main_item_get_row_at_index (EaDayViewMainItem *ea_main_item,
- gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- gint n_children;
-
- g_return_val_if_fail (ea_main_item, -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- n_children = ea_day_view_main_item_get_n_children (ATK_OBJECT (ea_main_item));
- if (index >= 0 && index < n_children)
- return index % day_view->rows;
- return -1;
-}
-
-static gint
-ea_day_view_main_item_get_column_at_index (EaDayViewMainItem *ea_main_item,
- gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- gint n_children;
-
- g_return_val_if_fail (ea_main_item, -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- n_children = ea_day_view_main_item_get_n_children (ATK_OBJECT (ea_main_item));
- if (index >= 0 && index < n_children)
- return index / day_view->rows;
- return -1;
-}
-
-static gint
-ea_day_view_main_item_get_row_label (EaDayViewMainItem *ea_main_item,
- gint row, gchar *buffer, gint buffer_size)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- gchar *suffix;
- gint hour, minute, suffix_width;
-
- g_return_val_if_fail (ea_main_item, 0);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return 0 ;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- hour = day_view->first_hour_shown;
- minute = day_view->first_minute_shown;
- minute += row * day_view->mins_per_row;
- hour = (hour + minute / 60) % 24;
- minute %= 60;
-
- e_day_view_convert_time_to_display (day_view, hour, &hour,
- &suffix, &suffix_width);
- return g_snprintf (buffer, buffer_size, "%i:%02i %s",
- hour, minute, suffix);
-}
-
-static EaCellTable *
-ea_day_view_main_item_get_cell_data (EaDayViewMainItem *ea_main_item)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaCellTable *cell_data;
-
- g_return_val_if_fail (ea_main_item, NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- cell_data = g_object_get_data (G_OBJECT(ea_main_item),
- "ea-day-view-cell-table");
- if (!cell_data) {
- cell_data = ea_cell_table_create (day_view->rows,
- day_view->days_shown, TRUE);
- g_object_set_data (G_OBJECT(ea_main_item),
- "ea-day-view-cell-table", cell_data);
- }
- return cell_data;
-}
-
-static void
-ea_day_view_main_item_destory_cell_data (EaDayViewMainItem *ea_main_item)
-{
- EaCellTable *cell_data;
-
- g_return_if_fail (ea_main_item);
-
- cell_data = g_object_get_data (G_OBJECT(ea_main_item),
- "ea-day-view-cell-table");
- if (cell_data) {
- ea_cell_table_destroy (cell_data);
- g_object_set_data (G_OBJECT(ea_main_item),
- "ea-day-view-cell-table", NULL);
- }
-}
-
-/* Atk Component Interface */
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->get_extents = component_interface_get_extents;
-}
-
-static void
-component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y, gint *width, gint *height,
- AtkCoordType coord_type)
-{
- GObject *g_obj;
- AtkObject *ea_canvas;
- EDayViewMainItem *main_item;
- EDayView *day_view;
-
- *x = *y = *width = *height = 0;
-
- g_return_if_fail (EA_IS_DAY_VIEW_MAIN_ITEM (component));
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(component));
- if (!g_obj)
- /* defunct object*/
- return;
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- ea_canvas = gtk_widget_get_accessible (day_view->main_canvas);
- atk_component_get_extents (ATK_COMPONENT (ea_canvas), x, y,
- width, height, coord_type);
-}
-
-/* atk table interface */
-
-static void
-atk_table_interface_init (AtkTableIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->ref_at = table_interface_ref_at;
-
- iface->get_n_rows = table_interface_get_n_rows;
- iface->get_n_columns = table_interface_get_n_columns;
- iface->get_index_at = table_interface_get_index_at;
- iface->get_column_at_index = table_interface_get_column_at_index;
- iface->get_row_at_index = table_interface_get_row_at_index;
- iface->get_column_extent_at = table_interface_get_column_extent_at;
- iface->get_row_extent_at = table_interface_get_row_extent_at;
-
- iface->is_selected = table_interface_is_selected;
- iface->get_selected_rows = table_interface_get_selected_rows;
- iface->get_selected_columns = table_interface_get_selected_columns;
- iface->is_row_selected = table_interface_is_row_selected;
- iface->is_column_selected = table_interface_is_column_selected;
- iface->add_row_selection = table_interface_add_row_selection;
- iface->remove_row_selection = table_interface_remove_row_selection;
- iface->add_column_selection = table_interface_add_column_selection;
- iface->remove_column_selection = table_interface_remove_column_selection;
-
- iface->get_row_header = table_interface_get_row_header;
- iface->get_column_header = table_interface_get_column_header;
- iface->get_caption = table_interface_get_caption;
- iface->get_summary = table_interface_get_summary;
- iface->get_row_description = table_interface_get_row_description;
- iface->get_column_description = table_interface_get_column_description;
-}
-
-static AtkObject*
-table_interface_ref_at (AtkTable *table,
- gint row,
- gint column)
-{
- gint index;
-
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
- index = ea_day_view_main_item_get_child_index_at (ea_main_item,
- row, column);
- return ea_day_view_main_item_ref_child (ATK_OBJECT (ea_main_item), index);
-}
-
-static gint
-table_interface_get_n_rows (AtkTable *table)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- return day_view->rows;
-}
-
-static gint
-table_interface_get_n_columns (AtkTable *table)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- return day_view->days_shown;
-}
-
-static gint
-table_interface_get_index_at (AtkTable *table,
- gint row,
- gint column)
-{
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
- return ea_day_view_main_item_get_child_index_at (ea_main_item,
- row, column);
-}
-
-static gint
-table_interface_get_column_at_index (AtkTable *table,
- gint index)
-{
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
- return ea_day_view_main_item_get_column_at_index (ea_main_item, index);
-}
-
-static gint
-table_interface_get_row_at_index (AtkTable *table,
- gint index)
-{
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
- return ea_day_view_main_item_get_row_at_index (ea_main_item, index);
-}
-
-static gint
-table_interface_get_column_extent_at (AtkTable *table,
- gint row,
- gint column)
-{
- gint index;
- gint width = 0, height = 0;
- AtkObject *child;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
-
- index = ea_day_view_main_item_get_child_index_at (ea_main_item,
- row, column);
- child = atk_object_ref_accessible_child (ATK_OBJECT (ea_main_item),
- index);
- if (child)
- atk_component_get_size (ATK_COMPONENT (child),
- &width, &height);
-
- return width;
-}
-
-static gint
-table_interface_get_row_extent_at (AtkTable *table,
- gint row,
- gint column)
-{
- gint index;
- gint width = 0, height = 0;
- AtkObject *child;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
-
- index = ea_day_view_main_item_get_child_index_at (ea_main_item,
- row, column);
- child = atk_object_ref_accessible_child (ATK_OBJECT (ea_main_item),
- index);
- if (child)
- atk_component_get_size (ATK_COMPONENT (child),
- &width, &height);
-
- return height;
-}
-
-static gboolean
-table_interface_is_row_selected (AtkTable *table,
- gint row)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- if (day_view->selection_start_day == -1)
- /* no selection */
- return FALSE;
- if (day_view->selection_start_day != day_view->selection_end_day)
- /* all row is selected */
- return TRUE;
- if (row >= day_view->selection_start_row &&
- row <= day_view->selection_end_row)
- return TRUE;
- return FALSE;
-}
-
-static gboolean
-table_interface_is_selected (AtkTable *table,
- gint row,
- gint column)
-{
- return table_interface_is_row_selected (table, row) &&
- table_interface_is_column_selected (table, column);
-}
-
-static gboolean
-table_interface_is_column_selected (AtkTable *table,
- gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- if (column >= day_view->selection_start_day &&
- column <= day_view->selection_end_day)
- return TRUE;
- return FALSE;
-}
-
-static gint
-table_interface_get_selected_rows (AtkTable *table,
- gint **rows_selected)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
- gint start_row = -1, n_rows = 0;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- if (day_view->selection_start_day == -1)
- return 0;
-
- if (day_view->selection_start_day != day_view->selection_end_day) {
- /* all the rows should be selected */
- n_rows = day_view->rows;
- start_row = 0;
- }
- else if (day_view->selection_start_row != -1) {
- start_row = day_view->selection_start_row;
- n_rows = day_view->selection_end_row - start_row + 1;
- }
- if (n_rows > 0 && start_row != -1 && rows_selected) {
- gint index;
-
- *rows_selected = (gint *) g_malloc (n_rows * sizeof (gint));
- for (index = 0; index < n_rows; ++index)
- (*rows_selected)[index] = start_row + index;
- }
- return n_rows;
-}
-
-static gint
-table_interface_get_selected_columns (AtkTable *table,
- gint **columns_selected)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
- gint start_column = -1, n_columns = 0;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- if (day_view->selection_start_day == -1)
- return 0;
-
- start_column = day_view->selection_start_day;
- n_columns = day_view->selection_end_day - start_column + 1;
- if (n_columns > 0 && start_column != -1 && columns_selected) {
- gint index;
-
- *columns_selected = (gint *) g_malloc (n_columns * sizeof (gint));
- for (index = 0; index < n_columns; ++index)
- (*columns_selected)[index] = start_column + index;
- }
- return n_columns;
-}
-
-static gboolean
-table_interface_add_row_selection (AtkTable *table,
- gint row)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- /* FIXME: we need multi-selection */
-
- day_view->selection_start_day = 0;
- day_view->selection_end_day = 0;
- day_view->selection_start_row = row;
- day_view->selection_end_row = row;
-
- e_day_view_ensure_rows_visible (day_view,
- day_view->selection_start_row,
- day_view->selection_end_row);
- e_day_view_update_calendar_selection_time (day_view);
- gtk_widget_queue_draw (day_view->main_canvas);
- return TRUE;
-}
-
-static gboolean
-table_interface_remove_row_selection (AtkTable *table,
- gint row)
-{
- return FALSE;
-}
-
-static gboolean
-table_interface_add_column_selection (AtkTable *table,
- gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- /* FIXME: we need multi-selection */
-
- day_view->selection_start_day = column;
- day_view->selection_end_day = column;
- day_view->selection_start_row = 0;
- day_view->selection_end_row = day_view->rows;
-
- e_day_view_update_calendar_selection_time (day_view);
- gtk_widget_queue_draw (day_view->main_canvas);
- return TRUE;
-}
-
-static gboolean
-table_interface_remove_column_selection (AtkTable *table,
- gint column)
-{
- /* FIXME: NOT IMPLEMENTED */
- return FALSE;
-}
-
-static AtkObject*
-table_interface_get_row_header (AtkTable *table,
- gint row)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static AtkObject*
-table_interface_get_column_header (AtkTable *table,
- gint in_col)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static AtkObject*
-table_interface_get_caption (AtkTable *table)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static G_CONST_RETURN gchar*
-table_interface_get_column_description (AtkTable *table,
- gint in_col)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
- const gchar *description;
- EaCellTable *cell_data;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- if (in_col < 0 || in_col >= day_view->days_shown)
- return NULL;
- cell_data = ea_day_view_main_item_get_cell_data (ea_main_item);
- if (!cell_data)
- return NULL;
-
- description = ea_cell_table_get_column_label (cell_data, in_col);
- if (!description) {
- gchar buffer[128];
- e_day_view_top_item_get_day_label (day_view, in_col, buffer, 128);
- ea_cell_table_set_column_label (cell_data, in_col, buffer);
- description = ea_cell_table_get_column_label (cell_data, in_col);
- }
- return description;
-}
-
-static G_CONST_RETURN gchar*
-table_interface_get_row_description (AtkTable *table,
- gint row)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (table);
- const gchar *description;
- EaCellTable *cell_data;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- if (row < 0 || row >= 12 * 24)
- return NULL;
- cell_data = ea_day_view_main_item_get_cell_data (ea_main_item);
- if (!cell_data)
- return NULL;
-
- description = ea_cell_table_get_row_label (cell_data, row);
- if (!description) {
- gchar buffer[128];
- ea_day_view_main_item_get_row_label (ea_main_item, row, buffer, sizeof (buffer));
- ea_cell_table_set_row_label (cell_data, row, buffer);
- description = ea_cell_table_get_row_label (cell_data,
- row);
- }
- return description;
-}
-
-static AtkObject*
-table_interface_get_summary (AtkTable *table)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-/* atkselection interface */
-
-static void
-atk_selection_interface_init (AtkSelectionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->add_selection = selection_interface_add_selection;
- iface->clear_selection = selection_interface_clear_selection;
- iface->ref_selection = selection_interface_ref_selection;
- iface->get_selection_count = selection_interface_get_selection_count;
- iface->is_child_selected = selection_interface_is_child_selected;
-}
-
-static gboolean
-selection_interface_add_selection (AtkSelection *selection, gint i)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (selection);
- gint column, row;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- row = ea_day_view_main_item_get_row_at_index (ea_main_item, i);
- column = ea_day_view_main_item_get_column_at_index (ea_main_item, i);
-
- if (row == -1 || column == -1)
- return FALSE;
-
- /*FIXME: multi-selection is needed */
- day_view->selection_start_day = column;
- day_view->selection_end_day = column;
- day_view->selection_start_row = row;
- day_view->selection_end_row = row;
-
- e_day_view_ensure_rows_visible (day_view,
- day_view->selection_start_row,
- day_view->selection_end_row);
- e_day_view_update_calendar_selection_time (day_view);
- gtk_widget_queue_draw (day_view->main_canvas);
- return TRUE;
-}
-
-static gboolean
-selection_interface_clear_selection (AtkSelection *selection)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (selection);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- day_view->selection_start_row = -1;
- day_view->selection_start_day = -1;
- day_view->selection_end_row = -1;
- day_view->selection_end_day = -1;
-
- e_day_view_update_calendar_selection_time (day_view);
- gtk_widget_queue_draw (day_view->main_canvas);
-
- return TRUE;
-}
-
-static AtkObject*
-selection_interface_ref_selection (AtkSelection *selection, gint i)
-{
- gint count;
- GObject *g_obj;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (selection);
- gint start_index;
-
- count = selection_interface_get_selection_count (selection);
- if (i < 0 || i >=count)
- return NULL;
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (ea_main_item));
- day_view = E_DAY_VIEW_MAIN_ITEM (g_obj)->day_view;
- start_index = ea_day_view_main_item_get_child_index_at (ea_main_item,
- day_view->selection_start_row,
- day_view->selection_start_day);
-
- return ea_day_view_main_item_ref_child (ATK_OBJECT (selection), start_index + i);
-}
-
-static gint
-selection_interface_get_selection_count (AtkSelection *selection)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (selection);
- gint start_index, end_index;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return 0;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- if (day_view->selection_start_day == -1 ||
- day_view->selection_start_row == -1)
- return 0;
- start_index = ea_day_view_main_item_get_child_index_at (ea_main_item,
- day_view->selection_start_row,
- day_view->selection_start_day);
- end_index = ea_day_view_main_item_get_child_index_at (ea_main_item,
- day_view->selection_end_row,
- day_view->selection_end_day);
-
- return end_index - start_index + 1;
-}
-
-static gboolean
-selection_interface_is_child_selected (AtkSelection *selection, gint i)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EDayViewMainItem *main_item;
- EDayView *day_view;
- EaDayViewMainItem* ea_main_item = EA_DAY_VIEW_MAIN_ITEM (selection);
- gint column, row;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_DAY_VIEW_MAIN_ITEM (g_obj);
- day_view = main_item->day_view;
-
- row = ea_day_view_main_item_get_row_at_index (ea_main_item, i);
- column = ea_day_view_main_item_get_column_at_index (ea_main_item, i);
-
- if (column < day_view->selection_start_day ||
- column > day_view->selection_end_day)
- return FALSE;
-
- if ((column == day_view->selection_start_day ||
- column == day_view->selection_end_day) &&
- (row < day_view->selection_start_row ||
- row > day_view->selection_end_row))
- return FALSE;
-
- /* if comes here, the cell is selected */
- return TRUE;
-}
diff --git a/a11y/calendar/ea-day-view-main-item.h b/a11y/calendar/ea-day-view-main-item.h
deleted file mode 100644
index d22372d064..0000000000
--- a/a11y/calendar/ea-day-view-main-item.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-day-view-main-item.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_DAY_VIEW_MAIN_ITEM_H__
-#define __EA_DAY_VIEW_MAIN_ITEM_H__
-
-#include <atk/atkgobjectaccessible.h>
-#include "e-day-view-main-item.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_DAY_VIEW_MAIN_ITEM (ea_day_view_main_item_get_type ())
-#define EA_DAY_VIEW_MAIN_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_DAY_VIEW_MAIN_ITEM, EaDayViewMainItem))
-#define EA_DAY_VIEW_MAIN_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_DAY_VIEW_MAIN_ITEM, EaDayViewMainItemClass))
-#define EA_IS_DAY_VIEW_MAIN_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_DAY_VIEW_MAIN_ITEM))
-#define EA_IS_DAY_VIEW_MAIN_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_DAY_VIEW_MAIN_ITEM))
-#define EA_DAY_VIEW_MAIN_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_DAY_VIEW_MAIN_ITEM, EaDayViewMainItemClass))
-
-typedef struct _EaDayViewMainItem EaDayViewMainItem;
-typedef struct _EaDayViewMainItemClass EaDayViewMainItemClass;
-
-struct _EaDayViewMainItem
-{
- AtkGObjectAccessible parent;
-};
-
-GType ea_day_view_main_item_get_type (void);
-
-struct _EaDayViewMainItemClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-AtkObject* ea_day_view_main_item_new (GObject *obj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __EA_DAY_VIEW_MAIN_ITEM_H__ */
diff --git a/a11y/calendar/ea-day-view.c b/a11y/calendar/ea-day-view.c
deleted file mode 100644
index cfe96634ba..0000000000
--- a/a11y/calendar/ea-day-view.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-day-view.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-day-view.h"
-#include "ea-cal-view-event.h"
-
-#include "ea-calendar-helpers.h"
-#include "ea-gnome-calendar.h"
-#include "calendar-commands.h"
-#include <glib/gstrfuncs.h>
-#include <libgnome/gnome-i18n.h>
-
-static void ea_day_view_class_init (EaDayViewClass *klass);
-
-static G_CONST_RETURN gchar* ea_day_view_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_day_view_get_description (AtkObject *accessible);
-static gint ea_day_view_get_n_children (AtkObject *obj);
-static AtkObject* ea_day_view_ref_child (AtkObject *obj,
- gint i);
-static gpointer parent_class = NULL;
-
-GType
-ea_day_view_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaDayViewClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_day_view_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaDayView), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (EaCalView, in this case)
- *
- * Note: we must still use run-time deriving here, because
- * our parent class EaCalView is run-time deriving.
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- e_cal_view_get_type());
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaDayView", &tinfo, 0);
- }
-
- return type;
-}
-
-static void
-ea_day_view_class_init (EaDayViewClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_day_view_get_name;
- class->get_description = ea_day_view_get_description;
-
- class->get_n_children = ea_day_view_get_n_children;
- class->ref_child = ea_day_view_ref_child;
-}
-
-AtkObject*
-ea_day_view_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (E_IS_DAY_VIEW (widget), NULL);
-
- object = g_object_new (EA_TYPE_DAY_VIEW, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: ea_day_view created %p\n", (void *)accessible);
-#endif
-
- return accessible;
-}
-
-static G_CONST_RETURN gchar*
-ea_day_view_get_name (AtkObject *accessible)
-{
- EDayView *day_view;
- GnomeCalendar *gcal;
- const gchar *label_text;
- GnomeCalendarViewType view_type;
- gint n_events;
- gchar *event_str, *name_str;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW (accessible), NULL);
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return NULL;
-
- day_view = E_DAY_VIEW (GTK_ACCESSIBLE (accessible)->widget);
- gcal = e_calendar_view_get_calendar (E_CALENDAR_VIEW (day_view));
- label_text = ea_gnome_calendar_get_label_description (gcal);
-
- n_events = atk_object_get_n_accessible_children (accessible);
- /* the child main item is always there */
- --n_events;
- if (n_events >= 1)
- event_str = g_strdup_printf (ngettext ("It has %d event.", "It has %d events.", n_events), n_events);
- else
- event_str = g_strdup (_("It has no events."));
-
- view_type = gnome_calendar_get_view (gcal);
- if (view_type == GNOME_CAL_WORK_WEEK_VIEW)
- name_str = g_strdup_printf (_("Work Week View: %s. %s"),
- label_text, event_str);
- else
- name_str = g_strdup_printf (_("Day View: %s. %s"),
- label_text, event_str);
-
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name_str);
- g_free (name_str);
- g_free (event_str);
-
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_day_view_get_description (AtkObject *accessible)
-{
- EDayView *day_view;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW (accessible), NULL);
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return NULL;
- day_view = E_DAY_VIEW (GTK_ACCESSIBLE (accessible)->widget);
-
- if (accessible->description)
- return accessible->description;
- else {
- GnomeCalendar *gcal;
- GnomeCalendarViewType view_type;
-
- gcal = e_calendar_view_get_calendar (E_CALENDAR_VIEW (day_view));
- view_type = gnome_calendar_get_view (gcal);
-
- if (view_type == GNOME_CAL_WORK_WEEK_VIEW)
- return _("calendar view for a work week");
- else
- return _("calendar view for one or more days");
- }
-}
-
-static gint
-ea_day_view_get_n_children (AtkObject *accessible)
-{
- EDayView *day_view;
- gint day;
- gint child_num = 0;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW (accessible), -1);
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return -1;
-
- day_view = E_DAY_VIEW (GTK_ACCESSIBLE (accessible)->widget);
-
- child_num += day_view->long_events->len;
-
- for (day = 0; day < day_view->days_shown; day++) {
- child_num += day_view->events[day]->len;
- }
-
- /* "+1" for the main item */
- return child_num + 1;
-}
-
-static AtkObject *
-ea_day_view_ref_child (AtkObject *accessible, gint index)
-{
- EDayView *day_view;
- gint child_num;
- gint day;
- AtkObject *atk_object = NULL;
- EDayViewEvent *event = NULL;
-
- g_return_val_if_fail (EA_IS_DAY_VIEW (accessible), NULL);
-
- child_num = atk_object_get_n_accessible_children (accessible);
- if (child_num <= 0 || index < 0 || index >= child_num)
- return NULL;
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return NULL;
- day_view = E_DAY_VIEW (GTK_ACCESSIBLE (accessible)->widget);
-
- if (index == 0) {
- /* index == 0 is the main item */
- atk_object = atk_gobject_accessible_for_object (G_OBJECT (day_view->main_canvas_item));
- g_object_ref (atk_object);
- }
- else {
- --index;
- /* a long event */
- if (index < day_view->long_events->len) {
- event = &g_array_index (day_view->long_events,
- EDayViewEvent, index);
- }
- else {
- index -= day_view->long_events->len;
- day = 0;
- while (index >= day_view->events[day]->len) {
- index -= day_view->events[day]->len;
- ++day;
- }
-
- event = &g_array_index (day_view->events[day],
- EDayViewEvent, index);
- }
- if (event && event->canvas_item) {
- /* Not use atk_gobject_accessible_for_object here,
- * we need to do special thing here
- */
- atk_object = ea_calendar_helpers_get_accessible_for (event->canvas_item);
- g_object_ref (atk_object);
- }
- }
- return atk_object;
-}
diff --git a/a11y/calendar/ea-day-view.h b/a11y/calendar/ea-day-view.h
deleted file mode 100644
index 5ca4614f03..0000000000
--- a/a11y/calendar/ea-day-view.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-day-view.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_DAY_VIEW_H__
-#define __EA_DAY_VIEW_H__
-
-#include "ea-cal-view.h"
-#include "e-day-view.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_DAY_VIEW (ea_day_view_get_type ())
-#define EA_DAY_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_DAY_VIEW, EaDayView))
-#define EA_DAY_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_DAY_VIEW, EaDayViewClass))
-#define EA_IS_DAY_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_DAY_VIEW))
-#define EA_IS_DAY_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_DAY_VIEW))
-#define EA_DAY_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_DAY_VIEW, EaDayViewClass))
-
-typedef struct _EaDayView EaDayView;
-typedef struct _EaDayViewClass EaDayViewClass;
-
-struct _EaDayView
-{
- EaCalView parent;
-};
-
-GType ea_day_view_get_type (void);
-
-struct _EaDayViewClass
-{
- EaCalViewClass parent_class;
-};
-
-AtkObject* ea_day_view_new (GtkWidget *widget);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __EA_DAY_VIEW_H__ */
diff --git a/a11y/calendar/ea-gnome-calendar.c b/a11y/calendar/ea-gnome-calendar.c
deleted file mode 100644
index fc0027008f..0000000000
--- a/a11y/calendar/ea-gnome-calendar.c
+++ /dev/null
@@ -1,353 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-gnome-calendar.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-gnome-calendar.h"
-#include "calendar-commands.h"
-#include <string.h>
-#include <gtk/gtknotebook.h>
-#include <libecal/e-cal-time-util.h>
-#include <libgnome/gnome-i18n.h>
-
-static void ea_gnome_calendar_class_init (EaGnomeCalendarClass *klass);
-
-static G_CONST_RETURN gchar* ea_gnome_calendar_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_gnome_calendar_get_description (AtkObject *accessible);
-static gint ea_gnome_calendar_get_n_children (AtkObject* obj);
-static AtkObject * ea_gnome_calendar_ref_child (AtkObject *obj, gint i);
-
-static void ea_gcal_switch_view_cb (GtkNotebook *widget, GtkNotebookPage *page,
- guint index, gpointer data);
-static void ea_gcal_dates_change_cb (GnomeCalendar *gcal, gpointer data);
-
-static gpointer parent_class = NULL;
-
-GType
-ea_gnome_calendar_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaGnomeCalendarClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_gnome_calendar_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaGnomeCalendar), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (GailWidget, in this case)
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- GTK_TYPE_WIDGET);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaGnomeCalendar", &tinfo, 0);
-
- }
-
- return type;
-}
-
-static void
-ea_gnome_calendar_class_init (EaGnomeCalendarClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_gnome_calendar_get_name;
- class->get_description = ea_gnome_calendar_get_description;
-
- class->get_n_children = ea_gnome_calendar_get_n_children;
- class->ref_child = ea_gnome_calendar_ref_child;
-}
-
-AtkObject*
-ea_gnome_calendar_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
- GnomeCalendar *gcal;
- GtkWidget *notebook;
-
- g_return_val_if_fail (GNOME_IS_CALENDAR (widget), NULL);
-
- object = g_object_new (EA_TYPE_GNOME_CALENDAR, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
- accessible->role = ATK_ROLE_FILLER;
-
- gcal = GNOME_CALENDAR (widget);
-
- /* listen on view type change
- */
- g_signal_connect (widget, "dates_shown_changed",
- G_CALLBACK (ea_gcal_dates_change_cb),
- accessible);
- notebook = gnome_calendar_get_view_notebook_widget (gcal);
- if (notebook) {
- g_signal_connect (notebook, "switch_page",
- G_CALLBACK (ea_gcal_switch_view_cb),
- accessible);
- }
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: ea-gnome-calendar created: %p\n", (void *)accessible);
-#endif
-
- return accessible;
-}
-
-const gchar *
-ea_gnome_calendar_get_label_description (GnomeCalendar *gcal)
-{
- icaltimezone *zone;
- struct icaltimetype start_tt, end_tt;
- time_t start_time, end_time;
- struct tm start_tm, end_tm;
- static char buffer[512];
- char end_buffer[256];
- GnomeCalendarViewType view;
-
- gnome_calendar_get_visible_time_range (gcal, &start_time, &end_time);
- zone = gnome_calendar_get_timezone (gcal);
-
- start_tt = icaltime_from_timet_with_zone (start_time, FALSE, zone);
- start_tm.tm_year = start_tt.year - 1900;
- start_tm.tm_mon = start_tt.month - 1;
- start_tm.tm_mday = start_tt.day;
- start_tm.tm_hour = start_tt.hour;
- start_tm.tm_min = start_tt.minute;
- start_tm.tm_sec = start_tt.second;
- start_tm.tm_isdst = -1;
- start_tm.tm_wday = time_day_of_week (start_tt.day, start_tt.month - 1,
- start_tt.year);
-
- /* Take one off end_time so we don't get an extra day. */
- end_tt = icaltime_from_timet_with_zone (end_time - 1, FALSE, zone);
- end_tm.tm_year = end_tt.year - 1900;
- end_tm.tm_mon = end_tt.month - 1;
- end_tm.tm_mday = end_tt.day;
- end_tm.tm_hour = end_tt.hour;
- end_tm.tm_min = end_tt.minute;
- end_tm.tm_sec = end_tt.second;
- end_tm.tm_isdst = -1;
- end_tm.tm_wday = time_day_of_week (end_tt.day, end_tt.month - 1,
- end_tt.year);
-
- view = gnome_calendar_get_view (gcal);
-
- switch (view) {
- case GNOME_CAL_DAY_VIEW:
- case GNOME_CAL_WORK_WEEK_VIEW:
- case GNOME_CAL_WEEK_VIEW:
- if (start_tm.tm_year == end_tm.tm_year
- && start_tm.tm_mon == end_tm.tm_mon
- && start_tm.tm_mday == end_tm.tm_mday) {
- e_utf8_strftime (buffer, sizeof (buffer),
- _("%A %d %b %Y"), &start_tm);
- } else if (start_tm.tm_year == end_tm.tm_year) {
- e_utf8_strftime (buffer, sizeof (buffer),
- _("%a %d %b"), &start_tm);
- e_utf8_strftime (end_buffer, sizeof (end_buffer),
- _("%a %d %b %Y"), &end_tm);
- strcat (buffer, " - ");
- strcat (buffer, end_buffer);
- } else {
- e_utf8_strftime (buffer, sizeof (buffer),
- _("%a %d %b %Y"), &start_tm);
- e_utf8_strftime (end_buffer, sizeof (end_buffer),
- _("%a %d %b %Y"), &end_tm);
- strcat (buffer, " - ");
- strcat (buffer, end_buffer);
- }
- break;
- case GNOME_CAL_MONTH_VIEW:
- case GNOME_CAL_LIST_VIEW:
- if (start_tm.tm_year == end_tm.tm_year) {
- if (start_tm.tm_mon == end_tm.tm_mon) {
- if (start_tm.tm_mday == end_tm.tm_mday) {
- buffer [0] = '\0';
- } else {
- e_utf8_strftime (buffer, sizeof (buffer),
- "%d", &start_tm);
- strcat (buffer, " - ");
- }
- e_utf8_strftime (end_buffer, sizeof (end_buffer),
- _("%d %b %Y"), &end_tm);
- strcat (buffer, end_buffer);
- } else {
- e_utf8_strftime (buffer, sizeof (buffer),
- _("%d %b"), &start_tm);
- e_utf8_strftime (end_buffer, sizeof (end_buffer),
- _("%d %b %Y"), &end_tm);
- strcat (buffer, " - ");
- strcat (buffer, end_buffer);
- }
- } else {
- e_utf8_strftime (buffer, sizeof (buffer),
- _("%d %b %Y"), &start_tm);
- e_utf8_strftime (end_buffer, sizeof (end_buffer),
- _("%d %b %Y"), &end_tm);
- strcat (buffer, " - ");
- strcat (buffer, end_buffer);
- }
- break;
- default:
- g_assert_not_reached ();
- return NULL;
- }
- return buffer;
-}
-
-static G_CONST_RETURN gchar*
-ea_gnome_calendar_get_name (AtkObject *accessible)
-{
- if (accessible->name)
- return accessible->name;
- return _("Gnome Calendar");
-}
-
-static G_CONST_RETURN gchar*
-ea_gnome_calendar_get_description (AtkObject *accessible)
-{
- if (accessible->description)
- return accessible->description;
- return _("Gnome Calendar");
-}
-
-static gint
-ea_gnome_calendar_get_n_children (AtkObject* obj)
-{
- g_return_val_if_fail (EA_IS_GNOME_CALENDAR (obj), 0);
-
- if (!GTK_ACCESSIBLE (obj)->widget)
- return -1;
- return 4;
-}
-
-static AtkObject *
-ea_gnome_calendar_ref_child (AtkObject *obj, gint i)
-{
- AtkObject * child = NULL;
- GnomeCalendar * calendarWidget;
- GtkWidget *childWidget;
-
- g_return_val_if_fail (EA_IS_GNOME_CALENDAR (obj), NULL);
- /* valid child index range is [0-3] */
- if (i < 0 || i >3 )
- return NULL;
-
- if (!GTK_ACCESSIBLE (obj)->widget)
- return NULL;
- calendarWidget = GNOME_CALENDAR (GTK_ACCESSIBLE (obj)->widget);
-
- switch (i) {
- case 0:
- /* for the search bar */
- childWidget = gnome_calendar_get_search_bar_widget (calendarWidget);
- child = gtk_widget_get_accessible (childWidget);
- atk_object_set_parent (child, obj);
- atk_object_set_name (child, _("search bar"));
- atk_object_set_description (child, _("evolution calendar search bar"));
- break;
- case 1:
- /* for the day/week view */
- childWidget = gnome_calendar_get_current_view_widget (calendarWidget);
- child = gtk_widget_get_accessible (childWidget);
- atk_object_set_parent (child, obj);
- break;
- case 2:
- /* for calendar */
- childWidget = gnome_calendar_get_e_calendar_widget (calendarWidget);
- child = gtk_widget_get_accessible (childWidget);
- break;
- case 3:
- /* for todo list */
- childWidget = GTK_WIDGET (gnome_calendar_get_task_pad (calendarWidget));
- child = gtk_widget_get_accessible (childWidget);
- break;
- default:
- break;
- }
- if (child)
- g_object_ref(child);
- return child;
-}
-
-static void
-ea_gcal_switch_view_cb (GtkNotebook *widget, GtkNotebookPage *page,
- guint index, gpointer data)
-{
- GtkWidget *new_widget;
-
- new_widget = gtk_notebook_get_nth_page (widget, index);
-
- /* views are always the second child in gnome calendar
- */
- if (new_widget)
- g_signal_emit_by_name (G_OBJECT(data), "children_changed::add",
- 1, gtk_widget_get_accessible (new_widget), NULL);
-
-#ifdef ACC_DEBUG
- printf ("AccDebug: view switch to widget %p (index=%d) \n",
- (void *)new_widget, index);
-#endif
-}
-
-static void
-ea_gcal_dates_change_cb (GnomeCalendar *gcal, gpointer data)
-{
- const gchar *new_name;
-
- g_return_if_fail (GNOME_IS_CALENDAR (gcal));
- g_return_if_fail (data);
- g_return_if_fail (EA_IS_GNOME_CALENDAR (data));
-
- new_name = ea_gnome_calendar_get_label_description (gcal);
- atk_object_set_name (ATK_OBJECT(data), new_name);
- g_signal_emit_by_name (data, "visible_data_changed");
-
-#ifdef ACC_DEBUG
- printf ("AccDebug: calendar dates changed, label=%s\n", new_name);
-#endif
-}
diff --git a/a11y/calendar/ea-gnome-calendar.h b/a11y/calendar/ea-gnome-calendar.h
deleted file mode 100644
index 130466add3..0000000000
--- a/a11y/calendar/ea-gnome-calendar.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-gnome-calendar.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_GNOME_CALENDAR_H__
-#define __EA_GNOME_CALENDAR_H__
-
-#include <gtk/gtkaccessible.h>
-#include "gnome-cal.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_GNOME_CALENDAR (ea_gnome_calendar_get_type ())
-#define EA_GNOME_CALENDAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_GNOME_CALENDAR, EaGnomeCalendar))
-#define EA_GNOME_CALENDAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_GNOME_CALENDAR, EaGnomeCalendarClass))
-#define EA_IS_GNOME_CALENDAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_GNOME_CALENDAR))
-#define EA_IS_GNOME_CALENDAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_GNOME_CALENDAR))
-#define EA_GNOME_CALENDAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_GNOME_CALENDAR, EaGnomeCalendarClass))
-
-typedef struct _EaGnomeCalendar EaGnomeCalendar;
-typedef struct _EaGnomeCalendarClass EaGnomeCalendarClass;
-
-struct _EaGnomeCalendar
-{
- GtkAccessible parent;
-};
-
-GType ea_gnome_calendar_get_type (void);
-
-struct _EaGnomeCalendarClass
-{
- GtkAccessibleClass parent_class;
-};
-
-AtkObject* ea_gnome_calendar_new (GtkWidget *widget);
-
-const gchar * ea_gnome_calendar_get_label_description (GnomeCalendar *gcal);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __EA_GNOME_CALENDAR_H__ */
diff --git a/a11y/calendar/ea-jump-button.c b/a11y/calendar/ea-jump-button.c
deleted file mode 100644
index d9bab31943..0000000000
--- a/a11y/calendar/ea-jump-button.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-jump-button.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Yang Wu <yang.wu@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-jump-button.h"
-#include "ea-calendar-helpers.h"
-#include "ea-week-view.h"
-#include "e-week-view.h"
-#include <libgnomecanvas/gnome-canvas.h>
-#include <libgnome/gnome-i18n.h>
-
-static void ea_jump_button_class_init (EaJumpButtonClass *klass);
-
-static G_CONST_RETURN gchar* ea_jump_button_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_jump_button_get_description (AtkObject *accessible);
-
-/* action interface */
-static void atk_action_interface_init (AtkActionIface *iface);
-static gboolean jump_button_do_action (AtkAction *action,
- gint i);
-static gint jump_button_get_n_actions (AtkAction *action);
-static G_CONST_RETURN gchar* jump_button_get_keybinding (AtkAction *action,
- gint i);
-
-static gpointer parent_class = NULL;
-
-GType
-ea_jump_button_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaJumpButtonClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_jump_button_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaJumpButton), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_action_info =
- {
- (GInterfaceInitFunc) atk_action_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (atk object for GNOME_TYPE_CANVAS_ITEM, in this case)
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- GNOME_TYPE_CANVAS_ITEM);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- /* we inherit the component and other interfaces from GNOME_TYPE_CANVAS_ITEM */
- type = g_type_register_static (derived_atk_type,
- "EaJumpButton", &tinfo, 0);
-
- g_type_add_interface_static (type, ATK_TYPE_ACTION,
- &atk_action_info);
- }
-
- return type;
-}
-
-static void
-ea_jump_button_class_init (EaJumpButtonClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_jump_button_get_name;
- class->get_description = ea_jump_button_get_description;
-}
-
-AtkObject*
-ea_jump_button_new (GObject *obj)
-{
- AtkObject *atk_obj = NULL;
- GObject *target_obj;
-
- g_return_val_if_fail (GNOME_IS_CANVAS_ITEM (obj), NULL);
-
- target_obj = obj;
- atk_obj = g_object_get_data (target_obj, "accessible-object");
-
- if (!atk_obj) {
- static AtkRole event_role = ATK_ROLE_INVALID;
- atk_obj = ATK_OBJECT (g_object_new (EA_TYPE_JUMP_BUTTON,
- NULL));
- atk_object_initialize (atk_obj, target_obj);
- if (event_role == ATK_ROLE_INVALID)
- event_role = atk_role_register ("Jump Button");
- atk_obj->role = event_role;
- }
-
- /* the registered factory for GNOME_TYPE_CANVAS_ITEM is cannot create a EaJumpbutton,
- * we should save the EaJumpbutton object in it.
- */
- g_object_set_data (obj, "accessible-object", atk_obj);
-
- return atk_obj;
-}
-
-static G_CONST_RETURN gchar*
-ea_jump_button_get_name (AtkObject *accessible)
-{
- g_return_val_if_fail (EA_IS_JUMP_BUTTON (accessible), NULL);
-
- if (accessible->name)
- return accessible->name;
- return _("Jump button");
-}
-
-static G_CONST_RETURN gchar*
-ea_jump_button_get_description (AtkObject *accessible)
-{
- if (accessible->description)
- return accessible->description;
-
- return _("Click here, you can find more events.");
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->do_action = jump_button_do_action;
- iface->get_n_actions = jump_button_get_n_actions;
- iface->get_keybinding = jump_button_get_keybinding;
-}
-
-static gboolean
-jump_button_do_action (AtkAction *action,
- gint i)
-{
- gboolean return_value = TRUE;
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- GnomeCanvasItem *item;
- ECalendarView *cal_view;
- EWeekView *week_view;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (action);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- item = GNOME_CANVAS_ITEM (g_obj);
- cal_view = ea_calendar_helpers_get_cal_view_from (GNOME_CANVAS_ITEM (item));
- week_view = E_WEEK_VIEW (cal_view);
-
- switch (i)
- {
- case 0:
- e_week_view_jump_to_button_item (week_view, GNOME_CANVAS_ITEM (item));
- break;
- default:
- return_value = FALSE;
- break;
- }
- return return_value;
-}
-
-static gint
-jump_button_get_n_actions (AtkAction *action)
-{
- return 1;
-}
-
-static G_CONST_RETURN gchar*
-jump_button_get_keybinding (AtkAction *action,
- gint i)
-{
- gchar *return_value = NULL;
-
- switch (i)
- {
- case 0:
- {
- return_value = "space or enter";
- break;
- }
- default:
- break;
- }
- return return_value;
-}
diff --git a/a11y/calendar/ea-jump-button.h b/a11y/calendar/ea-jump-button.h
deleted file mode 100644
index ef1f1efb35..0000000000
--- a/a11y/calendar/ea-jump-button.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-jump-button.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Yang Wu <yang.wu@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_JUMP_BUTTON_H__
-#define __EA_JUMP_BUTTON_H__
-
-#include <atk/atkgobjectaccessible.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_JUMP_BUTTON (ea_jump_button_get_type ())
-#define EA_JUMP_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_JUMP_BUTTON, EaJumpButton))
-#define EA_JUMP_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_JUMP_BUTTON, EaJumpButtonClass))
-#define EA_IS_JUMP_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_JUMP_BUTTON))
-#define EA_IS_JUMP_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_JUMP_BUTTON))
-#define EA_JUMP_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_JUMP_BUTTON, EaJumpButtonClass))
-
-typedef struct _EaJumpButton EaJumpButton;
-typedef struct _EaJumpButtonClass EaJumpButtonClass;
-
-struct _EaJumpButton
-{
- AtkGObjectAccessible parent;
-};
-
-GType ea_jump_button_get_type (void);
-
-struct _EaJumpButtonClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-AtkObject *ea_jump_button_new (GObject *obj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __EA_JUMP_BUTTON_H__ */
diff --git a/a11y/calendar/ea-week-view-cell.c b/a11y/calendar/ea-week-view-cell.c
deleted file mode 100644
index 543b26794a..0000000000
--- a/a11y/calendar/ea-week-view-cell.c
+++ /dev/null
@@ -1,478 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-week-view-cell.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- * Author: Yang Wu <Yang.Wu@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-week-view-cell.h"
-#include "ea-week-view-main-item.h"
-#include "ea-factory.h"
-
-/* EWeekViewCell */
-
-static void e_week_view_cell_class_init (EWeekViewCellClass *class);
-
-EA_FACTORY_GOBJECT (EA_TYPE_WEEK_VIEW_CELL, ea_week_view_cell, ea_week_view_cell_new)
-
-GType
-e_week_view_cell_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EWeekViewCellClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) e_week_view_cell_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EWeekViewCell), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- type = g_type_register_static (G_TYPE_OBJECT,
- "EWeekViewCell", &tinfo, 0);
- }
-
- return type;
-}
-
-static void
-e_week_view_cell_class_init (EWeekViewCellClass *class)
-{
- EA_SET_FACTORY (e_week_view_cell_get_type (), ea_week_view_cell);
-}
-
-EWeekViewCell *
-e_week_view_cell_new (EWeekView *week_view, gint row, gint column)
-{
- GObject *object;
- EWeekViewCell *cell;
-
- g_return_val_if_fail (E_IS_WEEK_VIEW (week_view), NULL);
-
- object = g_object_new (E_TYPE_WEEK_VIEW_CELL, NULL);
- cell = E_WEEK_VIEW_CELL (object);
- cell->week_view = week_view;
- cell->row = row;
- cell->column = column;
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: e_week_view_cell created %p\n", (void *)cell);
-#endif
-
- return cell;
-}
-
-/* EaWeekViewCell */
-
-static void ea_week_view_cell_class_init (EaWeekViewCellClass *klass);
-
-static G_CONST_RETURN gchar* ea_week_view_cell_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_week_view_cell_get_description (AtkObject *accessible);
-static AtkStateSet* ea_week_view_cell_ref_state_set (AtkObject *obj);
-static AtkObject * ea_week_view_cell_get_parent (AtkObject *accessible);
-static gint ea_week_view_cell_get_index_in_parent (AtkObject *accessible);
-
-/* component interface */
-static void atk_component_interface_init (AtkComponentIface *iface);
-static void component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y,
- gint *width, gint *height,
- AtkCoordType coord_type);
-static gboolean component_interface_grab_focus (AtkComponent *component);
-
-static gpointer parent_class = NULL;
-
-#ifdef ACC_DEBUG
-static gint n_ea_week_view_cell_created = 0, n_ea_week_view_cell_destroyed = 0;
-static void ea_week_view_cell_finalize (GObject *object);
-#endif
-
-GType
-ea_week_view_cell_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaWeekViewCellClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_week_view_cell_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaWeekViewCell), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) atk_component_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- type = g_type_register_static (ATK_TYPE_GOBJECT_ACCESSIBLE,
- "EaWeekViewCell", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
- &atk_component_info);
-
- }
-
- return type;
-}
-
-static void
-ea_week_view_cell_class_init (EaWeekViewCellClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
-#ifdef ACC_DEBUG
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = ea_week_view_cell_finalize;
-#endif
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_week_view_cell_get_name;
- class->get_description = ea_week_view_cell_get_description;
- class->ref_state_set = ea_week_view_cell_ref_state_set;
-
- class->get_parent = ea_week_view_cell_get_parent;
- class->get_index_in_parent = ea_week_view_cell_get_index_in_parent;
-
-}
-
-AtkObject*
-ea_week_view_cell_new (GObject *obj)
-{
- gpointer object;
- AtkObject *atk_object;
-
- g_return_val_if_fail (E_IS_WEEK_VIEW_CELL (obj), NULL);
- object = g_object_new (EA_TYPE_WEEK_VIEW_CELL, NULL);
- atk_object = ATK_OBJECT (object);
- atk_object_initialize (atk_object, obj);
- atk_object->role = ATK_ROLE_UNKNOWN;
-
-#ifdef ACC_DEBUG
- ++n_ea_week_view_cell_created;
- printf ("ACC_DEBUG: n_ea_week_view_cell_created = %d\n",
- n_ea_week_view_cell_created);
-#endif
- return atk_object;
-}
-
-#ifdef ACC_DEBUG
-static void ea_week_view_cell_finalize (GObject *object)
-{
- ++n_ea_week_view_cell_destroyed;
- printf ("ACC_DEBUG: n_ea_week_view_cell_destroyed = %d\n",
- n_ea_week_view_cell_destroyed);
-}
-#endif
-
-static G_CONST_RETURN gchar*
-ea_week_view_cell_get_name (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewCell *cell;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW_CELL (accessible), NULL);
-
- if (!accessible->name) {
- AtkObject *ea_main_item;
- GnomeCanvasItem *main_item;
- gchar *new_name = g_strdup ("");
- const gchar *row_label, *column_label;
- gint new_column, new_row;
- gint start_day;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- cell = E_WEEK_VIEW_CELL (g_obj);
- main_item = cell->week_view->main_canvas_item;
- ea_main_item = atk_gobject_accessible_for_object (G_OBJECT (main_item));
-
- start_day = cell->week_view->display_start_day;
- if (cell->column + start_day >= 7) {
- new_column = cell->column + start_day - 7;
- new_row = cell->row + 1;
- } else {
- new_column = cell->column + start_day;
- new_row = cell->row;
- }
-
- column_label = atk_table_get_column_description (ATK_TABLE (ea_main_item),
- new_column);
- row_label = atk_table_get_row_description (ATK_TABLE (ea_main_item),
- new_row);
- new_name = g_strconcat (column_label, " ", row_label, NULL);
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, new_name);
- g_free (new_name);
- }
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_week_view_cell_get_description (AtkObject *accessible)
-{
- return ea_week_view_cell_get_name (accessible);
-}
-
-static AtkStateSet*
-ea_week_view_cell_ref_state_set (AtkObject *obj)
-{
- AtkStateSet *state_set;
- GObject *g_obj;
- AtkObject *parent;
- gint x, y, width, height;
- gint parent_x, parent_y, parent_width, parent_height;
-
- state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(obj));
- if (!g_obj)
- return state_set;
-
- atk_state_set_add_state (state_set, ATK_STATE_SELECTABLE);
-
- parent = atk_object_get_parent (obj);
- atk_component_get_extents (ATK_COMPONENT (obj), &x, &y,
- &width, &height, ATK_XY_WINDOW);
- atk_component_get_extents (ATK_COMPONENT (parent), &parent_x, &parent_y,
- &parent_width, &parent_height, ATK_XY_WINDOW);
-
-
- if (x + width < parent_x || x > parent_x + parent_width ||
- y + height < parent_y || y > parent_y + parent_height)
- /* the cell is out of the main canvas */
- ;
- else
- atk_state_set_add_state (state_set, ATK_STATE_VISIBLE);
-
- return state_set;
-}
-
-static AtkObject *
-ea_week_view_cell_get_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewCell *cell;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW_CELL (accessible), NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- cell = E_WEEK_VIEW_CELL (g_obj);
- return atk_gobject_accessible_for_object (G_OBJECT (cell->week_view->main_canvas_item));
-}
-
-static gint
-ea_week_view_cell_get_index_in_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewCell *cell;
- AtkObject *parent;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW_CELL (accessible), -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- cell = E_WEEK_VIEW_CELL (g_obj);
- parent = atk_object_get_parent (accessible);
- return atk_table_get_index_at (ATK_TABLE (parent),
- cell->row, cell->column);
-}
-
-/* Atk Component Interface */
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->get_extents = component_interface_get_extents;
- iface->grab_focus = component_interface_grab_focus;
-}
-
-static void
-component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y, gint *width, gint *height,
- AtkCoordType coord_type)
-{
- GObject *g_obj;
- AtkObject *atk_obj;
- EWeekViewCell *cell;
- EWeekView *week_view;
- GtkWidget *main_canvas;
- gint week_view_width, week_view_height;
- gint scroll_x, scroll_y;
- gint start_day;
-
- *x = *y = *width = *height = 0;
-
- g_return_if_fail (EA_IS_WEEK_VIEW_CELL (component));
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(component));
- if (!g_obj)
- /* defunct object*/
- return;
-
- cell = E_WEEK_VIEW_CELL (g_obj);
- week_view = cell->week_view;
- main_canvas = cell->week_view->main_canvas;
-
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (main_canvas));
- atk_component_get_extents (ATK_COMPONENT (atk_obj),
- x, y,
- &week_view_width, &week_view_height,
- coord_type);
- gnome_canvas_get_scroll_offsets (GNOME_CANVAS (week_view->main_canvas),
- &scroll_x, &scroll_y);
- start_day = week_view->display_start_day;
- if (week_view->multi_week_view) {
- if (week_view->compress_weekend && (cell->column == (5 - start_day))) {
- *height = week_view->row_heights[cell->row*2];
- *width = week_view->col_widths[cell->column];
- *x += week_view->col_offsets[cell->column] - scroll_x;
- *y += week_view->row_offsets[cell->row*2]- scroll_y;
- } else if (week_view->compress_weekend && (cell->column == (6 - start_day))) {
- *height = week_view->row_heights[cell->row*2];
- *width = week_view->col_widths[cell->column - 1];
- *x += week_view->col_offsets[cell->column - 1]- scroll_x;
- *y += week_view->row_offsets[cell->row*2 + 1]- scroll_y;
- } else if (week_view->compress_weekend && (cell->column > (6 - start_day))){
- *height = week_view->row_heights[cell->row*2]*2;
- *width = week_view->col_widths[cell->column - 1];
- *x += week_view->col_offsets[cell->column - 1] - scroll_x;
- *y += week_view->row_offsets[cell->row*2]- scroll_y;
- } else {
- *height = week_view->row_heights[cell->row*2]*2;
- *width = week_view->col_widths[cell->column];
- *x += week_view->col_offsets[cell->column] - scroll_x;
- *y += week_view->row_offsets[cell->row*2]- scroll_y;
- }
- } else {
- if (start_day < 3) {
- if (cell->column < 3) {
- *height = week_view->row_heights[cell->column*2]*2;
- *width = week_view->col_widths[0];
- *x += week_view->col_offsets[0] - scroll_x;
- *y += week_view->row_offsets[cell->column*2]- scroll_y;
- } else {
- if (cell->column == 5 - start_day) {
- *height = week_view->row_heights[(cell->column - 3)*2];
- *width = week_view->col_widths[1];
- *x += week_view->col_offsets[1] - scroll_x;
- *y += week_view->row_offsets[(cell->column - 3)*2]- scroll_y;
- } else if (cell->column == 6 - start_day) {
- *height = week_view->row_heights[(cell->column - 4)*2];
- *width = week_view->col_widths[1];
- *x += week_view->col_offsets[1] - scroll_x;
- *y += week_view->row_offsets[(cell->column - 3)*2 - 1]- scroll_y;
- } else if (cell->column > 6 - start_day) {
- *height = week_view->row_heights[(cell->column - 4)*2]*2;
- *width = week_view->col_widths[1];
- *x += week_view->col_offsets[1] - scroll_x;
- *y += week_view->row_offsets[(cell->column - 4)*2]- scroll_y;
- } else {
- *height = week_view->row_heights[(cell->column - 3)*2]*2;
- *width = week_view->col_widths[1];
- *x += week_view->col_offsets[1] - scroll_x;
- *y += week_view->row_offsets[(cell->column - 3)*2]- scroll_y;
- }
- }
- } else if (cell->column < 4) {
- if (cell->column == 5 - start_day) {
- *height = week_view->row_heights[cell->column*2];
- *width = week_view->col_widths[0];
- *x += week_view->col_offsets[0] - scroll_x;
- *y += week_view->row_offsets[cell->column*2]- scroll_y;
- } else if (cell->column == 6 - start_day) {
- *height = week_view->row_heights[(cell->column - 1)*2];
- *width = week_view->col_widths[0];
- *x += week_view->col_offsets[0] - scroll_x;
- *y += week_view->row_offsets[cell->column*2 - 1]- scroll_y;
- } else if (cell->column > 6 - start_day) {
- *height = week_view->row_heights[(cell->column - 1)*2]*2;
- *width = week_view->col_widths[0];
- *x += week_view->col_offsets[0] - scroll_x;
- *y += week_view->row_offsets[(cell->column - 1)*2]- scroll_y;
- } else {
- *height = week_view->row_heights[(cell->column)*2]*2;
- *width = week_view->col_widths[0];
- *x += week_view->col_offsets[0] - scroll_x;
- *y += week_view->row_offsets[cell->column*2]- scroll_y;
- }
- } else {
- *height = week_view->row_heights[(cell->column - 4)*2]*2;
- *width = week_view->col_widths[1];
- *x += week_view->col_offsets[1] - scroll_x;
- *y += week_view->row_offsets[(cell->column - 4)*2]- scroll_y;
- }
- }
-}
-
-static gboolean
-component_interface_grab_focus (AtkComponent *comp)
-{
- GObject *g_obj;
- EWeekViewCell *cell;
- EWeekView *week_view;
- GtkWidget *toplevel;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW_CELL (comp), FALSE);
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (comp));
- if (!g_obj)
- return FALSE;
-
- cell = E_WEEK_VIEW_CELL (g_obj);
- week_view = cell->week_view;
-
- week_view->selection_start_day = cell->row * 7 + cell->column;
- week_view->selection_end_day = cell->row * 7 + cell->column;
- gtk_widget_queue_draw (week_view->main_canvas);
-
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (week_view));
- if (GTK_WIDGET_TOPLEVEL (toplevel))
- gtk_window_present (GTK_WINDOW (toplevel));
-
- return TRUE;
-}
diff --git a/a11y/calendar/ea-week-view-cell.h b/a11y/calendar/ea-week-view-cell.h
deleted file mode 100644
index 4fcb0d0890..0000000000
--- a/a11y/calendar/ea-week-view-cell.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-week-view-cell.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- * Author: Yang Wu <yang.wu@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_WEEK_VIEW_CELL_H__
-#define __EA_WEEK_VIEW_CELL_H__
-
-#include <atk/atkgobjectaccessible.h>
-#include "e-week-view.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_TYPE_WEEK_VIEW_CELL (e_week_view_cell_get_type ())
-#define E_WEEK_VIEW_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_WEEK_VIEW_CELL, EWeekViewCell))
-#define E_WEEK_VIEW_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_WEEK_VIEW_CELL, EWeekViewCellClass))
-#define E_IS_WEEK_VIEW_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_WEEK_VIEW_CELL))
-#define E_IS_WEEK_VIEW_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_WEEK_VIEW_CELL))
-#define E_WEEK_VIEW_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TYPE_WEEK_VIEW_CELL, EWeekViewCellClass))
-
-typedef struct _EWeekViewCell EWeekViewCell;
-typedef struct _EWeekViewCellClass EWeekViewCellClass;
-
-struct _EWeekViewCell
-{
- GObject parent;
- EWeekView *week_view;
- gint row;
- gint column;
-};
-
-GType e_week_view_cell_get_type (void);
-
-struct _EWeekViewCellClass
-{
- GObjectClass parent_class;
-};
-
-EWeekViewCell * e_week_view_cell_new (EWeekView *week_view, gint row, gint column);
-
-#define EA_TYPE_WEEK_VIEW_CELL (ea_week_view_cell_get_type ())
-#define EA_WEEK_VIEW_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_WEEK_VIEW_CELL, EaWeekViewCell))
-#define EA_WEEK_VIEW_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_WEEK_VIEW_CELL, EaWeekViewCellClass))
-#define EA_IS_WEEK_VIEW_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_WEEK_VIEW_CELL))
-#define EA_IS_WEEK_VIEW_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_WEEK_VIEW_CELL))
-#define EA_WEEK_VIEW_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_WEEK_VIEW_CELL, EaWeekViewCellClass))
-
-typedef struct _EaWeekViewCell EaWeekViewCell;
-typedef struct _EaWeekViewCellClass EaWeekViewCellClass;
-
-struct _EaWeekViewCell
-{
- AtkGObjectAccessible parent;
-};
-
-GType ea_week_view_cell_get_type (void);
-
-struct _EaWeekViewCellClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-AtkObject* ea_week_view_cell_new (GObject *gobj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __EA_WEEK_VIEW_CELL_H__ */
diff --git a/a11y/calendar/ea-week-view-main-item.c b/a11y/calendar/ea-week-view-main-item.c
deleted file mode 100644
index 2d013dc802..0000000000
--- a/a11y/calendar/ea-week-view-main-item.c
+++ /dev/null
@@ -1,1275 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-week-view-main-item.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- * Author: Yang Wu <Yang.Wu@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-week-view-main-item.h"
-#include "ea-week-view.h"
-#include "ea-week-view-cell.h"
-#include "ea-cell-table.h"
-#include <libgnome/gnome-i18n.h>
-
-/* EaWeekViewMainItem */
-static void ea_week_view_main_item_class_init (EaWeekViewMainItemClass *klass);
-
-static void ea_week_view_main_item_finalize (GObject *object);
-static G_CONST_RETURN gchar* ea_week_view_main_item_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_week_view_main_item_get_description (AtkObject *accessible);
-
-static gint ea_week_view_main_item_get_n_children (AtkObject *obj);
-static AtkObject* ea_week_view_main_item_ref_child (AtkObject *obj,
- gint i);
-static AtkObject * ea_week_view_main_item_get_parent (AtkObject *accessible);
-static gint ea_week_view_main_item_get_index_in_parent (AtkObject *accessible);
-
-/* callbacks */
-static void ea_week_view_main_item_dates_change_cb (GnomeCalendar *gcal, gpointer data);
-static void ea_week_view_main_item_time_change_cb (EWeekView *week_view, gpointer data);
-
-/* component interface */
-static void atk_component_interface_init (AtkComponentIface *iface);
-static void component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y,
- gint *width, gint *height,
- AtkCoordType coord_type);
-
-/* atk table interface */
-static void atk_table_interface_init (AtkTableIface *iface);
-static gint table_interface_get_index_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_column_at_index (AtkTable *table,
- gint index);
-static gint table_interface_get_row_at_index (AtkTable *table,
- gint index);
-static AtkObject* table_interface_ref_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_n_rows (AtkTable *table);
-static gint table_interface_get_n_columns (AtkTable *table);
-static gint table_interface_get_column_extent_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_row_extent_at (AtkTable *table,
- gint row,
- gint column);
-
-static gboolean table_interface_is_row_selected (AtkTable *table,
- gint row);
-static gboolean table_interface_is_column_selected (AtkTable *table,
- gint row);
-static gboolean table_interface_is_selected (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_selected_rows (AtkTable *table,
- gint **rows_selected);
-static gint table_interface_get_selected_columns (AtkTable *table,
- gint **columns_selected);
-static gboolean table_interface_add_row_selection (AtkTable *table, gint row);
-static gboolean table_interface_remove_row_selection (AtkTable *table,
- gint row);
-static gboolean table_interface_add_column_selection (AtkTable *table,
- gint column);
-static gboolean table_interface_remove_column_selection (AtkTable *table,
- gint column);
-static AtkObject* table_interface_get_row_header (AtkTable *table, gint row);
-static AtkObject* table_interface_get_column_header (AtkTable *table,
- gint in_col);
-static AtkObject* table_interface_get_caption (AtkTable *table);
-
-static G_CONST_RETURN gchar*
-table_interface_get_column_description (AtkTable *table, gint in_col);
-
-static G_CONST_RETURN gchar*
-table_interface_get_row_description (AtkTable *table, gint row);
-
-static AtkObject* table_interface_get_summary (AtkTable *table);
-
-/* atk selection interface */
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean selection_interface_add_selection (AtkSelection *selection,
- gint i);
-static gboolean selection_interface_clear_selection (AtkSelection *selection);
-static AtkObject* selection_interface_ref_selection (AtkSelection *selection,
- gint i);
-static gint selection_interface_get_selection_count (AtkSelection *selection);
-static gboolean selection_interface_is_child_selected (AtkSelection *selection,
- gint i);
-
-/* helpers */
-static EaCellTable *
-ea_week_view_main_item_get_cell_data (EaWeekViewMainItem *ea_main_item);
-
-static void
-ea_week_view_main_item_destory_cell_data (EaWeekViewMainItem *ea_main_item);
-
-static gint
-ea_week_view_main_item_get_child_index_at (EaWeekViewMainItem *ea_main_item,
- gint row, gint column);
-static gint
-ea_week_view_main_item_get_row_at_index (EaWeekViewMainItem *ea_main_item,
- gint index);
-static gint
-ea_week_view_main_item_get_column_at_index (EaWeekViewMainItem *ea_main_item,
- gint index);
-static gint
-ea_week_view_main_item_get_row_label (EaWeekViewMainItem *ea_main_item,
- gint row, gchar *buffer,
- gint buffer_size);
-
-#ifdef ACC_DEBUG
-static gint n_ea_week_view_main_item_created = 0;
-static gint n_ea_week_view_main_item_destroyed = 0;
-#endif
-
-static gpointer parent_class = NULL;
-
-GType
-ea_week_view_main_item_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaWeekViewMainItemClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_week_view_main_item_class_init,
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaWeekViewMainItem), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) atk_component_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- static const GInterfaceInfo atk_table_info = {
- (GInterfaceInitFunc) atk_table_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- static const GInterfaceInfo atk_selection_info = {
- (GInterfaceInitFunc) atk_selection_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (GailCanvasItem, in this case)
- *
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- e_week_view_main_item_get_type());
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaWeekViewMainItem", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
- &atk_component_info);
- g_type_add_interface_static (type, ATK_TYPE_TABLE,
- &atk_table_info);
- g_type_add_interface_static (type, ATK_TYPE_SELECTION,
- &atk_selection_info);
- }
-
- return type;
-}
-
-static void
-ea_week_view_main_item_class_init (EaWeekViewMainItemClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- gobject_class->finalize = ea_week_view_main_item_finalize;
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_week_view_main_item_get_name;
- class->get_description = ea_week_view_main_item_get_description;
-
- class->get_n_children = ea_week_view_main_item_get_n_children;
- class->ref_child = ea_week_view_main_item_ref_child;
- class->get_parent = ea_week_view_main_item_get_parent;
- class->get_index_in_parent = ea_week_view_main_item_get_index_in_parent;
-}
-
-AtkObject*
-ea_week_view_main_item_new (GObject *obj)
-{
- AtkObject *accessible;
- GnomeCalendar *gcal;
- EWeekViewMainItem *main_item;
-
- g_return_val_if_fail (E_IS_WEEK_VIEW_MAIN_ITEM (obj), NULL);
-
- accessible = ATK_OBJECT (g_object_new (EA_TYPE_WEEK_VIEW_MAIN_ITEM,
- NULL));
-
- atk_object_initialize (accessible, obj);
- accessible->role = ATK_ROLE_TABLE;
-
-#ifdef ACC_DEBUG
- ++n_ea_week_view_main_item_created;
- printf ("ACC_DEBUG: n_ea_week_view_main_item_created = %d\n",
- n_ea_week_view_main_item_created);
-#endif
- main_item = E_WEEK_VIEW_MAIN_ITEM (obj);
- g_signal_connect (main_item->week_view, "selected_time_changed",
- G_CALLBACK (ea_week_view_main_item_time_change_cb),
- accessible);
-
- /* listen for date changes of calendar */
- gcal = e_calendar_view_get_calendar (E_CALENDAR_VIEW (main_item->week_view));
- if (gcal)
- g_signal_connect (gcal, "dates_shown_changed",
- G_CALLBACK (ea_week_view_main_item_dates_change_cb),
- accessible);
-
- return accessible;
-}
-
-static void
-ea_week_view_main_item_finalize (GObject *object)
-{
- EaWeekViewMainItem *ea_main_item;
-
- g_return_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (object));
-
- ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (object);
-
- /* Free the allocated cell data */
- ea_week_view_main_item_destory_cell_data (ea_main_item);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-#ifdef ACC_DEBUG
- ++n_ea_week_view_main_item_destroyed;
- printf ("ACC_DEBUG: n_ea_week_view_main_item_destroyed = %d\n",
- n_ea_week_view_main_item_destroyed);
-#endif
-}
-
-static G_CONST_RETURN gchar*
-ea_week_view_main_item_get_name (AtkObject *accessible)
-{
- AtkObject *parent;
- g_return_val_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (accessible), NULL);
- parent = atk_object_get_parent (accessible);
- return atk_object_get_name (parent);
-
-}
-
-static G_CONST_RETURN gchar*
-ea_week_view_main_item_get_description (AtkObject *accessible)
-{
- return _("a table to view and select the current time range");
-}
-
-static gint
-ea_week_view_main_item_get_n_children (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (accessible), -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (week_view->multi_week_view)
- return 7 * week_view->weeks_shown;
- else
- return 7;
-}
-
-static AtkObject *
-ea_week_view_main_item_ref_child (AtkObject *accessible, gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- gint n_children;
- EWeekViewCell *cell;
- EaCellTable *cell_data;
- EaWeekViewMainItem *ea_main_item;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (accessible), NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- n_children = ea_week_view_main_item_get_n_children (accessible);
- if (index < 0 || index >= n_children)
- return NULL;
-
- ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (accessible);
- cell_data = ea_week_view_main_item_get_cell_data (ea_main_item);
- if (!cell_data)
- return NULL;
- cell = ea_cell_table_get_cell_at_index (cell_data, index);
- if (!cell) {
- gint row, column;
-
- row = ea_week_view_main_item_get_row_at_index (ea_main_item, index);
- column = ea_week_view_main_item_get_column_at_index (ea_main_item, index);
- cell = e_week_view_cell_new (week_view, row, column);
- ea_cell_table_set_cell_at_index (cell_data, index, cell);
- g_object_unref (cell);
- }
-
- return g_object_ref (atk_gobject_accessible_for_object (G_OBJECT(cell)));
-}
-
-static AtkObject *
-ea_week_view_main_item_get_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (accessible), NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- return gtk_widget_get_accessible (GTK_WIDGET (main_item->week_view));
-}
-
-static gint
-ea_week_view_main_item_get_index_in_parent (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (accessible), -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- /* always the first child of ea-week-view */
- return 0;
-}
-
-/* callbacks */
-
-static void
-ea_week_view_main_item_dates_change_cb (GnomeCalendar *gcal, gpointer data)
-{
- EaWeekViewMainItem *ea_main_item;
-
- g_return_if_fail (GNOME_IS_CALENDAR (gcal));
- g_return_if_fail (data);
- g_return_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (data));
-
- ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (data);
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: ea_week_view_main_item update cb\n");
-#endif
-
- ea_week_view_main_item_destory_cell_data (ea_main_item);
-}
-
-static void
-ea_week_view_main_item_time_change_cb (EWeekView *week_view, gpointer data)
-{
- EaWeekViewMainItem *ea_main_item;
- AtkObject *item_cell = NULL;
-
- g_return_if_fail (E_IS_WEEK_VIEW (week_view));
- g_return_if_fail (data);
- g_return_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (data));
-
- ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (data);
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: ea_week_view_main_item time changed cb\n");
-#endif
- /* only deal with the first selected child, for now */
- item_cell = atk_selection_ref_selection (ATK_SELECTION (ea_main_item),
- 0);
- if (item_cell) {
- AtkStateSet *state_set;
- state_set = atk_object_ref_state_set (item_cell);
- atk_state_set_add_state (state_set, ATK_STATE_FOCUSED);
- g_object_unref (state_set);
-
- g_signal_emit_by_name (ea_main_item,
- "active-descendant-changed",
- item_cell);
- g_signal_emit_by_name (data, "selection_changed");
- atk_focus_tracker_notify (item_cell);
- g_object_unref (item_cell);
- }
-}
-
-/* helpers */
-
-static gint
-ea_week_view_main_item_get_child_index_at (EaWeekViewMainItem *ea_main_item,
- gint row, gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
-
- g_return_val_if_fail (ea_main_item, -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (row >= 0 && row < week_view->weeks_shown &&
- column >= 0 && column < 7)
- return row * 7 + column;
-
- return -1;
-}
-
-static gint
-ea_week_view_main_item_get_row_at_index (EaWeekViewMainItem *ea_main_item,
- gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- gint n_children;
-
- g_return_val_if_fail (ea_main_item, -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- n_children = ea_week_view_main_item_get_n_children (ATK_OBJECT (ea_main_item));
- if (index >= 0 && index < n_children)
- return index / 7;
- return -1;
-}
-
-static gint
-ea_week_view_main_item_get_column_at_index (EaWeekViewMainItem *ea_main_item,
- gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- gint n_children;
-
- g_return_val_if_fail (ea_main_item, -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- n_children = ea_week_view_main_item_get_n_children (ATK_OBJECT (ea_main_item));
- if (index >= 0 && index < n_children)
- return index % 7;
- return -1;
-}
-
-static gint
-ea_week_view_main_item_get_row_label (EaWeekViewMainItem *ea_main_item,
- gint row, gchar *buffer, gint buffer_size)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
-
- g_return_val_if_fail (ea_main_item, 0);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return 0 ;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- return g_snprintf (buffer, buffer_size, "the %i week",
- row + 1);
-
-}
-
-static EaCellTable *
-ea_week_view_main_item_get_cell_data (EaWeekViewMainItem *ea_main_item)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaCellTable *cell_data;
-
- g_return_val_if_fail (ea_main_item, NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- cell_data = g_object_get_data (G_OBJECT(ea_main_item),
- "ea-week-view-cell-table");
- if (!cell_data) {
- cell_data = ea_cell_table_create (week_view->weeks_shown, 7, TRUE);
- g_object_set_data (G_OBJECT(ea_main_item),
- "ea-week-view-cell-table", cell_data);
- }
- return cell_data;
-}
-
-static void
-ea_week_view_main_item_destory_cell_data (EaWeekViewMainItem *ea_main_item)
-{
- EaCellTable *cell_data;
-
- g_return_if_fail (ea_main_item);
-
- cell_data = g_object_get_data (G_OBJECT(ea_main_item),
- "ea-week-view-cell-table");
- if (cell_data) {
- ea_cell_table_destroy (cell_data);
- g_object_set_data (G_OBJECT(ea_main_item),
- "ea-week-view-cell-table", NULL);
- }
-}
-
-/* Atk Component Interface */
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->get_extents = component_interface_get_extents;
-}
-
-static void
-component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y, gint *width, gint *height,
- AtkCoordType coord_type)
-{
- GObject *g_obj;
- AtkObject *ea_canvas;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
-
- *x = *y = *width = *height = 0;
-
- g_return_if_fail (EA_IS_WEEK_VIEW_MAIN_ITEM (component));
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(component));
- if (!g_obj)
- /* defunct object*/
- return;
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- ea_canvas = gtk_widget_get_accessible (week_view->main_canvas);
- atk_component_get_extents (ATK_COMPONENT (ea_canvas), x, y,
- width, height, coord_type);
-}
-
-/* atk table interface */
-
-static void
-atk_table_interface_init (AtkTableIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->ref_at = table_interface_ref_at;
-
- iface->get_n_rows = table_interface_get_n_rows;
- iface->get_n_columns = table_interface_get_n_columns;
- iface->get_index_at = table_interface_get_index_at;
- iface->get_column_at_index = table_interface_get_column_at_index;
- iface->get_row_at_index = table_interface_get_row_at_index;
- iface->get_column_extent_at = table_interface_get_column_extent_at;
- iface->get_row_extent_at = table_interface_get_row_extent_at;
-
- iface->is_selected = table_interface_is_selected;
- iface->get_selected_rows = table_interface_get_selected_rows;
- iface->get_selected_columns = table_interface_get_selected_columns;
- iface->is_row_selected = table_interface_is_row_selected;
- iface->is_column_selected = table_interface_is_column_selected;
- iface->add_row_selection = table_interface_add_row_selection;
- iface->remove_row_selection = table_interface_remove_row_selection;
- iface->add_column_selection = table_interface_add_column_selection;
- iface->remove_column_selection = table_interface_remove_column_selection;
-
- iface->get_row_header = table_interface_get_row_header;
- iface->get_column_header = table_interface_get_column_header;
- iface->get_caption = table_interface_get_caption;
- iface->get_summary = table_interface_get_summary;
- iface->get_row_description = table_interface_get_row_description;
- iface->get_column_description = table_interface_get_column_description;
-}
-
-static AtkObject*
-table_interface_ref_at (AtkTable *table,
- gint row,
- gint column)
-{
- gint index;
-
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
- index = ea_week_view_main_item_get_child_index_at (ea_main_item,
- row, column);
- return ea_week_view_main_item_ref_child (ATK_OBJECT (ea_main_item), index);
-}
-
-static gint
-table_interface_get_n_rows (AtkTable *table)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- return week_view->weeks_shown;
-}
-
-static gint
-table_interface_get_n_columns (AtkTable *table)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- return 7;
-}
-
-static gint
-table_interface_get_index_at (AtkTable *table,
- gint row,
- gint column)
-{
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
- return ea_week_view_main_item_get_child_index_at (ea_main_item,
- row, column);
-}
-
-static gint
-table_interface_get_column_at_index (AtkTable *table,
- gint index)
-{
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
- return ea_week_view_main_item_get_column_at_index (ea_main_item, index);
-}
-
-static gint
-table_interface_get_row_at_index (AtkTable *table,
- gint index)
-{
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
- return ea_week_view_main_item_get_row_at_index (ea_main_item, index);
-}
-
-static gint
-table_interface_get_column_extent_at (AtkTable *table,
- gint row,
- gint column)
-{
- gint index;
- gint width = 0, height = 0;
- AtkObject *child;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
-
- index = ea_week_view_main_item_get_child_index_at (ea_main_item,
- row, column);
- child = atk_object_ref_accessible_child (ATK_OBJECT (ea_main_item),
- index);
- if (child)
- atk_component_get_size (ATK_COMPONENT (child),
- &width, &height);
-
- return width;
-}
-
-static gint
-table_interface_get_row_extent_at (AtkTable *table,
- gint row,
- gint column)
-{
- gint index;
- gint width = 0, height = 0;
- AtkObject *child;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
-
- index = ea_week_view_main_item_get_child_index_at (ea_main_item,
- row, column);
- child = atk_object_ref_accessible_child (ATK_OBJECT (ea_main_item),
- index);
- if (child)
- atk_component_get_size (ATK_COMPONENT (child),
- &width, &height);
-
- return height;
-}
-
-static gboolean
-table_interface_is_row_selected (AtkTable *table,
- gint row)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (week_view->selection_start_day == -1)
- /* no selection */
- return FALSE;
- if ((row < 0)&&(row + 1 > week_view->weeks_shown ))
- return FALSE;
- if (((week_view->selection_start_day < row*7)&&(week_view->selection_end_day<row*7))
- ||((week_view->selection_start_day > row*7+6)&&(week_view->selection_end_day > row*7+6)))
- return FALSE;
- else
- return TRUE;
-}
-
-static gboolean
-table_interface_is_selected (AtkTable *table,
- gint row,
- gint column)
-{
- return table_interface_is_row_selected (table, row) && table_interface_is_column_selected(table, column);
-}
-
-static gboolean
-table_interface_is_column_selected (AtkTable *table,
- gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if ((column <0)||(column >6))
- return FALSE;
- else {
- gint i;
- for (i=0;i<week_view->weeks_shown;i++)
- if ((column + i*7>= week_view->selection_start_day ) &&
- (column + i*7<= week_view->selection_end_day))
- return TRUE;
- return FALSE;
- }
-}
-
-static gint
-table_interface_get_selected_rows (AtkTable *table,
- gint **rows_selected)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
- gint start_row = -1, n_rows = 0;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (week_view->selection_start_day == -1)
- return 0;
-
- start_row = week_view->selection_start_day;
- n_rows = week_view->selection_end_day - start_row + 1;
-
- if (n_rows > 0 && start_row != -1 && rows_selected) {
- gint index;
-
- *rows_selected = (gint *) g_malloc (n_rows * sizeof (gint));
- for (index = 0; index < n_rows; ++index)
- (*rows_selected)[index] = start_row + index;
- }
- return n_rows;
-}
-
-static gint
-table_interface_get_selected_columns (AtkTable *table,
- gint **columns_selected)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
- gint start_column = -1, n_columns = 0;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (week_view->selection_start_day == -1)
- return 0;
- if (week_view->selection_end_day - week_view->selection_start_day >= 6 ) {
- start_column = 0;
- n_columns =7;
- } else {
- start_column = week_view->selection_start_day % 7;
- n_columns = (week_view->selection_end_day % 7) - start_column + 1;
- }
- if (n_columns > 0 && start_column != -1 && columns_selected) {
- gint index;
-
- *columns_selected = (gint *) g_malloc (n_columns * sizeof (gint));
- for (index = 0; index < n_columns; ++index)
- (*columns_selected)[index] = start_column + index;
- }
- return n_columns;
-}
-
-static gboolean
-table_interface_add_row_selection (AtkTable *table,
- gint row)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- /* FIXME: we need multi-selection */
-
- week_view->selection_start_day = row * 7;
- week_view->selection_end_day = row *7 + 6;
-
- gtk_widget_queue_draw (week_view->main_canvas);
- return TRUE;
-}
-
-static gboolean
-table_interface_remove_row_selection (AtkTable *table,
- gint row)
-{
- return FALSE;
-}
-
-static gboolean
-table_interface_add_column_selection (AtkTable *table,
- gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- /* FIXME: we need multi-selection */
-
- week_view->selection_start_day = column;
- week_view->selection_end_day = (week_view->weeks_shown - 1)*7+column;
-
- gtk_widget_queue_draw (week_view->main_canvas);
- return TRUE;
-}
-
-static gboolean
-table_interface_remove_column_selection (AtkTable *table,
- gint column)
-{
- /* FIXME: NOT IMPLEMENTED */
- return FALSE;
-}
-
-static AtkObject*
-table_interface_get_row_header (AtkTable *table,
- gint row)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static AtkObject*
-table_interface_get_column_header (AtkTable *table,
- gint in_col)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static AtkObject*
-table_interface_get_caption (AtkTable *table)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static G_CONST_RETURN gchar*
-table_interface_get_column_description (AtkTable *table,
- gint in_col)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
- const gchar *description;
- EaCellTable *cell_data;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (in_col < 0 || in_col > 6)
- return NULL;
- cell_data = ea_week_view_main_item_get_cell_data (ea_main_item);
- if (!cell_data)
- return NULL;
-
- description = ea_cell_table_get_column_label (cell_data, in_col);
- if (!description) {
- gchar buffer[128];
-
- switch (in_col) {
- case 0:
- g_snprintf(buffer,128,"Monday");
- break;
- case 1:
- g_snprintf(buffer,128,"Tuesday");
- break;
- case 2:
- g_snprintf(buffer,128,"Wednesday");
- break;
- case 3:
- g_snprintf(buffer,128,"Thursday");
- break;
- case 4:
- g_snprintf(buffer,128,"Friday");
- break;
- case 5:
- g_snprintf(buffer,128,"Saturday");
- break;
- case 6:
- g_snprintf(buffer,128,"Sunday");
- break;
- default:
- break;
- }
-
- ea_cell_table_set_column_label (cell_data, in_col, buffer);
- description = ea_cell_table_get_column_label (cell_data, in_col);
- }
- return description;
-}
-
-static G_CONST_RETURN gchar*
-table_interface_get_row_description (AtkTable *table,
- gint row)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (table);
- const gchar *description;
- EaCellTable *cell_data;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (row < 0 || row >= week_view->weeks_shown)
- return NULL;
- cell_data = ea_week_view_main_item_get_cell_data (ea_main_item);
- if (!cell_data)
- return NULL;
-
- description = ea_cell_table_get_row_label (cell_data, row);
- if (!description) {
- gchar buffer[128];
- ea_week_view_main_item_get_row_label (ea_main_item, row, buffer, sizeof (buffer));
- ea_cell_table_set_row_label (cell_data, row, buffer);
- description = ea_cell_table_get_row_label (cell_data,
- row);
- }
- return description;
-}
-
-static AtkObject*
-table_interface_get_summary (AtkTable *table)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-/* atkselection interface */
-
-static void
-atk_selection_interface_init (AtkSelectionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->add_selection = selection_interface_add_selection;
- iface->clear_selection = selection_interface_clear_selection;
- iface->ref_selection = selection_interface_ref_selection;
- iface->get_selection_count = selection_interface_get_selection_count;
- iface->is_child_selected = selection_interface_is_child_selected;
-}
-
-static gboolean
-selection_interface_add_selection (AtkSelection *selection, gint i)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (selection);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (i < 0 || i > week_view->weeks_shown * 7 -1)
- return FALSE;
-
- /*FIXME: multi-selection is needed */
- week_view->selection_start_day = i;
- week_view->selection_end_day = i;
-
- gtk_widget_queue_draw (week_view->main_canvas);
- return TRUE;
-}
-
-static gboolean
-selection_interface_clear_selection (AtkSelection *selection)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (selection);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- week_view->selection_start_day = -1;
- week_view->selection_end_day = -1;
-
- gtk_widget_queue_draw (week_view->main_canvas);
-
- return TRUE;
-}
-
-static AtkObject*
-selection_interface_ref_selection (AtkSelection *selection, gint i)
-{
- gint count;
- GObject *g_obj;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (selection);
- gint start_index;
-
- count = selection_interface_get_selection_count (selection);
- if (i < 0 || i >=count)
- return NULL;
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (ea_main_item));
- week_view = E_WEEK_VIEW_MAIN_ITEM (g_obj)->week_view;
- start_index = ea_week_view_main_item_get_child_index_at (ea_main_item,
- week_view->selection_start_day / 7,
- week_view->selection_start_day % 7);
-
- return ea_week_view_main_item_ref_child (ATK_OBJECT (selection), start_index + i);
-}
-
-static gint
-selection_interface_get_selection_count (AtkSelection *selection)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (selection);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return 0;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if (week_view->selection_start_day == -1 ||
- week_view->selection_end_day == -1)
- return 0;
-
- return week_view->selection_end_day - week_view->selection_start_day + 1;
-}
-
-static gboolean
-selection_interface_is_child_selected (AtkSelection *selection, gint i)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EWeekViewMainItem *main_item;
- EWeekView *week_view;
- EaWeekViewMainItem* ea_main_item = EA_WEEK_VIEW_MAIN_ITEM (selection);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_main_item);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- main_item = E_WEEK_VIEW_MAIN_ITEM (g_obj);
- week_view = main_item->week_view;
-
- if ((week_view->selection_start_day <= i)&&(week_view->selection_end_day >= i))
- return TRUE;
- else
- return FALSE;
-}
-
diff --git a/a11y/calendar/ea-week-view-main-item.h b/a11y/calendar/ea-week-view-main-item.h
deleted file mode 100644
index fcf8b45fc8..0000000000
--- a/a11y/calendar/ea-week-view-main-item.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-week-view-main-item.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- * Author: Yang Wu <Yang.Wu@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_WEEK_VIEW_MAIN_ITEM_H__
-#define __EA_WEEK_VIEW_MAIN_ITEM_H__
-
-#include <atk/atkgobjectaccessible.h>
-#include "e-week-view-main-item.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_WEEK_VIEW_MAIN_ITEM (ea_week_view_main_item_get_type ())
-#define EA_WEEK_VIEW_MAIN_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_WEEK_VIEW_MAIN_ITEM, EaWeekViewMainItem))
-#define EA_WEEK_VIEW_MAIN_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_WEEK_VIEW_MAIN_ITEM, EaWeekViewMainItemClass))
-#define EA_IS_WEEK_VIEW_MAIN_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_WEEK_VIEW_MAIN_ITEM))
-#define EA_IS_WEEK_VIEW_MAIN_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_WEEK_VIEW_MAIN_ITEM))
-#define EA_WEEK_VIEW_MAIN_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_WEEK_VIEW_MAIN_ITEM, EaWeekViewMainItemClass))
-
-typedef struct _EaWeekViewMainItem EaWeekViewMainItem;
-typedef struct _EaWeekViewMainItemClass EaWeekViewMainItemClass;
-
-struct _EaWeekViewMainItem
-{
- AtkGObjectAccessible parent;
-};
-
-GType ea_week_view_main_item_get_type (void);
-
-struct _EaWeekViewMainItemClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-AtkObject* ea_week_view_main_item_new (GObject *obj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __EA_WEEK_VIEW_MAIN_ITEM_H__ */
diff --git a/a11y/calendar/ea-week-view.c b/a11y/calendar/ea-week-view.c
deleted file mode 100644
index 3b36ac246d..0000000000
--- a/a11y/calendar/ea-week-view.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-week-view.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-week-view.h"
-#include "ea-cal-view.h"
-#include "ea-cal-view-event.h"
-#include "ea-calendar-helpers.h"
-#include "ea-gnome-calendar.h"
-#include "calendar-commands.h"
-#include <gal/e-text/e-text.h>
-#include <libgnome/gnome-i18n.h>
-
-static void ea_week_view_class_init (EaWeekViewClass *klass);
-
-static G_CONST_RETURN gchar* ea_week_view_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_week_view_get_description (AtkObject *accessible);
-static gint ea_week_view_get_n_children (AtkObject *obj);
-static AtkObject* ea_week_view_ref_child (AtkObject *obj,
- gint i);
-
-static gpointer parent_class = NULL;
-
-GType
-ea_week_view_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaWeekViewClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_week_view_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaWeekView), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (EaCalView, in this case)
- *
- * Note: we must still use run-time deriving here, because
- * our parent class EaCalView is run-time deriving.
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- e_calendar_view_get_type());
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaWeekView", &tinfo, 0);
-
- }
-
- return type;
-}
-
-static void
-ea_week_view_class_init (EaWeekViewClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_week_view_get_name;
- class->get_description = ea_week_view_get_description;
-
- class->get_n_children = ea_week_view_get_n_children;
- class->ref_child = ea_week_view_ref_child;
-}
-
-AtkObject*
-ea_week_view_new (GtkWidget *widget)
-{
- GObject *object;
- AtkObject *accessible;
-
- g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
-
- object = g_object_new (EA_TYPE_WEEK_VIEW, NULL);
-
- accessible = ATK_OBJECT (object);
- atk_object_initialize (accessible, widget);
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: ea_week_view created %p\n", (void *)accessible);
-#endif
-
- return accessible;
-}
-
-static G_CONST_RETURN gchar*
-ea_week_view_get_name (AtkObject *accessible)
-{
- EWeekView *week_view;
- GnomeCalendar *gcal;
- const gchar *label_text;
- GnomeCalendarViewType view_type;
- gint n_events;
- gchar *event_str, *name_str;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW (accessible), NULL);
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return NULL;
-
- week_view = E_WEEK_VIEW (GTK_ACCESSIBLE (accessible)->widget);
- gcal = e_calendar_view_get_calendar (E_CALENDAR_VIEW (week_view));
- label_text = ea_gnome_calendar_get_label_description (gcal);
-
- n_events = atk_object_get_n_accessible_children (accessible);
- /* the child main item is always there */
- --n_events;
- if (n_events >= 1)
- event_str = g_strdup_printf (ngettext ("It has %d event.", "It has %d events.", n_events), n_events);
- else
- event_str = g_strdup (_("It has no events."));
-
- view_type = gnome_calendar_get_view (gcal);
-
- if (view_type == GNOME_CAL_MONTH_VIEW)
- name_str = g_strdup_printf (_("Month View: %s. %s"),
- label_text, event_str);
-
- else
- name_str = g_strdup_printf (_("Week View: %s. %s"),
- label_text, event_str);
-
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name_str);
- g_free (name_str);
- g_free (event_str);
-
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_week_view_get_description (AtkObject *accessible)
-{
- EWeekView *week_view;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW (accessible), NULL);
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return NULL;
- week_view = E_WEEK_VIEW (GTK_ACCESSIBLE (accessible)->widget);
-
- if (accessible->description)
- return accessible->description;
- else {
- GnomeCalendar *gcal;
- GnomeCalendarViewType view_type;
-
- gcal = e_calendar_view_get_calendar (E_CALENDAR_VIEW (week_view));
- view_type = gnome_calendar_get_view (gcal);
-
- if (view_type == GNOME_CAL_MONTH_VIEW)
- return _("calendar view for a month");
- else
- return _("calendar view for one or more weeks");
- }
-}
-
-static gint
-ea_week_view_get_n_children (AtkObject *accessible)
-{
- EWeekView *week_view;
- gint i, count = 0;
- gint event_index;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW (accessible), -1);
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return -1;
- week_view = E_WEEK_VIEW (GTK_ACCESSIBLE (accessible)->widget);
-
- for (event_index = 0; event_index < week_view->events->len;
- ++event_index) {
- EWeekViewEvent *event;
- EWeekViewEventSpan *span;
-
- /* If week_view->spans == NULL, there is no visible events. */
- if (!week_view->spans)
- break;
-
- event = &g_array_index (week_view->events,
- EWeekViewEvent, event_index);
- if (!event)
- continue;
- span = &g_array_index (week_view->spans, EWeekViewEventSpan,
- event->spans_index + 0);
-
- if (!span)
- continue;
-
- /* at least one of the event spans is visible, count it */
- if (span->text_item)
- ++count;
- }
-
- /* add the number of visible jump buttons */
- for (i = 0; i < E_WEEK_VIEW_MAX_WEEKS * 7; i++) {
- if (week_view->jump_buttons[i]->object.flags & GNOME_CANVAS_ITEM_VISIBLE)
- ++count;
- }
-
- /* "+1" for the main item */
- count++;
-
-#ifdef ACC_DEBUG
- printf("AccDebug: week view %p has %d children\n", (void *)week_view, count);
-#endif
- return count;
-}
-
-static AtkObject *
-ea_week_view_ref_child (AtkObject *accessible, gint index)
-{
- EWeekView *week_view;
- gint child_num, max_count;
- AtkObject *atk_object = NULL;
- gint event_index;
- gint jump_button = -1;
- gint span_num = 0;
- gint count = 0;
-
- g_return_val_if_fail (EA_IS_WEEK_VIEW (accessible), NULL);
-
- child_num = atk_object_get_n_accessible_children (accessible);
- if (child_num <= 0 || index < 0 || index >= child_num)
- return NULL;
-
- if (!GTK_ACCESSIBLE (accessible)->widget)
- return NULL;
- week_view = E_WEEK_VIEW (GTK_ACCESSIBLE (accessible)->widget);
- max_count = week_view->events->len;
-
- if (index == 0) {
- /* index == 0 is the main item */
- atk_object = atk_gobject_accessible_for_object (G_OBJECT (week_view->main_canvas_item));
- g_object_ref (atk_object);
- } else
- for (event_index = 0; event_index < max_count; ++event_index) {
- EWeekViewEvent *event;
- EWeekViewEventSpan *span;
- gint current_day;
-
- event = &g_array_index (week_view->events,
- EWeekViewEvent, event_index);
- if (!event)
- continue;
-
- span = &g_array_index (week_view->spans, EWeekViewEventSpan,
- event->spans_index + span_num);
-
- if (!span)
- continue;
-
- current_day = span->start_day;
- if (span->text_item)
- ++count;
- else if (current_day != jump_button) {
- /* we should go to the jump button */
- jump_button = current_day;
- ++count;
- }
- else
- continue;
-
- if (count == index) {
- if (span->text_item) {
- /* Not use atk_gobject_accessible_for_object for event
- * text_item we need to do special thing here
- */
- atk_object = ea_calendar_helpers_get_accessible_for (span->text_item);
- }
- else {
- atk_object = ea_calendar_helpers_get_accessible_for (week_view->jump_buttons[current_day == -1 ? 0 : current_day]);
- }
- g_object_ref (atk_object);
- break;
- }
- }
-
-#ifdef ACC_DEBUG
- printf ("EvoAcc: ea_week_view_ref_child [%d]=%p\n",
- index, (void *)atk_object);
-#endif
- return atk_object;
-}
diff --git a/a11y/calendar/ea-week-view.h b/a11y/calendar/ea-week-view.h
deleted file mode 100644
index f0ed117375..0000000000
--- a/a11y/calendar/ea-week-view.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-week-view.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_WEEK_VIEW_H__
-#define __EA_WEEK_VIEW_H__
-
-#include <gtk/gtkaccessible.h>
-#include "e-week-view.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_WEEK_VIEW (ea_week_view_get_type ())
-#define EA_WEEK_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_WEEK_VIEW, EaWeekView))
-#define EA_WEEK_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_WEEK_VIEW, EaWeekViewClass))
-#define EA_IS_WEEK_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_WEEK_VIEW))
-#define EA_IS_WEEK_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_WEEK_VIEW))
-#define EA_WEEK_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_WEEK_VIEW, EaWeekViewClass))
-
-typedef struct _EaWeekView EaWeekView;
-typedef struct _EaWeekViewClass EaWeekViewClass;
-
-struct _EaWeekView
-{
- GtkAccessible parent;
-};
-
-GType ea_week_view_get_type (void);
-
-struct _EaWeekViewClass
-{
- GtkAccessibleClass parent_class;
-};
-
-AtkObject* ea_week_view_new (GtkWidget *widget);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __EA_WEEK_VIEW_H__ */
diff --git a/a11y/ea-cell-table.c b/a11y/ea-cell-table.c
deleted file mode 100644
index 80f5ecbaaa..0000000000
--- a/a11y/ea-cell-table.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-cell-table.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-cell-table.h"
-
-EaCellTable *
-ea_cell_table_create (gint rows, gint columns, gboolean column_first)
-{
- EaCellTable * cell_data;
- gint index;
-
- g_return_val_if_fail (((columns > 0) && (rows > 0)), NULL);
-
- cell_data = g_new0 (EaCellTable, 1);
-
- cell_data->column_first = column_first;
- cell_data->columns = columns;
- cell_data->rows = rows;
-
- cell_data->column_labels = g_new0 (gchar*, columns);
- for (index = columns -1; index >= 0; --index)
- cell_data->column_labels [index] = NULL;
-
- cell_data->row_labels = g_new0 (gchar*, rows);
- for (index = rows -1; index >= 0; --index)
- cell_data->row_labels [index] = NULL;
-
- cell_data->cells = g_new0(gpointer, (columns * rows));
- for (index = (columns * rows) -1; index >= 0; --index)
- cell_data->cells [index] = NULL;
- return cell_data;
-}
-
-void
-ea_cell_table_destroy (EaCellTable * cell_data)
-{
- gint index;
- g_return_if_fail (cell_data);
-
- g_print ("destroy cell table (%d, %d)\n", cell_data->rows,
- cell_data->columns);
- for (index = 0; index < cell_data->columns; ++index)
- if (cell_data->column_labels [index])
- g_free (cell_data->column_labels [index]);
- g_free (cell_data->column_labels);
-
- for (index = 0; index < cell_data->rows; ++index)
- if (cell_data->row_labels [index])
- g_free (cell_data->row_labels [index]);
- g_free (cell_data->row_labels);
-
- for (index = (cell_data->columns * cell_data->rows) -1;
- index >= 0; --index)
- if (cell_data->cells[index] &&
- G_IS_OBJECT (cell_data->cells[index]))
- g_object_unref (cell_data->cells[index]);
-
- g_free (cell_data->cells);
-}
-
-gpointer
-ea_cell_table_get_cell (EaCellTable * cell_data,
- gint row, gint column)
-{
- gint index;
-
- g_return_val_if_fail (cell_data, NULL);
-
- index = ea_cell_table_get_index (cell_data, column, row);
- if (index == -1)
- return NULL;
-
- return cell_data->cells[index];
-}
-
-gboolean
-ea_cell_table_set_cell (EaCellTable * cell_data,
- gint row, gint column, gpointer cell)
-{
- gint index;
-
- g_return_val_if_fail (cell_data, FALSE);
-
- index = ea_cell_table_get_index (cell_data, column, row);
- if (index == -1)
- return FALSE;
-
- if (cell && G_IS_OBJECT(cell))
- g_object_ref (cell);
- if (cell_data->cells[index] &&
- G_IS_OBJECT (cell_data->cells[index]))
- g_object_unref (cell_data->cells[index]);
- cell_data->cells[index] = cell;
-
- return TRUE;
-}
-
-gpointer
-ea_cell_table_get_cell_at_index (EaCellTable * cell_data,
- gint index)
-{
- g_return_val_if_fail (cell_data, NULL);
-
- if (index >=0 && index < (cell_data->columns * cell_data->rows))
- return cell_data->cells [index];
- return NULL;
-}
-
-gboolean
-ea_cell_table_set_cell_at_index (EaCellTable * cell_data,
- gint index, gpointer cell)
-{
- g_return_val_if_fail (cell_data, FALSE);
-
- if (index < 0 || index >=cell_data->columns * cell_data->rows)
- return FALSE;
-
- if (cell && G_IS_OBJECT(cell))
- g_object_ref (cell);
- if (cell_data->cells[index] &&
- G_IS_OBJECT (cell_data->cells[index]))
- g_object_unref (cell_data->cells[index]);
- cell_data->cells[index] = cell;
-
- return TRUE;
-}
-
-G_CONST_RETURN gchar*
-ea_cell_table_get_column_label (EaCellTable * cell_data,
- gint column)
-{
- g_return_val_if_fail (cell_data, NULL);
- g_return_val_if_fail ((column >= 0 && column < cell_data->columns), NULL);
-
- return cell_data->column_labels[column];
-}
-
-void
-ea_cell_table_set_column_label (EaCellTable * cell_data,
- gint column, const gchar *label)
-{
- g_return_if_fail (cell_data);
- g_return_if_fail ((column >= 0 && column < cell_data->columns));
-
- if (cell_data->column_labels[column])
- g_free (cell_data->column_labels[column]);
- cell_data->column_labels[column] = g_strdup(label);
-}
-
-G_CONST_RETURN gchar*
-ea_cell_table_get_row_label (EaCellTable * cell_data,
- gint row)
-{
- g_return_val_if_fail (cell_data, NULL);
- g_return_val_if_fail ((row >= 0 && row < cell_data->rows), NULL);
-
- return cell_data->row_labels[row];
-}
-
-void
-ea_cell_table_set_row_label (EaCellTable * cell_data,
- gint row, const gchar *label)
-{
- g_return_if_fail (cell_data);
- g_return_if_fail ((row >= 0 && row < cell_data->rows));
-
- if (cell_data->row_labels[row])
- g_free (cell_data->row_labels[row]);
- cell_data->row_labels[row] = g_strdup(label);
-}
-
-gint
-ea_cell_table_get_index (EaCellTable *cell_data,
- gint row, gint column)
-{
- g_return_val_if_fail (cell_data, -1);
- if (row < 0 || row >= cell_data->rows ||
- column < 0 || column >= cell_data->columns)
- return -1;
-
- if (cell_data->column_first)
- return column * cell_data->rows + row;
- else
- return row * cell_data->columns + column;
-}
diff --git a/a11y/ea-cell-table.h b/a11y/ea-cell-table.h
deleted file mode 100644
index 932fe8b4fd..0000000000
--- a/a11y/ea-cell-table.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-table-cell.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-/* EaCellTable */
-
-#include <glib.h>
-#include <glib-object.h>
-
-struct _EaCellTable {
- gint columns;
- gint rows;
- gboolean column_first; /* index order */
- gchar **column_labels;
- gchar **row_labels;
- gpointer *cells;
-};
-
-typedef struct _EaCellTable EaCellTable;
-
-EaCellTable * ea_cell_table_create (gint rows, gint columns,
- gboolean column_first);
-void ea_cell_table_destroy (EaCellTable * cell_data);
-gpointer ea_cell_table_get_cell (EaCellTable * cell_data,
- gint row, gint column);
-gboolean ea_cell_table_set_cell (EaCellTable * cell_data,
- gint row, gint column, gpointer cell);
-gpointer ea_cell_table_get_cell_at_index (EaCellTable * cell_data,
- gint index);
-gboolean ea_cell_table_set_cell_at_index (EaCellTable * cell_data,
- gint index, gpointer cell);
-
-G_CONST_RETURN gchar*
-ea_cell_table_get_column_label (EaCellTable * cell_data, gint column);
-void ea_cell_table_set_column_label (EaCellTable * cell_data,
- gint column, const gchar *label);
-G_CONST_RETURN gchar*
-ea_cell_table_get_row_label (EaCellTable * cell_data, gint row);
-void ea_cell_table_set_row_label (EaCellTable * cell_data,
- gint row, const gchar *label);
-gint ea_cell_table_get_index (EaCellTable *cell_data,
- gint row, gint column);
diff --git a/a11y/ea-factory.h b/a11y/ea-factory.h
deleted file mode 100644
index 06ae612d6f..0000000000
--- a/a11y/ea-factory.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-factory.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-/* Evolution Accessibility
-*/
-
-#ifndef _EA_FACTORY_H__
-#define _EA_FACTORY_H__
-
-#include <glib-object.h>
-#include <atk/atkobject.h>
-
-#define EA_FACTORY_PARTA_GOBJECT(type, type_as_function, opt_create_accessible) \
-static AtkObject* \
-type_as_function ## _factory_create_accessible (GObject *obj) \
-{ \
- AtkObject *accessible; \
- g_return_val_if_fail (G_IS_OBJECT (obj), NULL); \
- accessible = opt_create_accessible (G_OBJECT (obj)); \
- return accessible; \
-}
-
-#define EA_FACTORY_PARTA(type, type_as_function, opt_create_accessible) \
-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; \
-}
-
-#define EA_FACTORY_PARTB(type, type_as_function, opt_create_accessible) \
- \
-static GType \
-type_as_function ## _factory_get_accessible_type (void) \
-{ \
- return type; \
-} \
- \
- \
-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 EA_FACTORY(type, type_as_function, opt_create_accessible) \
- EA_FACTORY_PARTA(type, type_as_function, opt_create_accessible) \
- EA_FACTORY_PARTB(type, type_as_function, opt_create_accessible)
-
-#define EA_FACTORY_GOBJECT(type, type_as_function, opt_create_accessible) \
- EA_FACTORY_PARTA_GOBJECT(type, type_as_function, opt_create_accessible) \
- EA_FACTORY_PARTB(type, type_as_function, opt_create_accessible)
-
-#define EA_SET_FACTORY(obj_type, type_as_function) \
- atk_registry_set_factory_type (atk_get_default_registry (), \
- obj_type, \
- type_as_function ## _factory_get_type ())
-
-#endif /* _EA_FACTORY_H__ */
diff --git a/a11y/widgets/.cvsignore b/a11y/widgets/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/a11y/widgets/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/a11y/widgets/Makefile.am b/a11y/widgets/Makefile.am
deleted file mode 100644
index 6e8e0e4a1d..0000000000
--- a/a11y/widgets/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-
-# for debug
-#A11Y_CFLAGS += -pedantic -ansi -DACC_DEBUG -Werror
-
-privlib_LTLIBRARIES = libevolution-widgets-a11y.la
-
-INCLUDES = \
- -DG_LOG_DOMAIN=\"evolution-a11y\" \
- -I$(top_srcdir)/widgets \
- -I$(top_srcdir)/a11y \
- -DEVOLUTION_DATADIR=\""$(datadir)"\" \
- -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" \
- -DEVOLUTION_ETSPECDIR=\""$(etspecdir)"\" \
- -DEVOLUTION_IMAGESDIR=\""$(imagesdir)"\" \
- -DEVOLUTION_GALVIEWSDIR=\""$(viewsdir)"\" \
- -DEVOLUTION_UIDIR=\""$(evolutionuidir)"\" \
- -DPREFIX=\""$(prefix)"\" \
- $(A11Y_CFLAGS) \
- $(EVOLUTION_CALENDAR_CFLAGS)
-
-libevolution_widgets_a11y_la_SOURCES = \
- ea-calendar-item.c \
- ea-calendar-item.h \
- ea-calendar-cell.c \
- ea-calendar-cell.h \
- ea-combo-button.c \
- ea-combo-button.h \
- ea-widgets.c \
- ea-widgets.h
-
-libevolution_widgets_a11y_la_LIBADD = \
- $(top_builddir)/a11y/libevolution-a11y.la
-
diff --git a/a11y/widgets/ea-calendar-cell.c b/a11y/widgets/ea-calendar-cell.c
deleted file mode 100644
index 682485605f..0000000000
--- a/a11y/widgets/ea-calendar-cell.c
+++ /dev/null
@@ -1,325 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-calendar-cell.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-calendar-cell.h"
-#include "ea-calendar-item.h"
-#include "ea-factory.h"
-
-/* ECalendarCell */
-
-static void e_calendar_cell_class_init (ECalendarCellClass *class);
-
-EA_FACTORY_GOBJECT (EA_TYPE_CALENDAR_CELL, ea_calendar_cell, ea_calendar_cell_new)
-
-GType
-e_calendar_cell_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (ECalendarCellClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) e_calendar_cell_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (ECalendarCell), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- type = g_type_register_static (G_TYPE_OBJECT,
- "ECalendarCell", &tinfo, 0);
- }
-
- return type;
-}
-
-static void
-e_calendar_cell_class_init (ECalendarCellClass *class)
-{
- EA_SET_FACTORY (e_calendar_cell_get_type (), ea_calendar_cell);
-}
-
-ECalendarCell *
-e_calendar_cell_new (ECalendarItem *calitem, gint row, gint column)
-{
- GObject *object;
- ECalendarCell *cell;
-
- g_return_val_if_fail (E_IS_CALENDAR_ITEM (calitem), NULL);
-
- object = g_object_new (E_TYPE_CALENDAR_CELL, NULL);
- cell = E_CALENDAR_CELL (object);
- cell->calitem = calitem;
- cell->row = row;
- cell->column = column;
-
-#ifdef ACC_DEBUG
- g_print ("EvoAcc: e_calendar_cell created %p\n", (void *)cell);
-#endif
-
- return cell;
-}
-
-/* EaCalendarCell */
-
-static void ea_calendar_cell_class_init (EaCalendarCellClass *klass);
-
-static G_CONST_RETURN gchar* ea_calendar_cell_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_calendar_cell_get_description (AtkObject *accessible);
-static AtkObject * ea_calendar_cell_get_parent (AtkObject *accessible);
-static gint ea_calendar_cell_get_index_in_parent (AtkObject *accessible);
-
-/* component interface */
-static void atk_component_interface_init (AtkComponentIface *iface);
-static void component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y,
- gint *width, gint *height,
- AtkCoordType coord_type);
-
-static gpointer parent_class = NULL;
-
-#ifdef ACC_DEBUG
-static gint n_ea_calendar_cell_created = 0, n_ea_calendar_cell_destroyed = 0;
-static void ea_calendar_cell_finalize (GObject *object);
-#endif
-
-GType
-ea_calendar_cell_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaCalendarCellClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_calendar_cell_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaCalendarCell), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_component_info = {
- (GInterfaceInitFunc) atk_component_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- type = g_type_register_static (ATK_TYPE_GOBJECT_ACCESSIBLE,
- "EaCalendarCell", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
- &atk_component_info);
- }
-
- return type;
-}
-
-static void
-ea_calendar_cell_class_init (EaCalendarCellClass *klass)
-{
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
-#ifdef ACC_DEBUG
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = ea_calendar_cell_finalize;
-#endif
-
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_calendar_cell_get_name;
- class->get_description = ea_calendar_cell_get_description;
-
- class->get_parent = ea_calendar_cell_get_parent;
- class->get_index_in_parent = ea_calendar_cell_get_index_in_parent;
-}
-
-AtkObject*
-ea_calendar_cell_new (GObject *obj)
-{
- gpointer object;
- AtkObject *atk_object;
-
- g_return_val_if_fail (E_IS_CALENDAR_CELL (obj), NULL);
- object = g_object_new (EA_TYPE_CALENDAR_CELL, NULL);
- atk_object = ATK_OBJECT (object);
- atk_object_initialize (atk_object, obj);
- atk_object->role = ATK_ROLE_UNKNOWN;
-
-#ifdef ACC_DEBUG
- ++n_ea_calendar_cell_created;
- g_print ("ACC_DEBUG: n_ea_calendar_cell_created = %d\n",
- n_ea_calendar_cell_created);
-#endif
- return atk_object;
-}
-
-#ifdef ACC_DEBUG
-static void ea_calendar_cell_finalize (GObject *object)
-{
- ++n_ea_calendar_cell_destroyed;
- g_print ("ACC_DEBUG: n_ea_calendar_cell_destroyed = %d\n",
- n_ea_calendar_cell_destroyed);
-}
-#endif
-
-static G_CONST_RETURN gchar*
-ea_calendar_cell_get_name (AtkObject *accessible)
-{
- GObject *g_obj;
-
- g_return_val_if_fail (EA_IS_CALENDAR_CELL (accessible), NULL);
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible));
- if (!g_obj)
- /* defunct object*/
- return NULL;
-
- if (!accessible->name) {
- AtkObject *atk_obj;
- EaCalendarItem *ea_calitem;
- ECalendarCell *cell;
- gint day_index;
- gint year, month, day;
- gchar buffer[128];
-
- cell = E_CALENDAR_CELL (g_obj);
- atk_obj = ea_calendar_cell_get_parent (accessible);
- ea_calitem = EA_CALENDAR_ITEM (atk_obj);
- day_index = atk_table_get_index_at (ATK_TABLE (ea_calitem),
- cell->row, cell->column);
- e_calendar_item_get_date_for_offset (cell->calitem, day_index,
- &year, &month, &day);
-
- g_snprintf (buffer, 128, "%d-%d-%d", year, month + 1, day);
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, buffer);
- }
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_calendar_cell_get_description (AtkObject *accessible)
-{
- return ea_calendar_cell_get_name (accessible);
-}
-
-static AtkObject *
-ea_calendar_cell_get_parent (AtkObject *accessible)
-{
- GObject *g_obj;
- ECalendarCell *cell;
- ECalendarItem *calitem;
-
- g_return_val_if_fail (EA_IS_CALENDAR_CELL (accessible), NULL);
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible));
- if (!g_obj)
- /* defunct object*/
- return NULL;
-
- cell = E_CALENDAR_CELL (g_obj);
- calitem = cell->calitem;
- return atk_gobject_accessible_for_object (G_OBJECT (calitem));
-}
-
-static gint
-ea_calendar_cell_get_index_in_parent (AtkObject *accessible)
-{
- GObject *g_obj;
- ECalendarCell *cell;
- AtkObject *parent;
-
- g_return_val_if_fail (EA_IS_CALENDAR_CELL (accessible), -1);
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible));
- if (!g_obj)
- return -1;
- cell = E_CALENDAR_CELL (g_obj);
- parent = atk_object_get_parent (accessible);
- return atk_table_get_index_at (ATK_TABLE (parent),
- cell->row, cell->column);
-}
-
-/* Atk Component Interface */
-
-static void
-atk_component_interface_init (AtkComponentIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->get_extents = component_interface_get_extents;
-}
-
-static void
-component_interface_get_extents (AtkComponent *component,
- gint *x, gint *y, gint *width, gint *height,
- AtkCoordType coord_type)
-{
- GObject *g_obj;
- AtkObject *atk_obj, *atk_canvas;
- ECalendarCell *cell;
- ECalendarItem *calitem;
- EaCalendarItem *ea_calitem;
- gint day_index;
- gint year, month, day;
- gint canvas_x, canvas_y, canvas_width, canvas_height;
-
- *x = *y = *width = *height = 0;
-
- g_return_if_fail (EA_IS_CALENDAR_CELL (component));
-
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(component));
- if (!g_obj)
- /* defunct object*/
- return;
-
- cell = E_CALENDAR_CELL (g_obj);
- calitem = cell->calitem;
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (calitem));
- ea_calitem = EA_CALENDAR_ITEM (atk_obj);
- day_index = atk_table_get_index_at (ATK_TABLE (ea_calitem),
- cell->row, cell->column);
- e_calendar_item_get_date_for_offset (calitem, day_index,
- &year, &month, &day);
-
- if (!e_calendar_item_get_day_extents (calitem,
- year, month, day,
- x, y, width, height))
- return;
- atk_canvas = atk_object_get_parent (ATK_OBJECT (ea_calitem));
- atk_component_get_extents (ATK_COMPONENT (atk_canvas),
- &canvas_x, &canvas_y,
- &canvas_width, &canvas_height,
- coord_type);
- *x += canvas_x;
- *y += canvas_y;
-}
diff --git a/a11y/widgets/ea-calendar-cell.h b/a11y/widgets/ea-calendar-cell.h
deleted file mode 100644
index f87ede90a7..0000000000
--- a/a11y/widgets/ea-calendar-cell.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-calendar-cell.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_CALENDAR_CELL_H__
-#define __EA_CALENDAR_CELL_H__
-
-#include <atk/atkgobjectaccessible.h>
-#include "misc/e-calendar-item.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define E_TYPE_CALENDAR_CELL (e_calendar_cell_get_type ())
-#define E_CALENDAR_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_CALENDAR_CELL, ECalendarCell))
-#define E_CALENDAR_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_CALENDAR_CELL, ECalendarCellClass))
-#define E_IS_CALENDAR_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_CALENDAR_CELL))
-#define E_IS_CALENDAR_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_CALENDAR_CELL))
-#define E_CALENDAR_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TYPE_CALENDAR_CELL, ECalendarCellClass))
-
-typedef struct _ECalendarCell ECalendarCell;
-typedef struct _ECalendarCellClass ECalendarCellClass;
-
-struct _ECalendarCell
-{
- GObject parent;
- ECalendarItem *calitem;
- gint row;
- gint column;
-};
-
-GType e_calendar_cell_get_type (void);
-
-struct _ECalendarCellClass
-{
- GObjectClass parent_class;
-};
-
-ECalendarCell * e_calendar_cell_new (ECalendarItem *calitem,
- gint row, gint column);
-
-#define EA_TYPE_CALENDAR_CELL (ea_calendar_cell_get_type ())
-#define EA_CALENDAR_CELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_CALENDAR_CELL, EaCalendarCell))
-#define EA_CALENDAR_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_CALENDAR_CELL, EaCalendarCellClass))
-#define EA_IS_CALENDAR_CELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_CALENDAR_CELL))
-#define EA_IS_CALENDAR_CELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_CALENDAR_CELL))
-#define EA_CALENDAR_CELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_CALENDAR_CELL, EaCalendarCellClass))
-
-typedef struct _EaCalendarCell EaCalendarCell;
-typedef struct _EaCalendarCellClass EaCalendarCellClass;
-
-struct _EaCalendarCell
-{
- AtkGObjectAccessible parent;
-};
-
-GType ea_calendar_cell_get_type (void);
-
-struct _EaCalendarCellClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-AtkObject* ea_calendar_cell_new (GObject *gobj);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __EA_CALENDAR_CELL_H__ */
diff --git a/a11y/widgets/ea-calendar-item.c b/a11y/widgets/ea-calendar-item.c
deleted file mode 100644
index b80bbdcb77..0000000000
--- a/a11y/widgets/ea-calendar-item.c
+++ /dev/null
@@ -1,1300 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-calendar-item.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include <stdio.h>
-#include <time.h>
-#include <string.h>
-#include <libgnomecanvas/gnome-canvas.h>
-#include <glib/gdate.h>
-#include <gal/util/e-util.h>
-#include <libgnome/gnome-i18n.h>
-#include "ea-calendar-item.h"
-#include "ea-calendar-cell.h"
-#include "ea-cell-table.h"
-
-#define EA_CALENDAR_COLUMN_NUM E_CALENDAR_COLS_PER_MONTH
-
-/* EaCalendarItem */
-static void ea_calendar_item_class_init (EaCalendarItemClass *klass);
-static void ea_calendar_item_finalize (GObject *object);
-
-static G_CONST_RETURN gchar* ea_calendar_item_get_name (AtkObject *accessible);
-static G_CONST_RETURN gchar* ea_calendar_item_get_description (AtkObject *accessible);
-static gint ea_calendar_item_get_n_children (AtkObject *accessible);
-static AtkObject *ea_calendar_item_ref_child (AtkObject *accessible, gint index);
-static AtkStateSet* ea_calendar_item_ref_state_set (AtkObject *accessible);
-
-/* atk table interface */
-static void atk_table_interface_init (AtkTableIface *iface);
-static gint table_interface_get_index_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_column_at_index (AtkTable *table,
- gint index);
-static gint table_interface_get_row_at_index (AtkTable *table,
- gint index);
-static AtkObject* table_interface_ref_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_n_rows (AtkTable *table);
-static gint table_interface_get_n_columns (AtkTable *table);
-static gint table_interface_get_column_extent_at (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_row_extent_at (AtkTable *table,
- gint row,
- gint column);
-
-static gboolean table_interface_is_row_selected (AtkTable *table,
- gint row);
-static gboolean table_interface_is_column_selected (AtkTable *table,
- gint row);
-static gboolean table_interface_is_selected (AtkTable *table,
- gint row,
- gint column);
-static gint table_interface_get_selected_rows (AtkTable *table,
- gint **rows_selected);
-static gint table_interface_get_selected_columns (AtkTable *table,
- gint **columns_selected);
-static gboolean table_interface_add_row_selection (AtkTable *table, gint row);
-static gboolean table_interface_remove_row_selection (AtkTable *table,
- gint row);
-static gboolean table_interface_add_column_selection (AtkTable *table,
- gint column);
-static gboolean table_interface_remove_column_selection (AtkTable *table,
- gint column);
-static AtkObject* table_interface_get_row_header (AtkTable *table, gint row);
-static AtkObject* table_interface_get_column_header (AtkTable *table,
- gint in_col);
-static AtkObject* table_interface_get_caption (AtkTable *table);
-
-static G_CONST_RETURN gchar*
-table_interface_get_column_description (AtkTable *table, gint in_col);
-
-static G_CONST_RETURN gchar*
-table_interface_get_row_description (AtkTable *table, gint row);
-
-static AtkObject* table_interface_get_summary (AtkTable *table);
-
-/* atk selection interface */
-static void atk_selection_interface_init (AtkSelectionIface *iface);
-static gboolean selection_interface_add_selection (AtkSelection *selection,
- gint i);
-static gboolean selection_interface_clear_selection (AtkSelection *selection);
-static AtkObject* selection_interface_ref_selection (AtkSelection *selection,
- gint i);
-static gint selection_interface_get_selection_count (AtkSelection *selection);
-static gboolean selection_interface_is_child_selected (AtkSelection *selection,
- gint i);
-
-/* callbacks */
-static void selection_preview_change_cb (ECalendarItem *calitem);
-static void date_range_changed_cb (ECalendarItem *calitem);
-static void selection_changed_cb (ECalendarItem *calitem);
-
-/* helpers */
-static EaCellTable *ea_calendar_item_get_cell_data (EaCalendarItem *ea_calitem);
-static void ea_calendar_item_destory_cell_data (EaCalendarItem *ea_calitem);
-static gboolean ea_calendar_item_get_column_label (EaCalendarItem *ea_calitem,
- gint column,
- gchar *buffer,
- gint buffer_size);
-static gboolean ea_calendar_item_get_row_label (EaCalendarItem *ea_calitem,
- gint row,
- gchar *buffer,
- gint buffer_size);
-static gboolean e_calendar_item_get_offset_for_date (ECalendarItem *calitem,
- gint year, gint month, gint day,
- gint *offset);
-
-#ifdef ACC_DEBUG
-static gint n_ea_calendar_item_created = 0;
-static gint n_ea_calendar_item_destroyed = 0;
-#endif
-
-static gpointer parent_class = NULL;
-
-GType
-ea_calendar_item_get_type (void)
-{
- static GType type = 0;
- AtkObjectFactory *factory;
- GTypeQuery query;
- GType derived_atk_type;
-
- if (!type) {
- static GTypeInfo tinfo = {
- sizeof (EaCalendarItemClass),
- (GBaseInitFunc) NULL, /* base init */
- (GBaseFinalizeFunc) NULL, /* base finalize */
- (GClassInitFunc) ea_calendar_item_class_init, /* class init */
- (GClassFinalizeFunc) NULL, /* class finalize */
- NULL, /* class data */
- sizeof (EaCalendarItem), /* instance size */
- 0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
- NULL /* value table */
- };
-
- static const GInterfaceInfo atk_table_info = {
- (GInterfaceInitFunc) atk_table_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
- static const GInterfaceInfo atk_selection_info = {
- (GInterfaceInitFunc) atk_selection_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- /*
- * Figure out the size of the class and instance
- * we are run-time deriving from (GailCanvasItem, in this case)
- */
-
- factory = atk_registry_get_factory (atk_get_default_registry (),
- GNOME_TYPE_CANVAS_ITEM);
- derived_atk_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (derived_atk_type, &query);
-
- tinfo.class_size = query.class_size;
- tinfo.instance_size = query.instance_size;
-
- type = g_type_register_static (derived_atk_type,
- "EaCalendarItem", &tinfo, 0);
- g_type_add_interface_static (type, ATK_TYPE_TABLE,
- &atk_table_info);
- g_type_add_interface_static (type, ATK_TYPE_SELECTION,
- &atk_selection_info);
- }
-
- return type;
-}
-
-static void
-ea_calendar_item_class_init (EaCalendarItemClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
-
- gobject_class->finalize = ea_calendar_item_finalize;
- parent_class = g_type_class_peek_parent (klass);
-
- class->get_name = ea_calendar_item_get_name;
- class->get_description = ea_calendar_item_get_description;
- class->ref_state_set = ea_calendar_item_ref_state_set;
-
- class->get_n_children = ea_calendar_item_get_n_children;
- class->ref_child = ea_calendar_item_ref_child;
-}
-
-AtkObject*
-ea_calendar_item_new (GObject *obj)
-{
- gpointer object;
- AtkObject *atk_object;
-
- g_return_val_if_fail (E_IS_CALENDAR_ITEM (obj), NULL);
- object = g_object_new (EA_TYPE_CALENDAR_ITEM, NULL);
- atk_object = ATK_OBJECT (object);
- atk_object_initialize (atk_object, obj);
- atk_object->role = ATK_ROLE_TABLE;
-#ifdef ACC_DEBUG
- ++n_ea_calendar_item_created;
- g_print ("ACC_DEBUG: n_ea_calendar_item_created = %d\n",
- n_ea_calendar_item_created);
-#endif
- /* connect signal handlers */
- g_signal_connect (obj, "selection_preview_changed",
- G_CALLBACK (selection_preview_change_cb),
- atk_object);
- g_signal_connect (obj, "date_range_changed",
- G_CALLBACK (date_range_changed_cb),
- atk_object);
- g_signal_connect (obj, "selection_preview_changed",
- G_CALLBACK (selection_changed_cb),
- atk_object);
-
- return atk_object;
-}
-
-static void
-ea_calendar_item_finalize (GObject *object)
-{
- EaCalendarItem *ea_calitem;
-
- g_return_if_fail (EA_IS_CALENDAR_ITEM (object));
-
- ea_calitem = EA_CALENDAR_ITEM (object);
-
- /* Free the allocated cell data */
- ea_calendar_item_destory_cell_data (ea_calitem);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-#ifdef ACC_DEBUG
- ++n_ea_calendar_item_destroyed;
- printf ("ACC_DEBUG: n_ea_calendar_item_destroyed = %d\n",
- n_ea_calendar_item_destroyed);
-#endif
-}
-
-static G_CONST_RETURN gchar*
-ea_calendar_item_get_name (AtkObject *accessible)
-{
- GObject *g_obj;
- ECalendarItem *calitem;
- gint start_year, start_month, start_day;
- gint end_year, end_month, end_day;
- gchar *name_str = NULL;
- gchar buffer_start[128] = "";
- gchar buffer_end[128] = "";
- struct tm day_start = { 0 };
- struct tm day_end = { 0 };
-
- g_return_val_if_fail (EA_IS_CALENDAR_ITEM (accessible), NULL);
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible));
- g_return_val_if_fail (E_IS_CALENDAR_ITEM (g_obj), NULL);
-
- calitem = E_CALENDAR_ITEM (g_obj);
- if (e_calendar_item_get_date_range (calitem,
- &start_year, &start_month, &start_day,
- &end_year, &end_month, &end_day)) {
-
- day_start.tm_year = start_year - 1900;
- day_start.tm_mon = start_month;
- day_start.tm_mday = start_day;
- day_start.tm_isdst = -1;
- e_utf8_strftime (buffer_start, sizeof (buffer_start), _("%d %B %Y"), &day_start);
-
- day_end.tm_year = end_year - 1900;
- day_end.tm_mon = end_month;
- day_end.tm_mday = end_day;
- day_end.tm_isdst = -1;
- e_utf8_strftime (buffer_end, sizeof (buffer_end), _("%d %B %Y"), &day_end);
-
- name_str = g_strdup_printf (_("Calendar: from %s to %s"), buffer_start, buffer_end);
- }
-
-#if 0
- if (e_calendar_item_get_selection (calitem, &select_start, &select_end)) {
- GDate select_start, select_end;
- gint year1, year2, month1, month2, day1, day2;
-
- year1 = g_date_get_year (&select_start);
- month1 = g_date_get_month (&select_start);
- day1 = g_date_get_day (&select_start);
-
- year2 = g_date_get_year (&select_end);
- month2 = g_date_get_month (&select_end);
- day2 = g_date_get_day (&select_end);
-
- sprintf (new_name + strlen (new_name),
- " : current selection: from %d-%d-%d to %d-%d-%d.",
- year1, month1, day1,
- year2, month2, day2);
- }
-#endif
-
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name_str);
- g_free (name_str);
-
- return accessible->name;
-}
-
-static G_CONST_RETURN gchar*
-ea_calendar_item_get_description (AtkObject *accessible)
-{
- if (accessible->description)
- return accessible->description;
-
- return _("evolution calendar item");
-}
-
-static AtkStateSet*
-ea_calendar_item_ref_state_set (AtkObject *accessible)
-{
- AtkStateSet *state_set;
- GObject *g_obj;
-
- state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible));
- if (!g_obj)
- return state_set;
-
- atk_state_set_add_state (state_set, ATK_STATE_ENABLED);
- atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE);
-
- return state_set;
-}
-
-static gint
-ea_calendar_item_get_n_children (AtkObject *accessible)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- gint n_children = 0;
- gint start_year, start_month, start_day;
- gint end_year, end_month, end_day;
- GDate *start_date, *end_date;
-
- g_return_val_if_fail (EA_IS_CALENDAR_ITEM (accessible), -1);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- if (!e_calendar_item_get_date_range (calitem, &start_year,
- &start_month, &start_day,
- &end_year, &end_month,
- &end_day))
- return 0;
-
- start_date = g_date_new_dmy (start_day, start_month + 1, start_year);
- end_date = g_date_new_dmy (end_day, end_month + 1, end_year);
-
- n_children = g_date_days_between (start_date, end_date) + 1;
- g_free (start_date);
- g_free (end_date);
- return n_children;
-}
-
-static AtkObject *
-ea_calendar_item_ref_child (AtkObject *accessible, gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- gint n_children;
- ECalendarCell *cell;
- EaCellTable *cell_data;
- EaCalendarItem *ea_calitem;
-
- g_return_val_if_fail (EA_IS_CALENDAR_ITEM (accessible), NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (accessible);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- calitem = E_CALENDAR_ITEM (g_obj);
-
- n_children = ea_calendar_item_get_n_children (accessible);
- if (index < 0 || index >= n_children)
- return NULL;
-
- ea_calitem = EA_CALENDAR_ITEM (accessible);
- cell_data = ea_calendar_item_get_cell_data (ea_calitem);
- if (!cell_data)
- return NULL;
-
- cell = ea_cell_table_get_cell_at_index (cell_data, index);
- if (!cell) {
- cell = e_calendar_cell_new (calitem,
- index / EA_CALENDAR_COLUMN_NUM,
- index % EA_CALENDAR_COLUMN_NUM);
- ea_cell_table_set_cell_at_index (cell_data, index, cell);
- g_object_unref (cell);
- }
-
-#ifdef ACC_DEBUG
- g_print ("AccDebug: ea_calendar_item children[%d]=%p\n", index,
- (gpointer)cell);
-#endif
- return g_object_ref (atk_gobject_accessible_for_object (G_OBJECT(cell)));
-}
-
-/* atk table interface */
-
-static void
-atk_table_interface_init (AtkTableIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->ref_at = table_interface_ref_at;
-
- iface->get_n_rows = table_interface_get_n_rows;
- iface->get_n_columns = table_interface_get_n_columns;
- iface->get_index_at = table_interface_get_index_at;
- iface->get_column_at_index = table_interface_get_column_at_index;
- iface->get_row_at_index = table_interface_get_row_at_index;
- iface->get_column_extent_at = table_interface_get_column_extent_at;
- iface->get_row_extent_at = table_interface_get_row_extent_at;
-
- iface->is_selected = table_interface_is_selected;
- iface->get_selected_rows = table_interface_get_selected_rows;
- iface->get_selected_columns = table_interface_get_selected_columns;
- iface->is_row_selected = table_interface_is_row_selected;
- iface->is_column_selected = table_interface_is_column_selected;
- iface->add_row_selection = table_interface_add_row_selection;
- iface->remove_row_selection = table_interface_remove_row_selection;
- iface->add_column_selection = table_interface_add_column_selection;
- iface->remove_column_selection = table_interface_remove_column_selection;
-
- iface->get_row_header = table_interface_get_row_header;
- iface->get_column_header = table_interface_get_column_header;
- iface->get_caption = table_interface_get_caption;
- iface->get_summary = table_interface_get_summary;
- iface->get_row_description = table_interface_get_row_description;
- iface->get_column_description = table_interface_get_column_description;
-}
-
-static AtkObject*
-table_interface_ref_at (AtkTable *table,
- gint row,
- gint column)
-{
- gint index;
-
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
- index = EA_CALENDAR_COLUMN_NUM * row + column;
- return ea_calendar_item_ref_child (ATK_OBJECT (ea_calitem), index);
-}
-
-static gint
-table_interface_get_n_rows (AtkTable *table)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
- gint n_children;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- n_children = ea_calendar_item_get_n_children (ATK_OBJECT (ea_calitem));
- return (n_children - 1) / EA_CALENDAR_COLUMN_NUM + 1;
-}
-
-static gint
-table_interface_get_n_columns (AtkTable *table)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- return EA_CALENDAR_COLUMN_NUM;
-}
-
-static gint
-table_interface_get_index_at (AtkTable *table,
- gint row,
- gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- return row * EA_CALENDAR_COLUMN_NUM + column;
-}
-
-static gint
-table_interface_get_column_at_index (AtkTable *table,
- gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
- gint n_children;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- n_children = ea_calendar_item_get_n_children (ATK_OBJECT (ea_calitem));
- if (index >= 0 && index < n_children)
- return index % EA_CALENDAR_COLUMN_NUM;
- return -1;
-}
-
-static gint
-table_interface_get_row_at_index (AtkTable *table,
- gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
- gint n_children;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return -1;
-
- n_children = ea_calendar_item_get_n_children (ATK_OBJECT (ea_calitem));
- if (index >= 0 && index < n_children)
- return index / EA_CALENDAR_COLUMN_NUM;
- return -1;
-}
-
-static gint
-table_interface_get_column_extent_at (AtkTable *table,
- gint row,
- gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- return calitem->cell_width;
-}
-
-static gint
-table_interface_get_row_extent_at (AtkTable *table,
- gint row, gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- return calitem->cell_height;
-}
-
-/* any day in the row is selected, the row is selected */
-static gboolean
-table_interface_is_row_selected (AtkTable *table,
- gint row)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- gint n_rows;
- ECalendarItem *calitem;
- gint row_index_start, row_index_end;
- gint sel_index_start, sel_index_end;
-
- GDate start_date, end_date;
-
- g_return_val_if_fail (EA_IS_CALENDAR_ITEM (table), FALSE);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (table);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- n_rows = table_interface_get_n_rows (table);
- if (row < 0 || row >= n_rows)
- return FALSE;
-
- row_index_start = row * EA_CALENDAR_COLUMN_NUM;
- row_index_end = row_index_start + EA_CALENDAR_COLUMN_NUM - 1;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- e_calendar_item_get_selection (calitem, &start_date, &end_date);
-
- e_calendar_item_get_offset_for_date (calitem,
- g_date_get_year (&start_date),
- g_date_get_month (&start_date),
- g_date_get_day (&start_date),
- &sel_index_start);
- e_calendar_item_get_offset_for_date (calitem,
- g_date_get_year (&end_date),
- g_date_get_month (&end_date),
- g_date_get_day (&end_date),
- &sel_index_end);
-
- if ((sel_index_start < row_index_start &&
- sel_index_end >= row_index_start) ||
- (sel_index_start >= row_index_start &&
- sel_index_start <= row_index_end))
- return TRUE;
- return FALSE;
-}
-
-static gboolean
-table_interface_is_selected (AtkTable *table,
- gint row,
- gint column)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- gint n_rows, n_columns;
- ECalendarItem *calitem;
- gint index;
- gint sel_index_start, sel_index_end;
-
- GDate start_date, end_date;
-
- g_return_val_if_fail (EA_IS_CALENDAR_ITEM (table), FALSE);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (table);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- n_rows = table_interface_get_n_rows (table);
- if (row < 0 || row >= n_rows)
- return FALSE;
- n_columns = table_interface_get_n_columns (table);
- if (column < 0 || column >= n_columns)
- return FALSE;
-
- index = table_interface_get_index_at (table, row, column);
-
- calitem = E_CALENDAR_ITEM (g_obj);
- e_calendar_item_get_selection (calitem, &start_date, &end_date);
-
- e_calendar_item_get_offset_for_date (calitem,
- g_date_get_year (&start_date),
- g_date_get_month (&start_date),
- g_date_get_day (&start_date),
- &sel_index_start);
- e_calendar_item_get_offset_for_date (calitem,
- g_date_get_year (&end_date),
- g_date_get_month (&end_date),
- g_date_get_day (&end_date), &sel_index_end);
-
- if (sel_index_start <= index && sel_index_end >= index)
- return TRUE;
- return FALSE;
-}
-
-static gboolean
-table_interface_is_column_selected (AtkTable *table,
- gint column)
-{
- return FALSE;
-}
-
-static gint
-table_interface_get_selected_rows (AtkTable *table,
- gint **rows_selected)
-{
- *rows_selected = NULL;
- return -1;
-}
-
-static gint
-table_interface_get_selected_columns (AtkTable *table,
- gint **columns_selected)
-{
- *columns_selected = NULL;
- return -1;
-}
-
-static gboolean
-table_interface_add_row_selection (AtkTable *table,
- gint row)
-{
- return FALSE;
-}
-
-static gboolean
-table_interface_remove_row_selection (AtkTable *table,
- gint row)
-{
- return FALSE;
-}
-
-static gboolean
-table_interface_add_column_selection (AtkTable *table,
- gint column)
-{
- return FALSE;
-}
-
-static gboolean
-table_interface_remove_column_selection (AtkTable *table,
- gint column)
-{
- /* FIXME: NOT IMPLEMENTED */
- return FALSE;
-}
-
-static AtkObject*
-table_interface_get_row_header (AtkTable *table,
- gint row)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static AtkObject*
-table_interface_get_column_header (AtkTable *table,
- gint in_col)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static AtkObject*
-table_interface_get_caption (AtkTable *table)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-static G_CONST_RETURN gchar*
-table_interface_get_column_description (AtkTable *table, gint in_col)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
- const gchar *description = NULL;
- EaCellTable *cell_data;
- gint n_columns;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- n_columns = table_interface_get_n_columns (table);
- if (in_col < 0 || in_col >= n_columns)
- return NULL;
- cell_data = ea_calendar_item_get_cell_data (ea_calitem);
- if (!cell_data)
- return NULL;
-
- description = ea_cell_table_get_column_label (cell_data, in_col);
- if (!description) {
- gchar buffer[128] = "column description";
- ea_calendar_item_get_column_label (ea_calitem, in_col,
- buffer, sizeof (buffer));
- ea_cell_table_set_column_label (cell_data, in_col, buffer);
- description = ea_cell_table_get_column_label (cell_data,
- in_col);
- }
- return description;
-}
-
-static G_CONST_RETURN gchar*
-table_interface_get_row_description (AtkTable *table, gint row)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (table);
- const gchar *description = NULL;
- EaCellTable *cell_data;
- gint n_rows;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- n_rows = table_interface_get_n_rows (table);
- if (row < 0 || row >= n_rows)
- return NULL;
- cell_data = ea_calendar_item_get_cell_data (ea_calitem);
- if (!cell_data)
- return NULL;
-
- description = ea_cell_table_get_row_label (cell_data, row);
- if (!description) {
- gchar buffer[128] = "row description";
- ea_calendar_item_get_row_label (ea_calitem, row,
- buffer, sizeof (buffer));
- ea_cell_table_set_row_label (cell_data, row, buffer);
- description = ea_cell_table_get_row_label (cell_data,
- row);
- }
- return description;
-}
-
-static AtkObject*
-table_interface_get_summary (AtkTable *table)
-{
- /* FIXME: NOT IMPLEMENTED */
- return NULL;
-}
-
-/* atkselection interface */
-
-static void
-atk_selection_interface_init (AtkSelectionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->add_selection = selection_interface_add_selection;
- iface->clear_selection = selection_interface_clear_selection;
- iface->ref_selection = selection_interface_ref_selection;
- iface->get_selection_count = selection_interface_get_selection_count;
- iface->is_child_selected = selection_interface_is_child_selected;
-}
-
-static gboolean
-selection_interface_add_selection (AtkSelection *selection, gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (selection);
- gint year, month, day;
- GDate start_date, end_date;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- if (!e_calendar_item_get_date_for_offset (calitem, index,
- &year, &month, &day))
- return FALSE;
-
- /* FIXME: not support mulit-selection */
- g_date_set_dmy (&start_date, day, month + 1, year);
- end_date = start_date;
- e_calendar_item_set_selection (calitem, &start_date, &end_date);
- return TRUE;
-}
-
-static gboolean
-selection_interface_clear_selection (AtkSelection *selection)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (selection);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- e_calendar_item_set_selection (calitem, NULL, NULL);
-
- return TRUE;
-}
-
-static AtkObject*
-selection_interface_ref_selection (AtkSelection *selection, gint i)
-{
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (selection);
- gint count, sel_offset;
- GDate start_date, end_date;
-
- count = selection_interface_get_selection_count (selection);
- if (i < 0 || i >= count)
- return NULL;
-
- g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (ea_calitem));
-
- calitem = E_CALENDAR_ITEM (g_obj);
- e_calendar_item_get_selection (calitem, &start_date, &end_date);
- if (!e_calendar_item_get_offset_for_date (calitem,
- g_date_get_year (&start_date),
- g_date_get_month (&start_date) - 1,
- g_date_get_day (&start_date),
- &sel_offset))
- return NULL;
-
- return ea_calendar_item_ref_child (ATK_OBJECT (selection), sel_offset + i);
-}
-
-static gint
-selection_interface_get_selection_count (AtkSelection *selection)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (selection);
- GDate start_date, end_date;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return 0;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- e_calendar_item_get_selection (calitem, &start_date, &end_date);
-
- return g_date_days_between (&start_date, &end_date) + 1;
-}
-
-static gboolean
-selection_interface_is_child_selected (AtkSelection *selection, gint index)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCalendarItem* ea_calitem = EA_CALENDAR_ITEM (selection);
- gint row, column, n_children;
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- n_children = atk_object_get_n_accessible_children (ATK_OBJECT (selection));
- if (index < 0 || index >= n_children)
- return FALSE;
-
- row = index / EA_CALENDAR_COLUMN_NUM;
- column = index % EA_CALENDAR_COLUMN_NUM;
-
- return table_interface_is_selected (ATK_TABLE (selection), row, column);
-}
-
-/* callbacks */
-
-static void
-selection_preview_change_cb (ECalendarItem *calitem)
-{
- AtkObject *atk_obj;
- AtkObject *item_cell = NULL;
-
- g_return_if_fail (E_IS_CALENDAR_ITEM (calitem));
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (calitem));
-
- /* only deal with the first selected child, for now */
- item_cell = atk_selection_ref_selection (ATK_SELECTION (atk_obj),
- 0);
- if (item_cell) {
- AtkStateSet *state_set;
- state_set = atk_object_ref_state_set (item_cell);
- atk_state_set_add_state (state_set, ATK_STATE_FOCUSED);
- g_object_unref (state_set);
- }
- g_signal_emit_by_name (atk_obj,
- "active-descendant-changed",
- item_cell);
- g_signal_emit_by_name (atk_obj, "selection_changed");
-}
-
-static void
-date_range_changed_cb (ECalendarItem *calitem)
-{
- AtkObject *atk_obj;
-
- g_return_if_fail (E_IS_CALENDAR_ITEM (calitem));
- atk_obj = atk_gobject_accessible_for_object (G_OBJECT (calitem));
- ea_calendar_item_destory_cell_data (EA_CALENDAR_ITEM (atk_obj));
-
- g_signal_emit_by_name (atk_obj, "model_changed");
-}
-
-static void
-selection_changed_cb (ECalendarItem *calitem)
-{
- selection_preview_change_cb (calitem);
-}
-
-/* helpers */
-
-static EaCellTable *
-ea_calendar_item_get_cell_data (EaCalendarItem *ea_calitem)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- EaCellTable *cell_data;
-
- g_return_val_if_fail (ea_calitem, NULL);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return NULL;
-
- calitem = E_CALENDAR_ITEM (g_obj);
-
- cell_data = g_object_get_data (G_OBJECT(ea_calitem),
- "ea-calendar-cell-table");
-
- if (!cell_data) {
- gint n_cells = ea_calendar_item_get_n_children (ATK_OBJECT(ea_calitem));
- cell_data = ea_cell_table_create (n_cells/EA_CALENDAR_COLUMN_NUM,
- EA_CALENDAR_COLUMN_NUM,
- FALSE);
- g_object_set_data (G_OBJECT(ea_calitem),
- "ea-calendar-cell-table", cell_data);
- }
- return cell_data;
-}
-
-static void
-ea_calendar_item_destory_cell_data (EaCalendarItem *ea_calitem)
-{
- EaCellTable *cell_data;
-
- g_return_if_fail (ea_calitem);
-
- cell_data = g_object_get_data (G_OBJECT(ea_calitem),
- "ea-calendar-cell-table");
- if (cell_data) {
- g_object_set_data (G_OBJECT(ea_calitem),
- "ea-calendar-cell-table", NULL);
- ea_cell_table_destroy (cell_data);
- }
-}
-
-static gboolean
-ea_calendar_item_get_row_label (EaCalendarItem *ea_calitem, gint row,
- gchar *buffer, gint buffer_size)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- gint index, week_num;
- gint year, month, day;
-
- g_return_val_if_fail (ea_calitem, FALSE);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- calitem = E_CALENDAR_ITEM (g_obj);
-
- index = atk_table_get_index_at (ATK_TABLE (ea_calitem), row, 0);
- if (!e_calendar_item_get_date_for_offset (calitem, index,
- &year, &month, &day))
- return FALSE;
-
- week_num = e_calendar_item_get_week_number (calitem,
- day, month, year);
-
- g_snprintf (buffer, buffer_size, "week number : %d", week_num);
- return TRUE;
-}
-
-static gboolean
-ea_calendar_item_get_column_label (EaCalendarItem *ea_calitem, gint column,
- gchar *buffer, gint buffer_size)
-{
- AtkGObjectAccessible *atk_gobj;
- GObject *g_obj;
- ECalendarItem *calitem;
- gchar *week_char;
- gint char_size;
-
- g_return_val_if_fail (ea_calitem, FALSE);
-
- atk_gobj = ATK_GOBJECT_ACCESSIBLE (ea_calitem);
- g_obj = atk_gobject_accessible_get_object (atk_gobj);
- if (!g_obj)
- return FALSE;
-
- calitem = E_CALENDAR_ITEM (g_obj);
- week_char = g_utf8_offset_to_pointer (calitem->days, column);
- char_size = strlen (calitem->days) -
- strlen (g_utf8_find_next_char (calitem->days, NULL));
-
- if (week_char && char_size < buffer_size) {
- memcpy (buffer, week_char, char_size);
- buffer[char_size] = '\0';
- return TRUE;
- }
- return FALSE;
-}
-
-/* the coordinate the e-calendar canvas coord */
-gboolean
-e_calendar_item_get_day_extents (ECalendarItem *calitem,
- gint year, gint month, gint date,
- gint *x, gint *y,
- gint *width, gint *height)
-{
- GnomeCanvasItem *item;
- GtkWidget *widget;
- GtkStyle *style;
- PangoFontDescription *font_desc;
- PangoContext *pango_context;
- PangoFontMetrics *font_metrics;
- gint char_height, xthickness, ythickness, text_y;
- gint new_year, new_month, num_months, months_offset;
- gint month_x, month_y, month_cell_x, month_cell_y;
- gint month_row, month_col;
- gint day_row, day_col;
- gint days_from_week_start;
-
- g_return_val_if_fail (E_IS_CALENDAR_ITEM (calitem), FALSE);
-
- item = GNOME_CANVAS_ITEM (calitem);
- widget = GTK_WIDGET (item->canvas);
- style = widget->style;
-
- /* Set up Pango prerequisites */
- font_desc = calitem->font_desc;
- if (!font_desc)
- font_desc = style->font_desc;
- pango_context = gtk_widget_get_pango_context (widget);
- font_metrics = pango_context_get_metrics (pango_context, font_desc,
- pango_context_get_language (pango_context));
-
- char_height =
- PANGO_PIXELS (pango_font_metrics_get_ascent (font_metrics)) +
- PANGO_PIXELS (pango_font_metrics_get_descent (font_metrics));
-
- xthickness = style->xthickness;
- ythickness = style->ythickness;
-
- new_year = year;
- new_month = month;
- e_calendar_item_normalize_date (calitem, &new_year, &new_month);
- num_months = calitem->rows * calitem->cols;
- months_offset = (new_year - calitem->year) * 12
- + new_month - calitem->month;
-
- if (months_offset > num_months || months_offset < 0)
- return FALSE;
-
- month_row = months_offset / calitem->cols;
- month_col = months_offset % calitem->cols;
-
- month_x = item->x1 + xthickness + calitem->x_offset
- + month_col * calitem->month_width;
- month_y = item->y1 + ythickness + month_row * calitem->month_height;
-
- month_cell_x = month_x + E_CALENDAR_ITEM_XPAD_BEFORE_WEEK_NUMBERS
- + calitem->month_lpad + E_CALENDAR_ITEM_XPAD_BEFORE_CELLS;
- text_y = month_y + ythickness * 2
- + E_CALENDAR_ITEM_YPAD_ABOVE_MONTH_NAME
- + char_height + E_CALENDAR_ITEM_YPAD_BELOW_MONTH_NAME
- + E_CALENDAR_ITEM_YPAD_ABOVE_DAY_LETTERS + calitem->month_tpad;
-
- month_cell_y = text_y + char_height
- + E_CALENDAR_ITEM_YPAD_BELOW_DAY_LETTERS + 1
- + E_CALENDAR_ITEM_YPAD_ABOVE_CELLS;
-
- days_from_week_start =
- e_calendar_item_get_n_days_from_week_start (calitem, new_year,
- new_month);
- day_row = (date + days_from_week_start - 1) / EA_CALENDAR_COLUMN_NUM;
- day_col = (date + days_from_week_start - 1) % EA_CALENDAR_COLUMN_NUM;
-
- *x = month_cell_x + day_col * calitem->cell_width;
- *y = month_cell_y + day_row * calitem->cell_height;
- *width = calitem->cell_width;
- *height = calitem->cell_height;
-
- return TRUE;
-}
-
-/* month is from 0 to 11 */
-gboolean
-e_calendar_item_get_date_for_offset (ECalendarItem *calitem, gint day_offset,
- gint *year, gint *month, gint *day)
-{
- gint start_year, start_month, start_day;
- gint end_year, end_month, end_day;
- GDate *start_date;
-
- g_return_val_if_fail (E_IS_CALENDAR_ITEM (calitem), FALSE);
-
- if (!e_calendar_item_get_date_range (calitem, &start_year,
- &start_month, &start_day,
- &end_year, &end_month,
- &end_day))
- return FALSE;
-
- start_date = g_date_new_dmy (start_day, start_month + 1, start_year);
-
- g_date_add_days (start_date, day_offset);
-
- *year = g_date_get_year (start_date);
- *month = g_date_get_month (start_date) - 1;
- *day = g_date_get_day (start_date);
-
- return TRUE;
-}
-
-/* the arg month is from 0 to 11 */
-static gboolean
-e_calendar_item_get_offset_for_date (ECalendarItem *calitem,
- gint year, gint month, gint day,
- gint *offset)
-{
- gint start_year, start_month, start_day;
- gint end_year, end_month, end_day;
- GDate *start_date, *end_date;
-
- *offset = 0;
- g_return_val_if_fail (E_IS_CALENDAR_ITEM (calitem), FALSE);
-
- if (!e_calendar_item_get_date_range (calitem, &start_year,
- &start_month, &start_day,
- &end_year, &end_month,
- &end_day))
- return FALSE;
-
- start_date = g_date_new_dmy (start_day, start_month + 1, start_year);
- end_date = g_date_new_dmy (day, month + 1, year);
-
- *offset = g_date_days_between (start_date, end_date);
- g_free (start_date);
- g_free (end_date);
-
- return TRUE;
-}
-
-gint
-e_calendar_item_get_n_days_from_week_start (ECalendarItem *calitem,
- gint year, gint month)
-{
- struct tm tmp_tm;
- gint start_weekday, days_from_week_start;
-
- memset (&tmp_tm, 0, sizeof (tmp_tm));
- tmp_tm.tm_year = year - 1900;
- tmp_tm.tm_mon = month;
- tmp_tm.tm_mday = 1;
- tmp_tm.tm_isdst = -1;
- mktime (&tmp_tm);
- start_weekday = (tmp_tm.tm_wday + 6) % 7; /* 0 to 6 */
- days_from_week_start = (start_weekday + 7 - calitem->week_start_day)
- % 7;
- return days_from_week_start;
-}
diff --git a/a11y/widgets/ea-calendar-item.h b/a11y/widgets/ea-calendar-item.h
deleted file mode 100644
index 5ba0c2b274..0000000000
--- a/a11y/widgets/ea-calendar-item.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-calendar-item.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#ifndef __EA_CALENDAR_ITEM_H__
-#define __EA_CALENDAR_ITEM_H__
-
-#include <atk/atkgobjectaccessible.h>
-#include <misc/e-calendar-item.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define EA_TYPE_CALENDAR_ITEM (ea_calendar_item_get_type ())
-#define EA_CALENDAR_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_CALENDAR_ITEM, EaCalendarItem))
-#define EA_CALENDAR_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_CALENDAR_ITEM, EaCalendarItemClass))
-#define EA_IS_CALENDAR_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_CALENDAR_ITEM))
-#define EA_IS_CALENDAR_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_CALENDAR_ITEM))
-#define EA_CALENDAR_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EA_TYPE_CALENDAR_ITEM, EaCalendarItemClass))
-
-typedef struct _EaCalendarItem EaCalendarItem;
-typedef struct _EaCalendarItemClass EaCalendarItemClass;
-
-struct _EaCalendarItem
-{
- AtkGObjectAccessible parent;
-};
-
-GType ea_calendar_item_get_type (void);
-
-struct _EaCalendarItemClass
-{
- AtkGObjectAccessibleClass parent_class;
-};
-
-AtkObject *ea_calendar_item_new (GObject *obj);
-gboolean e_calendar_item_get_day_extents (ECalendarItem *calitem,
- gint year, gint month, gint date,
- gint *x, gint *y,
- gint *width, gint *height);
-gboolean e_calendar_item_get_date_for_offset (ECalendarItem *calitem,
- gint day_offset,
- gint *year, gint *month,
- gint *day);
-gint e_calendar_item_get_n_days_from_week_start (ECalendarItem *calitem,
- gint year, gint month);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __EA_CALENDAR_ITEM_H__ */
diff --git a/a11y/widgets/ea-combo-button.c b/a11y/widgets/ea-combo-button.c
deleted file mode 100644
index aad60c3023..0000000000
--- a/a11y/widgets/ea-combo-button.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Authors: Harry Lu <harry.lu@sun.com>
- *
- * Copyright (C) 2004 Ximian, Inc.
- */
-
-#include <config.h>
-#include "ea-combo-button.h"
-#include <gtk/gtkbutton.h>
-#include <gtk/gtklabel.h>
-#include <glib/gi18n.h>
-
-static AtkObjectClass *parent_class;
-static GType parent_type;
-
-/*Action IDs */
-enum {
- ACTIVATE_DEFAULT,
- POPUP_MENU,
- LAST_ACTION
-};
-
-/* Static functions */
-static G_CONST_RETURN gchar*
-ea_combo_button_get_name (AtkObject *a11y)
-{
- GtkWidget *widget;
- GtkWidget *label;
- EComboButton *button;
-
- widget = GTK_ACCESSIBLE (a11y)->widget;
- if (!widget)
- return NULL;
-
- button = E_COMBO_BUTTON (widget);
- label = e_combo_button_get_label (button);
- if (label)
- return gtk_label_get_text (GTK_LABEL (label));
-
- return _("Combo Button");
-}
-
-/* Action interface */
-static G_CONST_RETURN gchar *
-ea_combo_button_action_get_name (AtkAction *action, gint i)
-{
- switch (i)
- {
- case ACTIVATE_DEFAULT:
- return _("Activate Default");
- case POPUP_MENU:
- return _("Popup Menu");
- default:
- return NULL;
- }
-}
-
-static gboolean
-ea_combo_button_do_action (AtkAction *action,
- gint i)
-{
- GtkWidget *widget;
- EComboButton *button;
-
- widget = GTK_ACCESSIBLE (action)->widget;
- if (!widget || !GTK_WIDGET_IS_SENSITIVE (widget) || !GTK_WIDGET_VISIBLE (widget))
- return FALSE;
-
- button = E_COMBO_BUTTON (widget);
-
- switch (i)
- {
- case ACTIVATE_DEFAULT:
- g_signal_emit_by_name (button, "activate_default");
- return TRUE;
- case POPUP_MENU:
- return e_combo_button_popup_menu (button);
- default:
- return FALSE;
- }
-}
-
-static gint
-ea_combo_button_get_n_actions (AtkAction *action)
-{
- return LAST_ACTION;
-}
-
-static void
-atk_action_interface_init (AtkActionIface *iface)
-{
- g_return_if_fail (iface != NULL);
-
- iface->do_action = ea_combo_button_do_action;
- iface->get_n_actions = ea_combo_button_get_n_actions;
- iface->get_name = ea_combo_button_action_get_name;
-}
-
-static void
-ea_combo_button_class_init (EaComboButtonClass *klass)
-{
- AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
-
- parent_class = g_type_class_ref (parent_type);
-
- atk_object_class->get_name = ea_combo_button_get_name;
-}
-
-static void
-ea_combo_button_init (EaComboButton *a11y)
-{
- /* Empty for now */
-}
-
-GType
-ea_combo_button_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- AtkObjectFactory *factory;
- GTypeQuery query;
-
- GTypeInfo info = {
- sizeof (EaComboButtonClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) ea_combo_button_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (EaComboButton),
- 0,
- (GInstanceInitFunc) ea_combo_button_init,
- NULL /* value_tree */
- };
-
- static const GInterfaceInfo atk_action_info = {
- (GInterfaceInitFunc) atk_action_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL
- };
-
- factory = atk_registry_get_factory (atk_get_default_registry (), GTK_TYPE_BUTTON);
- parent_type = atk_object_factory_get_accessible_type (factory);
- g_type_query (parent_type, &query);
-
- info.class_size = query.class_size;
- info.instance_size = query.instance_size;
-
- type = g_type_register_static (parent_type, "EaComboButton", &info, 0);
- g_type_add_interface_static (type, ATK_TYPE_ACTION,
- &atk_action_info);
-
- }
-
- return type;
-}
-
-AtkObject *
-ea_combo_button_new (GtkWidget *widget)
-{
- EaComboButton *a11y;
-
- a11y = g_object_new (ea_combo_button_get_type (), NULL);
-
- GTK_ACCESSIBLE (a11y)->widget = GTK_WIDGET (widget);
- ATK_OBJECT (a11y)->role = ATK_ROLE_PUSH_BUTTON;
-
- return ATK_OBJECT (a11y);
-}
diff --git a/a11y/widgets/ea-combo-button.h b/a11y/widgets/ea-combo-button.h
deleted file mode 100644
index 8f4c279cba..0000000000
--- a/a11y/widgets/ea-combo-button.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Authors: Harry Lu <harry.lu@sun.com>
- *
- * Copyright (C) 2004 Ximian, Inc.
- */
-
-#ifndef __EA_COMBO_BUTTON_H_
-#define __EA_COMBO_BUTTON_H_
-
-#include <gtk/gtkaccessible.h>
-#include <misc/e-combo-button.h>
-
-#define EA_TYPE_COMBO_BUTTON (ea_combo_button_get_type ())
-#define EA_COMBO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_COMBO_BUTTON, EaComboButton))
-#define EA_COMBO_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EA_TYPE_COMBO_BUTTON, EaComboButtonClass))
-#define EA_IS_COMBO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EA_TYPE_COMBO_BUTTON))
-#define EA_IS_COMBO_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EA_TYPE_COMBO_BUTTON))
-
-typedef struct _EaComboButton EaComboButton;
-typedef struct _EaComboButtonClass EaComboButtonClass;
-
-struct _EaComboButton {
- GtkAccessible object;
-};
-
-struct _EaComboButtonClass {
- GtkAccessibleClass parent_class;
-};
-
-
-/* Standard Glib function */
-GType ea_combo_button_get_type (void);
-AtkObject *ea_combo_button_new (GtkWidget *combo_button);
-
-#endif /* ! __EA_COMBO_BUTTON_H_ */
diff --git a/a11y/widgets/ea-widgets.c b/a11y/widgets/ea-widgets.c
deleted file mode 100644
index feef6d1ef3..0000000000
--- a/a11y/widgets/ea-widgets.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-widgets.c
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-#include "ea-factory.h"
-#include "widgets/ea-calendar-item.h"
-#include "widgets/ea-combo-button.h"
-#include "ea-widgets.h"
-
-EA_FACTORY_GOBJECT (EA_TYPE_CALENDAR_ITEM, ea_calendar_item, ea_calendar_item_new);
-EA_FACTORY (EA_TYPE_COMBO_BUTTON, ea_combo_button, ea_combo_button_new);
-
-void e_calendar_item_a11y_init (void)
-{
- EA_SET_FACTORY (e_calendar_item_get_type (), ea_calendar_item);
-}
-
-void e_combo_button_a11y_init (void)
-{
- EA_SET_FACTORY (e_combo_button_get_type (), ea_combo_button);
-}
diff --git a/a11y/widgets/ea-widgets.h b/a11y/widgets/ea-widgets.h
deleted file mode 100644
index fc8e7f1b90..0000000000
--- a/a11y/widgets/ea-widgets.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* vim:expandtab:shiftwidth=8:tabstop=8:
- */
-/* Evolution Accessibility: ea-widgets.h
- *
- * Copyright (C) 2003 Ximian, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program 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
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Bolian Yin <bolian.yin@sun.com> Sun Microsystem Inc., 2003
- *
- */
-
-/* Evolution Accessibility
-*/
-
-#ifndef _EA_WIDGETS_H__
-#define _EA_WIDGETS_H__
-
-void e_calendar_item_a11y_init (void);
-void e_combo_button_a11y_init (void);
-
-#endif /* _EA_WIDGETS_H__ */