1 2005-03-30 Steve Murphy <murf@e-tools.com>
3 * configure.in: Added "rw" to ALL_LINGUAS.
5 2005-03-29 Bill Haneman <bill.haneman@sun.com>
7 * configure.in: Improved check for HAVE_XEVIE, to detect
8 presence on XOrg, where -lXevie is a separate library.
10 2005-03-08 Bill Haneman <bill.haneman@sun.com>
12 * configure.in, NEWS, README: Revved to 1.6.3.
14 2005-02-16 Adi Attar <aattar@cvs.gnome.org>
16 * configure.in: Added "xh" to ALL_LINGUAS.
18 2005-02-07 Bill Haneman <bill.haneman@sun.com>
20 * atk-bridge/bridge.c:
21 (atk_bridge_init): Added missing NULL in g_strconcat(),
22 also check for symlink before logging to
23 insecure directory. Thanks to meissner@suse.de.
25 2005-01-25 Padraig O'Briain <padraig.obriain@sun.com>
27 * tests/login-helper-server-test.c: Add return call to main
28 function. Patch from Chris Lahey. Fixes bug #165129.
30 2004-12-20 Padraig O'Briain <padraig.obriain@sun.com>
32 * cspi/spi.h: Add description for SPI_RELATION_SUBWINDOW_OF.
34 2004-12-09 Bill Haneman <billh@gnome.org>
36 * registryd/registry-main.c:
37 Added #define <string.h> for strrchr. (bug 160862).
38 Thanks to Vincent Berger for catching.
40 2004-12-09 Padraig O'Briain <padraig.obriain@sun.com>
42 * atk-bridge/bridge.c (spi_atk_get_registry): Do not attempt to
43 restart registry process if the registry process is found to have died
44 and the current process is exiting.
45 (spi_atk_bridge_exit_func): Do not attempt to deregister the
46 application if the registry process has died.
47 (spi_atk_emit_eventv): Return if call to spi_atk_get_registry
48 does not return a registry object.
49 (spi_atk_tidy_windows): Give up if the registry process has died.
51 This fixes problems with hangs and crashes when logging out.
53 2004-12-03 Padraig O'Briain <padraig.obriain@sun.com>
55 * registryd/desktop.c: Add checking that we are not exiting before
56 calling spi_desktop_remove_application in
57 abnormal_application_termination. Fix for bug #152147.
59 2004-12-02 Bill Haneman <billh@gnome.org>
61 * configure.in, NEWS, README: Revved to 1.6.1.
63 Patch from Padraig O'Briain <padraig.obriain@sun.com>
64 * atk-bridge/bridge.c:
65 (atk_bridge_init): Save the pid when we start, to detect forks.
66 (spi_atk_bridge_exit_func): Don't call the cleanup routines
67 if we're in a forked pid.
69 2004-10-09 Bill Haneman <billh@gnome.org>
71 * idl/Accessibility_LoginHelper.idl:
72 Improved inline documentation.
74 2004-10-02 Jesus Bravo Alvarez <suso@trasno.net>
76 * configure.in: Added gl (Galician) to ALL_LINGUAS
78 2004-09-30 Kjartan Maraas <kmaraas@gnome.org>
80 * libspi/accessible.c:
81 (impl_accessibility_accessible_get_role_name),
82 (impl_accessibility_accessible_get_local_role_name):
85 (impl_accessibility_component_get_accessible_at_point):
87 * libspi/eventlistener.c: (spi_event_listener_new):
89 * libspi/stateset.c: (impl_compare): More of the same
90 * libspi/table.c: (impl_getRowDescription): Again.
91 * registryd/desktop.c: (spi_atk_desktop_get_type): Same
92 * registryd/deviceeventcontroller.c: (spi_clear_error_state),
93 (impl_generate_keyboard_event): Same.
94 * registryd/registry-main.c: (main): Same
95 * test/event-listener-test.c: (test_exit): Same
96 * test/keysynth-demo.c: (scan_state), (create_vkbd): Same
97 * test/keysynth-test.c: (test_key_synthesis): Same
98 * test/login-helper-server-test.c: (main): Fix warning.
99 * test/screen-review-test.c: (test_exit): Fix include.
100 * test/simple-at.c: (simple_at_exit), (_festival_init):
103 2004-09-13 Padraig O'Briain <padraig.vriain@sun.com>
105 * configure.in, NEWS, README: Revved to 1.6.0.
107 2004-09-12 Bill Haneman <bill.haneman@sun.com>
109 * configure.in: Rev and re-dist, since the 1.5.4 tarball
110 was missing the HTML docs.
112 2004-09-12 Tomasz Kłoczko <kloczek@pld.org.pl>
114 * configure.in: only cleanups:
115 - better looking PKG_CHECK_MODULES() output,
117 - declare in one common place required versions of other tools using
120 2004-09-11 J.H.M. Dassen (Ray) <jdassen@debian.org>
122 * configure.in: libspi/accessible.c uses ATK_ROLE_EMBEDDED
123 (unconditionally) which was introduced in ATK 1.7.2. Bumped the
124 required ATK version accordingly.
126 2004-09-03 Bill Haneman <bill.haneman@sun.com>
128 * cspi/bonobo/cspi-bonobo.c:
129 (cspi_display_name): Fix C99ism.
130 * atk-bridge/bridge.c:
131 (spi_display_name): Fix C99ism.
132 Patch from Jens Granseuer, jensgr@gmx.net.
134 2004-09-03 Gora Mohanty <gmohanty@cvs.gnome.org>
136 * configure.in: Added "or" to ALL_LINGUAS.
138 2004-08-20 Bill Haneman <bill.haneman@sun.com>
140 * configure.in, NEWS, README: Revved to 1.5.4.
142 * registryd/registry-main.c:
143 (main): Set the reg_env to use AT_SPI_DISPLAY instead of
146 * cspi/bonobo/cspi-bonobo.c:
147 (cspi_display_name): New convenience method, gets DISPLAY with
148 screen number stripped, if AT_SPI_DISPLAY isn't already set.
149 (cspi_init): Set the activation env value above before getting
152 * atk-bridge/bridge.c:
153 (spi_display_name): Create the AT_SPI_DISPLAY activation
154 environment for an app, based on the DISPLAY environment with the
155 screen number stripped off.
156 (atk_bridge_init): Allow redirection of error messages to a log.
157 (spi_atk_bridge_get_registry): Call
158 bonobo_activation_set_activation_env_value for AT_SPI_DISPLAY.
160 Fixes for bugs #149962, #136986, #144086.
162 2004-08-16 Christian Rose <menthos@menthos.com>
164 * configure.in: Added "bs" to ALL_LINGUAS.
166 2004-08-12 Kjartan Maraas <kmaraas@gnome.org>
168 * configure.in: Added nb to ALL_LINGUAS.
170 2004-09-03 Bill Haneman <bill.haneman@sun.com>
173 (SPI_init): Return error code '2' if the activated
174 registry cannot be pinged. Fixes bug #147648.
176 2004-07-28 Bill Haneman <bill.haneman@sun.com>
178 * registryd/deviceeventcontroller.c:
179 (spi_dec_init_mouse_listener): Don't do XGrabButton,
180 rely on timer-poll instead, to avoid conflict with
183 2004-07-20 Bill Haneman <bill.haneman@sun.com>
185 * configure.in: Revved to 1.5.3.
187 * idl/Accessibility_Role.idl: Added ROLE_EMBEDDED (bug #144415).
189 * libspi/accessible.c: Added support for ROLE_EMBEDDED.
191 * cspi/spi_accessible.c: Support for ROLE_EMBEDDED.
193 * cspi/spi-roletypes.h: Added SPI_ROLE_EMBEDDED.
195 2004-06-11 Bill Haneman <bill.haneman@sun.com>
197 * atk-bridge/bridge.c:
198 (spi_atk_bridge_do_registration):
199 Register with ATK for AtkComponent:bounds-changed events.
200 (api_atk_bridge_signal_listener):
201 Marshal the AtkRectangle info into the event notification
202 for object:bounds-changed events.
205 (spi_init_any_rect): New method, inits a corba struct of
206 type Accessibility_BoundingBox from an AtkRectangle.
208 * libspi/spi-private.h: Declared spi_init_any_rect (above).
211 (SPIRect): New struct definition.
212 (SPI_freeRect): New declaration.
213 (AccessibleBoundsChangedEvent_getNewBounds): New, see below.
216 (AccessibleBoundsChangedEvent_getNewBounds): New method,
217 implemented. Gets the bounding box data from the CORBA_any
218 associated with a bounds-changed event notification.
219 (cspi_internal_event_get_rect): New, used internally by above method.
222 (SPI_freeRect): Implemented this new method, for freeing
225 * test/event-listener-test.c:
226 (main, report_bounds_event):
227 Added a test for object:bounds-changed events.
229 2004-06-01 Bill Haneman <bill.haneman@sun.com>
231 * test/login-helper-server-test.c:
232 (main): Fix C99-ism. Thanks to Jens Granseuer.
234 2004-05-28 Padraig O'Briain <padraig.obriain@sun.com>
236 * libloginhelper-1.0.pc.in:
237 * idl/Accessibility_LoginHelper.idl:
238 * login-helper/Makefile.am:
239 * login-helper/login-helper.[ch]:
240 * test/login-helper-client-test.c:
241 * test/login-helper-server-test.c: Added files missing from CVS.
242 Files obtained from at-spi-1.5.2 tarball.
244 2004-05-27 Bill Haneman <bill.haneman@sun.com>
246 * configure.in: Create login-helper/Makefile.
247 Incremented micro version.
249 * Makefile.am: Add login-helper subdir and pkgconfig data.
251 * login-helper: New subdir.
253 * libloginhelper-1.0.pc.in: New.
255 * idl/Accessibility_LoginHelper.idl: New file, defines
256 interface whereby authentication clients can identify agents which
257 need access to services during the login process, e.g. screen lock
260 * login-helper/Makefile.am : New.
262 * login-helper/login-helper.[ch] : New, implementation of
263 a LoginHelper base class. Services needing LoginHelper can subclass.
265 * test/Makefile.am : Added test for login-helper, client and
268 * test/app.c, at.c, keypad-test.c, keysynth-test.c, stress-test.c:
269 Use proper prefix in #include files.
271 * test/login-helper-client-test.c: New.
273 * test/login-helper-server-test.c: New.
275 2004-05-27 Alexander Shopov <ash@contact.bg>
277 * configure.in (ALL_LINGUAS): Added "bg" (Bulgarian)
279 2004-05-14 Padraig O'Briain <padraig.obriain@sun.com>
281 * cspi/spi_main.c (cspi_object_unref): Add check that reference count
282 is positive. This should make it easier to detect inapprorpiate unref
285 2004-05-11 James Henstridge <james@daa.com.au>
287 * configure.in: remove GNOME_PLATFORM_GNOME_2 macro, which is a
288 no-op and deprecated.
290 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
292 * configure.in: Added "wa" (Walloon) to ALL_LINGUAS.
294 2004-04-28 Bill Haneman <billh@gnome.org>
296 * Makefile.am: Added --enable-gtk-doc to
297 DISTCHECK_CONFIGURE_FLAGS; fixes make distcheck.
299 2004-04-19 Bill Haneman <billh@gnome.org>
301 * configure.in: Revved to 1.5.1.
303 * registryd/deviceeventcontroller.c:
305 (DEControllerPrivateData): Added fields for
306 reserved_keycode, reserved_keysym, and reserved_reset_timeout.
307 (spi_dec_replace_map_keysym): New internal utility for
308 replacing a keysym in the keymap - used to allow
309 synthesis of individual characters which aren't in the
311 (spi_dec_reset_reserved): New; resets the changed keysym value
313 (keycode_for_keysym): We now try to deal with failed
314 XKeysymToKeycode requests by changing a keymap value
315 and returning a reserved keycode. We now take
316 a DEController pointer as first arg.
317 (spi_controller_register_with_devices): Call XkbGetMap with
318 the XkbKeySymsMask. Find the highest keycode in the current
319 keymap which doesn't have any grabs, and mark that one for
320 temporary re-mapping when out-of-range KeySyms are synthesized.
321 (dec_synth_keycode_press): Call XFlush after synthesizing the key
324 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
326 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
328 2004-03-24 Alexander Winston <alexander.winston@comcast.net>
330 * configure.in: Added "en_CA" (Canadian English) to ALL_LINGUAS.
332 2004-03-24 Bill Haneman <billh@gnome.org>
335 (AccessibleTable_addRowSelection),
336 (AccessibleTable_addColumnSelection),
337 (AccessibleTable_removeRowSelection),
338 (AccessibleTable_removeColumnSelection):
339 Add declarations for spi wrappers which were
340 inadvertantly omitted. Fixes bug #133413.
343 Revved to 1.5.0 (unstable series for GNOME 2.7).
345 2004-03-24 Bill Haneman <billh@gnome.org>
347 * atk-bridge/bridge.c:
348 Bracketed some debug output in
349 conditionals, to avoid printing it in normal use.
352 * libspi/hyperlink.c:
353 Don't cast 'object' to ATK_OBJECT when constructing
354 an AtkAction interface for a hyperlink.
355 See discussion in bug #120659.
357 * test/key-listener-test.c:
358 (report_all_key_event): Send output to stderr,
359 not stdout, for consistency with the rest of the test callbacks.
362 Add -lXext to XINPUT_LIBS. Fix for bug #132237.
363 Don't add X_LIBS to CFLAGS (Fix for bug #134332).
364 Incremented to 1.4.1 (but didn't dist yet - I'm going to
365 try incrementing the revision AFTER doing a dist, at least
368 2004-03-22 Bill Haneman <billh@gnome.org>
370 * configure.in: Revved to 1.4.0, libtool 9.14.9
372 2004-03-17 Laszlo Peter <laca@sun.com>
374 * libspi-1.0-uninstalled.pc.in: add idldir
376 * cspi-1.0-uninstalled.pc.in: add idldir
378 2004-03-16 Gareth Owen <gowen72@yahoo.com>
380 * configure.in: Added "en_GB" to ALL_LINGUAS
382 2004-03-15 Bill Haneman <billh@gnome.org>
384 * configure.in: Revved to 1.3.16,
387 2004-03-15 Laszlo Peter <laca@sun.com>
389 * libspi-1.0-uninstalled.pc.in: new file
391 * cspi-1.0-uninstalled.pc.in: new file
393 * configure.in: add the new pc files to AC_OUTPUT
395 * Makefile.am: add the new pc files to EXTRA_DIST
397 2004-03-12 Bill Haneman <billh@gnome.org>
399 * atk-bridge/bridge.c:
400 (spi_atk_bridge_key_listener):
401 Make sure to return consumed=FALSE if snoop
402 event is not dispatched to listener.
405 2004-03-01 Bill Haneman <billh@gnome.org>
407 * configure.in: Revved to 1.3.15,
410 2004-03-07 Danilo Segan <dsegan@gmx.net>
412 * configure.in: Added "sr@ije" to ALL_LINGUAS.
414 2004-03-03 Guntupalli Karunakar <karunakar@freedomink.org>
416 * configure.in: Added "pa" for Punjabi in ALL_LINGUAS.
418 2004-03-01 Bill Haneman <billh@gnome.org>
420 * configure.in: Revved to 1.3.14.
423 (SPI_exit): Removed "bye-bye" exit message.
424 Moved "leak" report to happen before the
425 iteration over the leaked refs list.
426 Don't PRINT_LEAKS unless DEBUG_OBJECTS is also #defined.
428 2004-02-24 Bill Haneman <billh@gnome.org>
430 * configure.in: Revved to 1.3.13.
432 * docs/reference/cspi/Makefile.am:
433 Correct typo that was breaking the docs build.
435 2004-02-11 Padraig O'Briain <padraig.obriain@sun.com>
437 * autogen.sh: Require version 1.7 of automake.
439 * configure.in: call GTK_DOC_CHECK([1.0])
441 * atk-bridge/Makefile.am: Remove use of LDFLAGS and CFLAGS
443 * docs/reference/cspi/Makefile.am: Update to use new gtk-doc.
445 * libspi/Makefile.am: Remove use of LDFLAGS and CFLAGS.
447 * test/Makefile.am: Remove use of CFLAGS.
449 This fixes bug #132987.
451 2004-02-11 Bill Haneman <billh@gnome.org>
453 * reverted most of Tomasz' patch below, since it was breaking
454 builds (see bug #134058).
456 2004-02-10 Tomasz Kłoczko <kloczek@pld.org.pl>
458 * docs/reference/cspi/at-spi-cspi.types: added empty file for
459 correct pass "make dist" (empty .. because seems no sach types in
460 header files with gtk-doc markups).
461 * docs/reference/cspi/Makefile.am, configure.in:
462 Added better gtk-doc support using GTK_DOC_CHECK aclocal macro
463 from gtk-doc >= 1.0 (modyfications based on scheme from atk).
464 * Makefile.am: added:
465 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
466 for force correct pass generate documentation on "make distcheck".
467 * libspi/Makefile.am: fixes for automake >= 1.6.
468 * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
469 AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
472 Sun Feb 8 11:20:50 2004 Matthias Clasen <maclas@gmx.de>
474 * docs/reference/cspi/Makefile.am (install-data-local): Install
475 index.sgml since the doc autobuilder on widget.gnome.org looks for
478 2004-02-02 Padraig O'Briain <padraig.obriain@sun.com>
480 * atk-bridge/bridge.c (spi_atk_tidy_windows): Correct g_free call to
483 2004-02-01 Robert Sedak <robert.sedak@sk.htnet.hr>
485 * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
487 2004-01-27 Brian Cameron <brian.cameron@sun.com>
489 * test/simple-at.c: Fixed null string problems that cause core
490 dumping problems on Solaris.
492 2004-01-12 Bill Haneman <billh@gnome.org>
494 * configure.in: Incremented version to 1.3.11.
496 2004-01-05 Padraig O'Briain <padraig.obriain@sun.com>
498 * docs/reference/cspi/at-spi-cspi-docs.sgml: Added XML in
499 DOCTYPE statement. Fixes bug #129728. Patch supplied by Sebastien
502 2004-01-01 Roozbeh Pournader <roozbeh@sharif.edu>
504 * configure.in: Added "fa" to ALL_LINGUAS.
506 2003-12-20 Arafat Medini <lumina@silverpen.de>
508 * configure.in: Added "ar" to ALL_LINGUAS
510 2003-12-16 Bill Haneman <billh@gnome.org>
512 * registryd/registry-main.c:
514 Set the reg_env DISPLAY variable before registering the
515 activated registry service. Fixes bug #129479.
517 2003-12-16 Mohammad DAMT <mdamt@bisnisweb.com>
519 * configure.in: Added "id" in ALL_LINGUAS
520 * po/id.po: Indonesian translation by Ahmad Riza H Nst <ari@160c.afraid.org>
522 2003-12-15 Padraig O'Briain <padraig.obriain@sun.com>
524 * registryd/deviceeventcontroller.c (global_filter_fn):
525 When an event is consumed discard any XEvents were added to
526 the queue while dealing with the the event. This can happen if
527 processing of the event takes a long time. Call XUngrabKeyboard
528 if an event was discarded. This fixes bug $124837.
529 Only call wait_for_release_event for a KeyPress.
530 Use local variable display instead of spi_get_display().
531 (spi_controller_update_key_grabs): Move call to keycode_for_keysym
534 2003-12-11 Padraig O'Briain <padraig.obriain@sun.com>
536 * registryd/deviceeventcontroller.c (spi_dec_translate_mask):
537 Allow for mask to contain values other than NumLock mask.
540 2003-12-10 Padraig O'Briain <padraig.obriain@sun.com>
542 * registryd/devieceventcontroller.c:
543 (wait_for_release_event): Change first parameter from GdkEvent to
545 (global_filter_fn); Correct call to wait_for_release_event.
549 2003-12-08 Bill Haneman <billh@gnome.org>
553 * registryd/ucs2keysym.c: New file.
555 * registryd/deviceeventcontroller.c:
556 (dec_keysym_for_unichar): Remove old partial implementation and
557 replace with call to ucs2keysym(), which is much more complete.
558 Thanks to Marcus G. Kuhn who put the original keysym2ucs.c into
563 2003-12-05 Bill Haneman <billh@gnome.org>
565 * configure.in: Version 1.3.9.
567 * docs/reference/cspi/tmpl/spi_registry.sgml:
568 Added reference to libspi/keymasks.h to the
569 description of Registry queries: AccessibleKeyMaskType.
572 2003-12-04 Bill Haneman <billh@gnome.org>
576 * idl/Accessibility_Application.idl:
577 (Accessibility::LOCALE_TYPE): New enum, corresponds to
578 setlocale's LC_TYPEs.
579 (Accessibility::Application::getLocale): New method.
580 Allows clients to query the locale, by type, of an app.
583 * cspi/spi_application.c:
584 (AccessibleApplication_getLocale): New method, wraps IDL above.
586 * libspi/application.c:
587 (spi_application_class_init): Init epv entry for getLocale.
588 (impl_accessibility_application_get_locale): Impl for above.
590 * test/test-simple.c:
591 (test_application): Added assertion for getLocale, i.e.
592 that the string from AccessibleApplication_getLocale (app, type)
593 is the same as that from setlocale (type, NULL);
595 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
597 *registryd/deviceeventcontroller.c: Add an idle handler which polls
598 the keyboard on a timeout intil the key state goes from pressed to
599 released. Fixes bug #111429.
601 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
603 * atk-bridge/bridge.c: (atk_bridge_init): Create accessible application
604 root object so that it is present when a context menu in an
605 out-of-process applet is popped up.
606 (spi_atk_bridge_do_registration): Create acceessible application root
607 object only if it does not exist.
609 This fixes bug #125834.
611 2003-12-01 Bill Haneman <billh@gnome.org>
613 Fix for bug #114926. Thanks to Michael Meeks for some of this patch.
616 Added enum for AccessibleStreamableContentSeekType.
617 (AccessibleStreamableContent_freeContentTypeList): New.
619 * cspi/spi_streamablecontent.c:
620 (accessible_bonobo_stream_client_seek): New private method.
621 (AccessibleStreamableContent_seek): Implemented this method,
622 using Bonobo_Stream_seek.
623 (AccessibleStreamableContent_freeContentTypeList): New method
624 for freeing the return value from
625 AccessibleStreamableContent_getContentTypes.
626 (stream_cache_item_free): Replaces stream_release; stop leaks.
627 (stream_release): removed.
628 (AccessibleStreamableContent_read): Use properly init'd CORBA_evs,
629 free the memory properly.
631 2003-12-02 Padraig O'Briain <padraig.obriain@sun.com>
635 * cspi/spi-roletypes.h: Add SPI_ROLE_EDITBAR.
637 * cspi/spi_accessible.c (cspi_init_role_table): Add SPI_ROLE_EDITBAR.
639 * docs/reference/cspi/tmpl/spi-accessible.sgml: Add SPI_ROLE_EDITBAR
641 * idl/Accessibility_Role.idl: Add ROLE_EDITBAR.
643 2003-12-01 Bill Haneman <billh@gnome.org>
645 Fix for bug/rfe #127463.
647 * idl/Accessibility_Accessible.idl:
648 (getLocalizedRoleName): New.
649 (unimplemented4): Removed (replaced by above).
651 * libspi/accessible.c:
652 (impl_accessibility_accessible_get_local_role_name): New.
653 (spi_accessible_class_init): Add getLocalizedRoleName entry to
657 (Accessible_getLocalizedRoleName): New.
659 * cspi/spi_accessible.c:
660 (Accessible_getLocalizedRoleName): New.
662 2003-12-01 Bill Haneman <billh@gnome.org>
665 * idl/Accessibility_Text.idl:
666 (getDefaultAttributes): New.
667 (unimplemented4): Removed (replaced by above method).
670 (impl_getDefaultAttributes): New method.
671 (spi_text_class_init):
672 initialize the get_default_attributes slot in the epv.
675 (AccessibleText_getDefaultAttributes): New prototype.
678 (AccessibleText_getDefaultAttributes): New method.
680 2003-11-06 Padraig O'Briain <padraig.obriain@sun.com>
682 * cspi/spi_accessible.c (cspi_init_relation_type_table): Do not
683 write beyond the end of the table. Fixes bug #120473.
685 2003-09-30 Christian Rose <menthos@menthos.com>
687 * configure.in: Added "eu" to ALL_LINGUAS.
689 2003-09-28 Kjartan Maraas <kmaraas@gnome.org>
691 * configure.in: ALL_LINGUAS: Added no.
693 2003-09-28 Gediminas Paulauskas <menesis@delfi.lt>
695 * configure.in: Added lt to ALL_LINGUAS.
697 2003-09-25 Padraig O'Briain <padraig.obriain@sun.com>
699 * atk-bridge/bridge.c:
700 (atk_bridge_init): Register event listeners always even for
701 out-of-process applet.
702 (spi_atk_bridge_toplevel_added): Remove call to
703 spi_atk_bridge_event_type_consts as it is now called in atk_bridge_init
704 (spi_atk_bridge_toplevelk_removed): Remove call to
705 spi_atk_deregister_event_listenersa as the listeners are now always
707 (spi_atk_bridge_register_application): Remove call to
708 spi_atk_register_event_listeners as it is not done in atk_bridge_init
710 This fixes bug #120991.
712 * libspi/table.c (impl_getColumnDescription): Correct typo,
713 pointed out by Bolian.Yin@sun.com.
715 2003-09-21 Ã
\85smund Skjæveland <aasmunds@fys.uio.no>
717 * configure.in: Added nn to ALL_LINGUAS (which is commented out).
719 2003-09-08 Bill Haneman <billh@gnome.org>
721 * configure.in: Revved to 1.3.7.
723 This is the GNOME 2.4.0 release of at-spi.
725 * docs/reference/cspi/Makefile.am:
726 Removed spurious inclusion of 'index.sgml' in the
727 html directory; this was breaking make distcheck and
728 also some other build environments.
730 2003-09-05 Padraig O'Briain <padraig.obriain@sun.com>
732 * registryd/registry.[ch}:
733 Add queue_handler_id and focus_object to SpiRegistry data structure.
734 (registry_flush_event_queue): If event being discarded is
735 "state-change:focused" store object as focus_object.
736 (registry_start_queue): Remove queue handler and focus object
738 (registry_discard_event): New function which discards a focus event
739 if we had stored focus object in the registry.
740 (registry_queue_event): Add new check that is_queueing is set as this
741 function is reentrant.
742 (registry_filer_event): Add call to registry_discard_event.
744 This resolves issues raised in bug #108664.
746 2003-09-05 Taneem Ahmed <taneem@bengalinux.org>
748 * configure.in: Added "bn" to ALL_LINGUAS.
750 2003-09-04 Bill Haneman <billh@gnome.org>
752 * cspi/spi_event.c: Documentation improvements for
753 (SPI_registerAccessibleKeylistener).
755 * docs/reference/tmpl/spi_registry.sgml:
756 Documentation improvements for SpiAccessibleKeylistenerCB.
758 2003-09-02 Mugurel Tudor <mugurelu@go.ro>
760 * configure.in: Added "ro" to ALL_LINGUAS.
763 2003-09-01 Padraig O'Briain <padraig.obriain@sun.com>
765 * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
766 not decremented to zero. Fixes bug #120725.
768 2003-08-30 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
770 * configure.in: Added "ja" to ALL_LINGUAS.
772 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
774 * configure.in: Added "is" to ALL_LINGUAS.
776 2003-08-22 Christian Rose <menthos@menthos.com>
778 * configure.in: Added "nl" to ALL_LINGUAS.
780 2003-08-19 Padraig O'Briain <padraig.obriain@sun.com>
782 * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
783 * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
785 * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
787 * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
788 type for unspecified exception.
789 * cspi_streamablecontect): Add include of string.h for memcpy.
790 (stream_release): Correct call to bonobo_object_release_unref
791 (stream_cache_item_free): Correct call to bonobo_object_release_unref
792 * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
793 argument of _cspi_expection_throw.
794 * libspi/hyperlink.c: Add include of libspi/action.h:
795 (spi_hyperlink_new): Cast argument to spi_action_interface_new.
796 * libspi/streamablecontent.c: add include of libspi/component.h.
797 * regisrtyd/deviceeventcontroller.c:
798 (spi_dec_translate_mask): Removed unused variable priv.
799 (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
800 * registryd/registry.c:
801 (registry_filter_event): Remove unused variable queue_is-empty.
802 (impl_registry_notify_event): Use correct modifier in fprintf call.
804 This fixes compiler warnings reported in bug #120220.
806 2003-08-18 Padraig O'Briain <padraig.obriain@sun.com>
808 * registryd/registryd.c: Remove this file.
810 2003-08-17 Sanlig Badral <badral@openmn.org>
812 * configure.in: Added mn to ALL_LINGUAS.
814 2003-08-16 Tõivo Leedjärv <toivo@linux.ee>
816 * configure.in: Added et to ALL_LINGUAS.
818 2003-08-13 Padraig O'Briain <padraig.obriain@sun.com>
820 * test/event-listener-test.c: Change active-descendant to
821 active-descendant-changed.
823 2003-08-10 Sami Pesonen <sampeson@iki.fi>
825 * configure.in: Added "fi" in ALL_LINGUAS.
827 2003-08-08 Guntupalli Karunakar <karunakar@freedomink.org>
829 * configure.in: Added "hi" in ALL_LINGUAS.
831 2003-08-08 Padraig O'Briain <padraig.obriain@sun.com>
833 * configure.in: Revved to 1.3.6.
837 2003-08-07 Padraig O'Briain <padraig.obriain@sun.com>
839 * registryd/deviceeventcontroller.c
840 (spi_device_event_controller_object_finalize): Fix typo in previous
843 2003-08-07 Marc Mulcahy <marc.mulcahy@sun.com>
845 * registryd/deviceeventcontroller.c
846 (spi_device_event_controller_object_finalize): Fix build on
847 systems without XEvIE.
849 2003-08-06 Brian Cameron <Brian.Cameron@sun.com>
851 * acconfig.h, configure.in, registryd/Makefile.am,
852 registryd/devicecontoller.[ch]: Add XEViE support.
854 2003-08-06 Wang Jian <lark@linux.net.cn>
856 * configure.in: Added "zh_CN" to ALL_LINGUAS.
858 2003-08-06 Metin Amiroff<metin@karegen.com>
860 * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
862 2003-08-06 Padraig O'Briain <padraig.obriain@sun.com>
864 * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
865 MODIFIER_ALT in correct place.
867 This fixes part of bug #118114.
869 2003-07-30 Alessio Frusciante <algol@firenze.linux.it>
871 * configure.in: Added "it" (Italian) to ALL_LINGUAS.
873 2003-07-28 Changwoo Ryu <cwryu@debian.org>
875 * configure.in: Added "ko" to ALL_LINGUAS.
877 2003-07-28 Ole Laursen <olau@hardworking.dk>
879 * configure.in: Added "da" to the commented out ALL_LINGUAS.
881 2003-07-27 Laurent Dhima <laurenti@alblinux.net>
883 * configure.in: Added "sq" to ALL_LINGUAS.
885 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
887 * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
889 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
891 * configure.in: updated ALL_LINGUAS list
893 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
895 * configure.in: Added Belarusian to ALL_LINGUAS.
897 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
899 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
901 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
902 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
904 This fixes bug #116949.
906 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
908 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
909 Correct CSPI to SPI in function documentation.
911 This fixes bug #118054.
913 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
915 * configure.in: Added Russian to ALL_LINGUAS.
917 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
919 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
921 2003-07-14 Danilo Å Segan <dsegan@gmx.net>
923 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
925 2003-07-10 Joel Brich <joel.brich@laposte.net>
927 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
929 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
931 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
933 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
935 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
936 resources allocated for AccessibleEvent. See cspi_event().
938 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
939 static variable streams to NULL.
941 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
942 Update so that AcessibleEvent_ref will work.
944 This fixes bug #116624.
946 2003-07-06 Jordi Mallach <jordi@sindominio.net>
948 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
950 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
952 * configure.in: Added "fr" (French) to ALL_LINGUAS.
954 2003-07-02 Christian Neumair <chris@gnome-de.org>
956 * configure.in: Added "de" (German) to ALL_LINGUAS.
958 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
960 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
962 2003-07-01 Miloslav Trmac <mitr@volny.cz>
964 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
966 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
968 * configure.in: Added "pl" to ALL_LINGUAS.
970 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
972 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
974 2003-06-30 Bill Haneman <bill.haneman@sun.com>
977 (get_action_from_servant):
978 Removed assertion that action is implemented on an AtkObject.
980 * libspi/hyperlink.c:
982 Aggregate AccessibleAction interface on the hyperlink object if
983 the object implements AtkAction. (This convention is used in
986 2003-06-30 Bill Haneman <bill.haneman@sun.com>
988 * configure.in: Revved to 1.3.5.
990 * registryd/Accessibility_Registry.server.in.in:
991 Marked up appropriate strings for translation.
993 * atk-bridge/bridge.c: Marked a couple of
994 user-visible warnings for translation. Questionable
995 whether they are really useful, but possibly so.
998 2003-06-28 Christian Rose <menthos@menthos.com>
1000 * configure.in: Added "sv" to ALL_LINGUAS.
1002 2003-06-26 Bill Haneman <bill.haneman@sun.com>
1004 * registryd/registry.c:
1005 (spi_registry_object_finalize): Unref the deviceeventcontroller.
1006 (registry_defer_on_event): Defer focus: events, this is an
1007 improvement to the patch for bug #108664.
1009 * TODO: Update with 2.4/"Dev Complete" items.
1011 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
1013 * atk-bridge/bridge.c:
1014 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
1015 looks up signals once.
1016 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
1017 if doing registration.
1018 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
1019 when doing registration.
1021 This fixes bug #115014.
1023 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
1025 * atk-bridge/bridge.c:
1026 (atk_bridge_init): Add signal handler for children-changed:remove on
1027 root when in a BonoboComponent.
1028 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
1029 for first toplevel only other incrememt variable toplevels.
1030 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
1031 application and remove listeners.
1032 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
1034 (spi_atk_deregister_event_listeners): New function which removes
1036 (reinit_register_vars): New fuction which reinitializes variables.
1038 This fixes bug #111578.
1040 2003-06-13 Bill Haneman <bill.haneman@sun.com>
1042 * configure.in: version 1.3.4.
1044 * cspi/spi_accessible.c:
1045 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
1048 2003-06-13 Michael Meeks <michael@ximian.com>
1050 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
1052 * cspi/spi_main.c (cspi_peek_ev): impl.
1054 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
1056 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
1058 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
1060 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
1061 SPI_ROLE_AUTOCOMPLETE
1063 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
1065 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
1066 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
1068 2003-06-11 Bill Haneman <bill.haneman@sun.com>
1070 * libspi/streamablecontent.h:
1071 * libspi/streamablecontent.c:
1072 New files, provide implementation/wrappers for
1073 Accessibility_StreamableContent.
1075 * cspi/spi_streamablecontent.c:
1076 Connected the C wrappers to the libspi C bindings.
1077 (AccessibleStreamableContent_close): New method.
1080 (AccessibleStreamableContent_close): New method, needed
1081 since we have an "open, [seek], read, close" model in cspi.
1083 2003-06-11 Bill Haneman <bill.haneman@sun.com>
1085 Fix for #108664; Padraig's revision of my original patch.
1087 * registryd/registry.h:
1088 Added event queue list, is_queuing, and exit_notify_timeout
1089 to the registry struct.
1091 * registryd/registry.c:
1092 (registry_init): Initialize new struct from registry.h.
1093 (impl_registry_notify_event):
1094 Filter events before notifying, in case some need to be
1096 (registry_filter_event): New,
1097 we defer certain incoming events (for instance
1098 window:deactivate) because we may wish to hide
1099 or reject them based on pending events. This is
1100 mostly a workaround for bug #108664.
1101 (registry_queue_event, registry_start_queue): New.
1102 (registry_defer_on_event): Test event to see if it
1104 (registry_reset_on_event): Returns TRUE if the
1105 event should cause a queue reset.
1106 (registry_discard_on_event): Returns TRUE if the event
1107 should cause the previous queue contents to be discarded.
1108 (registry_timeout_flush_queue): Flushes the pending event
1109 queue if no reset/discard-triggering events have come in
1110 within the timeout period.
1111 (registry_emit_event): New.
1112 (registry_clone_notify_context): New, used when queueing the
1113 event notify contexts.
1115 2003-06-10 Bill Haneman <bill.haneman@sun.com>
1117 * configure.in: Version revved to 1.3.2, lt 0.9.2
1118 Incremented ATK required version to 1.3.4.
1120 * cspi/spi_registry.c:
1121 (SPI_generateKeyEvent):
1122 We now pass the keystring along if it's non-null.
1124 * registryd/deviceeventcontroller.c:
1125 (keysym_mod_mask): New method, returns modifier mask
1126 required to generate a keysym from a given keycode.
1127 (dec_synth_keysym): New method.
1128 (dec_synth_keystring): New method.
1129 (dec_get_modifier_state): New method.
1130 (dec_lock_modifiers): New
1131 (dec_unlock_modifiers): New.
1132 (dec_keysym_for_unichar): New, rather brute-force
1133 conversion from UCS-4 to X KeySyms. Only works for
1134 Latin at the moment, with partial implementations for
1135 Greek, Hebrew, and (incomplete) Katakana.
1136 (impl_generate_keyboard_event): Now implement
1137 "KEYSTRING" synthesis and implement "KEYSYM"
1139 (keycode_from_keysym): Improved, passes a returned
1140 modmask value now if the corresponding param is non-NULL.
1142 Fixes bugs #92143 and #109776.
1145 * test/keysynth-test.c:
1146 New test program for key synthesis, to confirm fixes for
1150 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
1152 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
1154 * cspi/spi_accessible.c (cspi_init_relation_type_table):
1155 Add line for RELATION_POPUP_FOR
1157 * docs/reference/cspi/tmpl/spi_relation.sgml:
1158 Add relation SPI_RELATION_POPUP_FOR
1160 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1161 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
1163 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
1165 * libspi/relation.c (spi_init_relation_type_table):
1166 Add line for RELATION_POPUP_FOR
1168 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
1170 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
1171 there are still windows which have not been deleted and emit
1172 window:deactivate, if necessary and window:destroy events.
1173 This fixes bug #114370. The change on June 5th was not correct.
1175 2003-06-09 Bill Haneman <bill.haneman@sun.com>
1177 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
1180 (SPI_dupString): Allow dup-ing of a string such that it's safe to
1182 New methods for client exception handling and interception.
1183 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
1184 (SPI_exceptionHandlerPop): You guessed it...
1185 (SPI_getSourceType): Return the type of object which offended.
1186 (SPI_getExceptionCode): Return an enum code telling, possibly,
1187 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
1188 (SPIAccessibleException_getSource): get the source object for
1189 exceptions that come from Accessibles, if SPIExceptionSourceType is
1190 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
1191 (SPIException_getDescription): New, returns a string description of
1192 the problem. [Not yet a stable ABI, strings are not frozen]
1194 * cspi/spi-private.h:
1195 Added implementation details of opaque SPIException
1199 Implementations of above. Also
1200 (_cspi_exception_throw): new private method that
1201 dispatches exceptions to handlers, called from cspi-bonobo.c
1203 * cspi/bonobo/cspi-bonobo.c:
1204 (cspi_check_ev): call _cspi_exception_throw.
1205 Don't print a warning message if the exception has been
1206 handled by _cspi_exception_throw.
1208 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
1210 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
1211 there are still windows which have not been deleted and emit
1212 window:deactivate, if necessary and window:destroy events.
1213 This fixes bug #114370.
1215 2003-06-03 Bill Haneman <bill.haneman@sun.com>
1218 (cspi_accessible_is_a): Make non-fatal
1219 if the object reference is dead.
1221 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
1223 * cspi/spi_main.c: #include <stdio.h>
1224 * test/simple-at.c: ditto
1225 * test/event-listener-test.c: ditto
1226 * test/screen-review-test.c: ditto
1228 2003-05-30 Michael Meeks <michael@ximian.com>
1230 * test/test-simple.c (main): use CORBA_ORB_perform_work
1231 instead of an unnecessary linc_ call.
1233 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
1235 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
1236 Add SPI_STATE_INDETERMINATE.
1238 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
1241 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
1243 * libspi/stateset.c (init_state_type_tables): Add support for
1246 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
1248 * configure: Update versions of atk and gail required.
1249 This fixes bug #113268.
1251 2003-05-02 Bill Haneman <bill.haneman@sun.com>
1253 * configure.in: Revved micro version to 1.3.1 (because of build fix).
1255 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
1257 * libspi/Makefile.am:
1258 Ensure headers are generated before being used by c sources.
1260 2003-05-01 Bill Haneman <bill.haneman@sun.com>
1263 Simplified lt versioning rules.
1264 Incremented version to 1.3.0, to indicate that we're on the
1265 unstable branch now.
1267 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
1269 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
1270 Add MKDB_OPTIONS=--outtput-format=xml
1272 * docs/reference/cspi/at-spi-cspi-docs.sgml
1273 docs/reference/idl/at-spi-idl-docs.sgml:
1274 Convert to Docbook XML.
1276 This fixes bug #111793.
1278 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
1280 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
1281 AcccessibleKeyEventType, AccessibleKeyMaskType.
1283 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
1285 * cspi/state-types.h: Add documentation for AccessibleState.
1287 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
1288 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
1289 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
1290 AccessibleComponentLayer.
1292 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
1295 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
1297 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
1298 Accessible. Add description of AccessibleEvent,
1299 AccessibleEventListenerCB.
1301 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
1304 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
1305 documentation. Add description of AccessibleKeystrokeListenerCB,
1306 AccessibleKeyEventMask, AccessibleModifierMaskType,
1307 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
1308 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
1310 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
1313 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
1316 This fixes bug #104730.
1318 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
1320 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
1321 Set is_text field of Accessibility_DeviceEvent data structure.
1323 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
1324 is-text field of AccessibleDeviceEvent data structure.
1326 This addresses part of bug #108666.
1328 * registryd/devcieeventcontroller.c: Unset debug option.
1330 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
1332 * cspi/accessible.c:
1333 (cpi_initial_relation_type_table): New function which initializes
1334 mapping between Accessibility_RelationType and AccessibleRelationType.
1335 (cspi_relation_type_from_spi_relation_type): New function which
1336 translates an Accessibility_RelationType into an AccessibleRelationType.
1337 (AccessibleRelation_getRelationType): Use
1338 cpi_relation_type_get_spi_relation_type to return correct value.
1339 (spi_state_to_corba): Return correct type for default case.
1341 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
1342 Use Accessibility_EventType instead of Accessibility_KeyEventType.
1344 * cspi/cspi-bonobo-listener.c:
1345 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
1348 * libspi/accessible.c, libspi/action.c, libspi/application.c,
1349 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
1350 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
1351 libspi/image.c, libspi/listener.c, libspi/selection.c,
1352 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
1353 registryd/desktop.c, registryd/registry.c:
1354 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1356 * libspi/eventlistener.c
1357 Remove semicolon after BONOBO_TYPE_FUNC.
1359 * libspi/relation.c:
1360 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1361 (spi_init_relation_type_table): Initialize using correct type.
1363 * registryd/desktop.c:
1364 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1365 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
1366 of Accessibility_KeyEventType.
1368 * test/key-listener-test.c (report_tab_key_event): Use fprintf
1371 * tests/simple-at.c, tests/screen-review-test.c:
1372 Add include for <strings.h>.
1374 * tests.stress-test.c:
1375 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
1377 These changes fix compiler warnings when using FORTE compiler on
1378 Solaris; fixes bug #107479.
1381 2003-04-10 Bill Haneman <bill.haneman@sun.com>
1384 * configure.in: revved to 1.1.10
1386 * libspi/keymasks.h:
1387 (SPI_KEYMASK_NUMLOCK): Added.
1389 * registryd/deviceeventcontroller.c:
1390 (spi_key_event_matches_listener): AND with a smaller
1391 bitmask (as we should).
1392 (spi_dec_translate_mask):
1393 New method, sets the virtual NumLock modifier bit
1394 if numlock is on. Eventually it can handle other virtual
1395 modifier bits if needed, or other marshalling from
1396 at-spi modifier masks to platform (X) masks.
1397 (spi_dec_key_listener_new):
1398 Call spi_dec_translate_mask to set up virtual mod bits
1399 in the 'mask' field when creating a new listener struct.
1400 (spi_dec_emit_modifier_event):
1401 Set the virtual (i.e. NumLock) bits before emitting event.
1402 (spi_controller_register_with_devices):
1403 Query for the NumLock modifier 'physical' bit if Xkb is
1404 present, for use in above methods.
1408 2003-04-10 Bill Haneman <bill.haneman@sun.com>
1410 * registryd/deviceeventcontroller.c:
1411 (spi_keystroke_from_x_key_event):
1412 Instead of checking to see if the keysym is
1413 printable, check the string from XLookupString
1414 if available, get the first unicode character from it,
1415 and call g_unichar_isprint to determine whether the
1416 is_text flag should be TRUE or FALSE.
1420 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
1422 * atk-bridge/bridge.c: Add support for extended events
1423 * cspi/spi_event.c: Add documentation and implementation for
1425 * tests/event-listener-test.c: Add tests for extended events.
1427 This fixes bugs #100424 and #100426.
1429 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
1431 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
1432 of LT_CURRENT. This fixes bug #89350.
1434 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
1436 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
1437 number of signal parameter values before accessing them. This fixes
1440 2003-04-01 Bill Haneman <bill.haneman@sun.com>
1442 * configure.in: Fixed duplicate inclusion of -lspi.
1443 * branched for gnome-2-2/HEAD.
1444 [created tag "gnome-2-2"]
1446 2003-03-07 Bill Haneman <bill.haneman@sun.com>
1448 * configure.in: 1.1.9 release.
1451 2003-03-07 Bill Haneman <bill.haneman@sun.com>
1453 [needed by GOK, to fix bugs 107985 and 107988]
1454 * registryd/deviceeventcontroller.c:
1455 (spi_dec_clear_unlatch_pending):
1456 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
1457 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
1458 (spi_dec_init_mouse_listener):Emit warning if mouse button
1460 (spi_device_event_controller_forward_mouse_event):
1461 Removed unnecessary parens from a conditional.
1462 (global_filter_fn):Added TODO comment.
1463 (impl_generate_keyboard_event):
1464 Cancel a pending relatch if a 'delatching' key was
1467 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
1469 * atk-bridge/bridge.c:
1470 Change atk_signal_child_changed to atk_signal_children_changed.
1471 Reorganize code in spi_atk_bridge_signal_listener().
1473 * test/event-listener-test.c:
1474 Add children_changed_listener and report_children_changed_event()
1475 to test AccessibleChildEvent_getChildAccessible.
1477 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
1479 * cspi/spi_event.c (cspi_internal_event_get_text): Change
1480 g_strdup to CORBA_String_dup (bug #105291)
1482 * test/event-listener-test.c (report_text_event): Add call to
1485 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1487 * registryd/deviceeventcontroller.c:
1488 (spi_keystroke_from_x_key_event):
1489 Fix string and keysym return codes to match modifier state.
1492 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1494 * registryd/deviceeventcontroller.c:
1495 (spi_keystroke_from_x_key_event):
1496 Fix segv due to improper use of isprint(c). [bug #107254]
1498 2003-02-24 Bill Haneman <bill.haneman@sun.com>
1501 (get_accessible_text_boundary_type):
1502 Move default return value to (new) default case in switch.
1503 (get_accessible_text_clip_type):
1504 Move default return value to (new) default case in switch.
1506 * libspi/application.c:
1507 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
1508 Remove unused methods.
1509 (impl_accessibility_application_register_object_event_listener):
1510 Remove unused methods.
1513 Added #include of <math.h>.
1515 * registryd/deviceeventcontroller.c:
1516 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
1517 we don't currently use this method.
1518 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
1520 (impl_generate_key_event):
1521 Remove unused variables.
1522 (impl_generate_mouse_event):
1523 Initialize button to zero, just in case we get an invalid
1524 input. Added support for mouse buttons 4 and 5.
1525 (spi_device_event_controller_new):
1526 Removed unused variable declaration for 'private'.
1528 Added #include of <gdk/gdk.h>
1530 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1532 * configure.in: Update to work when X is not installed in expected
1533 location. Fixes bug #105836.
1535 * atk-bridge/bridge.c
1536 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
1538 (spi_atk_register_event_listener): Add signal listener for
1540 (spi_atk_bridge_signal_listener): Event event when link-selected
1541 signal is emitted. (bug #104622)
1543 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
1544 on returned string. (bug #105291)
1546 * test/event-listener-test.c: Add test for link-selected.
1548 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1550 * atk-bridge/Makefile.am: Correct typo in previous commit.
1552 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
1554 * atk-bridge/Makefile.am: Allow for build directory to be different
1555 from source directory
1557 * registryd/Makefile.am: Allow for build directory to be different
1558 from source directory
1562 2003-01-29 Bill Haneman <bill.haneman@sun.com>
1565 Fixed dependencies for libcspi so that libspi gets pulled in
1566 properly. Fixes 104741.
1570 Clean up inline docs a little.
1572 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
1574 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
1575 This is done by implementing AtkComponent for SpiAtkDesktop, which is
1576 the AtkObject within an SpiDesktop.
1577 This addresses bug #101524.
1579 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
1580 Remove call to gdk_init().
1582 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
1583 so that Display is set when SpiDesktop is created.
1585 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
1587 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
1588 This fixes bug #102830.
1590 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1592 * test/test-simple.c: Update to take account of fact that GailButton
1593 now implements AtkText.
1594 (create_text_window): Set name on AtkObject for GtkEntry.
1595 (validate_accessible): Check accessible name before calling test_text().
1597 * libspi/Makefile.am: Fix problem with building outside of source
1598 directory. Bug #98120.
1600 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
1601 typo in documentation comments. Bug #94275.
1603 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1605 * libspi/text.c (impl_getBoundedRanges): Bug fix.
1607 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
1610 Add includes to avoid compiler warnings on Solaris.
1611 (impl_getRangeExtents): Bug fix.
1613 2002-12-17 Bill Haneman <bill.haneman@sun.com>
1615 Fix for 100944, [API addition approved by Gman and murrayc].
1622 * idl/Accessibility_Text.idl:
1623 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
1624 (Text::getRangeExtents): New method for efficient
1625 bounds query of a text range.
1626 (Text::getBoundedRanges): New method for efficient
1627 clipping of text to bounding boxes.
1628 (unImplemented7, unImplemented8):
1629 Removed these padding methods to preserve bincompat.
1632 (impl_getRangeExtents): implementation of new IDL.
1633 (impl_getBoundedRanges): implementation of new IDL.
1634 (SpiTextRect): Internal use struct.
1635 (_spi_text_rect_union): internal method, calculates union of two
1636 SpiTextRect bounding rects.
1637 (_spi_text_range_seq_from_gslist): internal method, allows us
1638 to build our sequence efficiently as a gslist then convert it
1640 (_spi_bounds_contain): internal method, determines whether
1641 a text character is "in" or "out" of a clip rect according to
1642 values of TEXT_CLIP_TYPE.
1643 (spi_text_class_init): Initialize the new methods in the epv.
1646 (AccessibleTextClipType): New enum used by screen review api.
1647 (AccessibleTextRange): New struct used by screen review api.
1648 (AccessibleText_getRangeExtents):
1649 cspi binding for Accessibility_Text_getRangeExtents.
1650 (AccessibleText_getBoundedRanges):
1651 cspi binding for Accessibility_Text_getBoundedRanges.
1652 (AccessibleTextRange_freeRanges): convenience method.
1655 (AccessibleText_getRangeExtents):
1656 cspi binding for Accessibility_Text_getRangeExtents.
1657 (AccessibleText_getBoundedRanges):
1658 cspi binding for Accessibility_Text_getBoundedRanges.
1659 (AccessibleTextRange_freeRanges): convenience method.
1660 (get_accessible_text_clip_type): internal conversion method.
1661 (get_accessible_text_ranges_from_range_seq): internal conversion method.
1663 * registryd/deviceeventcontroller.c:
1664 (spi_dec_mouse_check):
1665 Improved behavior for mouse:abs events
1666 [same granularity as mouse:rel events, and no
1667 events when mouse is idle].
1669 2002-12-16 Michael Meeks <michael@ximian.com>
1671 * cspi/spi_accessible.c (spi_state_to_corba): rename.
1673 * libspi/stateset.c (state_spi_to_atk): split out
1674 ( fix several remote array bounds nasties )
1675 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
1676 (impl_remove): make safe from array bounds issues.
1677 (spi_atk_state_from_spi_state): impl.
1679 * libspi/stateset.h (spi_state_set_cache_is_empty):
1680 add a set of wrapper defines to get layering right.
1682 * cspi/spi_accessible.c: update state set stuff to
1685 2002-12-14 Michael Meeks <michael@ximian.com>
1687 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
1688 to avoid 2 roundtrips to the registry per key event
1689 (spi_atk_bridge_key_listener): upd.
1690 (deregister_application): release the dec.
1692 * registryd/registry.c (notify_listeners_cb):
1693 bin lots of re-enterant complexity - we no longer
1694 do a round-trip bonobo ref here, ensure that a single
1695 listener's exception failure won't poison all other
1697 (impl_registry_notify_event): bin obvious memory leak.
1699 2002-12-13 Michael Meeks <michael@ximian.com>
1701 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
1702 init the ev so the error is meaningful.
1703 (spi_atk_bridge_key_listener): ditto.
1705 * cspi/spi_main.c (cspi_ev): init the ev so we start
1706 with a clean slate, otherwise the first exception
1707 kills us completely.
1709 * cspi/spi_text.c (get_accessible_text_boundary_type):
1710 add a fallthrough for no warnings.
1712 * cspi/spi_registry.c: prune unused warnings.
1714 * cspi/spi_main.c (cspi_object_take): fix
1715 mind-blowing brokenness ( by watching the compile
1718 * cspi/spi_accessible.c (Accessible_getStateSet):
1719 re-impl. to use an AtkStateSet.
1720 (spi_state_type_from_accessible_state),
1721 (init_state_table): bin these.
1723 * libspi/stateset.c (spi_atk_state_set_from_sequence):
1725 (atk_state_set_from_accessibility_state_set): here.
1727 * cspi/spi_accessible.c (spi_state_to_atk): impl.
1728 (AccessibleStateSet_contains, AccessibleStateSet_ref),
1729 (AccessibleStateSet_unref, AccessibleStateSet_contains),
1730 (AccessibleStateSet_add, AccessibleStateSet_remove),
1731 (AccessibleStateSet_equals, AccessibleStateSet_compare),
1732 (AccessibleStateSet_isEmpty): re-write to use a local
1735 2002-12-13 Bill Haneman <bill.haneman@sun.com>
1737 * configure.in: Revved to 1.1.7 (new keymask vals).
1739 2002-12-10 Bill Haneman <bill.haneman@sun.com>
1741 * libspi/keymasks.h:
1742 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
1744 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
1747 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
1748 to compare two CORBA_TypeCodes.
1749 (cspi_internal_event_add): Silence warning from FORTE compiler.
1751 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
1752 avoid implicit declaration of functions.
1754 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
1756 * atk-bridge/bridge.c:
1757 (spi_atk_bridge_init_event_type_consts): Store signal id for
1758 active-descendant-changed signal.
1759 (spi_atk_register_event_listeners): Add signal listener for
1760 active-descendant-changed signal,
1761 (spi_atk_bridge_signal_listener): Move code in function
1762 spi_atk-signal_emit_event() into this function.
1763 Add support for active-descendant-changed
1764 Update support for child-changed signal.
1765 (spi_bridge_window_event_listener): Silence warning.
1767 * libspi/spi_private.[ch]:
1768 (spi_init_any_object): Change second parameter from CORBA_Object to
1770 Omit call to CORBA_Object_duplicate().
1771 Set CORBA_any's _value to CORBA_Object*.
1773 2002-12-06 Bill Haneman <bill.haneman@sun.com>
1779 (AccessibleEvent_ref, AccessibleEvent_unref):
1780 New methods, for persisting an event outside the emission context.
1781 Must be used if the new accessor methods are to be called
1782 outside of the event listener's callback.
1784 * cspi/bonobo/cspi-bonobo.c:
1785 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
1786 as second parameter instead of NULL, so we can call
1787 cspi_check_ev afterwards.
1790 (cspi_object_take): New internal method,
1791 converts a CORBA_Object reference to a hard ref on
1792 an Accessible if possible, returning NULL if the object
1793 reference is invalid or an Accessible * otherwise.
1796 (AccessibleEvent_ref):
1797 Increment the event's internal private refcount, and
1798 add the event's internal struct to an internal cache
1799 if it's not already there.
1800 (AccessibleEvent_unref):
1801 Decrement the event's refcount and remove it from
1802 the cspi event cache if refcount==0.
1803 (cspi_event_compare): New private method.
1804 Compares two event structs via their ids. Used
1806 (cspi_internal_event_lookup): New private method.
1807 (cspi_internal_event_check): New private method,
1808 a 0-order sanity check for events to make sure their
1809 private data is intact.
1810 (cspi_internal_event_add, cspi_internal_event_remove):
1811 New private methods for managiing the event cache.
1813 * cspi/bonobo/cspi-bonobo-listener.c:
1815 Initialize the new private data elements (id, magic, ref_count).
1817 * atk-bridge/bridge.c:
1818 (spi_atk_bridge_signal_listener):
1819 Fixed bug #100530, passing wrong params to emission func.
1821 * registryd/deviceeventcontroller.c:
1822 (spi_dec_button_update_and_emit):
1823 Fixed type in mask bit operations; fix for #99799.
1825 2002-12-02 Bill Haneman <bill.haneman@sun.com>
1827 Removed some of the more dangerous workarounds from
1828 previous commit; they are only needed by GOK, which
1829 in reality should be using another method to accomplish
1830 the goals. So on reconsideration some of the workarounds
1831 need to be reverted:
1833 * registryd/deviceeventcontroller.c:
1834 (spi_keycodes_contain, spi_dec_init_keycode_list):
1835 Removed these methods, used only by a nasty hack to try
1836 and detect whether a key synthesis should be allowed
1837 to reset the XKB latch state or not. This code was only
1838 required to work around an interaction between GOK,
1839 button events, and XKB.
1840 (impl_generate_key_event):
1841 Removed hack at end of key generation that tried to
1842 "do the right thing" if XKB latch keys were generated
1843 in the midst of button press/release pairs.
1846 Added a check for HAVE_XINPUT. Not normally used yet.
1848 2002-11-25 Bill Haneman <bill.haneman@sun.com>
1850 Workarounds and fixes for mouse event/XKB interaction.
1852 * registryd/deviceeventcontroller.c:
1853 (spi_keycodes_contain, spi_dec_init_keycode_list):
1854 New internal methods.
1855 (spi_dec_set_unlatch_pending):
1856 Split the method that tells XKB to expect an
1857 unlatch (and revert it) out of the rest of the
1858 event handling code. This method is called by the
1859 two mouse event handlers (the poll and the filter).
1860 (spi_dec_update_and_emit, spi_dec_mouse_check):
1861 New methods split from spi_dec_poll_mouse_moved.
1862 The second one is now called from inside the filterFn
1863 when an XKB delatch event is received, to determine
1864 whether to revert the delatch or not.
1865 (spi_poll_mouse_moved): Refactor; also we can now
1866 properly handle the case where multiple button states
1867 have changed between polling cycles and we didn't get
1868 notified due to another client's grab.
1870 Synchronize the server while handling an XKB notification.
1871 Ugly, but apparently necessary to avoid nasty races.
1872 Check the mouse state on receipt of an XKB latch change,
1873 to decide whether to revert the latch or not. (Latches are
1874 reverted if there is an immediately preceding mouse button
1875 event that a client has consumed, in which case we don't want
1876 the user to see the side-effect of the event).
1877 (spi_device_event_controller_forward_mouse_event):
1878 Check for modifier events and fire before resetting mouse_mask_state,
1879 prevents losing modifier events.
1881 (impl_generate_keyboard_event):
1882 If we've just generated a keyboard event for a non-shift key,
1883 we don't want to revert the pending XKB latch.
1884 Otherwise, check the modifier state (via a call to
1885 spi_dev_mouse_check) and set the relatch mask to
1886 that state before returning.
1888 2002-11-24 Bill Haneman <bill.haneman@sun.com>
1891 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1894 * atk-bridge/bridge.c:
1895 (spi_atk_register_event_listeners):
1896 Don't re-register for ATK events if the registry has died
1897 and the app needs to re-register; the ATK listeners are in
1898 process and doing so will cause duplicate emission.
1900 * registryd/deviceeventcontroller.c:
1901 (spi_poll_mouse_moved):
1902 Reformat the source, detect and emit multiple button-change
1903 events (i.e. if multiple buttons have changed between poll
1905 Add code to detect mouse-down events even when the pointer
1906 is grabbed; workaround for GOK bug 98420.
1907 (spi_controller_register_with_devices):
1908 Call XTestGrabControl with 'impervious' flag set to True,
1909 allows us to synthesize events and query the pointer even during
1910 an active grab by another client.
1911 (spi_device_event_controller_forward_mouse_event):
1912 Set the mouse_mask_state to the mouse_button_state from
1913 the intercepted event, to synchronize the grab listener with
1916 2002-11-20 Bill Haneman <bill.haneman@sun.com>
1918 * cspi/spi_accessible.c:
1919 (AccessibleRole_getName):
1920 Added necessary strings for making this (deprecated)
1921 method work with the new role types.
1922 (init_role_table, role_table):
1923 Added definition of SPI_ROLE_APPLICATION.
1925 * libspi/spi-roletypes.h:
1926 Added SPI_ROLE_APPLICATION.
1928 * idl/Accessibility_Role.idl:
1929 Added ROLE_APPLICATION.
1931 * docs/reference/cspi/at-spi-cspi-decl.txt:
1932 Added SPI_ROLE_APPLICATION to docs.
1934 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
1936 * cspi/spi_accessible.c
1937 (cspi_init_role_table): Do not write beyond end of role_table.
1938 (Accessible_getRole): Use correct type for value returned by
1939 Accessibility_Accessible_getRole().
1941 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1942 beyond end of role_table. (This fixes bug #98269)
1944 * libspi/application.c: Add include file spi-private.h for
1945 definition of spi_init_any_nil.
1947 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1951 * libspi/spi-private.h:
1952 Added DGB() macro, and extern int _dbg declaration.
1954 * registryd/registry.c:
1955 (definitions) storage for _dbg.
1956 (spi_registry_init):
1957 Get environment variable "AT_SPI_DEBUG".
1958 (spi_registry_set_debug):
1959 New method, to initialize _dbg value.
1960 (spi_listener_struct_new, spi_registry_object_finalize):
1961 (notify_listeners_cb):
1962 Changed fprintfs to use DBG and g_warning().
1964 * registryd/deviceeventcontroller.c:
1965 (_deregister_keygrab, spi_controller_register_device_listener):
1966 Changed debug/warning messages to use DBG macro.
1968 * libspi/listener.c:
1969 (impl_notify_event):
1970 Changed warning messages to use DBG macro and g_warning().
1972 * atk-bridge/bridge.c:
1973 (atk_bridge_init, spi_atk_bridge_get_registry):
1974 (spi_atk_bridge_exit_func):
1975 (spi_atk_bridge_property_event_listener):
1976 Changed status, warning, and error messages to use
1977 g_warning, g_message, and DBG macros.
1980 Read the state of the AT_SPI_DEBUG environment variable
1981 and set a local '_dbg' accordingly.
1983 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1985 FIXES for 98836, 98842, other bugs.
1988 Revved to 1.1.4, interface-age=4, binary-age=4.
1990 * registryd/deviceeventcontroller.c:
1992 Fixed crasher bug in last_mouse_pos initialization.
1994 * registryd/registry.c:
1995 (desktop_add_application, desktop_remove_application):
1996 Added (and then commented out) some support for
1997 object context marshalling. [TODO]
1999 * atk-bridge/bridge.c:
2000 (spi_atk_bridge_event_context_create):
2001 Commented out object context creation until it can
2002 be properly tested and debugged.
2004 * registryd/registry.c:
2005 (impl_registry_notify_event):
2006 Fixed crasher bug, we were calling
2007 spi_re_entrant_list_foreach () with an empty list.
2009 2002-11-18 Bill Haneman <bill.haneman@sun.com>
2011 * idl/Accessibility_Action.idl:
2012 * idl/Accessibility_Component.idl:
2013 * idl/Accessibility_Desktop.idl:
2014 * idl/Accessibility_Event.idl:
2015 * idl/Accessibility_Hyperlink.idl:
2016 * idl/Accessibility_Image.idl:
2017 * idl/Accessibility_Relation.idl:
2018 * idl/Accessibility_Selection.idl:
2019 * idl/Accessibility_State.idl:
2020 * idl/Accessibility_Value.idl:
2021 Updated unimplemented slot count to minimum of
2022 four for all interfaces, for ABI freeze.
2024 * idl/Accessibility_EditableText.idl:
2025 * idl/Accessibility_Text.idl:
2026 Updated unimplemented slot count to six
2029 * idl/Accessibility_Registry.idl:
2030 Updated unimplemented slot count to six
2031 (also for DeviceEventController),
2034 * idl/Accessibility_Table.idl:
2035 Updated unimplemented slot count to eight,
2038 * idl/Accessibility_Event.idl:
2039 Added CORBA_any "any_data" member to Event struct.
2041 * idl/Accessibility_Event.idl:
2042 Added CORBA_any "any_data" member to Event struct.
2044 * atk-bridge/bridge.c:
2046 atk_signal_text_changed, atk_signal_child_changed,
2047 signal ids queried from gtype system.
2048 (AtkBridgeEventContextType): New enum.
2049 (AtkBridgeEventContextData): New struct.
2050 (AtkBridgeEventContext): New struct.
2051 (atk_bridge_init_event_type_consts):
2052 New method, initializes type contants for comparison
2053 prior to emit_eventv.
2054 (atk_bridge_event_context_init): New method,
2055 initializes a CORBA_any from an AtkBridgeEventContext.
2056 (atk_bridge_focus_tracker): Call spi_init_any_nil to
2057 initialize the event.any_data struct.
2058 (spi_atk_bridge_event_context_create): New method,
2059 creates an AtkBridgeEventContext from signal/event info.
2060 (spi_atk_bridge_event_context_free): New method.
2061 (spi_atk_emit_eventv): Changed to take an
2062 AtkBridgeEventContext parameter. We now initialize
2063 the event.any_data member prior to notifying the
2064 Registry, via the AtkBridgeEventContext.
2065 (spi_atk_bridge_property_event_listener):
2066 (spi_atk_bridge_state_event_listener):
2067 Match emit_eventv signature.
2068 (spi_atk_bridge_object_event_listener):
2069 Match emit_eventv signature, and create an
2070 event context from the event details.
2071 Free the event context afterwards.
2072 (spi_atk_bridge_window_event_listener):
2073 Create an event context, pass it to the
2077 (AccessibleEvent_getContextString):
2078 (AccessibleEvent_getContextObject):
2079 New methods, allow query of AccessibleEvent objects
2080 for more context details (via the "any_data" member
2081 of the Event struct, above).
2084 Definitions for AccessibleEvent_getContextString
2085 and AccessibleEvent_getContextObject.
2087 * cspi/spi_listener.h:
2088 (InternalEvent): New struct.
2091 (AccessibleEvent_getContextString):
2092 (AccessibleEvent_getContextObject):
2093 Implementations of new methods, for obtaining
2094 additional context information from some event types.
2096 * cspi/spi_registry.c:
2097 (SPI_registerGlobalEventListener):
2098 Added mention of active-descendant-changed event in docs.
2100 * cspi/cspi-bonobo-listener.c:
2102 Marshal the any into the AccessibleEvent via
2105 * libspi/spi-private.h:
2106 #include <orbit/orbit.h>
2108 (spi_init_any_string):
2109 (spi_init_any_object):
2110 New convenience function declarations.
2114 (spi_init_any_string):
2115 (spi_init_any_object):
2116 New convenience function implementations.
2118 * registryd/deviceeventcontroller.c:
2119 (spi_poll_dec_mouse_moved):
2120 (spi_device_event_controller_forward_mous_event):
2121 Initialize any_data member of event.
2122 (spi_deregister_controller_device_listener):
2123 Fix incorrect param pass which was preventing deregistration.
2125 * registryd/registry.c:
2126 (desktop_add_application):
2127 (desktop_remove_application):
2128 Add object data to event's any_data before dispatch.
2130 Fix for error messages from GAIL.
2132 * test/event-listener-test.c:
2133 Test new ContextString and "any_data" API:
2134 (report_text_event): New method query and output context string.
2135 (main): register a new text listener with report_text_event
2138 2002-11-19 Darren Kenny <darren.kenny@sun.com>
2140 Fixes for bugs 98127 and 97914.
2141 * cspi/spi-roletypes.h:
2142 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
2144 * cspi/spi-statetypes.h:
2145 Added SPI_STATE_MANAGES_DESCENDANTS
2147 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
2148 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
2149 * cspi/spi_accessible.c:
2150 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
2151 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
2152 Accessibility_STATE_MANAGES_DESCENDANTS
2153 * libspi/accessible.c:
2154 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
2155 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
2156 As requested by Bill, I also cleaned up the alignment.
2157 * libspi/relation.c:
2158 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
2159 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
2160 * libspi/stateset.c:
2161 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
2162 Accessibility_STATE_MANAGES_DESCENDANTS
2163 * docs/reference/cspi/tmpl/spi_accessible.sgml:
2164 Document changes reflecting modifications to roles.
2165 * docs/reference/cspi/tmpl/spi_relation.sgml:
2166 Document changes reflecting modifications to relations.
2167 * docs/reference/cspi/tmpl/spi_stateset.sgml:
2168 Document changes reflecting modifications to states.
2170 2002-11-17 Bill Haneman <bill.haneman@sun.com>
2173 Revved to 1.1.3, interface-age=3, binary-age=3.
2174 Added REBUILD macro.
2177 Removed accessx-gui from the tests, since we have a nice
2178 keyboard accessibility capplet now :-)
2180 * test/keysynth-demo.c:
2181 (increment_scan): removed do-nothing default: case,
2184 * test/visual-bell.c:
2185 (main) : removed do-nothing default: case,
2188 * cspi/spi_action.c:
2189 (AccessibleAction_getKeyBinding_):
2190 Documented keybinding string format.
2194 (AccessibleText_getAttributes):
2195 Documented the text attribute string format.
2196 It's changed to use semicolon delimiters also,
2197 to prevent clashes with CSS attributes, but the old
2198 trick of looking for ", " strings will still work
2199 (as unreliably as ever). Fix for bug related to 97916.
2202 Include <cspi/bonobo/cspi-bonobo-listener.h>
2203 Fixes build warning.
2204 (SPI_freeAccessibleKeySet):
2205 (AccessibleKeystrokeListener_addCallback):
2206 (AccessibleKeystrokeListener_removeCallback):
2207 Modify to use AccessibleDeviceListener API internally,
2208 instead of AccessibleKeystrokeListener.
2210 * idl/Accessibility_Event.idl:
2211 Added two more empty slots to EventListener (for a total of four).
2213 * idl/Accessibility_Accessible.idl:
2214 Added four empty slots to Accessible interface.
2216 2002-11-15 Bill Haneman <bill.haneman@sun.com>
2218 * idl/Accessibility_Registry.idl:
2219 (KeyEventType, EventType):
2220 Marked KeyEventType as deprecated; it duplicates
2221 functionality of EventType, which has been extended to
2222 include Mouse-button events.
2223 (KeyEventTypeSeq): defined in terms of EventType.
2224 (registerDeviceEventListener, deregisterDeviceEventListener):
2225 New methods, for managing listeners to device events,
2226 which potentially may consume them.
2229 Added definition for AccessibleDeviceListener.
2231 * cspi/spi-listener.h:
2232 (enum AccessibleDeviceEventType):
2233 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
2234 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
2235 for backwards compat.
2236 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
2237 and typedef'd AccessibleKeystroke to it for back-compat.
2238 (AccessibleDeviceListenerCB):
2239 New function prototype typedef.
2242 (AccessibleDeviceEventMask): New typedef.
2243 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
2244 (AccessibleKeyMaskType):
2245 Set equivalent to AccessibleModifierMaskType for back-compat.
2246 (SPI_createAccessibleKeystrokeListener):
2247 (AccessibleKeystrokeListener_unref):
2248 Deprecated in favor of equivalent (better-named) new API below..
2249 keystroke listeners are like all device listeners.
2250 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
2251 New API names for old features :-).
2252 (AccessibleDeviceListener_addCallback):
2253 (AccessibleDeviceListener_removeCallback):
2254 (SPI_registerDeviceEventListener):
2255 (SPI_deregisterDeviceEventListener):
2259 (SPI_createAccessibleKeystrokeListener):
2260 Use new preferred API, cspi_device_listener_new() and
2261 cspi_device_listener_add_cb().
2262 (AccessibleKeystrokeListener_removeCallback):
2263 Use new preferred API, cspi_device_listener_remove_cb().
2264 (AccessibleKeystrokeListener_unref):
2265 Use new preferred API, cspi_device_listener_unref().
2266 (SPI_createAccessibleDeviceListener):
2267 (AccessibleDeviceListener_addCallback):
2268 (AccessibleDeviceListener_removeCallback):
2269 Implementation of new API.
2271 * cspi/spi_registry.c:
2272 (SPI_registerDeviceEventListener):
2273 (SPI_deregisterDeviceEventListener):
2274 Implementation of new API. Fixed memory leak and removed need to
2275 allocate EventTypeSeq (thanks Michael for catching this).
2276 Squashed a wayward CORBA_exception_free that shouldn't get called.
2278 * cspi/bonobo/cspi-bonobo-listener.c:
2280 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
2281 (cspi_key_event): renamed to cspi_device_event().
2282 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
2283 Extended to handle mouse button events as well as key events.
2284 (CSpiKeystrokeListener):
2285 Class superceded by CSpiDeviceListener.
2286 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
2287 These internal APIs changed to "*device_listener" from "*keystroke_listener".
2289 * cspi/bonobo/cspi-bonobo-listener.h:
2290 (CSpiKeystrokeListener):
2291 Class superceded by CSpiDeviceListener.
2292 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
2293 These internal APIs changed to "*device_listener" from "*keystroke_listener".
2295 * libspi/Makefile.am:
2296 Replaced keystrokelistener.h and keystrokelistener.c
2297 with devicelistener.h and devicelistener.c; keystrokelisener.h
2298 stub retained for back-compat.
2300 * libspi/keystrokelistener.c:
2304 Replaced inclusion of keystrokelistener.h with devicelistener.h.
2306 * registryd/deviceeventcontroller.c:
2307 (DEControllerListener): Added Accessibility_EventTypeSeq member.
2308 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
2309 (DEControllerPrivateData): Added xkb settings data.
2310 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
2311 button release events (which can't be captured via XGrabButton).
2312 Don't dispatch via the 'normal' event mechanism if the device event was
2314 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
2315 Handle the typeseq data in its new location (see above).
2316 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
2317 New methods, for "generic" device listeners.
2318 (spi_controller_register_device_listener):
2319 Now handle mouse event listeners as well as key listeners.
2320 (spi_controller_notify_mouselisteners):
2321 New internal method.
2322 (spi_device_event_controller_forward_mouse_event):
2323 Now we notify mouse device listeners as well as generating the
2324 non-consumable "mouse:" events.
2326 We must check and restore the XKB
2327 modifier map if we consume the event, since the act of triggering
2328 a mouse event will normally reset the XKB latch. This is required for
2330 (spi_controller_register_with_devices):
2331 Load the XKB settings when registering, and register for XKB
2332 state notify events.
2333 (spi_key_eventtype_seq_contains_event):
2334 Renamed spi_eventtype_seq_contains_event, since it's used
2335 internally for all device event types now.
2336 (spi_key_event_matches_listener):
2337 Uses spi_eventtype_seq_contains_event now.
2338 (spi_device_event_controller_object_finalize):
2339 Free the private data and the XkbKeyboard struct.
2340 (impl_register_device_listener, impl_deregister_device_listener):
2341 Implementation of new IDL.
2342 (spi_deregister_controller_device_listener):
2343 New internal method.
2344 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
2345 More efficient implementation, we don't have to create a new
2346 XkbControls structure every time we query.
2347 (spi_device_event_controller_class_init):
2348 Initialize the epv entries for the new IDL. Assign the
2349 "spi-dec-private" quark.
2350 (spi_device_event_controller_init):
2351 Initialize the private data.
2352 (spi_device_event_controller_forward_key_event):
2353 Removed a bogus CORBA_exception_free() call.
2355 * registryd/deviceeventcontroller.h:
2356 Replaced inclusion of keystrokelistener.h with
2359 * test/event-listener-test.c:
2360 (report_mouse_event):
2363 Added mouse-event device listener.
2365 * test/test-simple.c:
2366 (create_test_window):
2367 Fixed regression (we were instantiating a GtkRange,
2368 which is now an abstract class). Also fixed to match
2369 existing AtkRole names, this seems to have changed in ATK
2370 awhile ago; too late now I think, and the new
2371 mechanism is at least elegant and consistent with the
2372 glib enum "nick" APIs.
2374 2002-11-15 Darren Kenny <darren.kenny@sun.com>
2376 * idl/Accessibility_Relation.idl:
2377 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
2378 RELATION_EMBEDS,RELATION_EMBEDDED_BY
2379 * idl/Accessibility_Role.idl:
2380 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
2381 * idl/Accessibility_State.idl:
2382 add STATE_MANAGES_DESCENDANTS
2383 * test/event-listener-test.c:
2384 Added a listener for active-descendant events.
2386 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
2388 * atk-bridge/bridge.c
2389 (atk_bridge_init): If application is Bonobo component wait until top
2390 level is added before registering
2391 (spi_atk_bridge_do_registration): New function which contains code,
2392 formerly in atk_bridge_init, to do application registration.
2393 (spi_atk_bridge_toplevel_added): Signal called when top level
2394 added to Bonobo component
2396 This fixes bug #83134.
2398 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
2400 * registryd/deviceeventcontroller.c
2401 Fixed compilation error caused by calling gettimeofday()
2404 2002-10-18 Bill Haneman <bill.haneman@sun.com>
2409 Added template for HAVE_XKB.
2412 Changes to check for XKB, and to set the HAVE_XKB #define if it
2415 * libspi/listener.c:
2416 ()impl_notify_event): Make failure to get event source name
2419 * registryd/deviceeventcontroller.c:
2420 (#include): include X11/XKBlib.h.
2421 (DEControllerPrivateData) : New struct.
2422 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
2424 (dec_synth_keycode_press) (dec_synth_keycode_release):
2425 New methods; split the key synthesis code into these methods.
2426 They check XKB settings before determining the "time" values to
2427 pass to Xtest; this fixes bug #95828.
2428 (impl_generate_keyboard_event): Changed to use methods above,
2429 instead of callng Xtest directly.
2430 (spi_device_event_controller_init): Initialize new privae struct s
2432 (spi_device_event_controllr_object_finalize):
2433 Free the (new) private data.
2435 * registryd/deviceeventcontroller.h:
2436 Add new gpointer to end of struct data.
2438 2002-10-16 Bill Haneman <bill.haneman@sun.com>
2441 Incremented revision to 1.1.2, SONAME is still '.so', library
2442 extensions are ".so.0.0.2".
2444 * registryd/deviceeventcontroller.c:
2445 FIXES FOR #93592 and #95940.
2446 (statics): renamed mouse_button_state to mouse_mask_state,
2447 added key_modifier_mask.
2448 (spi_dec_poll_mouse_moved):
2449 Added key modifier checks, and emit "keyboard:modifiers"
2450 events when the key modifiers currently in use change.
2451 Also generate "mouse:abs" events periodically, even if the mouse
2452 is stationary (should we?).
2453 Alternatively we could generate "mouse:abs" events for either all
2454 mouse movements, or every 'nth' mouse movement, or at the
2455 beginning and end of every "active" mouse period.
2457 * test/event-listener-test.c:
2458 (main): Added listener for "keyboard:modifiers" events.
2460 2002-10-15 Bill Haneman <bill.haneman@sun.com>
2462 * libspi/keymasks.h:
2463 Added key mask #defines for mouse buttons; e.g.
2464 SPI_KEYMASK_BUTTON1, etc.
2467 Incremented dependency on ATK to version 1.1.0. (This dependency
2468 is probably premature but will soon be real enough).
2470 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
2472 * libspi/hyperlink.[ch]
2473 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
2474 (get_hyperlink_from_servant): Check object is AtkHyperlink not
2477 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
2482 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
2484 * registryd/deviceeventcontroller.c
2485 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
2486 events to be ignored.
2487 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
2488 keyboard_mode so that XAllowEvents() can be called.
2492 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
2494 * cspi/spi-accessible.c: Correct names of roles returned by
2495 AccessibleRole_getName(). Fixes bug #95055.
2497 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
2499 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
2502 * registryd/registry.c
2503 (desktop_remove_application: Write diagnostic message to stderr for
2506 (impl_accessibility_registry_deregister_global_event_listener):
2507 Correct size of lists array. This addresses bug #94555).
2509 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
2511 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
2514 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
2516 * registryd/Makefile: Add CLEANFILES so that .server file is removed
2519 * registryd/registry.c (impl_registry_notify_event): Remove
2520 unnecessary call to parser_event_type().
2522 * docs/reference/cspi/tmpl/spi_component.sgml:
2523 Add reference to SPI_LAYER_WINDOW.
2525 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
2527 * registryd/registry.c
2528 (desktop_add_application): Remove leak.
2529 (desktop_remove_application): Remove leak.
2530 (parser_event_type): Remove leak.
2532 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
2534 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
2535 bogus call to CORBA_string_dup(). Also removed unnecessary
2536 g_string_dup/g_free calls.
2538 2002-09-13 Bill Haneman <bill.haneman@sun.com>
2540 * registryd/deviceeventcontroller.c:
2541 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
2543 * test/event-listener-test.c:
2544 main: commented out three redundant listeners, to reduce output
2545 noise. (They still are potentially useful for testing).
2548 2002-09-13 Michael Meeks <michael@ximian.com>
2550 * Update all the copyrights to include Ximian.
2552 2002-09-06 Mark McLoughlin <mark@skynet.ie>
2554 * cspi/spi.h: add SPI_LAYER_WINDOW.
2556 * cspi/spi_component.c: (AccessibleComponent_getLayer):
2557 add Accessibility_LAYER_WINDOW case.
2559 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
2561 * libspi/component.c: (impl_accessibility_component_get_layer):
2562 add ATK_LAYER_WINDOW case.
2564 2002-08-28 Bill Haneman <bill.haneman@sun.com>
2566 * configure.in: incremented micro version.
2568 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
2570 2002-08-20 Bill Haneman <bill.haneman@sun.com>
2573 Clarified and reworded our commit policy.
2576 Started an API "todo" addition list for 2.2.
2579 (impl_getSelection):
2580 Free char pointer from atk_text_get_selection, which was being leaked.
2582 2002-08-19 Bill Haneman <bill.haneman@sun.com>
2585 Small revision to author acknowledgement.
2587 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
2589 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
2590 If signal has detail add it to the type of the event.
2593 2002-08-12 Michael Meeks <michael@ximian.com>
2595 * test/test-simple.c (global_listener_cb): bin bogosity.
2596 (test_keylisteners): disable, still doesn't work reliably,
2597 certainly not on my system anyway.
2599 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
2600 don't leak a reference on the DEC. This round-trip
2601 fetching of the DEC per keystroke sucks, it should be
2604 * cspi/spi-private.h,
2605 * cspi/cspi-lowlevel.h,
2606 * cspi/bonobo/cspi-bonobo-listener.[ch],
2607 * cspi/bonobo/cspi-bonobo.c: get the copyright
2608 notices better - there is still a large amount of
2609 work in at-spi falsely attributed solely to Sun.
2611 * cspi/spi_main.c (cspi_object_ref): kill bogus
2612 hash lookup, just increment the ref.
2613 (SPI_freeString): make explicit the fact that we
2614 handle NULL strings just fine.
2615 (report_leaked_ref): obey coding standards.
2616 (cspi_object_hash, cspi_object_equal): kill retval.
2617 (cspi_object_release): only release if not on loan.
2618 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
2619 (cspi_object_borrow, cspi_object_return): impl.
2621 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
2622 use cspi_object_borrow / return.
2624 2002-08-12 Darren Kenny <darren.kenny@sun.com>
2626 * cspi/bonobo/cspi-bonobo-listener.c:
2628 Don't call cspi_oject_new() because this is creating a new Accessible
2629 every single time that an event is fired. This causes ATs like at-poke
2630 to nolonger recognise the source of the event and thus ignore it.
2631 Re-use the object from the cache, ref it and then unref it after the
2632 listeners have been called.
2634 2002-08-06 Darren Kenny <darren.kenny@sun.com>
2636 * test/event-listener-test.c:
2637 Added command-line options to disable mouse events (m) and
2640 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
2642 * configure.in: Update required versions of ATK, GTK+ and GAIL
2644 * cspi-1.0.pc.in: Add dependency for X include files
2647 * cspi/bonobo/Makefile.am:
2648 Add $(X_CFLAGS) so that X include files
2649 are picked up even if not in standard place (bug #71686)
2651 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2653 * registryd/deviceeventcontroller.c: fix for 84261
2654 (spi_dec_mouse_moved):
2655 Added test of mouse button mask, so that we can detect mouse
2656 button release. Unfortunately we can't otherwise detect mouse
2657 button release events without consuming the mouse press event,
2658 because of the way XGrabButton works. This means that our mouse
2659 release events have a latency dependent on the polling period
2660 while the mouse button is down. At least in this case we only
2661 have to poll while the button is down, and not at other times.
2662 If the button masks don't match with what the last press event
2663 reported, we report the appropriate button release event.
2664 (spi_dec_ungrab_mouse):
2665 New method (not yet called).
2666 (spi_device_event_controller_forward_mouse_event):
2667 New method, sends mouse press event from GdkFilter.
2668 (spi_dec_init_mouse_listener):
2669 Added code to call XGrabButton, redirecting mouse button events to
2670 the root window and our Gdk event loop.
2672 Added code to filter mouse button events, and reordered.
2674 * test/event-listener-test.c:
2676 Added registration for mouse events of type "mouse:button".
2678 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2680 * registryd/deviceeventcontroller.c: partial fix for 84261
2681 (spi_dec_poll_mouse_idle):
2682 New method, a timeout which checks to see if the mouse
2684 (spi_dec_poll_mouse_moving):
2685 A timeout to be called when mouse motion is underway.
2686 (spi_dec_poll_mouse_moved):
2687 A method which fires an event if the mouse has moved, and reports
2688 whether or not it did so.
2689 (spi_dec_init_mouse_listener):
2690 A method which sets up the timeouts above.
2691 (spi_device_event_controller_new):
2692 Now calls spi_dec_init_mouse_listener.
2694 * registryd/registry.c:
2695 (spi_registry_init):
2696 Now we initialize the device event controller when the registry is
2697 initialized, instead of waiting until a client has requested a key
2698 event notification; this is because we need the event controller
2699 for mouse events, but the mouse event registration API is a
2700 "registry" call and doesn't explicitly call the
2701 deviceeventcontroller.
2702 We now report mouse motion events with a 100 ms idle latency and
2703 a 20 ms granularity when motion is in progress.
2705 * test/event-listener-test.c:
2707 We now register the "detail listener" for events of type
2708 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
2709 delivered only for the first mouse event received, and thereafter
2710 "mouse:abs" events are delivered.)
2712 * cspi/spi_registry.c:
2713 DOCS: Documented the above mouse event typestrings.
2715 2002-06-21 Bill Haneman <bill.haneman@sun.com>
2717 Happy Summer Solstice...
2719 * registryd/deviceeventcontroller.c: [fix for bug 84100]
2720 (spi_controller_notify_keylisteners):
2721 Changes to remove a listener from the listener list, freeing its
2722 open keygrabs, if a notification to that listener fails. This
2723 means that although a dead listener can continue to hold a passive
2724 keygrab, a maximum of one dispatch to such a listener can fail
2725 before the listener is removed from the list, thus the keygrab
2726 will be released on the next occurrence.
2727 As part of this fix:
2728 (spi_notify_keylisteners):
2729 Renamed to spi_controller_notify_keylisteners, as the controller
2730 instance must now be passed as an argument.
2731 The copied 'notify' GList is now a list of DEControllerKeyListener
2732 objects, since we need more than just the CORBA reference if a
2733 notify fails and we need to deregister the listener.
2734 (impl_notify_listeners_sync):
2735 (impl_notify_listeners_async):
2736 (spi_device_event_controller_forward_key_event):
2737 Modify use of notify_keylisteners in accordance with above
2739 (spi_deregister_controller_key_listener):
2740 New method introduced by refactoring, from
2741 impl_deregister_keystroke_listener.
2742 (impl_deregister_keystroke_listener):
2743 Call spi_deregister_controller_key_listener.
2744 (spi_key_listener_clone):
2745 New method to copy a key listner without doing a 'ref' on the
2746 remote object instance; used to create a notifier list.
2747 (spi_key_listener_data_free):
2748 New method, frees data without unreffing the source.
2750 (spi_key_listener_clone_free): new method.
2751 (spi_key_listener_free):
2752 refactored to call spi_key_listener_data_free.
2754 2002-06-20 Bill Haneman <bill.haneman@sun.com>
2756 * registryd/registry.c: [fix for bug 86048]
2757 (notify_listeners_cb):
2758 Clear CORBA system exceptions which occur when notifying
2759 listeners, before returning to the source of the original event,
2760 since the event source doesn't care if the relayed notify failed.
2761 In other words, don't complain to the atk-bridge if the registry
2762 could not notify all its listeners, that's no fault of the
2763 application and thus should not appear to be an error from the
2764 application's perspective.
2766 * cspi/spi_main.c: [fix for bug 85980]
2768 Replaced use of bonobo_object_dup_ref with call to the wrapper
2769 method, csou_dup_ref (); this silences a compiler warning and
2770 provided more portability.
2772 Ping the registry before return, and restart if necessary.
2774 * cspi/bonobo/cspi-bonobo.c:
2776 New internal method.
2778 Fixed this method to return an object reference, as it should have
2781 * cspi/cspi-lowlevel.h:
2782 Added internal definition for cspi_ping() and fixed
2783 return type of cspi_dup_ref().
2786 2002-06-19 Bill Haneman <bill.haneman@sun.com>
2788 * atk-bridge/bridge.c: [fix for bug 85305]
2789 (spi_atk_bridge_register_application):
2790 New method where the initial application registry calls have been
2791 moved; it allows an application to re-register in response to
2792 certain error conditions (such as a registry restart, see below).
2794 Moved some initialization code to the method
2795 spi_atk_bridge_get_registry, below.
2796 (spi_atk_bridge_get_registry):
2797 New, private accessor function for the Accessibility_Registry
2798 instance. If the registry has not been started before, or has
2799 died (as detected by failure of a CORBA exception), it is
2800 restarted before return, and spi_atk_bridge_register_application
2801 is called again to register with the new bridge instance.
2802 (spi_atk_emit_eventv):
2803 Set registry_died on error; use spi_atk_bridge_get_registry () to
2804 access the registry.
2806 * registryd/registry.c:
2807 (impl_accessibility_registry_register_global_event_listener):
2808 Set listener's event_type_quark to etype.minor instead of
2809 etype.major (fix for bug 84856).
2811 * test/event-listener-test.c:
2812 (report_detail_event):
2813 Change the output string so that user/tester can tell that the
2814 'detail listener' was called instead of the 'generic listener'.
2816 2002-06-18 Bill Haneman <bill.haneman@sun.com>
2818 Fixes for bugs 84900, 84908, 84897, 84898.
2823 Revved version to 1.1.0
2824 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
2825 version is going to HEAD which will be used for gnome-2-0-1 and later.)
2827 * idl/Accessibility_Registry.idl:
2828 (EventListener::notifyEvent):
2829 Removed 'oneway' directive after extensive consulation with
2830 ORBit2 team and others. This means also that unref() of the event
2831 source can and should be done synchronously after emission, rather
2832 than remotely in the client, after servicing the notify call on
2835 NOTE: This change speeds up listener performance considerably, but
2836 introduces new latency on the application side. We may want to
2837 add an event queue to the atk-bridge.
2839 * atk-bridge/bridge.c:
2840 (spi_atk_bridge_focus_tracker):
2841 Do a local unref() on the event source after emission.
2843 * registryd/registry.c:
2844 (desktop_remove_application):
2845 Do an unref() on the event source after emission.
2846 (desktop_add_application):
2847 Do an unref() on the event source after emission.
2848 (notify_listeners_cb):
2849 When relaying an event, don't automatically add the event source
2850 to the local object cache, just CORBA_dup it instead. Likewise,
2851 if this method reenters, release the ref rather than calling
2853 (impl_registry_notify_event):
2854 No longer call remote unref() on the event source after dispatch.
2856 * libspi/eventlistener.c:
2857 (impl_accessible_event_notify_event):
2858 Removed remote unref ()
2860 * cspi/bonobo/cspi-bonobo-listener.c:
2862 We now call cspi_object_new() instead of cspi_object_add() on
2863 receipt of an event; thus we only have an implicit object ref
2864 while the cspi_event method is being executed. If we need to keep
2865 a reference to the object, the listener must call ref() on the
2866 object. Thus also we don't need to call cspi_object_unref() after
2867 invoking the listener callbacks in this method.
2871 New internal API for creating a new cspi object, without adding it
2872 to the object cache.
2874 Now uses cspi_object_new() to create the cspi object instance.
2876 Now checks to see if the object is in the internal object cache,
2877 and adds it if necessary before incrementing its refcount (note
2878 that new objects are added with a refcount of 1).
2879 (report_leaked_ref):
2880 New method which gives some information on leaked object instances
2881 if leak detection is turned on.
2883 * test/event-listener-test.c:
2884 (timing_test_event):
2885 New method, used for testing event delivery timing for special
2886 events of type "object:test". It reports elapsed time and
2887 events/sec every 500 events.
2889 Added a new listener, 'test listener', to check timing of event
2890 receipt as noted above.
2892 Added some timing output here also, reports elapsed time every 100
2895 * test/stress-test.c:
2896 Emit events of type "object:test", for use with "event-listener-test".
2898 * test/test-simple.c:
2899 (global_listener_cb):
2900 Call Accessible_ref() on the event source before calling
2901 validate_accessible, since the validation process does pointer
2902 comparisons on the event source, meaning that the event source
2903 needs to be added to the local object cache first. Any use of
2904 such pointer comparisons between Accessible objects requires that
2905 the caller hold an explicit reference to those objects.
2906 We also must therefore call Accessible_unref() when leaving this method.
2908 2002-06-13 Bill Haneman <bill.haneman@sun.com>
2910 * registryd/deviceeventcontroller.c:
2911 (spi_controller_update_key_grabs):
2912 Fix for #84735, subsequent keygrab listeners not informed of
2913 registration failure.
2916 (spi_base_construct):
2917 Add an assertion on construct, to make sure the GObject passed in
2918 is really a GObject.
2920 Explicitly initialize object->gobj pointer to NULL;
2922 * cspi/bonobo/cspi-bonobo-listener.c:
2923 (cspi_object_add_ref):
2924 New method, can specify whether to dup-ref a bonobo object passed
2925 in if it's newly added to the object cache.
2927 Now calls cspi_object_add_ref with second param of "FALSE". This
2928 prevents us from doing a pointless dup-ref followed by
2929 release-unref for all those cases where the object is already in
2930 our object cache (fix for #85205).
2932 * atk-bridge/bridge.c:
2933 (spi_atk_bridge_idle_init):
2934 Removed this method, we don't need to initialize in an idle
2937 Changed to call spi_atk_register_event_listeners directly, not via an
2938 idle handler. (fix for #81139)
2939 (gnome_accessibility_module_shutdown):
2940 Removed conditional around deregistration of listeners, since we
2941 don't use the idle handler and thus have always registered when
2943 (spi_init_keystroke_from_atk_key_event):
2944 Changed references to Accessibility_KEY_PRESSED to
2945 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2947 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2949 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2954 * test/stress-test.c:
2957 (may have been an incomplete commit yesterday?)
2959 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2962 Added target for new stress-test.
2964 * test/stress-test.c:
2965 New test, sends 1000 focus notifies in quick succession.
2967 * test/key-listener-test.c:
2968 Now we report whether a keylistener registration
2969 request succeeded or failed.
2971 * test/event-listener-test.c:
2972 Uncommented some listeners which are now implemented.
2975 2002-06-06 Bill Haneman <bill.haneman@sun.com>
2977 * registryd/deviceeventcontroller.c:
2978 (spi_controller_update_key_grabs):
2979 Fix for #82509, lack of failure notification when
2980 ALL_WINDOWS keygrabs fail due to XGrabKey
2981 failure: we synchronize the server when
2982 registering a passive grab, to make sure we get the
2983 error message before the call returns.
2985 2002-06-03 Bill Haneman <bill.haneman@sun.com>
2987 * test/test-simple.c:
2989 Removed #ifdef KEY_IMPL_WORKS guards.
2990 (test_keylisteners):
2991 Removed #ifdef KEY_IMPL_WORKS guards.
2992 Fixed bug which was causing a hang waiting for a
2993 "press" event (which was already overwritten by a "release"
2994 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2996 Added code to set globals 'key_press_received' and
2997 'key_release_received'.
3000 Added section "1.1 API Proposed Additions" which
3001 lists API additions desired for at-spi-1.1 (only one so far).
3002 Updated TODO list a little.
3004 2002-06-02 Bill Haneman <bill.haneman@sun.com>
3006 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
3009 * configure.in: Revved to 1.0.0.
3011 * idl/Accessibility_Registry.idl:
3012 (registerKeystrokeListener):
3013 Added boolean return value.
3015 * registryd/registry.c:
3016 (notify_listeners_cb): Minor fix to debug output.
3018 * registryd/Accessibility_Registry.server.in.in:
3019 Revved version number in OAFIID to 1.0.
3021 * registryd/registryd.c:
3023 Use new OAFIID version.
3025 * cspi/bonobo/cspi-bonobo.c:
3027 Use new OAFIID version.
3033 * atk-bridge/bridge.c:
3035 Use new OAFIID version.
3037 * registryd/deviceeventcontroller.c:
3038 (impl_register_keystroke_listener):
3039 Added CORBA_boolean return value.
3040 (spi_controller_register_device_listener):
3041 Added gboolean return value.
3042 (spi_controller_register_global_keygrabs):
3043 Added gboolean return value.
3044 (spi_key_set_contains_key):
3045 Added implementation for many more control keys,
3046 for instance F1-F12, arrow keys, End, Home, Page_Up,
3048 [TODO: some still not implemented].
3050 * text/screen-review-test.c:
3051 (text_chunk_pad_string):
3052 New function: it provides mapping between coordinate
3053 positions of text chunks and character positions in the
3054 screen-review-line output string.
3055 (text_chunk_to_string):
3056 New function, calls text_chunk_pad_string with various
3057 pad/delimiter characters. Pushbuttons are delimited with
3058 square brackets, Frames with vertical 'pipe' lines, and
3059 other text with double quotes.
3060 (text_chunk_list_to_string):
3061 Calls new function text_chunk_to_string.
3062 (toplevel_composite):
3063 New function to composite layers CANVAS through
3064 POPUP in each toplevel (other layers are composited
3065 across toplevels, i.e. BACKGROUND and OVERLAY).
3066 (review_buffer_composite):
3067 Revise to use new methods.
3073 2002-05-31 Laszlo Peter <laca@sun.com>
3075 * configure.in: add the Xtst libdir to the runpath on Solaris,
3076 since it's not in the default library search path.
3078 2002-05-29 jacob berkman <jacob@ximian.com>
3080 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
3082 2002-05-29 Bill Haneman <bill.haneman@sun.com>
3084 * test/screen-review-test.c:
3085 (text_chunk_pad_string):
3086 Added method, which pads the string according to the
3087 text bounds of the chunk. It also takes a 3-character
3088 string as a param which indicates the characters to be
3089 used for start, padding, and end delimitation of the chunk.
3090 (text_chunk_to_string):
3091 Changed to use text_chunk_pad_string.
3093 * configure.in: Fixed bug in AC_OUTPUT that was
3094 causing path substitution in Accessibility_Registry.server
3097 2002-05-23 Bill Haneman <bill.haneman@sun.com>
3099 * text/screen-review-test.c:
3100 (guess_string_clip):
3101 New method which attempts a best-guess at clipping
3102 text from components (like Java labels) which don't
3103 actually implement AccessibleText. This inaccurate
3104 clip is based on the assumption that the label is
3105 justified left-and-right, and monospaced.
3106 (text_chunk_get_clipped_string):
3107 We now call guess_string_clip() for text-containing
3108 components that don't implement AccessibleText.
3110 * test/screen-review-test.c:
3111 (review_buffer_get_text_chunk):
3112 We now pull "name" from labels if they do not implement
3113 AccessibleText (i.e. for Java labels).
3114 (get_screen_review_line_at):
3115 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
3118 Replaceded AC_OUTPUT target
3119 registryd/Accessibility_Registry.server with
3120 registryd/Accessibility_Registry.server.in.
3122 * registryd/Accessibility_Registry.server.in:
3123 Removed (this is now a Makefile target).
3125 * registryd/Accessibility_Registry.server.in.in:
3126 Added (source for target above). We now use $(libexecdir) as
3127 prefix for the executable at-spi-registryd.
3129 * registry/Makefile.am:
3130 Now install at-spi-registryd into $(libexecdir), and build .server
3131 file with path (see above).
3133 2002-05-22 Bill Haneman <bill.haneman@sun.com>
3135 * test/screen-review-test.c:
3136 (text_chunk_get_clipped_string):
3137 We now check to see if words fall within clip bounds
3138 before resorting to character-by-character clip bounds testing.
3140 * TODO: Added a section for "2.2 Proposed API Additions".
3142 2002-05-21 Bill Haneman <bill.haneman@sun.com>
3144 * test/screen-review-test.c:
3146 Added a screen review benchmarking and test program to test
3149 * cspi/spi_accessible.c:
3151 Made some of the debug strings passed to cspi_check_ev a
3152 little more specific.
3154 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
3156 * test/screen-review-test.c: Fix crashes in debug statements
3158 2002-05-20 Bill Haneman <bill.haneman@sun.com>
3160 * test/screen-review-test.c: Added this file.
3162 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3164 * atk-bridge/bridge.c: changed "object:state-change" to
3165 "object:state-changed" to match docs.
3167 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3169 * atk-bridge/bridge.c: Hooked up state-change event details.
3171 2002-05-11 Bill Haneman <bill.haneman@sun.com>
3173 * registryd/registry.c:
3174 Fixed quarking bug in event string parsing; now events with
3175 detail parameters get matched correctly to listeners.
3178 * util/idl/Magnifier.idl: remove.
3180 * util/*.[ch]: Remove.
3181 Magnification utilities and IDL are now in module gnome-mag.
3183 2002-05-10 Bill Haneman <bill.haneman@sun.com>
3185 * registryd/deviceeventcontroller.c:
3186 Fixed bug in grab key conversion which was causing keycode grabs
3187 to be converted to AnyKey grabs.
3190 updated NEWS file to reflect recent spin-off of gnome-mag.
3192 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
3194 * cspi/spi_accessible.c: Added exception checks. Fixed completely
3195 busted AccessibleStateSet_compare. Removed redundant casts.
3197 * cspi/spi-action.c: Removed redundant casts.
3199 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
3201 * cspi/spi_component.c: Fixed typos and casting error.
3203 * cspi/spi_editabletext.c: Removed redundant casts.
3205 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
3207 * cspi/spi_hypertext.c: Eliminated redundant casts.
3209 * cspi/spi_image.c: Eliminated redundant casts.
3211 * cspi/spi_registry.c: Eliminated redundant casts.
3212 SPI_deregisterGlobalEventListenerAll () removed retval variable.
3213 * cspi/spi_selection.c: Removed redundant casts.
3214 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
3215 handling. Screen geometry and text offsets were being returned as 0
3216 on error which is technically valid-- changed these to return -1.
3217 Added marshaller for text boundary types to fix bug with boundary
3218 types being passed incorrectly to atk.
3220 2002-05-09 Bill Haneman <bill.haneman@sun.com>
3223 * cspi/spi_registry.c:
3224 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
3225 which was uncovered by the recent key changes.
3227 2002-05-09 Bill Haneman <bill.haneman@sun.com>
3229 * test/event-listener-test.c:
3231 Added new test, "event-listener-test";
3232 this code does two things; it benchmarks traversal time
3233 for the accessible hierarchy for the first running accessible
3234 app, and it connects listeners for all supported event types.
3235 It is thus useful as an example event listener and for
3236 diagnostics/debugging of event generation.
3238 2002-05-08 Bill Haneman <bill.haneman@sun.com>
3241 Removed unnecessary dependency on libutil.
3244 Revved micro version: 0.13.1
3246 2002-05-08 Bill Haneman <bill.haneman@sun.com>
3249 Removed util/Makefile from targets.
3252 Removed util subdir from SUBDIRS (temporarily,
3253 pending removal of magnifier-only code
3257 #ifdef-ed out magnifier dependencies, since
3258 magnifier IDL, headers, and binary now live in
3259 module gnome-mag and we don't want at-spi to depend
3260 on gnome-mag. A magnifier demo which can run alongside
3261 simple-at is forthcoming in the gnome-mag module.
3263 NOTE: Split magnifier binary, IDL, and magnification
3264 activation code from at-spi into module gnome-mag.
3266 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
3268 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
3269 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
3271 2002-05-03 Bill Haneman <bill.haneman@sun.com>
3274 Revved to version 0.13.0
3276 * idl/Accessibility_Registry.idl:
3277 Changed definition of KeySet from sequence of longs to sequence of
3278 KeyDefinitions, and added KeyDefinition struct.
3279 Required for fix to bug 80616.
3281 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
3282 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
3283 to use new definition (see above).
3285 * registryd/deviceeventcontroller.c: handle_keygrab(),
3286 spi_keyset_contains_key():
3287 Changed to make use of new struct; this allows matching based on
3288 string key-name, for instance "Tab". This also allows matching of
3289 composed characters, non-alphanumeric characters in a way that
3290 doesn't involve dependencies on X keysym codes directly, etc.
3292 * test/key-listener-test.c:
3293 Added test for Alt-Tab key using "string" specification of keyset,
3294 and modified one of the tests to use a keycode-based keyset.
3295 Thus this test both tests and demonstrates the creation and use of
3296 keysets of three forms: specified via keycode array,
3297 keysym array, and string array. (The string case only contains a
3298 single string, i.e. a string array of length 1).
3301 Turned on PRINT_TREE option by default. Also fixed a
3302 string-freeing bug in the PRINT_TREE code.
3303 Added a listener to window:minimize events.
3305 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
3307 * atk-bridge/bridge.c:
3308 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
3309 for window:activate and window:deactiveate
3310 (atk_bridge_property_event_listener atk_bridge_signal_listener
3311 atk_bridge_window_event_listener) Tidy debug code
3313 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
3315 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
3316 Fixed handling for NULL return value from ATK.
3318 * libspi/action.c libspi/component.c libspi/editabletext.
3319 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
3320 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
3321 Removed redundant casts.
3323 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
3324 Fixed off by one bug.
3326 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
3327 function not present in idl)
3329 2002-05-02 jacob berkman <jacob@ximian.com>
3331 * atk-bridge/Makefile.am: make atk-bridge a real module
3333 2002-04-26 Radek Doulik <rodo@ximian.com>
3335 * libspi/stateset.c (spi_init_state_type_tables): fix size of
3336 atk_state_types table
3338 2002-04-22 jacob berkman <jacob@ximian.com>
3341 * libspi/Makefile.am: add deps on the built files to help
3342 automake, and don't version the ORBit typelib
3344 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
3346 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
3347 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
3348 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
3349 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
3350 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
3351 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
3352 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
3353 libspi/accessible.h libspi/accessible.h libspi/base.h
3354 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
3355 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
3356 libspi/relation.h libspi/remoteobject.h libspi/selection.h
3357 libspi/spi-private.h libspi/statetset.h libspi/table.h
3358 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
3359 util/mag_client.h util/mag_control.c util/mag_image.c
3360 util/mag_image.h util/magnifier.c util/magnifier.h:
3361 Add missing file headers; standardize existing ones
3363 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
3365 * atk-bridge/bridge.c: Added window event support.
3367 2002-04-18 Michael Meeks <michael@ximian.com>
3369 * libspi/relation.c (impl_getNTargets): impl.
3370 (impl_getTarget): impl.
3372 * libspi/Makefile.am: fix stateset install.
3374 2002-04-17 Bill Haneman <bill.haneman@sun.com>
3377 Started putting useful info in this file.
3379 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
3381 * atk-bridge/bridge.c:
3382 Propagate state-changed notifications to ATs
3384 * cspi/spi_registry.c: update docs to reflect actual behavior of
3385 state-change events.
3387 2002-04-17 Bill Haneman <bill.haneman@sun.com>
3390 Incremented version to 0.12.1
3392 * util/mag_client.h:
3393 Add missing declaration for magnifier_exit,
3394 used by mag_control.c - Forte compiler didn't like
3395 the implicit redeclaration of the function :-(
3398 2002-04-16 Bill Haneman <bill.haneman@sun.com>
3401 Revved version to 0.12 due to API change (see below).
3403 * cspi/spi-roletypes.h:
3404 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
3405 definition from the inline docs, and added docs
3406 for SPI_ROLE_LAST_DEFINED.
3409 * cspi/spi_streamablecontent.c:
3410 Added missing seek_type parameter to
3411 (so far unused) method,
3412 AccessibleStreamableContent_seek().
3413 [ RT approval JodyG. ]
3416 Fixed docs for SPI_createAccessibleKeystrokeListener.
3418 * cspi/spi_registry.c:
3419 Fixed docs for SPI_KEYSET_ALL_KEYS.
3421 * docs/reference/cspi/at-spi-cspi-sections.txt:
3422 Added a number of missing APIs to SECTIONS.
3424 2002-04-16 Bill Haneman <bill.haneman@sun.com>
3426 * registryd/Makefile.am:
3428 * cspi/bonobo/Makefile.am:
3429 Add $(X_LIBS) to makefiles.
3431 2002-04-15 Bill Haneman <bill.haneman@sun.com>
3434 Revved version to 0.11.
3436 * libspi/component.c:
3437 Added implementation for grabFocus.
3439 * idl/Accessibility_Component.idl
3440 (Accessibility_Component_grabFocus):
3441 Made this method return boolean to indicate success or failure, to
3442 be consistent with cspi and the corresponding ATK method.
3444 * idl/Accessibility_Selection.idl
3445 (Accessibility_Selection_selectAll) :
3446 Made these methods return boolean to indicate success or
3447 failure, to be consistent with cspi and the corresponding ATK methods.
3449 * idl/Accessibility_EditableText.idl
3450 (Accessibility_EditableText_setTextContents,
3451 Accessibility_EditableText_insertText,
3452 Accessibility_EditableText_cutText,
3453 Accessibility_EditableText_deleteText,
3454 Accessibility_EditableText_pasteText):
3455 Made these methods return boolean to indicate
3458 * cspi/spi_editabletext.c:
3459 Made these methods return booleans.
3461 * libspi/selection.c:
3462 * libspi/component.c:
3463 * libspi/editabletext.c:
3464 Connected the boolean returns from ATK
3465 to the server-side code referenced above.
3467 2002-04-14 Bill Haneman <bill.haneman@sun.com>
3469 * idl/Accessibility_Table.idl: Added missing methods,
3470 Accessibility_Table_addRowSelection,
3471 Accessibility_Table_addColumnSelection,
3472 Accessibility_Table_removeRowSelection,
3473 Accessibility_Table_removeColumnSelection.
3476 Added C wrappers for above IDL:
3477 AccessibleTable_addRowSelection,
3478 AccessibleTable_addColumnSelection,
3479 AccessibleTable_removeRowSelection,
3480 AccessibleTable_removeColumnSelection.
3483 Added server-side implementation code for IDL above, connecting
3484 to pre-existing ATK api.
3486 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
3488 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
3490 * libspi/accessible.c: Added implementation fo
3491 Accessibility_Accessible_get_state.
3493 * libspi/libspi.h: Added stateset.h to the list of includes.
3495 * libspi/stateset.c: Fixed broken implementation.
3497 2002-04-13 Bill Haneman <bill.haneman@sun.com>
3500 Added implementation code for Accessibility_Magnifier_exit ().
3502 * util/mag_control.c:
3503 Added test code for above method; you can
3504 now kill an existing magnifier via
3505 ./mag_control q, from the util directory.
3507 * test/key-listener-test.c:
3509 Added a new test, for our key listener API.
3511 2002-04-11 Bill Haneman <bill.haneman@sun.com>
3513 * test/app.c, test/keysynth-demo.c:
3515 Replace use of snprintf with g_snprintf.
3516 (fix for bugzilla 78249)
3518 2002-03-27 Michael Meeks <michael@ximian.com>
3522 * util/Makefile.am (INCLUDES): fix.
3523 (DONT_DIST_SOURCE): don't distribute the
3526 * libspi/Makefile.am (dist-hook): ditto.
3528 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
3530 * libspi/hypertext.c:
3531 Fix warnings when yelp is used with atk-bridge
3533 2002-03-21 Michael Meeks <michael@ximian.com>
3535 * libspi/application.c (spi_application_new):
3536 use spi_accessible_construct so we use the AtkObject
3539 2002-03-19 Michael Meeks <michael@ximian.com>
3541 * registryd/registry.c (desktop_remove_application),
3542 (desktop_add_application): clean coding style.
3544 * registryd/desktop.c (spi_desktop_remove_application),
3545 (spi_desktop_add_application): kill re-enterency hazards.
3546 (spi_desktop_dispose): remove bogus redundant cast
3547 obscuring bug; fix bug too.
3548 (spi_desktop_init): make the desktop object immortal.
3550 2002-03-16 Bill Haneman <bill.haneman@sun.com>
3553 Added a #define-guarded tree-traversal step
3554 when enumerating the apps (diagnostic tool).
3556 2002-03-15 Bill Haneman <bill.haneman@sun.com>
3558 * idl/Accessibility_Role.idl:
3559 Added ROLE_DRAWING_AREA which seemed to be missing from the
3562 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3564 * cspi/spi-roletypes.h cspi/spi_accessible.c
3565 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
3568 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
3569 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
3570 AT when applications are added and removed from the desktop. This
3571 reverts the previous broken implementation using the backing
3572 AtkObject for the SpiDesktop.
3574 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3576 * registryd/desktop.c: emit the "children-changed::add" and
3577 "children-changed::remove" signals on the backing ATK object for
3578 the desktop so AT can tell when applications are started and shut
3581 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3583 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
3585 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3587 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
3589 * cspi/spi_accessible.c: Implemented c bindings for stateset support
3591 * cspi/state-types.h: synched with IDL and ATK
3593 2002-03-13 Bill Haneman <bill.haneman@sun.com>
3595 * libspi/accessible.c
3596 (impl_accessibility_accessible_get_child_at_index):
3597 Change return value for g_return_if_fail ()
3598 to CORBA_OBJECT_NIL instead of "0" (!)
3600 * registryd/Makefile.am:
3601 * registryd/Accessibility_Register.server.in:
3602 Changed name of executable, "registryd",
3603 to something more informative:
3606 2002-03-13 Michael Meeks <michael@ximian.com>
3608 * atk-bridge/bridge.c (atk_bridge_init): don't register
3609 if we're in a bonobo-component, rather than a bonobo app.
3611 2002-03-13 Michael Meeks <michael@ximian.com>
3613 * atk-bridge/bridge.c (gtk_module_init): split
3614 out body to (atk_bridge_init): here, since otherwise
3615 we get symbol conflicts and oddness when invoked
3616 from (gnome_accessibility_module_init): here (upd.)
3618 2002-03-11 Bill Haneman <bill.haneman@sun.com>
3621 New file. Explicitly allow "build sheriff" putbacks provided
3622 they are tested on Solaris.
3624 * docs/reference/cspi/Makefile.am:
3625 Added '-' to the "cp" command for index.sgml.
3626 ("patch by thomasvs, soon coming to a GUADEC near you")
3629 Incremented version number (0.9.0) for new release.
3630 Changed macro that checks for popt, to better detect
3631 obsolete versions of popt.
3634 Added X_LIBS to AC_SUBST, for applications
3635 that call Xlib API directly.
3638 2002-03-07 Bill Haneman <bill.haneman@sun.com>
3641 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
3644 Fix regression caused by hard-coding major
3645 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
3648 * test/test-simple.c (test_editable_text),
3649 (test_test): revert previous change (error was
3650 a regression in gail which is now fixed).
3652 2002-03-04 Michael Meeks <michael@ximian.com>
3654 * test/test-simple.c (test_editable_text),
3655 (test_text): pass G_MAXINT instead of '-1' for
3656 whole string - is this a good thing !?
3658 * cspi/spi_accessible.c
3659 (Accessible_getRelationSet): fix crasher bug
3660 overwriting the end of the array.
3662 * test/test-simple.c (validate_accessible): free,
3663 not g_free returned relation set.
3665 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
3667 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
3668 implemented stateset support
3670 * idl/Accessibility_State.idl: Made necessary changes to
3671 the IDL to support state sets.
3673 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3675 * registryd/deviceeventcontroller.c:
3676 Added implementation for generateMouseEvent.
3678 * cspi/spi_registry.c:
3679 Connected new implementation for generateMouseEvent
3682 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3685 Incremented revision (but no change in public API
3686 outside of 'utils', which are not installed public yet.)
3688 * libspi/component.c:
3689 Changed to use atk_component API for layers and
3690 mdi_zorder, instead of deprecated atk_object API.
3692 Magnification Utility Enhancements:
3695 Added implementation of createZoomRegion, clearAllZoomRegions,
3696 resizeZoomRegion. Added new commandline argument
3697 "--no-initial-region". Note that clearAllZoomRegions doesn't
3698 unmap the old '0' region as it should (yet), and the other
3699 methods only work when creating/resizing a single region,
3700 which is "region 0".
3701 (Code for multiple region support will be added later.)
3704 Now we raise the magnifier window each time it's refreshed;
3705 this will help keep it on top.
3707 * util/mag_client.h:
3708 Added simple wrappers for above, used by mag_control.
3709 For general use, it's recommended to use the bonobo magnifier
3710 control API directly instead of using these wrappers.
3713 Moved ZoomRegionData from magnifier.c to this file.
3715 * util/mag_control.c:
3716 Added some code to exercise new IDL implementations.
3718 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
3720 * libspi/text.c: Provide implementation for getAttributes.
3722 2002-02-04 Bill Haneman <bill.haneman@sun.com>
3725 Incremented revision.
3727 * test/test-simple.c:
3728 Replaced use of deprecated g_main_iteration with
3729 g_main_context_iteration.
3731 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
3734 Incremented revision for desktop alpha 2.
3736 2002-01-28 Mark McLoughlin <mark@skynet.ie>
3738 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
3741 * test/simple-at.c: include netinet/in.h.
3743 2002-01-24 Mark McLoughlin <mark@skynet.ie>
3745 * cspi/spi_accessible.c: (Accessible_getRelationSet):
3746 use NULL, not CORBA_OBJECT_NIL.
3748 * libspi/accessible.c:
3749 (impl_accessibility_accessible_get_relation_set):
3750 allocate the sequence correctly.
3752 * libspi/remoteobject.h: kill spi_remote_object_new.
3754 * test/test-simple.c: (validate_accessible): add code
3755 to test relation sets, now all we need is to figure
3756 out how to excercise this code path :/
3758 2002-01-18 Michael Meeks <michael@ximian.com>
3760 * test/test-simple.c
3761 (key_listener_cb): consume the key.
3762 (test_keylisteners): update.
3763 (main): wait for any pending unrefs on events.
3765 * registryd/deviceeventcontroller.c
3766 (spi_controller_update_key_grabs): only re-issue the
3767 grab on a key release.
3768 (spi_device_event_controller_forward_key_event):
3769 refresh the keygrabs before we notify the listeners,
3770 to reduce the X ungrab / re-grab race.
3771 (spi_controller_register_with_devices): remove
3772 XSelectInput - we do that with the gdk_window_ call.
3773 (_spi_controller_device_error_handler): return a value.
3774 s/GDK_DISPLAY/spi_get_display/
3776 2002-01-17 Michael Meeks <michael@ximian.com>
3778 * registryd/deviceeventcontroller.c
3779 (_deregister_keygrab): don't blow out the later
3782 * test/test-simple.c (test_keylisteners): do a
3783 more intelligent validation.
3785 2002-01-14 Michael Meeks <michael@ximian.com>
3787 * atk-bridge/bridge.c
3788 (gnome_accessibility_module_init),
3789 (gnome_accessibility_module_shutdown): impl.
3790 (gtk_module_init): protect vs. double inits.
3791 (add_signal_listener): impl.
3792 (spi_atk_bridge_state_event_listener): kill
3793 (deregister_application): split out of
3794 (spi_atk_bridge_exit_func): here.
3796 2002-01-18 Bill Haneman <bill.haneman@sun.com>
3799 Added caret tracking when using magnifier, and
3800 now use text bounds for focus tracking of text elements, rather than
3801 the component bounds - this is helpful for short text fields in long
3802 table cells, at high magnification.
3804 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3806 * registryd/deviceeventcontroller.c:
3807 Regression fix for keylistener de-registration; global keygrabs
3808 were not being released when deregisterKeystrokeListener was
3809 called in cspi, since
3810 Accessibility_DeviceEventController_deregisterKeystrokeListener
3811 was called with a zero-length keyset. That is because the cspi
3812 method, SPI_deregisterKeystrokeListener, does not take a keyset
3813 parameter but instead should remove all the key grabs held be a
3815 The code in impl_deregister_keystroke_listener was changed to copy
3816 the keylist from the listener instance previously registered with
3817 the DeviceEventController before releasing the grabs.
3819 * registryd/registry.c:
3820 * registryd/deviceeventcontroller.c:
3821 * libspi/spi-private.h:
3823 Changed spelling of "re-enterant" to "re-entrant" globally.
3825 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3827 * test/test-simple.c:
3828 Changed key listeners test - the test was slightly mis-using the
3829 (admittedly poorly documented) SPI_generateKeyboardEvent API.
3830 It now uses '=' as the key event listened to and generated,
3831 relying on a keysym match rather than assuming that keycode 33
3832 is always equal to keysym '!'.
3834 2002-01-15 Bill Haneman <bill.haneman@sun.com>
3837 Changed simple-at to use a specific keyset, rather than
3838 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
3839 manager, desktop, etc.
3841 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3843 * registryd/deviceeventcontroller.c:
3844 Replaced standard X error handler with a special handler that
3845 is non-fatal for failed keygrabs. This works around
3846 problems with keygrab clashes sometimes observed on
3848 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
3849 mouse handling code as yet).
3851 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3854 Incremented revision for desktop alpha release.
3857 Fixed a couple of the more glaring errors (still not
3860 2002-01-11 Michael Meeks <michael@ximian.com>
3862 * registryd/deviceeventcontroller.c
3863 (spi_device_event_controller_forward_key_event): kill
3864 XUngrabKey / XKeyGrab race.
3865 (spi_controller_grab_keyboard): rename to
3866 (spi_controller_update_key_grabs): this, and deal
3867 with incremental adding / removing grabs more
3869 (_register_keygrab): ensure we're not pending a remove.
3870 (spi_grab_mask_free): impl.
3871 (spi_controller_register_global_keygrabs): split out
3873 (handle_keygrab): impl.
3874 (_deregister_keygrab): impl.
3875 (spi_controller_deregister_global_keygrabs): impl.
3876 (spi_controller_update_key_grabs): re-issue the grab if
3877 we just recieved a notification.
3879 * test/test-simple.c (key_listener_cb): remove debug.
3881 * registryd/deviceeventcontroller.c
3882 (spi_controller_register_device_listener): after
3883 registering a global keygrab, actualy register it !
3884 don't wait for a timeout; doh !
3886 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3887 to make it more readable / manipulable.
3888 s/grabmask/grab_mask/ s/refcount/ref_count/
3889 s/keyval/key_val/ s/modmask/mod_mask
3891 2002-01-08 Michael Meeks <michael@ximian.com>
3893 * registryd/deviceeventcontroller.c
3894 (spi_controller_register_with_devices): use gdk calls to
3896 (global_filter_fn): implement the filter.
3897 (spi_device_event_controller_check_key_event): rename to
3898 (spi_device_event_controller_forward_key_event): this & upd.
3899 (spi_get_display): replace with GDK_DISPLAY.
3901 * registryd/deviceeventcontroller.c
3902 (spi_controller_deregister_device_listener): unroll into
3903 (impl_deregister_keystroke_listener): here to simplify.
3904 (spi_controller_register_global_keygrabs): split cut and
3905 paste (!) out into (_register_keygrab): here, shorter & sweeter.
3906 (spi_controller_deregister_device_listener): remove.
3907 (impl_register_mouse_listener): remove, no mouse listener
3908 support in at-spi-1.0
3910 * registryd/registry.c
3911 (_device_event_controller_hook): kill.
3912 (spi_registry_init): upd.
3914 * registryd/deviceeventcontroller.c
3915 (spi_device_event_controller_class_init): upd.
3916 (spi_check_key_event): merge into.
3917 (spi_device_event_controller_check_key_event):
3918 here and kill strange static ev init, don't leak
3919 the x_event - nor dynamicaly allocate it.
3921 * registryd/registry-main.c (main): re-direct
3922 timeout to remove strange vtable mess.
3924 * registryd/deviceeventcontroller.c
3925 (remove_listener_cb): impl.
3926 (spi_controller_deregister_device_listener):
3927 fix re-enterancy hazard.
3929 2002-01-07 Michael Meeks <michael@ximian.com>
3931 * registryd/deviceeventcontroller.c
3932 (spi_device_event_controller_new): upd.
3933 (impl_notify_listeners_sync): upd. debug.
3934 (spi_notify_keylisteners): fix re-enterancy hazards,
3935 prettify, remove O(n*n) iteration.
3936 (spi_controller_grab_keyboard): fix iteration.
3937 (spi_check_key_event): re-format to suit coding style.
3938 Clean all the warnings - we're warning free.
3940 * registryd/deviceeventcontroller.h:
3941 * registryd/registry.h: make mutualy referential with
3942 typesafe forward references instead of (!) void pointer
3945 2002-01-11 Michael Meeks <michael@ximian.com>
3947 * cspi/spi_accessible.c (role_names): add a role name
3948 to sync this array with the enum; and make the regression
3951 2002-01-10 Michael Meeks <michael@ximian.com>
3953 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
3954 allow expansion of enumeration & kill warning.
3956 * test/test-simple.c (key_listener_cb): impl.
3957 (test_keylisteners): impl.
3959 * cspi/spi-listener.h: make listener signatures const
3960 on the provided (const) events.
3962 * test/keysynth-demo.c: upd. to const events.
3964 * test/simple-at.c: ditto.
3966 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3969 Rev the version to 0.5 (the previous tarball was named 0.4,
3970 even though the micro number was 3), so we need to rev upwards
3971 again for beta2/"desktop-alpha"
3974 Checked in a demo script, which requires editing before use!
3975 Proceed with caution.
3978 Fixed typo in header which was redefining SPI_ACTION_CLASS.
3980 * cspi/spi_accessible.c:
3981 Add a couple of missing enum initializations, and fix some enum
3984 * cspi/spi_registry.c:
3985 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3987 * docs/reference/cspi/at-spi-cspi-sections.txt:
3988 Remove/fix a couple of broken document references.
3991 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
3992 as Alt-Control to listen for commands, since on some systems
3993 Control-Alt may already be grabbed.
3995 2002-01-10 Bill Haneman <bill.haneman@sun.com>
3998 Update version number to 0.4 for Beta2.
4000 * libspi/accessible.c, libspi/accessible.h:
4001 Expose spi_accessible_construct, to enable libgail-gnome
4002 construction from spi_accessible subtype.
4004 * utils/magnifier.c:
4005 Workaround for bug in some non-gnome-compliant window managers
4006 which made magnifier resize improperly.
4008 2002-01-09 Bill Haneman <bill.haneman@sun.com>
4010 * libspi/accessible.c: (spi_accessible_new) :
4011 Move the test for SPI_IS_REMOTE_OBJECT to
4012 spi_accessible_new_return, fixing a bug and compile time warning.
4014 2002-01-08 Michael Meeks <michael@ximian.com>
4016 * registryd/registry.c (parse_event_type): remove strndup.
4018 * libspi/Makefile.am (libspi_la_SOURCES): remove
4019 sources already included in the headers section.
4021 * libspi/util.c: add.
4023 * libspi/spi-private.h: add.
4025 * registryd/registry.c: update to moved list iterators.
4027 2002-01-05 Michael Meeks <michael@ximian.com>
4029 * test/simple-at.c (main): upd. auto-module set to atk-bridge
4031 * test/test-simple.c (main): ditto.
4033 2002-01-04 Michael Meeks <michael@ximian.com>
4035 * libspi/accessible.c (spi_accessible_new): remove 2nd,
4036 redundant construct.
4038 * registryd/registry.c
4039 (get_listener_list): impl.
4040 (impl_accessibility_registry_register_global_event_listener):
4041 re-impl. to simplify using ~, remove dodgy const cast off.
4042 (parse_event_type): constify.
4043 (impl_accessibility_registry_deregister_global_event_listener_all):
4044 re-write, more efficiency and simplicity, kill re-enterancy
4046 (compare_listener_corbaref, compare_corba_objects),
4047 (compare_listener_quarks): define out.
4048 (impl_accessibility_registry_deregister_global_event_listener):
4049 re-write for effiency, and nail re-enterancy hazard.
4050 (impl_accessibility_registry_get_desktop_list): impl.
4051 (re_enterant_list_delete_link): impl.
4052 (re_enterant_list_foreach): impl.
4053 (remove_listener_cb): impl.
4054 (_registry_notify_listeners): kill.
4055 (notify_listeners_cb): impl.
4057 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
4058 (SPI_getDesktopList): impl.
4060 * test/test-simple.c (test_desktop): test the methods.
4062 2002-01-03 Michael Meeks <michael@ximian.com>
4064 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
4065 keystrings since we free them
4066 (SPI_freeAccessibleKeySet): in here.
4068 * libspi/accessible.c (spi_accessible_new): kill warning,
4069 wonder what is going on with the constructor here.
4071 2002-03-01 Bill Haneman <bill.haneman@sun.com>
4073 * libspi/accessible.c (spi_accessible_new ()) :
4074 Added check to see if AtkObject is an SpiRemoteObject before
4075 creating an SpiAccessible.
4077 2002-05-01 Bill Haneman <bill.haneman@sun.com>
4079 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
4080 Enable keygrabs using the Control modifier, now that they are
4081 working properly (they were previously disabled).
4084 Change the command keygrab for this demo to "Control+Alt", so as
4085 to conflict with fewer other key commands on the system; this
4086 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
4088 Removed a pointlessly-chatty keylistener for unshifted keys
4089 (shifted keys are still reported).
4091 2002-02-01 Bill Haneman <bill.haneman@sun.com>
4093 * libspi/remoteobject.h:
4094 * libspi/remoteobject.c:
4095 Added definitions for special AtkObject subtype, required for
4096 support of remote components (specifically, used by BonoboControl
4097 accessibility implementation).
4099 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
4101 * cspi/spi.h: synched relation types with ATK
4103 * cspi/spi_accessible.c: Added implementations of
4104 AcccessibleRelation_* methods
4106 * idl/Accessibility_Relation.idl: added getRelationTypeName
4107 method. Synched known relation types with ATK. Allowed for
4108 relation type extension with the RELATION_EXTENDED type.
4110 * libspi/relation.c: Provided implementations for
4111 AccessibleRelation methods.
4113 2002-01-01 Bill Haneman <bill.haneman@sun.com>
4115 API tweaks for today's API 'freeze'.
4118 Added placeholder functions to allow future compatible expansion
4119 of the IDL interfaces.
4121 * idl/Accessibility_Registry.idl:
4122 Changed generateKeyEvent to generateKeyboardEvent. Changed
4123 signature of this method to accept an optional keystring in
4124 parameter (for complex text input synthesis) and changed use of
4125 simple 'boolean' parameter in registerKeystrokeListener to a
4126 struct, EventListenerMode.
4128 * cspi/spi_accessible.c:
4130 * cspi/spi_streamablecontent.c:
4131 Added references to AccessibleStreamableContent interface, and
4132 definition and implementation of AccessibleStreamableContent
4135 * cspi/spi_registry.c:
4137 Changed generateKeyEvent API to generateKeyboardEvent,
4138 taking a new (optional) keystring parameter to support complex
4143 Renamed directory (to better reflect its actual purpose, bridging
4144 from at-spi to ATK). The .so module is also now named
4147 * idl/Accessibility_Hypertext.idl:
4148 * libspi/accessible.c:
4149 * libspi/hypertext.h:
4150 * libspi/hypertext.c:
4151 Changed Accessibility_Hypertext to *not* derive from
4154 * cspi/spi_registry.c:
4155 Added list of legal event type names for 'window' events, which
4156 completes the registry event API.
4158 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
4160 * at-bridge/bridge.c: Added registration for separate
4161 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
4162 signals. If either of the first two parameters to the generic
4163 bridge signal handler are ints, they are passed on as event
4164 details. This allows an AT to determine what text was inserted.
4166 2001-12-21 Bill Haneman <bill.haneman@sun.com>
4168 * registryd/deviceeventcontroller.c:
4169 Fixed regressions in generateKeyEvent caused by the removal of
4170 gdk_init from registryd; we now use pure X calls to connect to the
4171 display, which makes sense because deviceeventcontroller already
4172 uses a fair bit of X API (should eventually be migrated to a
4173 'portability layer').
4175 * registryd/desktop.c:
4176 Fixed minor regression in spi_desktop_init, changed the way the
4177 desktop name is being set to work with new spi_base API
4178 (gobject-based, rather than AtkObject-based).
4180 * registryd/Makefile.am:
4181 Minor revision of makefile to use XTST_LIBS variable rather than
4182 hard-wiring the Xtst LD_ADD element.
4184 * test/keysynth-demo.c:
4185 Tweaked an output message; added initialization of the
4186 'keystrings' member of the "switch listener" key_set.
4188 * libspi/relation.c:
4189 Squashed compile-time warning.
4191 * libspi/accessible.c:
4192 Cosmetic and formatting fixes, renamed a static method.
4194 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
4196 * libspi/accessible.c
4198 * libspi/application.c
4201 * libspi/component.c
4202 * libspi/editabletext.c
4203 * libspi/hyperlink.c
4204 * libspi/hypertext.c
4206 * libspi/selection.c
4210 * registryd/desktop.c:
4211 Changed SpiBase to contain a GObject pointer rather than an AtkObject
4213 2001-12-17 Bill Haneman <bill.haneman@sun.com>
4215 * idl/Accessibility_Registry.idl:
4216 Added boolean member 'is_text' to DeviceEvent. This is for the
4217 use of key events, and helps prevent ambiguity between composed
4218 key strings and keysym names, since both may potentially be
4219 returned in the 'event_string' member.
4221 * at-bridge/bridge.c:
4222 * registryd/deviceeventcontroller.c:
4223 Use the 'is_text' member when notifying device event listeners.
4224 Knon issue: composed characters are not dealt with correctly by
4225 the global key listener implementation yet.
4227 2001-12-17 Bill Haneman <bill.haneman@sun.com>
4229 * at-bridge/bridge.c:
4230 Namespaced local static methods to spi_atk_bridge_* where
4231 previously named bridge_*, and spi_* elsewhere.
4233 * at-bridge/bridge.c:
4234 * cspi/bonobo/cspi-bonobo-listener.c:
4235 Added demarshalling/conversion for string member of
4236 Accessibility_DeviceEvent to AccessibleKeystroke.
4238 * registryd/deviceeventcontroller.c:
4239 Added code to fill the Accessibility_DeviceEvent key string value
4240 member for global key events (i.e. from XGrabKey), to match
4241 behavior of Accessibility_DeviceEvent from the toolkit key events
4242 from the bridge. Fixed timestamp in global key event notifications.
4245 Added printout of key event's string value to
4246 report_ordinary_key_event, for demo/debugging purposes.
4248 2001-12-15 Bill Haneman <bill.haneman@sun.com>
4250 * idl/Accessibility_Registry.idl:
4251 Removed Accessibility_KeyStroke structure in favor of generic
4252 Accessibility_DeviceEvent structure.
4253 Changed Accessibility_ControllerEventMask from a struct to an
4256 * at-bridge/bridge.c:
4257 Changed APIs to use DeviceEvent structure as above, and removed
4258 bogus casting between these event structures.
4260 * cspi/spi-listener.h:
4261 Added keystring member of AccessibleKeystroke structure, to enable
4262 matching on event "names" rather than only hardware codes and
4266 Added keystrings member of AccessibleKeySet struct, to allow
4267 matching on event names (as above).
4268 Added declarations for SPI_createAccessibleKeySet and
4269 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
4270 event modmasks directly as unsigned ints rather than structs with
4271 refcounts, in the DeviceEventController methods.
4273 * cspi/spi_registry.c:
4274 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
4276 * cspi/spi-roletypes.h:
4277 Added documentation of newly added SPI Roles.
4279 * cspi/bonobo/cspi-bonobo-listener.c:
4280 Changes in support of API changes above.
4282 * libspi/accessible.c:
4283 Converted APIs to use DeviceEvent structure (see IDL changes
4286 * registryd/deviceeventcontroller.c:
4287 Added DEControllerGrabMask structure to track keygrabs not only by
4288 modmask but by keyset as well; this allows us to do "global"
4289 (i.e. X) keygrabs on a per-key or keyset basis rather than always
4290 grabbing on AnyKey and then filtering after-the-fact.
4291 Bugfixes for event filtration mean that we don't get false matches
4292 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
4294 * registryd/deviceeventcontroller.c:
4295 Namespaced a number of static methods to use spi_ prefix. Major
4296 revision to internals of global (i.e. X) key grabs.
4298 * registryd/deviceeventcontroller.h:
4299 Removed keymask_list and added keygrabs_list to
4300 SpiDeviceEventController struct.
4303 Added use of SPI_createAccessibleKeySet API when creating a
4304 listener for only one key. Attach a listener to "shift spacebar
4305 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
4306 X key event names to SPI key event names, so that listeners are
4307 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
4309 * test/keysynth-demo.c:
4310 Changed (incorrect) use of X key event names (KeyPressed,
4311 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
4314 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4316 * libspi/accessible.c:
4317 Convert all AtkRole enumerations to Accessibility_Role enums when
4318 getting a role from an AtkObject.
4320 * cspi/spi_accessible.c:
4321 Complete the conversion of Accessibility_Role enums at runtime to
4322 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
4323 role enums correctly match those given in spi-roletypes.h.
4324 Re-synchronize the local names list for AccessibleRole_getName ().
4325 AccessibleRole_getName is now deprecated, since it duplicates the
4326 more reliable Accessible_getRoleName.
4327 Added some role types from Accessibility_Role.idl.
4329 * idl/Accessibility_Role.idl:
4330 Added some role types used by AtkRole.
4332 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4335 * cspi/spi_registry.c:
4337 * cspi/cspi-bonobo-listener.c:
4338 Namespaced all methods that did not begin with an "SPI_" or
4339 "Accessible" prefix to "SPI_".
4342 Homogenized internal function namespace to "cspi_" for statics.
4345 Patched tests to use the new CSPI API.
4347 * docs/reference/cspi/at-spi-cspi-sections.txt:
4348 Updated docs to reflect namespace changes, and added a number of
4349 methods to the documentation.
4351 * registryd/registry.c:
4352 Changed use of strings and string hashes in listener event
4353 matching and parse_event_string to use GQuark, which is guaranteed
4356 * registryd/registry.h:
4357 Squashed annoying warning.
4359 * idl/Accessibility_Role.idl:
4360 Extended range of available Accessibility_Role values.
4362 * cspi/spi_accessible.c:
4363 Re-ordered role names.
4365 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4367 * idl/Accessibility_Value.idl:
4368 Revert use of union back to CORBA_double, since the double type is
4369 more efficient and can contain the other types without loss of
4372 * idl/Accessibility_Accessible.idl:
4373 Added method Accessibility:Accessible:getRoleName, to complement
4374 Accessibility:Accessible:getRole.
4376 * cspi/spi_accessible.c:
4378 Added C binding for above, Accessible_getRoleName (), and changed
4379 signature of Accessible_getRole () to return an AccessibleRole.
4381 * cspi/spi-roletypes.h:
4382 Changed AccessibleRole_getName to return a char * instead of a
4383 const char *. This method is now at least temporarily deprecated
4384 in favor of asking Accessibles for their RoleNames directly.
4387 Revert to match Accessibility_Value.idl;
4391 Change signature of AccessibleValue methods to use double rather
4395 * cspi/spi_accessible.c:
4396 Changed Accessible_getRole to return an AccessibleRole enum rather
4397 than a UTF-8 string. The UTF-8 string can still be obtained via
4398 AccessibleRole_getName ().
4400 * test/test-simple.c:
4401 Add test_action. Small fixup to match API change to Accessible_getRole.
4404 Bugfix for get_action_from_servant ().
4406 2001-12-11 Michael Meeks <michael@ximian.com>
4408 * libspi/libspi.h: remove registry.h and
4409 desktop.h, deviceeventcontroller.h
4411 * libspi/Makefile.am: remove registry.[ch],
4412 desktop.[ch], deviceeventcontroller.[ch]
4414 * registryd/Makefile.am: add registry.[ch],
4415 desktop.[ch], rename registryd.c to registry-main.c.
4416 add deviceeventcontroller.[ch]
4418 2001-12-11 Bill Haneman <bill.haneman@sun.com>
4421 Replace setenv() call with putenv ().
4423 * libspi/component.c:
4424 Bugfix in AccessibleComponent_getExtents (),
4427 2001-12-11 Michael Meeks <michael@ximian.com>
4429 * libspi/image.c (impl_getImageExtents): impl.
4430 (spi_image_class_init): upd.
4433 (AccessibleImage_getImageDescription): fix daft bug
4436 * test/test-simple.c (global_listener_cb): update
4437 to only quit if not --poke
4438 (main): catch --poke.
4439 (validate_accessible): upd. dumping, call test_image
4442 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
4445 * idl/Accessibility.idl: update all IDL includes.
4447 * idl/*.idl - rename to namespace - this sucks, blame
4448 mjs' bad decision for oafd.
4450 * test/test-simple.c (create_test_window): add more tests.
4451 (create_tree): split this out.
4452 (validate_accessible): bugfix.
4454 2001-12-11 Michael Meeks <michael@ximian.com>
4456 * cspi/bonobo/cspi-bonobo-listener.c:
4457 (cspi_kestroke_listener_unref),
4458 (cspi_event_listener_unref): impl. undoing previous
4459 homenous environment - for Bill.
4461 * cspi/spi_table.c (long_seq_to_array): use
4464 * cspi/spi_main.c: split out all bonoboish bits into
4467 * cspi/spi-impl.h: upd. typedefs.
4469 * cspi/spi_registry.c: update to lowlevel API,
4470 return booleans to indicate success in some places.
4472 * cspi/spi_event.c: update to lowlevel API.
4474 * cspi/bonobo/Makefile.am: add.
4476 * cspi/bonobo/cspi-lowlevel.h: add
4478 * cspi/bonobo/cspi-bonobo.c: add
4480 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
4482 * cspi/Makefile.am: remove spi-listener-impl.[ch],
4483 (SUBDIRS): add bonobo, link in the libs.
4485 * cspi/spi-util.c: kill this file.
4487 * TODO: merge in my bits.
4489 2001-12-11 Michael Meeks <michael@ximian.com>
4491 * test/test-simple.c (test_value, test_table, main):
4492 remove unused variables causing warnings.
4494 * configure.in: cleanup checks - require gail.
4496 2001-12-11 Bill Haneman <bill.haneman@sun.com>
4499 Changed Value interface to use SValue (scalars) rather than
4500 assuming all values are floats. This allows floats, doubles,
4501 longs, shorts, and unsigned values to be manipulated.
4502 Introduced Accessibility:SValue union.
4505 Updated to use new API above, and to work correctly with GValues
4506 of different types in AtkValue.
4509 Updated to use new API above. cspi's API is as yet unchanged.
4512 Updated the Value revision action item.
4514 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4516 * test/test-simple.c:
4517 Added test_table (GtkTreeView widget in test window to follow).
4518 Un-commented test_value, added GtkRange widget.
4519 Added GtkTreeView widget with GtkListStore. It passes regression
4520 test but leaks one SPI object for some reason.
4523 Fixed bug in impl__set_currentValue.
4525 2001-12-10 Michael Meeks <michael@ximian.com>
4527 * cspi/spi_text.c: audit for exception handling,
4528 tolerating NULL object references safely etc.
4530 * cspi/spi_value.c: ditto.
4532 * cspi/spi_table.c (AccessibleTable_getSummary),
4533 (AccessibleTable_getAccessibleAt),
4534 (AccessibleTable_getRowHeader),
4535 (AccessibleTable_getColumnHeader),
4536 (AccessibleTable_getCaption): fix bugs hidden by
4538 (long_seq_to_array): impl.
4539 (AccessibleTable_getSelectedRows),
4540 (AccessibleTable_getSelectedColumns): use it.
4542 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4545 Added a TODO list (rough and short for now).
4547 * cspi/spi_hyperlink.c:
4548 * cspi/spi_hypertext.c:
4549 Fixed macro name typos, and remove use of obsolete macro in
4550 AccessibleHyperlink_getLink.
4552 * cspi/spi_action.c:
4553 * cspi/spi_accessible.c:
4554 * cspi/spi_application.c:
4555 * cspi/spi_component.c:
4556 * cspi/spi_selection.c:
4559 Documentation fixes (removed return values from ref/unref methods).
4561 2001-12-10 Michael Meeks <michael@ximian.com>
4563 * cspi/spi_action.c: audit for exception handling,
4564 tolerating NULL object references safely etc.
4566 * cspi/spi_accessible.c: ditto.
4568 * cspi/spi_component.c: ditto.
4570 * cspi/spi_editabletext.c: ditto.
4572 * cspi/spi_hyperlink.c: ditto.
4574 * cspi/spi_hypertext.c: ditto.
4576 * cspi/spi_image.c: ditto.
4578 * cspi/spi_selection.c: ditto.
4580 2001-12-10 Michael Meeks <michael@ximian.com>
4582 * configure.in: use cspi/libspi.pc.in instead.
4584 * Makefile.am (pkgconfig_DATA): upd. to match.
4586 * test/simple-at.c (report_focus_event): kill hacks around
4587 bad return values, use putenv not setenv
4589 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
4590 fire ChildGone - I killed it.
4592 * libspi/component.c
4593 (impl_accessibility_component_get_extents): remove
4596 * idl/Accessible.idl: kill ChildGone exception.
4598 * cspi/*.[ch]: kill int return from ref / unref.
4600 * cspi/spi_main.c (cspi_object_add_check): fold into
4601 (cspi_object_add): here.
4603 * cspi/spi_component.c (AccessibleComponent_getExtents):
4604 handle exceptions elegantly.
4606 * cspi/spi-private.h (cspi_check_ev_return),
4607 (cspi_return_if_fail): impl.
4609 * cspi/spi_accessible.c: use extensively.
4610 (AccessibleStateSet_equals): add direct compare check.
4612 * cspi/spi_selection.c: tolerate NULL objs, and check
4613 exceptions before return.
4615 * cspi/spi-util.c (cspi_warn_ev): rename to
4616 (cspi_check_ev): this & don't pass ev in; no point.
4618 2001-12-10 Michael Meeks <michael@ximian.com>
4620 * test/test-simple.c: use putenv not setenv
4621 (get_environment_vars): more chatty if you're not using
4624 * test/simple-at.c: do the setenv so more people see the
4627 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4629 * libspi/registry.c:
4630 Changed check of CORBA_environment on notification to be a warning
4631 instead of an error for the moment, since we can recover from this
4632 error when caused by a queued notification from a dead app.
4635 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
4636 used by all current implementors of AtkValue), and coerce to
4637 CORBA_float. (Proper general case fix may require change to Value.idl).
4639 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4643 * cspi/spi_accessible.c:
4644 Documentation fixes: added user_data params to documentation for
4645 listeners and callbacks.
4647 * cspi/spi_accessible.c:
4648 Changed AccessibleStateSet_compare to return a
4649 StateSet rather than return the difference set into a third parameter.
4652 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4655 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
4656 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
4660 Remove subdirectory po from SUBDIRS for now.
4662 * at-bridge/bridge.c:
4663 Beefed up a couple of debug printouts.
4664 One-line fix for signal notification name formatting.
4666 * libspi/accessible.c:
4667 Added assertion to spi_accessible_new ().
4669 * libspi/application.c:
4670 Put #ifdef qualifiers around a printf.
4673 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
4675 * registryd/Makefile.am:
4677 Replaces use of XML_I18N_MERGE_SERVER_RULE with
4678 INTLTOOL_SERVER_RULE macro.
4681 Added an event listener for several ATK signals, for
4682 testing and debugging. Removed a few g_warnings.
4683 Added test output if focussed item implements the Value interface.
4685 * test/test-simple.c:
4686 Added test_value () function (known not to pass at the moment, so
4687 not actually called yet.
4689 2001-12-08 Michael Meeks <michael@ximian.com>
4691 * at-bridge/bridge.c (bridge_focus_tracker),
4692 (emit_eventv): fix the same ref. leak.
4693 (register_atk_event_listeners): don't leak.
4695 * cspi/spi-listener-impl.c (cspi_event): more
4696 protection from client code.
4698 * test/test-simple.c (test_desktop): unref the app.
4700 * test/Makefile.am: upd. TESTS.
4702 * at-bridge/bridge.c (bridge_exit_func): release the registry.
4704 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
4706 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
4708 * cspi/spi_registry.c: constify in strings.
4709 (deregisterGlobalEventListenerAll): don't release the ref.
4711 * cspi/spi.h: start removing redundant / conflicting
4712 gtkdoc comments, making the API readable at a glance :-)
4714 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
4716 * test/keysynth-demo.c (keysynth_exit, main): upd.
4718 * test/simple-at.c (main, simple_at_exit): upd.
4720 * test/test-simple.c (unutterable_horror): kill.
4721 (utterable_normal_derefs): kill.
4722 (main): upd & do a setenv before gtk_init, so that we
4723 can use memprof - and to save the pain of remembering
4724 this, if we're running under memprof - don't exit.
4726 * cspi/spi_main.c (SPI_exit): return exit status
4728 (SPI_event_quit): impl.
4729 (SPI_event_main): simplify.
4730 (cspi_is_gnome_app): kill.
4731 (SPI_init): kill isGNOMEapp arg.
4733 * at-bridge/bridge.c (register_atk_event_listeners):
4734 re-instate the unref.
4735 (bridge_exit_func): don't re-activate the registry,
4736 protect vs. theoretical re-entry, use the
4737 AT_BRIDGE_SHUTDOWN env. var to determine whether to
4738 assert a clean shutdown - for regression tests.
4740 2001-12-08 Abel Cheung <maddog@linux.org.hk>
4742 * configure.in: Comment out dummy i18n support for now,
4743 otherwise it fails to build.
4744 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
4745 EXTRA_DIST. They are missing in tarball.
4747 2001-12-07 Michael Meeks <michael@ximian.com>
4749 * util/magnifier.c: kill bonobo activation reg. race.
4751 * libspi/component.c
4752 (impl_accessibility_component_get_extents): make it match
4755 * libspi/registry.c (_registry_notify_listeners):
4756 re-remove X headers & reconcile conflicts.
4757 (spi_listener_struct_free): bad conflict resolve.
4758 (impl_accessibility_registry_register_application):
4759 more bad merging fixed.
4760 (impl_accessibility_registry_deregister_application): ditto.
4761 (spi_registry_new): ditto.
4762 (spi_registry_init): don't have an applications field.
4764 [ merge fixups2 branch to here ]
4765 2001-12-07 Michael Meeks <michael@ximian.com>
4767 * test/simple-at.c (report_focus_event),
4768 (report_focussed_accessible): remove g_warning debug.
4770 2001-12-07 Michael Meeks <michael@ximian.com>
4772 * test/test-simple.c (validate_tree): comment out some checks.
4773 (test_desktop): app now not registered idly - horay.
4775 2001-12-07 Michael Meeks <michael@ximian.com>
4777 * cspi/spi_registry.c
4778 (registerAccessibleKeystrokeListener): clean, stop it leaking
4779 great swathes of memory, and device event controller references.
4780 ensure we always pass valid sequences.
4781 (deregisterAccessibleKeystrokeListener): ditto.
4782 (generateKeyEvent): upd.
4784 * at-bridge/bridge.c (bridge_key_listener): handle
4785 registry dead exception gracefully.
4786 (bridge_focus_tracker, emit_eventv): free ev.
4788 * test/simple-at.c (report_focus_event): fix polarity.
4790 * libspi/application.c (notify_listeners): kill the ev
4791 argument, and make sure we init the ev we use.
4792 (spi_application_object_event_listener): split out a chunk
4793 (get_atk_object_ref): here & fixup.
4794 (reverse_lookup_name_for_toolkit_event): make const.
4795 (spi_application_toolkit_event_listener): fixup, kill leaks
4798 * at-bridge/bridge.c (register_atk_event_listeners):
4799 don't unref the noop object - causes grief.
4801 * libspi/registry.c: remove the X headers.
4802 turn off the debug churn.
4804 * libspi/accessible.c (spi_accessible_new_return): only
4805 release the ref if we are supposed to [doh]
4807 * test/simple-at.c (report_button_press, report_focus_event):
4808 guard vs. unexpected exit.
4810 * at-bridge/bridge.c (gtk_module_init): prune printf.
4811 (bridge_exit_func): fix app unref.
4813 * libspi/Makefile.am: don't install registry or desktop.h
4815 * libspi/*.h: update includes.
4817 * libspi/application.h: don't include ourself, or
4818 other redundant headers.
4820 2001-12-06 Michael Meeks <michael@ximian.com>
4822 * libspi/accessible.c
4823 (get_accessible_from_servant): impl.
4824 Upd. all CORBA impl.s to use it killing cut and paste.
4826 * cspi/spi_main.c (cspi_cleanup): guard vs. double
4828 (SPI_init): register atexit cleanup handler here.
4830 2001-12-06 Michael Meeks <michael@ximian.com>
4832 * at-bridge/bridge.c (gtk_module_init): g_error on
4833 activation exception
4835 2001-12-06 Michael Meeks <michael@ximian.com>
4837 * at-bridge/bridge.c (gtk_module_init): some sort of
4838 confusing merge clash - reverted.
4839 (bridge_idle_init): ditto.
4841 * test/test-simple.c (main, utterable_normal_derefs):
4842 merge from Bill - somehow not committed.
4844 2001-12-06 Michael Meeks <michael@ximian.com>
4846 * libspi/value.c (spi_value_class_init): upd.
4847 (spi_value_finalize): kill.
4849 * libspi/table.c (spi_table_finalize): kill.
4850 (spi_table_interface_new): upd.
4851 (spi_table_class_init): upd.
4852 (get_table_from_servant): impl.
4853 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4855 * libspi/selection.c (spi_selection_finalize): kill.
4856 (spi_selection_interface_new): upd.
4857 (spi_selection_class_init): upd.
4858 (get_selection_from_servant): impl.
4859 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4861 * libspi/relation.c (spi_relation_finalize): kill.
4862 (spi_relation_class_init, spi_relation_new): upd
4864 * libspi/image.c (spi_image_finalize): kill.
4865 (spi_image_class_init): upd.
4866 (spi_image_interface_new): upd.
4867 (get_image_from_servant): impl.
4868 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4870 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
4871 (spi_hyperlink_finalize): kill.
4872 (spi_hyperlink_new): upd.
4873 (get_hyperlink_from_servant): impl.
4874 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4876 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
4877 (spi_hypertext_finalize): kill.
4878 (spi_hypertext_class_init): upd.
4879 (get_hypertext_from_servant): impl.
4880 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4882 * libspi/editabletext.c (spi_editable_text_finalize): kill.
4883 (spi_editable_text_interface_new): upd.
4884 (get_editable_text_from_servant): impl.
4885 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4887 * libspi/text.c (get_text_from_servant): impl.
4888 All impls - update to use it killing more cut and paste,
4889 also fix bad string returns on duff args ( a somewhat
4890 impossible case to handle - but hey ).
4891 (spi_text_construct): impl.
4892 (spi_text_interface_new): upd.
4893 (spi_text_object_finalize): kill.
4895 * libspi/component.c
4896 (accessibility_component_object_finalize): kill.
4897 (spi_component_class_init): upd.
4898 (get_component_from_servant): impl. helper to kill cut & paste.
4899 (impl_accessibility_component_contains):
4900 (impl_accessibility_component_get_accessible_at_point):
4901 (impl_accessibility_component_get_position):
4902 (impl_accessibility_component_get_extents):
4903 (impl_accessibility_component_get_mdi_z_order):
4904 (impl_accessibility_component_get_layer):
4905 (spi_component_interface_new): upd.
4907 * libspi/action.c (spi_action_finalize): kill.
4908 (spi_action_class_init): upd. inherit from SpiObject.
4909 (spi_action_interface_new): upd.
4910 (get_action_from_servant): impl. helper to reduce cut & paste.
4911 (impl_getKeyBinding, impl_getName, impl_doAction),
4912 (impl_getDescription): Use it everywhere.
4914 * cspi/spi_main.c (get_live_refs): a pointer hash.
4915 (spi_object_hash, spi_object_equal): comment out.
4916 There are issues with CORBA object hashing that need
4919 * libspi/application.c (spi_application_init),
4920 (spi_application_new): upd.
4922 * libspi/accessible.c (spi_accessible_object_finalize): kill.
4923 (spi_accessible_class_init): upd.
4924 s/accessible/object/ in epv methods.
4926 2001-12-05 Bill Haneman <bill.haneman@sun.com>
4928 * at-bridge/bridge.c:
4929 Reorder the bridge initialization into the bridge gtk_module_init,
4930 an immediate call to bridge_register_app, and an idle_add for
4931 register_atk_event_listeners (the only code that *must* wait until
4932 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4933 the activation, creates the application's Accessible object, and
4934 queues the bridge_idle_init function. Restored call to
4935 Accessibility_Registry_deregisterApplication().
4936 Prior to making this call we obtain a new reference to the
4937 registry, which is a temporary hack that helps us handle apps that
4938 shut down the bonobo mainloop before we get there.
4940 * libspi/registry.c:
4941 Fix string leakage in debug block, and don't segv if a an app
4942 dies before its event notifications have been propagated.
4945 Modify cspi_check_ev() to call g_warning() rather than g_error(),
4946 as stopgap measure until we get proper exception handling when
4947 objects die during or before interrogation.
4951 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4952 Also changed default value of is_gnome_app to TRUE.
4955 * test/keysynth-demo.c:
4956 Changed use of SPI_init and SPI_event_main to reflect API change above.
4959 Made report_focus_event check the warning value from getName
4960 before reporting on focussed accessible; simplifies handling of
4961 notifications from dead objects.
4963 * test/test-simple.c: (Changes not in this patch since source is
4966 2001-12-05 Michael Meeks <michael@ximian.com>
4968 * registryd/registryd.c (main): protect against
4969 bonobo-activation startup race condition.
4971 * cspi/spi_main.c (cspi_object_add_check): cope
4972 with the exception elegantly.
4974 * idl/Accessible.idl: decl. ChildGone
4976 * libspi/desktop.c (spi_desktop_dispose): impl.
4977 (spi_desktop_class_init): upd.
4978 (spi_desktop_add_application),
4979 (spi_desktop_remove_application),
4980 (abnormal_application_termination): impl.
4981 (impl_desktop_get_child_at_index): re-impl.
4984 (impl_accessibility_registry_deregister_application),
4985 (impl_accessibility_registry_register_application):
4986 kill excessive debug clutter.
4988 * test/test-simple.c (test_misc): test some NULL
4989 tolerance. (main): upd.
4991 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4992 implements no interfaces - so let's not crash.
4994 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4996 * libspi/accessible.c (spi_accessible_new_return): impl.
4997 helper to calm the cut and paste, to cope with
4998 NULL AtkObjects effectively and efficiently, and to kill
4999 the referencing bugs.
5001 * libspi/table.c (impl_getAccessibleAt),
5002 (impl_getRowHeader, impl_getColumnHeader): upd.
5004 * libspi/hyperlink.c (impl_getObject): upd.
5006 * libspi/accessible.c
5007 (impl_accessibility_accessible_get_child_at_index): upd.
5009 * libspi/component.c
5010 (impl_accessibility_component_get_accessible_at_point): upd.
5012 * test/test-simple.c (test_editable_text, test_text): impl.
5015 * cspi/spi_editabletext.c
5016 (AccessibleEditableText_insertText): constify.
5018 * test/test-simple.c (focus_me): make more robust.
5020 * libspi/accessible.c: remove some printfs in methods that
5021 we test and work fine, so we can get a clean tree dump.
5023 * test/test-simple.c (validate_accessible),
5024 (validate_tree): make tree dumping pretty too.
5026 * at-bridge/bridge.c (bridge_signal_listener): upd. so
5027 it builds without debug on.
5029 * test/test-simple.c (validate_accessible): fix the most
5032 * cspi/spi_main.c (spi_object_release): leave the nicely
5033 blanked memory around if in debug mode.
5035 * cspi/spi-listener-impl.c (cspi_event): use add_check.
5037 [committed to fixups2]
5038 2001-12-05 Michael Meeks <michael@ximian.com>
5040 * libspi/editabletext.c
5041 (spi_editable_text_class_init): g_type_class_peek_parent,
5042 not interface peek - so we finalize cleanly.
5044 * libspi/accessible.c (spi_accessible_new): kill debug.
5046 * test/test-simple.c (validate_accessible): fix ref.
5047 leak, print strings before freeing them; sigh, comment a
5048 chunk out due to strangeness.
5049 (validate_tree): unref the child after use.
5051 * cspi/spi_component.c (AccessibleComponent_getLayer):
5052 add missing break statement, switch on zlayer not the
5053 uninitialized retval.
5055 * cspi/spi_main.c (cspi_object_add): add assert, local ref
5056 before (possibly re-entering) remote unref.
5058 * test/simple-at.c (main): unref the desktop.
5060 * cspi/spi_accessible.c (cspi_accessible_is_a): move
5063 * cspi/spi_main.c (cspi_accessible_is_a): here to
5064 isolate bonobo API usage more.
5066 * libspi/registry.c (impl_accessibility_registry_register_application):
5067 prune bogus comment.
5069 2001-12-04 Michael Meeks <michael@ximian.com>
5071 * test/test-simple.c (validate_tree): upd.
5072 IndexInParent check to make it more lucid.
5073 (validate_accessible): dump the tree.
5075 * libspi/accessible.c (de_register_public_ref),
5076 (get_public_refs): impl.
5077 (spi_accessible_new): make more efficient & intuitive.
5078 Now IndexInParent check works.
5080 2001-12-04 Michael Meeks <michael@ximian.com>
5082 * cspi/spi-util.h: remove.
5084 * cspi/spi.h: move SPI_freeString here
5086 * libspi/component.c (impl_accessibility_component_get_layer):
5088 (impl_accessibility_component_get_mdi_z_order): ditto,
5089 return -1 on error - is this ok ?
5091 * test/test-simple.c (test_application): impl.
5093 * cspi/spi_accessible.c (Accessible_getApplication),
5094 (Accessible_isApplication): impl.
5096 * libspi/registry.c (spi_listener_struct_free): release
5097 the CORBA reference too.
5099 * libspi/accessible.c
5100 (impl_accessibility_accessible_get_parent): fix ref leak.
5102 * libspi/registry.c (spi_registry_new): make the registry
5103 immortal - we don't want it to go away ever.
5105 * libspi/application.c
5106 (spi_accessible_application_finalize): impl. cleanup.
5108 * cspi/spi_registry.c
5109 (deregisterGlobalEventListenerAll),
5110 (deregisterGlobalEventListener),
5111 (deregisterAccessibleKeystrokeListener): fix ref leak.
5113 * cspi/spi_main.c (SPI_init): remove redundant ref.
5115 * test/test-simple.c (unutterable_horror): impl. to force a
5120 (impl_accessibility_registry_deregister_application): release
5121 the application when we de-register it.
5123 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
5124 until we have the infastructure to get it right.
5126 2001-12-03 Michael Meeks <michael@ximian.com>
5128 * libspi/Makefile.am: only build eventlistener.[ch]
5130 * libspi/accessible.c
5131 (impl_accessibility_accessible_get_child_at_index): don't leak.
5133 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
5134 before we hit the idle handler.
5136 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
5137 debugging than exit.
5139 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
5141 * libspi/listener.c (impl_notify_event): check source
5142 not NIL before unref.
5144 * libspi/registry.c (impl_registry_notify_event): ditto.
5146 * libspi/eventlistener.c
5147 (impl_accessible_event_notify_event): unref the source.
5149 * libspi/accessibleeventlistener.c
5150 (impl_accessible_event_notify_event): unref the source.
5152 * idl/Event.idl: remove 'hash_id' attribute - of no
5155 * libspi/application.c (notify_listeners): upd list
5157 (spi_application_object_event_listener),
5158 (spi_application_toolkit_event_listener): upd to do correct
5162 (_registry_notify_listeners): update.
5163 (parse_event_type): this method also leaks like a sieve.
5164 (impl_accessibility_registry_deregister_global_event_listener):
5165 fix ETYPE_WINDOW case.
5167 * libspi/application.c
5168 (impl_accessibility_application_register_object_event_listener):
5171 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
5173 * libspi/hypertext.c (impl_getLink): ditto.
5175 * cspi/spi_main.c (cspi_object_add): remove
5176 bogus CORBA_Object_duplicate.
5178 * cspi/spi-listener-impl.c (cspi_event): dup/ref
5181 * cspi/spi_accessible.c
5182 (Accessible_getRelationSet): fix leak / referencing issue.
5184 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
5185 (cspi_object_add, cspi_object_unref): upd.
5186 (spi_object_release, get_live_refs): impl.
5187 (cspi_cleanup): simplify.
5189 * *.[ch]: s/boolean/SpiBoolean/
5191 * cspi/spi_accessible.c (role_names): actualy order so it
5192 corresponds with the enum !
5194 * test/test-simple.c (test_roles): check some role strings
5195 vs. enums to detect offset errors.
5197 2001-12-01 Michael Meeks <michael@ximian.com>
5199 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
5201 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
5203 (Accessible_getChildAtIndex): use cspi_add_check so we
5204 check the ev before using a (possibly) invalid value.
5206 * libspi/accessible.c
5207 (impl_accessibility_accessible_get_parent): don't segv
5210 * at-bridge/bridge.c (gtk_module_init): upd.
5211 (bridge_property_event_listener): don't leak strings
5213 (bridge_state_event_listener),
5214 (bridge_property_event_listener): don't use a static
5215 buffer in case of recursive event emission &
5216 re-enterancy - split out the swathe of cut and paste
5218 (emit_eventv): and fix 2 ref leaks here & comply to the
5220 (bridge_register_app): rename to
5221 (bridge_idle_init): this and kill arg parsing, split
5222 various inits & bonobo-activation registration to module
5223 init time, kill referencing error.
5224 (bridge_exit_func): fix the same leak.
5225 (bridge_focus_tracker): don't leak event structures
5227 (bridge_signal_listener): more leakage and cut & paste
5229 (bridge_key_listener): return the result - FIXME is
5230 this polarity correct ?
5231 (accessibility_keystroke_from_atk_key_event): rename
5232 (accessibility_init_keystroke_from_atk_key_event): and stop
5234 (gtk_module_init): return a value - not that it is checked by
5236 (bridge_key_listener): register my horror at casting between
5237 IDL defined structs.
5238 (bridge_get_registry): kill - not used.
5240 * cspi/spi_accessible.c (Accessible_getRole): make return const.
5242 * test/test-simple.c (test_roles): impl.
5243 (test_desktop, validate_accessible, validate_tree): impl.
5245 * cspi/spi_accessible.c (role_names): fixup bogus
5246 MAX_ROLES setup, make constants const for efficient linkage
5247 (AccessibleRole_getName): conform to coding style, make
5250 2001-11-30 Michael Meeks <michael@ximian.com>
5252 * cspi/spi.h: add missing prototype.
5254 * libspi/registry.c (spi_listener_struct_new): fix sig.
5256 * test/Makefile.am: add test-simple
5258 * test/test-simple.c: add
5260 * test/test.sh: add.
5262 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
5264 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
5265 do it straight - since otherwise we often get an activation race.
5267 [ work before Bill duplicated a chunk of it ... ]
5268 2001-11-30 Michael Meeks <michael@ximian.com>
5270 * libspi/keystrokelistener.c
5271 (spi_keystroke_listener_class_init): fixup arg
5274 * libspi/eventlistener.c
5275 (spi_event_listener_class_init): ditto.
5277 * tests/test.sh: add.
5279 * cspi/spi-listener-impl.h: update macros.
5281 * cspi/spi-listener-impl.c
5282 (cspi_event_listener_remove_callback): add
5283 correct pre-conditions.
5285 * cspi/spi_main.c (SPI_exit): guard vs. double
5286 exits, exit the mainloop nicely.
5287 (SPI_event_main): make more sense.
5288 (SPI_init): move the atexit evilness here so we
5289 always do it (yuck).
5290 (SPI_event_main): upd.
5292 * test/simple-at.c: update for listener changes.
5294 * registryd/registryd.c (main): prune kruft.
5296 * libspi/libspi.h: upd.
5298 * libspi/eventlistener.[ch]: rename broken macros.
5300 * libspi/accessibleeventlistener.[ch]: remove.
5302 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
5304 * test/test-simple.c: Add - automated tests.
5306 * cspi/spi-listener-impl.c (cspi_event),
5307 (cspi_key_event): add user_data to invoke.
5308 (cspi_keystroke_listener_finalize): impl.
5309 (cspi_keystroke_listener_class_init): upd.
5312 (createAccessibleEventListener),
5313 (AccessibleEventListener_addCallback),
5314 (createAccessibleKeystrokeListener),
5315 (AccessibleKeystrokeListener_addCallback): upd.
5317 * libspi/deviceeventcontroller.c
5318 (spi_device_event_controller_check_key_event): add public proto.
5321 (impl_accessibility_registry_deregister_global_event_listener):
5322 always init listeners.
5323 (_registry_notify_listeners): yes it is.
5325 * cspi/spi-listener-impl.c (cspi_key_event):
5327 (cspi_event_listener_finalize): impl.
5328 (cspi_event_listener_class_init): hook up.
5329 (event_handler_new, event_handler_free),
5330 (event_list_remove_by_callback): impl.
5331 (cspi_event_listener_remove_callback),
5332 (cspi_keystroke_listener_remove_callback),
5333 (cspi_keystroke_listener_add_callback),
5334 (cspi_event_listener_add_callback): upd.
5336 * libspi/keystrokelistener.c
5337 (keystroke_listener_object_finalize): kill
5338 (spi_keystroke_listener_class_init): upd.
5339 (spi_keystroke_listener_add_callback),
5340 (spi_keystroke_listener_remove_callback): kill,
5342 (impl_key_event): prune drasticaly.
5344 * libspi/eventlistener.c
5345 (spi_event_listener_add_callback),
5346 (spi_event_listener_remove_callback): kill, use
5348 (impl_accessible_event_notify_event): upd.
5349 (spi_event_listener_object_finalize): remove.
5351 * libspi/Makefile.am: use eventlistener.[ch]
5353 2001-12-04 Bill Haneman <bill.haneman@sun.com>
5355 * libspi/registry.c (_registry_notify_listeners):
5356 Changed listener loop iteration to use preferred convention.
5357 Got rid of string memory leaks caused be calling g_strconcat
5358 inside function calls.
5360 * libspi/registry.c (parse_event_type):
5361 Stopped g_strconcat memory leaks, free the g_strsplit return,
5362 g_strdup the split pieces when used, etc.
5364 2001-12-04 Bill Haneman <bill.haneman@sun.com>
5367 Change method 'compare' to return a 'difference set' rather than
5368 taking a StateSet as an out parameter (more Java-friendly).
5370 * idl/Accessible.idl:
5371 Added CORBA struct 'BoundingBox', to faciliate API changes below:
5373 * idl/Component.idl:
5375 Changed methods 'getExtents' and 'getImageExtents' in these
5376 interfaces to return a BoundingBox structure.
5377 (getPosition and getSize are redundant and possibly should be
5378 removed, rather than creating a corresponding Point struct.)
5380 * cspi/spi_component.c:
5381 Modify implementation of getExtents to reflect the above IDL
5386 Add (missing) AccessibleImage_getExtents () API.
5388 * docs/reference/cspi/at-spi-cspi-sections.txt:
5389 Added AccessibleImage_getImageExtents () to docs.
5391 2001-12-03 Bill Haneman <bill.haneman@sun.com>
5393 * idl/Component.idl:
5394 Added two methods, getLayer () and getMDIZOrder (), to reflect
5395 the new ATK methods atk_object_get_layer and
5396 atk_object_get_mdi_z_order. (Which arguably should be part of the
5397 AtkComponent API and AtkObject). Also added an enum,
5398 ComponentLayer, for the first method's return value.
5400 * libspi/component.c:
5401 Added implementations for these methods.
5403 * cspi/spi_component.c:
5405 Added cspi binding methods for above,
5406 AccessibleComponent_getLayer() and
5407 AccessibleComponent_getMDIZOrder().
5408 Added cspi enum 'AccessibleComponentLayer'.
5410 * docs/reference/cspi/at-spi-cspi-sections.txt:
5411 Added above methods to docs.
5415 Changed typedef for 'boolean' type (and all references to it) to
5416 SPIBoolean, to avoid keyword clashes with C++.
5419 Changed usages of 'boolean' to SPIBoolean.
5421 * test/keysynth-demo.c:
5422 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
5423 app), except where SPIBoolean is required by the callbacks API.
5425 2001-12-02 Bill Haneman <bill.haneman@sun.com>
5427 * cspi/spi_registry.c:
5428 Removed obsolete X event loop for passive keygrabs (which now
5431 * registryd/registryd.c:
5432 Removed unnecessary call to gdk_init() [cruft]. This also allows
5433 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
5436 2001-11-28 Bill Haneman <bill.haneman@sun.com>
5438 * docs/reference/cspi:
5439 Included docs for SPI_freeString in generated documentation.
5442 Renamed spi_freeString to SPI_freeString, for consistency. Added
5443 documentation for this function.
5446 Renamed spi_freeString to SPI_freeString, for consistency.
5447 Removed obsolete method declaration string_from_corba_string.
5449 * test/keysynth-demo.c:
5450 Small tweak to comments.
5453 Stopped leaking the strings returned from CSPI.
5455 2001-11-28 Bill Haneman <bill.haneman@sun.com>
5457 Merged Michael's branch (see his ChangeLog entries below).
5459 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
5460 bridge is alive, release on exit.
5462 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
5463 Fix type check macro.
5466 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
5469 Added is_gnome_app static, and method cspi_is_gnome_app(),
5470 so we can call the appropriate shutdown routine at exit in SPI_exit.
5472 * cspi/spi_main.c (cspi_object_ref):
5473 Duplicate the corba object passed in, since we're keeping it around.
5475 * cspi/SPI_exit.c, cspi_cleanup:
5476 Moved the releasing of the live refs to its own function, so we
5477 can put it in g_atexit (). Call the appropriate shutdown API
5478 depending on whethe calling client is a gnome app or not
5479 (bonobo_main_quit or CORBA_ORB_shutdown).
5481 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
5482 Unref the listener when this method is called, after
5483 deregistration. Updated the API docs to note this behavior.
5485 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
5486 Bugfixes: Ref the bonobo object when returning a parent or child
5487 reference, or an AccessibleRelation. Generally made sure
5488 BonoboObject refcount is incremented whenever we return an
5491 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
5492 Fixed typo/bug in signal declaration.
5494 * libspi/accessibleeventlistener.h:
5497 * libspi/application.c (spi_application_new):
5498 Fixed leak in initialization.
5501 Remembered to increment bonobo-object refcount when returning
5502 children (applications) from desktop object.
5503 Added (empty) finalize method.
5505 * libspi/deviceeventcontroller.c:
5506 Hold a ref to listeners inside DEControllerKeyListeners.
5507 Added dec_key_listener_free() method. Use prepend instead of
5508 append in key_listener list. Fixed some refcount madness and
5509 leaks in the listener registration/deregistration - deregistration
5510 now calls dec_key_listener_free() on listeners, and on the
5511 temporarily constructed dec_key_listener() used to perform the search/match.
5513 * libspi/hypertext.c (spi_hypertest_finalize):
5514 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
5515 class. Also fixed spi_hypertext_interface_new() and
5516 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
5518 * libspi/hypertext.h:
5519 Removed pointless and duplicate AtkObject pointer from
5522 * libspi/keystrokelistener.c:
5523 Fixed incorrect type of keystroke_listener_parent_class,
5524 renamed keystroke_listener_object_finalize to
5525 spi_keystroke_listener_object_finalize.
5526 Fixed typo in signal declaration
5527 (spi_keystroke_listener_class_init).
5529 * libspi/registry.c:
5530 Added funcsions spi_listener_struct_new() and
5531 spi_listener_struct_free() to help with memory management issues.
5532 We also now use these methods instead of gnew + poking stuff into
5533 the struct, and to decrement listener counts/free the listeners
5534 when deregistering them.
5535 Fix more refcount bugs in getDesktop() and
5536 getDeviceEventController().
5539 De-ref the desktop after enumerating the applications. Explicitly
5540 decrement the refcounts on the created listeners on exit (using
5541 _unref for keystroke listeners, and via the
5542 deregisterGlobalEventListenerAll command for other event
5545 2001-11-27 Michael Meeks <michael@ximian.com>
5547 * cspi/spi-listener.h: fixup enum.
5549 2001-11-27 Michael Meeks <michael@ximian.com>
5551 * cspi/spi-listener-impl.c (cspi_event_listener_new),
5552 (cspi_keystroke_listener_new): Use the cspi variants.
5554 2001-11-26 Michael Meeks <michael@ximian.com>
5556 * test/keysynth-demo.c: fix 2 compile warnings, missing
5559 * test/simple-at.c (report_focussed_accessible),
5560 (report_focus_event, report_button_press),
5561 (check_property_change, is_command_key),
5562 (report_ordinary_key_event, report_command_key_event): upd.
5564 * util/mag_client.h: include pre-requisites.
5566 * libspi/accessibleeventlistener.c
5567 (spi_event_listener_object_finalize): free any lingering
5570 * libspi/keystrokelistener.c
5571 (keystroke_listener_object_finalize): ditto.
5573 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
5574 callbacks, with cspi types.
5576 * cspi/spi_event.c (createAccessibleEventListener): chain to
5577 (AccessibleEventListener_addCallback): here.
5578 (createAccessibleKeystrokeListener): chain to
5579 (AccessibleKeystrokeListener_addCallback): here.
5581 * libspi/keystrokelistener.c
5582 (spi_keystroke_listener_class_init): add signal.
5583 (impl_key_event): emit the event.
5584 (boolean_handled_accumulator): impl.
5585 (marshal_BOOLEAN__POINTER): add, gack.
5587 * libspi/accessibleeventlistener.c
5588 (spi_event_listener_class_init): add signal.
5589 (impl_accessible_event_notify_event): emit the signal &
5590 make the loop efficient.
5591 (spi_event_listener_add_callback): prepend the callback.
5593 * libspi/accessibleeventlistener.h: add an 'event' signal,
5594 decl type on callback.
5596 * libspi/keystrokelistener.h: ditto.
5598 * cspi/spi-listener.h: make methods typesafe and
5599 make them use the new event typedefs.
5601 * test/simple-at.c (report_focussed_accessible):
5602 include mag_client.h
5603 Use *(void *)text_interface not the other thing.
5605 * configure.in: add gtk to registryd bits - since we use
5608 * util/magnifier.c: include libbonobo.h
5610 2001-11-25 Bill Haneman <bill.haneman@sun.com>
5612 * test/keysynth-demo.c:
5613 Turned this into a simple scanning keyboard, to demonstrate the
5614 use of g_timeout_add () as a means of creating timers for
5615 scanning, and the use of GtkStyle for visually indicating when
5616 virtual keyboard elements are selected.
5618 keysynth-demo now listens to any keyboard keys with zero-valued
5619 keycodes (i.e. 'unused' keys) and interprets them as
5622 Reworked the shiftlatch code so that shift-down state isn't held
5623 for long periods (it's only synthesized immediately prior to
5624 the keysynth event it's modifying). Note that shiftlatch in this
5625 demo is a convenience, not intended to take the place of AccessX
5626 which is the better choice for getting 'sticky' modifier keys.
5628 * libspi/deviceeventcontroller.c:
5629 * at-bridge/bridge.c:
5630 * cspi/spi_registry.c:
5631 Removed some debug print stuff, and put other verbosity in #ifdef
5636 Implemented some more of the magnifier IDL for the simple
5637 magnifier: namely, getZoomRegionParams.
5638 Added mag_x and mag_y members to MagnifierData struct, aid of this
5640 Added GtkWindow::realize signal handler to magnifier, to keep it
5641 from receiving keyboard focus from the WM.
5643 2001-11-23 Mark McLoughlin <mark@skynet.ie>
5645 * cspi/spi-private.h: my guess at what michael forgot
5646 before he ran off to NZ :-)
5648 2001-11-23 Michael Meeks <michael@ximian.com>
5650 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
5651 comment out non existant method invoke so we link.
5653 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
5654 use bonobo_exception_get_text for more friendly warnings.
5656 * cspi/spi.c (Obj_Add): move into spi_main & rename
5657 spi_object_add; kill spi.c
5659 * cspi/spi_registry.c
5660 (deregisterGlobalEventListener),
5661 (deregisterGlobalEventListenerAll),
5662 (registerGlobalEventListener): fix exception leaks.
5664 * cspi/spi_main.c (spi_exception): impl. helper, so we
5665 don't leak exceptions.
5667 * cspi/spi_selection.c
5668 (AccessibleSelection_deselectSelectedChild): return the
5671 * cspi/spi_main.c (spi_ev): impl; hack - gack.
5672 (spi_registry): ditto.
5673 (SPI_init): guard against double inits.
5675 * cspi/*.c: use spi_ev (), and spi_registry () where
5676 appropriate - a temporary hack until we have something
5677 better. Use spi_object_add
5679 2001-11-22 Michael Meeks <michael@ximian.com>
5681 * cspi/Makefile.am: re organise, install the headers.
5683 * cspi/*.h: add G_BEGIN/END_DECLS
5685 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5688 Added non-preemptive keylistener for key events with no modifiers
5689 and shift-only modifier.
5691 * libspi/keystrokelistener.c:
5692 Removed some verbose diagnostics printout.
5694 * cspi/spi_registry.c:
5695 Fixed a bug that caused all key listeners to be registered as
5698 * libspi/deviceeventcontroller.c:
5699 Fixed bug that caused XGrabKey (preemptive key grab) to be called
5700 for non-preemptive key masks.
5703 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5705 * docs/reference/idl/at-spi-idl-docs.sgml:
5706 * docs/reference/idl/at-spi-idl-sections.txt:
5707 * docs/reference/idl/at-spi-idl-overrides.txt:
5708 Added missing files.
5710 * docs/reference/Makefile.am:
5711 removed idl from SUBDIRS until we can figure a way to get gtk-doc
5712 to scan the IDL files :-(
5717 Added .cvsignore files.
5719 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5721 * libspi/deviceeventcontroller.c:
5722 * libspi/keystrokelistener.c:
5724 * cspi/spi_registry.c:
5725 Added filters for KeySets, KeyEventSeq, and event types to key
5726 event dispatching, so listeners should only receive those events
5727 that they requested :-)
5729 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5734 * docs/reference:Makefile.am:
5735 * docs/reference/cspi:
5736 * docs/reference/cspi:Makefile.am:
5737 * docs/reference/cspi:tmpl:
5738 * docs/reference/cspi:tmpl:*.sgml:
5739 * docs/reference/idl:
5740 * docs/reference/idl:Makefile.am:
5741 * docs/reference/idl:at-spi-idl-sections.txt:
5742 * docs/reference/idl:at-spi-idl-docs.sgml:
5743 * docs/reference/idl:tmpl:
5744 * docs/reference/idl:tmpl:*.sgml:
5746 Restructured docs directory to allow separate 'reference' docs
5747 section, and forked idl and cspi docs. Added the sgml template
5748 files to CVS. Added the first sections/structural sgml for the
5751 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
5753 * configure.in, libspi/Makefile.am: find libXtst.
5755 2001-11-21 Michael Meeks <michael@ximian.com>
5757 * test/accessx-gui.c: s/spi_value/value/ - doh.
5759 * libspi/base.[ch]: add.
5761 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5763 * idl/Accessible.idl:
5764 * idl/Application.idl:
5767 Started gtk-doc cleanup on IDL.
5769 * libspi/deviceeventcontroller.c:
5770 Added and connected non-preemptive key notification from the
5771 toolkits (in addition to the pre-emptive support from XServer
5772 which we had before, but which causes 'focus flashing'). Filters
5773 are presently limited to key modifiers and global/non-global,
5774 KeySets are presently ignored, as are KeyEvent masks.
5776 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
5777 structs into the persistant structure rather than just storing
5778 pointers to things that might not persist across servant
5781 The XGrabKey call now does async keygrabs, because synchronous
5782 ones were deadlocking with GDK_event code in a very nasty way.
5784 Added boolean to internal method notify_keylisteners, to indicate
5785 whether the event came from the 'toolkit source' or the 'global
5786 (XServer) source' - this is used in the notification process to
5787 determine which listeners to send the event to.
5789 deviceeventcontroller.c is now warning-free.
5791 * libspi/registry.c:
5792 Fixed regression in application de-registration.
5793 Also fixed some really brain-dead weirdness having to do with
5794 event dispatching - event structs are now duplicated before being
5795 re-marshalled in the dispatch to listeners. This also fixes a
5796 Solaris build problem.
5799 2001-11-20 Michael Meeks <michael@ximian.com>
5802 (impl_accessibility_registry_deregister_global_event_listener):
5805 * libspi/deviceeventcontroller.c
5806 (spi_device_event_controller_check_key_event): return
5807 FALSE on no virtual method.
5809 * libspi/*..h: make includes work on a correctly pathed install.
5811 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
5813 * libspi/application.h: kill unused ( and whacked out )
5814 gboolean *spi_application_set_id (AtkObject *app, long id);
5816 2001-11-20 Michael Meeks <michael@ximian.com>
5818 * libspi/*.[ch]: further convert to bonobo's type func
5819 macros, remove redundnant casts etc.
5821 * libspi/text.c s/accessibility_text/spi_text/g,
5822 re-order to de-cruft.
5824 * libspi/hypertext.c: re-order to kill a huge slew
5825 of redundant forward decls.
5827 * libspi/relation.c: ditto.
5829 * libspi/image.c: ditto.
5831 * */.cvsignore: update
5833 2001-11-20 Michael Meeks <michael@ximian.com>
5835 * libspi/deviceeventcontroller.c
5836 (_controller_register_with_devices): use g_getenv,
5837 kill stdlib.h include.
5839 * libspi/keystrokelistener.c
5840 (spi_keystroke_listener_get_type): kill
5841 (spi_keystroke_listener_class_init),
5842 (spi_keystroke_listener_init): rename to this.
5844 * libspi/text.c (impl_getAttributes): fix warning / bug.
5846 * libspi/*.[ch]: more headers, includes and over commenting.
5848 2001-11-20 Michael Meeks <michael@ximian.com>
5850 * libspi/*.[ch]: fixup headers, includes and over commenting.
5852 * libspi/image.c (impl__get_imageDescription): const
5853 correctness warning fix. remove redundant casting.
5855 * libspi/table.c (impl_getRowDescription): ditto.
5856 (impl_getColumnDescription): ditto.
5858 * libspi/libspi.h: add.
5860 2001-11-19 Michael Meeks <michael@ximian.com>
5862 * libspi/editabletext.c (impl_setAttributes): fix warnings.
5864 * libspi/component.c (accessibility_component_get_type):
5865 rename to (spi_component_get_type): and macroify.
5866 (accessibility_component_init): rename to
5867 (spi_component_init): this
5868 (accessibility_component_class_init): rename to
5869 (spi_component_class_init): this
5871 * libspi/action.c (spi_action_get_type): kill, use the macro.
5873 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
5876 * libspi/application.c (spi_application_object_event_listener),
5877 (impl_accessibility_application_register_object_event_listener):
5878 warning fixes / const understanding updates.
5880 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
5883 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5885 * libspi/spi_accessible.c: Added docs and C bindings for
5886 AccessibleStateSet. (No implementations yet). Documentation
5887 coverage for C bindings now 100%. Made docs for event listeners
5892 boolean notifyListenersSync (in DeviceEventListener listener,
5893 in DeviceEvent event);
5895 oneway void notifyListenersAsync (in DeviceEventListener listener,
5896 in DeviceEvent event);
5898 Added DeviceEventListener and DeviceEvent structs (may deprecate
5899 KeyStroke and KeystrokeListener in favor of this generic
5900 event/listener framework for devices).
5902 * libspi/deviceeventcontroller.c:
5904 Changed some key listener code to take masks, etc., and paved the
5905 way for integration of toolkit/non-preemptive key events. Changed
5906 signatures of some internal methods.
5908 * at-bridge/bridge.c:
5909 Fixed regression connecting to interface signals, apparently
5910 caused by GTK+ changes.
5912 Added an internal bridge_state_listener to deal with
5913 property-change:accessible-state signals.
5915 Changed the key_listeners GList to store structs (including masks,
5916 etc.) instead of just CORBA_Objects (required for full
5917 implementation of key listener API).
5919 Connected the bridge to all currently supported Atk signals.
5920 Events now supported:
5921 object:property-change
5922 object:property-change:accessible-name
5923 object:property-change:accessible-state
5924 object:property-change:accessible-description
5925 object:property-change:accessible-parent
5926 object:property-change:accessible-value
5927 object:property-change:accessible-role
5928 object:property-change:accessible-table-caption
5929 object:property-change:accessible-table-column-description
5930 object:property-change:accessible-table-column-header
5931 object:property-change:accessible-table-row-description
5932 object:property-change:accessible-table-row-header
5933 object:property-change:accessible-table-summary
5934 object:children-changed
5935 object:visible-data-changed
5936 object:selection-changed
5937 object:text-selection-changed
5939 object:text-caret-moved
5941 object:row-reordered
5943 object:column-inserted
5944 object:column-reordered
5945 object:column-deleted
5946 object:model-changed
5948 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5950 * libspi/hyperlink.c,h:
5951 Fixed some broken stuff in hyperlink.
5953 * libspi/relation.h:
5954 * libspi/relation.c:
5955 * cspi/spi_accessible.c:
5956 Initial implementations of AccessibleRelation methods, and docs.
5958 * libspi/accessible.c:
5959 Fixed a bug that caused SEGV if an accessible
5960 object's description is NULL, and a client
5961 requests it. An empty string is now returned.
5963 * cspi/spi_editabletext.c:
5964 * cspi/spi_hypertext.c:
5966 * cspi/spi_hyperlink.c:
5970 Doc coverage now 95%.
5972 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5974 One last namespacing revision:
5975 * libspi/accessibleeventlistener.[ch]:
5976 Renamed SpiAccessibleEventListener to SpiEventListener,
5977 (no need for two namespaces ;-)
5979 And lots of documentation fixes:
5981 * docs/at-spi-docs.sgml:
5982 Fixed 'underscore vs. hyphen' bug that was preventing
5983 the gtk-doc API docs from being automatically generated.
5986 * cspi/spi-listener.h
5988 * cspi/spi_accessible.c
5990 * cspi/spi_application.c
5991 * cspi/spi_component.c
5992 * cspi/spi_editabletext.c
5994 * cspi/spi_hypertext.c
5996 * cspi/spi_registry.c
5997 * cspi/spi_selection.c
6001 * docs/at-spi-docs.sgml
6002 * docs/at-spi-sections.txt
6004 Added and fixed up gtk-doc documentation in cspi.
6006 Interfaces now (fully) documented (subject to revision and enhancement):
6008 Event Listener Support
6010 AccessibleApplication
6014 AccessibleEditableText
6021 AccessibleRelationSet
6026 2001-11-14 Bill Haneman <bill.haneman@sun.com>
6028 * at-bridge/bridge.c:
6029 Initial work for toolkit-level key snooper connection by bridge.
6034 New typedefs and fixes to support new namespacing, and cleaner
6035 separation of cspi bindings from libspi bonobo implementation.
6036 Removed inconsistent and extraneous Spi* namespace prefix that
6037 had crept into cspi headers.
6038 Lots of comment fixes that sed had missed.
6040 * cspi/spi-roletypes.h:
6041 * cspi/spi-statetypes.h:
6042 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
6043 to AccessibleRoleType.
6045 * libspi/accessibleeventlistener.h:
6046 Fixed minor namespacing weirdness.
6048 * libspi/deviceeventcontroller.c:
6049 Reordered some internal API for device listeners.
6050 Changed the key registry final boolean to 'is_system_global'
6051 rather than 'is_synchronous', which is more descriptive of its
6053 Added spi_device_event_controller_new().
6054 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
6056 * libspi/keystrokelistener.[ch]:
6057 Namespaced KeystrokeListener to SpiKeystrokeListener.
6058 Changed uses of keymasks to use SPI_ prefix, and did other
6061 * libspi/keymasks.h:
6062 Namespaced keymask constants with SPI_ prefix.
6064 * libspi/registry.c:
6065 Some warning fixes, and knock-on fixes from namespace changes.
6068 Added rules for accessx-gui test program.
6070 * test/accessx-gui.c:
6071 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
6072 utility. It doesn't actually use at-spi, but it's still cool and
6075 * test/keysynth-demo.c:
6079 Fixes so that these test clients work properly with the namespaced
6080 libraries. (Incompletely tested for technical reasons, fixes may follow)
6083 2001-11-13 Michael Meeks <michael@ximian.com>
6085 * libspi/application.c
6086 (impl_accessibility_application_get_version),
6087 (impl_accessibility_application_get_toolkit_name):
6089 (impl_accessibility_application_set_id),
6090 (impl_accessibility_application_get_id): remove
6091 redundant casting code.
6093 * libspi/action.c (impl_getDescription): fix warnings.
6095 * libspi/accessible.c
6096 (impl_accessibility_accessible_get_parent),
6097 (impl_accessibility_accessible_get_child_at_index),
6098 (impl_accessibility_accessible_get_state),
6099 (impl_accessibility_accessible_get_relation_set):
6100 warning fixes & include action.h
6102 2001-11-13 Michael Meeks <michael@ximian.com>
6104 * *.[ch] fix bits I screwed up:
6106 s/([^ \tb(\*\&\?\",])spi_/\1/g;
6107 s/([^ \tb(\*\&\?\",])Spi/\1/g;
6109 2001-11-13 Michael Meeks <michael@ximian.com>
6111 * *.[ch] Namespace libspi into spi_ and Spi.
6113 2001-13-11 Michael Meeks <michael@ximian.com>
6115 * Makefile.am: dist & install at-spi-1.0.pc
6117 * libspi/Makefile.am: install into at-spi-1.0
6119 * idl/Makefile.am (idldir): install into at-spi-1.0
6121 * at-spi-1.0.pc.in: add.
6123 * configure.in: build it.
6125 2001-11-12 Bill Haneman <bill.haneman@sun.com>
6127 * test/keysynth-demo.c:
6128 Use a 'realize' signal-handler to set the WM properties for
6129 the virtual keyboard, rather than making it a "POPUP" type
6130 override-redirect window (thanks to anders carlsson for that
6133 2001-11-11 Bill Haneman <bill.haneman@sun.com>
6136 * test/keysynth-demo.c:
6137 Added new test of key synthesis, which creates a simple
6138 (mouse-operated) onscreen keyboard. It inserts key events into
6139 the currently-focused window, thus it does not grab keyboard focus
6142 * cspi/spi_registry.c:
6143 Added C binding for AT-SPI generateKeyEvent.
6145 * libspi/deviceeventcontroller.c:
6146 Added call to XFilterEvent so that key listener works with XIM (we
6147 hope). Added event_synth_type to generateKeyEvent, so that we can
6148 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
6149 synthesize a press/release pair for KeySyms.
6151 2001-11-09 Bill Haneman <bill.haneman@sun.com>
6153 * libspi/Makefile.am:
6154 * registryd/Makefile.am:
6155 (temporary) hack to include libXtst in libspi and registryd.
6156 (Needed for keystroke synthesis, see below).
6159 Improved API for registerKeystrokeListener, in accordance with
6160 discussions with Gnopernicus team and X server research.
6162 * libspi/registry.c:
6163 * libspi/deviceeventcontroller.c:
6164 * libspi/accessible.c:
6165 * libspi/keystrokelistener.c:
6166 Changes and fixes to support keylisteners for potentially
6167 consumed key events (that is, 'passive grabs').
6168 Added implementation for generateKeyEvent() [untested].
6171 Changes to registerKeystrokeListener() API, as above.
6172 Added deregisterGlobalEventListenerAll(), and
6173 deregisterKeystrokeListener(), which are needed for clean exit of
6175 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
6176 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
6178 * cspi/spi_registry.c:
6179 Added implementations of function prototypes mentioned above.
6181 * registryd/registryd.c:
6182 Added the key listener event source as a g_timeout(), to allow
6183 receipt of key events that are not caught by GDK (since GDK
6184 doesn't support passive keygrabs, this was necessary).
6187 Changed to attach a keylistener to 'Alt' keys, and
6188 respond to the following keycommands: Alt-M (toggle magnifier);
6189 Alt-F (toggle speech); Alt-Q (quit).
6190 Added an exit routine to deregister the listeners, and a key
6191 listener that prints some key info to the console when a key
6192 matches the listener mask (and is thus received by the listener).
6194 * util/idl/Magnifier.idl:
6195 Changes to magnifier API to support multiple zoom regions,
6196 non-uniform scaling in x and y, markDirty, and a host of other
6197 features that would be useful to magnification.
6200 * util/mag_client.c:
6201 * util/mag_client.h:
6202 * util/mag_control.c:
6204 Source code changes to support the above IDL changes.
6207 As above, and also changes to use a (slower) generic conversion
6208 path for colormap conversions, since the fast RGB conversions have been
6209 reported to fail for 16-bit displays.
6211 2001-10-26 Michael Meeks <michael@ximian.com>
6213 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
6215 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
6217 * at-bridge/Makefile.am: fix LDFLAGS.
6219 2001-10-09 Bill Haneman <bill.haneman@sun.com>
6221 * at-bridge/bridge.c:
6222 Re-worked listeners for toolkit events, now we have signal
6223 and property listeners. Added a private method
6224 register_atk_event_listeners(), which registers with the
6225 various atk and gtk signals we need to monitor in order to emit
6227 Added emission hook for AtkObject:property-change events, to
6228 support the 'property listeners'.
6229 Fixed some alloc()s of Accessibility_Event structs to use CORBA
6232 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
6233 which emit warnings and exit, respectively, if CORBA errors occur
6234 during remote calls, and we now use these methods to check most of
6235 our CORBA calls in the C bindings.
6237 * cspi/spi_accessible.c:
6238 Changed AccessibleSelection_refSelectedChild() to
6239 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
6240 now increment refcounts.
6242 * cspi/spi_component.c:
6243 Fixed some long pointer casts (dangerous!) to pass pointers to
6244 CORBA_longs of the proper type to the CORBA stubs, and copy the
6245 data into the longs that were passed into the C bindings code.
6247 * at-bridge/bridge.c:
6249 * libspi/accessible.c:
6250 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
6251 hyperlinks, AtkHyperlink is an object type.
6253 * libspi/application.c:
6254 Added various conversions to and from "generic" event types and
6255 atk-specific types; this is really part of the 'bridge'
6256 implementation but is valid for all AtkObject-based accessibility
6259 * libspi/editabletext.c:
6260 Fixed nasty bug wherein editable text's finalize method was
6261 unref'ing tha AtkObject reference that the text parent class was
6262 about to unref _again_. There was also a nasty inheritance bug
6263 that meant that the AccessibleEditableText class was corrupt.
6265 * libspi/selection.c:
6266 Provided implementations for some selection API that was broken.
6268 * idl/Application.idl:
6269 Added registerObjectEventListener () method.
6272 Fixed a number of return values that were Bonobo_Unknowns from
6273 bonobo_object_corba_objref(), which I
6274 forgot to dup before returning. Changed instances of
6275 bonobo_object_corba_objref (bonobo_object(o)) to
6276 BONOBO_OBJREF(o), for concision and clarity.
6278 2001-10-13 Louise Miller <louise.miller@sun.com>
6280 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
6281 idl/Event.idl, idl/Registry.idl
6282 Changed these files to include Bonobo_Unknown.idl instead
6285 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
6287 * libspi/component.c libspi/component.h:
6288 Fixed typo. Added assertions for object checks in
6289 AccessibleComponent code.
6291 2001-10-09 Bill Haneman <bill.haneman@sun.com>
6293 * idl/Accessible.idl:
6294 Added 'isEqual (Accessible *object)'
6295 method for Accessible. (Not Yet Implemented).
6298 Changed signature of registerKeystrokeListener() to
6299 take a KeySet and KeyEventSeq so that specific keys and event
6300 types could be requested for monitoring, and added a flag
6301 is_synchronous so that either synchronous or asynchronous
6302 notification could be requested. (However this is not all
6303 implemented yet). This also meant adding two new typedefs,
6304 KeyEventSeq and KeySet.
6307 Added two new relations, RELATION_TOOLTIP_FOR and
6308 RELATION_LEAFNODE_OF.
6311 Added new state, STATE_HAS_TOOLTIP.
6313 * libspi/text.c, editabletext.c:
6314 Added new assertions to all casts of bonobo-objects from
6315 CORBA servants, to prevent Text API calls on non-text objects.
6316 Changed suspect casts of int-pointer types, so that we
6317 always send a valid CORBA_long pointer to the CORBA APIs that use
6318 in/out long parameters. We then have to copy from the CORBA_long
6319 into the regular long or int for return to the C bindings, or
6320 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
6323 * libspi/deviceeventcontroller.c:
6324 Cleaned these sources up.
6326 Changed return type for getCharacterAtOffset to
6327 CORBA_unsigned_long, to allow for 32-bit characters.
6330 2001-10-08 Bill Haneman <bill.haneman@sun.com>
6334 Fixed 'make dist' so that distro compiles...
6335 * libspi/keymasks.h:
6337 * cspi/spi-listener.c:
6338 KeystrokeListenerCB now returns a boolean.
6340 Added KeyEventType struct, and KeyStroke.
6341 Also added createKeystrokeListener(),
6342 KeystrokeListener_addCallback(),
6343 KeystrokeListener_removeCallback(), and added a keymask to
6344 registerKeystrokeListener().
6345 * cspi/spi_accessible.c:
6346 Changed numerous return types for interfaces from
6347 AccessibleComponent to Accessible<InterfaceName>; this was
6348 probably a cut-and-paste error.
6350 Implementations of new KeystrokeListener api (from spi.h,
6353 Changes to key modifier mapping.
6354 Created ControllerEventMask struct.
6355 Made DeviceEventController derive from Bonobo::Unknown.
6357 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
6358 * libspi/deviceeventcontroller.c:
6359 Added a number of new internal (private) methods.
6360 * libspi/editabletext.c:
6361 * libspi/editabletext.h:
6362 Fixed a number of bugs related to the fact that
6363 editabletext inherits from text. Fixed the EditableText struct,
6364 the init() call, and use correct casts when calling Text methods
6365 from an EditableText object. Removed (duplicate) atko from the
6366 EditableText structure, we use the one in the parent Text
6367 structure via the casts mentioned above.
6368 * libspi/keystrokelistener.[ch]:
6369 * libspi/registry.c:
6370 Changes in support of keyboard handling (above).
6372 Keyboard handling, though partly functional, is still not
6373 recommended for at-spi client use as there is considerable
6374 work yet to be done.
6377 Changed some places where pointers to various int types
6378 are cast to be pointers to CORBA_long types and vice-versa:
6379 pointer casting is not safe so we pass pointers of the correct
6380 types and then cast the result before putting it into the target
6383 * libspi/text.h: minor typos corrected.
6385 We now speak not only the name of a Text element, but the
6386 first sentence of its content, when it receives focus.
6387 I also changed the text compression to 75% from 50%.
6388 * util/Accessibility_Util.server.in:
6389 Changed the default magnifier type to be a 3x vertical
6390 splitscreen magnifier (was previously a 2x horizontal one).
6392 2001-10-03 Bill Haneman <bill.haneman@sun.com>
6394 * libspi/keystrokelistener.h:
6395 * libspi/keystrokelistener.c:
6396 Initial functional implementations of KeystrokeListener.
6399 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
6401 Fixed string handling for NULL strings in libspi.
6402 Added spi_freeString to free strings returned by C bindings.
6404 2001-09-30 Bill Haneman <bill.haneman@sun.com>
6406 * libspi/keystrokelistener.h:
6407 * libspi/keystrokelistener.c:
6408 Began (no-op) implementations of KeystrokeListener
6410 * libspi/deviceeventcontroller.c:
6411 * libspi/deviceeventcontroller.h:
6412 Began creating implementations of DeviceEventController,
6413 to handle keystroke and mouse event listening and
6415 * libspi/accessible.c:
6416 Stubbed-in the implementations for
6417 Accessibility_Accessible_getState and
6418 Accessibility_Accessible_getRelationSet.
6419 * libspi/registry.c:
6420 Improved de-registration process and fixed some bugs,
6421 deregistration now works correctly.
6423 Added initialization of applications list (to NULL).
6425 Reduced speech compression from 0.5 to 0.7, for demo.
6426 Changed call to gdk_window_set_decorations()
6427 to gtk_window_set_decorated().
6428 * at-bridge/bridge.c:
6429 Bridge now deregisters when app exits, via
6430 registration of a cleanup function
6431 with the g_atexit() call.
6432 Required making 'app' static, renamed 'this_app'.
6433 Fixed broken use of bonobo_init, passing argv wrongly.
6435 2001-09-27 Bill Haneman <bill.haneman@sun.com>
6439 Created a new directory for
6440 accessibility-related utilities, primarily for
6441 testing and demo purposes, but with possible
6448 Onscreen magnifier utility that
6449 is implemented as a bonobo service.
6451 * util/mag_client.c:
6452 * util/mag_client.h:
6453 Client-side support (simple C bindings)
6454 for Magnification service
6456 * util/mag_control.c:
6457 Client program example for
6458 Magnification service
6460 * util/Accessibility_Magnifier.server.in:
6461 Bonobo-activation file for the
6462 Magnification service.
6465 * util/idl/Magnifier.idl:
6466 IDL defining the bonobo Magnification
6470 Modifications to use the bonobo-activated magnifier
6471 above, in place of trying to connect to an existing
6472 magnifier that uses socket-listening IPC.
6474 If env variable MAGNIFIER is set, a magnifier service
6475 will be started if one does not exist.
6477 2001-09-25 Bill Haneman <bill.haneman@sun.com>
6479 * at-bridge/bridge.c:
6480 applied patch from Marc to build and run
6481 against new glib and gtk+ (seemed like a change
6482 to bonobo_init signature was made ?)
6484 made festival-server support turned off by default.
6485 Added support for a simple magnifier (off by default)
6486 which will be added to a 'util' directory later.
6487 * at-bridge/Makefile.am:
6488 Changed "application.h" header from a 'source'
6489 to a 'dependency' of libat-bridge.
6491 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6500 Added interface implementation c files to list of
6501 includes so they are included in libcspi.
6504 Changed prototype of AccessibleAction_doAction to return a
6506 Changed prototype of AccessibleTable_getCaption to
6507 return an Accessible.
6508 Changed prototype of AccessibleTable_getSelectedRows
6509 and AccessibleTable_getSelectedColumns to
6510 return a long (returns the number of selected rows
6511 or columns respectively).
6512 Changed name of AccessibleText_refRunAttributes to
6513 AccessibleText_getAttributes.
6514 Changed prototype of AccessibleText_getCharacterExtents to
6515 return a void rather than a boolean.
6516 Added support for a AccessibleCoordType parameter
6517 specifying what type of coordinates are desired.
6518 Added an AccessibleCordType parameter to
6519 AccessibleText_getPointAtOffset.
6521 * cspi/spi_accessible.c:
6522 Added code to return the outstanding interfaces from
6523 Accessible_queryInterface.
6525 * cspi/spi_action.c:
6527 Corrected call to getNActions to call the c binding
6530 * cspi/spi_editabletext.c:
6532 Changed name from setRunAttributes to setAttributes.
6534 * cspi/spi_hyperlink.c:
6536 Changed call to getNAnchors to correctly call the c
6537 binding for an attribute.
6539 * cspi/spi_hypertext.c:
6541 Changed getImageDescription to correctly call the
6542 binding for an attribute.
6544 * cspi/spi_selection.c:
6545 Changed getNSelectedChildren to correctly call the c
6546 binding for the attribute.
6547 Changed refSelectedChild to getSelectedChild.
6551 Changed getCaption to return an Accessible.
6552 Fixed calls which retrieve attributes.
6553 Changed refAt to getAccessibleAt.
6554 Changed getNSelectedRows and getNSelectedColumns to
6558 Changed getCharacterExtents and getPointAtOffset to accept an
6559 AccessibleCoordType.
6561 Changed calls which retrieve attributes.
6562 Changed refRunAttributes to getAttributes.
6567 * idl/Hyperlink.idl:
6568 Changed n_anchors attribute to nAnchors to keep naming
6569 convention consistent.
6572 Made Table inherit from Bonobo::Unknown.
6573 Added nSelectedColumns and nSelectedRows attributes.
6576 Made Value inherit from Bonobo::Unknown.
6578 * libspi/hyperlink.c:
6579 Change for nAnchors attributte name change.
6581 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6589 Added interface implementation c files to list of
6590 includes so they are included in libcspi.
6593 Changed prototype of AccessibleAction_doAction to return a
6595 Changed prototype of AccessibleTable_getCaption to
6596 return an Accessible.
6597 Changed prototype of AccessibleTable_getSelectedRows
6598 and AccessibleTable_getSelectedColumns to
6599 return a long (returns the number of selected rows
6600 or columns respectively).
6601 Changed name of AccessibleText_refRunAttributes to
6602 AccessibleText_getAttributes.
6603 Changed prototype of AccessibleText_getCharacterExtents to
6604 return a void rather than a boolean.
6605 Added support for a AccessibleCoordType parameter
6606 specifying what type of coordinates are desired.
6607 Added an AccessibleCordType parameter to
6608 AccessibleText_getPointAtOffset.
6610 * cspi/spi_accessible.c:
6611 Added code to return the outstanding interfaces from
6612 Accessible_queryInterface.
6614 * cspi/spi_action.c:
6616 Corrected call to getNActions to call the c binding
6619 * cspi/spi_editabletext.c:
6621 Changed name from setRunAttributes to setAttributes.
6623 * cspi/spi_hyperlink.c:
6625 Changed call to getNAnchors to correctly call the c
6626 binding for an attribute.
6628 * cspi/spi_hypertext.c:
6630 Changed getImageDescription to correctly call the
6631 binding for an attribute.
6633 * cspi/spi_selection.c:
6634 Changed getNSelectedChildren to correctly call the c
6635 binding for the attribute.
6636 Changed refSelectedChild to getSelectedChild.
6640 Changed getCaption to return an Accessible.
6641 Fixed calls which retrieve attributes.
6642 Changed refAt to getAccessibleAt.
6643 Changed getNSelectedRows and getNSelectedColumns to
6647 Changed getCharacterExtents and getPointAtOffset to accept an
6648 AccessibleCoordType.
6650 Changed calls which retrieve attributes.
6651 Changed refRunAttributes to getAttributes.
6656 * idl/Hyperlink.idl:
6657 Changed n_anchors attribute to nAnchors to keep naming
6658 convention consistent.
6661 Made Table inherit from Bonobo::Unknown.
6662 Added nSelectedColumns and nSelectedRows attributes.
6665 Made Value inherit from Bonobo::Unknown.
6667 * libspi/hyperlink.c:
6668 Change for nAnchors attributte name change.
6671 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
6673 implementations-- made server implementations own AtkObject pointers
6674 rather than their respective AtkInterrface pointers to fix
6675 refcounting. AtkHyperlink is still broken.
6677 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6678 * cspi/spi_accessible.c:
6679 Added method Accessible_Role_getName(),
6680 and requisite string array (role_names).
6681 Added conversion string_from_corba_strin() call
6682 to Accessible_getName and _getDescription.
6683 * libspi/accessible.c:
6684 Added implementation for Accessible_getRole()
6686 Added festival support, used if environment variable
6689 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6691 * at-bridge/bridge.c:
6692 Now allocate Accessibility_Event using
6693 Accessibility_Event__alloc() instead of g_new0().
6694 * libspi/accessibleeventlistener.c:
6695 Initialize AccessibleEventListener->callbacks to NULL.
6696 Fixed accessible__event_listener_init() param, changed to
6697 "AccessibleEventListener *" type.
6698 Changed a bonobo_object_release_unref() call to
6699 Accessibility_Accessible_unref().
6700 * libspi/listener.c:
6701 Changed Bonobo_Unknown_unref to (equivalent)
6702 Accessibility_Accessible_unref.
6703 * libspi/registry.c:
6704 Changed bonobo_object_release_unref to
6705 Accessibility_Accessible_unref.
6707 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6710 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
6711 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
6712 spi-util.c spi-util.h
6713 Implementations for C bindings to remaining accessibility
6716 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6719 changed return value of Action from void to boolean to
6720 bring in line with ATK.
6723 Changed getText funcions to return "out" start and end offsets.
6724 Changed getAttributes to take and offset and return the start
6725 and end offset of the attribute run.
6726 Changed getOffsetAtPoint and getCharacterExtents to take an
6727 enum describing whether coordinates are window or screen.
6730 libspi/action.c libspi/action.h libspi/editabletext.c
6731 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
6732 libspi/hypertext.c libspi/hypertext.h libspi/image.c
6733 libspi/image.h libspi/selection.c libspi/selection.h
6734 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
6735 libspi/value.c libspi/value.h
6736 Added server implementations for outstanding ATK interfaces
6737 not yet implemented.
6739 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6742 Added (missing) getName() method.
6743 Made nActions an attribute.
6744 * idl/EditableText.idl:
6745 Changed order of params in setAttributes.
6746 * idl/Hyperlink.idl:
6747 Removed getAnchor, added getURI.
6749 Changed attributes to methods, for efficiency
6750 (so that getting extents can be done in one call)
6751 * idl/Selection.idl:
6752 Changed nSelectedChildren to attribute, and re-indented.
6753 * idl/Table.idl: changed nrows, ncolumns, caption, summary
6755 * idl/Text.idl: reformatted to match our coding style.
6756 (temporarily?) removed getRowColumnAtOffset().
6757 Changed text selection API to support multi-select and
6758 non-contiguous selections, as in ATK.
6759 * idl/Value.idl: changed some methods to attributes.
6761 2001-08-24 Mark McLoughlin <mark@skynet.ie>
6763 * libspi/listener.c(impl_notify_event):
6764 BonoboUnkown_unref the source instead
6765 of bonobo_object_release_unref - the ORB
6766 handles the releasing.
6768 * configure.in: require ORBit-2.3.94 for
6771 2001-08-21 Bill Haneman <bill.haneman@sun.com>
6773 Tagged CVS repository 'EA_1_0'.
6774 * README.EARLY_ACCESS:
6775 Alphabetized acknowledgements list, and
6777 Listed some known dependencies of at-spi.
6779 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6781 * docs/at-spi-docs.sgml:
6782 * docs/at-spi-sections.txt:
6783 * docs/at-spi-overrides.txt: (Added zero-length file)
6784 Documentation improvements - gtk-doc should build
6785 docs for all implemented C bindings now.
6788 * cspi/spi.c: (New file)
6789 * cspi/spi_event.c: (New file)
6790 * cspi/spi_registry.c: (New file)
6791 * cspi/spi_accessible.c: (New file)
6792 * cspi/spi_application.c: (New file)
6793 * cspi/spi_component.c: (New file)
6794 Split spi_main.c into six parts, and included them from
6795 "spi.c". This is a bit of a hack, probably temporary,
6796 but required by gtk-doc, apparently.
6798 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6801 * docs/at-spi-docs.sgml:
6802 * docs/at-spi-sections.txt:
6804 Initial checkins/modifications for gtk-doc generation.
6807 Added (missing) interface query methods to Accessible's C binding.
6809 Added GenericInterface type definition.
6811 Added query for AccessibleComponent interface to focus event handler.
6812 Added printout of bounding box for focussed component.
6813 * libspi/component.c:
6814 Added partial implementation for AccessibleComponent to C binding.
6815 * idl/Application.idl:
6816 * libspi/registry.c:
6817 * libspi/listener.c:
6818 * libspi/application.c:
6819 * libspi/application.h:
6820 Changed "ID" attribute type from string to long.
6822 2001-08-19 Bill Haneman <bill.haneman@sun.com>
6826 Made method naming consistent: methods taking object args
6827 start with uppercase, other methods (except those using
6828 acronyms) start with lowercase. Underscores delimit between
6829 object names and method names:
6830 SPI_init() - uppercase since it starts with an acronym.
6831 getDesktopCount () - lowercase start since no object param0.
6832 Accessible_getName() - uppercase object type name, studlyCaps method
6836 Added gtk-doc documentation for all currently implemented
6837 methods in the C bindings API.
6839 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6841 * Makefile.am : changed build order to build test last.
6844 Changed "createEventListener" to "CreateEventListener".
6845 * libspi/accessibleeventlistener.c :
6846 Bugfix for addition of callbacks.
6847 * test/Makefile.am :
6848 * test/simple-at.c :
6849 Added new test that uses the C bindings API.
6851 * libspi/listener.c :
6852 * libspi/registry.c :
6853 * libspi/accessibleeventlistener.c :
6854 * at-bridge/bridge.c :
6855 Renamed member "target" of Accessibility_Event to "source",
6856 which is more descriptive.
6859 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6863 * cspi/Makefile.am :
6864 Added makefile support for at-spi/cspi directory.
6867 * cspi/spi-listener.h : (NEW FILE)
6868 Added support for/use of spi-listener.h.
6870 C bindings now build successfully, with no warnings.
6871 * libspi/accessibleeventlistener.h : (NEW FILE)
6872 * libspi/accessibleeventlistener.c : (NEW FILE)
6873 * libspi/Makefile.am :
6874 Added new object type "AccessibleEventListener"
6875 which inherits from Listener, and allows attachment
6876 of in-process callbacks (so that a client with a listening
6877 object instance can add functionality to the local
6878 implementation, dynamically).
6880 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6882 * libspi/accessible.c:
6883 Add implementation for get_index_in_parent().
6885 Added #include of "spi-roletypes.h", and
6886 added enumerated type AccessibleCoordType.
6887 Added definition for KeystrokeListener (function type).
6890 * cspi/spi-statetypes.h :
6891 * cspi/spi-roletypes.h :
6893 Added these headers, used by spi.h.
6895 Added code (NOTE: not yet built by make).
6897 2001-08-18 Mark McLoughlin <mark@skynet.ie>
6899 * libspi/Makefile.am: generate imodule
6900 at the same time as other idl compiler
6903 2001-08-17 Bill Haneman <bill.haneman@sun.com>
6904 * libspi/registry.c :
6905 * libspi/application.c :
6906 * idl/Application.idl :
6907 Made registration with toolkit an application method,
6908 which is required since each app has its own toolkit static
6909 environment. Thus the bridge must register for
6910 notification of toolkit events from each application in turn.
6911 Toolkit notifications are now successfully registered for, and
6912 sent to the listening at client.
6914 Changed toolkit event string to use hyphens rather than underscores.
6915 * libspi/listener.c :
6916 listner now gives more info in debug mode - it reports the
6917 name of the event received, as well as the name of the source.
6920 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6922 * libspi/registry.c :
6923 added more implementation for toolkit events.
6924 Fixed bug such that toolkit event registrations
6925 (via atk) use the whole event name string, not
6927 Removed a useless call to an ORBit_ method.
6928 * at-bridge/bridge.c :
6929 Removed unused local sbuf[] variable.
6931 We now register for Gtk:GtkWidget:button_press_event
6932 events as well as "focus:" events.
6934 Add some more API from Registry.idl that was missing,
6935 for keystroke listening, keystroke and mouse event
6936 synthesis, and enumeration of accessible desktops.
6938 2001-08-16 Michael Meeks <michael@ximian.com>
6940 * configure.in: use AM_GLIB_GNU_GETTEXT.
6942 * Makefile.am (SUBDIRS): kill intl.
6944 2001-08-15 Michael Meeks <michael@ximian.com>
6946 * registryd/Makefile.am: s/oaf/server/ relocate info file.
6948 * configure.in: upd.
6950 * configure.in: depend on a recent bonobo-activation that
6951 will find our server files ...
6953 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6955 * libspi/accessible.c : accessible_new() :
6956 Now we add the Component interface via bonobo_object_add_interface,
6957 if the contained AtkObject implements AtkComponent.
6958 * libspi/accessible.h : now include "component.h"
6959 * libspi/component.h :
6960 * libspi/component.c : added files - implementation of
6961 bonobo wrapper object for Accessibility/Component
6962 * libspi/listener.c :
6963 Added test code to check for Accessibility/Component:1.0
6964 interface and report whether it is implemented by the
6966 * libspi/registry.c :
6967 Now we check for not only the hash of the whole event
6968 string before relaying the event, we also check the
6969 "minor" event string (without the detail string).
6970 This allows event listeners to be registered against
6971 all events of a certain major+minor type, or just
6972 against a specific major+minor+detail type.
6973 * libspi/accessible.c :
6974 Added implementations for Accessible:get_parent(),
6975 Accessible:getChildCount(), and Accessible:getChildAtIndex().
6976 * libspi/registry.c :
6977 * libspi/listener.c :
6978 Replaced calls to Accessibility_Accessible_ref() and
6979 Accessibility_Accessible_unref() with
6980 calls to bonobo_object_dup_ref() and
6981 bonobo_object_release_unref(), so that the CORBA object
6982 is dup-ed and released when relayed, as well as the bonobo object.
6984 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6986 * libspi/Makefile.am,
6987 registryd/Makefile.am,
6988 at-bridge/Makefile.am.
6989 test/Makefile.am, configure.in:
6990 reverse previous changes.
6992 * /idl/Image.idl: fix typo.
6994 * test/Makefile.am: put DEBUG_FLAGS
6997 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6999 * test/app.c: use argv[0] instead of
7002 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7004 * libspi/Makefile.am,
7005 registryd/Makefile.am,
7006 at-bridge/Makefile.am.
7007 test/Makefile.am, configure.in:
7008 cleanup, replace individual LIBS/CFLAGS with
7009 AT_COMMON_{LIBS|CFLAGS}.
7013 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7015 * configure.in, libspi/Makefile.am:
7016 Change IDL path checking for bonobo-activation
7019 2001-08-15 Bill Haneman <bill.haneman@sun.com>
7021 * registryd/registry.c : separated event listeners to use
7022 3 separate lists (focus, window, toolkit). Began testing
7023 event names against hashes before relaying events.
7024 * test/at.c : now register for events of type "focus:"
7025 * test/app.c : now generate events of type "focus:"
7026 * at-bridge/bridge.c : register with ATK for focus events,
7027 and we now relay those focus events to any "focus:" listeners.
7028 This now works with the bridge as a GTK_MODULE when running test/at.
7029 * libspi/registry.c :
7030 * libspi/listener.c :
7031 now we ref event sources before propagating, and unref on receipt.
7032 * libspi/registry.c :
7033 some changes to internal structs, to support event typestring hashes.
7034 * text/app.c : changed the way the appname is generated.
7035 * cspi : added directory that will hold the C bindings library for
7036 non-CORBA/bonobo-savvy clients.
7037 * cspi/spi.h : header file that contains the function prototypes for the C binding.
7038 * idl/Component.idl : added in parameter to indicate coord system for
7039 geometry-related calls.
7040 * idl/Hyperlink.idl : added readonly n_links attribute
7041 * idl/Image.idl : changed methods to attributes.
7043 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7045 * at-bridge/Makefile.am: link against
7046 ../libspi/libspi.la instead of -lspi.
7048 * at-spi/test/app.c: include
7049 bonobo-activation.h. Use a default appname
7050 if one is not provided.
7052 2001-08-14 Bill Haneman <bill.haneman@sun.com>
7054 * idl/Registry.idl : temporarily changed register_Application
7055 to oneway, to work around issue with initial registration
7057 * idl/Application.idl : changed attribute "id" from readonly
7058 to read-write, since it needs to be assigned by Registry.
7059 * registryd/registryd.c : added call to set application id
7061 * registryd/registry.c : changed de-registration procedure to
7062 use CORBA_Object_hash() to find matching object ref in application
7063 lists and listener lists.
7064 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
7065 began distinguishing between event types (work in progress).
7067 2001-08-13 Bill Haneman <bill.haneman@sun.com>
7070 * libspi/application.c:
7071 Added implementations for get/set id, get_toolkitName,
7073 * registryd/registryd.c :
7077 Converted from use of OAF to bonobo-activation.
7078 * libspi/desktop.h :
7079 * libspi/desktop.c :
7081 Removed references to atksimpleobject, since base atkobject
7082 implementation now provides functionality we need.
7083 * libspi/atksimpleobject.c :
7084 * libspi/atksimpleobject.h :
7089 * at-bridge/Makefile.am
7090 * at-bridge/bridge.c
7093 Added directory "bridge" and contents, and added dependencies
7094 in Makefile.am/configure.in.
7095 Initial checkin of "at-bridge".
7096 This code is a GTK_MODULE which automatically registers
7097 GTK+ apps with the accessibility registry, using an object
7098 reference to the root ATK object.
7100 2001-08-10 Mark McLoughlin <mark@skynet.ie>
7102 * po/Makefile.in.in: Remove. Again. If this
7103 doesn't get autogenerated - you need to update
7106 2001-08-07 Mark McLoughlin <mark@skynet.ie>
7108 * po/Makefile.in.in: Add. Again.
7110 2001-07-31 Bill Haneman <bill.haneman@sun.com>
7112 * libspi/accessible.c : added support for 'description' property.
7113 * libspi/accessible.c
7115 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
7116 (since the two are now equivalent in libbonobo)
7124 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
7125 Bonobo::Unknown as does Accessibility::Accessible.
7126 * idl/StreamableContent.idl : as above, and replaced internal InputStream
7127 interface with Bonobo::Stream, since it was redundant with it.
7128 (The Stream returned by a StreamableContext object is expected to
7129 implement only a subset of Bonobo::Stream)
7131 2001-07-28 Anders Carlsson <andersca@gnome.org>
7133 * libspi/accessible.c (accessible_object_finalize): Change
7134 g_free to g_object_unref since the AtkObject is a GObject.
7136 2001-07-30 Bill Haneman <bill.haneman@sun.com>
7138 * idl/Accessibility.idl: add new IDL files
7141 * idl/Action.idl: Definitions of actionable UI object
7142 * idl/Component.idl: Definitions of UI component geometry, etc.
7143 * idl/Hyperlink.idl: Defs of hyperlink behavior
7144 * idl/Image.idl: Def of accessible image
7145 * idl/Selection.idl: Definition of UI object with selectable children
7146 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
7147 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
7148 * idl/Text.idl: Interface defs for UI elements with complex textual content
7149 * idl/Value.idl: Definition of UI element that is a value controller or display
7151 2001-07-27 Michael Meeks <michael@ximian.com>
7153 * po/Makefile.in.in: remove autogenerated file from CVS.
7155 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
7158 * idl/Registry.idl: include guard.
7160 * idl/Accessibility.idl: Add, and include all the other IDL
7163 * idl/*.idl: remove mass of pragmas etc.
7165 2001-07-26 Michael Meeks <michael@ximian.com>
7167 * registryd/Makefile.am (registryd_SOURCES): remove
7170 2001-07-27 Mark McLoughlin <mark@skynet.ie>
7172 * libspi/.cvsignore, registryd/.cvsignore,
7173 test/.cvsignore: updated.
7175 * po/Makefile.in.in: gettext update.
7177 2001-07-25 Bill Haneman <bill.haneman@sun.com>
7179 * initial CVS checkin
7181 2001-06-29 Michael Meeks <michael@ximian.com>
7183 * configure.in: add AM_CONFIG_HEADER to gen config.h