1 2005-11-17 Michael Meeks <michael.meeks@novell.com>
3 * atk-bridge/bridge.c (spi_atk_emit_eventv):
4 urgh-fix embarassing typo.
6 2005-11-16 Michael Meeks <michael.meeks@novell.com>
8 * atk-bridge/bridge.c (spi_atk_emit_eventv):
9 do a faster, less problematic _unref call on this local
10 object, rather than a slower (potentially cross-thread
11 complicated) CORBA call.
13 2005-11-02 Kjartan Maraas <kmaraas@gnome.org>
15 * atk-bridge/bridge.c: (spi_atk_bridge_signal_listener):
16 * cspi/spi_streamablecontent.c: (AccessibleStreamableContent_seek):
17 * registryd/deviceeventcontroller.c:
18 (spi_controller_notify_mouselisteners),
19 (impl_generate_keyboard_event):
20 * test/screen-review-test.c: (chunk_bounds_within):
21 * test/test-simple.c: (test_desktop): Remove some unused code
22 and fix compiler warnings. Closes bug #320049.
24 2005-10-27 Bill Haneman <bill.haneman@sun.com>
26 * registryd/deviceeventcontroller.c:
27 (spi_controller_notify_keylisteners): Check
28 to make sure the event listener has requested 'preemptive'
29 status before pre-empting an event.
31 2005-08-29 Bill Haneman <bill.haneman@sun.com>
33 * configure.in, README, NEWS: Release 1.6.5.
35 2005-07-25 Matthias Clasen <mclasen@redhat.com>
37 * test/window-listener-test.c: Fix a printf
38 format error. (#169453)
40 2005-07-15 Bill Haneman <bill.haneman@sun.com>
42 * tests/test-simple.c:
43 (key_listener_cb): Ensure that the keystring is dup'ed instead of
44 relying on the old string from the key event hanging around after
45 the event handler returns. Fixes broken 'make check'.
47 2005-06-06 Swapnil Hajare <dreamil@gmail.com>
49 * Added Marathi (mr_IN) translations.
51 2005-05-27 Kjartan Maraas <kmaraas@gnome.org>
53 * cspi/bonobo/cspi-bonobo-listener.c:
54 (cspi_event_list_remove_by_cb): Fix the build.
56 2005-05-26 Michael Meeks <michael.meeks@novell.com>
58 * cspi/bonobo/cspi-bonobo-listener.c
59 (cspi_event_list_remove_by_cb): actually filter by callback.
61 2005-05-25 Bill Haneman <bill.haneman@sun.com>
63 * registryd/registry.c (remove_listener_cb):
64 Make deregistration filter rules match the event emission rules.
66 2005-05-25 Michael Meeks <michael.meeks@novell.com>
68 * registryd/registry.c (remove_listener_cb),
69 (impl_accessibility_registry_deregister_global_event_listener),
70 (impl_accessibility_registry_deregister_global_event_listener_all):
71 pass a closure to the remove callback to filter listeners more
74 2005-04-05 Bill Haneman <bill.haneman@sun.com>
76 * configure.in: Revved to 1.6.4.
77 Remember to put quotes around XEVIE_LIBS assignment.
78 Fixed one of tertiary AC_CHECK_HEADER tests for XEvie.
81 * tests/event-listener-test.c: Tweaked the tests - more detail
82 from caret events, and some interrogation of AccessibleText APIs.
83 Commented-out the bounds-changed events by default, since they can
86 2005-04-14 Kjartan Maraas <kmaraas@gnome.org>
88 * atk-bridge/bridge.c: (spi_atk_emit_eventv): Plug a leak.
89 * cspi/bonobo/cspi-bonobo-listener.c: (cspi_device_event):
90 Same here. Closes bug #167806
92 2005-04-05 Bill Haneman <bill.haneman@sun.com>
94 * atk-bridge/bridge.c:
95 (spi_atk_bridge_signal_listener):
96 Free the any._value if any._release is TRUE,
97 since the ORB won't do it for us in this case
98 [because this method is not a skel].
101 2005-03-30 Steve Murphy <murf@e-tools.com>
103 * configure.in: Added "rw" to ALL_LINGUAS.
105 2005-03-29 Bill Haneman <bill.haneman@sun.com>
107 * configure.in: Improved check for HAVE_XEVIE, to detect
108 presence on XOrg, where -lXevie is a separate library.
110 2005-03-08 Bill Haneman <bill.haneman@sun.com>
112 * configure.in, NEWS, README: Revved to 1.6.3.
114 2005-02-16 Adi Attar <aattar@cvs.gnome.org>
116 * configure.in: Added "xh" to ALL_LINGUAS.
118 2005-02-07 Bill Haneman <bill.haneman@sun.com>
120 * atk-bridge/bridge.c:
121 (atk_bridge_init): Added missing NULL in g_strconcat(),
122 also check for symlink before logging to
123 insecure directory. Thanks to meissner@suse.de.
125 2005-01-25 Padraig O'Briain <padraig.obriain@sun.com>
127 * tests/login-helper-server-test.c: Add return call to main
128 function. Patch from Chris Lahey. Fixes bug #165129.
130 2004-12-20 Padraig O'Briain <padraig.obriain@sun.com>
132 * cspi/spi.h: Add description for SPI_RELATION_SUBWINDOW_OF.
134 2004-12-09 Bill Haneman <billh@gnome.org>
136 * registryd/registry-main.c:
137 Added #define <string.h> for strrchr. (bug 160862).
138 Thanks to Vincent Berger for catching.
140 2004-12-09 Padraig O'Briain <padraig.obriain@sun.com>
142 * atk-bridge/bridge.c (spi_atk_get_registry): Do not attempt to
143 restart registry process if the registry process is found to have died
144 and the current process is exiting.
145 (spi_atk_bridge_exit_func): Do not attempt to deregister the
146 application if the registry process has died.
147 (spi_atk_emit_eventv): Return if call to spi_atk_get_registry
148 does not return a registry object.
149 (spi_atk_tidy_windows): Give up if the registry process has died.
151 This fixes problems with hangs and crashes when logging out.
153 2004-12-03 Padraig O'Briain <padraig.obriain@sun.com>
155 * registryd/desktop.c: Add checking that we are not exiting before
156 calling spi_desktop_remove_application in
157 abnormal_application_termination. Fix for bug #152147.
159 2004-12-02 Bill Haneman <billh@gnome.org>
161 * configure.in, NEWS, README: Revved to 1.6.1.
163 Patch from Padraig O'Briain <padraig.obriain@sun.com>
164 * atk-bridge/bridge.c:
165 (atk_bridge_init): Save the pid when we start, to detect forks.
166 (spi_atk_bridge_exit_func): Don't call the cleanup routines
167 if we're in a forked pid.
169 2004-10-09 Bill Haneman <billh@gnome.org>
171 * idl/Accessibility_LoginHelper.idl:
172 Improved inline documentation.
174 2004-10-02 Jesus Bravo Alvarez <suso@trasno.net>
176 * configure.in: Added gl (Galician) to ALL_LINGUAS
178 2004-09-30 Kjartan Maraas <kmaraas@gnome.org>
180 * libspi/accessible.c:
181 (impl_accessibility_accessible_get_role_name),
182 (impl_accessibility_accessible_get_local_role_name):
184 * libspi/component.c:
185 (impl_accessibility_component_get_accessible_at_point):
187 * libspi/eventlistener.c: (spi_event_listener_new):
189 * libspi/stateset.c: (impl_compare): More of the same
190 * libspi/table.c: (impl_getRowDescription): Again.
191 * registryd/desktop.c: (spi_atk_desktop_get_type): Same
192 * registryd/deviceeventcontroller.c: (spi_clear_error_state),
193 (impl_generate_keyboard_event): Same.
194 * registryd/registry-main.c: (main): Same
195 * test/event-listener-test.c: (test_exit): Same
196 * test/keysynth-demo.c: (scan_state), (create_vkbd): Same
197 * test/keysynth-test.c: (test_key_synthesis): Same
198 * test/login-helper-server-test.c: (main): Fix warning.
199 * test/screen-review-test.c: (test_exit): Fix include.
200 * test/simple-at.c: (simple_at_exit), (_festival_init):
203 2004-09-13 Padraig O'Briain <padraig.vriain@sun.com>
205 * configure.in, NEWS, README: Revved to 1.6.0.
207 2004-09-12 Bill Haneman <bill.haneman@sun.com>
209 * configure.in: Rev and re-dist, since the 1.5.4 tarball
210 was missing the HTML docs.
212 2004-09-12 Tomasz Kłoczko <kloczek@pld.org.pl>
214 * configure.in: only cleanups:
215 - better looking PKG_CHECK_MODULES() output,
217 - declare in one common place required versions of other tools using
220 2004-09-11 J.H.M. Dassen (Ray) <jdassen@debian.org>
222 * configure.in: libspi/accessible.c uses ATK_ROLE_EMBEDDED
223 (unconditionally) which was introduced in ATK 1.7.2. Bumped the
224 required ATK version accordingly.
226 2004-09-03 Bill Haneman <bill.haneman@sun.com>
228 * cspi/bonobo/cspi-bonobo.c:
229 (cspi_display_name): Fix C99ism.
230 * atk-bridge/bridge.c:
231 (spi_display_name): Fix C99ism.
232 Patch from Jens Granseuer, jensgr@gmx.net.
234 2004-09-03 Gora Mohanty <gmohanty@cvs.gnome.org>
236 * configure.in: Added "or" to ALL_LINGUAS.
238 2004-08-20 Bill Haneman <bill.haneman@sun.com>
240 * configure.in, NEWS, README: Revved to 1.5.4.
242 * registryd/registry-main.c:
243 (main): Set the reg_env to use AT_SPI_DISPLAY instead of
246 * cspi/bonobo/cspi-bonobo.c:
247 (cspi_display_name): New convenience method, gets DISPLAY with
248 screen number stripped, if AT_SPI_DISPLAY isn't already set.
249 (cspi_init): Set the activation env value above before getting
252 * atk-bridge/bridge.c:
253 (spi_display_name): Create the AT_SPI_DISPLAY activation
254 environment for an app, based on the DISPLAY environment with the
255 screen number stripped off.
256 (atk_bridge_init): Allow redirection of error messages to a log.
257 (spi_atk_bridge_get_registry): Call
258 bonobo_activation_set_activation_env_value for AT_SPI_DISPLAY.
260 Fixes for bugs #149962, #136986, #144086.
262 2004-08-16 Christian Rose <menthos@menthos.com>
264 * configure.in: Added "bs" to ALL_LINGUAS.
266 2004-08-12 Kjartan Maraas <kmaraas@gnome.org>
268 * configure.in: Added nb to ALL_LINGUAS.
270 2004-09-03 Bill Haneman <bill.haneman@sun.com>
273 (SPI_init): Return error code '2' if the activated
274 registry cannot be pinged. Fixes bug #147648.
276 2004-07-28 Bill Haneman <bill.haneman@sun.com>
278 * registryd/deviceeventcontroller.c:
279 (spi_dec_init_mouse_listener): Don't do XGrabButton,
280 rely on timer-poll instead, to avoid conflict with
283 2004-07-20 Bill Haneman <bill.haneman@sun.com>
285 * configure.in: Revved to 1.5.3.
287 * idl/Accessibility_Role.idl: Added ROLE_EMBEDDED (bug #144415).
289 * libspi/accessible.c: Added support for ROLE_EMBEDDED.
291 * cspi/spi_accessible.c: Support for ROLE_EMBEDDED.
293 * cspi/spi-roletypes.h: Added SPI_ROLE_EMBEDDED.
295 2004-06-11 Bill Haneman <bill.haneman@sun.com>
297 * atk-bridge/bridge.c:
298 (spi_atk_bridge_do_registration):
299 Register with ATK for AtkComponent:bounds-changed events.
300 (api_atk_bridge_signal_listener):
301 Marshal the AtkRectangle info into the event notification
302 for object:bounds-changed events.
305 (spi_init_any_rect): New method, inits a corba struct of
306 type Accessibility_BoundingBox from an AtkRectangle.
308 * libspi/spi-private.h: Declared spi_init_any_rect (above).
311 (SPIRect): New struct definition.
312 (SPI_freeRect): New declaration.
313 (AccessibleBoundsChangedEvent_getNewBounds): New, see below.
316 (AccessibleBoundsChangedEvent_getNewBounds): New method,
317 implemented. Gets the bounding box data from the CORBA_any
318 associated with a bounds-changed event notification.
319 (cspi_internal_event_get_rect): New, used internally by above method.
322 (SPI_freeRect): Implemented this new method, for freeing
325 * test/event-listener-test.c:
326 (main, report_bounds_event):
327 Added a test for object:bounds-changed events.
329 2004-06-01 Bill Haneman <bill.haneman@sun.com>
331 * test/login-helper-server-test.c:
332 (main): Fix C99-ism. Thanks to Jens Granseuer.
334 2004-05-28 Padraig O'Briain <padraig.obriain@sun.com>
336 * libloginhelper-1.0.pc.in:
337 * idl/Accessibility_LoginHelper.idl:
338 * login-helper/Makefile.am:
339 * login-helper/login-helper.[ch]:
340 * test/login-helper-client-test.c:
341 * test/login-helper-server-test.c: Added files missing from CVS.
342 Files obtained from at-spi-1.5.2 tarball.
344 2004-05-27 Bill Haneman <bill.haneman@sun.com>
346 * configure.in: Create login-helper/Makefile.
347 Incremented micro version.
349 * Makefile.am: Add login-helper subdir and pkgconfig data.
351 * login-helper: New subdir.
353 * libloginhelper-1.0.pc.in: New.
355 * idl/Accessibility_LoginHelper.idl: New file, defines
356 interface whereby authentication clients can identify agents which
357 need access to services during the login process, e.g. screen lock
360 * login-helper/Makefile.am : New.
362 * login-helper/login-helper.[ch] : New, implementation of
363 a LoginHelper base class. Services needing LoginHelper can subclass.
365 * test/Makefile.am : Added test for login-helper, client and
368 * test/app.c, at.c, keypad-test.c, keysynth-test.c, stress-test.c:
369 Use proper prefix in #include files.
371 * test/login-helper-client-test.c: New.
373 * test/login-helper-server-test.c: New.
375 2004-05-27 Alexander Shopov <ash@contact.bg>
377 * configure.in (ALL_LINGUAS): Added "bg" (Bulgarian)
379 2004-05-14 Padraig O'Briain <padraig.obriain@sun.com>
381 * cspi/spi_main.c (cspi_object_unref): Add check that reference count
382 is positive. This should make it easier to detect inapprorpiate unref
385 2004-05-11 James Henstridge <james@daa.com.au>
387 * configure.in: remove GNOME_PLATFORM_GNOME_2 macro, which is a
388 no-op and deprecated.
390 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
392 * configure.in: Added "wa" (Walloon) to ALL_LINGUAS.
394 2004-04-28 Bill Haneman <billh@gnome.org>
396 * Makefile.am: Added --enable-gtk-doc to
397 DISTCHECK_CONFIGURE_FLAGS; fixes make distcheck.
399 2004-04-19 Bill Haneman <billh@gnome.org>
401 * configure.in: Revved to 1.5.1.
403 * registryd/deviceeventcontroller.c:
405 (DEControllerPrivateData): Added fields for
406 reserved_keycode, reserved_keysym, and reserved_reset_timeout.
407 (spi_dec_replace_map_keysym): New internal utility for
408 replacing a keysym in the keymap - used to allow
409 synthesis of individual characters which aren't in the
411 (spi_dec_reset_reserved): New; resets the changed keysym value
413 (keycode_for_keysym): We now try to deal with failed
414 XKeysymToKeycode requests by changing a keymap value
415 and returning a reserved keycode. We now take
416 a DEController pointer as first arg.
417 (spi_controller_register_with_devices): Call XkbGetMap with
418 the XkbKeySymsMask. Find the highest keycode in the current
419 keymap which doesn't have any grabs, and mark that one for
420 temporary re-mapping when out-of-range KeySyms are synthesized.
421 (dec_synth_keycode_press): Call XFlush after synthesizing the key
424 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
426 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
428 2004-03-24 Alexander Winston <alexander.winston@comcast.net>
430 * configure.in: Added "en_CA" (Canadian English) to ALL_LINGUAS.
432 2004-03-24 Bill Haneman <billh@gnome.org>
435 (AccessibleTable_addRowSelection),
436 (AccessibleTable_addColumnSelection),
437 (AccessibleTable_removeRowSelection),
438 (AccessibleTable_removeColumnSelection):
439 Add declarations for spi wrappers which were
440 inadvertantly omitted. Fixes bug #133413.
443 Revved to 1.5.0 (unstable series for GNOME 2.7).
445 2004-03-24 Bill Haneman <billh@gnome.org>
447 * atk-bridge/bridge.c:
448 Bracketed some debug output in
449 conditionals, to avoid printing it in normal use.
452 * libspi/hyperlink.c:
453 Don't cast 'object' to ATK_OBJECT when constructing
454 an AtkAction interface for a hyperlink.
455 See discussion in bug #120659.
457 * test/key-listener-test.c:
458 (report_all_key_event): Send output to stderr,
459 not stdout, for consistency with the rest of the test callbacks.
462 Add -lXext to XINPUT_LIBS. Fix for bug #132237.
463 Don't add X_LIBS to CFLAGS (Fix for bug #134332).
464 Incremented to 1.4.1 (but didn't dist yet - I'm going to
465 try incrementing the revision AFTER doing a dist, at least
468 2004-03-22 Bill Haneman <billh@gnome.org>
470 * configure.in: Revved to 1.4.0, libtool 9.14.9
472 2004-03-17 Laszlo Peter <laca@sun.com>
474 * libspi-1.0-uninstalled.pc.in: add idldir
476 * cspi-1.0-uninstalled.pc.in: add idldir
478 2004-03-16 Gareth Owen <gowen72@yahoo.com>
480 * configure.in: Added "en_GB" to ALL_LINGUAS
482 2004-03-15 Bill Haneman <billh@gnome.org>
484 * configure.in: Revved to 1.3.16,
487 2004-03-15 Laszlo Peter <laca@sun.com>
489 * libspi-1.0-uninstalled.pc.in: new file
491 * cspi-1.0-uninstalled.pc.in: new file
493 * configure.in: add the new pc files to AC_OUTPUT
495 * Makefile.am: add the new pc files to EXTRA_DIST
497 2004-03-12 Bill Haneman <billh@gnome.org>
499 * atk-bridge/bridge.c:
500 (spi_atk_bridge_key_listener):
501 Make sure to return consumed=FALSE if snoop
502 event is not dispatched to listener.
505 2004-03-01 Bill Haneman <billh@gnome.org>
507 * configure.in: Revved to 1.3.15,
510 2004-03-07 Danilo Segan <dsegan@gmx.net>
512 * configure.in: Added "sr@ije" to ALL_LINGUAS.
514 2004-03-03 Guntupalli Karunakar <karunakar@freedomink.org>
516 * configure.in: Added "pa" for Punjabi in ALL_LINGUAS.
518 2004-03-01 Bill Haneman <billh@gnome.org>
520 * configure.in: Revved to 1.3.14.
523 (SPI_exit): Removed "bye-bye" exit message.
524 Moved "leak" report to happen before the
525 iteration over the leaked refs list.
526 Don't PRINT_LEAKS unless DEBUG_OBJECTS is also #defined.
528 2004-02-24 Bill Haneman <billh@gnome.org>
530 * configure.in: Revved to 1.3.13.
532 * docs/reference/cspi/Makefile.am:
533 Correct typo that was breaking the docs build.
535 2004-02-11 Padraig O'Briain <padraig.obriain@sun.com>
537 * autogen.sh: Require version 1.7 of automake.
539 * configure.in: call GTK_DOC_CHECK([1.0])
541 * atk-bridge/Makefile.am: Remove use of LDFLAGS and CFLAGS
543 * docs/reference/cspi/Makefile.am: Update to use new gtk-doc.
545 * libspi/Makefile.am: Remove use of LDFLAGS and CFLAGS.
547 * test/Makefile.am: Remove use of CFLAGS.
549 This fixes bug #132987.
551 2004-02-11 Bill Haneman <billh@gnome.org>
553 * reverted most of Tomasz' patch below, since it was breaking
554 builds (see bug #134058).
556 2004-02-10 Tomasz Kłoczko <kloczek@pld.org.pl>
558 * docs/reference/cspi/at-spi-cspi.types: added empty file for
559 correct pass "make dist" (empty .. because seems no sach types in
560 header files with gtk-doc markups).
561 * docs/reference/cspi/Makefile.am, configure.in:
562 Added better gtk-doc support using GTK_DOC_CHECK aclocal macro
563 from gtk-doc >= 1.0 (modyfications based on scheme from atk).
564 * Makefile.am: added:
565 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
566 for force correct pass generate documentation on "make distcheck".
567 * libspi/Makefile.am: fixes for automake >= 1.6.
568 * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
569 AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
572 Sun Feb 8 11:20:50 2004 Matthias Clasen <maclas@gmx.de>
574 * docs/reference/cspi/Makefile.am (install-data-local): Install
575 index.sgml since the doc autobuilder on widget.gnome.org looks for
578 2004-02-02 Padraig O'Briain <padraig.obriain@sun.com>
580 * atk-bridge/bridge.c (spi_atk_tidy_windows): Correct g_free call to
583 2004-02-01 Robert Sedak <robert.sedak@sk.htnet.hr>
585 * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
587 2004-01-27 Brian Cameron <brian.cameron@sun.com>
589 * test/simple-at.c: Fixed null string problems that cause core
590 dumping problems on Solaris.
592 2004-01-12 Bill Haneman <billh@gnome.org>
594 * configure.in: Incremented version to 1.3.11.
596 2004-01-05 Padraig O'Briain <padraig.obriain@sun.com>
598 * docs/reference/cspi/at-spi-cspi-docs.sgml: Added XML in
599 DOCTYPE statement. Fixes bug #129728. Patch supplied by Sebastien
602 2004-01-01 Roozbeh Pournader <roozbeh@sharif.edu>
604 * configure.in: Added "fa" to ALL_LINGUAS.
606 2003-12-20 Arafat Medini <lumina@silverpen.de>
608 * configure.in: Added "ar" to ALL_LINGUAS
610 2003-12-16 Bill Haneman <billh@gnome.org>
612 * registryd/registry-main.c:
614 Set the reg_env DISPLAY variable before registering the
615 activated registry service. Fixes bug #129479.
617 2003-12-16 Mohammad DAMT <mdamt@bisnisweb.com>
619 * configure.in: Added "id" in ALL_LINGUAS
620 * po/id.po: Indonesian translation by Ahmad Riza H Nst <ari@160c.afraid.org>
622 2003-12-15 Padraig O'Briain <padraig.obriain@sun.com>
624 * registryd/deviceeventcontroller.c (global_filter_fn):
625 When an event is consumed discard any XEvents were added to
626 the queue while dealing with the the event. This can happen if
627 processing of the event takes a long time. Call XUngrabKeyboard
628 if an event was discarded. This fixes bug $124837.
629 Only call wait_for_release_event for a KeyPress.
630 Use local variable display instead of spi_get_display().
631 (spi_controller_update_key_grabs): Move call to keycode_for_keysym
634 2003-12-11 Padraig O'Briain <padraig.obriain@sun.com>
636 * registryd/deviceeventcontroller.c (spi_dec_translate_mask):
637 Allow for mask to contain values other than NumLock mask.
640 2003-12-10 Padraig O'Briain <padraig.obriain@sun.com>
642 * registryd/devieceventcontroller.c:
643 (wait_for_release_event): Change first parameter from GdkEvent to
645 (global_filter_fn); Correct call to wait_for_release_event.
649 2003-12-08 Bill Haneman <billh@gnome.org>
653 * registryd/ucs2keysym.c: New file.
655 * registryd/deviceeventcontroller.c:
656 (dec_keysym_for_unichar): Remove old partial implementation and
657 replace with call to ucs2keysym(), which is much more complete.
658 Thanks to Marcus G. Kuhn who put the original keysym2ucs.c into
663 2003-12-05 Bill Haneman <billh@gnome.org>
665 * configure.in: Version 1.3.9.
667 * docs/reference/cspi/tmpl/spi_registry.sgml:
668 Added reference to libspi/keymasks.h to the
669 description of Registry queries: AccessibleKeyMaskType.
672 2003-12-04 Bill Haneman <billh@gnome.org>
676 * idl/Accessibility_Application.idl:
677 (Accessibility::LOCALE_TYPE): New enum, corresponds to
678 setlocale's LC_TYPEs.
679 (Accessibility::Application::getLocale): New method.
680 Allows clients to query the locale, by type, of an app.
683 * cspi/spi_application.c:
684 (AccessibleApplication_getLocale): New method, wraps IDL above.
686 * libspi/application.c:
687 (spi_application_class_init): Init epv entry for getLocale.
688 (impl_accessibility_application_get_locale): Impl for above.
690 * test/test-simple.c:
691 (test_application): Added assertion for getLocale, i.e.
692 that the string from AccessibleApplication_getLocale (app, type)
693 is the same as that from setlocale (type, NULL);
695 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
697 *registryd/deviceeventcontroller.c: Add an idle handler which polls
698 the keyboard on a timeout intil the key state goes from pressed to
699 released. Fixes bug #111429.
701 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
703 * atk-bridge/bridge.c: (atk_bridge_init): Create accessible application
704 root object so that it is present when a context menu in an
705 out-of-process applet is popped up.
706 (spi_atk_bridge_do_registration): Create acceessible application root
707 object only if it does not exist.
709 This fixes bug #125834.
711 2003-12-01 Bill Haneman <billh@gnome.org>
713 Fix for bug #114926. Thanks to Michael Meeks for some of this patch.
716 Added enum for AccessibleStreamableContentSeekType.
717 (AccessibleStreamableContent_freeContentTypeList): New.
719 * cspi/spi_streamablecontent.c:
720 (accessible_bonobo_stream_client_seek): New private method.
721 (AccessibleStreamableContent_seek): Implemented this method,
722 using Bonobo_Stream_seek.
723 (AccessibleStreamableContent_freeContentTypeList): New method
724 for freeing the return value from
725 AccessibleStreamableContent_getContentTypes.
726 (stream_cache_item_free): Replaces stream_release; stop leaks.
727 (stream_release): removed.
728 (AccessibleStreamableContent_read): Use properly init'd CORBA_evs,
729 free the memory properly.
731 2003-12-02 Padraig O'Briain <padraig.obriain@sun.com>
735 * cspi/spi-roletypes.h: Add SPI_ROLE_EDITBAR.
737 * cspi/spi_accessible.c (cspi_init_role_table): Add SPI_ROLE_EDITBAR.
739 * docs/reference/cspi/tmpl/spi-accessible.sgml: Add SPI_ROLE_EDITBAR
741 * idl/Accessibility_Role.idl: Add ROLE_EDITBAR.
743 2003-12-01 Bill Haneman <billh@gnome.org>
745 Fix for bug/rfe #127463.
747 * idl/Accessibility_Accessible.idl:
748 (getLocalizedRoleName): New.
749 (unimplemented4): Removed (replaced by above).
751 * libspi/accessible.c:
752 (impl_accessibility_accessible_get_local_role_name): New.
753 (spi_accessible_class_init): Add getLocalizedRoleName entry to
757 (Accessible_getLocalizedRoleName): New.
759 * cspi/spi_accessible.c:
760 (Accessible_getLocalizedRoleName): New.
762 2003-12-01 Bill Haneman <billh@gnome.org>
765 * idl/Accessibility_Text.idl:
766 (getDefaultAttributes): New.
767 (unimplemented4): Removed (replaced by above method).
770 (impl_getDefaultAttributes): New method.
771 (spi_text_class_init):
772 initialize the get_default_attributes slot in the epv.
775 (AccessibleText_getDefaultAttributes): New prototype.
778 (AccessibleText_getDefaultAttributes): New method.
780 2003-11-06 Padraig O'Briain <padraig.obriain@sun.com>
782 * cspi/spi_accessible.c (cspi_init_relation_type_table): Do not
783 write beyond the end of the table. Fixes bug #120473.
785 2003-09-30 Christian Rose <menthos@menthos.com>
787 * configure.in: Added "eu" to ALL_LINGUAS.
789 2003-09-28 Kjartan Maraas <kmaraas@gnome.org>
791 * configure.in: ALL_LINGUAS: Added no.
793 2003-09-28 Gediminas Paulauskas <menesis@delfi.lt>
795 * configure.in: Added lt to ALL_LINGUAS.
797 2003-09-25 Padraig O'Briain <padraig.obriain@sun.com>
799 * atk-bridge/bridge.c:
800 (atk_bridge_init): Register event listeners always even for
801 out-of-process applet.
802 (spi_atk_bridge_toplevel_added): Remove call to
803 spi_atk_bridge_event_type_consts as it is now called in atk_bridge_init
804 (spi_atk_bridge_toplevelk_removed): Remove call to
805 spi_atk_deregister_event_listenersa as the listeners are now always
807 (spi_atk_bridge_register_application): Remove call to
808 spi_atk_register_event_listeners as it is not done in atk_bridge_init
810 This fixes bug #120991.
812 * libspi/table.c (impl_getColumnDescription): Correct typo,
813 pointed out by Bolian.Yin@sun.com.
815 2003-09-21 Ã
\85smund Skjæveland <aasmunds@fys.uio.no>
817 * configure.in: Added nn to ALL_LINGUAS (which is commented out).
819 2003-09-08 Bill Haneman <billh@gnome.org>
821 * configure.in: Revved to 1.3.7.
823 This is the GNOME 2.4.0 release of at-spi.
825 * docs/reference/cspi/Makefile.am:
826 Removed spurious inclusion of 'index.sgml' in the
827 html directory; this was breaking make distcheck and
828 also some other build environments.
830 2003-09-05 Padraig O'Briain <padraig.obriain@sun.com>
832 * registryd/registry.[ch}:
833 Add queue_handler_id and focus_object to SpiRegistry data structure.
834 (registry_flush_event_queue): If event being discarded is
835 "state-change:focused" store object as focus_object.
836 (registry_start_queue): Remove queue handler and focus object
838 (registry_discard_event): New function which discards a focus event
839 if we had stored focus object in the registry.
840 (registry_queue_event): Add new check that is_queueing is set as this
841 function is reentrant.
842 (registry_filer_event): Add call to registry_discard_event.
844 This resolves issues raised in bug #108664.
846 2003-09-05 Taneem Ahmed <taneem@bengalinux.org>
848 * configure.in: Added "bn" to ALL_LINGUAS.
850 2003-09-04 Bill Haneman <billh@gnome.org>
852 * cspi/spi_event.c: Documentation improvements for
853 (SPI_registerAccessibleKeylistener).
855 * docs/reference/tmpl/spi_registry.sgml:
856 Documentation improvements for SpiAccessibleKeylistenerCB.
858 2003-09-02 Mugurel Tudor <mugurelu@go.ro>
860 * configure.in: Added "ro" to ALL_LINGUAS.
863 2003-09-01 Padraig O'Briain <padraig.obriain@sun.com>
865 * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
866 not decremented to zero. Fixes bug #120725.
868 2003-08-30 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
870 * configure.in: Added "ja" to ALL_LINGUAS.
872 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
874 * configure.in: Added "is" to ALL_LINGUAS.
876 2003-08-22 Christian Rose <menthos@menthos.com>
878 * configure.in: Added "nl" to ALL_LINGUAS.
880 2003-08-19 Padraig O'Briain <padraig.obriain@sun.com>
882 * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
883 * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
885 * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
887 * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
888 type for unspecified exception.
889 * cspi_streamablecontect): Add include of string.h for memcpy.
890 (stream_release): Correct call to bonobo_object_release_unref
891 (stream_cache_item_free): Correct call to bonobo_object_release_unref
892 * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
893 argument of _cspi_expection_throw.
894 * libspi/hyperlink.c: Add include of libspi/action.h:
895 (spi_hyperlink_new): Cast argument to spi_action_interface_new.
896 * libspi/streamablecontent.c: add include of libspi/component.h.
897 * regisrtyd/deviceeventcontroller.c:
898 (spi_dec_translate_mask): Removed unused variable priv.
899 (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
900 * registryd/registry.c:
901 (registry_filter_event): Remove unused variable queue_is-empty.
902 (impl_registry_notify_event): Use correct modifier in fprintf call.
904 This fixes compiler warnings reported in bug #120220.
906 2003-08-18 Padraig O'Briain <padraig.obriain@sun.com>
908 * registryd/registryd.c: Remove this file.
910 2003-08-17 Sanlig Badral <badral@openmn.org>
912 * configure.in: Added mn to ALL_LINGUAS.
914 2003-08-16 Tõivo Leedjärv <toivo@linux.ee>
916 * configure.in: Added et to ALL_LINGUAS.
918 2003-08-13 Padraig O'Briain <padraig.obriain@sun.com>
920 * test/event-listener-test.c: Change active-descendant to
921 active-descendant-changed.
923 2003-08-10 Sami Pesonen <sampeson@iki.fi>
925 * configure.in: Added "fi" in ALL_LINGUAS.
927 2003-08-08 Guntupalli Karunakar <karunakar@freedomink.org>
929 * configure.in: Added "hi" in ALL_LINGUAS.
931 2003-08-08 Padraig O'Briain <padraig.obriain@sun.com>
933 * configure.in: Revved to 1.3.6.
937 2003-08-07 Padraig O'Briain <padraig.obriain@sun.com>
939 * registryd/deviceeventcontroller.c
940 (spi_device_event_controller_object_finalize): Fix typo in previous
943 2003-08-07 Marc Mulcahy <marc.mulcahy@sun.com>
945 * registryd/deviceeventcontroller.c
946 (spi_device_event_controller_object_finalize): Fix build on
947 systems without XEvIE.
949 2003-08-06 Brian Cameron <Brian.Cameron@sun.com>
951 * acconfig.h, configure.in, registryd/Makefile.am,
952 registryd/devicecontoller.[ch]: Add XEViE support.
954 2003-08-06 Wang Jian <lark@linux.net.cn>
956 * configure.in: Added "zh_CN" to ALL_LINGUAS.
958 2003-08-06 Metin Amiroff<metin@karegen.com>
960 * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
962 2003-08-06 Padraig O'Briain <padraig.obriain@sun.com>
964 * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
965 MODIFIER_ALT in correct place.
967 This fixes part of bug #118114.
969 2003-07-30 Alessio Frusciante <algol@firenze.linux.it>
971 * configure.in: Added "it" (Italian) to ALL_LINGUAS.
973 2003-07-28 Changwoo Ryu <cwryu@debian.org>
975 * configure.in: Added "ko" to ALL_LINGUAS.
977 2003-07-28 Ole Laursen <olau@hardworking.dk>
979 * configure.in: Added "da" to the commented out ALL_LINGUAS.
981 2003-07-27 Laurent Dhima <laurenti@alblinux.net>
983 * configure.in: Added "sq" to ALL_LINGUAS.
985 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
987 * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
989 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
991 * configure.in: updated ALL_LINGUAS list
993 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
995 * configure.in: Added Belarusian to ALL_LINGUAS.
997 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
999 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
1001 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
1002 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
1004 This fixes bug #116949.
1006 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
1008 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
1009 Correct CSPI to SPI in function documentation.
1011 This fixes bug #118054.
1013 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
1015 * configure.in: Added Russian to ALL_LINGUAS.
1017 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
1019 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
1021 2003-07-14 Danilo Å Segan <dsegan@gmx.net>
1023 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
1025 2003-07-10 Joel Brich <joel.brich@laposte.net>
1027 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
1029 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
1031 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
1033 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
1035 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
1036 resources allocated for AccessibleEvent. See cspi_event().
1038 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
1039 static variable streams to NULL.
1041 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1042 Update so that AcessibleEvent_ref will work.
1044 This fixes bug #116624.
1046 2003-07-06 Jordi Mallach <jordi@sindominio.net>
1048 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
1050 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
1052 * configure.in: Added "fr" (French) to ALL_LINGUAS.
1054 2003-07-02 Christian Neumair <chris@gnome-de.org>
1056 * configure.in: Added "de" (German) to ALL_LINGUAS.
1058 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
1060 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
1062 2003-07-01 Miloslav Trmac <mitr@volny.cz>
1064 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
1066 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
1068 * configure.in: Added "pl" to ALL_LINGUAS.
1070 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
1072 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
1074 2003-06-30 Bill Haneman <bill.haneman@sun.com>
1077 (get_action_from_servant):
1078 Removed assertion that action is implemented on an AtkObject.
1080 * libspi/hyperlink.c:
1081 (spi_hyperlink_new):
1082 Aggregate AccessibleAction interface on the hyperlink object if
1083 the object implements AtkAction. (This convention is used in
1086 2003-06-30 Bill Haneman <bill.haneman@sun.com>
1088 * configure.in: Revved to 1.3.5.
1090 * registryd/Accessibility_Registry.server.in.in:
1091 Marked up appropriate strings for translation.
1093 * atk-bridge/bridge.c: Marked a couple of
1094 user-visible warnings for translation. Questionable
1095 whether they are really useful, but possibly so.
1098 2003-06-28 Christian Rose <menthos@menthos.com>
1100 * configure.in: Added "sv" to ALL_LINGUAS.
1102 2003-06-26 Bill Haneman <bill.haneman@sun.com>
1104 * registryd/registry.c:
1105 (spi_registry_object_finalize): Unref the deviceeventcontroller.
1106 (registry_defer_on_event): Defer focus: events, this is an
1107 improvement to the patch for bug #108664.
1109 * TODO: Update with 2.4/"Dev Complete" items.
1111 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
1113 * atk-bridge/bridge.c:
1114 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
1115 looks up signals once.
1116 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
1117 if doing registration.
1118 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
1119 when doing registration.
1121 This fixes bug #115014.
1123 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
1125 * atk-bridge/bridge.c:
1126 (atk_bridge_init): Add signal handler for children-changed:remove on
1127 root when in a BonoboComponent.
1128 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
1129 for first toplevel only other incrememt variable toplevels.
1130 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
1131 application and remove listeners.
1132 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
1134 (spi_atk_deregister_event_listeners): New function which removes
1136 (reinit_register_vars): New fuction which reinitializes variables.
1138 This fixes bug #111578.
1140 2003-06-13 Bill Haneman <bill.haneman@sun.com>
1142 * configure.in: version 1.3.4.
1144 * cspi/spi_accessible.c:
1145 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
1148 2003-06-13 Michael Meeks <michael@ximian.com>
1150 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
1152 * cspi/spi_main.c (cspi_peek_ev): impl.
1154 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
1156 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
1158 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
1160 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
1161 SPI_ROLE_AUTOCOMPLETE
1163 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
1165 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
1166 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
1168 2003-06-11 Bill Haneman <bill.haneman@sun.com>
1170 * libspi/streamablecontent.h:
1171 * libspi/streamablecontent.c:
1172 New files, provide implementation/wrappers for
1173 Accessibility_StreamableContent.
1175 * cspi/spi_streamablecontent.c:
1176 Connected the C wrappers to the libspi C bindings.
1177 (AccessibleStreamableContent_close): New method.
1180 (AccessibleStreamableContent_close): New method, needed
1181 since we have an "open, [seek], read, close" model in cspi.
1183 2003-06-11 Bill Haneman <bill.haneman@sun.com>
1185 Fix for #108664; Padraig's revision of my original patch.
1187 * registryd/registry.h:
1188 Added event queue list, is_queuing, and exit_notify_timeout
1189 to the registry struct.
1191 * registryd/registry.c:
1192 (registry_init): Initialize new struct from registry.h.
1193 (impl_registry_notify_event):
1194 Filter events before notifying, in case some need to be
1196 (registry_filter_event): New,
1197 we defer certain incoming events (for instance
1198 window:deactivate) because we may wish to hide
1199 or reject them based on pending events. This is
1200 mostly a workaround for bug #108664.
1201 (registry_queue_event, registry_start_queue): New.
1202 (registry_defer_on_event): Test event to see if it
1204 (registry_reset_on_event): Returns TRUE if the
1205 event should cause a queue reset.
1206 (registry_discard_on_event): Returns TRUE if the event
1207 should cause the previous queue contents to be discarded.
1208 (registry_timeout_flush_queue): Flushes the pending event
1209 queue if no reset/discard-triggering events have come in
1210 within the timeout period.
1211 (registry_emit_event): New.
1212 (registry_clone_notify_context): New, used when queueing the
1213 event notify contexts.
1215 2003-06-10 Bill Haneman <bill.haneman@sun.com>
1217 * configure.in: Version revved to 1.3.2, lt 0.9.2
1218 Incremented ATK required version to 1.3.4.
1220 * cspi/spi_registry.c:
1221 (SPI_generateKeyEvent):
1222 We now pass the keystring along if it's non-null.
1224 * registryd/deviceeventcontroller.c:
1225 (keysym_mod_mask): New method, returns modifier mask
1226 required to generate a keysym from a given keycode.
1227 (dec_synth_keysym): New method.
1228 (dec_synth_keystring): New method.
1229 (dec_get_modifier_state): New method.
1230 (dec_lock_modifiers): New
1231 (dec_unlock_modifiers): New.
1232 (dec_keysym_for_unichar): New, rather brute-force
1233 conversion from UCS-4 to X KeySyms. Only works for
1234 Latin at the moment, with partial implementations for
1235 Greek, Hebrew, and (incomplete) Katakana.
1236 (impl_generate_keyboard_event): Now implement
1237 "KEYSTRING" synthesis and implement "KEYSYM"
1239 (keycode_from_keysym): Improved, passes a returned
1240 modmask value now if the corresponding param is non-NULL.
1242 Fixes bugs #92143 and #109776.
1245 * test/keysynth-test.c:
1246 New test program for key synthesis, to confirm fixes for
1250 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
1252 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
1254 * cspi/spi_accessible.c (cspi_init_relation_type_table):
1255 Add line for RELATION_POPUP_FOR
1257 * docs/reference/cspi/tmpl/spi_relation.sgml:
1258 Add relation SPI_RELATION_POPUP_FOR
1260 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1261 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
1263 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
1265 * libspi/relation.c (spi_init_relation_type_table):
1266 Add line for RELATION_POPUP_FOR
1268 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
1270 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
1271 there are still windows which have not been deleted and emit
1272 window:deactivate, if necessary and window:destroy events.
1273 This fixes bug #114370. The change on June 5th was not correct.
1275 2003-06-09 Bill Haneman <bill.haneman@sun.com>
1277 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
1280 (SPI_dupString): Allow dup-ing of a string such that it's safe to
1282 New methods for client exception handling and interception.
1283 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
1284 (SPI_exceptionHandlerPop): You guessed it...
1285 (SPI_getSourceType): Return the type of object which offended.
1286 (SPI_getExceptionCode): Return an enum code telling, possibly,
1287 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
1288 (SPIAccessibleException_getSource): get the source object for
1289 exceptions that come from Accessibles, if SPIExceptionSourceType is
1290 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
1291 (SPIException_getDescription): New, returns a string description of
1292 the problem. [Not yet a stable ABI, strings are not frozen]
1294 * cspi/spi-private.h:
1295 Added implementation details of opaque SPIException
1299 Implementations of above. Also
1300 (_cspi_exception_throw): new private method that
1301 dispatches exceptions to handlers, called from cspi-bonobo.c
1303 * cspi/bonobo/cspi-bonobo.c:
1304 (cspi_check_ev): call _cspi_exception_throw.
1305 Don't print a warning message if the exception has been
1306 handled by _cspi_exception_throw.
1308 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
1310 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
1311 there are still windows which have not been deleted and emit
1312 window:deactivate, if necessary and window:destroy events.
1313 This fixes bug #114370.
1315 2003-06-03 Bill Haneman <bill.haneman@sun.com>
1318 (cspi_accessible_is_a): Make non-fatal
1319 if the object reference is dead.
1321 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
1323 * cspi/spi_main.c: #include <stdio.h>
1324 * test/simple-at.c: ditto
1325 * test/event-listener-test.c: ditto
1326 * test/screen-review-test.c: ditto
1328 2003-05-30 Michael Meeks <michael@ximian.com>
1330 * test/test-simple.c (main): use CORBA_ORB_perform_work
1331 instead of an unnecessary linc_ call.
1333 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
1335 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
1336 Add SPI_STATE_INDETERMINATE.
1338 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
1341 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
1343 * libspi/stateset.c (init_state_type_tables): Add support for
1346 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
1348 * configure: Update versions of atk and gail required.
1349 This fixes bug #113268.
1351 2003-05-02 Bill Haneman <bill.haneman@sun.com>
1353 * configure.in: Revved micro version to 1.3.1 (because of build fix).
1355 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
1357 * libspi/Makefile.am:
1358 Ensure headers are generated before being used by c sources.
1360 2003-05-01 Bill Haneman <bill.haneman@sun.com>
1363 Simplified lt versioning rules.
1364 Incremented version to 1.3.0, to indicate that we're on the
1365 unstable branch now.
1367 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
1369 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
1370 Add MKDB_OPTIONS=--outtput-format=xml
1372 * docs/reference/cspi/at-spi-cspi-docs.sgml
1373 docs/reference/idl/at-spi-idl-docs.sgml:
1374 Convert to Docbook XML.
1376 This fixes bug #111793.
1378 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
1380 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
1381 AcccessibleKeyEventType, AccessibleKeyMaskType.
1383 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
1385 * cspi/state-types.h: Add documentation for AccessibleState.
1387 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
1388 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
1389 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
1390 AccessibleComponentLayer.
1392 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
1395 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
1397 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
1398 Accessible. Add description of AccessibleEvent,
1399 AccessibleEventListenerCB.
1401 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
1404 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
1405 documentation. Add description of AccessibleKeystrokeListenerCB,
1406 AccessibleKeyEventMask, AccessibleModifierMaskType,
1407 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
1408 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
1410 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
1413 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
1416 This fixes bug #104730.
1418 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
1420 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
1421 Set is_text field of Accessibility_DeviceEvent data structure.
1423 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
1424 is-text field of AccessibleDeviceEvent data structure.
1426 This addresses part of bug #108666.
1428 * registryd/devcieeventcontroller.c: Unset debug option.
1430 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
1432 * cspi/accessible.c:
1433 (cpi_initial_relation_type_table): New function which initializes
1434 mapping between Accessibility_RelationType and AccessibleRelationType.
1435 (cspi_relation_type_from_spi_relation_type): New function which
1436 translates an Accessibility_RelationType into an AccessibleRelationType.
1437 (AccessibleRelation_getRelationType): Use
1438 cpi_relation_type_get_spi_relation_type to return correct value.
1439 (spi_state_to_corba): Return correct type for default case.
1441 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
1442 Use Accessibility_EventType instead of Accessibility_KeyEventType.
1444 * cspi/cspi-bonobo-listener.c:
1445 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
1448 * libspi/accessible.c, libspi/action.c, libspi/application.c,
1449 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
1450 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
1451 libspi/image.c, libspi/listener.c, libspi/selection.c,
1452 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
1453 registryd/desktop.c, registryd/registry.c:
1454 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1456 * libspi/eventlistener.c
1457 Remove semicolon after BONOBO_TYPE_FUNC.
1459 * libspi/relation.c:
1460 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1461 (spi_init_relation_type_table): Initialize using correct type.
1463 * registryd/desktop.c:
1464 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1465 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
1466 of Accessibility_KeyEventType.
1468 * test/key-listener-test.c (report_tab_key_event): Use fprintf
1471 * tests/simple-at.c, tests/screen-review-test.c:
1472 Add include for <strings.h>.
1474 * tests.stress-test.c:
1475 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
1477 These changes fix compiler warnings when using FORTE compiler on
1478 Solaris; fixes bug #107479.
1481 2003-04-10 Bill Haneman <bill.haneman@sun.com>
1484 * configure.in: revved to 1.1.10
1486 * libspi/keymasks.h:
1487 (SPI_KEYMASK_NUMLOCK): Added.
1489 * registryd/deviceeventcontroller.c:
1490 (spi_key_event_matches_listener): AND with a smaller
1491 bitmask (as we should).
1492 (spi_dec_translate_mask):
1493 New method, sets the virtual NumLock modifier bit
1494 if numlock is on. Eventually it can handle other virtual
1495 modifier bits if needed, or other marshalling from
1496 at-spi modifier masks to platform (X) masks.
1497 (spi_dec_key_listener_new):
1498 Call spi_dec_translate_mask to set up virtual mod bits
1499 in the 'mask' field when creating a new listener struct.
1500 (spi_dec_emit_modifier_event):
1501 Set the virtual (i.e. NumLock) bits before emitting event.
1502 (spi_controller_register_with_devices):
1503 Query for the NumLock modifier 'physical' bit if Xkb is
1504 present, for use in above methods.
1508 2003-04-10 Bill Haneman <bill.haneman@sun.com>
1510 * registryd/deviceeventcontroller.c:
1511 (spi_keystroke_from_x_key_event):
1512 Instead of checking to see if the keysym is
1513 printable, check the string from XLookupString
1514 if available, get the first unicode character from it,
1515 and call g_unichar_isprint to determine whether the
1516 is_text flag should be TRUE or FALSE.
1520 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
1522 * atk-bridge/bridge.c: Add support for extended events
1523 * cspi/spi_event.c: Add documentation and implementation for
1525 * tests/event-listener-test.c: Add tests for extended events.
1527 This fixes bugs #100424 and #100426.
1529 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
1531 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
1532 of LT_CURRENT. This fixes bug #89350.
1534 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
1536 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
1537 number of signal parameter values before accessing them. This fixes
1540 2003-04-01 Bill Haneman <bill.haneman@sun.com>
1542 * configure.in: Fixed duplicate inclusion of -lspi.
1543 * branched for gnome-2-2/HEAD.
1544 [created tag "gnome-2-2"]
1546 2003-03-07 Bill Haneman <bill.haneman@sun.com>
1548 * configure.in: 1.1.9 release.
1551 2003-03-07 Bill Haneman <bill.haneman@sun.com>
1553 [needed by GOK, to fix bugs 107985 and 107988]
1554 * registryd/deviceeventcontroller.c:
1555 (spi_dec_clear_unlatch_pending):
1556 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
1557 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
1558 (spi_dec_init_mouse_listener):Emit warning if mouse button
1560 (spi_device_event_controller_forward_mouse_event):
1561 Removed unnecessary parens from a conditional.
1562 (global_filter_fn):Added TODO comment.
1563 (impl_generate_keyboard_event):
1564 Cancel a pending relatch if a 'delatching' key was
1567 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
1569 * atk-bridge/bridge.c:
1570 Change atk_signal_child_changed to atk_signal_children_changed.
1571 Reorganize code in spi_atk_bridge_signal_listener().
1573 * test/event-listener-test.c:
1574 Add children_changed_listener and report_children_changed_event()
1575 to test AccessibleChildEvent_getChildAccessible.
1577 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
1579 * cspi/spi_event.c (cspi_internal_event_get_text): Change
1580 g_strdup to CORBA_String_dup (bug #105291)
1582 * test/event-listener-test.c (report_text_event): Add call to
1585 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1587 * registryd/deviceeventcontroller.c:
1588 (spi_keystroke_from_x_key_event):
1589 Fix string and keysym return codes to match modifier state.
1592 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1594 * registryd/deviceeventcontroller.c:
1595 (spi_keystroke_from_x_key_event):
1596 Fix segv due to improper use of isprint(c). [bug #107254]
1598 2003-02-24 Bill Haneman <bill.haneman@sun.com>
1601 (get_accessible_text_boundary_type):
1602 Move default return value to (new) default case in switch.
1603 (get_accessible_text_clip_type):
1604 Move default return value to (new) default case in switch.
1606 * libspi/application.c:
1607 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
1608 Remove unused methods.
1609 (impl_accessibility_application_register_object_event_listener):
1610 Remove unused methods.
1613 Added #include of <math.h>.
1615 * registryd/deviceeventcontroller.c:
1616 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
1617 we don't currently use this method.
1618 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
1620 (impl_generate_key_event):
1621 Remove unused variables.
1622 (impl_generate_mouse_event):
1623 Initialize button to zero, just in case we get an invalid
1624 input. Added support for mouse buttons 4 and 5.
1625 (spi_device_event_controller_new):
1626 Removed unused variable declaration for 'private'.
1628 Added #include of <gdk/gdk.h>
1630 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1632 * configure.in: Update to work when X is not installed in expected
1633 location. Fixes bug #105836.
1635 * atk-bridge/bridge.c
1636 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
1638 (spi_atk_register_event_listener): Add signal listener for
1640 (spi_atk_bridge_signal_listener): Event event when link-selected
1641 signal is emitted. (bug #104622)
1643 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
1644 on returned string. (bug #105291)
1646 * test/event-listener-test.c: Add test for link-selected.
1648 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1650 * atk-bridge/Makefile.am: Correct typo in previous commit.
1652 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
1654 * atk-bridge/Makefile.am: Allow for build directory to be different
1655 from source directory
1657 * registryd/Makefile.am: Allow for build directory to be different
1658 from source directory
1662 2003-01-29 Bill Haneman <bill.haneman@sun.com>
1665 Fixed dependencies for libcspi so that libspi gets pulled in
1666 properly. Fixes 104741.
1670 Clean up inline docs a little.
1672 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
1674 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
1675 This is done by implementing AtkComponent for SpiAtkDesktop, which is
1676 the AtkObject within an SpiDesktop.
1677 This addresses bug #101524.
1679 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
1680 Remove call to gdk_init().
1682 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
1683 so that Display is set when SpiDesktop is created.
1685 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
1687 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
1688 This fixes bug #102830.
1690 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1692 * test/test-simple.c: Update to take account of fact that GailButton
1693 now implements AtkText.
1694 (create_text_window): Set name on AtkObject for GtkEntry.
1695 (validate_accessible): Check accessible name before calling test_text().
1697 * libspi/Makefile.am: Fix problem with building outside of source
1698 directory. Bug #98120.
1700 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
1701 typo in documentation comments. Bug #94275.
1703 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1705 * libspi/text.c (impl_getBoundedRanges): Bug fix.
1707 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
1710 Add includes to avoid compiler warnings on Solaris.
1711 (impl_getRangeExtents): Bug fix.
1713 2002-12-17 Bill Haneman <bill.haneman@sun.com>
1715 Fix for 100944, [API addition approved by Gman and murrayc].
1722 * idl/Accessibility_Text.idl:
1723 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
1724 (Text::getRangeExtents): New method for efficient
1725 bounds query of a text range.
1726 (Text::getBoundedRanges): New method for efficient
1727 clipping of text to bounding boxes.
1728 (unImplemented7, unImplemented8):
1729 Removed these padding methods to preserve bincompat.
1732 (impl_getRangeExtents): implementation of new IDL.
1733 (impl_getBoundedRanges): implementation of new IDL.
1734 (SpiTextRect): Internal use struct.
1735 (_spi_text_rect_union): internal method, calculates union of two
1736 SpiTextRect bounding rects.
1737 (_spi_text_range_seq_from_gslist): internal method, allows us
1738 to build our sequence efficiently as a gslist then convert it
1740 (_spi_bounds_contain): internal method, determines whether
1741 a text character is "in" or "out" of a clip rect according to
1742 values of TEXT_CLIP_TYPE.
1743 (spi_text_class_init): Initialize the new methods in the epv.
1746 (AccessibleTextClipType): New enum used by screen review api.
1747 (AccessibleTextRange): New struct used by screen review api.
1748 (AccessibleText_getRangeExtents):
1749 cspi binding for Accessibility_Text_getRangeExtents.
1750 (AccessibleText_getBoundedRanges):
1751 cspi binding for Accessibility_Text_getBoundedRanges.
1752 (AccessibleTextRange_freeRanges): convenience method.
1755 (AccessibleText_getRangeExtents):
1756 cspi binding for Accessibility_Text_getRangeExtents.
1757 (AccessibleText_getBoundedRanges):
1758 cspi binding for Accessibility_Text_getBoundedRanges.
1759 (AccessibleTextRange_freeRanges): convenience method.
1760 (get_accessible_text_clip_type): internal conversion method.
1761 (get_accessible_text_ranges_from_range_seq): internal conversion method.
1763 * registryd/deviceeventcontroller.c:
1764 (spi_dec_mouse_check):
1765 Improved behavior for mouse:abs events
1766 [same granularity as mouse:rel events, and no
1767 events when mouse is idle].
1769 2002-12-16 Michael Meeks <michael@ximian.com>
1771 * cspi/spi_accessible.c (spi_state_to_corba): rename.
1773 * libspi/stateset.c (state_spi_to_atk): split out
1774 ( fix several remote array bounds nasties )
1775 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
1776 (impl_remove): make safe from array bounds issues.
1777 (spi_atk_state_from_spi_state): impl.
1779 * libspi/stateset.h (spi_state_set_cache_is_empty):
1780 add a set of wrapper defines to get layering right.
1782 * cspi/spi_accessible.c: update state set stuff to
1785 2002-12-14 Michael Meeks <michael@ximian.com>
1787 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
1788 to avoid 2 roundtrips to the registry per key event
1789 (spi_atk_bridge_key_listener): upd.
1790 (deregister_application): release the dec.
1792 * registryd/registry.c (notify_listeners_cb):
1793 bin lots of re-enterant complexity - we no longer
1794 do a round-trip bonobo ref here, ensure that a single
1795 listener's exception failure won't poison all other
1797 (impl_registry_notify_event): bin obvious memory leak.
1799 2002-12-13 Michael Meeks <michael@ximian.com>
1801 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
1802 init the ev so the error is meaningful.
1803 (spi_atk_bridge_key_listener): ditto.
1805 * cspi/spi_main.c (cspi_ev): init the ev so we start
1806 with a clean slate, otherwise the first exception
1807 kills us completely.
1809 * cspi/spi_text.c (get_accessible_text_boundary_type):
1810 add a fallthrough for no warnings.
1812 * cspi/spi_registry.c: prune unused warnings.
1814 * cspi/spi_main.c (cspi_object_take): fix
1815 mind-blowing brokenness ( by watching the compile
1818 * cspi/spi_accessible.c (Accessible_getStateSet):
1819 re-impl. to use an AtkStateSet.
1820 (spi_state_type_from_accessible_state),
1821 (init_state_table): bin these.
1823 * libspi/stateset.c (spi_atk_state_set_from_sequence):
1825 (atk_state_set_from_accessibility_state_set): here.
1827 * cspi/spi_accessible.c (spi_state_to_atk): impl.
1828 (AccessibleStateSet_contains, AccessibleStateSet_ref),
1829 (AccessibleStateSet_unref, AccessibleStateSet_contains),
1830 (AccessibleStateSet_add, AccessibleStateSet_remove),
1831 (AccessibleStateSet_equals, AccessibleStateSet_compare),
1832 (AccessibleStateSet_isEmpty): re-write to use a local
1835 2002-12-13 Bill Haneman <bill.haneman@sun.com>
1837 * configure.in: Revved to 1.1.7 (new keymask vals).
1839 2002-12-10 Bill Haneman <bill.haneman@sun.com>
1841 * libspi/keymasks.h:
1842 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
1844 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
1847 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
1848 to compare two CORBA_TypeCodes.
1849 (cspi_internal_event_add): Silence warning from FORTE compiler.
1851 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
1852 avoid implicit declaration of functions.
1854 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
1856 * atk-bridge/bridge.c:
1857 (spi_atk_bridge_init_event_type_consts): Store signal id for
1858 active-descendant-changed signal.
1859 (spi_atk_register_event_listeners): Add signal listener for
1860 active-descendant-changed signal,
1861 (spi_atk_bridge_signal_listener): Move code in function
1862 spi_atk-signal_emit_event() into this function.
1863 Add support for active-descendant-changed
1864 Update support for child-changed signal.
1865 (spi_bridge_window_event_listener): Silence warning.
1867 * libspi/spi_private.[ch]:
1868 (spi_init_any_object): Change second parameter from CORBA_Object to
1870 Omit call to CORBA_Object_duplicate().
1871 Set CORBA_any's _value to CORBA_Object*.
1873 2002-12-06 Bill Haneman <bill.haneman@sun.com>
1879 (AccessibleEvent_ref, AccessibleEvent_unref):
1880 New methods, for persisting an event outside the emission context.
1881 Must be used if the new accessor methods are to be called
1882 outside of the event listener's callback.
1884 * cspi/bonobo/cspi-bonobo.c:
1885 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
1886 as second parameter instead of NULL, so we can call
1887 cspi_check_ev afterwards.
1890 (cspi_object_take): New internal method,
1891 converts a CORBA_Object reference to a hard ref on
1892 an Accessible if possible, returning NULL if the object
1893 reference is invalid or an Accessible * otherwise.
1896 (AccessibleEvent_ref):
1897 Increment the event's internal private refcount, and
1898 add the event's internal struct to an internal cache
1899 if it's not already there.
1900 (AccessibleEvent_unref):
1901 Decrement the event's refcount and remove it from
1902 the cspi event cache if refcount==0.
1903 (cspi_event_compare): New private method.
1904 Compares two event structs via their ids. Used
1906 (cspi_internal_event_lookup): New private method.
1907 (cspi_internal_event_check): New private method,
1908 a 0-order sanity check for events to make sure their
1909 private data is intact.
1910 (cspi_internal_event_add, cspi_internal_event_remove):
1911 New private methods for managiing the event cache.
1913 * cspi/bonobo/cspi-bonobo-listener.c:
1915 Initialize the new private data elements (id, magic, ref_count).
1917 * atk-bridge/bridge.c:
1918 (spi_atk_bridge_signal_listener):
1919 Fixed bug #100530, passing wrong params to emission func.
1921 * registryd/deviceeventcontroller.c:
1922 (spi_dec_button_update_and_emit):
1923 Fixed type in mask bit operations; fix for #99799.
1925 2002-12-02 Bill Haneman <bill.haneman@sun.com>
1927 Removed some of the more dangerous workarounds from
1928 previous commit; they are only needed by GOK, which
1929 in reality should be using another method to accomplish
1930 the goals. So on reconsideration some of the workarounds
1931 need to be reverted:
1933 * registryd/deviceeventcontroller.c:
1934 (spi_keycodes_contain, spi_dec_init_keycode_list):
1935 Removed these methods, used only by a nasty hack to try
1936 and detect whether a key synthesis should be allowed
1937 to reset the XKB latch state or not. This code was only
1938 required to work around an interaction between GOK,
1939 button events, and XKB.
1940 (impl_generate_key_event):
1941 Removed hack at end of key generation that tried to
1942 "do the right thing" if XKB latch keys were generated
1943 in the midst of button press/release pairs.
1946 Added a check for HAVE_XINPUT. Not normally used yet.
1948 2002-11-25 Bill Haneman <bill.haneman@sun.com>
1950 Workarounds and fixes for mouse event/XKB interaction.
1952 * registryd/deviceeventcontroller.c:
1953 (spi_keycodes_contain, spi_dec_init_keycode_list):
1954 New internal methods.
1955 (spi_dec_set_unlatch_pending):
1956 Split the method that tells XKB to expect an
1957 unlatch (and revert it) out of the rest of the
1958 event handling code. This method is called by the
1959 two mouse event handlers (the poll and the filter).
1960 (spi_dec_update_and_emit, spi_dec_mouse_check):
1961 New methods split from spi_dec_poll_mouse_moved.
1962 The second one is now called from inside the filterFn
1963 when an XKB delatch event is received, to determine
1964 whether to revert the delatch or not.
1965 (spi_poll_mouse_moved): Refactor; also we can now
1966 properly handle the case where multiple button states
1967 have changed between polling cycles and we didn't get
1968 notified due to another client's grab.
1970 Synchronize the server while handling an XKB notification.
1971 Ugly, but apparently necessary to avoid nasty races.
1972 Check the mouse state on receipt of an XKB latch change,
1973 to decide whether to revert the latch or not. (Latches are
1974 reverted if there is an immediately preceding mouse button
1975 event that a client has consumed, in which case we don't want
1976 the user to see the side-effect of the event).
1977 (spi_device_event_controller_forward_mouse_event):
1978 Check for modifier events and fire before resetting mouse_mask_state,
1979 prevents losing modifier events.
1981 (impl_generate_keyboard_event):
1982 If we've just generated a keyboard event for a non-shift key,
1983 we don't want to revert the pending XKB latch.
1984 Otherwise, check the modifier state (via a call to
1985 spi_dev_mouse_check) and set the relatch mask to
1986 that state before returning.
1988 2002-11-24 Bill Haneman <bill.haneman@sun.com>
1991 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1994 * atk-bridge/bridge.c:
1995 (spi_atk_register_event_listeners):
1996 Don't re-register for ATK events if the registry has died
1997 and the app needs to re-register; the ATK listeners are in
1998 process and doing so will cause duplicate emission.
2000 * registryd/deviceeventcontroller.c:
2001 (spi_poll_mouse_moved):
2002 Reformat the source, detect and emit multiple button-change
2003 events (i.e. if multiple buttons have changed between poll
2005 Add code to detect mouse-down events even when the pointer
2006 is grabbed; workaround for GOK bug 98420.
2007 (spi_controller_register_with_devices):
2008 Call XTestGrabControl with 'impervious' flag set to True,
2009 allows us to synthesize events and query the pointer even during
2010 an active grab by another client.
2011 (spi_device_event_controller_forward_mouse_event):
2012 Set the mouse_mask_state to the mouse_button_state from
2013 the intercepted event, to synchronize the grab listener with
2016 2002-11-20 Bill Haneman <bill.haneman@sun.com>
2018 * cspi/spi_accessible.c:
2019 (AccessibleRole_getName):
2020 Added necessary strings for making this (deprecated)
2021 method work with the new role types.
2022 (init_role_table, role_table):
2023 Added definition of SPI_ROLE_APPLICATION.
2025 * libspi/spi-roletypes.h:
2026 Added SPI_ROLE_APPLICATION.
2028 * idl/Accessibility_Role.idl:
2029 Added ROLE_APPLICATION.
2031 * docs/reference/cspi/at-spi-cspi-decl.txt:
2032 Added SPI_ROLE_APPLICATION to docs.
2034 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
2036 * cspi/spi_accessible.c
2037 (cspi_init_role_table): Do not write beyond end of role_table.
2038 (Accessible_getRole): Use correct type for value returned by
2039 Accessibility_Accessible_getRole().
2041 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
2042 beyond end of role_table. (This fixes bug #98269)
2044 * libspi/application.c: Add include file spi-private.h for
2045 definition of spi_init_any_nil.
2047 2002-11-19 Bill Haneman <bill.haneman@sun.com>
2051 * libspi/spi-private.h:
2052 Added DGB() macro, and extern int _dbg declaration.
2054 * registryd/registry.c:
2055 (definitions) storage for _dbg.
2056 (spi_registry_init):
2057 Get environment variable "AT_SPI_DEBUG".
2058 (spi_registry_set_debug):
2059 New method, to initialize _dbg value.
2060 (spi_listener_struct_new, spi_registry_object_finalize):
2061 (notify_listeners_cb):
2062 Changed fprintfs to use DBG and g_warning().
2064 * registryd/deviceeventcontroller.c:
2065 (_deregister_keygrab, spi_controller_register_device_listener):
2066 Changed debug/warning messages to use DBG macro.
2068 * libspi/listener.c:
2069 (impl_notify_event):
2070 Changed warning messages to use DBG macro and g_warning().
2072 * atk-bridge/bridge.c:
2073 (atk_bridge_init, spi_atk_bridge_get_registry):
2074 (spi_atk_bridge_exit_func):
2075 (spi_atk_bridge_property_event_listener):
2076 Changed status, warning, and error messages to use
2077 g_warning, g_message, and DBG macros.
2080 Read the state of the AT_SPI_DEBUG environment variable
2081 and set a local '_dbg' accordingly.
2083 2002-11-19 Bill Haneman <bill.haneman@sun.com>
2085 FIXES for 98836, 98842, other bugs.
2088 Revved to 1.1.4, interface-age=4, binary-age=4.
2090 * registryd/deviceeventcontroller.c:
2092 Fixed crasher bug in last_mouse_pos initialization.
2094 * registryd/registry.c:
2095 (desktop_add_application, desktop_remove_application):
2096 Added (and then commented out) some support for
2097 object context marshalling. [TODO]
2099 * atk-bridge/bridge.c:
2100 (spi_atk_bridge_event_context_create):
2101 Commented out object context creation until it can
2102 be properly tested and debugged.
2104 * registryd/registry.c:
2105 (impl_registry_notify_event):
2106 Fixed crasher bug, we were calling
2107 spi_re_entrant_list_foreach () with an empty list.
2109 2002-11-18 Bill Haneman <bill.haneman@sun.com>
2111 * idl/Accessibility_Action.idl:
2112 * idl/Accessibility_Component.idl:
2113 * idl/Accessibility_Desktop.idl:
2114 * idl/Accessibility_Event.idl:
2115 * idl/Accessibility_Hyperlink.idl:
2116 * idl/Accessibility_Image.idl:
2117 * idl/Accessibility_Relation.idl:
2118 * idl/Accessibility_Selection.idl:
2119 * idl/Accessibility_State.idl:
2120 * idl/Accessibility_Value.idl:
2121 Updated unimplemented slot count to minimum of
2122 four for all interfaces, for ABI freeze.
2124 * idl/Accessibility_EditableText.idl:
2125 * idl/Accessibility_Text.idl:
2126 Updated unimplemented slot count to six
2129 * idl/Accessibility_Registry.idl:
2130 Updated unimplemented slot count to six
2131 (also for DeviceEventController),
2134 * idl/Accessibility_Table.idl:
2135 Updated unimplemented slot count to eight,
2138 * idl/Accessibility_Event.idl:
2139 Added CORBA_any "any_data" member to Event struct.
2141 * idl/Accessibility_Event.idl:
2142 Added CORBA_any "any_data" member to Event struct.
2144 * atk-bridge/bridge.c:
2146 atk_signal_text_changed, atk_signal_child_changed,
2147 signal ids queried from gtype system.
2148 (AtkBridgeEventContextType): New enum.
2149 (AtkBridgeEventContextData): New struct.
2150 (AtkBridgeEventContext): New struct.
2151 (atk_bridge_init_event_type_consts):
2152 New method, initializes type contants for comparison
2153 prior to emit_eventv.
2154 (atk_bridge_event_context_init): New method,
2155 initializes a CORBA_any from an AtkBridgeEventContext.
2156 (atk_bridge_focus_tracker): Call spi_init_any_nil to
2157 initialize the event.any_data struct.
2158 (spi_atk_bridge_event_context_create): New method,
2159 creates an AtkBridgeEventContext from signal/event info.
2160 (spi_atk_bridge_event_context_free): New method.
2161 (spi_atk_emit_eventv): Changed to take an
2162 AtkBridgeEventContext parameter. We now initialize
2163 the event.any_data member prior to notifying the
2164 Registry, via the AtkBridgeEventContext.
2165 (spi_atk_bridge_property_event_listener):
2166 (spi_atk_bridge_state_event_listener):
2167 Match emit_eventv signature.
2168 (spi_atk_bridge_object_event_listener):
2169 Match emit_eventv signature, and create an
2170 event context from the event details.
2171 Free the event context afterwards.
2172 (spi_atk_bridge_window_event_listener):
2173 Create an event context, pass it to the
2177 (AccessibleEvent_getContextString):
2178 (AccessibleEvent_getContextObject):
2179 New methods, allow query of AccessibleEvent objects
2180 for more context details (via the "any_data" member
2181 of the Event struct, above).
2184 Definitions for AccessibleEvent_getContextString
2185 and AccessibleEvent_getContextObject.
2187 * cspi/spi_listener.h:
2188 (InternalEvent): New struct.
2191 (AccessibleEvent_getContextString):
2192 (AccessibleEvent_getContextObject):
2193 Implementations of new methods, for obtaining
2194 additional context information from some event types.
2196 * cspi/spi_registry.c:
2197 (SPI_registerGlobalEventListener):
2198 Added mention of active-descendant-changed event in docs.
2200 * cspi/cspi-bonobo-listener.c:
2202 Marshal the any into the AccessibleEvent via
2205 * libspi/spi-private.h:
2206 #include <orbit/orbit.h>
2208 (spi_init_any_string):
2209 (spi_init_any_object):
2210 New convenience function declarations.
2214 (spi_init_any_string):
2215 (spi_init_any_object):
2216 New convenience function implementations.
2218 * registryd/deviceeventcontroller.c:
2219 (spi_poll_dec_mouse_moved):
2220 (spi_device_event_controller_forward_mous_event):
2221 Initialize any_data member of event.
2222 (spi_deregister_controller_device_listener):
2223 Fix incorrect param pass which was preventing deregistration.
2225 * registryd/registry.c:
2226 (desktop_add_application):
2227 (desktop_remove_application):
2228 Add object data to event's any_data before dispatch.
2230 Fix for error messages from GAIL.
2232 * test/event-listener-test.c:
2233 Test new ContextString and "any_data" API:
2234 (report_text_event): New method query and output context string.
2235 (main): register a new text listener with report_text_event
2238 2002-11-19 Darren Kenny <darren.kenny@sun.com>
2240 Fixes for bugs 98127 and 97914.
2241 * cspi/spi-roletypes.h:
2242 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
2244 * cspi/spi-statetypes.h:
2245 Added SPI_STATE_MANAGES_DESCENDANTS
2247 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
2248 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
2249 * cspi/spi_accessible.c:
2250 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
2251 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
2252 Accessibility_STATE_MANAGES_DESCENDANTS
2253 * libspi/accessible.c:
2254 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
2255 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
2256 As requested by Bill, I also cleaned up the alignment.
2257 * libspi/relation.c:
2258 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
2259 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
2260 * libspi/stateset.c:
2261 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
2262 Accessibility_STATE_MANAGES_DESCENDANTS
2263 * docs/reference/cspi/tmpl/spi_accessible.sgml:
2264 Document changes reflecting modifications to roles.
2265 * docs/reference/cspi/tmpl/spi_relation.sgml:
2266 Document changes reflecting modifications to relations.
2267 * docs/reference/cspi/tmpl/spi_stateset.sgml:
2268 Document changes reflecting modifications to states.
2270 2002-11-17 Bill Haneman <bill.haneman@sun.com>
2273 Revved to 1.1.3, interface-age=3, binary-age=3.
2274 Added REBUILD macro.
2277 Removed accessx-gui from the tests, since we have a nice
2278 keyboard accessibility capplet now :-)
2280 * test/keysynth-demo.c:
2281 (increment_scan): removed do-nothing default: case,
2284 * test/visual-bell.c:
2285 (main) : removed do-nothing default: case,
2288 * cspi/spi_action.c:
2289 (AccessibleAction_getKeyBinding_):
2290 Documented keybinding string format.
2294 (AccessibleText_getAttributes):
2295 Documented the text attribute string format.
2296 It's changed to use semicolon delimiters also,
2297 to prevent clashes with CSS attributes, but the old
2298 trick of looking for ", " strings will still work
2299 (as unreliably as ever). Fix for bug related to 97916.
2302 Include <cspi/bonobo/cspi-bonobo-listener.h>
2303 Fixes build warning.
2304 (SPI_freeAccessibleKeySet):
2305 (AccessibleKeystrokeListener_addCallback):
2306 (AccessibleKeystrokeListener_removeCallback):
2307 Modify to use AccessibleDeviceListener API internally,
2308 instead of AccessibleKeystrokeListener.
2310 * idl/Accessibility_Event.idl:
2311 Added two more empty slots to EventListener (for a total of four).
2313 * idl/Accessibility_Accessible.idl:
2314 Added four empty slots to Accessible interface.
2316 2002-11-15 Bill Haneman <bill.haneman@sun.com>
2318 * idl/Accessibility_Registry.idl:
2319 (KeyEventType, EventType):
2320 Marked KeyEventType as deprecated; it duplicates
2321 functionality of EventType, which has been extended to
2322 include Mouse-button events.
2323 (KeyEventTypeSeq): defined in terms of EventType.
2324 (registerDeviceEventListener, deregisterDeviceEventListener):
2325 New methods, for managing listeners to device events,
2326 which potentially may consume them.
2329 Added definition for AccessibleDeviceListener.
2331 * cspi/spi-listener.h:
2332 (enum AccessibleDeviceEventType):
2333 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
2334 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
2335 for backwards compat.
2336 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
2337 and typedef'd AccessibleKeystroke to it for back-compat.
2338 (AccessibleDeviceListenerCB):
2339 New function prototype typedef.
2342 (AccessibleDeviceEventMask): New typedef.
2343 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
2344 (AccessibleKeyMaskType):
2345 Set equivalent to AccessibleModifierMaskType for back-compat.
2346 (SPI_createAccessibleKeystrokeListener):
2347 (AccessibleKeystrokeListener_unref):
2348 Deprecated in favor of equivalent (better-named) new API below..
2349 keystroke listeners are like all device listeners.
2350 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
2351 New API names for old features :-).
2352 (AccessibleDeviceListener_addCallback):
2353 (AccessibleDeviceListener_removeCallback):
2354 (SPI_registerDeviceEventListener):
2355 (SPI_deregisterDeviceEventListener):
2359 (SPI_createAccessibleKeystrokeListener):
2360 Use new preferred API, cspi_device_listener_new() and
2361 cspi_device_listener_add_cb().
2362 (AccessibleKeystrokeListener_removeCallback):
2363 Use new preferred API, cspi_device_listener_remove_cb().
2364 (AccessibleKeystrokeListener_unref):
2365 Use new preferred API, cspi_device_listener_unref().
2366 (SPI_createAccessibleDeviceListener):
2367 (AccessibleDeviceListener_addCallback):
2368 (AccessibleDeviceListener_removeCallback):
2369 Implementation of new API.
2371 * cspi/spi_registry.c:
2372 (SPI_registerDeviceEventListener):
2373 (SPI_deregisterDeviceEventListener):
2374 Implementation of new API. Fixed memory leak and removed need to
2375 allocate EventTypeSeq (thanks Michael for catching this).
2376 Squashed a wayward CORBA_exception_free that shouldn't get called.
2378 * cspi/bonobo/cspi-bonobo-listener.c:
2380 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
2381 (cspi_key_event): renamed to cspi_device_event().
2382 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
2383 Extended to handle mouse button events as well as key events.
2384 (CSpiKeystrokeListener):
2385 Class superceded by CSpiDeviceListener.
2386 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
2387 These internal APIs changed to "*device_listener" from "*keystroke_listener".
2389 * cspi/bonobo/cspi-bonobo-listener.h:
2390 (CSpiKeystrokeListener):
2391 Class superceded by CSpiDeviceListener.
2392 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
2393 These internal APIs changed to "*device_listener" from "*keystroke_listener".
2395 * libspi/Makefile.am:
2396 Replaced keystrokelistener.h and keystrokelistener.c
2397 with devicelistener.h and devicelistener.c; keystrokelisener.h
2398 stub retained for back-compat.
2400 * libspi/keystrokelistener.c:
2404 Replaced inclusion of keystrokelistener.h with devicelistener.h.
2406 * registryd/deviceeventcontroller.c:
2407 (DEControllerListener): Added Accessibility_EventTypeSeq member.
2408 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
2409 (DEControllerPrivateData): Added xkb settings data.
2410 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
2411 button release events (which can't be captured via XGrabButton).
2412 Don't dispatch via the 'normal' event mechanism if the device event was
2414 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
2415 Handle the typeseq data in its new location (see above).
2416 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
2417 New methods, for "generic" device listeners.
2418 (spi_controller_register_device_listener):
2419 Now handle mouse event listeners as well as key listeners.
2420 (spi_controller_notify_mouselisteners):
2421 New internal method.
2422 (spi_device_event_controller_forward_mouse_event):
2423 Now we notify mouse device listeners as well as generating the
2424 non-consumable "mouse:" events.
2426 We must check and restore the XKB
2427 modifier map if we consume the event, since the act of triggering
2428 a mouse event will normally reset the XKB latch. This is required for
2430 (spi_controller_register_with_devices):
2431 Load the XKB settings when registering, and register for XKB
2432 state notify events.
2433 (spi_key_eventtype_seq_contains_event):
2434 Renamed spi_eventtype_seq_contains_event, since it's used
2435 internally for all device event types now.
2436 (spi_key_event_matches_listener):
2437 Uses spi_eventtype_seq_contains_event now.
2438 (spi_device_event_controller_object_finalize):
2439 Free the private data and the XkbKeyboard struct.
2440 (impl_register_device_listener, impl_deregister_device_listener):
2441 Implementation of new IDL.
2442 (spi_deregister_controller_device_listener):
2443 New internal method.
2444 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
2445 More efficient implementation, we don't have to create a new
2446 XkbControls structure every time we query.
2447 (spi_device_event_controller_class_init):
2448 Initialize the epv entries for the new IDL. Assign the
2449 "spi-dec-private" quark.
2450 (spi_device_event_controller_init):
2451 Initialize the private data.
2452 (spi_device_event_controller_forward_key_event):
2453 Removed a bogus CORBA_exception_free() call.
2455 * registryd/deviceeventcontroller.h:
2456 Replaced inclusion of keystrokelistener.h with
2459 * test/event-listener-test.c:
2460 (report_mouse_event):
2463 Added mouse-event device listener.
2465 * test/test-simple.c:
2466 (create_test_window):
2467 Fixed regression (we were instantiating a GtkRange,
2468 which is now an abstract class). Also fixed to match
2469 existing AtkRole names, this seems to have changed in ATK
2470 awhile ago; too late now I think, and the new
2471 mechanism is at least elegant and consistent with the
2472 glib enum "nick" APIs.
2474 2002-11-15 Darren Kenny <darren.kenny@sun.com>
2476 * idl/Accessibility_Relation.idl:
2477 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
2478 RELATION_EMBEDS,RELATION_EMBEDDED_BY
2479 * idl/Accessibility_Role.idl:
2480 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
2481 * idl/Accessibility_State.idl:
2482 add STATE_MANAGES_DESCENDANTS
2483 * test/event-listener-test.c:
2484 Added a listener for active-descendant events.
2486 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
2488 * atk-bridge/bridge.c
2489 (atk_bridge_init): If application is Bonobo component wait until top
2490 level is added before registering
2491 (spi_atk_bridge_do_registration): New function which contains code,
2492 formerly in atk_bridge_init, to do application registration.
2493 (spi_atk_bridge_toplevel_added): Signal called when top level
2494 added to Bonobo component
2496 This fixes bug #83134.
2498 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
2500 * registryd/deviceeventcontroller.c
2501 Fixed compilation error caused by calling gettimeofday()
2504 2002-10-18 Bill Haneman <bill.haneman@sun.com>
2509 Added template for HAVE_XKB.
2512 Changes to check for XKB, and to set the HAVE_XKB #define if it
2515 * libspi/listener.c:
2516 ()impl_notify_event): Make failure to get event source name
2519 * registryd/deviceeventcontroller.c:
2520 (#include): include X11/XKBlib.h.
2521 (DEControllerPrivateData) : New struct.
2522 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
2524 (dec_synth_keycode_press) (dec_synth_keycode_release):
2525 New methods; split the key synthesis code into these methods.
2526 They check XKB settings before determining the "time" values to
2527 pass to Xtest; this fixes bug #95828.
2528 (impl_generate_keyboard_event): Changed to use methods above,
2529 instead of callng Xtest directly.
2530 (spi_device_event_controller_init): Initialize new privae struct s
2532 (spi_device_event_controllr_object_finalize):
2533 Free the (new) private data.
2535 * registryd/deviceeventcontroller.h:
2536 Add new gpointer to end of struct data.
2538 2002-10-16 Bill Haneman <bill.haneman@sun.com>
2541 Incremented revision to 1.1.2, SONAME is still '.so', library
2542 extensions are ".so.0.0.2".
2544 * registryd/deviceeventcontroller.c:
2545 FIXES FOR #93592 and #95940.
2546 (statics): renamed mouse_button_state to mouse_mask_state,
2547 added key_modifier_mask.
2548 (spi_dec_poll_mouse_moved):
2549 Added key modifier checks, and emit "keyboard:modifiers"
2550 events when the key modifiers currently in use change.
2551 Also generate "mouse:abs" events periodically, even if the mouse
2552 is stationary (should we?).
2553 Alternatively we could generate "mouse:abs" events for either all
2554 mouse movements, or every 'nth' mouse movement, or at the
2555 beginning and end of every "active" mouse period.
2557 * test/event-listener-test.c:
2558 (main): Added listener for "keyboard:modifiers" events.
2560 2002-10-15 Bill Haneman <bill.haneman@sun.com>
2562 * libspi/keymasks.h:
2563 Added key mask #defines for mouse buttons; e.g.
2564 SPI_KEYMASK_BUTTON1, etc.
2567 Incremented dependency on ATK to version 1.1.0. (This dependency
2568 is probably premature but will soon be real enough).
2570 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
2572 * libspi/hyperlink.[ch]
2573 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
2574 (get_hyperlink_from_servant): Check object is AtkHyperlink not
2577 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
2582 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
2584 * registryd/deviceeventcontroller.c
2585 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
2586 events to be ignored.
2587 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
2588 keyboard_mode so that XAllowEvents() can be called.
2592 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
2594 * cspi/spi-accessible.c: Correct names of roles returned by
2595 AccessibleRole_getName(). Fixes bug #95055.
2597 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
2599 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
2602 * registryd/registry.c
2603 (desktop_remove_application: Write diagnostic message to stderr for
2606 (impl_accessibility_registry_deregister_global_event_listener):
2607 Correct size of lists array. This addresses bug #94555).
2609 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
2611 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
2614 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
2616 * registryd/Makefile: Add CLEANFILES so that .server file is removed
2619 * registryd/registry.c (impl_registry_notify_event): Remove
2620 unnecessary call to parser_event_type().
2622 * docs/reference/cspi/tmpl/spi_component.sgml:
2623 Add reference to SPI_LAYER_WINDOW.
2625 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
2627 * registryd/registry.c
2628 (desktop_add_application): Remove leak.
2629 (desktop_remove_application): Remove leak.
2630 (parser_event_type): Remove leak.
2632 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
2634 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
2635 bogus call to CORBA_string_dup(). Also removed unnecessary
2636 g_string_dup/g_free calls.
2638 2002-09-13 Bill Haneman <bill.haneman@sun.com>
2640 * registryd/deviceeventcontroller.c:
2641 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
2643 * test/event-listener-test.c:
2644 main: commented out three redundant listeners, to reduce output
2645 noise. (They still are potentially useful for testing).
2648 2002-09-13 Michael Meeks <michael@ximian.com>
2650 * Update all the copyrights to include Ximian.
2652 2002-09-06 Mark McLoughlin <mark@skynet.ie>
2654 * cspi/spi.h: add SPI_LAYER_WINDOW.
2656 * cspi/spi_component.c: (AccessibleComponent_getLayer):
2657 add Accessibility_LAYER_WINDOW case.
2659 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
2661 * libspi/component.c: (impl_accessibility_component_get_layer):
2662 add ATK_LAYER_WINDOW case.
2664 2002-08-28 Bill Haneman <bill.haneman@sun.com>
2666 * configure.in: incremented micro version.
2668 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
2670 2002-08-20 Bill Haneman <bill.haneman@sun.com>
2673 Clarified and reworded our commit policy.
2676 Started an API "todo" addition list for 2.2.
2679 (impl_getSelection):
2680 Free char pointer from atk_text_get_selection, which was being leaked.
2682 2002-08-19 Bill Haneman <bill.haneman@sun.com>
2685 Small revision to author acknowledgement.
2687 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
2689 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
2690 If signal has detail add it to the type of the event.
2693 2002-08-12 Michael Meeks <michael@ximian.com>
2695 * test/test-simple.c (global_listener_cb): bin bogosity.
2696 (test_keylisteners): disable, still doesn't work reliably,
2697 certainly not on my system anyway.
2699 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
2700 don't leak a reference on the DEC. This round-trip
2701 fetching of the DEC per keystroke sucks, it should be
2704 * cspi/spi-private.h,
2705 * cspi/cspi-lowlevel.h,
2706 * cspi/bonobo/cspi-bonobo-listener.[ch],
2707 * cspi/bonobo/cspi-bonobo.c: get the copyright
2708 notices better - there is still a large amount of
2709 work in at-spi falsely attributed solely to Sun.
2711 * cspi/spi_main.c (cspi_object_ref): kill bogus
2712 hash lookup, just increment the ref.
2713 (SPI_freeString): make explicit the fact that we
2714 handle NULL strings just fine.
2715 (report_leaked_ref): obey coding standards.
2716 (cspi_object_hash, cspi_object_equal): kill retval.
2717 (cspi_object_release): only release if not on loan.
2718 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
2719 (cspi_object_borrow, cspi_object_return): impl.
2721 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
2722 use cspi_object_borrow / return.
2724 2002-08-12 Darren Kenny <darren.kenny@sun.com>
2726 * cspi/bonobo/cspi-bonobo-listener.c:
2728 Don't call cspi_oject_new() because this is creating a new Accessible
2729 every single time that an event is fired. This causes ATs like at-poke
2730 to nolonger recognise the source of the event and thus ignore it.
2731 Re-use the object from the cache, ref it and then unref it after the
2732 listeners have been called.
2734 2002-08-06 Darren Kenny <darren.kenny@sun.com>
2736 * test/event-listener-test.c:
2737 Added command-line options to disable mouse events (m) and
2740 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
2742 * configure.in: Update required versions of ATK, GTK+ and GAIL
2744 * cspi-1.0.pc.in: Add dependency for X include files
2747 * cspi/bonobo/Makefile.am:
2748 Add $(X_CFLAGS) so that X include files
2749 are picked up even if not in standard place (bug #71686)
2751 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2753 * registryd/deviceeventcontroller.c: fix for 84261
2754 (spi_dec_mouse_moved):
2755 Added test of mouse button mask, so that we can detect mouse
2756 button release. Unfortunately we can't otherwise detect mouse
2757 button release events without consuming the mouse press event,
2758 because of the way XGrabButton works. This means that our mouse
2759 release events have a latency dependent on the polling period
2760 while the mouse button is down. At least in this case we only
2761 have to poll while the button is down, and not at other times.
2762 If the button masks don't match with what the last press event
2763 reported, we report the appropriate button release event.
2764 (spi_dec_ungrab_mouse):
2765 New method (not yet called).
2766 (spi_device_event_controller_forward_mouse_event):
2767 New method, sends mouse press event from GdkFilter.
2768 (spi_dec_init_mouse_listener):
2769 Added code to call XGrabButton, redirecting mouse button events to
2770 the root window and our Gdk event loop.
2772 Added code to filter mouse button events, and reordered.
2774 * test/event-listener-test.c:
2776 Added registration for mouse events of type "mouse:button".
2778 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2780 * registryd/deviceeventcontroller.c: partial fix for 84261
2781 (spi_dec_poll_mouse_idle):
2782 New method, a timeout which checks to see if the mouse
2784 (spi_dec_poll_mouse_moving):
2785 A timeout to be called when mouse motion is underway.
2786 (spi_dec_poll_mouse_moved):
2787 A method which fires an event if the mouse has moved, and reports
2788 whether or not it did so.
2789 (spi_dec_init_mouse_listener):
2790 A method which sets up the timeouts above.
2791 (spi_device_event_controller_new):
2792 Now calls spi_dec_init_mouse_listener.
2794 * registryd/registry.c:
2795 (spi_registry_init):
2796 Now we initialize the device event controller when the registry is
2797 initialized, instead of waiting until a client has requested a key
2798 event notification; this is because we need the event controller
2799 for mouse events, but the mouse event registration API is a
2800 "registry" call and doesn't explicitly call the
2801 deviceeventcontroller.
2802 We now report mouse motion events with a 100 ms idle latency and
2803 a 20 ms granularity when motion is in progress.
2805 * test/event-listener-test.c:
2807 We now register the "detail listener" for events of type
2808 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
2809 delivered only for the first mouse event received, and thereafter
2810 "mouse:abs" events are delivered.)
2812 * cspi/spi_registry.c:
2813 DOCS: Documented the above mouse event typestrings.
2815 2002-06-21 Bill Haneman <bill.haneman@sun.com>
2817 Happy Summer Solstice...
2819 * registryd/deviceeventcontroller.c: [fix for bug 84100]
2820 (spi_controller_notify_keylisteners):
2821 Changes to remove a listener from the listener list, freeing its
2822 open keygrabs, if a notification to that listener fails. This
2823 means that although a dead listener can continue to hold a passive
2824 keygrab, a maximum of one dispatch to such a listener can fail
2825 before the listener is removed from the list, thus the keygrab
2826 will be released on the next occurrence.
2827 As part of this fix:
2828 (spi_notify_keylisteners):
2829 Renamed to spi_controller_notify_keylisteners, as the controller
2830 instance must now be passed as an argument.
2831 The copied 'notify' GList is now a list of DEControllerKeyListener
2832 objects, since we need more than just the CORBA reference if a
2833 notify fails and we need to deregister the listener.
2834 (impl_notify_listeners_sync):
2835 (impl_notify_listeners_async):
2836 (spi_device_event_controller_forward_key_event):
2837 Modify use of notify_keylisteners in accordance with above
2839 (spi_deregister_controller_key_listener):
2840 New method introduced by refactoring, from
2841 impl_deregister_keystroke_listener.
2842 (impl_deregister_keystroke_listener):
2843 Call spi_deregister_controller_key_listener.
2844 (spi_key_listener_clone):
2845 New method to copy a key listner without doing a 'ref' on the
2846 remote object instance; used to create a notifier list.
2847 (spi_key_listener_data_free):
2848 New method, frees data without unreffing the source.
2850 (spi_key_listener_clone_free): new method.
2851 (spi_key_listener_free):
2852 refactored to call spi_key_listener_data_free.
2854 2002-06-20 Bill Haneman <bill.haneman@sun.com>
2856 * registryd/registry.c: [fix for bug 86048]
2857 (notify_listeners_cb):
2858 Clear CORBA system exceptions which occur when notifying
2859 listeners, before returning to the source of the original event,
2860 since the event source doesn't care if the relayed notify failed.
2861 In other words, don't complain to the atk-bridge if the registry
2862 could not notify all its listeners, that's no fault of the
2863 application and thus should not appear to be an error from the
2864 application's perspective.
2866 * cspi/spi_main.c: [fix for bug 85980]
2868 Replaced use of bonobo_object_dup_ref with call to the wrapper
2869 method, csou_dup_ref (); this silences a compiler warning and
2870 provided more portability.
2872 Ping the registry before return, and restart if necessary.
2874 * cspi/bonobo/cspi-bonobo.c:
2876 New internal method.
2878 Fixed this method to return an object reference, as it should have
2881 * cspi/cspi-lowlevel.h:
2882 Added internal definition for cspi_ping() and fixed
2883 return type of cspi_dup_ref().
2886 2002-06-19 Bill Haneman <bill.haneman@sun.com>
2888 * atk-bridge/bridge.c: [fix for bug 85305]
2889 (spi_atk_bridge_register_application):
2890 New method where the initial application registry calls have been
2891 moved; it allows an application to re-register in response to
2892 certain error conditions (such as a registry restart, see below).
2894 Moved some initialization code to the method
2895 spi_atk_bridge_get_registry, below.
2896 (spi_atk_bridge_get_registry):
2897 New, private accessor function for the Accessibility_Registry
2898 instance. If the registry has not been started before, or has
2899 died (as detected by failure of a CORBA exception), it is
2900 restarted before return, and spi_atk_bridge_register_application
2901 is called again to register with the new bridge instance.
2902 (spi_atk_emit_eventv):
2903 Set registry_died on error; use spi_atk_bridge_get_registry () to
2904 access the registry.
2906 * registryd/registry.c:
2907 (impl_accessibility_registry_register_global_event_listener):
2908 Set listener's event_type_quark to etype.minor instead of
2909 etype.major (fix for bug 84856).
2911 * test/event-listener-test.c:
2912 (report_detail_event):
2913 Change the output string so that user/tester can tell that the
2914 'detail listener' was called instead of the 'generic listener'.
2916 2002-06-18 Bill Haneman <bill.haneman@sun.com>
2918 Fixes for bugs 84900, 84908, 84897, 84898.
2923 Revved version to 1.1.0
2924 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
2925 version is going to HEAD which will be used for gnome-2-0-1 and later.)
2927 * idl/Accessibility_Registry.idl:
2928 (EventListener::notifyEvent):
2929 Removed 'oneway' directive after extensive consulation with
2930 ORBit2 team and others. This means also that unref() of the event
2931 source can and should be done synchronously after emission, rather
2932 than remotely in the client, after servicing the notify call on
2935 NOTE: This change speeds up listener performance considerably, but
2936 introduces new latency on the application side. We may want to
2937 add an event queue to the atk-bridge.
2939 * atk-bridge/bridge.c:
2940 (spi_atk_bridge_focus_tracker):
2941 Do a local unref() on the event source after emission.
2943 * registryd/registry.c:
2944 (desktop_remove_application):
2945 Do an unref() on the event source after emission.
2946 (desktop_add_application):
2947 Do an unref() on the event source after emission.
2948 (notify_listeners_cb):
2949 When relaying an event, don't automatically add the event source
2950 to the local object cache, just CORBA_dup it instead. Likewise,
2951 if this method reenters, release the ref rather than calling
2953 (impl_registry_notify_event):
2954 No longer call remote unref() on the event source after dispatch.
2956 * libspi/eventlistener.c:
2957 (impl_accessible_event_notify_event):
2958 Removed remote unref ()
2960 * cspi/bonobo/cspi-bonobo-listener.c:
2962 We now call cspi_object_new() instead of cspi_object_add() on
2963 receipt of an event; thus we only have an implicit object ref
2964 while the cspi_event method is being executed. If we need to keep
2965 a reference to the object, the listener must call ref() on the
2966 object. Thus also we don't need to call cspi_object_unref() after
2967 invoking the listener callbacks in this method.
2971 New internal API for creating a new cspi object, without adding it
2972 to the object cache.
2974 Now uses cspi_object_new() to create the cspi object instance.
2976 Now checks to see if the object is in the internal object cache,
2977 and adds it if necessary before incrementing its refcount (note
2978 that new objects are added with a refcount of 1).
2979 (report_leaked_ref):
2980 New method which gives some information on leaked object instances
2981 if leak detection is turned on.
2983 * test/event-listener-test.c:
2984 (timing_test_event):
2985 New method, used for testing event delivery timing for special
2986 events of type "object:test". It reports elapsed time and
2987 events/sec every 500 events.
2989 Added a new listener, 'test listener', to check timing of event
2990 receipt as noted above.
2992 Added some timing output here also, reports elapsed time every 100
2995 * test/stress-test.c:
2996 Emit events of type "object:test", for use with "event-listener-test".
2998 * test/test-simple.c:
2999 (global_listener_cb):
3000 Call Accessible_ref() on the event source before calling
3001 validate_accessible, since the validation process does pointer
3002 comparisons on the event source, meaning that the event source
3003 needs to be added to the local object cache first. Any use of
3004 such pointer comparisons between Accessible objects requires that
3005 the caller hold an explicit reference to those objects.
3006 We also must therefore call Accessible_unref() when leaving this method.
3008 2002-06-13 Bill Haneman <bill.haneman@sun.com>
3010 * registryd/deviceeventcontroller.c:
3011 (spi_controller_update_key_grabs):
3012 Fix for #84735, subsequent keygrab listeners not informed of
3013 registration failure.
3016 (spi_base_construct):
3017 Add an assertion on construct, to make sure the GObject passed in
3018 is really a GObject.
3020 Explicitly initialize object->gobj pointer to NULL;
3022 * cspi/bonobo/cspi-bonobo-listener.c:
3023 (cspi_object_add_ref):
3024 New method, can specify whether to dup-ref a bonobo object passed
3025 in if it's newly added to the object cache.
3027 Now calls cspi_object_add_ref with second param of "FALSE". This
3028 prevents us from doing a pointless dup-ref followed by
3029 release-unref for all those cases where the object is already in
3030 our object cache (fix for #85205).
3032 * atk-bridge/bridge.c:
3033 (spi_atk_bridge_idle_init):
3034 Removed this method, we don't need to initialize in an idle
3037 Changed to call spi_atk_register_event_listeners directly, not via an
3038 idle handler. (fix for #81139)
3039 (gnome_accessibility_module_shutdown):
3040 Removed conditional around deregistration of listeners, since we
3041 don't use the idle handler and thus have always registered when
3043 (spi_init_keystroke_from_atk_key_event):
3044 Changed references to Accessibility_KEY_PRESSED to
3045 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
3047 2002-06-12 Bill Haneman <bill.haneman@sun.com>
3049 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
3054 * test/stress-test.c:
3057 (may have been an incomplete commit yesterday?)
3059 2002-06-12 Bill Haneman <bill.haneman@sun.com>
3062 Added target for new stress-test.
3064 * test/stress-test.c:
3065 New test, sends 1000 focus notifies in quick succession.
3067 * test/key-listener-test.c:
3068 Now we report whether a keylistener registration
3069 request succeeded or failed.
3071 * test/event-listener-test.c:
3072 Uncommented some listeners which are now implemented.
3075 2002-06-06 Bill Haneman <bill.haneman@sun.com>
3077 * registryd/deviceeventcontroller.c:
3078 (spi_controller_update_key_grabs):
3079 Fix for #82509, lack of failure notification when
3080 ALL_WINDOWS keygrabs fail due to XGrabKey
3081 failure: we synchronize the server when
3082 registering a passive grab, to make sure we get the
3083 error message before the call returns.
3085 2002-06-03 Bill Haneman <bill.haneman@sun.com>
3087 * test/test-simple.c:
3089 Removed #ifdef KEY_IMPL_WORKS guards.
3090 (test_keylisteners):
3091 Removed #ifdef KEY_IMPL_WORKS guards.
3092 Fixed bug which was causing a hang waiting for a
3093 "press" event (which was already overwritten by a "release"
3094 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
3096 Added code to set globals 'key_press_received' and
3097 'key_release_received'.
3100 Added section "1.1 API Proposed Additions" which
3101 lists API additions desired for at-spi-1.1 (only one so far).
3102 Updated TODO list a little.
3104 2002-06-02 Bill Haneman <bill.haneman@sun.com>
3106 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
3109 * configure.in: Revved to 1.0.0.
3111 * idl/Accessibility_Registry.idl:
3112 (registerKeystrokeListener):
3113 Added boolean return value.
3115 * registryd/registry.c:
3116 (notify_listeners_cb): Minor fix to debug output.
3118 * registryd/Accessibility_Registry.server.in.in:
3119 Revved version number in OAFIID to 1.0.
3121 * registryd/registryd.c:
3123 Use new OAFIID version.
3125 * cspi/bonobo/cspi-bonobo.c:
3127 Use new OAFIID version.
3133 * atk-bridge/bridge.c:
3135 Use new OAFIID version.
3137 * registryd/deviceeventcontroller.c:
3138 (impl_register_keystroke_listener):
3139 Added CORBA_boolean return value.
3140 (spi_controller_register_device_listener):
3141 Added gboolean return value.
3142 (spi_controller_register_global_keygrabs):
3143 Added gboolean return value.
3144 (spi_key_set_contains_key):
3145 Added implementation for many more control keys,
3146 for instance F1-F12, arrow keys, End, Home, Page_Up,
3148 [TODO: some still not implemented].
3150 * text/screen-review-test.c:
3151 (text_chunk_pad_string):
3152 New function: it provides mapping between coordinate
3153 positions of text chunks and character positions in the
3154 screen-review-line output string.
3155 (text_chunk_to_string):
3156 New function, calls text_chunk_pad_string with various
3157 pad/delimiter characters. Pushbuttons are delimited with
3158 square brackets, Frames with vertical 'pipe' lines, and
3159 other text with double quotes.
3160 (text_chunk_list_to_string):
3161 Calls new function text_chunk_to_string.
3162 (toplevel_composite):
3163 New function to composite layers CANVAS through
3164 POPUP in each toplevel (other layers are composited
3165 across toplevels, i.e. BACKGROUND and OVERLAY).
3166 (review_buffer_composite):
3167 Revise to use new methods.
3173 2002-05-31 Laszlo Peter <laca@sun.com>
3175 * configure.in: add the Xtst libdir to the runpath on Solaris,
3176 since it's not in the default library search path.
3178 2002-05-29 jacob berkman <jacob@ximian.com>
3180 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
3182 2002-05-29 Bill Haneman <bill.haneman@sun.com>
3184 * test/screen-review-test.c:
3185 (text_chunk_pad_string):
3186 Added method, which pads the string according to the
3187 text bounds of the chunk. It also takes a 3-character
3188 string as a param which indicates the characters to be
3189 used for start, padding, and end delimitation of the chunk.
3190 (text_chunk_to_string):
3191 Changed to use text_chunk_pad_string.
3193 * configure.in: Fixed bug in AC_OUTPUT that was
3194 causing path substitution in Accessibility_Registry.server
3197 2002-05-23 Bill Haneman <bill.haneman@sun.com>
3199 * text/screen-review-test.c:
3200 (guess_string_clip):
3201 New method which attempts a best-guess at clipping
3202 text from components (like Java labels) which don't
3203 actually implement AccessibleText. This inaccurate
3204 clip is based on the assumption that the label is
3205 justified left-and-right, and monospaced.
3206 (text_chunk_get_clipped_string):
3207 We now call guess_string_clip() for text-containing
3208 components that don't implement AccessibleText.
3210 * test/screen-review-test.c:
3211 (review_buffer_get_text_chunk):
3212 We now pull "name" from labels if they do not implement
3213 AccessibleText (i.e. for Java labels).
3214 (get_screen_review_line_at):
3215 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
3218 Replaceded AC_OUTPUT target
3219 registryd/Accessibility_Registry.server with
3220 registryd/Accessibility_Registry.server.in.
3222 * registryd/Accessibility_Registry.server.in:
3223 Removed (this is now a Makefile target).
3225 * registryd/Accessibility_Registry.server.in.in:
3226 Added (source for target above). We now use $(libexecdir) as
3227 prefix for the executable at-spi-registryd.
3229 * registry/Makefile.am:
3230 Now install at-spi-registryd into $(libexecdir), and build .server
3231 file with path (see above).
3233 2002-05-22 Bill Haneman <bill.haneman@sun.com>
3235 * test/screen-review-test.c:
3236 (text_chunk_get_clipped_string):
3237 We now check to see if words fall within clip bounds
3238 before resorting to character-by-character clip bounds testing.
3240 * TODO: Added a section for "2.2 Proposed API Additions".
3242 2002-05-21 Bill Haneman <bill.haneman@sun.com>
3244 * test/screen-review-test.c:
3246 Added a screen review benchmarking and test program to test
3249 * cspi/spi_accessible.c:
3251 Made some of the debug strings passed to cspi_check_ev a
3252 little more specific.
3254 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
3256 * test/screen-review-test.c: Fix crashes in debug statements
3258 2002-05-20 Bill Haneman <bill.haneman@sun.com>
3260 * test/screen-review-test.c: Added this file.
3262 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3264 * atk-bridge/bridge.c: changed "object:state-change" to
3265 "object:state-changed" to match docs.
3267 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3269 * atk-bridge/bridge.c: Hooked up state-change event details.
3271 2002-05-11 Bill Haneman <bill.haneman@sun.com>
3273 * registryd/registry.c:
3274 Fixed quarking bug in event string parsing; now events with
3275 detail parameters get matched correctly to listeners.
3278 * util/idl/Magnifier.idl: remove.
3280 * util/*.[ch]: Remove.
3281 Magnification utilities and IDL are now in module gnome-mag.
3283 2002-05-10 Bill Haneman <bill.haneman@sun.com>
3285 * registryd/deviceeventcontroller.c:
3286 Fixed bug in grab key conversion which was causing keycode grabs
3287 to be converted to AnyKey grabs.
3290 updated NEWS file to reflect recent spin-off of gnome-mag.
3292 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
3294 * cspi/spi_accessible.c: Added exception checks. Fixed completely
3295 busted AccessibleStateSet_compare. Removed redundant casts.
3297 * cspi/spi-action.c: Removed redundant casts.
3299 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
3301 * cspi/spi_component.c: Fixed typos and casting error.
3303 * cspi/spi_editabletext.c: Removed redundant casts.
3305 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
3307 * cspi/spi_hypertext.c: Eliminated redundant casts.
3309 * cspi/spi_image.c: Eliminated redundant casts.
3311 * cspi/spi_registry.c: Eliminated redundant casts.
3312 SPI_deregisterGlobalEventListenerAll () removed retval variable.
3313 * cspi/spi_selection.c: Removed redundant casts.
3314 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
3315 handling. Screen geometry and text offsets were being returned as 0
3316 on error which is technically valid-- changed these to return -1.
3317 Added marshaller for text boundary types to fix bug with boundary
3318 types being passed incorrectly to atk.
3320 2002-05-09 Bill Haneman <bill.haneman@sun.com>
3323 * cspi/spi_registry.c:
3324 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
3325 which was uncovered by the recent key changes.
3327 2002-05-09 Bill Haneman <bill.haneman@sun.com>
3329 * test/event-listener-test.c:
3331 Added new test, "event-listener-test";
3332 this code does two things; it benchmarks traversal time
3333 for the accessible hierarchy for the first running accessible
3334 app, and it connects listeners for all supported event types.
3335 It is thus useful as an example event listener and for
3336 diagnostics/debugging of event generation.
3338 2002-05-08 Bill Haneman <bill.haneman@sun.com>
3341 Removed unnecessary dependency on libutil.
3344 Revved micro version: 0.13.1
3346 2002-05-08 Bill Haneman <bill.haneman@sun.com>
3349 Removed util/Makefile from targets.
3352 Removed util subdir from SUBDIRS (temporarily,
3353 pending removal of magnifier-only code
3357 #ifdef-ed out magnifier dependencies, since
3358 magnifier IDL, headers, and binary now live in
3359 module gnome-mag and we don't want at-spi to depend
3360 on gnome-mag. A magnifier demo which can run alongside
3361 simple-at is forthcoming in the gnome-mag module.
3363 NOTE: Split magnifier binary, IDL, and magnification
3364 activation code from at-spi into module gnome-mag.
3366 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
3368 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
3369 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
3371 2002-05-03 Bill Haneman <bill.haneman@sun.com>
3374 Revved to version 0.13.0
3376 * idl/Accessibility_Registry.idl:
3377 Changed definition of KeySet from sequence of longs to sequence of
3378 KeyDefinitions, and added KeyDefinition struct.
3379 Required for fix to bug 80616.
3381 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
3382 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
3383 to use new definition (see above).
3385 * registryd/deviceeventcontroller.c: handle_keygrab(),
3386 spi_keyset_contains_key():
3387 Changed to make use of new struct; this allows matching based on
3388 string key-name, for instance "Tab". This also allows matching of
3389 composed characters, non-alphanumeric characters in a way that
3390 doesn't involve dependencies on X keysym codes directly, etc.
3392 * test/key-listener-test.c:
3393 Added test for Alt-Tab key using "string" specification of keyset,
3394 and modified one of the tests to use a keycode-based keyset.
3395 Thus this test both tests and demonstrates the creation and use of
3396 keysets of three forms: specified via keycode array,
3397 keysym array, and string array. (The string case only contains a
3398 single string, i.e. a string array of length 1).
3401 Turned on PRINT_TREE option by default. Also fixed a
3402 string-freeing bug in the PRINT_TREE code.
3403 Added a listener to window:minimize events.
3405 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
3407 * atk-bridge/bridge.c:
3408 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
3409 for window:activate and window:deactiveate
3410 (atk_bridge_property_event_listener atk_bridge_signal_listener
3411 atk_bridge_window_event_listener) Tidy debug code
3413 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
3415 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
3416 Fixed handling for NULL return value from ATK.
3418 * libspi/action.c libspi/component.c libspi/editabletext.
3419 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
3420 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
3421 Removed redundant casts.
3423 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
3424 Fixed off by one bug.
3426 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
3427 function not present in idl)
3429 2002-05-02 jacob berkman <jacob@ximian.com>
3431 * atk-bridge/Makefile.am: make atk-bridge a real module
3433 2002-04-26 Radek Doulik <rodo@ximian.com>
3435 * libspi/stateset.c (spi_init_state_type_tables): fix size of
3436 atk_state_types table
3438 2002-04-22 jacob berkman <jacob@ximian.com>
3441 * libspi/Makefile.am: add deps on the built files to help
3442 automake, and don't version the ORBit typelib
3444 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
3446 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
3447 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
3448 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
3449 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
3450 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
3451 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
3452 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
3453 libspi/accessible.h libspi/accessible.h libspi/base.h
3454 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
3455 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
3456 libspi/relation.h libspi/remoteobject.h libspi/selection.h
3457 libspi/spi-private.h libspi/statetset.h libspi/table.h
3458 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
3459 util/mag_client.h util/mag_control.c util/mag_image.c
3460 util/mag_image.h util/magnifier.c util/magnifier.h:
3461 Add missing file headers; standardize existing ones
3463 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
3465 * atk-bridge/bridge.c: Added window event support.
3467 2002-04-18 Michael Meeks <michael@ximian.com>
3469 * libspi/relation.c (impl_getNTargets): impl.
3470 (impl_getTarget): impl.
3472 * libspi/Makefile.am: fix stateset install.
3474 2002-04-17 Bill Haneman <bill.haneman@sun.com>
3477 Started putting useful info in this file.
3479 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
3481 * atk-bridge/bridge.c:
3482 Propagate state-changed notifications to ATs
3484 * cspi/spi_registry.c: update docs to reflect actual behavior of
3485 state-change events.
3487 2002-04-17 Bill Haneman <bill.haneman@sun.com>
3490 Incremented version to 0.12.1
3492 * util/mag_client.h:
3493 Add missing declaration for magnifier_exit,
3494 used by mag_control.c - Forte compiler didn't like
3495 the implicit redeclaration of the function :-(
3498 2002-04-16 Bill Haneman <bill.haneman@sun.com>
3501 Revved version to 0.12 due to API change (see below).
3503 * cspi/spi-roletypes.h:
3504 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
3505 definition from the inline docs, and added docs
3506 for SPI_ROLE_LAST_DEFINED.
3509 * cspi/spi_streamablecontent.c:
3510 Added missing seek_type parameter to
3511 (so far unused) method,
3512 AccessibleStreamableContent_seek().
3513 [ RT approval JodyG. ]
3516 Fixed docs for SPI_createAccessibleKeystrokeListener.
3518 * cspi/spi_registry.c:
3519 Fixed docs for SPI_KEYSET_ALL_KEYS.
3521 * docs/reference/cspi/at-spi-cspi-sections.txt:
3522 Added a number of missing APIs to SECTIONS.
3524 2002-04-16 Bill Haneman <bill.haneman@sun.com>
3526 * registryd/Makefile.am:
3528 * cspi/bonobo/Makefile.am:
3529 Add $(X_LIBS) to makefiles.
3531 2002-04-15 Bill Haneman <bill.haneman@sun.com>
3534 Revved version to 0.11.
3536 * libspi/component.c:
3537 Added implementation for grabFocus.
3539 * idl/Accessibility_Component.idl
3540 (Accessibility_Component_grabFocus):
3541 Made this method return boolean to indicate success or failure, to
3542 be consistent with cspi and the corresponding ATK method.
3544 * idl/Accessibility_Selection.idl
3545 (Accessibility_Selection_selectAll) :
3546 Made these methods return boolean to indicate success or
3547 failure, to be consistent with cspi and the corresponding ATK methods.
3549 * idl/Accessibility_EditableText.idl
3550 (Accessibility_EditableText_setTextContents,
3551 Accessibility_EditableText_insertText,
3552 Accessibility_EditableText_cutText,
3553 Accessibility_EditableText_deleteText,
3554 Accessibility_EditableText_pasteText):
3555 Made these methods return boolean to indicate
3558 * cspi/spi_editabletext.c:
3559 Made these methods return booleans.
3561 * libspi/selection.c:
3562 * libspi/component.c:
3563 * libspi/editabletext.c:
3564 Connected the boolean returns from ATK
3565 to the server-side code referenced above.
3567 2002-04-14 Bill Haneman <bill.haneman@sun.com>
3569 * idl/Accessibility_Table.idl: Added missing methods,
3570 Accessibility_Table_addRowSelection,
3571 Accessibility_Table_addColumnSelection,
3572 Accessibility_Table_removeRowSelection,
3573 Accessibility_Table_removeColumnSelection.
3576 Added C wrappers for above IDL:
3577 AccessibleTable_addRowSelection,
3578 AccessibleTable_addColumnSelection,
3579 AccessibleTable_removeRowSelection,
3580 AccessibleTable_removeColumnSelection.
3583 Added server-side implementation code for IDL above, connecting
3584 to pre-existing ATK api.
3586 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
3588 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
3590 * libspi/accessible.c: Added implementation fo
3591 Accessibility_Accessible_get_state.
3593 * libspi/libspi.h: Added stateset.h to the list of includes.
3595 * libspi/stateset.c: Fixed broken implementation.
3597 2002-04-13 Bill Haneman <bill.haneman@sun.com>
3600 Added implementation code for Accessibility_Magnifier_exit ().
3602 * util/mag_control.c:
3603 Added test code for above method; you can
3604 now kill an existing magnifier via
3605 ./mag_control q, from the util directory.
3607 * test/key-listener-test.c:
3609 Added a new test, for our key listener API.
3611 2002-04-11 Bill Haneman <bill.haneman@sun.com>
3613 * test/app.c, test/keysynth-demo.c:
3615 Replace use of snprintf with g_snprintf.
3616 (fix for bugzilla 78249)
3618 2002-03-27 Michael Meeks <michael@ximian.com>
3622 * util/Makefile.am (INCLUDES): fix.
3623 (DONT_DIST_SOURCE): don't distribute the
3626 * libspi/Makefile.am (dist-hook): ditto.
3628 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
3630 * libspi/hypertext.c:
3631 Fix warnings when yelp is used with atk-bridge
3633 2002-03-21 Michael Meeks <michael@ximian.com>
3635 * libspi/application.c (spi_application_new):
3636 use spi_accessible_construct so we use the AtkObject
3639 2002-03-19 Michael Meeks <michael@ximian.com>
3641 * registryd/registry.c (desktop_remove_application),
3642 (desktop_add_application): clean coding style.
3644 * registryd/desktop.c (spi_desktop_remove_application),
3645 (spi_desktop_add_application): kill re-enterency hazards.
3646 (spi_desktop_dispose): remove bogus redundant cast
3647 obscuring bug; fix bug too.
3648 (spi_desktop_init): make the desktop object immortal.
3650 2002-03-16 Bill Haneman <bill.haneman@sun.com>
3653 Added a #define-guarded tree-traversal step
3654 when enumerating the apps (diagnostic tool).
3656 2002-03-15 Bill Haneman <bill.haneman@sun.com>
3658 * idl/Accessibility_Role.idl:
3659 Added ROLE_DRAWING_AREA which seemed to be missing from the
3662 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3664 * cspi/spi-roletypes.h cspi/spi_accessible.c
3665 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
3668 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
3669 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
3670 AT when applications are added and removed from the desktop. This
3671 reverts the previous broken implementation using the backing
3672 AtkObject for the SpiDesktop.
3674 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3676 * registryd/desktop.c: emit the "children-changed::add" and
3677 "children-changed::remove" signals on the backing ATK object for
3678 the desktop so AT can tell when applications are started and shut
3681 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3683 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
3685 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3687 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
3689 * cspi/spi_accessible.c: Implemented c bindings for stateset support
3691 * cspi/state-types.h: synched with IDL and ATK
3693 2002-03-13 Bill Haneman <bill.haneman@sun.com>
3695 * libspi/accessible.c
3696 (impl_accessibility_accessible_get_child_at_index):
3697 Change return value for g_return_if_fail ()
3698 to CORBA_OBJECT_NIL instead of "0" (!)
3700 * registryd/Makefile.am:
3701 * registryd/Accessibility_Register.server.in:
3702 Changed name of executable, "registryd",
3703 to something more informative:
3706 2002-03-13 Michael Meeks <michael@ximian.com>
3708 * atk-bridge/bridge.c (atk_bridge_init): don't register
3709 if we're in a bonobo-component, rather than a bonobo app.
3711 2002-03-13 Michael Meeks <michael@ximian.com>
3713 * atk-bridge/bridge.c (gtk_module_init): split
3714 out body to (atk_bridge_init): here, since otherwise
3715 we get symbol conflicts and oddness when invoked
3716 from (gnome_accessibility_module_init): here (upd.)
3718 2002-03-11 Bill Haneman <bill.haneman@sun.com>
3721 New file. Explicitly allow "build sheriff" putbacks provided
3722 they are tested on Solaris.
3724 * docs/reference/cspi/Makefile.am:
3725 Added '-' to the "cp" command for index.sgml.
3726 ("patch by thomasvs, soon coming to a GUADEC near you")
3729 Incremented version number (0.9.0) for new release.
3730 Changed macro that checks for popt, to better detect
3731 obsolete versions of popt.
3734 Added X_LIBS to AC_SUBST, for applications
3735 that call Xlib API directly.
3738 2002-03-07 Bill Haneman <bill.haneman@sun.com>
3741 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
3744 Fix regression caused by hard-coding major
3745 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
3748 * test/test-simple.c (test_editable_text),
3749 (test_test): revert previous change (error was
3750 a regression in gail which is now fixed).
3752 2002-03-04 Michael Meeks <michael@ximian.com>
3754 * test/test-simple.c (test_editable_text),
3755 (test_text): pass G_MAXINT instead of '-1' for
3756 whole string - is this a good thing !?
3758 * cspi/spi_accessible.c
3759 (Accessible_getRelationSet): fix crasher bug
3760 overwriting the end of the array.
3762 * test/test-simple.c (validate_accessible): free,
3763 not g_free returned relation set.
3765 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
3767 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
3768 implemented stateset support
3770 * idl/Accessibility_State.idl: Made necessary changes to
3771 the IDL to support state sets.
3773 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3775 * registryd/deviceeventcontroller.c:
3776 Added implementation for generateMouseEvent.
3778 * cspi/spi_registry.c:
3779 Connected new implementation for generateMouseEvent
3782 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3785 Incremented revision (but no change in public API
3786 outside of 'utils', which are not installed public yet.)
3788 * libspi/component.c:
3789 Changed to use atk_component API for layers and
3790 mdi_zorder, instead of deprecated atk_object API.
3792 Magnification Utility Enhancements:
3795 Added implementation of createZoomRegion, clearAllZoomRegions,
3796 resizeZoomRegion. Added new commandline argument
3797 "--no-initial-region". Note that clearAllZoomRegions doesn't
3798 unmap the old '0' region as it should (yet), and the other
3799 methods only work when creating/resizing a single region,
3800 which is "region 0".
3801 (Code for multiple region support will be added later.)
3804 Now we raise the magnifier window each time it's refreshed;
3805 this will help keep it on top.
3807 * util/mag_client.h:
3808 Added simple wrappers for above, used by mag_control.
3809 For general use, it's recommended to use the bonobo magnifier
3810 control API directly instead of using these wrappers.
3813 Moved ZoomRegionData from magnifier.c to this file.
3815 * util/mag_control.c:
3816 Added some code to exercise new IDL implementations.
3818 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
3820 * libspi/text.c: Provide implementation for getAttributes.
3822 2002-02-04 Bill Haneman <bill.haneman@sun.com>
3825 Incremented revision.
3827 * test/test-simple.c:
3828 Replaced use of deprecated g_main_iteration with
3829 g_main_context_iteration.
3831 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
3834 Incremented revision for desktop alpha 2.
3836 2002-01-28 Mark McLoughlin <mark@skynet.ie>
3838 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
3841 * test/simple-at.c: include netinet/in.h.
3843 2002-01-24 Mark McLoughlin <mark@skynet.ie>
3845 * cspi/spi_accessible.c: (Accessible_getRelationSet):
3846 use NULL, not CORBA_OBJECT_NIL.
3848 * libspi/accessible.c:
3849 (impl_accessibility_accessible_get_relation_set):
3850 allocate the sequence correctly.
3852 * libspi/remoteobject.h: kill spi_remote_object_new.
3854 * test/test-simple.c: (validate_accessible): add code
3855 to test relation sets, now all we need is to figure
3856 out how to excercise this code path :/
3858 2002-01-18 Michael Meeks <michael@ximian.com>
3860 * test/test-simple.c
3861 (key_listener_cb): consume the key.
3862 (test_keylisteners): update.
3863 (main): wait for any pending unrefs on events.
3865 * registryd/deviceeventcontroller.c
3866 (spi_controller_update_key_grabs): only re-issue the
3867 grab on a key release.
3868 (spi_device_event_controller_forward_key_event):
3869 refresh the keygrabs before we notify the listeners,
3870 to reduce the X ungrab / re-grab race.
3871 (spi_controller_register_with_devices): remove
3872 XSelectInput - we do that with the gdk_window_ call.
3873 (_spi_controller_device_error_handler): return a value.
3874 s/GDK_DISPLAY/spi_get_display/
3876 2002-01-17 Michael Meeks <michael@ximian.com>
3878 * registryd/deviceeventcontroller.c
3879 (_deregister_keygrab): don't blow out the later
3882 * test/test-simple.c (test_keylisteners): do a
3883 more intelligent validation.
3885 2002-01-14 Michael Meeks <michael@ximian.com>
3887 * atk-bridge/bridge.c
3888 (gnome_accessibility_module_init),
3889 (gnome_accessibility_module_shutdown): impl.
3890 (gtk_module_init): protect vs. double inits.
3891 (add_signal_listener): impl.
3892 (spi_atk_bridge_state_event_listener): kill
3893 (deregister_application): split out of
3894 (spi_atk_bridge_exit_func): here.
3896 2002-01-18 Bill Haneman <bill.haneman@sun.com>
3899 Added caret tracking when using magnifier, and
3900 now use text bounds for focus tracking of text elements, rather than
3901 the component bounds - this is helpful for short text fields in long
3902 table cells, at high magnification.
3904 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3906 * registryd/deviceeventcontroller.c:
3907 Regression fix for keylistener de-registration; global keygrabs
3908 were not being released when deregisterKeystrokeListener was
3909 called in cspi, since
3910 Accessibility_DeviceEventController_deregisterKeystrokeListener
3911 was called with a zero-length keyset. That is because the cspi
3912 method, SPI_deregisterKeystrokeListener, does not take a keyset
3913 parameter but instead should remove all the key grabs held be a
3915 The code in impl_deregister_keystroke_listener was changed to copy
3916 the keylist from the listener instance previously registered with
3917 the DeviceEventController before releasing the grabs.
3919 * registryd/registry.c:
3920 * registryd/deviceeventcontroller.c:
3921 * libspi/spi-private.h:
3923 Changed spelling of "re-enterant" to "re-entrant" globally.
3925 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3927 * test/test-simple.c:
3928 Changed key listeners test - the test was slightly mis-using the
3929 (admittedly poorly documented) SPI_generateKeyboardEvent API.
3930 It now uses '=' as the key event listened to and generated,
3931 relying on a keysym match rather than assuming that keycode 33
3932 is always equal to keysym '!'.
3934 2002-01-15 Bill Haneman <bill.haneman@sun.com>
3937 Changed simple-at to use a specific keyset, rather than
3938 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
3939 manager, desktop, etc.
3941 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3943 * registryd/deviceeventcontroller.c:
3944 Replaced standard X error handler with a special handler that
3945 is non-fatal for failed keygrabs. This works around
3946 problems with keygrab clashes sometimes observed on
3948 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
3949 mouse handling code as yet).
3951 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3954 Incremented revision for desktop alpha release.
3957 Fixed a couple of the more glaring errors (still not
3960 2002-01-11 Michael Meeks <michael@ximian.com>
3962 * registryd/deviceeventcontroller.c
3963 (spi_device_event_controller_forward_key_event): kill
3964 XUngrabKey / XKeyGrab race.
3965 (spi_controller_grab_keyboard): rename to
3966 (spi_controller_update_key_grabs): this, and deal
3967 with incremental adding / removing grabs more
3969 (_register_keygrab): ensure we're not pending a remove.
3970 (spi_grab_mask_free): impl.
3971 (spi_controller_register_global_keygrabs): split out
3973 (handle_keygrab): impl.
3974 (_deregister_keygrab): impl.
3975 (spi_controller_deregister_global_keygrabs): impl.
3976 (spi_controller_update_key_grabs): re-issue the grab if
3977 we just recieved a notification.
3979 * test/test-simple.c (key_listener_cb): remove debug.
3981 * registryd/deviceeventcontroller.c
3982 (spi_controller_register_device_listener): after
3983 registering a global keygrab, actualy register it !
3984 don't wait for a timeout; doh !
3986 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3987 to make it more readable / manipulable.
3988 s/grabmask/grab_mask/ s/refcount/ref_count/
3989 s/keyval/key_val/ s/modmask/mod_mask
3991 2002-01-08 Michael Meeks <michael@ximian.com>
3993 * registryd/deviceeventcontroller.c
3994 (spi_controller_register_with_devices): use gdk calls to
3996 (global_filter_fn): implement the filter.
3997 (spi_device_event_controller_check_key_event): rename to
3998 (spi_device_event_controller_forward_key_event): this & upd.
3999 (spi_get_display): replace with GDK_DISPLAY.
4001 * registryd/deviceeventcontroller.c
4002 (spi_controller_deregister_device_listener): unroll into
4003 (impl_deregister_keystroke_listener): here to simplify.
4004 (spi_controller_register_global_keygrabs): split cut and
4005 paste (!) out into (_register_keygrab): here, shorter & sweeter.
4006 (spi_controller_deregister_device_listener): remove.
4007 (impl_register_mouse_listener): remove, no mouse listener
4008 support in at-spi-1.0
4010 * registryd/registry.c
4011 (_device_event_controller_hook): kill.
4012 (spi_registry_init): upd.
4014 * registryd/deviceeventcontroller.c
4015 (spi_device_event_controller_class_init): upd.
4016 (spi_check_key_event): merge into.
4017 (spi_device_event_controller_check_key_event):
4018 here and kill strange static ev init, don't leak
4019 the x_event - nor dynamicaly allocate it.
4021 * registryd/registry-main.c (main): re-direct
4022 timeout to remove strange vtable mess.
4024 * registryd/deviceeventcontroller.c
4025 (remove_listener_cb): impl.
4026 (spi_controller_deregister_device_listener):
4027 fix re-enterancy hazard.
4029 2002-01-07 Michael Meeks <michael@ximian.com>
4031 * registryd/deviceeventcontroller.c
4032 (spi_device_event_controller_new): upd.
4033 (impl_notify_listeners_sync): upd. debug.
4034 (spi_notify_keylisteners): fix re-enterancy hazards,
4035 prettify, remove O(n*n) iteration.
4036 (spi_controller_grab_keyboard): fix iteration.
4037 (spi_check_key_event): re-format to suit coding style.
4038 Clean all the warnings - we're warning free.
4040 * registryd/deviceeventcontroller.h:
4041 * registryd/registry.h: make mutualy referential with
4042 typesafe forward references instead of (!) void pointer
4045 2002-01-11 Michael Meeks <michael@ximian.com>
4047 * cspi/spi_accessible.c (role_names): add a role name
4048 to sync this array with the enum; and make the regression
4051 2002-01-10 Michael Meeks <michael@ximian.com>
4053 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
4054 allow expansion of enumeration & kill warning.
4056 * test/test-simple.c (key_listener_cb): impl.
4057 (test_keylisteners): impl.
4059 * cspi/spi-listener.h: make listener signatures const
4060 on the provided (const) events.
4062 * test/keysynth-demo.c: upd. to const events.
4064 * test/simple-at.c: ditto.
4066 2002-01-11 Bill Haneman <bill.haneman@sun.com>
4069 Rev the version to 0.5 (the previous tarball was named 0.4,
4070 even though the micro number was 3), so we need to rev upwards
4071 again for beta2/"desktop-alpha"
4074 Checked in a demo script, which requires editing before use!
4075 Proceed with caution.
4078 Fixed typo in header which was redefining SPI_ACTION_CLASS.
4080 * cspi/spi_accessible.c:
4081 Add a couple of missing enum initializations, and fix some enum
4084 * cspi/spi_registry.c:
4085 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
4087 * docs/reference/cspi/at-spi-cspi-sections.txt:
4088 Remove/fix a couple of broken document references.
4091 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
4092 as Alt-Control to listen for commands, since on some systems
4093 Control-Alt may already be grabbed.
4095 2002-01-10 Bill Haneman <bill.haneman@sun.com>
4098 Update version number to 0.4 for Beta2.
4100 * libspi/accessible.c, libspi/accessible.h:
4101 Expose spi_accessible_construct, to enable libgail-gnome
4102 construction from spi_accessible subtype.
4104 * utils/magnifier.c:
4105 Workaround for bug in some non-gnome-compliant window managers
4106 which made magnifier resize improperly.
4108 2002-01-09 Bill Haneman <bill.haneman@sun.com>
4110 * libspi/accessible.c: (spi_accessible_new) :
4111 Move the test for SPI_IS_REMOTE_OBJECT to
4112 spi_accessible_new_return, fixing a bug and compile time warning.
4114 2002-01-08 Michael Meeks <michael@ximian.com>
4116 * registryd/registry.c (parse_event_type): remove strndup.
4118 * libspi/Makefile.am (libspi_la_SOURCES): remove
4119 sources already included in the headers section.
4121 * libspi/util.c: add.
4123 * libspi/spi-private.h: add.
4125 * registryd/registry.c: update to moved list iterators.
4127 2002-01-05 Michael Meeks <michael@ximian.com>
4129 * test/simple-at.c (main): upd. auto-module set to atk-bridge
4131 * test/test-simple.c (main): ditto.
4133 2002-01-04 Michael Meeks <michael@ximian.com>
4135 * libspi/accessible.c (spi_accessible_new): remove 2nd,
4136 redundant construct.
4138 * registryd/registry.c
4139 (get_listener_list): impl.
4140 (impl_accessibility_registry_register_global_event_listener):
4141 re-impl. to simplify using ~, remove dodgy const cast off.
4142 (parse_event_type): constify.
4143 (impl_accessibility_registry_deregister_global_event_listener_all):
4144 re-write, more efficiency and simplicity, kill re-enterancy
4146 (compare_listener_corbaref, compare_corba_objects),
4147 (compare_listener_quarks): define out.
4148 (impl_accessibility_registry_deregister_global_event_listener):
4149 re-write for effiency, and nail re-enterancy hazard.
4150 (impl_accessibility_registry_get_desktop_list): impl.
4151 (re_enterant_list_delete_link): impl.
4152 (re_enterant_list_foreach): impl.
4153 (remove_listener_cb): impl.
4154 (_registry_notify_listeners): kill.
4155 (notify_listeners_cb): impl.
4157 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
4158 (SPI_getDesktopList): impl.
4160 * test/test-simple.c (test_desktop): test the methods.
4162 2002-01-03 Michael Meeks <michael@ximian.com>
4164 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
4165 keystrings since we free them
4166 (SPI_freeAccessibleKeySet): in here.
4168 * libspi/accessible.c (spi_accessible_new): kill warning,
4169 wonder what is going on with the constructor here.
4171 2002-03-01 Bill Haneman <bill.haneman@sun.com>
4173 * libspi/accessible.c (spi_accessible_new ()) :
4174 Added check to see if AtkObject is an SpiRemoteObject before
4175 creating an SpiAccessible.
4177 2002-05-01 Bill Haneman <bill.haneman@sun.com>
4179 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
4180 Enable keygrabs using the Control modifier, now that they are
4181 working properly (they were previously disabled).
4184 Change the command keygrab for this demo to "Control+Alt", so as
4185 to conflict with fewer other key commands on the system; this
4186 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
4188 Removed a pointlessly-chatty keylistener for unshifted keys
4189 (shifted keys are still reported).
4191 2002-02-01 Bill Haneman <bill.haneman@sun.com>
4193 * libspi/remoteobject.h:
4194 * libspi/remoteobject.c:
4195 Added definitions for special AtkObject subtype, required for
4196 support of remote components (specifically, used by BonoboControl
4197 accessibility implementation).
4199 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
4201 * cspi/spi.h: synched relation types with ATK
4203 * cspi/spi_accessible.c: Added implementations of
4204 AcccessibleRelation_* methods
4206 * idl/Accessibility_Relation.idl: added getRelationTypeName
4207 method. Synched known relation types with ATK. Allowed for
4208 relation type extension with the RELATION_EXTENDED type.
4210 * libspi/relation.c: Provided implementations for
4211 AccessibleRelation methods.
4213 2002-01-01 Bill Haneman <bill.haneman@sun.com>
4215 API tweaks for today's API 'freeze'.
4218 Added placeholder functions to allow future compatible expansion
4219 of the IDL interfaces.
4221 * idl/Accessibility_Registry.idl:
4222 Changed generateKeyEvent to generateKeyboardEvent. Changed
4223 signature of this method to accept an optional keystring in
4224 parameter (for complex text input synthesis) and changed use of
4225 simple 'boolean' parameter in registerKeystrokeListener to a
4226 struct, EventListenerMode.
4228 * cspi/spi_accessible.c:
4230 * cspi/spi_streamablecontent.c:
4231 Added references to AccessibleStreamableContent interface, and
4232 definition and implementation of AccessibleStreamableContent
4235 * cspi/spi_registry.c:
4237 Changed generateKeyEvent API to generateKeyboardEvent,
4238 taking a new (optional) keystring parameter to support complex
4243 Renamed directory (to better reflect its actual purpose, bridging
4244 from at-spi to ATK). The .so module is also now named
4247 * idl/Accessibility_Hypertext.idl:
4248 * libspi/accessible.c:
4249 * libspi/hypertext.h:
4250 * libspi/hypertext.c:
4251 Changed Accessibility_Hypertext to *not* derive from
4254 * cspi/spi_registry.c:
4255 Added list of legal event type names for 'window' events, which
4256 completes the registry event API.
4258 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
4260 * at-bridge/bridge.c: Added registration for separate
4261 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
4262 signals. If either of the first two parameters to the generic
4263 bridge signal handler are ints, they are passed on as event
4264 details. This allows an AT to determine what text was inserted.
4266 2001-12-21 Bill Haneman <bill.haneman@sun.com>
4268 * registryd/deviceeventcontroller.c:
4269 Fixed regressions in generateKeyEvent caused by the removal of
4270 gdk_init from registryd; we now use pure X calls to connect to the
4271 display, which makes sense because deviceeventcontroller already
4272 uses a fair bit of X API (should eventually be migrated to a
4273 'portability layer').
4275 * registryd/desktop.c:
4276 Fixed minor regression in spi_desktop_init, changed the way the
4277 desktop name is being set to work with new spi_base API
4278 (gobject-based, rather than AtkObject-based).
4280 * registryd/Makefile.am:
4281 Minor revision of makefile to use XTST_LIBS variable rather than
4282 hard-wiring the Xtst LD_ADD element.
4284 * test/keysynth-demo.c:
4285 Tweaked an output message; added initialization of the
4286 'keystrings' member of the "switch listener" key_set.
4288 * libspi/relation.c:
4289 Squashed compile-time warning.
4291 * libspi/accessible.c:
4292 Cosmetic and formatting fixes, renamed a static method.
4294 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
4296 * libspi/accessible.c
4298 * libspi/application.c
4301 * libspi/component.c
4302 * libspi/editabletext.c
4303 * libspi/hyperlink.c
4304 * libspi/hypertext.c
4306 * libspi/selection.c
4310 * registryd/desktop.c:
4311 Changed SpiBase to contain a GObject pointer rather than an AtkObject
4313 2001-12-17 Bill Haneman <bill.haneman@sun.com>
4315 * idl/Accessibility_Registry.idl:
4316 Added boolean member 'is_text' to DeviceEvent. This is for the
4317 use of key events, and helps prevent ambiguity between composed
4318 key strings and keysym names, since both may potentially be
4319 returned in the 'event_string' member.
4321 * at-bridge/bridge.c:
4322 * registryd/deviceeventcontroller.c:
4323 Use the 'is_text' member when notifying device event listeners.
4324 Knon issue: composed characters are not dealt with correctly by
4325 the global key listener implementation yet.
4327 2001-12-17 Bill Haneman <bill.haneman@sun.com>
4329 * at-bridge/bridge.c:
4330 Namespaced local static methods to spi_atk_bridge_* where
4331 previously named bridge_*, and spi_* elsewhere.
4333 * at-bridge/bridge.c:
4334 * cspi/bonobo/cspi-bonobo-listener.c:
4335 Added demarshalling/conversion for string member of
4336 Accessibility_DeviceEvent to AccessibleKeystroke.
4338 * registryd/deviceeventcontroller.c:
4339 Added code to fill the Accessibility_DeviceEvent key string value
4340 member for global key events (i.e. from XGrabKey), to match
4341 behavior of Accessibility_DeviceEvent from the toolkit key events
4342 from the bridge. Fixed timestamp in global key event notifications.
4345 Added printout of key event's string value to
4346 report_ordinary_key_event, for demo/debugging purposes.
4348 2001-12-15 Bill Haneman <bill.haneman@sun.com>
4350 * idl/Accessibility_Registry.idl:
4351 Removed Accessibility_KeyStroke structure in favor of generic
4352 Accessibility_DeviceEvent structure.
4353 Changed Accessibility_ControllerEventMask from a struct to an
4356 * at-bridge/bridge.c:
4357 Changed APIs to use DeviceEvent structure as above, and removed
4358 bogus casting between these event structures.
4360 * cspi/spi-listener.h:
4361 Added keystring member of AccessibleKeystroke structure, to enable
4362 matching on event "names" rather than only hardware codes and
4366 Added keystrings member of AccessibleKeySet struct, to allow
4367 matching on event names (as above).
4368 Added declarations for SPI_createAccessibleKeySet and
4369 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
4370 event modmasks directly as unsigned ints rather than structs with
4371 refcounts, in the DeviceEventController methods.
4373 * cspi/spi_registry.c:
4374 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
4376 * cspi/spi-roletypes.h:
4377 Added documentation of newly added SPI Roles.
4379 * cspi/bonobo/cspi-bonobo-listener.c:
4380 Changes in support of API changes above.
4382 * libspi/accessible.c:
4383 Converted APIs to use DeviceEvent structure (see IDL changes
4386 * registryd/deviceeventcontroller.c:
4387 Added DEControllerGrabMask structure to track keygrabs not only by
4388 modmask but by keyset as well; this allows us to do "global"
4389 (i.e. X) keygrabs on a per-key or keyset basis rather than always
4390 grabbing on AnyKey and then filtering after-the-fact.
4391 Bugfixes for event filtration mean that we don't get false matches
4392 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
4394 * registryd/deviceeventcontroller.c:
4395 Namespaced a number of static methods to use spi_ prefix. Major
4396 revision to internals of global (i.e. X) key grabs.
4398 * registryd/deviceeventcontroller.h:
4399 Removed keymask_list and added keygrabs_list to
4400 SpiDeviceEventController struct.
4403 Added use of SPI_createAccessibleKeySet API when creating a
4404 listener for only one key. Attach a listener to "shift spacebar
4405 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
4406 X key event names to SPI key event names, so that listeners are
4407 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
4409 * test/keysynth-demo.c:
4410 Changed (incorrect) use of X key event names (KeyPressed,
4411 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
4414 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4416 * libspi/accessible.c:
4417 Convert all AtkRole enumerations to Accessibility_Role enums when
4418 getting a role from an AtkObject.
4420 * cspi/spi_accessible.c:
4421 Complete the conversion of Accessibility_Role enums at runtime to
4422 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
4423 role enums correctly match those given in spi-roletypes.h.
4424 Re-synchronize the local names list for AccessibleRole_getName ().
4425 AccessibleRole_getName is now deprecated, since it duplicates the
4426 more reliable Accessible_getRoleName.
4427 Added some role types from Accessibility_Role.idl.
4429 * idl/Accessibility_Role.idl:
4430 Added some role types used by AtkRole.
4432 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4435 * cspi/spi_registry.c:
4437 * cspi/cspi-bonobo-listener.c:
4438 Namespaced all methods that did not begin with an "SPI_" or
4439 "Accessible" prefix to "SPI_".
4442 Homogenized internal function namespace to "cspi_" for statics.
4445 Patched tests to use the new CSPI API.
4447 * docs/reference/cspi/at-spi-cspi-sections.txt:
4448 Updated docs to reflect namespace changes, and added a number of
4449 methods to the documentation.
4451 * registryd/registry.c:
4452 Changed use of strings and string hashes in listener event
4453 matching and parse_event_string to use GQuark, which is guaranteed
4456 * registryd/registry.h:
4457 Squashed annoying warning.
4459 * idl/Accessibility_Role.idl:
4460 Extended range of available Accessibility_Role values.
4462 * cspi/spi_accessible.c:
4463 Re-ordered role names.
4465 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4467 * idl/Accessibility_Value.idl:
4468 Revert use of union back to CORBA_double, since the double type is
4469 more efficient and can contain the other types without loss of
4472 * idl/Accessibility_Accessible.idl:
4473 Added method Accessibility:Accessible:getRoleName, to complement
4474 Accessibility:Accessible:getRole.
4476 * cspi/spi_accessible.c:
4478 Added C binding for above, Accessible_getRoleName (), and changed
4479 signature of Accessible_getRole () to return an AccessibleRole.
4481 * cspi/spi-roletypes.h:
4482 Changed AccessibleRole_getName to return a char * instead of a
4483 const char *. This method is now at least temporarily deprecated
4484 in favor of asking Accessibles for their RoleNames directly.
4487 Revert to match Accessibility_Value.idl;
4491 Change signature of AccessibleValue methods to use double rather
4495 * cspi/spi_accessible.c:
4496 Changed Accessible_getRole to return an AccessibleRole enum rather
4497 than a UTF-8 string. The UTF-8 string can still be obtained via
4498 AccessibleRole_getName ().
4500 * test/test-simple.c:
4501 Add test_action. Small fixup to match API change to Accessible_getRole.
4504 Bugfix for get_action_from_servant ().
4506 2001-12-11 Michael Meeks <michael@ximian.com>
4508 * libspi/libspi.h: remove registry.h and
4509 desktop.h, deviceeventcontroller.h
4511 * libspi/Makefile.am: remove registry.[ch],
4512 desktop.[ch], deviceeventcontroller.[ch]
4514 * registryd/Makefile.am: add registry.[ch],
4515 desktop.[ch], rename registryd.c to registry-main.c.
4516 add deviceeventcontroller.[ch]
4518 2001-12-11 Bill Haneman <bill.haneman@sun.com>
4521 Replace setenv() call with putenv ().
4523 * libspi/component.c:
4524 Bugfix in AccessibleComponent_getExtents (),
4527 2001-12-11 Michael Meeks <michael@ximian.com>
4529 * libspi/image.c (impl_getImageExtents): impl.
4530 (spi_image_class_init): upd.
4533 (AccessibleImage_getImageDescription): fix daft bug
4536 * test/test-simple.c (global_listener_cb): update
4537 to only quit if not --poke
4538 (main): catch --poke.
4539 (validate_accessible): upd. dumping, call test_image
4542 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
4545 * idl/Accessibility.idl: update all IDL includes.
4547 * idl/*.idl - rename to namespace - this sucks, blame
4548 mjs' bad decision for oafd.
4550 * test/test-simple.c (create_test_window): add more tests.
4551 (create_tree): split this out.
4552 (validate_accessible): bugfix.
4554 2001-12-11 Michael Meeks <michael@ximian.com>
4556 * cspi/bonobo/cspi-bonobo-listener.c:
4557 (cspi_kestroke_listener_unref),
4558 (cspi_event_listener_unref): impl. undoing previous
4559 homenous environment - for Bill.
4561 * cspi/spi_table.c (long_seq_to_array): use
4564 * cspi/spi_main.c: split out all bonoboish bits into
4567 * cspi/spi-impl.h: upd. typedefs.
4569 * cspi/spi_registry.c: update to lowlevel API,
4570 return booleans to indicate success in some places.
4572 * cspi/spi_event.c: update to lowlevel API.
4574 * cspi/bonobo/Makefile.am: add.
4576 * cspi/bonobo/cspi-lowlevel.h: add
4578 * cspi/bonobo/cspi-bonobo.c: add
4580 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
4582 * cspi/Makefile.am: remove spi-listener-impl.[ch],
4583 (SUBDIRS): add bonobo, link in the libs.
4585 * cspi/spi-util.c: kill this file.
4587 * TODO: merge in my bits.
4589 2001-12-11 Michael Meeks <michael@ximian.com>
4591 * test/test-simple.c (test_value, test_table, main):
4592 remove unused variables causing warnings.
4594 * configure.in: cleanup checks - require gail.
4596 2001-12-11 Bill Haneman <bill.haneman@sun.com>
4599 Changed Value interface to use SValue (scalars) rather than
4600 assuming all values are floats. This allows floats, doubles,
4601 longs, shorts, and unsigned values to be manipulated.
4602 Introduced Accessibility:SValue union.
4605 Updated to use new API above, and to work correctly with GValues
4606 of different types in AtkValue.
4609 Updated to use new API above. cspi's API is as yet unchanged.
4612 Updated the Value revision action item.
4614 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4616 * test/test-simple.c:
4617 Added test_table (GtkTreeView widget in test window to follow).
4618 Un-commented test_value, added GtkRange widget.
4619 Added GtkTreeView widget with GtkListStore. It passes regression
4620 test but leaks one SPI object for some reason.
4623 Fixed bug in impl__set_currentValue.
4625 2001-12-10 Michael Meeks <michael@ximian.com>
4627 * cspi/spi_text.c: audit for exception handling,
4628 tolerating NULL object references safely etc.
4630 * cspi/spi_value.c: ditto.
4632 * cspi/spi_table.c (AccessibleTable_getSummary),
4633 (AccessibleTable_getAccessibleAt),
4634 (AccessibleTable_getRowHeader),
4635 (AccessibleTable_getColumnHeader),
4636 (AccessibleTable_getCaption): fix bugs hidden by
4638 (long_seq_to_array): impl.
4639 (AccessibleTable_getSelectedRows),
4640 (AccessibleTable_getSelectedColumns): use it.
4642 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4645 Added a TODO list (rough and short for now).
4647 * cspi/spi_hyperlink.c:
4648 * cspi/spi_hypertext.c:
4649 Fixed macro name typos, and remove use of obsolete macro in
4650 AccessibleHyperlink_getLink.
4652 * cspi/spi_action.c:
4653 * cspi/spi_accessible.c:
4654 * cspi/spi_application.c:
4655 * cspi/spi_component.c:
4656 * cspi/spi_selection.c:
4659 Documentation fixes (removed return values from ref/unref methods).
4661 2001-12-10 Michael Meeks <michael@ximian.com>
4663 * cspi/spi_action.c: audit for exception handling,
4664 tolerating NULL object references safely etc.
4666 * cspi/spi_accessible.c: ditto.
4668 * cspi/spi_component.c: ditto.
4670 * cspi/spi_editabletext.c: ditto.
4672 * cspi/spi_hyperlink.c: ditto.
4674 * cspi/spi_hypertext.c: ditto.
4676 * cspi/spi_image.c: ditto.
4678 * cspi/spi_selection.c: ditto.
4680 2001-12-10 Michael Meeks <michael@ximian.com>
4682 * configure.in: use cspi/libspi.pc.in instead.
4684 * Makefile.am (pkgconfig_DATA): upd. to match.
4686 * test/simple-at.c (report_focus_event): kill hacks around
4687 bad return values, use putenv not setenv
4689 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
4690 fire ChildGone - I killed it.
4692 * libspi/component.c
4693 (impl_accessibility_component_get_extents): remove
4696 * idl/Accessible.idl: kill ChildGone exception.
4698 * cspi/*.[ch]: kill int return from ref / unref.
4700 * cspi/spi_main.c (cspi_object_add_check): fold into
4701 (cspi_object_add): here.
4703 * cspi/spi_component.c (AccessibleComponent_getExtents):
4704 handle exceptions elegantly.
4706 * cspi/spi-private.h (cspi_check_ev_return),
4707 (cspi_return_if_fail): impl.
4709 * cspi/spi_accessible.c: use extensively.
4710 (AccessibleStateSet_equals): add direct compare check.
4712 * cspi/spi_selection.c: tolerate NULL objs, and check
4713 exceptions before return.
4715 * cspi/spi-util.c (cspi_warn_ev): rename to
4716 (cspi_check_ev): this & don't pass ev in; no point.
4718 2001-12-10 Michael Meeks <michael@ximian.com>
4720 * test/test-simple.c: use putenv not setenv
4721 (get_environment_vars): more chatty if you're not using
4724 * test/simple-at.c: do the setenv so more people see the
4727 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4729 * libspi/registry.c:
4730 Changed check of CORBA_environment on notification to be a warning
4731 instead of an error for the moment, since we can recover from this
4732 error when caused by a queued notification from a dead app.
4735 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
4736 used by all current implementors of AtkValue), and coerce to
4737 CORBA_float. (Proper general case fix may require change to Value.idl).
4739 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4743 * cspi/spi_accessible.c:
4744 Documentation fixes: added user_data params to documentation for
4745 listeners and callbacks.
4747 * cspi/spi_accessible.c:
4748 Changed AccessibleStateSet_compare to return a
4749 StateSet rather than return the difference set into a third parameter.
4752 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4755 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
4756 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
4760 Remove subdirectory po from SUBDIRS for now.
4762 * at-bridge/bridge.c:
4763 Beefed up a couple of debug printouts.
4764 One-line fix for signal notification name formatting.
4766 * libspi/accessible.c:
4767 Added assertion to spi_accessible_new ().
4769 * libspi/application.c:
4770 Put #ifdef qualifiers around a printf.
4773 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
4775 * registryd/Makefile.am:
4777 Replaces use of XML_I18N_MERGE_SERVER_RULE with
4778 INTLTOOL_SERVER_RULE macro.
4781 Added an event listener for several ATK signals, for
4782 testing and debugging. Removed a few g_warnings.
4783 Added test output if focussed item implements the Value interface.
4785 * test/test-simple.c:
4786 Added test_value () function (known not to pass at the moment, so
4787 not actually called yet.
4789 2001-12-08 Michael Meeks <michael@ximian.com>
4791 * at-bridge/bridge.c (bridge_focus_tracker),
4792 (emit_eventv): fix the same ref. leak.
4793 (register_atk_event_listeners): don't leak.
4795 * cspi/spi-listener-impl.c (cspi_event): more
4796 protection from client code.
4798 * test/test-simple.c (test_desktop): unref the app.
4800 * test/Makefile.am: upd. TESTS.
4802 * at-bridge/bridge.c (bridge_exit_func): release the registry.
4804 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
4806 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
4808 * cspi/spi_registry.c: constify in strings.
4809 (deregisterGlobalEventListenerAll): don't release the ref.
4811 * cspi/spi.h: start removing redundant / conflicting
4812 gtkdoc comments, making the API readable at a glance :-)
4814 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
4816 * test/keysynth-demo.c (keysynth_exit, main): upd.
4818 * test/simple-at.c (main, simple_at_exit): upd.
4820 * test/test-simple.c (unutterable_horror): kill.
4821 (utterable_normal_derefs): kill.
4822 (main): upd & do a setenv before gtk_init, so that we
4823 can use memprof - and to save the pain of remembering
4824 this, if we're running under memprof - don't exit.
4826 * cspi/spi_main.c (SPI_exit): return exit status
4828 (SPI_event_quit): impl.
4829 (SPI_event_main): simplify.
4830 (cspi_is_gnome_app): kill.
4831 (SPI_init): kill isGNOMEapp arg.
4833 * at-bridge/bridge.c (register_atk_event_listeners):
4834 re-instate the unref.
4835 (bridge_exit_func): don't re-activate the registry,
4836 protect vs. theoretical re-entry, use the
4837 AT_BRIDGE_SHUTDOWN env. var to determine whether to
4838 assert a clean shutdown - for regression tests.
4840 2001-12-08 Abel Cheung <maddog@linux.org.hk>
4842 * configure.in: Comment out dummy i18n support for now,
4843 otherwise it fails to build.
4844 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
4845 EXTRA_DIST. They are missing in tarball.
4847 2001-12-07 Michael Meeks <michael@ximian.com>
4849 * util/magnifier.c: kill bonobo activation reg. race.
4851 * libspi/component.c
4852 (impl_accessibility_component_get_extents): make it match
4855 * libspi/registry.c (_registry_notify_listeners):
4856 re-remove X headers & reconcile conflicts.
4857 (spi_listener_struct_free): bad conflict resolve.
4858 (impl_accessibility_registry_register_application):
4859 more bad merging fixed.
4860 (impl_accessibility_registry_deregister_application): ditto.
4861 (spi_registry_new): ditto.
4862 (spi_registry_init): don't have an applications field.
4864 [ merge fixups2 branch to here ]
4865 2001-12-07 Michael Meeks <michael@ximian.com>
4867 * test/simple-at.c (report_focus_event),
4868 (report_focussed_accessible): remove g_warning debug.
4870 2001-12-07 Michael Meeks <michael@ximian.com>
4872 * test/test-simple.c (validate_tree): comment out some checks.
4873 (test_desktop): app now not registered idly - horay.
4875 2001-12-07 Michael Meeks <michael@ximian.com>
4877 * cspi/spi_registry.c
4878 (registerAccessibleKeystrokeListener): clean, stop it leaking
4879 great swathes of memory, and device event controller references.
4880 ensure we always pass valid sequences.
4881 (deregisterAccessibleKeystrokeListener): ditto.
4882 (generateKeyEvent): upd.
4884 * at-bridge/bridge.c (bridge_key_listener): handle
4885 registry dead exception gracefully.
4886 (bridge_focus_tracker, emit_eventv): free ev.
4888 * test/simple-at.c (report_focus_event): fix polarity.
4890 * libspi/application.c (notify_listeners): kill the ev
4891 argument, and make sure we init the ev we use.
4892 (spi_application_object_event_listener): split out a chunk
4893 (get_atk_object_ref): here & fixup.
4894 (reverse_lookup_name_for_toolkit_event): make const.
4895 (spi_application_toolkit_event_listener): fixup, kill leaks
4898 * at-bridge/bridge.c (register_atk_event_listeners):
4899 don't unref the noop object - causes grief.
4901 * libspi/registry.c: remove the X headers.
4902 turn off the debug churn.
4904 * libspi/accessible.c (spi_accessible_new_return): only
4905 release the ref if we are supposed to [doh]
4907 * test/simple-at.c (report_button_press, report_focus_event):
4908 guard vs. unexpected exit.
4910 * at-bridge/bridge.c (gtk_module_init): prune printf.
4911 (bridge_exit_func): fix app unref.
4913 * libspi/Makefile.am: don't install registry or desktop.h
4915 * libspi/*.h: update includes.
4917 * libspi/application.h: don't include ourself, or
4918 other redundant headers.
4920 2001-12-06 Michael Meeks <michael@ximian.com>
4922 * libspi/accessible.c
4923 (get_accessible_from_servant): impl.
4924 Upd. all CORBA impl.s to use it killing cut and paste.
4926 * cspi/spi_main.c (cspi_cleanup): guard vs. double
4928 (SPI_init): register atexit cleanup handler here.
4930 2001-12-06 Michael Meeks <michael@ximian.com>
4932 * at-bridge/bridge.c (gtk_module_init): g_error on
4933 activation exception
4935 2001-12-06 Michael Meeks <michael@ximian.com>
4937 * at-bridge/bridge.c (gtk_module_init): some sort of
4938 confusing merge clash - reverted.
4939 (bridge_idle_init): ditto.
4941 * test/test-simple.c (main, utterable_normal_derefs):
4942 merge from Bill - somehow not committed.
4944 2001-12-06 Michael Meeks <michael@ximian.com>
4946 * libspi/value.c (spi_value_class_init): upd.
4947 (spi_value_finalize): kill.
4949 * libspi/table.c (spi_table_finalize): kill.
4950 (spi_table_interface_new): upd.
4951 (spi_table_class_init): upd.
4952 (get_table_from_servant): impl.
4953 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4955 * libspi/selection.c (spi_selection_finalize): kill.
4956 (spi_selection_interface_new): upd.
4957 (spi_selection_class_init): upd.
4958 (get_selection_from_servant): impl.
4959 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4961 * libspi/relation.c (spi_relation_finalize): kill.
4962 (spi_relation_class_init, spi_relation_new): upd
4964 * libspi/image.c (spi_image_finalize): kill.
4965 (spi_image_class_init): upd.
4966 (spi_image_interface_new): upd.
4967 (get_image_from_servant): impl.
4968 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4970 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
4971 (spi_hyperlink_finalize): kill.
4972 (spi_hyperlink_new): upd.
4973 (get_hyperlink_from_servant): impl.
4974 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4976 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
4977 (spi_hypertext_finalize): kill.
4978 (spi_hypertext_class_init): upd.
4979 (get_hypertext_from_servant): impl.
4980 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4982 * libspi/editabletext.c (spi_editable_text_finalize): kill.
4983 (spi_editable_text_interface_new): upd.
4984 (get_editable_text_from_servant): impl.
4985 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4987 * libspi/text.c (get_text_from_servant): impl.
4988 All impls - update to use it killing more cut and paste,
4989 also fix bad string returns on duff args ( a somewhat
4990 impossible case to handle - but hey ).
4991 (spi_text_construct): impl.
4992 (spi_text_interface_new): upd.
4993 (spi_text_object_finalize): kill.
4995 * libspi/component.c
4996 (accessibility_component_object_finalize): kill.
4997 (spi_component_class_init): upd.
4998 (get_component_from_servant): impl. helper to kill cut & paste.
4999 (impl_accessibility_component_contains):
5000 (impl_accessibility_component_get_accessible_at_point):
5001 (impl_accessibility_component_get_position):
5002 (impl_accessibility_component_get_extents):
5003 (impl_accessibility_component_get_mdi_z_order):
5004 (impl_accessibility_component_get_layer):
5005 (spi_component_interface_new): upd.
5007 * libspi/action.c (spi_action_finalize): kill.
5008 (spi_action_class_init): upd. inherit from SpiObject.
5009 (spi_action_interface_new): upd.
5010 (get_action_from_servant): impl. helper to reduce cut & paste.
5011 (impl_getKeyBinding, impl_getName, impl_doAction),
5012 (impl_getDescription): Use it everywhere.
5014 * cspi/spi_main.c (get_live_refs): a pointer hash.
5015 (spi_object_hash, spi_object_equal): comment out.
5016 There are issues with CORBA object hashing that need
5019 * libspi/application.c (spi_application_init),
5020 (spi_application_new): upd.
5022 * libspi/accessible.c (spi_accessible_object_finalize): kill.
5023 (spi_accessible_class_init): upd.
5024 s/accessible/object/ in epv methods.
5026 2001-12-05 Bill Haneman <bill.haneman@sun.com>
5028 * at-bridge/bridge.c:
5029 Reorder the bridge initialization into the bridge gtk_module_init,
5030 an immediate call to bridge_register_app, and an idle_add for
5031 register_atk_event_listeners (the only code that *must* wait until
5032 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
5033 the activation, creates the application's Accessible object, and
5034 queues the bridge_idle_init function. Restored call to
5035 Accessibility_Registry_deregisterApplication().
5036 Prior to making this call we obtain a new reference to the
5037 registry, which is a temporary hack that helps us handle apps that
5038 shut down the bonobo mainloop before we get there.
5040 * libspi/registry.c:
5041 Fix string leakage in debug block, and don't segv if a an app
5042 dies before its event notifications have been propagated.
5045 Modify cspi_check_ev() to call g_warning() rather than g_error(),
5046 as stopgap measure until we get proper exception handling when
5047 objects die during or before interrogation.
5051 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
5052 Also changed default value of is_gnome_app to TRUE.
5055 * test/keysynth-demo.c:
5056 Changed use of SPI_init and SPI_event_main to reflect API change above.
5059 Made report_focus_event check the warning value from getName
5060 before reporting on focussed accessible; simplifies handling of
5061 notifications from dead objects.
5063 * test/test-simple.c: (Changes not in this patch since source is
5066 2001-12-05 Michael Meeks <michael@ximian.com>
5068 * registryd/registryd.c (main): protect against
5069 bonobo-activation startup race condition.
5071 * cspi/spi_main.c (cspi_object_add_check): cope
5072 with the exception elegantly.
5074 * idl/Accessible.idl: decl. ChildGone
5076 * libspi/desktop.c (spi_desktop_dispose): impl.
5077 (spi_desktop_class_init): upd.
5078 (spi_desktop_add_application),
5079 (spi_desktop_remove_application),
5080 (abnormal_application_termination): impl.
5081 (impl_desktop_get_child_at_index): re-impl.
5084 (impl_accessibility_registry_deregister_application),
5085 (impl_accessibility_registry_register_application):
5086 kill excessive debug clutter.
5088 * test/test-simple.c (test_misc): test some NULL
5089 tolerance. (main): upd.
5091 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
5092 implements no interfaces - so let's not crash.
5094 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
5096 * libspi/accessible.c (spi_accessible_new_return): impl.
5097 helper to calm the cut and paste, to cope with
5098 NULL AtkObjects effectively and efficiently, and to kill
5099 the referencing bugs.
5101 * libspi/table.c (impl_getAccessibleAt),
5102 (impl_getRowHeader, impl_getColumnHeader): upd.
5104 * libspi/hyperlink.c (impl_getObject): upd.
5106 * libspi/accessible.c
5107 (impl_accessibility_accessible_get_child_at_index): upd.
5109 * libspi/component.c
5110 (impl_accessibility_component_get_accessible_at_point): upd.
5112 * test/test-simple.c (test_editable_text, test_text): impl.
5115 * cspi/spi_editabletext.c
5116 (AccessibleEditableText_insertText): constify.
5118 * test/test-simple.c (focus_me): make more robust.
5120 * libspi/accessible.c: remove some printfs in methods that
5121 we test and work fine, so we can get a clean tree dump.
5123 * test/test-simple.c (validate_accessible),
5124 (validate_tree): make tree dumping pretty too.
5126 * at-bridge/bridge.c (bridge_signal_listener): upd. so
5127 it builds without debug on.
5129 * test/test-simple.c (validate_accessible): fix the most
5132 * cspi/spi_main.c (spi_object_release): leave the nicely
5133 blanked memory around if in debug mode.
5135 * cspi/spi-listener-impl.c (cspi_event): use add_check.
5137 [committed to fixups2]
5138 2001-12-05 Michael Meeks <michael@ximian.com>
5140 * libspi/editabletext.c
5141 (spi_editable_text_class_init): g_type_class_peek_parent,
5142 not interface peek - so we finalize cleanly.
5144 * libspi/accessible.c (spi_accessible_new): kill debug.
5146 * test/test-simple.c (validate_accessible): fix ref.
5147 leak, print strings before freeing them; sigh, comment a
5148 chunk out due to strangeness.
5149 (validate_tree): unref the child after use.
5151 * cspi/spi_component.c (AccessibleComponent_getLayer):
5152 add missing break statement, switch on zlayer not the
5153 uninitialized retval.
5155 * cspi/spi_main.c (cspi_object_add): add assert, local ref
5156 before (possibly re-entering) remote unref.
5158 * test/simple-at.c (main): unref the desktop.
5160 * cspi/spi_accessible.c (cspi_accessible_is_a): move
5163 * cspi/spi_main.c (cspi_accessible_is_a): here to
5164 isolate bonobo API usage more.
5166 * libspi/registry.c (impl_accessibility_registry_register_application):
5167 prune bogus comment.
5169 2001-12-04 Michael Meeks <michael@ximian.com>
5171 * test/test-simple.c (validate_tree): upd.
5172 IndexInParent check to make it more lucid.
5173 (validate_accessible): dump the tree.
5175 * libspi/accessible.c (de_register_public_ref),
5176 (get_public_refs): impl.
5177 (spi_accessible_new): make more efficient & intuitive.
5178 Now IndexInParent check works.
5180 2001-12-04 Michael Meeks <michael@ximian.com>
5182 * cspi/spi-util.h: remove.
5184 * cspi/spi.h: move SPI_freeString here
5186 * libspi/component.c (impl_accessibility_component_get_layer):
5188 (impl_accessibility_component_get_mdi_z_order): ditto,
5189 return -1 on error - is this ok ?
5191 * test/test-simple.c (test_application): impl.
5193 * cspi/spi_accessible.c (Accessible_getApplication),
5194 (Accessible_isApplication): impl.
5196 * libspi/registry.c (spi_listener_struct_free): release
5197 the CORBA reference too.
5199 * libspi/accessible.c
5200 (impl_accessibility_accessible_get_parent): fix ref leak.
5202 * libspi/registry.c (spi_registry_new): make the registry
5203 immortal - we don't want it to go away ever.
5205 * libspi/application.c
5206 (spi_accessible_application_finalize): impl. cleanup.
5208 * cspi/spi_registry.c
5209 (deregisterGlobalEventListenerAll),
5210 (deregisterGlobalEventListener),
5211 (deregisterAccessibleKeystrokeListener): fix ref leak.
5213 * cspi/spi_main.c (SPI_init): remove redundant ref.
5215 * test/test-simple.c (unutterable_horror): impl. to force a
5220 (impl_accessibility_registry_deregister_application): release
5221 the application when we de-register it.
5223 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
5224 until we have the infastructure to get it right.
5226 2001-12-03 Michael Meeks <michael@ximian.com>
5228 * libspi/Makefile.am: only build eventlistener.[ch]
5230 * libspi/accessible.c
5231 (impl_accessibility_accessible_get_child_at_index): don't leak.
5233 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
5234 before we hit the idle handler.
5236 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
5237 debugging than exit.
5239 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
5241 * libspi/listener.c (impl_notify_event): check source
5242 not NIL before unref.
5244 * libspi/registry.c (impl_registry_notify_event): ditto.
5246 * libspi/eventlistener.c
5247 (impl_accessible_event_notify_event): unref the source.
5249 * libspi/accessibleeventlistener.c
5250 (impl_accessible_event_notify_event): unref the source.
5252 * idl/Event.idl: remove 'hash_id' attribute - of no
5255 * libspi/application.c (notify_listeners): upd list
5257 (spi_application_object_event_listener),
5258 (spi_application_toolkit_event_listener): upd to do correct
5262 (_registry_notify_listeners): update.
5263 (parse_event_type): this method also leaks like a sieve.
5264 (impl_accessibility_registry_deregister_global_event_listener):
5265 fix ETYPE_WINDOW case.
5267 * libspi/application.c
5268 (impl_accessibility_application_register_object_event_listener):
5271 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
5273 * libspi/hypertext.c (impl_getLink): ditto.
5275 * cspi/spi_main.c (cspi_object_add): remove
5276 bogus CORBA_Object_duplicate.
5278 * cspi/spi-listener-impl.c (cspi_event): dup/ref
5281 * cspi/spi_accessible.c
5282 (Accessible_getRelationSet): fix leak / referencing issue.
5284 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
5285 (cspi_object_add, cspi_object_unref): upd.
5286 (spi_object_release, get_live_refs): impl.
5287 (cspi_cleanup): simplify.
5289 * *.[ch]: s/boolean/SpiBoolean/
5291 * cspi/spi_accessible.c (role_names): actualy order so it
5292 corresponds with the enum !
5294 * test/test-simple.c (test_roles): check some role strings
5295 vs. enums to detect offset errors.
5297 2001-12-01 Michael Meeks <michael@ximian.com>
5299 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
5301 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
5303 (Accessible_getChildAtIndex): use cspi_add_check so we
5304 check the ev before using a (possibly) invalid value.
5306 * libspi/accessible.c
5307 (impl_accessibility_accessible_get_parent): don't segv
5310 * at-bridge/bridge.c (gtk_module_init): upd.
5311 (bridge_property_event_listener): don't leak strings
5313 (bridge_state_event_listener),
5314 (bridge_property_event_listener): don't use a static
5315 buffer in case of recursive event emission &
5316 re-enterancy - split out the swathe of cut and paste
5318 (emit_eventv): and fix 2 ref leaks here & comply to the
5320 (bridge_register_app): rename to
5321 (bridge_idle_init): this and kill arg parsing, split
5322 various inits & bonobo-activation registration to module
5323 init time, kill referencing error.
5324 (bridge_exit_func): fix the same leak.
5325 (bridge_focus_tracker): don't leak event structures
5327 (bridge_signal_listener): more leakage and cut & paste
5329 (bridge_key_listener): return the result - FIXME is
5330 this polarity correct ?
5331 (accessibility_keystroke_from_atk_key_event): rename
5332 (accessibility_init_keystroke_from_atk_key_event): and stop
5334 (gtk_module_init): return a value - not that it is checked by
5336 (bridge_key_listener): register my horror at casting between
5337 IDL defined structs.
5338 (bridge_get_registry): kill - not used.
5340 * cspi/spi_accessible.c (Accessible_getRole): make return const.
5342 * test/test-simple.c (test_roles): impl.
5343 (test_desktop, validate_accessible, validate_tree): impl.
5345 * cspi/spi_accessible.c (role_names): fixup bogus
5346 MAX_ROLES setup, make constants const for efficient linkage
5347 (AccessibleRole_getName): conform to coding style, make
5350 2001-11-30 Michael Meeks <michael@ximian.com>
5352 * cspi/spi.h: add missing prototype.
5354 * libspi/registry.c (spi_listener_struct_new): fix sig.
5356 * test/Makefile.am: add test-simple
5358 * test/test-simple.c: add
5360 * test/test.sh: add.
5362 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
5364 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
5365 do it straight - since otherwise we often get an activation race.
5367 [ work before Bill duplicated a chunk of it ... ]
5368 2001-11-30 Michael Meeks <michael@ximian.com>
5370 * libspi/keystrokelistener.c
5371 (spi_keystroke_listener_class_init): fixup arg
5374 * libspi/eventlistener.c
5375 (spi_event_listener_class_init): ditto.
5377 * tests/test.sh: add.
5379 * cspi/spi-listener-impl.h: update macros.
5381 * cspi/spi-listener-impl.c
5382 (cspi_event_listener_remove_callback): add
5383 correct pre-conditions.
5385 * cspi/spi_main.c (SPI_exit): guard vs. double
5386 exits, exit the mainloop nicely.
5387 (SPI_event_main): make more sense.
5388 (SPI_init): move the atexit evilness here so we
5389 always do it (yuck).
5390 (SPI_event_main): upd.
5392 * test/simple-at.c: update for listener changes.
5394 * registryd/registryd.c (main): prune kruft.
5396 * libspi/libspi.h: upd.
5398 * libspi/eventlistener.[ch]: rename broken macros.
5400 * libspi/accessibleeventlistener.[ch]: remove.
5402 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
5404 * test/test-simple.c: Add - automated tests.
5406 * cspi/spi-listener-impl.c (cspi_event),
5407 (cspi_key_event): add user_data to invoke.
5408 (cspi_keystroke_listener_finalize): impl.
5409 (cspi_keystroke_listener_class_init): upd.
5412 (createAccessibleEventListener),
5413 (AccessibleEventListener_addCallback),
5414 (createAccessibleKeystrokeListener),
5415 (AccessibleKeystrokeListener_addCallback): upd.
5417 * libspi/deviceeventcontroller.c
5418 (spi_device_event_controller_check_key_event): add public proto.
5421 (impl_accessibility_registry_deregister_global_event_listener):
5422 always init listeners.
5423 (_registry_notify_listeners): yes it is.
5425 * cspi/spi-listener-impl.c (cspi_key_event):
5427 (cspi_event_listener_finalize): impl.
5428 (cspi_event_listener_class_init): hook up.
5429 (event_handler_new, event_handler_free),
5430 (event_list_remove_by_callback): impl.
5431 (cspi_event_listener_remove_callback),
5432 (cspi_keystroke_listener_remove_callback),
5433 (cspi_keystroke_listener_add_callback),
5434 (cspi_event_listener_add_callback): upd.
5436 * libspi/keystrokelistener.c
5437 (keystroke_listener_object_finalize): kill
5438 (spi_keystroke_listener_class_init): upd.
5439 (spi_keystroke_listener_add_callback),
5440 (spi_keystroke_listener_remove_callback): kill,
5442 (impl_key_event): prune drasticaly.
5444 * libspi/eventlistener.c
5445 (spi_event_listener_add_callback),
5446 (spi_event_listener_remove_callback): kill, use
5448 (impl_accessible_event_notify_event): upd.
5449 (spi_event_listener_object_finalize): remove.
5451 * libspi/Makefile.am: use eventlistener.[ch]
5453 2001-12-04 Bill Haneman <bill.haneman@sun.com>
5455 * libspi/registry.c (_registry_notify_listeners):
5456 Changed listener loop iteration to use preferred convention.
5457 Got rid of string memory leaks caused be calling g_strconcat
5458 inside function calls.
5460 * libspi/registry.c (parse_event_type):
5461 Stopped g_strconcat memory leaks, free the g_strsplit return,
5462 g_strdup the split pieces when used, etc.
5464 2001-12-04 Bill Haneman <bill.haneman@sun.com>
5467 Change method 'compare' to return a 'difference set' rather than
5468 taking a StateSet as an out parameter (more Java-friendly).
5470 * idl/Accessible.idl:
5471 Added CORBA struct 'BoundingBox', to faciliate API changes below:
5473 * idl/Component.idl:
5475 Changed methods 'getExtents' and 'getImageExtents' in these
5476 interfaces to return a BoundingBox structure.
5477 (getPosition and getSize are redundant and possibly should be
5478 removed, rather than creating a corresponding Point struct.)
5480 * cspi/spi_component.c:
5481 Modify implementation of getExtents to reflect the above IDL
5486 Add (missing) AccessibleImage_getExtents () API.
5488 * docs/reference/cspi/at-spi-cspi-sections.txt:
5489 Added AccessibleImage_getImageExtents () to docs.
5491 2001-12-03 Bill Haneman <bill.haneman@sun.com>
5493 * idl/Component.idl:
5494 Added two methods, getLayer () and getMDIZOrder (), to reflect
5495 the new ATK methods atk_object_get_layer and
5496 atk_object_get_mdi_z_order. (Which arguably should be part of the
5497 AtkComponent API and AtkObject). Also added an enum,
5498 ComponentLayer, for the first method's return value.
5500 * libspi/component.c:
5501 Added implementations for these methods.
5503 * cspi/spi_component.c:
5505 Added cspi binding methods for above,
5506 AccessibleComponent_getLayer() and
5507 AccessibleComponent_getMDIZOrder().
5508 Added cspi enum 'AccessibleComponentLayer'.
5510 * docs/reference/cspi/at-spi-cspi-sections.txt:
5511 Added above methods to docs.
5515 Changed typedef for 'boolean' type (and all references to it) to
5516 SPIBoolean, to avoid keyword clashes with C++.
5519 Changed usages of 'boolean' to SPIBoolean.
5521 * test/keysynth-demo.c:
5522 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
5523 app), except where SPIBoolean is required by the callbacks API.
5525 2001-12-02 Bill Haneman <bill.haneman@sun.com>
5527 * cspi/spi_registry.c:
5528 Removed obsolete X event loop for passive keygrabs (which now
5531 * registryd/registryd.c:
5532 Removed unnecessary call to gdk_init() [cruft]. This also allows
5533 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
5536 2001-11-28 Bill Haneman <bill.haneman@sun.com>
5538 * docs/reference/cspi:
5539 Included docs for SPI_freeString in generated documentation.
5542 Renamed spi_freeString to SPI_freeString, for consistency. Added
5543 documentation for this function.
5546 Renamed spi_freeString to SPI_freeString, for consistency.
5547 Removed obsolete method declaration string_from_corba_string.
5549 * test/keysynth-demo.c:
5550 Small tweak to comments.
5553 Stopped leaking the strings returned from CSPI.
5555 2001-11-28 Bill Haneman <bill.haneman@sun.com>
5557 Merged Michael's branch (see his ChangeLog entries below).
5559 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
5560 bridge is alive, release on exit.
5562 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
5563 Fix type check macro.
5566 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
5569 Added is_gnome_app static, and method cspi_is_gnome_app(),
5570 so we can call the appropriate shutdown routine at exit in SPI_exit.
5572 * cspi/spi_main.c (cspi_object_ref):
5573 Duplicate the corba object passed in, since we're keeping it around.
5575 * cspi/SPI_exit.c, cspi_cleanup:
5576 Moved the releasing of the live refs to its own function, so we
5577 can put it in g_atexit (). Call the appropriate shutdown API
5578 depending on whethe calling client is a gnome app or not
5579 (bonobo_main_quit or CORBA_ORB_shutdown).
5581 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
5582 Unref the listener when this method is called, after
5583 deregistration. Updated the API docs to note this behavior.
5585 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
5586 Bugfixes: Ref the bonobo object when returning a parent or child
5587 reference, or an AccessibleRelation. Generally made sure
5588 BonoboObject refcount is incremented whenever we return an
5591 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
5592 Fixed typo/bug in signal declaration.
5594 * libspi/accessibleeventlistener.h:
5597 * libspi/application.c (spi_application_new):
5598 Fixed leak in initialization.
5601 Remembered to increment bonobo-object refcount when returning
5602 children (applications) from desktop object.
5603 Added (empty) finalize method.
5605 * libspi/deviceeventcontroller.c:
5606 Hold a ref to listeners inside DEControllerKeyListeners.
5607 Added dec_key_listener_free() method. Use prepend instead of
5608 append in key_listener list. Fixed some refcount madness and
5609 leaks in the listener registration/deregistration - deregistration
5610 now calls dec_key_listener_free() on listeners, and on the
5611 temporarily constructed dec_key_listener() used to perform the search/match.
5613 * libspi/hypertext.c (spi_hypertest_finalize):
5614 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
5615 class. Also fixed spi_hypertext_interface_new() and
5616 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
5618 * libspi/hypertext.h:
5619 Removed pointless and duplicate AtkObject pointer from
5622 * libspi/keystrokelistener.c:
5623 Fixed incorrect type of keystroke_listener_parent_class,
5624 renamed keystroke_listener_object_finalize to
5625 spi_keystroke_listener_object_finalize.
5626 Fixed typo in signal declaration
5627 (spi_keystroke_listener_class_init).
5629 * libspi/registry.c:
5630 Added funcsions spi_listener_struct_new() and
5631 spi_listener_struct_free() to help with memory management issues.
5632 We also now use these methods instead of gnew + poking stuff into
5633 the struct, and to decrement listener counts/free the listeners
5634 when deregistering them.
5635 Fix more refcount bugs in getDesktop() and
5636 getDeviceEventController().
5639 De-ref the desktop after enumerating the applications. Explicitly
5640 decrement the refcounts on the created listeners on exit (using
5641 _unref for keystroke listeners, and via the
5642 deregisterGlobalEventListenerAll command for other event
5645 2001-11-27 Michael Meeks <michael@ximian.com>
5647 * cspi/spi-listener.h: fixup enum.
5649 2001-11-27 Michael Meeks <michael@ximian.com>
5651 * cspi/spi-listener-impl.c (cspi_event_listener_new),
5652 (cspi_keystroke_listener_new): Use the cspi variants.
5654 2001-11-26 Michael Meeks <michael@ximian.com>
5656 * test/keysynth-demo.c: fix 2 compile warnings, missing
5659 * test/simple-at.c (report_focussed_accessible),
5660 (report_focus_event, report_button_press),
5661 (check_property_change, is_command_key),
5662 (report_ordinary_key_event, report_command_key_event): upd.
5664 * util/mag_client.h: include pre-requisites.
5666 * libspi/accessibleeventlistener.c
5667 (spi_event_listener_object_finalize): free any lingering
5670 * libspi/keystrokelistener.c
5671 (keystroke_listener_object_finalize): ditto.
5673 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
5674 callbacks, with cspi types.
5676 * cspi/spi_event.c (createAccessibleEventListener): chain to
5677 (AccessibleEventListener_addCallback): here.
5678 (createAccessibleKeystrokeListener): chain to
5679 (AccessibleKeystrokeListener_addCallback): here.
5681 * libspi/keystrokelistener.c
5682 (spi_keystroke_listener_class_init): add signal.
5683 (impl_key_event): emit the event.
5684 (boolean_handled_accumulator): impl.
5685 (marshal_BOOLEAN__POINTER): add, gack.
5687 * libspi/accessibleeventlistener.c
5688 (spi_event_listener_class_init): add signal.
5689 (impl_accessible_event_notify_event): emit the signal &
5690 make the loop efficient.
5691 (spi_event_listener_add_callback): prepend the callback.
5693 * libspi/accessibleeventlistener.h: add an 'event' signal,
5694 decl type on callback.
5696 * libspi/keystrokelistener.h: ditto.
5698 * cspi/spi-listener.h: make methods typesafe and
5699 make them use the new event typedefs.
5701 * test/simple-at.c (report_focussed_accessible):
5702 include mag_client.h
5703 Use *(void *)text_interface not the other thing.
5705 * configure.in: add gtk to registryd bits - since we use
5708 * util/magnifier.c: include libbonobo.h
5710 2001-11-25 Bill Haneman <bill.haneman@sun.com>
5712 * test/keysynth-demo.c:
5713 Turned this into a simple scanning keyboard, to demonstrate the
5714 use of g_timeout_add () as a means of creating timers for
5715 scanning, and the use of GtkStyle for visually indicating when
5716 virtual keyboard elements are selected.
5718 keysynth-demo now listens to any keyboard keys with zero-valued
5719 keycodes (i.e. 'unused' keys) and interprets them as
5722 Reworked the shiftlatch code so that shift-down state isn't held
5723 for long periods (it's only synthesized immediately prior to
5724 the keysynth event it's modifying). Note that shiftlatch in this
5725 demo is a convenience, not intended to take the place of AccessX
5726 which is the better choice for getting 'sticky' modifier keys.
5728 * libspi/deviceeventcontroller.c:
5729 * at-bridge/bridge.c:
5730 * cspi/spi_registry.c:
5731 Removed some debug print stuff, and put other verbosity in #ifdef
5736 Implemented some more of the magnifier IDL for the simple
5737 magnifier: namely, getZoomRegionParams.
5738 Added mag_x and mag_y members to MagnifierData struct, aid of this
5740 Added GtkWindow::realize signal handler to magnifier, to keep it
5741 from receiving keyboard focus from the WM.
5743 2001-11-23 Mark McLoughlin <mark@skynet.ie>
5745 * cspi/spi-private.h: my guess at what michael forgot
5746 before he ran off to NZ :-)
5748 2001-11-23 Michael Meeks <michael@ximian.com>
5750 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
5751 comment out non existant method invoke so we link.
5753 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
5754 use bonobo_exception_get_text for more friendly warnings.
5756 * cspi/spi.c (Obj_Add): move into spi_main & rename
5757 spi_object_add; kill spi.c
5759 * cspi/spi_registry.c
5760 (deregisterGlobalEventListener),
5761 (deregisterGlobalEventListenerAll),
5762 (registerGlobalEventListener): fix exception leaks.
5764 * cspi/spi_main.c (spi_exception): impl. helper, so we
5765 don't leak exceptions.
5767 * cspi/spi_selection.c
5768 (AccessibleSelection_deselectSelectedChild): return the
5771 * cspi/spi_main.c (spi_ev): impl; hack - gack.
5772 (spi_registry): ditto.
5773 (SPI_init): guard against double inits.
5775 * cspi/*.c: use spi_ev (), and spi_registry () where
5776 appropriate - a temporary hack until we have something
5777 better. Use spi_object_add
5779 2001-11-22 Michael Meeks <michael@ximian.com>
5781 * cspi/Makefile.am: re organise, install the headers.
5783 * cspi/*.h: add G_BEGIN/END_DECLS
5785 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5788 Added non-preemptive keylistener for key events with no modifiers
5789 and shift-only modifier.
5791 * libspi/keystrokelistener.c:
5792 Removed some verbose diagnostics printout.
5794 * cspi/spi_registry.c:
5795 Fixed a bug that caused all key listeners to be registered as
5798 * libspi/deviceeventcontroller.c:
5799 Fixed bug that caused XGrabKey (preemptive key grab) to be called
5800 for non-preemptive key masks.
5803 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5805 * docs/reference/idl/at-spi-idl-docs.sgml:
5806 * docs/reference/idl/at-spi-idl-sections.txt:
5807 * docs/reference/idl/at-spi-idl-overrides.txt:
5808 Added missing files.
5810 * docs/reference/Makefile.am:
5811 removed idl from SUBDIRS until we can figure a way to get gtk-doc
5812 to scan the IDL files :-(
5817 Added .cvsignore files.
5819 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5821 * libspi/deviceeventcontroller.c:
5822 * libspi/keystrokelistener.c:
5824 * cspi/spi_registry.c:
5825 Added filters for KeySets, KeyEventSeq, and event types to key
5826 event dispatching, so listeners should only receive those events
5827 that they requested :-)
5829 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5834 * docs/reference:Makefile.am:
5835 * docs/reference/cspi:
5836 * docs/reference/cspi:Makefile.am:
5837 * docs/reference/cspi:tmpl:
5838 * docs/reference/cspi:tmpl:*.sgml:
5839 * docs/reference/idl:
5840 * docs/reference/idl:Makefile.am:
5841 * docs/reference/idl:at-spi-idl-sections.txt:
5842 * docs/reference/idl:at-spi-idl-docs.sgml:
5843 * docs/reference/idl:tmpl:
5844 * docs/reference/idl:tmpl:*.sgml:
5846 Restructured docs directory to allow separate 'reference' docs
5847 section, and forked idl and cspi docs. Added the sgml template
5848 files to CVS. Added the first sections/structural sgml for the
5851 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
5853 * configure.in, libspi/Makefile.am: find libXtst.
5855 2001-11-21 Michael Meeks <michael@ximian.com>
5857 * test/accessx-gui.c: s/spi_value/value/ - doh.
5859 * libspi/base.[ch]: add.
5861 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5863 * idl/Accessible.idl:
5864 * idl/Application.idl:
5867 Started gtk-doc cleanup on IDL.
5869 * libspi/deviceeventcontroller.c:
5870 Added and connected non-preemptive key notification from the
5871 toolkits (in addition to the pre-emptive support from XServer
5872 which we had before, but which causes 'focus flashing'). Filters
5873 are presently limited to key modifiers and global/non-global,
5874 KeySets are presently ignored, as are KeyEvent masks.
5876 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
5877 structs into the persistant structure rather than just storing
5878 pointers to things that might not persist across servant
5881 The XGrabKey call now does async keygrabs, because synchronous
5882 ones were deadlocking with GDK_event code in a very nasty way.
5884 Added boolean to internal method notify_keylisteners, to indicate
5885 whether the event came from the 'toolkit source' or the 'global
5886 (XServer) source' - this is used in the notification process to
5887 determine which listeners to send the event to.
5889 deviceeventcontroller.c is now warning-free.
5891 * libspi/registry.c:
5892 Fixed regression in application de-registration.
5893 Also fixed some really brain-dead weirdness having to do with
5894 event dispatching - event structs are now duplicated before being
5895 re-marshalled in the dispatch to listeners. This also fixes a
5896 Solaris build problem.
5899 2001-11-20 Michael Meeks <michael@ximian.com>
5902 (impl_accessibility_registry_deregister_global_event_listener):
5905 * libspi/deviceeventcontroller.c
5906 (spi_device_event_controller_check_key_event): return
5907 FALSE on no virtual method.
5909 * libspi/*..h: make includes work on a correctly pathed install.
5911 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
5913 * libspi/application.h: kill unused ( and whacked out )
5914 gboolean *spi_application_set_id (AtkObject *app, long id);
5916 2001-11-20 Michael Meeks <michael@ximian.com>
5918 * libspi/*.[ch]: further convert to bonobo's type func
5919 macros, remove redundnant casts etc.
5921 * libspi/text.c s/accessibility_text/spi_text/g,
5922 re-order to de-cruft.
5924 * libspi/hypertext.c: re-order to kill a huge slew
5925 of redundant forward decls.
5927 * libspi/relation.c: ditto.
5929 * libspi/image.c: ditto.
5931 * */.cvsignore: update
5933 2001-11-20 Michael Meeks <michael@ximian.com>
5935 * libspi/deviceeventcontroller.c
5936 (_controller_register_with_devices): use g_getenv,
5937 kill stdlib.h include.
5939 * libspi/keystrokelistener.c
5940 (spi_keystroke_listener_get_type): kill
5941 (spi_keystroke_listener_class_init),
5942 (spi_keystroke_listener_init): rename to this.
5944 * libspi/text.c (impl_getAttributes): fix warning / bug.
5946 * libspi/*.[ch]: more headers, includes and over commenting.
5948 2001-11-20 Michael Meeks <michael@ximian.com>
5950 * libspi/*.[ch]: fixup headers, includes and over commenting.
5952 * libspi/image.c (impl__get_imageDescription): const
5953 correctness warning fix. remove redundant casting.
5955 * libspi/table.c (impl_getRowDescription): ditto.
5956 (impl_getColumnDescription): ditto.
5958 * libspi/libspi.h: add.
5960 2001-11-19 Michael Meeks <michael@ximian.com>
5962 * libspi/editabletext.c (impl_setAttributes): fix warnings.
5964 * libspi/component.c (accessibility_component_get_type):
5965 rename to (spi_component_get_type): and macroify.
5966 (accessibility_component_init): rename to
5967 (spi_component_init): this
5968 (accessibility_component_class_init): rename to
5969 (spi_component_class_init): this
5971 * libspi/action.c (spi_action_get_type): kill, use the macro.
5973 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
5976 * libspi/application.c (spi_application_object_event_listener),
5977 (impl_accessibility_application_register_object_event_listener):
5978 warning fixes / const understanding updates.
5980 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
5983 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5985 * libspi/spi_accessible.c: Added docs and C bindings for
5986 AccessibleStateSet. (No implementations yet). Documentation
5987 coverage for C bindings now 100%. Made docs for event listeners
5992 boolean notifyListenersSync (in DeviceEventListener listener,
5993 in DeviceEvent event);
5995 oneway void notifyListenersAsync (in DeviceEventListener listener,
5996 in DeviceEvent event);
5998 Added DeviceEventListener and DeviceEvent structs (may deprecate
5999 KeyStroke and KeystrokeListener in favor of this generic
6000 event/listener framework for devices).
6002 * libspi/deviceeventcontroller.c:
6004 Changed some key listener code to take masks, etc., and paved the
6005 way for integration of toolkit/non-preemptive key events. Changed
6006 signatures of some internal methods.
6008 * at-bridge/bridge.c:
6009 Fixed regression connecting to interface signals, apparently
6010 caused by GTK+ changes.
6012 Added an internal bridge_state_listener to deal with
6013 property-change:accessible-state signals.
6015 Changed the key_listeners GList to store structs (including masks,
6016 etc.) instead of just CORBA_Objects (required for full
6017 implementation of key listener API).
6019 Connected the bridge to all currently supported Atk signals.
6020 Events now supported:
6021 object:property-change
6022 object:property-change:accessible-name
6023 object:property-change:accessible-state
6024 object:property-change:accessible-description
6025 object:property-change:accessible-parent
6026 object:property-change:accessible-value
6027 object:property-change:accessible-role
6028 object:property-change:accessible-table-caption
6029 object:property-change:accessible-table-column-description
6030 object:property-change:accessible-table-column-header
6031 object:property-change:accessible-table-row-description
6032 object:property-change:accessible-table-row-header
6033 object:property-change:accessible-table-summary
6034 object:children-changed
6035 object:visible-data-changed
6036 object:selection-changed
6037 object:text-selection-changed
6039 object:text-caret-moved
6041 object:row-reordered
6043 object:column-inserted
6044 object:column-reordered
6045 object:column-deleted
6046 object:model-changed
6048 2001-11-16 Bill Haneman <bill.haneman@sun.com>
6050 * libspi/hyperlink.c,h:
6051 Fixed some broken stuff in hyperlink.
6053 * libspi/relation.h:
6054 * libspi/relation.c:
6055 * cspi/spi_accessible.c:
6056 Initial implementations of AccessibleRelation methods, and docs.
6058 * libspi/accessible.c:
6059 Fixed a bug that caused SEGV if an accessible
6060 object's description is NULL, and a client
6061 requests it. An empty string is now returned.
6063 * cspi/spi_editabletext.c:
6064 * cspi/spi_hypertext.c:
6066 * cspi/spi_hyperlink.c:
6070 Doc coverage now 95%.
6072 2001-11-16 Bill Haneman <bill.haneman@sun.com>
6074 One last namespacing revision:
6075 * libspi/accessibleeventlistener.[ch]:
6076 Renamed SpiAccessibleEventListener to SpiEventListener,
6077 (no need for two namespaces ;-)
6079 And lots of documentation fixes:
6081 * docs/at-spi-docs.sgml:
6082 Fixed 'underscore vs. hyphen' bug that was preventing
6083 the gtk-doc API docs from being automatically generated.
6086 * cspi/spi-listener.h
6088 * cspi/spi_accessible.c
6090 * cspi/spi_application.c
6091 * cspi/spi_component.c
6092 * cspi/spi_editabletext.c
6094 * cspi/spi_hypertext.c
6096 * cspi/spi_registry.c
6097 * cspi/spi_selection.c
6101 * docs/at-spi-docs.sgml
6102 * docs/at-spi-sections.txt
6104 Added and fixed up gtk-doc documentation in cspi.
6106 Interfaces now (fully) documented (subject to revision and enhancement):
6108 Event Listener Support
6110 AccessibleApplication
6114 AccessibleEditableText
6121 AccessibleRelationSet
6126 2001-11-14 Bill Haneman <bill.haneman@sun.com>
6128 * at-bridge/bridge.c:
6129 Initial work for toolkit-level key snooper connection by bridge.
6134 New typedefs and fixes to support new namespacing, and cleaner
6135 separation of cspi bindings from libspi bonobo implementation.
6136 Removed inconsistent and extraneous Spi* namespace prefix that
6137 had crept into cspi headers.
6138 Lots of comment fixes that sed had missed.
6140 * cspi/spi-roletypes.h:
6141 * cspi/spi-statetypes.h:
6142 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
6143 to AccessibleRoleType.
6145 * libspi/accessibleeventlistener.h:
6146 Fixed minor namespacing weirdness.
6148 * libspi/deviceeventcontroller.c:
6149 Reordered some internal API for device listeners.
6150 Changed the key registry final boolean to 'is_system_global'
6151 rather than 'is_synchronous', which is more descriptive of its
6153 Added spi_device_event_controller_new().
6154 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
6156 * libspi/keystrokelistener.[ch]:
6157 Namespaced KeystrokeListener to SpiKeystrokeListener.
6158 Changed uses of keymasks to use SPI_ prefix, and did other
6161 * libspi/keymasks.h:
6162 Namespaced keymask constants with SPI_ prefix.
6164 * libspi/registry.c:
6165 Some warning fixes, and knock-on fixes from namespace changes.
6168 Added rules for accessx-gui test program.
6170 * test/accessx-gui.c:
6171 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
6172 utility. It doesn't actually use at-spi, but it's still cool and
6175 * test/keysynth-demo.c:
6179 Fixes so that these test clients work properly with the namespaced
6180 libraries. (Incompletely tested for technical reasons, fixes may follow)
6183 2001-11-13 Michael Meeks <michael@ximian.com>
6185 * libspi/application.c
6186 (impl_accessibility_application_get_version),
6187 (impl_accessibility_application_get_toolkit_name):
6189 (impl_accessibility_application_set_id),
6190 (impl_accessibility_application_get_id): remove
6191 redundant casting code.
6193 * libspi/action.c (impl_getDescription): fix warnings.
6195 * libspi/accessible.c
6196 (impl_accessibility_accessible_get_parent),
6197 (impl_accessibility_accessible_get_child_at_index),
6198 (impl_accessibility_accessible_get_state),
6199 (impl_accessibility_accessible_get_relation_set):
6200 warning fixes & include action.h
6202 2001-11-13 Michael Meeks <michael@ximian.com>
6204 * *.[ch] fix bits I screwed up:
6206 s/([^ \tb(\*\&\?\",])spi_/\1/g;
6207 s/([^ \tb(\*\&\?\",])Spi/\1/g;
6209 2001-11-13 Michael Meeks <michael@ximian.com>
6211 * *.[ch] Namespace libspi into spi_ and Spi.
6213 2001-13-11 Michael Meeks <michael@ximian.com>
6215 * Makefile.am: dist & install at-spi-1.0.pc
6217 * libspi/Makefile.am: install into at-spi-1.0
6219 * idl/Makefile.am (idldir): install into at-spi-1.0
6221 * at-spi-1.0.pc.in: add.
6223 * configure.in: build it.
6225 2001-11-12 Bill Haneman <bill.haneman@sun.com>
6227 * test/keysynth-demo.c:
6228 Use a 'realize' signal-handler to set the WM properties for
6229 the virtual keyboard, rather than making it a "POPUP" type
6230 override-redirect window (thanks to anders carlsson for that
6233 2001-11-11 Bill Haneman <bill.haneman@sun.com>
6236 * test/keysynth-demo.c:
6237 Added new test of key synthesis, which creates a simple
6238 (mouse-operated) onscreen keyboard. It inserts key events into
6239 the currently-focused window, thus it does not grab keyboard focus
6242 * cspi/spi_registry.c:
6243 Added C binding for AT-SPI generateKeyEvent.
6245 * libspi/deviceeventcontroller.c:
6246 Added call to XFilterEvent so that key listener works with XIM (we
6247 hope). Added event_synth_type to generateKeyEvent, so that we can
6248 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
6249 synthesize a press/release pair for KeySyms.
6251 2001-11-09 Bill Haneman <bill.haneman@sun.com>
6253 * libspi/Makefile.am:
6254 * registryd/Makefile.am:
6255 (temporary) hack to include libXtst in libspi and registryd.
6256 (Needed for keystroke synthesis, see below).
6259 Improved API for registerKeystrokeListener, in accordance with
6260 discussions with Gnopernicus team and X server research.
6262 * libspi/registry.c:
6263 * libspi/deviceeventcontroller.c:
6264 * libspi/accessible.c:
6265 * libspi/keystrokelistener.c:
6266 Changes and fixes to support keylisteners for potentially
6267 consumed key events (that is, 'passive grabs').
6268 Added implementation for generateKeyEvent() [untested].
6271 Changes to registerKeystrokeListener() API, as above.
6272 Added deregisterGlobalEventListenerAll(), and
6273 deregisterKeystrokeListener(), which are needed for clean exit of
6275 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
6276 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
6278 * cspi/spi_registry.c:
6279 Added implementations of function prototypes mentioned above.
6281 * registryd/registryd.c:
6282 Added the key listener event source as a g_timeout(), to allow
6283 receipt of key events that are not caught by GDK (since GDK
6284 doesn't support passive keygrabs, this was necessary).
6287 Changed to attach a keylistener to 'Alt' keys, and
6288 respond to the following keycommands: Alt-M (toggle magnifier);
6289 Alt-F (toggle speech); Alt-Q (quit).
6290 Added an exit routine to deregister the listeners, and a key
6291 listener that prints some key info to the console when a key
6292 matches the listener mask (and is thus received by the listener).
6294 * util/idl/Magnifier.idl:
6295 Changes to magnifier API to support multiple zoom regions,
6296 non-uniform scaling in x and y, markDirty, and a host of other
6297 features that would be useful to magnification.
6300 * util/mag_client.c:
6301 * util/mag_client.h:
6302 * util/mag_control.c:
6304 Source code changes to support the above IDL changes.
6307 As above, and also changes to use a (slower) generic conversion
6308 path for colormap conversions, since the fast RGB conversions have been
6309 reported to fail for 16-bit displays.
6311 2001-10-26 Michael Meeks <michael@ximian.com>
6313 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
6315 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
6317 * at-bridge/Makefile.am: fix LDFLAGS.
6319 2001-10-09 Bill Haneman <bill.haneman@sun.com>
6321 * at-bridge/bridge.c:
6322 Re-worked listeners for toolkit events, now we have signal
6323 and property listeners. Added a private method
6324 register_atk_event_listeners(), which registers with the
6325 various atk and gtk signals we need to monitor in order to emit
6327 Added emission hook for AtkObject:property-change events, to
6328 support the 'property listeners'.
6329 Fixed some alloc()s of Accessibility_Event structs to use CORBA
6332 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
6333 which emit warnings and exit, respectively, if CORBA errors occur
6334 during remote calls, and we now use these methods to check most of
6335 our CORBA calls in the C bindings.
6337 * cspi/spi_accessible.c:
6338 Changed AccessibleSelection_refSelectedChild() to
6339 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
6340 now increment refcounts.
6342 * cspi/spi_component.c:
6343 Fixed some long pointer casts (dangerous!) to pass pointers to
6344 CORBA_longs of the proper type to the CORBA stubs, and copy the
6345 data into the longs that were passed into the C bindings code.
6347 * at-bridge/bridge.c:
6349 * libspi/accessible.c:
6350 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
6351 hyperlinks, AtkHyperlink is an object type.
6353 * libspi/application.c:
6354 Added various conversions to and from "generic" event types and
6355 atk-specific types; this is really part of the 'bridge'
6356 implementation but is valid for all AtkObject-based accessibility
6359 * libspi/editabletext.c:
6360 Fixed nasty bug wherein editable text's finalize method was
6361 unref'ing tha AtkObject reference that the text parent class was
6362 about to unref _again_. There was also a nasty inheritance bug
6363 that meant that the AccessibleEditableText class was corrupt.
6365 * libspi/selection.c:
6366 Provided implementations for some selection API that was broken.
6368 * idl/Application.idl:
6369 Added registerObjectEventListener () method.
6372 Fixed a number of return values that were Bonobo_Unknowns from
6373 bonobo_object_corba_objref(), which I
6374 forgot to dup before returning. Changed instances of
6375 bonobo_object_corba_objref (bonobo_object(o)) to
6376 BONOBO_OBJREF(o), for concision and clarity.
6378 2001-10-13 Louise Miller <louise.miller@sun.com>
6380 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
6381 idl/Event.idl, idl/Registry.idl
6382 Changed these files to include Bonobo_Unknown.idl instead
6385 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
6387 * libspi/component.c libspi/component.h:
6388 Fixed typo. Added assertions for object checks in
6389 AccessibleComponent code.
6391 2001-10-09 Bill Haneman <bill.haneman@sun.com>
6393 * idl/Accessible.idl:
6394 Added 'isEqual (Accessible *object)'
6395 method for Accessible. (Not Yet Implemented).
6398 Changed signature of registerKeystrokeListener() to
6399 take a KeySet and KeyEventSeq so that specific keys and event
6400 types could be requested for monitoring, and added a flag
6401 is_synchronous so that either synchronous or asynchronous
6402 notification could be requested. (However this is not all
6403 implemented yet). This also meant adding two new typedefs,
6404 KeyEventSeq and KeySet.
6407 Added two new relations, RELATION_TOOLTIP_FOR and
6408 RELATION_LEAFNODE_OF.
6411 Added new state, STATE_HAS_TOOLTIP.
6413 * libspi/text.c, editabletext.c:
6414 Added new assertions to all casts of bonobo-objects from
6415 CORBA servants, to prevent Text API calls on non-text objects.
6416 Changed suspect casts of int-pointer types, so that we
6417 always send a valid CORBA_long pointer to the CORBA APIs that use
6418 in/out long parameters. We then have to copy from the CORBA_long
6419 into the regular long or int for return to the C bindings, or
6420 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
6423 * libspi/deviceeventcontroller.c:
6424 Cleaned these sources up.
6426 Changed return type for getCharacterAtOffset to
6427 CORBA_unsigned_long, to allow for 32-bit characters.
6430 2001-10-08 Bill Haneman <bill.haneman@sun.com>
6434 Fixed 'make dist' so that distro compiles...
6435 * libspi/keymasks.h:
6437 * cspi/spi-listener.c:
6438 KeystrokeListenerCB now returns a boolean.
6440 Added KeyEventType struct, and KeyStroke.
6441 Also added createKeystrokeListener(),
6442 KeystrokeListener_addCallback(),
6443 KeystrokeListener_removeCallback(), and added a keymask to
6444 registerKeystrokeListener().
6445 * cspi/spi_accessible.c:
6446 Changed numerous return types for interfaces from
6447 AccessibleComponent to Accessible<InterfaceName>; this was
6448 probably a cut-and-paste error.
6450 Implementations of new KeystrokeListener api (from spi.h,
6453 Changes to key modifier mapping.
6454 Created ControllerEventMask struct.
6455 Made DeviceEventController derive from Bonobo::Unknown.
6457 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
6458 * libspi/deviceeventcontroller.c:
6459 Added a number of new internal (private) methods.
6460 * libspi/editabletext.c:
6461 * libspi/editabletext.h:
6462 Fixed a number of bugs related to the fact that
6463 editabletext inherits from text. Fixed the EditableText struct,
6464 the init() call, and use correct casts when calling Text methods
6465 from an EditableText object. Removed (duplicate) atko from the
6466 EditableText structure, we use the one in the parent Text
6467 structure via the casts mentioned above.
6468 * libspi/keystrokelistener.[ch]:
6469 * libspi/registry.c:
6470 Changes in support of keyboard handling (above).
6472 Keyboard handling, though partly functional, is still not
6473 recommended for at-spi client use as there is considerable
6474 work yet to be done.
6477 Changed some places where pointers to various int types
6478 are cast to be pointers to CORBA_long types and vice-versa:
6479 pointer casting is not safe so we pass pointers of the correct
6480 types and then cast the result before putting it into the target
6483 * libspi/text.h: minor typos corrected.
6485 We now speak not only the name of a Text element, but the
6486 first sentence of its content, when it receives focus.
6487 I also changed the text compression to 75% from 50%.
6488 * util/Accessibility_Util.server.in:
6489 Changed the default magnifier type to be a 3x vertical
6490 splitscreen magnifier (was previously a 2x horizontal one).
6492 2001-10-03 Bill Haneman <bill.haneman@sun.com>
6494 * libspi/keystrokelistener.h:
6495 * libspi/keystrokelistener.c:
6496 Initial functional implementations of KeystrokeListener.
6499 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
6501 Fixed string handling for NULL strings in libspi.
6502 Added spi_freeString to free strings returned by C bindings.
6504 2001-09-30 Bill Haneman <bill.haneman@sun.com>
6506 * libspi/keystrokelistener.h:
6507 * libspi/keystrokelistener.c:
6508 Began (no-op) implementations of KeystrokeListener
6510 * libspi/deviceeventcontroller.c:
6511 * libspi/deviceeventcontroller.h:
6512 Began creating implementations of DeviceEventController,
6513 to handle keystroke and mouse event listening and
6515 * libspi/accessible.c:
6516 Stubbed-in the implementations for
6517 Accessibility_Accessible_getState and
6518 Accessibility_Accessible_getRelationSet.
6519 * libspi/registry.c:
6520 Improved de-registration process and fixed some bugs,
6521 deregistration now works correctly.
6523 Added initialization of applications list (to NULL).
6525 Reduced speech compression from 0.5 to 0.7, for demo.
6526 Changed call to gdk_window_set_decorations()
6527 to gtk_window_set_decorated().
6528 * at-bridge/bridge.c:
6529 Bridge now deregisters when app exits, via
6530 registration of a cleanup function
6531 with the g_atexit() call.
6532 Required making 'app' static, renamed 'this_app'.
6533 Fixed broken use of bonobo_init, passing argv wrongly.
6535 2001-09-27 Bill Haneman <bill.haneman@sun.com>
6539 Created a new directory for
6540 accessibility-related utilities, primarily for
6541 testing and demo purposes, but with possible
6548 Onscreen magnifier utility that
6549 is implemented as a bonobo service.
6551 * util/mag_client.c:
6552 * util/mag_client.h:
6553 Client-side support (simple C bindings)
6554 for Magnification service
6556 * util/mag_control.c:
6557 Client program example for
6558 Magnification service
6560 * util/Accessibility_Magnifier.server.in:
6561 Bonobo-activation file for the
6562 Magnification service.
6565 * util/idl/Magnifier.idl:
6566 IDL defining the bonobo Magnification
6570 Modifications to use the bonobo-activated magnifier
6571 above, in place of trying to connect to an existing
6572 magnifier that uses socket-listening IPC.
6574 If env variable MAGNIFIER is set, a magnifier service
6575 will be started if one does not exist.
6577 2001-09-25 Bill Haneman <bill.haneman@sun.com>
6579 * at-bridge/bridge.c:
6580 applied patch from Marc to build and run
6581 against new glib and gtk+ (seemed like a change
6582 to bonobo_init signature was made ?)
6584 made festival-server support turned off by default.
6585 Added support for a simple magnifier (off by default)
6586 which will be added to a 'util' directory later.
6587 * at-bridge/Makefile.am:
6588 Changed "application.h" header from a 'source'
6589 to a 'dependency' of libat-bridge.
6591 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6600 Added interface implementation c files to list of
6601 includes so they are included in libcspi.
6604 Changed prototype of AccessibleAction_doAction to return a
6606 Changed prototype of AccessibleTable_getCaption to
6607 return an Accessible.
6608 Changed prototype of AccessibleTable_getSelectedRows
6609 and AccessibleTable_getSelectedColumns to
6610 return a long (returns the number of selected rows
6611 or columns respectively).
6612 Changed name of AccessibleText_refRunAttributes to
6613 AccessibleText_getAttributes.
6614 Changed prototype of AccessibleText_getCharacterExtents to
6615 return a void rather than a boolean.
6616 Added support for a AccessibleCoordType parameter
6617 specifying what type of coordinates are desired.
6618 Added an AccessibleCordType parameter to
6619 AccessibleText_getPointAtOffset.
6621 * cspi/spi_accessible.c:
6622 Added code to return the outstanding interfaces from
6623 Accessible_queryInterface.
6625 * cspi/spi_action.c:
6627 Corrected call to getNActions to call the c binding
6630 * cspi/spi_editabletext.c:
6632 Changed name from setRunAttributes to setAttributes.
6634 * cspi/spi_hyperlink.c:
6636 Changed call to getNAnchors to correctly call the c
6637 binding for an attribute.
6639 * cspi/spi_hypertext.c:
6641 Changed getImageDescription to correctly call the
6642 binding for an attribute.
6644 * cspi/spi_selection.c:
6645 Changed getNSelectedChildren to correctly call the c
6646 binding for the attribute.
6647 Changed refSelectedChild to getSelectedChild.
6651 Changed getCaption to return an Accessible.
6652 Fixed calls which retrieve attributes.
6653 Changed refAt to getAccessibleAt.
6654 Changed getNSelectedRows and getNSelectedColumns to
6658 Changed getCharacterExtents and getPointAtOffset to accept an
6659 AccessibleCoordType.
6661 Changed calls which retrieve attributes.
6662 Changed refRunAttributes to getAttributes.
6667 * idl/Hyperlink.idl:
6668 Changed n_anchors attribute to nAnchors to keep naming
6669 convention consistent.
6672 Made Table inherit from Bonobo::Unknown.
6673 Added nSelectedColumns and nSelectedRows attributes.
6676 Made Value inherit from Bonobo::Unknown.
6678 * libspi/hyperlink.c:
6679 Change for nAnchors attributte name change.
6681 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6689 Added interface implementation c files to list of
6690 includes so they are included in libcspi.
6693 Changed prototype of AccessibleAction_doAction to return a
6695 Changed prototype of AccessibleTable_getCaption to
6696 return an Accessible.
6697 Changed prototype of AccessibleTable_getSelectedRows
6698 and AccessibleTable_getSelectedColumns to
6699 return a long (returns the number of selected rows
6700 or columns respectively).
6701 Changed name of AccessibleText_refRunAttributes to
6702 AccessibleText_getAttributes.
6703 Changed prototype of AccessibleText_getCharacterExtents to
6704 return a void rather than a boolean.
6705 Added support for a AccessibleCoordType parameter
6706 specifying what type of coordinates are desired.
6707 Added an AccessibleCordType parameter to
6708 AccessibleText_getPointAtOffset.
6710 * cspi/spi_accessible.c:
6711 Added code to return the outstanding interfaces from
6712 Accessible_queryInterface.
6714 * cspi/spi_action.c:
6716 Corrected call to getNActions to call the c binding
6719 * cspi/spi_editabletext.c:
6721 Changed name from setRunAttributes to setAttributes.
6723 * cspi/spi_hyperlink.c:
6725 Changed call to getNAnchors to correctly call the c
6726 binding for an attribute.
6728 * cspi/spi_hypertext.c:
6730 Changed getImageDescription to correctly call the
6731 binding for an attribute.
6733 * cspi/spi_selection.c:
6734 Changed getNSelectedChildren to correctly call the c
6735 binding for the attribute.
6736 Changed refSelectedChild to getSelectedChild.
6740 Changed getCaption to return an Accessible.
6741 Fixed calls which retrieve attributes.
6742 Changed refAt to getAccessibleAt.
6743 Changed getNSelectedRows and getNSelectedColumns to
6747 Changed getCharacterExtents and getPointAtOffset to accept an
6748 AccessibleCoordType.
6750 Changed calls which retrieve attributes.
6751 Changed refRunAttributes to getAttributes.
6756 * idl/Hyperlink.idl:
6757 Changed n_anchors attribute to nAnchors to keep naming
6758 convention consistent.
6761 Made Table inherit from Bonobo::Unknown.
6762 Added nSelectedColumns and nSelectedRows attributes.
6765 Made Value inherit from Bonobo::Unknown.
6767 * libspi/hyperlink.c:
6768 Change for nAnchors attributte name change.
6771 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
6773 implementations-- made server implementations own AtkObject pointers
6774 rather than their respective AtkInterrface pointers to fix
6775 refcounting. AtkHyperlink is still broken.
6777 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6778 * cspi/spi_accessible.c:
6779 Added method Accessible_Role_getName(),
6780 and requisite string array (role_names).
6781 Added conversion string_from_corba_strin() call
6782 to Accessible_getName and _getDescription.
6783 * libspi/accessible.c:
6784 Added implementation for Accessible_getRole()
6786 Added festival support, used if environment variable
6789 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6791 * at-bridge/bridge.c:
6792 Now allocate Accessibility_Event using
6793 Accessibility_Event__alloc() instead of g_new0().
6794 * libspi/accessibleeventlistener.c:
6795 Initialize AccessibleEventListener->callbacks to NULL.
6796 Fixed accessible__event_listener_init() param, changed to
6797 "AccessibleEventListener *" type.
6798 Changed a bonobo_object_release_unref() call to
6799 Accessibility_Accessible_unref().
6800 * libspi/listener.c:
6801 Changed Bonobo_Unknown_unref to (equivalent)
6802 Accessibility_Accessible_unref.
6803 * libspi/registry.c:
6804 Changed bonobo_object_release_unref to
6805 Accessibility_Accessible_unref.
6807 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6810 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
6811 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
6812 spi-util.c spi-util.h
6813 Implementations for C bindings to remaining accessibility
6816 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6819 changed return value of Action from void to boolean to
6820 bring in line with ATK.
6823 Changed getText funcions to return "out" start and end offsets.
6824 Changed getAttributes to take and offset and return the start
6825 and end offset of the attribute run.
6826 Changed getOffsetAtPoint and getCharacterExtents to take an
6827 enum describing whether coordinates are window or screen.
6830 libspi/action.c libspi/action.h libspi/editabletext.c
6831 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
6832 libspi/hypertext.c libspi/hypertext.h libspi/image.c
6833 libspi/image.h libspi/selection.c libspi/selection.h
6834 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
6835 libspi/value.c libspi/value.h
6836 Added server implementations for outstanding ATK interfaces
6837 not yet implemented.
6839 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6842 Added (missing) getName() method.
6843 Made nActions an attribute.
6844 * idl/EditableText.idl:
6845 Changed order of params in setAttributes.
6846 * idl/Hyperlink.idl:
6847 Removed getAnchor, added getURI.
6849 Changed attributes to methods, for efficiency
6850 (so that getting extents can be done in one call)
6851 * idl/Selection.idl:
6852 Changed nSelectedChildren to attribute, and re-indented.
6853 * idl/Table.idl: changed nrows, ncolumns, caption, summary
6855 * idl/Text.idl: reformatted to match our coding style.
6856 (temporarily?) removed getRowColumnAtOffset().
6857 Changed text selection API to support multi-select and
6858 non-contiguous selections, as in ATK.
6859 * idl/Value.idl: changed some methods to attributes.
6861 2001-08-24 Mark McLoughlin <mark@skynet.ie>
6863 * libspi/listener.c(impl_notify_event):
6864 BonoboUnkown_unref the source instead
6865 of bonobo_object_release_unref - the ORB
6866 handles the releasing.
6868 * configure.in: require ORBit-2.3.94 for
6871 2001-08-21 Bill Haneman <bill.haneman@sun.com>
6873 Tagged CVS repository 'EA_1_0'.
6874 * README.EARLY_ACCESS:
6875 Alphabetized acknowledgements list, and
6877 Listed some known dependencies of at-spi.
6879 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6881 * docs/at-spi-docs.sgml:
6882 * docs/at-spi-sections.txt:
6883 * docs/at-spi-overrides.txt: (Added zero-length file)
6884 Documentation improvements - gtk-doc should build
6885 docs for all implemented C bindings now.
6888 * cspi/spi.c: (New file)
6889 * cspi/spi_event.c: (New file)
6890 * cspi/spi_registry.c: (New file)
6891 * cspi/spi_accessible.c: (New file)
6892 * cspi/spi_application.c: (New file)
6893 * cspi/spi_component.c: (New file)
6894 Split spi_main.c into six parts, and included them from
6895 "spi.c". This is a bit of a hack, probably temporary,
6896 but required by gtk-doc, apparently.
6898 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6901 * docs/at-spi-docs.sgml:
6902 * docs/at-spi-sections.txt:
6904 Initial checkins/modifications for gtk-doc generation.
6907 Added (missing) interface query methods to Accessible's C binding.
6909 Added GenericInterface type definition.
6911 Added query for AccessibleComponent interface to focus event handler.
6912 Added printout of bounding box for focussed component.
6913 * libspi/component.c:
6914 Added partial implementation for AccessibleComponent to C binding.
6915 * idl/Application.idl:
6916 * libspi/registry.c:
6917 * libspi/listener.c:
6918 * libspi/application.c:
6919 * libspi/application.h:
6920 Changed "ID" attribute type from string to long.
6922 2001-08-19 Bill Haneman <bill.haneman@sun.com>
6926 Made method naming consistent: methods taking object args
6927 start with uppercase, other methods (except those using
6928 acronyms) start with lowercase. Underscores delimit between
6929 object names and method names:
6930 SPI_init() - uppercase since it starts with an acronym.
6931 getDesktopCount () - lowercase start since no object param0.
6932 Accessible_getName() - uppercase object type name, studlyCaps method
6936 Added gtk-doc documentation for all currently implemented
6937 methods in the C bindings API.
6939 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6941 * Makefile.am : changed build order to build test last.
6944 Changed "createEventListener" to "CreateEventListener".
6945 * libspi/accessibleeventlistener.c :
6946 Bugfix for addition of callbacks.
6947 * test/Makefile.am :
6948 * test/simple-at.c :
6949 Added new test that uses the C bindings API.
6951 * libspi/listener.c :
6952 * libspi/registry.c :
6953 * libspi/accessibleeventlistener.c :
6954 * at-bridge/bridge.c :
6955 Renamed member "target" of Accessibility_Event to "source",
6956 which is more descriptive.
6959 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6963 * cspi/Makefile.am :
6964 Added makefile support for at-spi/cspi directory.
6967 * cspi/spi-listener.h : (NEW FILE)
6968 Added support for/use of spi-listener.h.
6970 C bindings now build successfully, with no warnings.
6971 * libspi/accessibleeventlistener.h : (NEW FILE)
6972 * libspi/accessibleeventlistener.c : (NEW FILE)
6973 * libspi/Makefile.am :
6974 Added new object type "AccessibleEventListener"
6975 which inherits from Listener, and allows attachment
6976 of in-process callbacks (so that a client with a listening
6977 object instance can add functionality to the local
6978 implementation, dynamically).
6980 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6982 * libspi/accessible.c:
6983 Add implementation for get_index_in_parent().
6985 Added #include of "spi-roletypes.h", and
6986 added enumerated type AccessibleCoordType.
6987 Added definition for KeystrokeListener (function type).
6990 * cspi/spi-statetypes.h :
6991 * cspi/spi-roletypes.h :
6993 Added these headers, used by spi.h.
6995 Added code (NOTE: not yet built by make).
6997 2001-08-18 Mark McLoughlin <mark@skynet.ie>
6999 * libspi/Makefile.am: generate imodule
7000 at the same time as other idl compiler
7003 2001-08-17 Bill Haneman <bill.haneman@sun.com>
7004 * libspi/registry.c :
7005 * libspi/application.c :
7006 * idl/Application.idl :
7007 Made registration with toolkit an application method,
7008 which is required since each app has its own toolkit static
7009 environment. Thus the bridge must register for
7010 notification of toolkit events from each application in turn.
7011 Toolkit notifications are now successfully registered for, and
7012 sent to the listening at client.
7014 Changed toolkit event string to use hyphens rather than underscores.
7015 * libspi/listener.c :
7016 listner now gives more info in debug mode - it reports the
7017 name of the event received, as well as the name of the source.
7020 2001-08-16 Bill Haneman <bill.haneman@sun.com>
7022 * libspi/registry.c :
7023 added more implementation for toolkit events.
7024 Fixed bug such that toolkit event registrations
7025 (via atk) use the whole event name string, not
7027 Removed a useless call to an ORBit_ method.
7028 * at-bridge/bridge.c :
7029 Removed unused local sbuf[] variable.
7031 We now register for Gtk:GtkWidget:button_press_event
7032 events as well as "focus:" events.
7034 Add some more API from Registry.idl that was missing,
7035 for keystroke listening, keystroke and mouse event
7036 synthesis, and enumeration of accessible desktops.
7038 2001-08-16 Michael Meeks <michael@ximian.com>
7040 * configure.in: use AM_GLIB_GNU_GETTEXT.
7042 * Makefile.am (SUBDIRS): kill intl.
7044 2001-08-15 Michael Meeks <michael@ximian.com>
7046 * registryd/Makefile.am: s/oaf/server/ relocate info file.
7048 * configure.in: upd.
7050 * configure.in: depend on a recent bonobo-activation that
7051 will find our server files ...
7053 2001-08-16 Bill Haneman <bill.haneman@sun.com>
7055 * libspi/accessible.c : accessible_new() :
7056 Now we add the Component interface via bonobo_object_add_interface,
7057 if the contained AtkObject implements AtkComponent.
7058 * libspi/accessible.h : now include "component.h"
7059 * libspi/component.h :
7060 * libspi/component.c : added files - implementation of
7061 bonobo wrapper object for Accessibility/Component
7062 * libspi/listener.c :
7063 Added test code to check for Accessibility/Component:1.0
7064 interface and report whether it is implemented by the
7066 * libspi/registry.c :
7067 Now we check for not only the hash of the whole event
7068 string before relaying the event, we also check the
7069 "minor" event string (without the detail string).
7070 This allows event listeners to be registered against
7071 all events of a certain major+minor type, or just
7072 against a specific major+minor+detail type.
7073 * libspi/accessible.c :
7074 Added implementations for Accessible:get_parent(),
7075 Accessible:getChildCount(), and Accessible:getChildAtIndex().
7076 * libspi/registry.c :
7077 * libspi/listener.c :
7078 Replaced calls to Accessibility_Accessible_ref() and
7079 Accessibility_Accessible_unref() with
7080 calls to bonobo_object_dup_ref() and
7081 bonobo_object_release_unref(), so that the CORBA object
7082 is dup-ed and released when relayed, as well as the bonobo object.
7084 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7086 * libspi/Makefile.am,
7087 registryd/Makefile.am,
7088 at-bridge/Makefile.am.
7089 test/Makefile.am, configure.in:
7090 reverse previous changes.
7092 * /idl/Image.idl: fix typo.
7094 * test/Makefile.am: put DEBUG_FLAGS
7097 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7099 * test/app.c: use argv[0] instead of
7102 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7104 * libspi/Makefile.am,
7105 registryd/Makefile.am,
7106 at-bridge/Makefile.am.
7107 test/Makefile.am, configure.in:
7108 cleanup, replace individual LIBS/CFLAGS with
7109 AT_COMMON_{LIBS|CFLAGS}.
7113 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7115 * configure.in, libspi/Makefile.am:
7116 Change IDL path checking for bonobo-activation
7119 2001-08-15 Bill Haneman <bill.haneman@sun.com>
7121 * registryd/registry.c : separated event listeners to use
7122 3 separate lists (focus, window, toolkit). Began testing
7123 event names against hashes before relaying events.
7124 * test/at.c : now register for events of type "focus:"
7125 * test/app.c : now generate events of type "focus:"
7126 * at-bridge/bridge.c : register with ATK for focus events,
7127 and we now relay those focus events to any "focus:" listeners.
7128 This now works with the bridge as a GTK_MODULE when running test/at.
7129 * libspi/registry.c :
7130 * libspi/listener.c :
7131 now we ref event sources before propagating, and unref on receipt.
7132 * libspi/registry.c :
7133 some changes to internal structs, to support event typestring hashes.
7134 * text/app.c : changed the way the appname is generated.
7135 * cspi : added directory that will hold the C bindings library for
7136 non-CORBA/bonobo-savvy clients.
7137 * cspi/spi.h : header file that contains the function prototypes for the C binding.
7138 * idl/Component.idl : added in parameter to indicate coord system for
7139 geometry-related calls.
7140 * idl/Hyperlink.idl : added readonly n_links attribute
7141 * idl/Image.idl : changed methods to attributes.
7143 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7145 * at-bridge/Makefile.am: link against
7146 ../libspi/libspi.la instead of -lspi.
7148 * at-spi/test/app.c: include
7149 bonobo-activation.h. Use a default appname
7150 if one is not provided.
7152 2001-08-14 Bill Haneman <bill.haneman@sun.com>
7154 * idl/Registry.idl : temporarily changed register_Application
7155 to oneway, to work around issue with initial registration
7157 * idl/Application.idl : changed attribute "id" from readonly
7158 to read-write, since it needs to be assigned by Registry.
7159 * registryd/registryd.c : added call to set application id
7161 * registryd/registry.c : changed de-registration procedure to
7162 use CORBA_Object_hash() to find matching object ref in application
7163 lists and listener lists.
7164 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
7165 began distinguishing between event types (work in progress).
7167 2001-08-13 Bill Haneman <bill.haneman@sun.com>
7170 * libspi/application.c:
7171 Added implementations for get/set id, get_toolkitName,
7173 * registryd/registryd.c :
7177 Converted from use of OAF to bonobo-activation.
7178 * libspi/desktop.h :
7179 * libspi/desktop.c :
7181 Removed references to atksimpleobject, since base atkobject
7182 implementation now provides functionality we need.
7183 * libspi/atksimpleobject.c :
7184 * libspi/atksimpleobject.h :
7189 * at-bridge/Makefile.am
7190 * at-bridge/bridge.c
7193 Added directory "bridge" and contents, and added dependencies
7194 in Makefile.am/configure.in.
7195 Initial checkin of "at-bridge".
7196 This code is a GTK_MODULE which automatically registers
7197 GTK+ apps with the accessibility registry, using an object
7198 reference to the root ATK object.
7200 2001-08-10 Mark McLoughlin <mark@skynet.ie>
7202 * po/Makefile.in.in: Remove. Again. If this
7203 doesn't get autogenerated - you need to update
7206 2001-08-07 Mark McLoughlin <mark@skynet.ie>
7208 * po/Makefile.in.in: Add. Again.
7210 2001-07-31 Bill Haneman <bill.haneman@sun.com>
7212 * libspi/accessible.c : added support for 'description' property.
7213 * libspi/accessible.c
7215 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
7216 (since the two are now equivalent in libbonobo)
7224 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
7225 Bonobo::Unknown as does Accessibility::Accessible.
7226 * idl/StreamableContent.idl : as above, and replaced internal InputStream
7227 interface with Bonobo::Stream, since it was redundant with it.
7228 (The Stream returned by a StreamableContext object is expected to
7229 implement only a subset of Bonobo::Stream)
7231 2001-07-28 Anders Carlsson <andersca@gnome.org>
7233 * libspi/accessible.c (accessible_object_finalize): Change
7234 g_free to g_object_unref since the AtkObject is a GObject.
7236 2001-07-30 Bill Haneman <bill.haneman@sun.com>
7238 * idl/Accessibility.idl: add new IDL files
7241 * idl/Action.idl: Definitions of actionable UI object
7242 * idl/Component.idl: Definitions of UI component geometry, etc.
7243 * idl/Hyperlink.idl: Defs of hyperlink behavior
7244 * idl/Image.idl: Def of accessible image
7245 * idl/Selection.idl: Definition of UI object with selectable children
7246 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
7247 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
7248 * idl/Text.idl: Interface defs for UI elements with complex textual content
7249 * idl/Value.idl: Definition of UI element that is a value controller or display
7251 2001-07-27 Michael Meeks <michael@ximian.com>
7253 * po/Makefile.in.in: remove autogenerated file from CVS.
7255 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
7258 * idl/Registry.idl: include guard.
7260 * idl/Accessibility.idl: Add, and include all the other IDL
7263 * idl/*.idl: remove mass of pragmas etc.
7265 2001-07-26 Michael Meeks <michael@ximian.com>
7267 * registryd/Makefile.am (registryd_SOURCES): remove
7270 2001-07-27 Mark McLoughlin <mark@skynet.ie>
7272 * libspi/.cvsignore, registryd/.cvsignore,
7273 test/.cvsignore: updated.
7275 * po/Makefile.in.in: gettext update.
7277 2001-07-25 Bill Haneman <bill.haneman@sun.com>
7279 * initial CVS checkin
7281 2001-06-29 Michael Meeks <michael@ximian.com>
7283 * configure.in: add AM_CONFIG_HEADER to gen config.h