1 2005-01-25 Padraig O'Briain <padraig.obriain@sun.com>
3 * tests/login-helper-server-test.c: Add return call to main
4 function. Patch from Chris Lahey. Fixes bug #165129.
6 2004-12-20 Padraig O'Briain <padraig.obriain@sun.com>
8 * cspi/spi.h: Add description for SPI_RELATION_SUBWINDOW_OF.
10 2004-12-09 Bill Haneman <billh@gnome.org>
12 * registryd/registry-main.c:
13 Added #define <string.h> for strrchr. (bug 160862).
14 Thanks to Vincent Berger for catching.
16 2004-12-09 Padraig O'Briain <padraig.obriain@sun.com>
18 * atk-bridge/bridge.c (spi_atk_get_registry): Do not attempt to
19 restart registry process if the registry process is found to have died
20 and the current process is exiting.
21 (spi_atk_bridge_exit_func): Do not attempt to deregister the
22 application if the registry process has died.
23 (spi_atk_emit_eventv): Return if call to spi_atk_get_registry
24 does not return a registry object.
25 (spi_atk_tidy_windows): Give up if the registry process has died.
27 This fixes problems with hangs and crashes when logging out.
29 2004-12-03 Padraig O'Briain <padraig.obriain@sun.com>
31 * registryd/desktop.c: Add checking that we are not exiting before
32 calling spi_desktop_remove_application in
33 abnormal_application_termination. Fix for bug #152147.
35 2004-12-02 Bill Haneman <billh@gnome.org>
37 * configure.in, NEWS, README: Revved to 1.6.1.
39 Patch from Padraig O'Briain <padraig.obriain@sun.com>
40 * atk-bridge/bridge.c:
41 (atk_bridge_init): Save the pid when we start, to detect forks.
42 (spi_atk_bridge_exit_func): Don't call the cleanup routines
43 if we're in a forked pid.
45 2004-10-09 Bill Haneman <billh@gnome.org>
47 * idl/Accessibility_LoginHelper.idl:
48 Improved inline documentation.
50 2004-10-02 Jesus Bravo Alvarez <suso@trasno.net>
52 * configure.in: Added gl (Galician) to ALL_LINGUAS
54 2004-09-30 Kjartan Maraas <kmaraas@gnome.org>
56 * libspi/accessible.c:
57 (impl_accessibility_accessible_get_role_name),
58 (impl_accessibility_accessible_get_local_role_name):
61 (impl_accessibility_component_get_accessible_at_point):
63 * libspi/eventlistener.c: (spi_event_listener_new):
65 * libspi/stateset.c: (impl_compare): More of the same
66 * libspi/table.c: (impl_getRowDescription): Again.
67 * registryd/desktop.c: (spi_atk_desktop_get_type): Same
68 * registryd/deviceeventcontroller.c: (spi_clear_error_state),
69 (impl_generate_keyboard_event): Same.
70 * registryd/registry-main.c: (main): Same
71 * test/event-listener-test.c: (test_exit): Same
72 * test/keysynth-demo.c: (scan_state), (create_vkbd): Same
73 * test/keysynth-test.c: (test_key_synthesis): Same
74 * test/login-helper-server-test.c: (main): Fix warning.
75 * test/screen-review-test.c: (test_exit): Fix include.
76 * test/simple-at.c: (simple_at_exit), (_festival_init):
79 2004-09-13 Padraig O'Briain <padraig.vriain@sun.com>
81 * configure.in, NEWS, README: Revved to 1.6.0.
83 2004-09-12 Bill Haneman <bill.haneman@sun.com>
85 * configure.in: Rev and re-dist, since the 1.5.4 tarball
86 was missing the HTML docs.
88 2004-09-12 Tomasz Kłoczko <kloczek@pld.org.pl>
90 * configure.in: only cleanups:
91 - better looking PKG_CHECK_MODULES() output,
93 - declare in one common place required versions of other tools using
96 2004-09-11 J.H.M. Dassen (Ray) <jdassen@debian.org>
98 * configure.in: libspi/accessible.c uses ATK_ROLE_EMBEDDED
99 (unconditionally) which was introduced in ATK 1.7.2. Bumped the
100 required ATK version accordingly.
102 2004-09-03 Bill Haneman <bill.haneman@sun.com>
104 * cspi/bonobo/cspi-bonobo.c:
105 (cspi_display_name): Fix C99ism.
106 * atk-bridge/bridge.c:
107 (spi_display_name): Fix C99ism.
108 Patch from Jens Granseuer, jensgr@gmx.net.
110 2004-09-03 Gora Mohanty <gmohanty@cvs.gnome.org>
112 * configure.in: Added "or" to ALL_LINGUAS.
114 2004-08-20 Bill Haneman <bill.haneman@sun.com>
116 * configure.in, NEWS, README: Revved to 1.5.4.
118 * registryd/registry-main.c:
119 (main): Set the reg_env to use AT_SPI_DISPLAY instead of
122 * cspi/bonobo/cspi-bonobo.c:
123 (cspi_display_name): New convenience method, gets DISPLAY with
124 screen number stripped, if AT_SPI_DISPLAY isn't already set.
125 (cspi_init): Set the activation env value above before getting
128 * atk-bridge/bridge.c:
129 (spi_display_name): Create the AT_SPI_DISPLAY activation
130 environment for an app, based on the DISPLAY environment with the
131 screen number stripped off.
132 (atk_bridge_init): Allow redirection of error messages to a log.
133 (spi_atk_bridge_get_registry): Call
134 bonobo_activation_set_activation_env_value for AT_SPI_DISPLAY.
136 Fixes for bugs #149962, #136986, #144086.
138 2004-08-16 Christian Rose <menthos@menthos.com>
140 * configure.in: Added "bs" to ALL_LINGUAS.
142 2004-08-12 Kjartan Maraas <kmaraas@gnome.org>
144 * configure.in: Added nb to ALL_LINGUAS.
146 2004-09-03 Bill Haneman <bill.haneman@sun.com>
149 (SPI_init): Return error code '2' if the activated
150 registry cannot be pinged. Fixes bug #147648.
152 2004-07-28 Bill Haneman <bill.haneman@sun.com>
154 * registryd/deviceeventcontroller.c:
155 (spi_dec_init_mouse_listener): Don't do XGrabButton,
156 rely on timer-poll instead, to avoid conflict with
159 2004-07-20 Bill Haneman <bill.haneman@sun.com>
161 * configure.in: Revved to 1.5.3.
163 * idl/Accessibility_Role.idl: Added ROLE_EMBEDDED (bug #144415).
165 * libspi/accessible.c: Added support for ROLE_EMBEDDED.
167 * cspi/spi_accessible.c: Support for ROLE_EMBEDDED.
169 * cspi/spi-roletypes.h: Added SPI_ROLE_EMBEDDED.
171 2004-06-11 Bill Haneman <bill.haneman@sun.com>
173 * atk-bridge/bridge.c:
174 (spi_atk_bridge_do_registration):
175 Register with ATK for AtkComponent:bounds-changed events.
176 (api_atk_bridge_signal_listener):
177 Marshal the AtkRectangle info into the event notification
178 for object:bounds-changed events.
181 (spi_init_any_rect): New method, inits a corba struct of
182 type Accessibility_BoundingBox from an AtkRectangle.
184 * libspi/spi-private.h: Declared spi_init_any_rect (above).
187 (SPIRect): New struct definition.
188 (SPI_freeRect): New declaration.
189 (AccessibleBoundsChangedEvent_getNewBounds): New, see below.
192 (AccessibleBoundsChangedEvent_getNewBounds): New method,
193 implemented. Gets the bounding box data from the CORBA_any
194 associated with a bounds-changed event notification.
195 (cspi_internal_event_get_rect): New, used internally by above method.
198 (SPI_freeRect): Implemented this new method, for freeing
201 * test/event-listener-test.c:
202 (main, report_bounds_event):
203 Added a test for object:bounds-changed events.
205 2004-06-01 Bill Haneman <bill.haneman@sun.com>
207 * test/login-helper-server-test.c:
208 (main): Fix C99-ism. Thanks to Jens Granseuer.
210 2004-05-28 Padraig O'Briain <padraig.obriain@sun.com>
212 * libloginhelper-1.0.pc.in:
213 * idl/Accessibility_LoginHelper.idl:
214 * login-helper/Makefile.am:
215 * login-helper/login-helper.[ch]:
216 * test/login-helper-client-test.c:
217 * test/login-helper-server-test.c: Added files missing from CVS.
218 Files obtained from at-spi-1.5.2 tarball.
220 2004-05-27 Bill Haneman <bill.haneman@sun.com>
222 * configure.in: Create login-helper/Makefile.
223 Incremented micro version.
225 * Makefile.am: Add login-helper subdir and pkgconfig data.
227 * login-helper: New subdir.
229 * libloginhelper-1.0.pc.in: New.
231 * idl/Accessibility_LoginHelper.idl: New file, defines
232 interface whereby authentication clients can identify agents which
233 need access to services during the login process, e.g. screen lock
236 * login-helper/Makefile.am : New.
238 * login-helper/login-helper.[ch] : New, implementation of
239 a LoginHelper base class. Services needing LoginHelper can subclass.
241 * test/Makefile.am : Added test for login-helper, client and
244 * test/app.c, at.c, keypad-test.c, keysynth-test.c, stress-test.c:
245 Use proper prefix in #include files.
247 * test/login-helper-client-test.c: New.
249 * test/login-helper-server-test.c: New.
251 2004-05-27 Alexander Shopov <ash@contact.bg>
253 * configure.in (ALL_LINGUAS): Added "bg" (Bulgarian)
255 2004-05-14 Padraig O'Briain <padraig.obriain@sun.com>
257 * cspi/spi_main.c (cspi_object_unref): Add check that reference count
258 is positive. This should make it easier to detect inapprorpiate unref
261 2004-05-11 James Henstridge <james@daa.com.au>
263 * configure.in: remove GNOME_PLATFORM_GNOME_2 macro, which is a
264 no-op and deprecated.
266 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
268 * configure.in: Added "wa" (Walloon) to ALL_LINGUAS.
270 2004-04-28 Bill Haneman <billh@gnome.org>
272 * Makefile.am: Added --enable-gtk-doc to
273 DISTCHECK_CONFIGURE_FLAGS; fixes make distcheck.
275 2004-04-19 Bill Haneman <billh@gnome.org>
277 * configure.in: Revved to 1.5.1.
279 * registryd/deviceeventcontroller.c:
281 (DEControllerPrivateData): Added fields for
282 reserved_keycode, reserved_keysym, and reserved_reset_timeout.
283 (spi_dec_replace_map_keysym): New internal utility for
284 replacing a keysym in the keymap - used to allow
285 synthesis of individual characters which aren't in the
287 (spi_dec_reset_reserved): New; resets the changed keysym value
289 (keycode_for_keysym): We now try to deal with failed
290 XKeysymToKeycode requests by changing a keymap value
291 and returning a reserved keycode. We now take
292 a DEController pointer as first arg.
293 (spi_controller_register_with_devices): Call XkbGetMap with
294 the XkbKeySymsMask. Find the highest keycode in the current
295 keymap which doesn't have any grabs, and mark that one for
296 temporary re-mapping when out-of-range KeySyms are synthesized.
297 (dec_synth_keycode_press): Call XFlush after synthesizing the key
300 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
302 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
304 2004-03-24 Alexander Winston <alexander.winston@comcast.net>
306 * configure.in: Added "en_CA" (Canadian English) to ALL_LINGUAS.
308 2004-03-24 Bill Haneman <billh@gnome.org>
311 (AccessibleTable_addRowSelection),
312 (AccessibleTable_addColumnSelection),
313 (AccessibleTable_removeRowSelection),
314 (AccessibleTable_removeColumnSelection):
315 Add declarations for spi wrappers which were
316 inadvertantly omitted. Fixes bug #133413.
319 Revved to 1.5.0 (unstable series for GNOME 2.7).
321 2004-03-24 Bill Haneman <billh@gnome.org>
323 * atk-bridge/bridge.c:
324 Bracketed some debug output in
325 conditionals, to avoid printing it in normal use.
328 * libspi/hyperlink.c:
329 Don't cast 'object' to ATK_OBJECT when constructing
330 an AtkAction interface for a hyperlink.
331 See discussion in bug #120659.
333 * test/key-listener-test.c:
334 (report_all_key_event): Send output to stderr,
335 not stdout, for consistency with the rest of the test callbacks.
338 Add -lXext to XINPUT_LIBS. Fix for bug #132237.
339 Don't add X_LIBS to CFLAGS (Fix for bug #134332).
340 Incremented to 1.4.1 (but didn't dist yet - I'm going to
341 try incrementing the revision AFTER doing a dist, at least
344 2004-03-22 Bill Haneman <billh@gnome.org>
346 * configure.in: Revved to 1.4.0, libtool 9.14.9
348 2004-03-17 Laszlo Peter <laca@sun.com>
350 * libspi-1.0-uninstalled.pc.in: add idldir
352 * cspi-1.0-uninstalled.pc.in: add idldir
354 2004-03-16 Gareth Owen <gowen72@yahoo.com>
356 * configure.in: Added "en_GB" to ALL_LINGUAS
358 2004-03-15 Bill Haneman <billh@gnome.org>
360 * configure.in: Revved to 1.3.16,
363 2004-03-15 Laszlo Peter <laca@sun.com>
365 * libspi-1.0-uninstalled.pc.in: new file
367 * cspi-1.0-uninstalled.pc.in: new file
369 * configure.in: add the new pc files to AC_OUTPUT
371 * Makefile.am: add the new pc files to EXTRA_DIST
373 2004-03-12 Bill Haneman <billh@gnome.org>
375 * atk-bridge/bridge.c:
376 (spi_atk_bridge_key_listener):
377 Make sure to return consumed=FALSE if snoop
378 event is not dispatched to listener.
381 2004-03-01 Bill Haneman <billh@gnome.org>
383 * configure.in: Revved to 1.3.15,
386 2004-03-07 Danilo Segan <dsegan@gmx.net>
388 * configure.in: Added "sr@ije" to ALL_LINGUAS.
390 2004-03-03 Guntupalli Karunakar <karunakar@freedomink.org>
392 * configure.in: Added "pa" for Punjabi in ALL_LINGUAS.
394 2004-03-01 Bill Haneman <billh@gnome.org>
396 * configure.in: Revved to 1.3.14.
399 (SPI_exit): Removed "bye-bye" exit message.
400 Moved "leak" report to happen before the
401 iteration over the leaked refs list.
402 Don't PRINT_LEAKS unless DEBUG_OBJECTS is also #defined.
404 2004-02-24 Bill Haneman <billh@gnome.org>
406 * configure.in: Revved to 1.3.13.
408 * docs/reference/cspi/Makefile.am:
409 Correct typo that was breaking the docs build.
411 2004-02-11 Padraig O'Briain <padraig.obriain@sun.com>
413 * autogen.sh: Require version 1.7 of automake.
415 * configure.in: call GTK_DOC_CHECK([1.0])
417 * atk-bridge/Makefile.am: Remove use of LDFLAGS and CFLAGS
419 * docs/reference/cspi/Makefile.am: Update to use new gtk-doc.
421 * libspi/Makefile.am: Remove use of LDFLAGS and CFLAGS.
423 * test/Makefile.am: Remove use of CFLAGS.
425 This fixes bug #132987.
427 2004-02-11 Bill Haneman <billh@gnome.org>
429 * reverted most of Tomasz' patch below, since it was breaking
430 builds (see bug #134058).
432 2004-02-10 Tomasz Kłoczko <kloczek@pld.org.pl>
434 * docs/reference/cspi/at-spi-cspi.types: added empty file for
435 correct pass "make dist" (empty .. because seems no sach types in
436 header files with gtk-doc markups).
437 * docs/reference/cspi/Makefile.am, configure.in:
438 Added better gtk-doc support using GTK_DOC_CHECK aclocal macro
439 from gtk-doc >= 1.0 (modyfications based on scheme from atk).
440 * Makefile.am: added:
441 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
442 for force correct pass generate documentation on "make distcheck".
443 * libspi/Makefile.am: fixes for automake >= 1.6.
444 * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
445 AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
448 Sun Feb 8 11:20:50 2004 Matthias Clasen <maclas@gmx.de>
450 * docs/reference/cspi/Makefile.am (install-data-local): Install
451 index.sgml since the doc autobuilder on widget.gnome.org looks for
454 2004-02-02 Padraig O'Briain <padraig.obriain@sun.com>
456 * atk-bridge/bridge.c (spi_atk_tidy_windows): Correct g_free call to
459 2004-02-01 Robert Sedak <robert.sedak@sk.htnet.hr>
461 * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
463 2004-01-27 Brian Cameron <brian.cameron@sun.com>
465 * test/simple-at.c: Fixed null string problems that cause core
466 dumping problems on Solaris.
468 2004-01-12 Bill Haneman <billh@gnome.org>
470 * configure.in: Incremented version to 1.3.11.
472 2004-01-05 Padraig O'Briain <padraig.obriain@sun.com>
474 * docs/reference/cspi/at-spi-cspi-docs.sgml: Added XML in
475 DOCTYPE statement. Fixes bug #129728. Patch supplied by Sebastien
478 2004-01-01 Roozbeh Pournader <roozbeh@sharif.edu>
480 * configure.in: Added "fa" to ALL_LINGUAS.
482 2003-12-20 Arafat Medini <lumina@silverpen.de>
484 * configure.in: Added "ar" to ALL_LINGUAS
486 2003-12-16 Bill Haneman <billh@gnome.org>
488 * registryd/registry-main.c:
490 Set the reg_env DISPLAY variable before registering the
491 activated registry service. Fixes bug #129479.
493 2003-12-16 Mohammad DAMT <mdamt@bisnisweb.com>
495 * configure.in: Added "id" in ALL_LINGUAS
496 * po/id.po: Indonesian translation by Ahmad Riza H Nst <ari@160c.afraid.org>
498 2003-12-15 Padraig O'Briain <padraig.obriain@sun.com>
500 * registryd/deviceeventcontroller.c (global_filter_fn):
501 When an event is consumed discard any XEvents were added to
502 the queue while dealing with the the event. This can happen if
503 processing of the event takes a long time. Call XUngrabKeyboard
504 if an event was discarded. This fixes bug $124837.
505 Only call wait_for_release_event for a KeyPress.
506 Use local variable display instead of spi_get_display().
507 (spi_controller_update_key_grabs): Move call to keycode_for_keysym
510 2003-12-11 Padraig O'Briain <padraig.obriain@sun.com>
512 * registryd/deviceeventcontroller.c (spi_dec_translate_mask):
513 Allow for mask to contain values other than NumLock mask.
516 2003-12-10 Padraig O'Briain <padraig.obriain@sun.com>
518 * registryd/devieceventcontroller.c:
519 (wait_for_release_event): Change first parameter from GdkEvent to
521 (global_filter_fn); Correct call to wait_for_release_event.
525 2003-12-08 Bill Haneman <billh@gnome.org>
529 * registryd/ucs2keysym.c: New file.
531 * registryd/deviceeventcontroller.c:
532 (dec_keysym_for_unichar): Remove old partial implementation and
533 replace with call to ucs2keysym(), which is much more complete.
534 Thanks to Marcus G. Kuhn who put the original keysym2ucs.c into
539 2003-12-05 Bill Haneman <billh@gnome.org>
541 * configure.in: Version 1.3.9.
543 * docs/reference/cspi/tmpl/spi_registry.sgml:
544 Added reference to libspi/keymasks.h to the
545 description of Registry queries: AccessibleKeyMaskType.
548 2003-12-04 Bill Haneman <billh@gnome.org>
552 * idl/Accessibility_Application.idl:
553 (Accessibility::LOCALE_TYPE): New enum, corresponds to
554 setlocale's LC_TYPEs.
555 (Accessibility::Application::getLocale): New method.
556 Allows clients to query the locale, by type, of an app.
559 * cspi/spi_application.c:
560 (AccessibleApplication_getLocale): New method, wraps IDL above.
562 * libspi/application.c:
563 (spi_application_class_init): Init epv entry for getLocale.
564 (impl_accessibility_application_get_locale): Impl for above.
566 * test/test-simple.c:
567 (test_application): Added assertion for getLocale, i.e.
568 that the string from AccessibleApplication_getLocale (app, type)
569 is the same as that from setlocale (type, NULL);
571 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
573 *registryd/deviceeventcontroller.c: Add an idle handler which polls
574 the keyboard on a timeout intil the key state goes from pressed to
575 released. Fixes bug #111429.
577 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
579 * atk-bridge/bridge.c: (atk_bridge_init): Create accessible application
580 root object so that it is present when a context menu in an
581 out-of-process applet is popped up.
582 (spi_atk_bridge_do_registration): Create acceessible application root
583 object only if it does not exist.
585 This fixes bug #125834.
587 2003-12-01 Bill Haneman <billh@gnome.org>
589 Fix for bug #114926. Thanks to Michael Meeks for some of this patch.
592 Added enum for AccessibleStreamableContentSeekType.
593 (AccessibleStreamableContent_freeContentTypeList): New.
595 * cspi/spi_streamablecontent.c:
596 (accessible_bonobo_stream_client_seek): New private method.
597 (AccessibleStreamableContent_seek): Implemented this method,
598 using Bonobo_Stream_seek.
599 (AccessibleStreamableContent_freeContentTypeList): New method
600 for freeing the return value from
601 AccessibleStreamableContent_getContentTypes.
602 (stream_cache_item_free): Replaces stream_release; stop leaks.
603 (stream_release): removed.
604 (AccessibleStreamableContent_read): Use properly init'd CORBA_evs,
605 free the memory properly.
607 2003-12-02 Padraig O'Briain <padraig.obriain@sun.com>
611 * cspi/spi-roletypes.h: Add SPI_ROLE_EDITBAR.
613 * cspi/spi_accessible.c (cspi_init_role_table): Add SPI_ROLE_EDITBAR.
615 * docs/reference/cspi/tmpl/spi-accessible.sgml: Add SPI_ROLE_EDITBAR
617 * idl/Accessibility_Role.idl: Add ROLE_EDITBAR.
619 2003-12-01 Bill Haneman <billh@gnome.org>
621 Fix for bug/rfe #127463.
623 * idl/Accessibility_Accessible.idl:
624 (getLocalizedRoleName): New.
625 (unimplemented4): Removed (replaced by above).
627 * libspi/accessible.c:
628 (impl_accessibility_accessible_get_local_role_name): New.
629 (spi_accessible_class_init): Add getLocalizedRoleName entry to
633 (Accessible_getLocalizedRoleName): New.
635 * cspi/spi_accessible.c:
636 (Accessible_getLocalizedRoleName): New.
638 2003-12-01 Bill Haneman <billh@gnome.org>
641 * idl/Accessibility_Text.idl:
642 (getDefaultAttributes): New.
643 (unimplemented4): Removed (replaced by above method).
646 (impl_getDefaultAttributes): New method.
647 (spi_text_class_init):
648 initialize the get_default_attributes slot in the epv.
651 (AccessibleText_getDefaultAttributes): New prototype.
654 (AccessibleText_getDefaultAttributes): New method.
656 2003-11-06 Padraig O'Briain <padraig.obriain@sun.com>
658 * cspi/spi_accessible.c (cspi_init_relation_type_table): Do not
659 write beyond the end of the table. Fixes bug #120473.
661 2003-09-30 Christian Rose <menthos@menthos.com>
663 * configure.in: Added "eu" to ALL_LINGUAS.
665 2003-09-28 Kjartan Maraas <kmaraas@gnome.org>
667 * configure.in: ALL_LINGUAS: Added no.
669 2003-09-28 Gediminas Paulauskas <menesis@delfi.lt>
671 * configure.in: Added lt to ALL_LINGUAS.
673 2003-09-25 Padraig O'Briain <padraig.obriain@sun.com>
675 * atk-bridge/bridge.c:
676 (atk_bridge_init): Register event listeners always even for
677 out-of-process applet.
678 (spi_atk_bridge_toplevel_added): Remove call to
679 spi_atk_bridge_event_type_consts as it is now called in atk_bridge_init
680 (spi_atk_bridge_toplevelk_removed): Remove call to
681 spi_atk_deregister_event_listenersa as the listeners are now always
683 (spi_atk_bridge_register_application): Remove call to
684 spi_atk_register_event_listeners as it is not done in atk_bridge_init
686 This fixes bug #120991.
688 * libspi/table.c (impl_getColumnDescription): Correct typo,
689 pointed out by Bolian.Yin@sun.com.
691 2003-09-21 Ã
\85smund Skjæveland <aasmunds@fys.uio.no>
693 * configure.in: Added nn to ALL_LINGUAS (which is commented out).
695 2003-09-08 Bill Haneman <billh@gnome.org>
697 * configure.in: Revved to 1.3.7.
699 This is the GNOME 2.4.0 release of at-spi.
701 * docs/reference/cspi/Makefile.am:
702 Removed spurious inclusion of 'index.sgml' in the
703 html directory; this was breaking make distcheck and
704 also some other build environments.
706 2003-09-05 Padraig O'Briain <padraig.obriain@sun.com>
708 * registryd/registry.[ch}:
709 Add queue_handler_id and focus_object to SpiRegistry data structure.
710 (registry_flush_event_queue): If event being discarded is
711 "state-change:focused" store object as focus_object.
712 (registry_start_queue): Remove queue handler and focus object
714 (registry_discard_event): New function which discards a focus event
715 if we had stored focus object in the registry.
716 (registry_queue_event): Add new check that is_queueing is set as this
717 function is reentrant.
718 (registry_filer_event): Add call to registry_discard_event.
720 This resolves issues raised in bug #108664.
722 2003-09-05 Taneem Ahmed <taneem@bengalinux.org>
724 * configure.in: Added "bn" to ALL_LINGUAS.
726 2003-09-04 Bill Haneman <billh@gnome.org>
728 * cspi/spi_event.c: Documentation improvements for
729 (SPI_registerAccessibleKeylistener).
731 * docs/reference/tmpl/spi_registry.sgml:
732 Documentation improvements for SpiAccessibleKeylistenerCB.
734 2003-09-02 Mugurel Tudor <mugurelu@go.ro>
736 * configure.in: Added "ro" to ALL_LINGUAS.
739 2003-09-01 Padraig O'Briain <padraig.obriain@sun.com>
741 * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
742 not decremented to zero. Fixes bug #120725.
744 2003-08-30 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
746 * configure.in: Added "ja" to ALL_LINGUAS.
748 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
750 * configure.in: Added "is" to ALL_LINGUAS.
752 2003-08-22 Christian Rose <menthos@menthos.com>
754 * configure.in: Added "nl" to ALL_LINGUAS.
756 2003-08-19 Padraig O'Briain <padraig.obriain@sun.com>
758 * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
759 * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
761 * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
763 * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
764 type for unspecified exception.
765 * cspi_streamablecontect): Add include of string.h for memcpy.
766 (stream_release): Correct call to bonobo_object_release_unref
767 (stream_cache_item_free): Correct call to bonobo_object_release_unref
768 * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
769 argument of _cspi_expection_throw.
770 * libspi/hyperlink.c: Add include of libspi/action.h:
771 (spi_hyperlink_new): Cast argument to spi_action_interface_new.
772 * libspi/streamablecontent.c: add include of libspi/component.h.
773 * regisrtyd/deviceeventcontroller.c:
774 (spi_dec_translate_mask): Removed unused variable priv.
775 (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
776 * registryd/registry.c:
777 (registry_filter_event): Remove unused variable queue_is-empty.
778 (impl_registry_notify_event): Use correct modifier in fprintf call.
780 This fixes compiler warnings reported in bug #120220.
782 2003-08-18 Padraig O'Briain <padraig.obriain@sun.com>
784 * registryd/registryd.c: Remove this file.
786 2003-08-17 Sanlig Badral <badral@openmn.org>
788 * configure.in: Added mn to ALL_LINGUAS.
790 2003-08-16 Tõivo Leedjärv <toivo@linux.ee>
792 * configure.in: Added et to ALL_LINGUAS.
794 2003-08-13 Padraig O'Briain <padraig.obriain@sun.com>
796 * test/event-listener-test.c: Change active-descendant to
797 active-descendant-changed.
799 2003-08-10 Sami Pesonen <sampeson@iki.fi>
801 * configure.in: Added "fi" in ALL_LINGUAS.
803 2003-08-08 Guntupalli Karunakar <karunakar@freedomink.org>
805 * configure.in: Added "hi" in ALL_LINGUAS.
807 2003-08-08 Padraig O'Briain <padraig.obriain@sun.com>
809 * configure.in: Revved to 1.3.6.
813 2003-08-07 Padraig O'Briain <padraig.obriain@sun.com>
815 * registryd/deviceeventcontroller.c
816 (spi_device_event_controller_object_finalize): Fix typo in previous
819 2003-08-07 Marc Mulcahy <marc.mulcahy@sun.com>
821 * registryd/deviceeventcontroller.c
822 (spi_device_event_controller_object_finalize): Fix build on
823 systems without XEvIE.
825 2003-08-06 Brian Cameron <Brian.Cameron@sun.com>
827 * acconfig.h, configure.in, registryd/Makefile.am,
828 registryd/devicecontoller.[ch]: Add XEViE support.
830 2003-08-06 Wang Jian <lark@linux.net.cn>
832 * configure.in: Added "zh_CN" to ALL_LINGUAS.
834 2003-08-06 Metin Amiroff<metin@karegen.com>
836 * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
838 2003-08-06 Padraig O'Briain <padraig.obriain@sun.com>
840 * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
841 MODIFIER_ALT in correct place.
843 This fixes part of bug #118114.
845 2003-07-30 Alessio Frusciante <algol@firenze.linux.it>
847 * configure.in: Added "it" (Italian) to ALL_LINGUAS.
849 2003-07-28 Changwoo Ryu <cwryu@debian.org>
851 * configure.in: Added "ko" to ALL_LINGUAS.
853 2003-07-28 Ole Laursen <olau@hardworking.dk>
855 * configure.in: Added "da" to the commented out ALL_LINGUAS.
857 2003-07-27 Laurent Dhima <laurenti@alblinux.net>
859 * configure.in: Added "sq" to ALL_LINGUAS.
861 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
863 * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
865 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
867 * configure.in: updated ALL_LINGUAS list
869 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
871 * configure.in: Added Belarusian to ALL_LINGUAS.
873 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
875 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
877 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
878 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
880 This fixes bug #116949.
882 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
884 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
885 Correct CSPI to SPI in function documentation.
887 This fixes bug #118054.
889 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
891 * configure.in: Added Russian to ALL_LINGUAS.
893 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
895 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
897 2003-07-14 Danilo Å Segan <dsegan@gmx.net>
899 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
901 2003-07-10 Joel Brich <joel.brich@laposte.net>
903 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
905 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
907 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
909 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
911 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
912 resources allocated for AccessibleEvent. See cspi_event().
914 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
915 static variable streams to NULL.
917 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
918 Update so that AcessibleEvent_ref will work.
920 This fixes bug #116624.
922 2003-07-06 Jordi Mallach <jordi@sindominio.net>
924 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
926 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
928 * configure.in: Added "fr" (French) to ALL_LINGUAS.
930 2003-07-02 Christian Neumair <chris@gnome-de.org>
932 * configure.in: Added "de" (German) to ALL_LINGUAS.
934 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
936 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
938 2003-07-01 Miloslav Trmac <mitr@volny.cz>
940 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
942 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
944 * configure.in: Added "pl" to ALL_LINGUAS.
946 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
948 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
950 2003-06-30 Bill Haneman <bill.haneman@sun.com>
953 (get_action_from_servant):
954 Removed assertion that action is implemented on an AtkObject.
956 * libspi/hyperlink.c:
958 Aggregate AccessibleAction interface on the hyperlink object if
959 the object implements AtkAction. (This convention is used in
962 2003-06-30 Bill Haneman <bill.haneman@sun.com>
964 * configure.in: Revved to 1.3.5.
966 * registryd/Accessibility_Registry.server.in.in:
967 Marked up appropriate strings for translation.
969 * atk-bridge/bridge.c: Marked a couple of
970 user-visible warnings for translation. Questionable
971 whether they are really useful, but possibly so.
974 2003-06-28 Christian Rose <menthos@menthos.com>
976 * configure.in: Added "sv" to ALL_LINGUAS.
978 2003-06-26 Bill Haneman <bill.haneman@sun.com>
980 * registryd/registry.c:
981 (spi_registry_object_finalize): Unref the deviceeventcontroller.
982 (registry_defer_on_event): Defer focus: events, this is an
983 improvement to the patch for bug #108664.
985 * TODO: Update with 2.4/"Dev Complete" items.
987 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
989 * atk-bridge/bridge.c:
990 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
991 looks up signals once.
992 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
993 if doing registration.
994 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
995 when doing registration.
997 This fixes bug #115014.
999 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
1001 * atk-bridge/bridge.c:
1002 (atk_bridge_init): Add signal handler for children-changed:remove on
1003 root when in a BonoboComponent.
1004 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
1005 for first toplevel only other incrememt variable toplevels.
1006 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
1007 application and remove listeners.
1008 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
1010 (spi_atk_deregister_event_listeners): New function which removes
1012 (reinit_register_vars): New fuction which reinitializes variables.
1014 This fixes bug #111578.
1016 2003-06-13 Bill Haneman <bill.haneman@sun.com>
1018 * configure.in: version 1.3.4.
1020 * cspi/spi_accessible.c:
1021 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
1024 2003-06-13 Michael Meeks <michael@ximian.com>
1026 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
1028 * cspi/spi_main.c (cspi_peek_ev): impl.
1030 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
1032 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
1034 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
1036 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
1037 SPI_ROLE_AUTOCOMPLETE
1039 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
1041 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
1042 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
1044 2003-06-11 Bill Haneman <bill.haneman@sun.com>
1046 * libspi/streamablecontent.h:
1047 * libspi/streamablecontent.c:
1048 New files, provide implementation/wrappers for
1049 Accessibility_StreamableContent.
1051 * cspi/spi_streamablecontent.c:
1052 Connected the C wrappers to the libspi C bindings.
1053 (AccessibleStreamableContent_close): New method.
1056 (AccessibleStreamableContent_close): New method, needed
1057 since we have an "open, [seek], read, close" model in cspi.
1059 2003-06-11 Bill Haneman <bill.haneman@sun.com>
1061 Fix for #108664; Padraig's revision of my original patch.
1063 * registryd/registry.h:
1064 Added event queue list, is_queuing, and exit_notify_timeout
1065 to the registry struct.
1067 * registryd/registry.c:
1068 (registry_init): Initialize new struct from registry.h.
1069 (impl_registry_notify_event):
1070 Filter events before notifying, in case some need to be
1072 (registry_filter_event): New,
1073 we defer certain incoming events (for instance
1074 window:deactivate) because we may wish to hide
1075 or reject them based on pending events. This is
1076 mostly a workaround for bug #108664.
1077 (registry_queue_event, registry_start_queue): New.
1078 (registry_defer_on_event): Test event to see if it
1080 (registry_reset_on_event): Returns TRUE if the
1081 event should cause a queue reset.
1082 (registry_discard_on_event): Returns TRUE if the event
1083 should cause the previous queue contents to be discarded.
1084 (registry_timeout_flush_queue): Flushes the pending event
1085 queue if no reset/discard-triggering events have come in
1086 within the timeout period.
1087 (registry_emit_event): New.
1088 (registry_clone_notify_context): New, used when queueing the
1089 event notify contexts.
1091 2003-06-10 Bill Haneman <bill.haneman@sun.com>
1093 * configure.in: Version revved to 1.3.2, lt 0.9.2
1094 Incremented ATK required version to 1.3.4.
1096 * cspi/spi_registry.c:
1097 (SPI_generateKeyEvent):
1098 We now pass the keystring along if it's non-null.
1100 * registryd/deviceeventcontroller.c:
1101 (keysym_mod_mask): New method, returns modifier mask
1102 required to generate a keysym from a given keycode.
1103 (dec_synth_keysym): New method.
1104 (dec_synth_keystring): New method.
1105 (dec_get_modifier_state): New method.
1106 (dec_lock_modifiers): New
1107 (dec_unlock_modifiers): New.
1108 (dec_keysym_for_unichar): New, rather brute-force
1109 conversion from UCS-4 to X KeySyms. Only works for
1110 Latin at the moment, with partial implementations for
1111 Greek, Hebrew, and (incomplete) Katakana.
1112 (impl_generate_keyboard_event): Now implement
1113 "KEYSTRING" synthesis and implement "KEYSYM"
1115 (keycode_from_keysym): Improved, passes a returned
1116 modmask value now if the corresponding param is non-NULL.
1118 Fixes bugs #92143 and #109776.
1121 * test/keysynth-test.c:
1122 New test program for key synthesis, to confirm fixes for
1126 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
1128 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
1130 * cspi/spi_accessible.c (cspi_init_relation_type_table):
1131 Add line for RELATION_POPUP_FOR
1133 * docs/reference/cspi/tmpl/spi_relation.sgml:
1134 Add relation SPI_RELATION_POPUP_FOR
1136 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1137 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
1139 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
1141 * libspi/relation.c (spi_init_relation_type_table):
1142 Add line for RELATION_POPUP_FOR
1144 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
1146 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
1147 there are still windows which have not been deleted and emit
1148 window:deactivate, if necessary and window:destroy events.
1149 This fixes bug #114370. The change on June 5th was not correct.
1151 2003-06-09 Bill Haneman <bill.haneman@sun.com>
1153 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
1156 (SPI_dupString): Allow dup-ing of a string such that it's safe to
1158 New methods for client exception handling and interception.
1159 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
1160 (SPI_exceptionHandlerPop): You guessed it...
1161 (SPI_getSourceType): Return the type of object which offended.
1162 (SPI_getExceptionCode): Return an enum code telling, possibly,
1163 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
1164 (SPIAccessibleException_getSource): get the source object for
1165 exceptions that come from Accessibles, if SPIExceptionSourceType is
1166 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
1167 (SPIException_getDescription): New, returns a string description of
1168 the problem. [Not yet a stable ABI, strings are not frozen]
1170 * cspi/spi-private.h:
1171 Added implementation details of opaque SPIException
1175 Implementations of above. Also
1176 (_cspi_exception_throw): new private method that
1177 dispatches exceptions to handlers, called from cspi-bonobo.c
1179 * cspi/bonobo/cspi-bonobo.c:
1180 (cspi_check_ev): call _cspi_exception_throw.
1181 Don't print a warning message if the exception has been
1182 handled by _cspi_exception_throw.
1184 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
1186 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
1187 there are still windows which have not been deleted and emit
1188 window:deactivate, if necessary and window:destroy events.
1189 This fixes bug #114370.
1191 2003-06-03 Bill Haneman <bill.haneman@sun.com>
1194 (cspi_accessible_is_a): Make non-fatal
1195 if the object reference is dead.
1197 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
1199 * cspi/spi_main.c: #include <stdio.h>
1200 * test/simple-at.c: ditto
1201 * test/event-listener-test.c: ditto
1202 * test/screen-review-test.c: ditto
1204 2003-05-30 Michael Meeks <michael@ximian.com>
1206 * test/test-simple.c (main): use CORBA_ORB_perform_work
1207 instead of an unnecessary linc_ call.
1209 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
1211 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
1212 Add SPI_STATE_INDETERMINATE.
1214 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
1217 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
1219 * libspi/stateset.c (init_state_type_tables): Add support for
1222 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
1224 * configure: Update versions of atk and gail required.
1225 This fixes bug #113268.
1227 2003-05-02 Bill Haneman <bill.haneman@sun.com>
1229 * configure.in: Revved micro version to 1.3.1 (because of build fix).
1231 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
1233 * libspi/Makefile.am:
1234 Ensure headers are generated before being used by c sources.
1236 2003-05-01 Bill Haneman <bill.haneman@sun.com>
1239 Simplified lt versioning rules.
1240 Incremented version to 1.3.0, to indicate that we're on the
1241 unstable branch now.
1243 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
1245 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
1246 Add MKDB_OPTIONS=--outtput-format=xml
1248 * docs/reference/cspi/at-spi-cspi-docs.sgml
1249 docs/reference/idl/at-spi-idl-docs.sgml:
1250 Convert to Docbook XML.
1252 This fixes bug #111793.
1254 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
1256 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
1257 AcccessibleKeyEventType, AccessibleKeyMaskType.
1259 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
1261 * cspi/state-types.h: Add documentation for AccessibleState.
1263 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
1264 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
1265 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
1266 AccessibleComponentLayer.
1268 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
1271 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
1273 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
1274 Accessible. Add description of AccessibleEvent,
1275 AccessibleEventListenerCB.
1277 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
1280 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
1281 documentation. Add description of AccessibleKeystrokeListenerCB,
1282 AccessibleKeyEventMask, AccessibleModifierMaskType,
1283 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
1284 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
1286 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
1289 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
1292 This fixes bug #104730.
1294 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
1296 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
1297 Set is_text field of Accessibility_DeviceEvent data structure.
1299 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
1300 is-text field of AccessibleDeviceEvent data structure.
1302 This addresses part of bug #108666.
1304 * registryd/devcieeventcontroller.c: Unset debug option.
1306 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
1308 * cspi/accessible.c:
1309 (cpi_initial_relation_type_table): New function which initializes
1310 mapping between Accessibility_RelationType and AccessibleRelationType.
1311 (cspi_relation_type_from_spi_relation_type): New function which
1312 translates an Accessibility_RelationType into an AccessibleRelationType.
1313 (AccessibleRelation_getRelationType): Use
1314 cpi_relation_type_get_spi_relation_type to return correct value.
1315 (spi_state_to_corba): Return correct type for default case.
1317 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
1318 Use Accessibility_EventType instead of Accessibility_KeyEventType.
1320 * cspi/cspi-bonobo-listener.c:
1321 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
1324 * libspi/accessible.c, libspi/action.c, libspi/application.c,
1325 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
1326 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
1327 libspi/image.c, libspi/listener.c, libspi/selection.c,
1328 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
1329 registryd/desktop.c, registryd/registry.c:
1330 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1332 * libspi/eventlistener.c
1333 Remove semicolon after BONOBO_TYPE_FUNC.
1335 * libspi/relation.c:
1336 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1337 (spi_init_relation_type_table): Initialize using correct type.
1339 * registryd/desktop.c:
1340 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1341 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
1342 of Accessibility_KeyEventType.
1344 * test/key-listener-test.c (report_tab_key_event): Use fprintf
1347 * tests/simple-at.c, tests/screen-review-test.c:
1348 Add include for <strings.h>.
1350 * tests.stress-test.c:
1351 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
1353 These changes fix compiler warnings when using FORTE compiler on
1354 Solaris; fixes bug #107479.
1357 2003-04-10 Bill Haneman <bill.haneman@sun.com>
1360 * configure.in: revved to 1.1.10
1362 * libspi/keymasks.h:
1363 (SPI_KEYMASK_NUMLOCK): Added.
1365 * registryd/deviceeventcontroller.c:
1366 (spi_key_event_matches_listener): AND with a smaller
1367 bitmask (as we should).
1368 (spi_dec_translate_mask):
1369 New method, sets the virtual NumLock modifier bit
1370 if numlock is on. Eventually it can handle other virtual
1371 modifier bits if needed, or other marshalling from
1372 at-spi modifier masks to platform (X) masks.
1373 (spi_dec_key_listener_new):
1374 Call spi_dec_translate_mask to set up virtual mod bits
1375 in the 'mask' field when creating a new listener struct.
1376 (spi_dec_emit_modifier_event):
1377 Set the virtual (i.e. NumLock) bits before emitting event.
1378 (spi_controller_register_with_devices):
1379 Query for the NumLock modifier 'physical' bit if Xkb is
1380 present, for use in above methods.
1384 2003-04-10 Bill Haneman <bill.haneman@sun.com>
1386 * registryd/deviceeventcontroller.c:
1387 (spi_keystroke_from_x_key_event):
1388 Instead of checking to see if the keysym is
1389 printable, check the string from XLookupString
1390 if available, get the first unicode character from it,
1391 and call g_unichar_isprint to determine whether the
1392 is_text flag should be TRUE or FALSE.
1396 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
1398 * atk-bridge/bridge.c: Add support for extended events
1399 * cspi/spi_event.c: Add documentation and implementation for
1401 * tests/event-listener-test.c: Add tests for extended events.
1403 This fixes bugs #100424 and #100426.
1405 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
1407 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
1408 of LT_CURRENT. This fixes bug #89350.
1410 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
1412 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
1413 number of signal parameter values before accessing them. This fixes
1416 2003-04-01 Bill Haneman <bill.haneman@sun.com>
1418 * configure.in: Fixed duplicate inclusion of -lspi.
1419 * branched for gnome-2-2/HEAD.
1420 [created tag "gnome-2-2"]
1422 2003-03-07 Bill Haneman <bill.haneman@sun.com>
1424 * configure.in: 1.1.9 release.
1427 2003-03-07 Bill Haneman <bill.haneman@sun.com>
1429 [needed by GOK, to fix bugs 107985 and 107988]
1430 * registryd/deviceeventcontroller.c:
1431 (spi_dec_clear_unlatch_pending):
1432 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
1433 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
1434 (spi_dec_init_mouse_listener):Emit warning if mouse button
1436 (spi_device_event_controller_forward_mouse_event):
1437 Removed unnecessary parens from a conditional.
1438 (global_filter_fn):Added TODO comment.
1439 (impl_generate_keyboard_event):
1440 Cancel a pending relatch if a 'delatching' key was
1443 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
1445 * atk-bridge/bridge.c:
1446 Change atk_signal_child_changed to atk_signal_children_changed.
1447 Reorganize code in spi_atk_bridge_signal_listener().
1449 * test/event-listener-test.c:
1450 Add children_changed_listener and report_children_changed_event()
1451 to test AccessibleChildEvent_getChildAccessible.
1453 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
1455 * cspi/spi_event.c (cspi_internal_event_get_text): Change
1456 g_strdup to CORBA_String_dup (bug #105291)
1458 * test/event-listener-test.c (report_text_event): Add call to
1461 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1463 * registryd/deviceeventcontroller.c:
1464 (spi_keystroke_from_x_key_event):
1465 Fix string and keysym return codes to match modifier state.
1468 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1470 * registryd/deviceeventcontroller.c:
1471 (spi_keystroke_from_x_key_event):
1472 Fix segv due to improper use of isprint(c). [bug #107254]
1474 2003-02-24 Bill Haneman <bill.haneman@sun.com>
1477 (get_accessible_text_boundary_type):
1478 Move default return value to (new) default case in switch.
1479 (get_accessible_text_clip_type):
1480 Move default return value to (new) default case in switch.
1482 * libspi/application.c:
1483 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
1484 Remove unused methods.
1485 (impl_accessibility_application_register_object_event_listener):
1486 Remove unused methods.
1489 Added #include of <math.h>.
1491 * registryd/deviceeventcontroller.c:
1492 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
1493 we don't currently use this method.
1494 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
1496 (impl_generate_key_event):
1497 Remove unused variables.
1498 (impl_generate_mouse_event):
1499 Initialize button to zero, just in case we get an invalid
1500 input. Added support for mouse buttons 4 and 5.
1501 (spi_device_event_controller_new):
1502 Removed unused variable declaration for 'private'.
1504 Added #include of <gdk/gdk.h>
1506 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1508 * configure.in: Update to work when X is not installed in expected
1509 location. Fixes bug #105836.
1511 * atk-bridge/bridge.c
1512 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
1514 (spi_atk_register_event_listener): Add signal listener for
1516 (spi_atk_bridge_signal_listener): Event event when link-selected
1517 signal is emitted. (bug #104622)
1519 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
1520 on returned string. (bug #105291)
1522 * test/event-listener-test.c: Add test for link-selected.
1524 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1526 * atk-bridge/Makefile.am: Correct typo in previous commit.
1528 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
1530 * atk-bridge/Makefile.am: Allow for build directory to be different
1531 from source directory
1533 * registryd/Makefile.am: Allow for build directory to be different
1534 from source directory
1538 2003-01-29 Bill Haneman <bill.haneman@sun.com>
1541 Fixed dependencies for libcspi so that libspi gets pulled in
1542 properly. Fixes 104741.
1546 Clean up inline docs a little.
1548 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
1550 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
1551 This is done by implementing AtkComponent for SpiAtkDesktop, which is
1552 the AtkObject within an SpiDesktop.
1553 This addresses bug #101524.
1555 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
1556 Remove call to gdk_init().
1558 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
1559 so that Display is set when SpiDesktop is created.
1561 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
1563 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
1564 This fixes bug #102830.
1566 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1568 * test/test-simple.c: Update to take account of fact that GailButton
1569 now implements AtkText.
1570 (create_text_window): Set name on AtkObject for GtkEntry.
1571 (validate_accessible): Check accessible name before calling test_text().
1573 * libspi/Makefile.am: Fix problem with building outside of source
1574 directory. Bug #98120.
1576 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
1577 typo in documentation comments. Bug #94275.
1579 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1581 * libspi/text.c (impl_getBoundedRanges): Bug fix.
1583 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
1586 Add includes to avoid compiler warnings on Solaris.
1587 (impl_getRangeExtents): Bug fix.
1589 2002-12-17 Bill Haneman <bill.haneman@sun.com>
1591 Fix for 100944, [API addition approved by Gman and murrayc].
1598 * idl/Accessibility_Text.idl:
1599 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
1600 (Text::getRangeExtents): New method for efficient
1601 bounds query of a text range.
1602 (Text::getBoundedRanges): New method for efficient
1603 clipping of text to bounding boxes.
1604 (unImplemented7, unImplemented8):
1605 Removed these padding methods to preserve bincompat.
1608 (impl_getRangeExtents): implementation of new IDL.
1609 (impl_getBoundedRanges): implementation of new IDL.
1610 (SpiTextRect): Internal use struct.
1611 (_spi_text_rect_union): internal method, calculates union of two
1612 SpiTextRect bounding rects.
1613 (_spi_text_range_seq_from_gslist): internal method, allows us
1614 to build our sequence efficiently as a gslist then convert it
1616 (_spi_bounds_contain): internal method, determines whether
1617 a text character is "in" or "out" of a clip rect according to
1618 values of TEXT_CLIP_TYPE.
1619 (spi_text_class_init): Initialize the new methods in the epv.
1622 (AccessibleTextClipType): New enum used by screen review api.
1623 (AccessibleTextRange): New struct used by screen review api.
1624 (AccessibleText_getRangeExtents):
1625 cspi binding for Accessibility_Text_getRangeExtents.
1626 (AccessibleText_getBoundedRanges):
1627 cspi binding for Accessibility_Text_getBoundedRanges.
1628 (AccessibleTextRange_freeRanges): convenience method.
1631 (AccessibleText_getRangeExtents):
1632 cspi binding for Accessibility_Text_getRangeExtents.
1633 (AccessibleText_getBoundedRanges):
1634 cspi binding for Accessibility_Text_getBoundedRanges.
1635 (AccessibleTextRange_freeRanges): convenience method.
1636 (get_accessible_text_clip_type): internal conversion method.
1637 (get_accessible_text_ranges_from_range_seq): internal conversion method.
1639 * registryd/deviceeventcontroller.c:
1640 (spi_dec_mouse_check):
1641 Improved behavior for mouse:abs events
1642 [same granularity as mouse:rel events, and no
1643 events when mouse is idle].
1645 2002-12-16 Michael Meeks <michael@ximian.com>
1647 * cspi/spi_accessible.c (spi_state_to_corba): rename.
1649 * libspi/stateset.c (state_spi_to_atk): split out
1650 ( fix several remote array bounds nasties )
1651 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
1652 (impl_remove): make safe from array bounds issues.
1653 (spi_atk_state_from_spi_state): impl.
1655 * libspi/stateset.h (spi_state_set_cache_is_empty):
1656 add a set of wrapper defines to get layering right.
1658 * cspi/spi_accessible.c: update state set stuff to
1661 2002-12-14 Michael Meeks <michael@ximian.com>
1663 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
1664 to avoid 2 roundtrips to the registry per key event
1665 (spi_atk_bridge_key_listener): upd.
1666 (deregister_application): release the dec.
1668 * registryd/registry.c (notify_listeners_cb):
1669 bin lots of re-enterant complexity - we no longer
1670 do a round-trip bonobo ref here, ensure that a single
1671 listener's exception failure won't poison all other
1673 (impl_registry_notify_event): bin obvious memory leak.
1675 2002-12-13 Michael Meeks <michael@ximian.com>
1677 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
1678 init the ev so the error is meaningful.
1679 (spi_atk_bridge_key_listener): ditto.
1681 * cspi/spi_main.c (cspi_ev): init the ev so we start
1682 with a clean slate, otherwise the first exception
1683 kills us completely.
1685 * cspi/spi_text.c (get_accessible_text_boundary_type):
1686 add a fallthrough for no warnings.
1688 * cspi/spi_registry.c: prune unused warnings.
1690 * cspi/spi_main.c (cspi_object_take): fix
1691 mind-blowing brokenness ( by watching the compile
1694 * cspi/spi_accessible.c (Accessible_getStateSet):
1695 re-impl. to use an AtkStateSet.
1696 (spi_state_type_from_accessible_state),
1697 (init_state_table): bin these.
1699 * libspi/stateset.c (spi_atk_state_set_from_sequence):
1701 (atk_state_set_from_accessibility_state_set): here.
1703 * cspi/spi_accessible.c (spi_state_to_atk): impl.
1704 (AccessibleStateSet_contains, AccessibleStateSet_ref),
1705 (AccessibleStateSet_unref, AccessibleStateSet_contains),
1706 (AccessibleStateSet_add, AccessibleStateSet_remove),
1707 (AccessibleStateSet_equals, AccessibleStateSet_compare),
1708 (AccessibleStateSet_isEmpty): re-write to use a local
1711 2002-12-13 Bill Haneman <bill.haneman@sun.com>
1713 * configure.in: Revved to 1.1.7 (new keymask vals).
1715 2002-12-10 Bill Haneman <bill.haneman@sun.com>
1717 * libspi/keymasks.h:
1718 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
1720 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
1723 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
1724 to compare two CORBA_TypeCodes.
1725 (cspi_internal_event_add): Silence warning from FORTE compiler.
1727 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
1728 avoid implicit declaration of functions.
1730 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
1732 * atk-bridge/bridge.c:
1733 (spi_atk_bridge_init_event_type_consts): Store signal id for
1734 active-descendant-changed signal.
1735 (spi_atk_register_event_listeners): Add signal listener for
1736 active-descendant-changed signal,
1737 (spi_atk_bridge_signal_listener): Move code in function
1738 spi_atk-signal_emit_event() into this function.
1739 Add support for active-descendant-changed
1740 Update support for child-changed signal.
1741 (spi_bridge_window_event_listener): Silence warning.
1743 * libspi/spi_private.[ch]:
1744 (spi_init_any_object): Change second parameter from CORBA_Object to
1746 Omit call to CORBA_Object_duplicate().
1747 Set CORBA_any's _value to CORBA_Object*.
1749 2002-12-06 Bill Haneman <bill.haneman@sun.com>
1755 (AccessibleEvent_ref, AccessibleEvent_unref):
1756 New methods, for persisting an event outside the emission context.
1757 Must be used if the new accessor methods are to be called
1758 outside of the event listener's callback.
1760 * cspi/bonobo/cspi-bonobo.c:
1761 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
1762 as second parameter instead of NULL, so we can call
1763 cspi_check_ev afterwards.
1766 (cspi_object_take): New internal method,
1767 converts a CORBA_Object reference to a hard ref on
1768 an Accessible if possible, returning NULL if the object
1769 reference is invalid or an Accessible * otherwise.
1772 (AccessibleEvent_ref):
1773 Increment the event's internal private refcount, and
1774 add the event's internal struct to an internal cache
1775 if it's not already there.
1776 (AccessibleEvent_unref):
1777 Decrement the event's refcount and remove it from
1778 the cspi event cache if refcount==0.
1779 (cspi_event_compare): New private method.
1780 Compares two event structs via their ids. Used
1782 (cspi_internal_event_lookup): New private method.
1783 (cspi_internal_event_check): New private method,
1784 a 0-order sanity check for events to make sure their
1785 private data is intact.
1786 (cspi_internal_event_add, cspi_internal_event_remove):
1787 New private methods for managiing the event cache.
1789 * cspi/bonobo/cspi-bonobo-listener.c:
1791 Initialize the new private data elements (id, magic, ref_count).
1793 * atk-bridge/bridge.c:
1794 (spi_atk_bridge_signal_listener):
1795 Fixed bug #100530, passing wrong params to emission func.
1797 * registryd/deviceeventcontroller.c:
1798 (spi_dec_button_update_and_emit):
1799 Fixed type in mask bit operations; fix for #99799.
1801 2002-12-02 Bill Haneman <bill.haneman@sun.com>
1803 Removed some of the more dangerous workarounds from
1804 previous commit; they are only needed by GOK, which
1805 in reality should be using another method to accomplish
1806 the goals. So on reconsideration some of the workarounds
1807 need to be reverted:
1809 * registryd/deviceeventcontroller.c:
1810 (spi_keycodes_contain, spi_dec_init_keycode_list):
1811 Removed these methods, used only by a nasty hack to try
1812 and detect whether a key synthesis should be allowed
1813 to reset the XKB latch state or not. This code was only
1814 required to work around an interaction between GOK,
1815 button events, and XKB.
1816 (impl_generate_key_event):
1817 Removed hack at end of key generation that tried to
1818 "do the right thing" if XKB latch keys were generated
1819 in the midst of button press/release pairs.
1822 Added a check for HAVE_XINPUT. Not normally used yet.
1824 2002-11-25 Bill Haneman <bill.haneman@sun.com>
1826 Workarounds and fixes for mouse event/XKB interaction.
1828 * registryd/deviceeventcontroller.c:
1829 (spi_keycodes_contain, spi_dec_init_keycode_list):
1830 New internal methods.
1831 (spi_dec_set_unlatch_pending):
1832 Split the method that tells XKB to expect an
1833 unlatch (and revert it) out of the rest of the
1834 event handling code. This method is called by the
1835 two mouse event handlers (the poll and the filter).
1836 (spi_dec_update_and_emit, spi_dec_mouse_check):
1837 New methods split from spi_dec_poll_mouse_moved.
1838 The second one is now called from inside the filterFn
1839 when an XKB delatch event is received, to determine
1840 whether to revert the delatch or not.
1841 (spi_poll_mouse_moved): Refactor; also we can now
1842 properly handle the case where multiple button states
1843 have changed between polling cycles and we didn't get
1844 notified due to another client's grab.
1846 Synchronize the server while handling an XKB notification.
1847 Ugly, but apparently necessary to avoid nasty races.
1848 Check the mouse state on receipt of an XKB latch change,
1849 to decide whether to revert the latch or not. (Latches are
1850 reverted if there is an immediately preceding mouse button
1851 event that a client has consumed, in which case we don't want
1852 the user to see the side-effect of the event).
1853 (spi_device_event_controller_forward_mouse_event):
1854 Check for modifier events and fire before resetting mouse_mask_state,
1855 prevents losing modifier events.
1857 (impl_generate_keyboard_event):
1858 If we've just generated a keyboard event for a non-shift key,
1859 we don't want to revert the pending XKB latch.
1860 Otherwise, check the modifier state (via a call to
1861 spi_dev_mouse_check) and set the relatch mask to
1862 that state before returning.
1864 2002-11-24 Bill Haneman <bill.haneman@sun.com>
1867 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1870 * atk-bridge/bridge.c:
1871 (spi_atk_register_event_listeners):
1872 Don't re-register for ATK events if the registry has died
1873 and the app needs to re-register; the ATK listeners are in
1874 process and doing so will cause duplicate emission.
1876 * registryd/deviceeventcontroller.c:
1877 (spi_poll_mouse_moved):
1878 Reformat the source, detect and emit multiple button-change
1879 events (i.e. if multiple buttons have changed between poll
1881 Add code to detect mouse-down events even when the pointer
1882 is grabbed; workaround for GOK bug 98420.
1883 (spi_controller_register_with_devices):
1884 Call XTestGrabControl with 'impervious' flag set to True,
1885 allows us to synthesize events and query the pointer even during
1886 an active grab by another client.
1887 (spi_device_event_controller_forward_mouse_event):
1888 Set the mouse_mask_state to the mouse_button_state from
1889 the intercepted event, to synchronize the grab listener with
1892 2002-11-20 Bill Haneman <bill.haneman@sun.com>
1894 * cspi/spi_accessible.c:
1895 (AccessibleRole_getName):
1896 Added necessary strings for making this (deprecated)
1897 method work with the new role types.
1898 (init_role_table, role_table):
1899 Added definition of SPI_ROLE_APPLICATION.
1901 * libspi/spi-roletypes.h:
1902 Added SPI_ROLE_APPLICATION.
1904 * idl/Accessibility_Role.idl:
1905 Added ROLE_APPLICATION.
1907 * docs/reference/cspi/at-spi-cspi-decl.txt:
1908 Added SPI_ROLE_APPLICATION to docs.
1910 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
1912 * cspi/spi_accessible.c
1913 (cspi_init_role_table): Do not write beyond end of role_table.
1914 (Accessible_getRole): Use correct type for value returned by
1915 Accessibility_Accessible_getRole().
1917 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1918 beyond end of role_table. (This fixes bug #98269)
1920 * libspi/application.c: Add include file spi-private.h for
1921 definition of spi_init_any_nil.
1923 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1927 * libspi/spi-private.h:
1928 Added DGB() macro, and extern int _dbg declaration.
1930 * registryd/registry.c:
1931 (definitions) storage for _dbg.
1932 (spi_registry_init):
1933 Get environment variable "AT_SPI_DEBUG".
1934 (spi_registry_set_debug):
1935 New method, to initialize _dbg value.
1936 (spi_listener_struct_new, spi_registry_object_finalize):
1937 (notify_listeners_cb):
1938 Changed fprintfs to use DBG and g_warning().
1940 * registryd/deviceeventcontroller.c:
1941 (_deregister_keygrab, spi_controller_register_device_listener):
1942 Changed debug/warning messages to use DBG macro.
1944 * libspi/listener.c:
1945 (impl_notify_event):
1946 Changed warning messages to use DBG macro and g_warning().
1948 * atk-bridge/bridge.c:
1949 (atk_bridge_init, spi_atk_bridge_get_registry):
1950 (spi_atk_bridge_exit_func):
1951 (spi_atk_bridge_property_event_listener):
1952 Changed status, warning, and error messages to use
1953 g_warning, g_message, and DBG macros.
1956 Read the state of the AT_SPI_DEBUG environment variable
1957 and set a local '_dbg' accordingly.
1959 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1961 FIXES for 98836, 98842, other bugs.
1964 Revved to 1.1.4, interface-age=4, binary-age=4.
1966 * registryd/deviceeventcontroller.c:
1968 Fixed crasher bug in last_mouse_pos initialization.
1970 * registryd/registry.c:
1971 (desktop_add_application, desktop_remove_application):
1972 Added (and then commented out) some support for
1973 object context marshalling. [TODO]
1975 * atk-bridge/bridge.c:
1976 (spi_atk_bridge_event_context_create):
1977 Commented out object context creation until it can
1978 be properly tested and debugged.
1980 * registryd/registry.c:
1981 (impl_registry_notify_event):
1982 Fixed crasher bug, we were calling
1983 spi_re_entrant_list_foreach () with an empty list.
1985 2002-11-18 Bill Haneman <bill.haneman@sun.com>
1987 * idl/Accessibility_Action.idl:
1988 * idl/Accessibility_Component.idl:
1989 * idl/Accessibility_Desktop.idl:
1990 * idl/Accessibility_Event.idl:
1991 * idl/Accessibility_Hyperlink.idl:
1992 * idl/Accessibility_Image.idl:
1993 * idl/Accessibility_Relation.idl:
1994 * idl/Accessibility_Selection.idl:
1995 * idl/Accessibility_State.idl:
1996 * idl/Accessibility_Value.idl:
1997 Updated unimplemented slot count to minimum of
1998 four for all interfaces, for ABI freeze.
2000 * idl/Accessibility_EditableText.idl:
2001 * idl/Accessibility_Text.idl:
2002 Updated unimplemented slot count to six
2005 * idl/Accessibility_Registry.idl:
2006 Updated unimplemented slot count to six
2007 (also for DeviceEventController),
2010 * idl/Accessibility_Table.idl:
2011 Updated unimplemented slot count to eight,
2014 * idl/Accessibility_Event.idl:
2015 Added CORBA_any "any_data" member to Event struct.
2017 * idl/Accessibility_Event.idl:
2018 Added CORBA_any "any_data" member to Event struct.
2020 * atk-bridge/bridge.c:
2022 atk_signal_text_changed, atk_signal_child_changed,
2023 signal ids queried from gtype system.
2024 (AtkBridgeEventContextType): New enum.
2025 (AtkBridgeEventContextData): New struct.
2026 (AtkBridgeEventContext): New struct.
2027 (atk_bridge_init_event_type_consts):
2028 New method, initializes type contants for comparison
2029 prior to emit_eventv.
2030 (atk_bridge_event_context_init): New method,
2031 initializes a CORBA_any from an AtkBridgeEventContext.
2032 (atk_bridge_focus_tracker): Call spi_init_any_nil to
2033 initialize the event.any_data struct.
2034 (spi_atk_bridge_event_context_create): New method,
2035 creates an AtkBridgeEventContext from signal/event info.
2036 (spi_atk_bridge_event_context_free): New method.
2037 (spi_atk_emit_eventv): Changed to take an
2038 AtkBridgeEventContext parameter. We now initialize
2039 the event.any_data member prior to notifying the
2040 Registry, via the AtkBridgeEventContext.
2041 (spi_atk_bridge_property_event_listener):
2042 (spi_atk_bridge_state_event_listener):
2043 Match emit_eventv signature.
2044 (spi_atk_bridge_object_event_listener):
2045 Match emit_eventv signature, and create an
2046 event context from the event details.
2047 Free the event context afterwards.
2048 (spi_atk_bridge_window_event_listener):
2049 Create an event context, pass it to the
2053 (AccessibleEvent_getContextString):
2054 (AccessibleEvent_getContextObject):
2055 New methods, allow query of AccessibleEvent objects
2056 for more context details (via the "any_data" member
2057 of the Event struct, above).
2060 Definitions for AccessibleEvent_getContextString
2061 and AccessibleEvent_getContextObject.
2063 * cspi/spi_listener.h:
2064 (InternalEvent): New struct.
2067 (AccessibleEvent_getContextString):
2068 (AccessibleEvent_getContextObject):
2069 Implementations of new methods, for obtaining
2070 additional context information from some event types.
2072 * cspi/spi_registry.c:
2073 (SPI_registerGlobalEventListener):
2074 Added mention of active-descendant-changed event in docs.
2076 * cspi/cspi-bonobo-listener.c:
2078 Marshal the any into the AccessibleEvent via
2081 * libspi/spi-private.h:
2082 #include <orbit/orbit.h>
2084 (spi_init_any_string):
2085 (spi_init_any_object):
2086 New convenience function declarations.
2090 (spi_init_any_string):
2091 (spi_init_any_object):
2092 New convenience function implementations.
2094 * registryd/deviceeventcontroller.c:
2095 (spi_poll_dec_mouse_moved):
2096 (spi_device_event_controller_forward_mous_event):
2097 Initialize any_data member of event.
2098 (spi_deregister_controller_device_listener):
2099 Fix incorrect param pass which was preventing deregistration.
2101 * registryd/registry.c:
2102 (desktop_add_application):
2103 (desktop_remove_application):
2104 Add object data to event's any_data before dispatch.
2106 Fix for error messages from GAIL.
2108 * test/event-listener-test.c:
2109 Test new ContextString and "any_data" API:
2110 (report_text_event): New method query and output context string.
2111 (main): register a new text listener with report_text_event
2114 2002-11-19 Darren Kenny <darren.kenny@sun.com>
2116 Fixes for bugs 98127 and 97914.
2117 * cspi/spi-roletypes.h:
2118 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
2120 * cspi/spi-statetypes.h:
2121 Added SPI_STATE_MANAGES_DESCENDANTS
2123 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
2124 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
2125 * cspi/spi_accessible.c:
2126 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
2127 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
2128 Accessibility_STATE_MANAGES_DESCENDANTS
2129 * libspi/accessible.c:
2130 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
2131 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
2132 As requested by Bill, I also cleaned up the alignment.
2133 * libspi/relation.c:
2134 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
2135 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
2136 * libspi/stateset.c:
2137 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
2138 Accessibility_STATE_MANAGES_DESCENDANTS
2139 * docs/reference/cspi/tmpl/spi_accessible.sgml:
2140 Document changes reflecting modifications to roles.
2141 * docs/reference/cspi/tmpl/spi_relation.sgml:
2142 Document changes reflecting modifications to relations.
2143 * docs/reference/cspi/tmpl/spi_stateset.sgml:
2144 Document changes reflecting modifications to states.
2146 2002-11-17 Bill Haneman <bill.haneman@sun.com>
2149 Revved to 1.1.3, interface-age=3, binary-age=3.
2150 Added REBUILD macro.
2153 Removed accessx-gui from the tests, since we have a nice
2154 keyboard accessibility capplet now :-)
2156 * test/keysynth-demo.c:
2157 (increment_scan): removed do-nothing default: case,
2160 * test/visual-bell.c:
2161 (main) : removed do-nothing default: case,
2164 * cspi/spi_action.c:
2165 (AccessibleAction_getKeyBinding_):
2166 Documented keybinding string format.
2170 (AccessibleText_getAttributes):
2171 Documented the text attribute string format.
2172 It's changed to use semicolon delimiters also,
2173 to prevent clashes with CSS attributes, but the old
2174 trick of looking for ", " strings will still work
2175 (as unreliably as ever). Fix for bug related to 97916.
2178 Include <cspi/bonobo/cspi-bonobo-listener.h>
2179 Fixes build warning.
2180 (SPI_freeAccessibleKeySet):
2181 (AccessibleKeystrokeListener_addCallback):
2182 (AccessibleKeystrokeListener_removeCallback):
2183 Modify to use AccessibleDeviceListener API internally,
2184 instead of AccessibleKeystrokeListener.
2186 * idl/Accessibility_Event.idl:
2187 Added two more empty slots to EventListener (for a total of four).
2189 * idl/Accessibility_Accessible.idl:
2190 Added four empty slots to Accessible interface.
2192 2002-11-15 Bill Haneman <bill.haneman@sun.com>
2194 * idl/Accessibility_Registry.idl:
2195 (KeyEventType, EventType):
2196 Marked KeyEventType as deprecated; it duplicates
2197 functionality of EventType, which has been extended to
2198 include Mouse-button events.
2199 (KeyEventTypeSeq): defined in terms of EventType.
2200 (registerDeviceEventListener, deregisterDeviceEventListener):
2201 New methods, for managing listeners to device events,
2202 which potentially may consume them.
2205 Added definition for AccessibleDeviceListener.
2207 * cspi/spi-listener.h:
2208 (enum AccessibleDeviceEventType):
2209 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
2210 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
2211 for backwards compat.
2212 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
2213 and typedef'd AccessibleKeystroke to it for back-compat.
2214 (AccessibleDeviceListenerCB):
2215 New function prototype typedef.
2218 (AccessibleDeviceEventMask): New typedef.
2219 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
2220 (AccessibleKeyMaskType):
2221 Set equivalent to AccessibleModifierMaskType for back-compat.
2222 (SPI_createAccessibleKeystrokeListener):
2223 (AccessibleKeystrokeListener_unref):
2224 Deprecated in favor of equivalent (better-named) new API below..
2225 keystroke listeners are like all device listeners.
2226 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
2227 New API names for old features :-).
2228 (AccessibleDeviceListener_addCallback):
2229 (AccessibleDeviceListener_removeCallback):
2230 (SPI_registerDeviceEventListener):
2231 (SPI_deregisterDeviceEventListener):
2235 (SPI_createAccessibleKeystrokeListener):
2236 Use new preferred API, cspi_device_listener_new() and
2237 cspi_device_listener_add_cb().
2238 (AccessibleKeystrokeListener_removeCallback):
2239 Use new preferred API, cspi_device_listener_remove_cb().
2240 (AccessibleKeystrokeListener_unref):
2241 Use new preferred API, cspi_device_listener_unref().
2242 (SPI_createAccessibleDeviceListener):
2243 (AccessibleDeviceListener_addCallback):
2244 (AccessibleDeviceListener_removeCallback):
2245 Implementation of new API.
2247 * cspi/spi_registry.c:
2248 (SPI_registerDeviceEventListener):
2249 (SPI_deregisterDeviceEventListener):
2250 Implementation of new API. Fixed memory leak and removed need to
2251 allocate EventTypeSeq (thanks Michael for catching this).
2252 Squashed a wayward CORBA_exception_free that shouldn't get called.
2254 * cspi/bonobo/cspi-bonobo-listener.c:
2256 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
2257 (cspi_key_event): renamed to cspi_device_event().
2258 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
2259 Extended to handle mouse button events as well as key events.
2260 (CSpiKeystrokeListener):
2261 Class superceded by CSpiDeviceListener.
2262 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
2263 These internal APIs changed to "*device_listener" from "*keystroke_listener".
2265 * cspi/bonobo/cspi-bonobo-listener.h:
2266 (CSpiKeystrokeListener):
2267 Class superceded by CSpiDeviceListener.
2268 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
2269 These internal APIs changed to "*device_listener" from "*keystroke_listener".
2271 * libspi/Makefile.am:
2272 Replaced keystrokelistener.h and keystrokelistener.c
2273 with devicelistener.h and devicelistener.c; keystrokelisener.h
2274 stub retained for back-compat.
2276 * libspi/keystrokelistener.c:
2280 Replaced inclusion of keystrokelistener.h with devicelistener.h.
2282 * registryd/deviceeventcontroller.c:
2283 (DEControllerListener): Added Accessibility_EventTypeSeq member.
2284 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
2285 (DEControllerPrivateData): Added xkb settings data.
2286 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
2287 button release events (which can't be captured via XGrabButton).
2288 Don't dispatch via the 'normal' event mechanism if the device event was
2290 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
2291 Handle the typeseq data in its new location (see above).
2292 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
2293 New methods, for "generic" device listeners.
2294 (spi_controller_register_device_listener):
2295 Now handle mouse event listeners as well as key listeners.
2296 (spi_controller_notify_mouselisteners):
2297 New internal method.
2298 (spi_device_event_controller_forward_mouse_event):
2299 Now we notify mouse device listeners as well as generating the
2300 non-consumable "mouse:" events.
2302 We must check and restore the XKB
2303 modifier map if we consume the event, since the act of triggering
2304 a mouse event will normally reset the XKB latch. This is required for
2306 (spi_controller_register_with_devices):
2307 Load the XKB settings when registering, and register for XKB
2308 state notify events.
2309 (spi_key_eventtype_seq_contains_event):
2310 Renamed spi_eventtype_seq_contains_event, since it's used
2311 internally for all device event types now.
2312 (spi_key_event_matches_listener):
2313 Uses spi_eventtype_seq_contains_event now.
2314 (spi_device_event_controller_object_finalize):
2315 Free the private data and the XkbKeyboard struct.
2316 (impl_register_device_listener, impl_deregister_device_listener):
2317 Implementation of new IDL.
2318 (spi_deregister_controller_device_listener):
2319 New internal method.
2320 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
2321 More efficient implementation, we don't have to create a new
2322 XkbControls structure every time we query.
2323 (spi_device_event_controller_class_init):
2324 Initialize the epv entries for the new IDL. Assign the
2325 "spi-dec-private" quark.
2326 (spi_device_event_controller_init):
2327 Initialize the private data.
2328 (spi_device_event_controller_forward_key_event):
2329 Removed a bogus CORBA_exception_free() call.
2331 * registryd/deviceeventcontroller.h:
2332 Replaced inclusion of keystrokelistener.h with
2335 * test/event-listener-test.c:
2336 (report_mouse_event):
2339 Added mouse-event device listener.
2341 * test/test-simple.c:
2342 (create_test_window):
2343 Fixed regression (we were instantiating a GtkRange,
2344 which is now an abstract class). Also fixed to match
2345 existing AtkRole names, this seems to have changed in ATK
2346 awhile ago; too late now I think, and the new
2347 mechanism is at least elegant and consistent with the
2348 glib enum "nick" APIs.
2350 2002-11-15 Darren Kenny <darren.kenny@sun.com>
2352 * idl/Accessibility_Relation.idl:
2353 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
2354 RELATION_EMBEDS,RELATION_EMBEDDED_BY
2355 * idl/Accessibility_Role.idl:
2356 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
2357 * idl/Accessibility_State.idl:
2358 add STATE_MANAGES_DESCENDANTS
2359 * test/event-listener-test.c:
2360 Added a listener for active-descendant events.
2362 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
2364 * atk-bridge/bridge.c
2365 (atk_bridge_init): If application is Bonobo component wait until top
2366 level is added before registering
2367 (spi_atk_bridge_do_registration): New function which contains code,
2368 formerly in atk_bridge_init, to do application registration.
2369 (spi_atk_bridge_toplevel_added): Signal called when top level
2370 added to Bonobo component
2372 This fixes bug #83134.
2374 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
2376 * registryd/deviceeventcontroller.c
2377 Fixed compilation error caused by calling gettimeofday()
2380 2002-10-18 Bill Haneman <bill.haneman@sun.com>
2385 Added template for HAVE_XKB.
2388 Changes to check for XKB, and to set the HAVE_XKB #define if it
2391 * libspi/listener.c:
2392 ()impl_notify_event): Make failure to get event source name
2395 * registryd/deviceeventcontroller.c:
2396 (#include): include X11/XKBlib.h.
2397 (DEControllerPrivateData) : New struct.
2398 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
2400 (dec_synth_keycode_press) (dec_synth_keycode_release):
2401 New methods; split the key synthesis code into these methods.
2402 They check XKB settings before determining the "time" values to
2403 pass to Xtest; this fixes bug #95828.
2404 (impl_generate_keyboard_event): Changed to use methods above,
2405 instead of callng Xtest directly.
2406 (spi_device_event_controller_init): Initialize new privae struct s
2408 (spi_device_event_controllr_object_finalize):
2409 Free the (new) private data.
2411 * registryd/deviceeventcontroller.h:
2412 Add new gpointer to end of struct data.
2414 2002-10-16 Bill Haneman <bill.haneman@sun.com>
2417 Incremented revision to 1.1.2, SONAME is still '.so', library
2418 extensions are ".so.0.0.2".
2420 * registryd/deviceeventcontroller.c:
2421 FIXES FOR #93592 and #95940.
2422 (statics): renamed mouse_button_state to mouse_mask_state,
2423 added key_modifier_mask.
2424 (spi_dec_poll_mouse_moved):
2425 Added key modifier checks, and emit "keyboard:modifiers"
2426 events when the key modifiers currently in use change.
2427 Also generate "mouse:abs" events periodically, even if the mouse
2428 is stationary (should we?).
2429 Alternatively we could generate "mouse:abs" events for either all
2430 mouse movements, or every 'nth' mouse movement, or at the
2431 beginning and end of every "active" mouse period.
2433 * test/event-listener-test.c:
2434 (main): Added listener for "keyboard:modifiers" events.
2436 2002-10-15 Bill Haneman <bill.haneman@sun.com>
2438 * libspi/keymasks.h:
2439 Added key mask #defines for mouse buttons; e.g.
2440 SPI_KEYMASK_BUTTON1, etc.
2443 Incremented dependency on ATK to version 1.1.0. (This dependency
2444 is probably premature but will soon be real enough).
2446 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
2448 * libspi/hyperlink.[ch]
2449 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
2450 (get_hyperlink_from_servant): Check object is AtkHyperlink not
2453 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
2458 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
2460 * registryd/deviceeventcontroller.c
2461 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
2462 events to be ignored.
2463 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
2464 keyboard_mode so that XAllowEvents() can be called.
2468 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
2470 * cspi/spi-accessible.c: Correct names of roles returned by
2471 AccessibleRole_getName(). Fixes bug #95055.
2473 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
2475 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
2478 * registryd/registry.c
2479 (desktop_remove_application: Write diagnostic message to stderr for
2482 (impl_accessibility_registry_deregister_global_event_listener):
2483 Correct size of lists array. This addresses bug #94555).
2485 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
2487 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
2490 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
2492 * registryd/Makefile: Add CLEANFILES so that .server file is removed
2495 * registryd/registry.c (impl_registry_notify_event): Remove
2496 unnecessary call to parser_event_type().
2498 * docs/reference/cspi/tmpl/spi_component.sgml:
2499 Add reference to SPI_LAYER_WINDOW.
2501 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
2503 * registryd/registry.c
2504 (desktop_add_application): Remove leak.
2505 (desktop_remove_application): Remove leak.
2506 (parser_event_type): Remove leak.
2508 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
2510 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
2511 bogus call to CORBA_string_dup(). Also removed unnecessary
2512 g_string_dup/g_free calls.
2514 2002-09-13 Bill Haneman <bill.haneman@sun.com>
2516 * registryd/deviceeventcontroller.c:
2517 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
2519 * test/event-listener-test.c:
2520 main: commented out three redundant listeners, to reduce output
2521 noise. (They still are potentially useful for testing).
2524 2002-09-13 Michael Meeks <michael@ximian.com>
2526 * Update all the copyrights to include Ximian.
2528 2002-09-06 Mark McLoughlin <mark@skynet.ie>
2530 * cspi/spi.h: add SPI_LAYER_WINDOW.
2532 * cspi/spi_component.c: (AccessibleComponent_getLayer):
2533 add Accessibility_LAYER_WINDOW case.
2535 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
2537 * libspi/component.c: (impl_accessibility_component_get_layer):
2538 add ATK_LAYER_WINDOW case.
2540 2002-08-28 Bill Haneman <bill.haneman@sun.com>
2542 * configure.in: incremented micro version.
2544 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
2546 2002-08-20 Bill Haneman <bill.haneman@sun.com>
2549 Clarified and reworded our commit policy.
2552 Started an API "todo" addition list for 2.2.
2555 (impl_getSelection):
2556 Free char pointer from atk_text_get_selection, which was being leaked.
2558 2002-08-19 Bill Haneman <bill.haneman@sun.com>
2561 Small revision to author acknowledgement.
2563 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
2565 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
2566 If signal has detail add it to the type of the event.
2569 2002-08-12 Michael Meeks <michael@ximian.com>
2571 * test/test-simple.c (global_listener_cb): bin bogosity.
2572 (test_keylisteners): disable, still doesn't work reliably,
2573 certainly not on my system anyway.
2575 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
2576 don't leak a reference on the DEC. This round-trip
2577 fetching of the DEC per keystroke sucks, it should be
2580 * cspi/spi-private.h,
2581 * cspi/cspi-lowlevel.h,
2582 * cspi/bonobo/cspi-bonobo-listener.[ch],
2583 * cspi/bonobo/cspi-bonobo.c: get the copyright
2584 notices better - there is still a large amount of
2585 work in at-spi falsely attributed solely to Sun.
2587 * cspi/spi_main.c (cspi_object_ref): kill bogus
2588 hash lookup, just increment the ref.
2589 (SPI_freeString): make explicit the fact that we
2590 handle NULL strings just fine.
2591 (report_leaked_ref): obey coding standards.
2592 (cspi_object_hash, cspi_object_equal): kill retval.
2593 (cspi_object_release): only release if not on loan.
2594 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
2595 (cspi_object_borrow, cspi_object_return): impl.
2597 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
2598 use cspi_object_borrow / return.
2600 2002-08-12 Darren Kenny <darren.kenny@sun.com>
2602 * cspi/bonobo/cspi-bonobo-listener.c:
2604 Don't call cspi_oject_new() because this is creating a new Accessible
2605 every single time that an event is fired. This causes ATs like at-poke
2606 to nolonger recognise the source of the event and thus ignore it.
2607 Re-use the object from the cache, ref it and then unref it after the
2608 listeners have been called.
2610 2002-08-06 Darren Kenny <darren.kenny@sun.com>
2612 * test/event-listener-test.c:
2613 Added command-line options to disable mouse events (m) and
2616 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
2618 * configure.in: Update required versions of ATK, GTK+ and GAIL
2620 * cspi-1.0.pc.in: Add dependency for X include files
2623 * cspi/bonobo/Makefile.am:
2624 Add $(X_CFLAGS) so that X include files
2625 are picked up even if not in standard place (bug #71686)
2627 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2629 * registryd/deviceeventcontroller.c: fix for 84261
2630 (spi_dec_mouse_moved):
2631 Added test of mouse button mask, so that we can detect mouse
2632 button release. Unfortunately we can't otherwise detect mouse
2633 button release events without consuming the mouse press event,
2634 because of the way XGrabButton works. This means that our mouse
2635 release events have a latency dependent on the polling period
2636 while the mouse button is down. At least in this case we only
2637 have to poll while the button is down, and not at other times.
2638 If the button masks don't match with what the last press event
2639 reported, we report the appropriate button release event.
2640 (spi_dec_ungrab_mouse):
2641 New method (not yet called).
2642 (spi_device_event_controller_forward_mouse_event):
2643 New method, sends mouse press event from GdkFilter.
2644 (spi_dec_init_mouse_listener):
2645 Added code to call XGrabButton, redirecting mouse button events to
2646 the root window and our Gdk event loop.
2648 Added code to filter mouse button events, and reordered.
2650 * test/event-listener-test.c:
2652 Added registration for mouse events of type "mouse:button".
2654 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2656 * registryd/deviceeventcontroller.c: partial fix for 84261
2657 (spi_dec_poll_mouse_idle):
2658 New method, a timeout which checks to see if the mouse
2660 (spi_dec_poll_mouse_moving):
2661 A timeout to be called when mouse motion is underway.
2662 (spi_dec_poll_mouse_moved):
2663 A method which fires an event if the mouse has moved, and reports
2664 whether or not it did so.
2665 (spi_dec_init_mouse_listener):
2666 A method which sets up the timeouts above.
2667 (spi_device_event_controller_new):
2668 Now calls spi_dec_init_mouse_listener.
2670 * registryd/registry.c:
2671 (spi_registry_init):
2672 Now we initialize the device event controller when the registry is
2673 initialized, instead of waiting until a client has requested a key
2674 event notification; this is because we need the event controller
2675 for mouse events, but the mouse event registration API is a
2676 "registry" call and doesn't explicitly call the
2677 deviceeventcontroller.
2678 We now report mouse motion events with a 100 ms idle latency and
2679 a 20 ms granularity when motion is in progress.
2681 * test/event-listener-test.c:
2683 We now register the "detail listener" for events of type
2684 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
2685 delivered only for the first mouse event received, and thereafter
2686 "mouse:abs" events are delivered.)
2688 * cspi/spi_registry.c:
2689 DOCS: Documented the above mouse event typestrings.
2691 2002-06-21 Bill Haneman <bill.haneman@sun.com>
2693 Happy Summer Solstice...
2695 * registryd/deviceeventcontroller.c: [fix for bug 84100]
2696 (spi_controller_notify_keylisteners):
2697 Changes to remove a listener from the listener list, freeing its
2698 open keygrabs, if a notification to that listener fails. This
2699 means that although a dead listener can continue to hold a passive
2700 keygrab, a maximum of one dispatch to such a listener can fail
2701 before the listener is removed from the list, thus the keygrab
2702 will be released on the next occurrence.
2703 As part of this fix:
2704 (spi_notify_keylisteners):
2705 Renamed to spi_controller_notify_keylisteners, as the controller
2706 instance must now be passed as an argument.
2707 The copied 'notify' GList is now a list of DEControllerKeyListener
2708 objects, since we need more than just the CORBA reference if a
2709 notify fails and we need to deregister the listener.
2710 (impl_notify_listeners_sync):
2711 (impl_notify_listeners_async):
2712 (spi_device_event_controller_forward_key_event):
2713 Modify use of notify_keylisteners in accordance with above
2715 (spi_deregister_controller_key_listener):
2716 New method introduced by refactoring, from
2717 impl_deregister_keystroke_listener.
2718 (impl_deregister_keystroke_listener):
2719 Call spi_deregister_controller_key_listener.
2720 (spi_key_listener_clone):
2721 New method to copy a key listner without doing a 'ref' on the
2722 remote object instance; used to create a notifier list.
2723 (spi_key_listener_data_free):
2724 New method, frees data without unreffing the source.
2726 (spi_key_listener_clone_free): new method.
2727 (spi_key_listener_free):
2728 refactored to call spi_key_listener_data_free.
2730 2002-06-20 Bill Haneman <bill.haneman@sun.com>
2732 * registryd/registry.c: [fix for bug 86048]
2733 (notify_listeners_cb):
2734 Clear CORBA system exceptions which occur when notifying
2735 listeners, before returning to the source of the original event,
2736 since the event source doesn't care if the relayed notify failed.
2737 In other words, don't complain to the atk-bridge if the registry
2738 could not notify all its listeners, that's no fault of the
2739 application and thus should not appear to be an error from the
2740 application's perspective.
2742 * cspi/spi_main.c: [fix for bug 85980]
2744 Replaced use of bonobo_object_dup_ref with call to the wrapper
2745 method, csou_dup_ref (); this silences a compiler warning and
2746 provided more portability.
2748 Ping the registry before return, and restart if necessary.
2750 * cspi/bonobo/cspi-bonobo.c:
2752 New internal method.
2754 Fixed this method to return an object reference, as it should have
2757 * cspi/cspi-lowlevel.h:
2758 Added internal definition for cspi_ping() and fixed
2759 return type of cspi_dup_ref().
2762 2002-06-19 Bill Haneman <bill.haneman@sun.com>
2764 * atk-bridge/bridge.c: [fix for bug 85305]
2765 (spi_atk_bridge_register_application):
2766 New method where the initial application registry calls have been
2767 moved; it allows an application to re-register in response to
2768 certain error conditions (such as a registry restart, see below).
2770 Moved some initialization code to the method
2771 spi_atk_bridge_get_registry, below.
2772 (spi_atk_bridge_get_registry):
2773 New, private accessor function for the Accessibility_Registry
2774 instance. If the registry has not been started before, or has
2775 died (as detected by failure of a CORBA exception), it is
2776 restarted before return, and spi_atk_bridge_register_application
2777 is called again to register with the new bridge instance.
2778 (spi_atk_emit_eventv):
2779 Set registry_died on error; use spi_atk_bridge_get_registry () to
2780 access the registry.
2782 * registryd/registry.c:
2783 (impl_accessibility_registry_register_global_event_listener):
2784 Set listener's event_type_quark to etype.minor instead of
2785 etype.major (fix for bug 84856).
2787 * test/event-listener-test.c:
2788 (report_detail_event):
2789 Change the output string so that user/tester can tell that the
2790 'detail listener' was called instead of the 'generic listener'.
2792 2002-06-18 Bill Haneman <bill.haneman@sun.com>
2794 Fixes for bugs 84900, 84908, 84897, 84898.
2799 Revved version to 1.1.0
2800 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
2801 version is going to HEAD which will be used for gnome-2-0-1 and later.)
2803 * idl/Accessibility_Registry.idl:
2804 (EventListener::notifyEvent):
2805 Removed 'oneway' directive after extensive consulation with
2806 ORBit2 team and others. This means also that unref() of the event
2807 source can and should be done synchronously after emission, rather
2808 than remotely in the client, after servicing the notify call on
2811 NOTE: This change speeds up listener performance considerably, but
2812 introduces new latency on the application side. We may want to
2813 add an event queue to the atk-bridge.
2815 * atk-bridge/bridge.c:
2816 (spi_atk_bridge_focus_tracker):
2817 Do a local unref() on the event source after emission.
2819 * registryd/registry.c:
2820 (desktop_remove_application):
2821 Do an unref() on the event source after emission.
2822 (desktop_add_application):
2823 Do an unref() on the event source after emission.
2824 (notify_listeners_cb):
2825 When relaying an event, don't automatically add the event source
2826 to the local object cache, just CORBA_dup it instead. Likewise,
2827 if this method reenters, release the ref rather than calling
2829 (impl_registry_notify_event):
2830 No longer call remote unref() on the event source after dispatch.
2832 * libspi/eventlistener.c:
2833 (impl_accessible_event_notify_event):
2834 Removed remote unref ()
2836 * cspi/bonobo/cspi-bonobo-listener.c:
2838 We now call cspi_object_new() instead of cspi_object_add() on
2839 receipt of an event; thus we only have an implicit object ref
2840 while the cspi_event method is being executed. If we need to keep
2841 a reference to the object, the listener must call ref() on the
2842 object. Thus also we don't need to call cspi_object_unref() after
2843 invoking the listener callbacks in this method.
2847 New internal API for creating a new cspi object, without adding it
2848 to the object cache.
2850 Now uses cspi_object_new() to create the cspi object instance.
2852 Now checks to see if the object is in the internal object cache,
2853 and adds it if necessary before incrementing its refcount (note
2854 that new objects are added with a refcount of 1).
2855 (report_leaked_ref):
2856 New method which gives some information on leaked object instances
2857 if leak detection is turned on.
2859 * test/event-listener-test.c:
2860 (timing_test_event):
2861 New method, used for testing event delivery timing for special
2862 events of type "object:test". It reports elapsed time and
2863 events/sec every 500 events.
2865 Added a new listener, 'test listener', to check timing of event
2866 receipt as noted above.
2868 Added some timing output here also, reports elapsed time every 100
2871 * test/stress-test.c:
2872 Emit events of type "object:test", for use with "event-listener-test".
2874 * test/test-simple.c:
2875 (global_listener_cb):
2876 Call Accessible_ref() on the event source before calling
2877 validate_accessible, since the validation process does pointer
2878 comparisons on the event source, meaning that the event source
2879 needs to be added to the local object cache first. Any use of
2880 such pointer comparisons between Accessible objects requires that
2881 the caller hold an explicit reference to those objects.
2882 We also must therefore call Accessible_unref() when leaving this method.
2884 2002-06-13 Bill Haneman <bill.haneman@sun.com>
2886 * registryd/deviceeventcontroller.c:
2887 (spi_controller_update_key_grabs):
2888 Fix for #84735, subsequent keygrab listeners not informed of
2889 registration failure.
2892 (spi_base_construct):
2893 Add an assertion on construct, to make sure the GObject passed in
2894 is really a GObject.
2896 Explicitly initialize object->gobj pointer to NULL;
2898 * cspi/bonobo/cspi-bonobo-listener.c:
2899 (cspi_object_add_ref):
2900 New method, can specify whether to dup-ref a bonobo object passed
2901 in if it's newly added to the object cache.
2903 Now calls cspi_object_add_ref with second param of "FALSE". This
2904 prevents us from doing a pointless dup-ref followed by
2905 release-unref for all those cases where the object is already in
2906 our object cache (fix for #85205).
2908 * atk-bridge/bridge.c:
2909 (spi_atk_bridge_idle_init):
2910 Removed this method, we don't need to initialize in an idle
2913 Changed to call spi_atk_register_event_listeners directly, not via an
2914 idle handler. (fix for #81139)
2915 (gnome_accessibility_module_shutdown):
2916 Removed conditional around deregistration of listeners, since we
2917 don't use the idle handler and thus have always registered when
2919 (spi_init_keystroke_from_atk_key_event):
2920 Changed references to Accessibility_KEY_PRESSED to
2921 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2923 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2925 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2930 * test/stress-test.c:
2933 (may have been an incomplete commit yesterday?)
2935 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2938 Added target for new stress-test.
2940 * test/stress-test.c:
2941 New test, sends 1000 focus notifies in quick succession.
2943 * test/key-listener-test.c:
2944 Now we report whether a keylistener registration
2945 request succeeded or failed.
2947 * test/event-listener-test.c:
2948 Uncommented some listeners which are now implemented.
2951 2002-06-06 Bill Haneman <bill.haneman@sun.com>
2953 * registryd/deviceeventcontroller.c:
2954 (spi_controller_update_key_grabs):
2955 Fix for #82509, lack of failure notification when
2956 ALL_WINDOWS keygrabs fail due to XGrabKey
2957 failure: we synchronize the server when
2958 registering a passive grab, to make sure we get the
2959 error message before the call returns.
2961 2002-06-03 Bill Haneman <bill.haneman@sun.com>
2963 * test/test-simple.c:
2965 Removed #ifdef KEY_IMPL_WORKS guards.
2966 (test_keylisteners):
2967 Removed #ifdef KEY_IMPL_WORKS guards.
2968 Fixed bug which was causing a hang waiting for a
2969 "press" event (which was already overwritten by a "release"
2970 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2972 Added code to set globals 'key_press_received' and
2973 'key_release_received'.
2976 Added section "1.1 API Proposed Additions" which
2977 lists API additions desired for at-spi-1.1 (only one so far).
2978 Updated TODO list a little.
2980 2002-06-02 Bill Haneman <bill.haneman@sun.com>
2982 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2985 * configure.in: Revved to 1.0.0.
2987 * idl/Accessibility_Registry.idl:
2988 (registerKeystrokeListener):
2989 Added boolean return value.
2991 * registryd/registry.c:
2992 (notify_listeners_cb): Minor fix to debug output.
2994 * registryd/Accessibility_Registry.server.in.in:
2995 Revved version number in OAFIID to 1.0.
2997 * registryd/registryd.c:
2999 Use new OAFIID version.
3001 * cspi/bonobo/cspi-bonobo.c:
3003 Use new OAFIID version.
3009 * atk-bridge/bridge.c:
3011 Use new OAFIID version.
3013 * registryd/deviceeventcontroller.c:
3014 (impl_register_keystroke_listener):
3015 Added CORBA_boolean return value.
3016 (spi_controller_register_device_listener):
3017 Added gboolean return value.
3018 (spi_controller_register_global_keygrabs):
3019 Added gboolean return value.
3020 (spi_key_set_contains_key):
3021 Added implementation for many more control keys,
3022 for instance F1-F12, arrow keys, End, Home, Page_Up,
3024 [TODO: some still not implemented].
3026 * text/screen-review-test.c:
3027 (text_chunk_pad_string):
3028 New function: it provides mapping between coordinate
3029 positions of text chunks and character positions in the
3030 screen-review-line output string.
3031 (text_chunk_to_string):
3032 New function, calls text_chunk_pad_string with various
3033 pad/delimiter characters. Pushbuttons are delimited with
3034 square brackets, Frames with vertical 'pipe' lines, and
3035 other text with double quotes.
3036 (text_chunk_list_to_string):
3037 Calls new function text_chunk_to_string.
3038 (toplevel_composite):
3039 New function to composite layers CANVAS through
3040 POPUP in each toplevel (other layers are composited
3041 across toplevels, i.e. BACKGROUND and OVERLAY).
3042 (review_buffer_composite):
3043 Revise to use new methods.
3049 2002-05-31 Laszlo Peter <laca@sun.com>
3051 * configure.in: add the Xtst libdir to the runpath on Solaris,
3052 since it's not in the default library search path.
3054 2002-05-29 jacob berkman <jacob@ximian.com>
3056 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
3058 2002-05-29 Bill Haneman <bill.haneman@sun.com>
3060 * test/screen-review-test.c:
3061 (text_chunk_pad_string):
3062 Added method, which pads the string according to the
3063 text bounds of the chunk. It also takes a 3-character
3064 string as a param which indicates the characters to be
3065 used for start, padding, and end delimitation of the chunk.
3066 (text_chunk_to_string):
3067 Changed to use text_chunk_pad_string.
3069 * configure.in: Fixed bug in AC_OUTPUT that was
3070 causing path substitution in Accessibility_Registry.server
3073 2002-05-23 Bill Haneman <bill.haneman@sun.com>
3075 * text/screen-review-test.c:
3076 (guess_string_clip):
3077 New method which attempts a best-guess at clipping
3078 text from components (like Java labels) which don't
3079 actually implement AccessibleText. This inaccurate
3080 clip is based on the assumption that the label is
3081 justified left-and-right, and monospaced.
3082 (text_chunk_get_clipped_string):
3083 We now call guess_string_clip() for text-containing
3084 components that don't implement AccessibleText.
3086 * test/screen-review-test.c:
3087 (review_buffer_get_text_chunk):
3088 We now pull "name" from labels if they do not implement
3089 AccessibleText (i.e. for Java labels).
3090 (get_screen_review_line_at):
3091 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
3094 Replaceded AC_OUTPUT target
3095 registryd/Accessibility_Registry.server with
3096 registryd/Accessibility_Registry.server.in.
3098 * registryd/Accessibility_Registry.server.in:
3099 Removed (this is now a Makefile target).
3101 * registryd/Accessibility_Registry.server.in.in:
3102 Added (source for target above). We now use $(libexecdir) as
3103 prefix for the executable at-spi-registryd.
3105 * registry/Makefile.am:
3106 Now install at-spi-registryd into $(libexecdir), and build .server
3107 file with path (see above).
3109 2002-05-22 Bill Haneman <bill.haneman@sun.com>
3111 * test/screen-review-test.c:
3112 (text_chunk_get_clipped_string):
3113 We now check to see if words fall within clip bounds
3114 before resorting to character-by-character clip bounds testing.
3116 * TODO: Added a section for "2.2 Proposed API Additions".
3118 2002-05-21 Bill Haneman <bill.haneman@sun.com>
3120 * test/screen-review-test.c:
3122 Added a screen review benchmarking and test program to test
3125 * cspi/spi_accessible.c:
3127 Made some of the debug strings passed to cspi_check_ev a
3128 little more specific.
3130 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
3132 * test/screen-review-test.c: Fix crashes in debug statements
3134 2002-05-20 Bill Haneman <bill.haneman@sun.com>
3136 * test/screen-review-test.c: Added this file.
3138 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3140 * atk-bridge/bridge.c: changed "object:state-change" to
3141 "object:state-changed" to match docs.
3143 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3145 * atk-bridge/bridge.c: Hooked up state-change event details.
3147 2002-05-11 Bill Haneman <bill.haneman@sun.com>
3149 * registryd/registry.c:
3150 Fixed quarking bug in event string parsing; now events with
3151 detail parameters get matched correctly to listeners.
3154 * util/idl/Magnifier.idl: remove.
3156 * util/*.[ch]: Remove.
3157 Magnification utilities and IDL are now in module gnome-mag.
3159 2002-05-10 Bill Haneman <bill.haneman@sun.com>
3161 * registryd/deviceeventcontroller.c:
3162 Fixed bug in grab key conversion which was causing keycode grabs
3163 to be converted to AnyKey grabs.
3166 updated NEWS file to reflect recent spin-off of gnome-mag.
3168 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
3170 * cspi/spi_accessible.c: Added exception checks. Fixed completely
3171 busted AccessibleStateSet_compare. Removed redundant casts.
3173 * cspi/spi-action.c: Removed redundant casts.
3175 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
3177 * cspi/spi_component.c: Fixed typos and casting error.
3179 * cspi/spi_editabletext.c: Removed redundant casts.
3181 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
3183 * cspi/spi_hypertext.c: Eliminated redundant casts.
3185 * cspi/spi_image.c: Eliminated redundant casts.
3187 * cspi/spi_registry.c: Eliminated redundant casts.
3188 SPI_deregisterGlobalEventListenerAll () removed retval variable.
3189 * cspi/spi_selection.c: Removed redundant casts.
3190 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
3191 handling. Screen geometry and text offsets were being returned as 0
3192 on error which is technically valid-- changed these to return -1.
3193 Added marshaller for text boundary types to fix bug with boundary
3194 types being passed incorrectly to atk.
3196 2002-05-09 Bill Haneman <bill.haneman@sun.com>
3199 * cspi/spi_registry.c:
3200 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
3201 which was uncovered by the recent key changes.
3203 2002-05-09 Bill Haneman <bill.haneman@sun.com>
3205 * test/event-listener-test.c:
3207 Added new test, "event-listener-test";
3208 this code does two things; it benchmarks traversal time
3209 for the accessible hierarchy for the first running accessible
3210 app, and it connects listeners for all supported event types.
3211 It is thus useful as an example event listener and for
3212 diagnostics/debugging of event generation.
3214 2002-05-08 Bill Haneman <bill.haneman@sun.com>
3217 Removed unnecessary dependency on libutil.
3220 Revved micro version: 0.13.1
3222 2002-05-08 Bill Haneman <bill.haneman@sun.com>
3225 Removed util/Makefile from targets.
3228 Removed util subdir from SUBDIRS (temporarily,
3229 pending removal of magnifier-only code
3233 #ifdef-ed out magnifier dependencies, since
3234 magnifier IDL, headers, and binary now live in
3235 module gnome-mag and we don't want at-spi to depend
3236 on gnome-mag. A magnifier demo which can run alongside
3237 simple-at is forthcoming in the gnome-mag module.
3239 NOTE: Split magnifier binary, IDL, and magnification
3240 activation code from at-spi into module gnome-mag.
3242 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
3244 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
3245 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
3247 2002-05-03 Bill Haneman <bill.haneman@sun.com>
3250 Revved to version 0.13.0
3252 * idl/Accessibility_Registry.idl:
3253 Changed definition of KeySet from sequence of longs to sequence of
3254 KeyDefinitions, and added KeyDefinition struct.
3255 Required for fix to bug 80616.
3257 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
3258 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
3259 to use new definition (see above).
3261 * registryd/deviceeventcontroller.c: handle_keygrab(),
3262 spi_keyset_contains_key():
3263 Changed to make use of new struct; this allows matching based on
3264 string key-name, for instance "Tab". This also allows matching of
3265 composed characters, non-alphanumeric characters in a way that
3266 doesn't involve dependencies on X keysym codes directly, etc.
3268 * test/key-listener-test.c:
3269 Added test for Alt-Tab key using "string" specification of keyset,
3270 and modified one of the tests to use a keycode-based keyset.
3271 Thus this test both tests and demonstrates the creation and use of
3272 keysets of three forms: specified via keycode array,
3273 keysym array, and string array. (The string case only contains a
3274 single string, i.e. a string array of length 1).
3277 Turned on PRINT_TREE option by default. Also fixed a
3278 string-freeing bug in the PRINT_TREE code.
3279 Added a listener to window:minimize events.
3281 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
3283 * atk-bridge/bridge.c:
3284 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
3285 for window:activate and window:deactiveate
3286 (atk_bridge_property_event_listener atk_bridge_signal_listener
3287 atk_bridge_window_event_listener) Tidy debug code
3289 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
3291 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
3292 Fixed handling for NULL return value from ATK.
3294 * libspi/action.c libspi/component.c libspi/editabletext.
3295 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
3296 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
3297 Removed redundant casts.
3299 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
3300 Fixed off by one bug.
3302 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
3303 function not present in idl)
3305 2002-05-02 jacob berkman <jacob@ximian.com>
3307 * atk-bridge/Makefile.am: make atk-bridge a real module
3309 2002-04-26 Radek Doulik <rodo@ximian.com>
3311 * libspi/stateset.c (spi_init_state_type_tables): fix size of
3312 atk_state_types table
3314 2002-04-22 jacob berkman <jacob@ximian.com>
3317 * libspi/Makefile.am: add deps on the built files to help
3318 automake, and don't version the ORBit typelib
3320 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
3322 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
3323 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
3324 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
3325 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
3326 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
3327 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
3328 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
3329 libspi/accessible.h libspi/accessible.h libspi/base.h
3330 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
3331 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
3332 libspi/relation.h libspi/remoteobject.h libspi/selection.h
3333 libspi/spi-private.h libspi/statetset.h libspi/table.h
3334 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
3335 util/mag_client.h util/mag_control.c util/mag_image.c
3336 util/mag_image.h util/magnifier.c util/magnifier.h:
3337 Add missing file headers; standardize existing ones
3339 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
3341 * atk-bridge/bridge.c: Added window event support.
3343 2002-04-18 Michael Meeks <michael@ximian.com>
3345 * libspi/relation.c (impl_getNTargets): impl.
3346 (impl_getTarget): impl.
3348 * libspi/Makefile.am: fix stateset install.
3350 2002-04-17 Bill Haneman <bill.haneman@sun.com>
3353 Started putting useful info in this file.
3355 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
3357 * atk-bridge/bridge.c:
3358 Propagate state-changed notifications to ATs
3360 * cspi/spi_registry.c: update docs to reflect actual behavior of
3361 state-change events.
3363 2002-04-17 Bill Haneman <bill.haneman@sun.com>
3366 Incremented version to 0.12.1
3368 * util/mag_client.h:
3369 Add missing declaration for magnifier_exit,
3370 used by mag_control.c - Forte compiler didn't like
3371 the implicit redeclaration of the function :-(
3374 2002-04-16 Bill Haneman <bill.haneman@sun.com>
3377 Revved version to 0.12 due to API change (see below).
3379 * cspi/spi-roletypes.h:
3380 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
3381 definition from the inline docs, and added docs
3382 for SPI_ROLE_LAST_DEFINED.
3385 * cspi/spi_streamablecontent.c:
3386 Added missing seek_type parameter to
3387 (so far unused) method,
3388 AccessibleStreamableContent_seek().
3389 [ RT approval JodyG. ]
3392 Fixed docs for SPI_createAccessibleKeystrokeListener.
3394 * cspi/spi_registry.c:
3395 Fixed docs for SPI_KEYSET_ALL_KEYS.
3397 * docs/reference/cspi/at-spi-cspi-sections.txt:
3398 Added a number of missing APIs to SECTIONS.
3400 2002-04-16 Bill Haneman <bill.haneman@sun.com>
3402 * registryd/Makefile.am:
3404 * cspi/bonobo/Makefile.am:
3405 Add $(X_LIBS) to makefiles.
3407 2002-04-15 Bill Haneman <bill.haneman@sun.com>
3410 Revved version to 0.11.
3412 * libspi/component.c:
3413 Added implementation for grabFocus.
3415 * idl/Accessibility_Component.idl
3416 (Accessibility_Component_grabFocus):
3417 Made this method return boolean to indicate success or failure, to
3418 be consistent with cspi and the corresponding ATK method.
3420 * idl/Accessibility_Selection.idl
3421 (Accessibility_Selection_selectAll) :
3422 Made these methods return boolean to indicate success or
3423 failure, to be consistent with cspi and the corresponding ATK methods.
3425 * idl/Accessibility_EditableText.idl
3426 (Accessibility_EditableText_setTextContents,
3427 Accessibility_EditableText_insertText,
3428 Accessibility_EditableText_cutText,
3429 Accessibility_EditableText_deleteText,
3430 Accessibility_EditableText_pasteText):
3431 Made these methods return boolean to indicate
3434 * cspi/spi_editabletext.c:
3435 Made these methods return booleans.
3437 * libspi/selection.c:
3438 * libspi/component.c:
3439 * libspi/editabletext.c:
3440 Connected the boolean returns from ATK
3441 to the server-side code referenced above.
3443 2002-04-14 Bill Haneman <bill.haneman@sun.com>
3445 * idl/Accessibility_Table.idl: Added missing methods,
3446 Accessibility_Table_addRowSelection,
3447 Accessibility_Table_addColumnSelection,
3448 Accessibility_Table_removeRowSelection,
3449 Accessibility_Table_removeColumnSelection.
3452 Added C wrappers for above IDL:
3453 AccessibleTable_addRowSelection,
3454 AccessibleTable_addColumnSelection,
3455 AccessibleTable_removeRowSelection,
3456 AccessibleTable_removeColumnSelection.
3459 Added server-side implementation code for IDL above, connecting
3460 to pre-existing ATK api.
3462 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
3464 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
3466 * libspi/accessible.c: Added implementation fo
3467 Accessibility_Accessible_get_state.
3469 * libspi/libspi.h: Added stateset.h to the list of includes.
3471 * libspi/stateset.c: Fixed broken implementation.
3473 2002-04-13 Bill Haneman <bill.haneman@sun.com>
3476 Added implementation code for Accessibility_Magnifier_exit ().
3478 * util/mag_control.c:
3479 Added test code for above method; you can
3480 now kill an existing magnifier via
3481 ./mag_control q, from the util directory.
3483 * test/key-listener-test.c:
3485 Added a new test, for our key listener API.
3487 2002-04-11 Bill Haneman <bill.haneman@sun.com>
3489 * test/app.c, test/keysynth-demo.c:
3491 Replace use of snprintf with g_snprintf.
3492 (fix for bugzilla 78249)
3494 2002-03-27 Michael Meeks <michael@ximian.com>
3498 * util/Makefile.am (INCLUDES): fix.
3499 (DONT_DIST_SOURCE): don't distribute the
3502 * libspi/Makefile.am (dist-hook): ditto.
3504 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
3506 * libspi/hypertext.c:
3507 Fix warnings when yelp is used with atk-bridge
3509 2002-03-21 Michael Meeks <michael@ximian.com>
3511 * libspi/application.c (spi_application_new):
3512 use spi_accessible_construct so we use the AtkObject
3515 2002-03-19 Michael Meeks <michael@ximian.com>
3517 * registryd/registry.c (desktop_remove_application),
3518 (desktop_add_application): clean coding style.
3520 * registryd/desktop.c (spi_desktop_remove_application),
3521 (spi_desktop_add_application): kill re-enterency hazards.
3522 (spi_desktop_dispose): remove bogus redundant cast
3523 obscuring bug; fix bug too.
3524 (spi_desktop_init): make the desktop object immortal.
3526 2002-03-16 Bill Haneman <bill.haneman@sun.com>
3529 Added a #define-guarded tree-traversal step
3530 when enumerating the apps (diagnostic tool).
3532 2002-03-15 Bill Haneman <bill.haneman@sun.com>
3534 * idl/Accessibility_Role.idl:
3535 Added ROLE_DRAWING_AREA which seemed to be missing from the
3538 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3540 * cspi/spi-roletypes.h cspi/spi_accessible.c
3541 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
3544 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
3545 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
3546 AT when applications are added and removed from the desktop. This
3547 reverts the previous broken implementation using the backing
3548 AtkObject for the SpiDesktop.
3550 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3552 * registryd/desktop.c: emit the "children-changed::add" and
3553 "children-changed::remove" signals on the backing ATK object for
3554 the desktop so AT can tell when applications are started and shut
3557 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3559 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
3561 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3563 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
3565 * cspi/spi_accessible.c: Implemented c bindings for stateset support
3567 * cspi/state-types.h: synched with IDL and ATK
3569 2002-03-13 Bill Haneman <bill.haneman@sun.com>
3571 * libspi/accessible.c
3572 (impl_accessibility_accessible_get_child_at_index):
3573 Change return value for g_return_if_fail ()
3574 to CORBA_OBJECT_NIL instead of "0" (!)
3576 * registryd/Makefile.am:
3577 * registryd/Accessibility_Register.server.in:
3578 Changed name of executable, "registryd",
3579 to something more informative:
3582 2002-03-13 Michael Meeks <michael@ximian.com>
3584 * atk-bridge/bridge.c (atk_bridge_init): don't register
3585 if we're in a bonobo-component, rather than a bonobo app.
3587 2002-03-13 Michael Meeks <michael@ximian.com>
3589 * atk-bridge/bridge.c (gtk_module_init): split
3590 out body to (atk_bridge_init): here, since otherwise
3591 we get symbol conflicts and oddness when invoked
3592 from (gnome_accessibility_module_init): here (upd.)
3594 2002-03-11 Bill Haneman <bill.haneman@sun.com>
3597 New file. Explicitly allow "build sheriff" putbacks provided
3598 they are tested on Solaris.
3600 * docs/reference/cspi/Makefile.am:
3601 Added '-' to the "cp" command for index.sgml.
3602 ("patch by thomasvs, soon coming to a GUADEC near you")
3605 Incremented version number (0.9.0) for new release.
3606 Changed macro that checks for popt, to better detect
3607 obsolete versions of popt.
3610 Added X_LIBS to AC_SUBST, for applications
3611 that call Xlib API directly.
3614 2002-03-07 Bill Haneman <bill.haneman@sun.com>
3617 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
3620 Fix regression caused by hard-coding major
3621 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
3624 * test/test-simple.c (test_editable_text),
3625 (test_test): revert previous change (error was
3626 a regression in gail which is now fixed).
3628 2002-03-04 Michael Meeks <michael@ximian.com>
3630 * test/test-simple.c (test_editable_text),
3631 (test_text): pass G_MAXINT instead of '-1' for
3632 whole string - is this a good thing !?
3634 * cspi/spi_accessible.c
3635 (Accessible_getRelationSet): fix crasher bug
3636 overwriting the end of the array.
3638 * test/test-simple.c (validate_accessible): free,
3639 not g_free returned relation set.
3641 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
3643 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
3644 implemented stateset support
3646 * idl/Accessibility_State.idl: Made necessary changes to
3647 the IDL to support state sets.
3649 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3651 * registryd/deviceeventcontroller.c:
3652 Added implementation for generateMouseEvent.
3654 * cspi/spi_registry.c:
3655 Connected new implementation for generateMouseEvent
3658 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3661 Incremented revision (but no change in public API
3662 outside of 'utils', which are not installed public yet.)
3664 * libspi/component.c:
3665 Changed to use atk_component API for layers and
3666 mdi_zorder, instead of deprecated atk_object API.
3668 Magnification Utility Enhancements:
3671 Added implementation of createZoomRegion, clearAllZoomRegions,
3672 resizeZoomRegion. Added new commandline argument
3673 "--no-initial-region". Note that clearAllZoomRegions doesn't
3674 unmap the old '0' region as it should (yet), and the other
3675 methods only work when creating/resizing a single region,
3676 which is "region 0".
3677 (Code for multiple region support will be added later.)
3680 Now we raise the magnifier window each time it's refreshed;
3681 this will help keep it on top.
3683 * util/mag_client.h:
3684 Added simple wrappers for above, used by mag_control.
3685 For general use, it's recommended to use the bonobo magnifier
3686 control API directly instead of using these wrappers.
3689 Moved ZoomRegionData from magnifier.c to this file.
3691 * util/mag_control.c:
3692 Added some code to exercise new IDL implementations.
3694 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
3696 * libspi/text.c: Provide implementation for getAttributes.
3698 2002-02-04 Bill Haneman <bill.haneman@sun.com>
3701 Incremented revision.
3703 * test/test-simple.c:
3704 Replaced use of deprecated g_main_iteration with
3705 g_main_context_iteration.
3707 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
3710 Incremented revision for desktop alpha 2.
3712 2002-01-28 Mark McLoughlin <mark@skynet.ie>
3714 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
3717 * test/simple-at.c: include netinet/in.h.
3719 2002-01-24 Mark McLoughlin <mark@skynet.ie>
3721 * cspi/spi_accessible.c: (Accessible_getRelationSet):
3722 use NULL, not CORBA_OBJECT_NIL.
3724 * libspi/accessible.c:
3725 (impl_accessibility_accessible_get_relation_set):
3726 allocate the sequence correctly.
3728 * libspi/remoteobject.h: kill spi_remote_object_new.
3730 * test/test-simple.c: (validate_accessible): add code
3731 to test relation sets, now all we need is to figure
3732 out how to excercise this code path :/
3734 2002-01-18 Michael Meeks <michael@ximian.com>
3736 * test/test-simple.c
3737 (key_listener_cb): consume the key.
3738 (test_keylisteners): update.
3739 (main): wait for any pending unrefs on events.
3741 * registryd/deviceeventcontroller.c
3742 (spi_controller_update_key_grabs): only re-issue the
3743 grab on a key release.
3744 (spi_device_event_controller_forward_key_event):
3745 refresh the keygrabs before we notify the listeners,
3746 to reduce the X ungrab / re-grab race.
3747 (spi_controller_register_with_devices): remove
3748 XSelectInput - we do that with the gdk_window_ call.
3749 (_spi_controller_device_error_handler): return a value.
3750 s/GDK_DISPLAY/spi_get_display/
3752 2002-01-17 Michael Meeks <michael@ximian.com>
3754 * registryd/deviceeventcontroller.c
3755 (_deregister_keygrab): don't blow out the later
3758 * test/test-simple.c (test_keylisteners): do a
3759 more intelligent validation.
3761 2002-01-14 Michael Meeks <michael@ximian.com>
3763 * atk-bridge/bridge.c
3764 (gnome_accessibility_module_init),
3765 (gnome_accessibility_module_shutdown): impl.
3766 (gtk_module_init): protect vs. double inits.
3767 (add_signal_listener): impl.
3768 (spi_atk_bridge_state_event_listener): kill
3769 (deregister_application): split out of
3770 (spi_atk_bridge_exit_func): here.
3772 2002-01-18 Bill Haneman <bill.haneman@sun.com>
3775 Added caret tracking when using magnifier, and
3776 now use text bounds for focus tracking of text elements, rather than
3777 the component bounds - this is helpful for short text fields in long
3778 table cells, at high magnification.
3780 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3782 * registryd/deviceeventcontroller.c:
3783 Regression fix for keylistener de-registration; global keygrabs
3784 were not being released when deregisterKeystrokeListener was
3785 called in cspi, since
3786 Accessibility_DeviceEventController_deregisterKeystrokeListener
3787 was called with a zero-length keyset. That is because the cspi
3788 method, SPI_deregisterKeystrokeListener, does not take a keyset
3789 parameter but instead should remove all the key grabs held be a
3791 The code in impl_deregister_keystroke_listener was changed to copy
3792 the keylist from the listener instance previously registered with
3793 the DeviceEventController before releasing the grabs.
3795 * registryd/registry.c:
3796 * registryd/deviceeventcontroller.c:
3797 * libspi/spi-private.h:
3799 Changed spelling of "re-enterant" to "re-entrant" globally.
3801 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3803 * test/test-simple.c:
3804 Changed key listeners test - the test was slightly mis-using the
3805 (admittedly poorly documented) SPI_generateKeyboardEvent API.
3806 It now uses '=' as the key event listened to and generated,
3807 relying on a keysym match rather than assuming that keycode 33
3808 is always equal to keysym '!'.
3810 2002-01-15 Bill Haneman <bill.haneman@sun.com>
3813 Changed simple-at to use a specific keyset, rather than
3814 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
3815 manager, desktop, etc.
3817 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3819 * registryd/deviceeventcontroller.c:
3820 Replaced standard X error handler with a special handler that
3821 is non-fatal for failed keygrabs. This works around
3822 problems with keygrab clashes sometimes observed on
3824 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
3825 mouse handling code as yet).
3827 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3830 Incremented revision for desktop alpha release.
3833 Fixed a couple of the more glaring errors (still not
3836 2002-01-11 Michael Meeks <michael@ximian.com>
3838 * registryd/deviceeventcontroller.c
3839 (spi_device_event_controller_forward_key_event): kill
3840 XUngrabKey / XKeyGrab race.
3841 (spi_controller_grab_keyboard): rename to
3842 (spi_controller_update_key_grabs): this, and deal
3843 with incremental adding / removing grabs more
3845 (_register_keygrab): ensure we're not pending a remove.
3846 (spi_grab_mask_free): impl.
3847 (spi_controller_register_global_keygrabs): split out
3849 (handle_keygrab): impl.
3850 (_deregister_keygrab): impl.
3851 (spi_controller_deregister_global_keygrabs): impl.
3852 (spi_controller_update_key_grabs): re-issue the grab if
3853 we just recieved a notification.
3855 * test/test-simple.c (key_listener_cb): remove debug.
3857 * registryd/deviceeventcontroller.c
3858 (spi_controller_register_device_listener): after
3859 registering a global keygrab, actualy register it !
3860 don't wait for a timeout; doh !
3862 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3863 to make it more readable / manipulable.
3864 s/grabmask/grab_mask/ s/refcount/ref_count/
3865 s/keyval/key_val/ s/modmask/mod_mask
3867 2002-01-08 Michael Meeks <michael@ximian.com>
3869 * registryd/deviceeventcontroller.c
3870 (spi_controller_register_with_devices): use gdk calls to
3872 (global_filter_fn): implement the filter.
3873 (spi_device_event_controller_check_key_event): rename to
3874 (spi_device_event_controller_forward_key_event): this & upd.
3875 (spi_get_display): replace with GDK_DISPLAY.
3877 * registryd/deviceeventcontroller.c
3878 (spi_controller_deregister_device_listener): unroll into
3879 (impl_deregister_keystroke_listener): here to simplify.
3880 (spi_controller_register_global_keygrabs): split cut and
3881 paste (!) out into (_register_keygrab): here, shorter & sweeter.
3882 (spi_controller_deregister_device_listener): remove.
3883 (impl_register_mouse_listener): remove, no mouse listener
3884 support in at-spi-1.0
3886 * registryd/registry.c
3887 (_device_event_controller_hook): kill.
3888 (spi_registry_init): upd.
3890 * registryd/deviceeventcontroller.c
3891 (spi_device_event_controller_class_init): upd.
3892 (spi_check_key_event): merge into.
3893 (spi_device_event_controller_check_key_event):
3894 here and kill strange static ev init, don't leak
3895 the x_event - nor dynamicaly allocate it.
3897 * registryd/registry-main.c (main): re-direct
3898 timeout to remove strange vtable mess.
3900 * registryd/deviceeventcontroller.c
3901 (remove_listener_cb): impl.
3902 (spi_controller_deregister_device_listener):
3903 fix re-enterancy hazard.
3905 2002-01-07 Michael Meeks <michael@ximian.com>
3907 * registryd/deviceeventcontroller.c
3908 (spi_device_event_controller_new): upd.
3909 (impl_notify_listeners_sync): upd. debug.
3910 (spi_notify_keylisteners): fix re-enterancy hazards,
3911 prettify, remove O(n*n) iteration.
3912 (spi_controller_grab_keyboard): fix iteration.
3913 (spi_check_key_event): re-format to suit coding style.
3914 Clean all the warnings - we're warning free.
3916 * registryd/deviceeventcontroller.h:
3917 * registryd/registry.h: make mutualy referential with
3918 typesafe forward references instead of (!) void pointer
3921 2002-01-11 Michael Meeks <michael@ximian.com>
3923 * cspi/spi_accessible.c (role_names): add a role name
3924 to sync this array with the enum; and make the regression
3927 2002-01-10 Michael Meeks <michael@ximian.com>
3929 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
3930 allow expansion of enumeration & kill warning.
3932 * test/test-simple.c (key_listener_cb): impl.
3933 (test_keylisteners): impl.
3935 * cspi/spi-listener.h: make listener signatures const
3936 on the provided (const) events.
3938 * test/keysynth-demo.c: upd. to const events.
3940 * test/simple-at.c: ditto.
3942 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3945 Rev the version to 0.5 (the previous tarball was named 0.4,
3946 even though the micro number was 3), so we need to rev upwards
3947 again for beta2/"desktop-alpha"
3950 Checked in a demo script, which requires editing before use!
3951 Proceed with caution.
3954 Fixed typo in header which was redefining SPI_ACTION_CLASS.
3956 * cspi/spi_accessible.c:
3957 Add a couple of missing enum initializations, and fix some enum
3960 * cspi/spi_registry.c:
3961 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3963 * docs/reference/cspi/at-spi-cspi-sections.txt:
3964 Remove/fix a couple of broken document references.
3967 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
3968 as Alt-Control to listen for commands, since on some systems
3969 Control-Alt may already be grabbed.
3971 2002-01-10 Bill Haneman <bill.haneman@sun.com>
3974 Update version number to 0.4 for Beta2.
3976 * libspi/accessible.c, libspi/accessible.h:
3977 Expose spi_accessible_construct, to enable libgail-gnome
3978 construction from spi_accessible subtype.
3980 * utils/magnifier.c:
3981 Workaround for bug in some non-gnome-compliant window managers
3982 which made magnifier resize improperly.
3984 2002-01-09 Bill Haneman <bill.haneman@sun.com>
3986 * libspi/accessible.c: (spi_accessible_new) :
3987 Move the test for SPI_IS_REMOTE_OBJECT to
3988 spi_accessible_new_return, fixing a bug and compile time warning.
3990 2002-01-08 Michael Meeks <michael@ximian.com>
3992 * registryd/registry.c (parse_event_type): remove strndup.
3994 * libspi/Makefile.am (libspi_la_SOURCES): remove
3995 sources already included in the headers section.
3997 * libspi/util.c: add.
3999 * libspi/spi-private.h: add.
4001 * registryd/registry.c: update to moved list iterators.
4003 2002-01-05 Michael Meeks <michael@ximian.com>
4005 * test/simple-at.c (main): upd. auto-module set to atk-bridge
4007 * test/test-simple.c (main): ditto.
4009 2002-01-04 Michael Meeks <michael@ximian.com>
4011 * libspi/accessible.c (spi_accessible_new): remove 2nd,
4012 redundant construct.
4014 * registryd/registry.c
4015 (get_listener_list): impl.
4016 (impl_accessibility_registry_register_global_event_listener):
4017 re-impl. to simplify using ~, remove dodgy const cast off.
4018 (parse_event_type): constify.
4019 (impl_accessibility_registry_deregister_global_event_listener_all):
4020 re-write, more efficiency and simplicity, kill re-enterancy
4022 (compare_listener_corbaref, compare_corba_objects),
4023 (compare_listener_quarks): define out.
4024 (impl_accessibility_registry_deregister_global_event_listener):
4025 re-write for effiency, and nail re-enterancy hazard.
4026 (impl_accessibility_registry_get_desktop_list): impl.
4027 (re_enterant_list_delete_link): impl.
4028 (re_enterant_list_foreach): impl.
4029 (remove_listener_cb): impl.
4030 (_registry_notify_listeners): kill.
4031 (notify_listeners_cb): impl.
4033 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
4034 (SPI_getDesktopList): impl.
4036 * test/test-simple.c (test_desktop): test the methods.
4038 2002-01-03 Michael Meeks <michael@ximian.com>
4040 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
4041 keystrings since we free them
4042 (SPI_freeAccessibleKeySet): in here.
4044 * libspi/accessible.c (spi_accessible_new): kill warning,
4045 wonder what is going on with the constructor here.
4047 2002-03-01 Bill Haneman <bill.haneman@sun.com>
4049 * libspi/accessible.c (spi_accessible_new ()) :
4050 Added check to see if AtkObject is an SpiRemoteObject before
4051 creating an SpiAccessible.
4053 2002-05-01 Bill Haneman <bill.haneman@sun.com>
4055 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
4056 Enable keygrabs using the Control modifier, now that they are
4057 working properly (they were previously disabled).
4060 Change the command keygrab for this demo to "Control+Alt", so as
4061 to conflict with fewer other key commands on the system; this
4062 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
4064 Removed a pointlessly-chatty keylistener for unshifted keys
4065 (shifted keys are still reported).
4067 2002-02-01 Bill Haneman <bill.haneman@sun.com>
4069 * libspi/remoteobject.h:
4070 * libspi/remoteobject.c:
4071 Added definitions for special AtkObject subtype, required for
4072 support of remote components (specifically, used by BonoboControl
4073 accessibility implementation).
4075 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
4077 * cspi/spi.h: synched relation types with ATK
4079 * cspi/spi_accessible.c: Added implementations of
4080 AcccessibleRelation_* methods
4082 * idl/Accessibility_Relation.idl: added getRelationTypeName
4083 method. Synched known relation types with ATK. Allowed for
4084 relation type extension with the RELATION_EXTENDED type.
4086 * libspi/relation.c: Provided implementations for
4087 AccessibleRelation methods.
4089 2002-01-01 Bill Haneman <bill.haneman@sun.com>
4091 API tweaks for today's API 'freeze'.
4094 Added placeholder functions to allow future compatible expansion
4095 of the IDL interfaces.
4097 * idl/Accessibility_Registry.idl:
4098 Changed generateKeyEvent to generateKeyboardEvent. Changed
4099 signature of this method to accept an optional keystring in
4100 parameter (for complex text input synthesis) and changed use of
4101 simple 'boolean' parameter in registerKeystrokeListener to a
4102 struct, EventListenerMode.
4104 * cspi/spi_accessible.c:
4106 * cspi/spi_streamablecontent.c:
4107 Added references to AccessibleStreamableContent interface, and
4108 definition and implementation of AccessibleStreamableContent
4111 * cspi/spi_registry.c:
4113 Changed generateKeyEvent API to generateKeyboardEvent,
4114 taking a new (optional) keystring parameter to support complex
4119 Renamed directory (to better reflect its actual purpose, bridging
4120 from at-spi to ATK). The .so module is also now named
4123 * idl/Accessibility_Hypertext.idl:
4124 * libspi/accessible.c:
4125 * libspi/hypertext.h:
4126 * libspi/hypertext.c:
4127 Changed Accessibility_Hypertext to *not* derive from
4130 * cspi/spi_registry.c:
4131 Added list of legal event type names for 'window' events, which
4132 completes the registry event API.
4134 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
4136 * at-bridge/bridge.c: Added registration for separate
4137 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
4138 signals. If either of the first two parameters to the generic
4139 bridge signal handler are ints, they are passed on as event
4140 details. This allows an AT to determine what text was inserted.
4142 2001-12-21 Bill Haneman <bill.haneman@sun.com>
4144 * registryd/deviceeventcontroller.c:
4145 Fixed regressions in generateKeyEvent caused by the removal of
4146 gdk_init from registryd; we now use pure X calls to connect to the
4147 display, which makes sense because deviceeventcontroller already
4148 uses a fair bit of X API (should eventually be migrated to a
4149 'portability layer').
4151 * registryd/desktop.c:
4152 Fixed minor regression in spi_desktop_init, changed the way the
4153 desktop name is being set to work with new spi_base API
4154 (gobject-based, rather than AtkObject-based).
4156 * registryd/Makefile.am:
4157 Minor revision of makefile to use XTST_LIBS variable rather than
4158 hard-wiring the Xtst LD_ADD element.
4160 * test/keysynth-demo.c:
4161 Tweaked an output message; added initialization of the
4162 'keystrings' member of the "switch listener" key_set.
4164 * libspi/relation.c:
4165 Squashed compile-time warning.
4167 * libspi/accessible.c:
4168 Cosmetic and formatting fixes, renamed a static method.
4170 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
4172 * libspi/accessible.c
4174 * libspi/application.c
4177 * libspi/component.c
4178 * libspi/editabletext.c
4179 * libspi/hyperlink.c
4180 * libspi/hypertext.c
4182 * libspi/selection.c
4186 * registryd/desktop.c:
4187 Changed SpiBase to contain a GObject pointer rather than an AtkObject
4189 2001-12-17 Bill Haneman <bill.haneman@sun.com>
4191 * idl/Accessibility_Registry.idl:
4192 Added boolean member 'is_text' to DeviceEvent. This is for the
4193 use of key events, and helps prevent ambiguity between composed
4194 key strings and keysym names, since both may potentially be
4195 returned in the 'event_string' member.
4197 * at-bridge/bridge.c:
4198 * registryd/deviceeventcontroller.c:
4199 Use the 'is_text' member when notifying device event listeners.
4200 Knon issue: composed characters are not dealt with correctly by
4201 the global key listener implementation yet.
4203 2001-12-17 Bill Haneman <bill.haneman@sun.com>
4205 * at-bridge/bridge.c:
4206 Namespaced local static methods to spi_atk_bridge_* where
4207 previously named bridge_*, and spi_* elsewhere.
4209 * at-bridge/bridge.c:
4210 * cspi/bonobo/cspi-bonobo-listener.c:
4211 Added demarshalling/conversion for string member of
4212 Accessibility_DeviceEvent to AccessibleKeystroke.
4214 * registryd/deviceeventcontroller.c:
4215 Added code to fill the Accessibility_DeviceEvent key string value
4216 member for global key events (i.e. from XGrabKey), to match
4217 behavior of Accessibility_DeviceEvent from the toolkit key events
4218 from the bridge. Fixed timestamp in global key event notifications.
4221 Added printout of key event's string value to
4222 report_ordinary_key_event, for demo/debugging purposes.
4224 2001-12-15 Bill Haneman <bill.haneman@sun.com>
4226 * idl/Accessibility_Registry.idl:
4227 Removed Accessibility_KeyStroke structure in favor of generic
4228 Accessibility_DeviceEvent structure.
4229 Changed Accessibility_ControllerEventMask from a struct to an
4232 * at-bridge/bridge.c:
4233 Changed APIs to use DeviceEvent structure as above, and removed
4234 bogus casting between these event structures.
4236 * cspi/spi-listener.h:
4237 Added keystring member of AccessibleKeystroke structure, to enable
4238 matching on event "names" rather than only hardware codes and
4242 Added keystrings member of AccessibleKeySet struct, to allow
4243 matching on event names (as above).
4244 Added declarations for SPI_createAccessibleKeySet and
4245 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
4246 event modmasks directly as unsigned ints rather than structs with
4247 refcounts, in the DeviceEventController methods.
4249 * cspi/spi_registry.c:
4250 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
4252 * cspi/spi-roletypes.h:
4253 Added documentation of newly added SPI Roles.
4255 * cspi/bonobo/cspi-bonobo-listener.c:
4256 Changes in support of API changes above.
4258 * libspi/accessible.c:
4259 Converted APIs to use DeviceEvent structure (see IDL changes
4262 * registryd/deviceeventcontroller.c:
4263 Added DEControllerGrabMask structure to track keygrabs not only by
4264 modmask but by keyset as well; this allows us to do "global"
4265 (i.e. X) keygrabs on a per-key or keyset basis rather than always
4266 grabbing on AnyKey and then filtering after-the-fact.
4267 Bugfixes for event filtration mean that we don't get false matches
4268 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
4270 * registryd/deviceeventcontroller.c:
4271 Namespaced a number of static methods to use spi_ prefix. Major
4272 revision to internals of global (i.e. X) key grabs.
4274 * registryd/deviceeventcontroller.h:
4275 Removed keymask_list and added keygrabs_list to
4276 SpiDeviceEventController struct.
4279 Added use of SPI_createAccessibleKeySet API when creating a
4280 listener for only one key. Attach a listener to "shift spacebar
4281 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
4282 X key event names to SPI key event names, so that listeners are
4283 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
4285 * test/keysynth-demo.c:
4286 Changed (incorrect) use of X key event names (KeyPressed,
4287 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
4290 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4292 * libspi/accessible.c:
4293 Convert all AtkRole enumerations to Accessibility_Role enums when
4294 getting a role from an AtkObject.
4296 * cspi/spi_accessible.c:
4297 Complete the conversion of Accessibility_Role enums at runtime to
4298 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
4299 role enums correctly match those given in spi-roletypes.h.
4300 Re-synchronize the local names list for AccessibleRole_getName ().
4301 AccessibleRole_getName is now deprecated, since it duplicates the
4302 more reliable Accessible_getRoleName.
4303 Added some role types from Accessibility_Role.idl.
4305 * idl/Accessibility_Role.idl:
4306 Added some role types used by AtkRole.
4308 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4311 * cspi/spi_registry.c:
4313 * cspi/cspi-bonobo-listener.c:
4314 Namespaced all methods that did not begin with an "SPI_" or
4315 "Accessible" prefix to "SPI_".
4318 Homogenized internal function namespace to "cspi_" for statics.
4321 Patched tests to use the new CSPI API.
4323 * docs/reference/cspi/at-spi-cspi-sections.txt:
4324 Updated docs to reflect namespace changes, and added a number of
4325 methods to the documentation.
4327 * registryd/registry.c:
4328 Changed use of strings and string hashes in listener event
4329 matching and parse_event_string to use GQuark, which is guaranteed
4332 * registryd/registry.h:
4333 Squashed annoying warning.
4335 * idl/Accessibility_Role.idl:
4336 Extended range of available Accessibility_Role values.
4338 * cspi/spi_accessible.c:
4339 Re-ordered role names.
4341 2001-12-12 Bill Haneman <bill.haneman@sun.com>
4343 * idl/Accessibility_Value.idl:
4344 Revert use of union back to CORBA_double, since the double type is
4345 more efficient and can contain the other types without loss of
4348 * idl/Accessibility_Accessible.idl:
4349 Added method Accessibility:Accessible:getRoleName, to complement
4350 Accessibility:Accessible:getRole.
4352 * cspi/spi_accessible.c:
4354 Added C binding for above, Accessible_getRoleName (), and changed
4355 signature of Accessible_getRole () to return an AccessibleRole.
4357 * cspi/spi-roletypes.h:
4358 Changed AccessibleRole_getName to return a char * instead of a
4359 const char *. This method is now at least temporarily deprecated
4360 in favor of asking Accessibles for their RoleNames directly.
4363 Revert to match Accessibility_Value.idl;
4367 Change signature of AccessibleValue methods to use double rather
4371 * cspi/spi_accessible.c:
4372 Changed Accessible_getRole to return an AccessibleRole enum rather
4373 than a UTF-8 string. The UTF-8 string can still be obtained via
4374 AccessibleRole_getName ().
4376 * test/test-simple.c:
4377 Add test_action. Small fixup to match API change to Accessible_getRole.
4380 Bugfix for get_action_from_servant ().
4382 2001-12-11 Michael Meeks <michael@ximian.com>
4384 * libspi/libspi.h: remove registry.h and
4385 desktop.h, deviceeventcontroller.h
4387 * libspi/Makefile.am: remove registry.[ch],
4388 desktop.[ch], deviceeventcontroller.[ch]
4390 * registryd/Makefile.am: add registry.[ch],
4391 desktop.[ch], rename registryd.c to registry-main.c.
4392 add deviceeventcontroller.[ch]
4394 2001-12-11 Bill Haneman <bill.haneman@sun.com>
4397 Replace setenv() call with putenv ().
4399 * libspi/component.c:
4400 Bugfix in AccessibleComponent_getExtents (),
4403 2001-12-11 Michael Meeks <michael@ximian.com>
4405 * libspi/image.c (impl_getImageExtents): impl.
4406 (spi_image_class_init): upd.
4409 (AccessibleImage_getImageDescription): fix daft bug
4412 * test/test-simple.c (global_listener_cb): update
4413 to only quit if not --poke
4414 (main): catch --poke.
4415 (validate_accessible): upd. dumping, call test_image
4418 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
4421 * idl/Accessibility.idl: update all IDL includes.
4423 * idl/*.idl - rename to namespace - this sucks, blame
4424 mjs' bad decision for oafd.
4426 * test/test-simple.c (create_test_window): add more tests.
4427 (create_tree): split this out.
4428 (validate_accessible): bugfix.
4430 2001-12-11 Michael Meeks <michael@ximian.com>
4432 * cspi/bonobo/cspi-bonobo-listener.c:
4433 (cspi_kestroke_listener_unref),
4434 (cspi_event_listener_unref): impl. undoing previous
4435 homenous environment - for Bill.
4437 * cspi/spi_table.c (long_seq_to_array): use
4440 * cspi/spi_main.c: split out all bonoboish bits into
4443 * cspi/spi-impl.h: upd. typedefs.
4445 * cspi/spi_registry.c: update to lowlevel API,
4446 return booleans to indicate success in some places.
4448 * cspi/spi_event.c: update to lowlevel API.
4450 * cspi/bonobo/Makefile.am: add.
4452 * cspi/bonobo/cspi-lowlevel.h: add
4454 * cspi/bonobo/cspi-bonobo.c: add
4456 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
4458 * cspi/Makefile.am: remove spi-listener-impl.[ch],
4459 (SUBDIRS): add bonobo, link in the libs.
4461 * cspi/spi-util.c: kill this file.
4463 * TODO: merge in my bits.
4465 2001-12-11 Michael Meeks <michael@ximian.com>
4467 * test/test-simple.c (test_value, test_table, main):
4468 remove unused variables causing warnings.
4470 * configure.in: cleanup checks - require gail.
4472 2001-12-11 Bill Haneman <bill.haneman@sun.com>
4475 Changed Value interface to use SValue (scalars) rather than
4476 assuming all values are floats. This allows floats, doubles,
4477 longs, shorts, and unsigned values to be manipulated.
4478 Introduced Accessibility:SValue union.
4481 Updated to use new API above, and to work correctly with GValues
4482 of different types in AtkValue.
4485 Updated to use new API above. cspi's API is as yet unchanged.
4488 Updated the Value revision action item.
4490 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4492 * test/test-simple.c:
4493 Added test_table (GtkTreeView widget in test window to follow).
4494 Un-commented test_value, added GtkRange widget.
4495 Added GtkTreeView widget with GtkListStore. It passes regression
4496 test but leaks one SPI object for some reason.
4499 Fixed bug in impl__set_currentValue.
4501 2001-12-10 Michael Meeks <michael@ximian.com>
4503 * cspi/spi_text.c: audit for exception handling,
4504 tolerating NULL object references safely etc.
4506 * cspi/spi_value.c: ditto.
4508 * cspi/spi_table.c (AccessibleTable_getSummary),
4509 (AccessibleTable_getAccessibleAt),
4510 (AccessibleTable_getRowHeader),
4511 (AccessibleTable_getColumnHeader),
4512 (AccessibleTable_getCaption): fix bugs hidden by
4514 (long_seq_to_array): impl.
4515 (AccessibleTable_getSelectedRows),
4516 (AccessibleTable_getSelectedColumns): use it.
4518 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4521 Added a TODO list (rough and short for now).
4523 * cspi/spi_hyperlink.c:
4524 * cspi/spi_hypertext.c:
4525 Fixed macro name typos, and remove use of obsolete macro in
4526 AccessibleHyperlink_getLink.
4528 * cspi/spi_action.c:
4529 * cspi/spi_accessible.c:
4530 * cspi/spi_application.c:
4531 * cspi/spi_component.c:
4532 * cspi/spi_selection.c:
4535 Documentation fixes (removed return values from ref/unref methods).
4537 2001-12-10 Michael Meeks <michael@ximian.com>
4539 * cspi/spi_action.c: audit for exception handling,
4540 tolerating NULL object references safely etc.
4542 * cspi/spi_accessible.c: ditto.
4544 * cspi/spi_component.c: ditto.
4546 * cspi/spi_editabletext.c: ditto.
4548 * cspi/spi_hyperlink.c: ditto.
4550 * cspi/spi_hypertext.c: ditto.
4552 * cspi/spi_image.c: ditto.
4554 * cspi/spi_selection.c: ditto.
4556 2001-12-10 Michael Meeks <michael@ximian.com>
4558 * configure.in: use cspi/libspi.pc.in instead.
4560 * Makefile.am (pkgconfig_DATA): upd. to match.
4562 * test/simple-at.c (report_focus_event): kill hacks around
4563 bad return values, use putenv not setenv
4565 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
4566 fire ChildGone - I killed it.
4568 * libspi/component.c
4569 (impl_accessibility_component_get_extents): remove
4572 * idl/Accessible.idl: kill ChildGone exception.
4574 * cspi/*.[ch]: kill int return from ref / unref.
4576 * cspi/spi_main.c (cspi_object_add_check): fold into
4577 (cspi_object_add): here.
4579 * cspi/spi_component.c (AccessibleComponent_getExtents):
4580 handle exceptions elegantly.
4582 * cspi/spi-private.h (cspi_check_ev_return),
4583 (cspi_return_if_fail): impl.
4585 * cspi/spi_accessible.c: use extensively.
4586 (AccessibleStateSet_equals): add direct compare check.
4588 * cspi/spi_selection.c: tolerate NULL objs, and check
4589 exceptions before return.
4591 * cspi/spi-util.c (cspi_warn_ev): rename to
4592 (cspi_check_ev): this & don't pass ev in; no point.
4594 2001-12-10 Michael Meeks <michael@ximian.com>
4596 * test/test-simple.c: use putenv not setenv
4597 (get_environment_vars): more chatty if you're not using
4600 * test/simple-at.c: do the setenv so more people see the
4603 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4605 * libspi/registry.c:
4606 Changed check of CORBA_environment on notification to be a warning
4607 instead of an error for the moment, since we can recover from this
4608 error when caused by a queued notification from a dead app.
4611 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
4612 used by all current implementors of AtkValue), and coerce to
4613 CORBA_float. (Proper general case fix may require change to Value.idl).
4615 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4619 * cspi/spi_accessible.c:
4620 Documentation fixes: added user_data params to documentation for
4621 listeners and callbacks.
4623 * cspi/spi_accessible.c:
4624 Changed AccessibleStateSet_compare to return a
4625 StateSet rather than return the difference set into a third parameter.
4628 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4631 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
4632 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
4636 Remove subdirectory po from SUBDIRS for now.
4638 * at-bridge/bridge.c:
4639 Beefed up a couple of debug printouts.
4640 One-line fix for signal notification name formatting.
4642 * libspi/accessible.c:
4643 Added assertion to spi_accessible_new ().
4645 * libspi/application.c:
4646 Put #ifdef qualifiers around a printf.
4649 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
4651 * registryd/Makefile.am:
4653 Replaces use of XML_I18N_MERGE_SERVER_RULE with
4654 INTLTOOL_SERVER_RULE macro.
4657 Added an event listener for several ATK signals, for
4658 testing and debugging. Removed a few g_warnings.
4659 Added test output if focussed item implements the Value interface.
4661 * test/test-simple.c:
4662 Added test_value () function (known not to pass at the moment, so
4663 not actually called yet.
4665 2001-12-08 Michael Meeks <michael@ximian.com>
4667 * at-bridge/bridge.c (bridge_focus_tracker),
4668 (emit_eventv): fix the same ref. leak.
4669 (register_atk_event_listeners): don't leak.
4671 * cspi/spi-listener-impl.c (cspi_event): more
4672 protection from client code.
4674 * test/test-simple.c (test_desktop): unref the app.
4676 * test/Makefile.am: upd. TESTS.
4678 * at-bridge/bridge.c (bridge_exit_func): release the registry.
4680 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
4682 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
4684 * cspi/spi_registry.c: constify in strings.
4685 (deregisterGlobalEventListenerAll): don't release the ref.
4687 * cspi/spi.h: start removing redundant / conflicting
4688 gtkdoc comments, making the API readable at a glance :-)
4690 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
4692 * test/keysynth-demo.c (keysynth_exit, main): upd.
4694 * test/simple-at.c (main, simple_at_exit): upd.
4696 * test/test-simple.c (unutterable_horror): kill.
4697 (utterable_normal_derefs): kill.
4698 (main): upd & do a setenv before gtk_init, so that we
4699 can use memprof - and to save the pain of remembering
4700 this, if we're running under memprof - don't exit.
4702 * cspi/spi_main.c (SPI_exit): return exit status
4704 (SPI_event_quit): impl.
4705 (SPI_event_main): simplify.
4706 (cspi_is_gnome_app): kill.
4707 (SPI_init): kill isGNOMEapp arg.
4709 * at-bridge/bridge.c (register_atk_event_listeners):
4710 re-instate the unref.
4711 (bridge_exit_func): don't re-activate the registry,
4712 protect vs. theoretical re-entry, use the
4713 AT_BRIDGE_SHUTDOWN env. var to determine whether to
4714 assert a clean shutdown - for regression tests.
4716 2001-12-08 Abel Cheung <maddog@linux.org.hk>
4718 * configure.in: Comment out dummy i18n support for now,
4719 otherwise it fails to build.
4720 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
4721 EXTRA_DIST. They are missing in tarball.
4723 2001-12-07 Michael Meeks <michael@ximian.com>
4725 * util/magnifier.c: kill bonobo activation reg. race.
4727 * libspi/component.c
4728 (impl_accessibility_component_get_extents): make it match
4731 * libspi/registry.c (_registry_notify_listeners):
4732 re-remove X headers & reconcile conflicts.
4733 (spi_listener_struct_free): bad conflict resolve.
4734 (impl_accessibility_registry_register_application):
4735 more bad merging fixed.
4736 (impl_accessibility_registry_deregister_application): ditto.
4737 (spi_registry_new): ditto.
4738 (spi_registry_init): don't have an applications field.
4740 [ merge fixups2 branch to here ]
4741 2001-12-07 Michael Meeks <michael@ximian.com>
4743 * test/simple-at.c (report_focus_event),
4744 (report_focussed_accessible): remove g_warning debug.
4746 2001-12-07 Michael Meeks <michael@ximian.com>
4748 * test/test-simple.c (validate_tree): comment out some checks.
4749 (test_desktop): app now not registered idly - horay.
4751 2001-12-07 Michael Meeks <michael@ximian.com>
4753 * cspi/spi_registry.c
4754 (registerAccessibleKeystrokeListener): clean, stop it leaking
4755 great swathes of memory, and device event controller references.
4756 ensure we always pass valid sequences.
4757 (deregisterAccessibleKeystrokeListener): ditto.
4758 (generateKeyEvent): upd.
4760 * at-bridge/bridge.c (bridge_key_listener): handle
4761 registry dead exception gracefully.
4762 (bridge_focus_tracker, emit_eventv): free ev.
4764 * test/simple-at.c (report_focus_event): fix polarity.
4766 * libspi/application.c (notify_listeners): kill the ev
4767 argument, and make sure we init the ev we use.
4768 (spi_application_object_event_listener): split out a chunk
4769 (get_atk_object_ref): here & fixup.
4770 (reverse_lookup_name_for_toolkit_event): make const.
4771 (spi_application_toolkit_event_listener): fixup, kill leaks
4774 * at-bridge/bridge.c (register_atk_event_listeners):
4775 don't unref the noop object - causes grief.
4777 * libspi/registry.c: remove the X headers.
4778 turn off the debug churn.
4780 * libspi/accessible.c (spi_accessible_new_return): only
4781 release the ref if we are supposed to [doh]
4783 * test/simple-at.c (report_button_press, report_focus_event):
4784 guard vs. unexpected exit.
4786 * at-bridge/bridge.c (gtk_module_init): prune printf.
4787 (bridge_exit_func): fix app unref.
4789 * libspi/Makefile.am: don't install registry or desktop.h
4791 * libspi/*.h: update includes.
4793 * libspi/application.h: don't include ourself, or
4794 other redundant headers.
4796 2001-12-06 Michael Meeks <michael@ximian.com>
4798 * libspi/accessible.c
4799 (get_accessible_from_servant): impl.
4800 Upd. all CORBA impl.s to use it killing cut and paste.
4802 * cspi/spi_main.c (cspi_cleanup): guard vs. double
4804 (SPI_init): register atexit cleanup handler here.
4806 2001-12-06 Michael Meeks <michael@ximian.com>
4808 * at-bridge/bridge.c (gtk_module_init): g_error on
4809 activation exception
4811 2001-12-06 Michael Meeks <michael@ximian.com>
4813 * at-bridge/bridge.c (gtk_module_init): some sort of
4814 confusing merge clash - reverted.
4815 (bridge_idle_init): ditto.
4817 * test/test-simple.c (main, utterable_normal_derefs):
4818 merge from Bill - somehow not committed.
4820 2001-12-06 Michael Meeks <michael@ximian.com>
4822 * libspi/value.c (spi_value_class_init): upd.
4823 (spi_value_finalize): kill.
4825 * libspi/table.c (spi_table_finalize): kill.
4826 (spi_table_interface_new): upd.
4827 (spi_table_class_init): upd.
4828 (get_table_from_servant): impl.
4829 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4831 * libspi/selection.c (spi_selection_finalize): kill.
4832 (spi_selection_interface_new): upd.
4833 (spi_selection_class_init): upd.
4834 (get_selection_from_servant): impl.
4835 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4837 * libspi/relation.c (spi_relation_finalize): kill.
4838 (spi_relation_class_init, spi_relation_new): upd
4840 * libspi/image.c (spi_image_finalize): kill.
4841 (spi_image_class_init): upd.
4842 (spi_image_interface_new): upd.
4843 (get_image_from_servant): impl.
4844 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4846 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
4847 (spi_hyperlink_finalize): kill.
4848 (spi_hyperlink_new): upd.
4849 (get_hyperlink_from_servant): impl.
4850 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4852 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
4853 (spi_hypertext_finalize): kill.
4854 (spi_hypertext_class_init): upd.
4855 (get_hypertext_from_servant): impl.
4856 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4858 * libspi/editabletext.c (spi_editable_text_finalize): kill.
4859 (spi_editable_text_interface_new): upd.
4860 (get_editable_text_from_servant): impl.
4861 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4863 * libspi/text.c (get_text_from_servant): impl.
4864 All impls - update to use it killing more cut and paste,
4865 also fix bad string returns on duff args ( a somewhat
4866 impossible case to handle - but hey ).
4867 (spi_text_construct): impl.
4868 (spi_text_interface_new): upd.
4869 (spi_text_object_finalize): kill.
4871 * libspi/component.c
4872 (accessibility_component_object_finalize): kill.
4873 (spi_component_class_init): upd.
4874 (get_component_from_servant): impl. helper to kill cut & paste.
4875 (impl_accessibility_component_contains):
4876 (impl_accessibility_component_get_accessible_at_point):
4877 (impl_accessibility_component_get_position):
4878 (impl_accessibility_component_get_extents):
4879 (impl_accessibility_component_get_mdi_z_order):
4880 (impl_accessibility_component_get_layer):
4881 (spi_component_interface_new): upd.
4883 * libspi/action.c (spi_action_finalize): kill.
4884 (spi_action_class_init): upd. inherit from SpiObject.
4885 (spi_action_interface_new): upd.
4886 (get_action_from_servant): impl. helper to reduce cut & paste.
4887 (impl_getKeyBinding, impl_getName, impl_doAction),
4888 (impl_getDescription): Use it everywhere.
4890 * cspi/spi_main.c (get_live_refs): a pointer hash.
4891 (spi_object_hash, spi_object_equal): comment out.
4892 There are issues with CORBA object hashing that need
4895 * libspi/application.c (spi_application_init),
4896 (spi_application_new): upd.
4898 * libspi/accessible.c (spi_accessible_object_finalize): kill.
4899 (spi_accessible_class_init): upd.
4900 s/accessible/object/ in epv methods.
4902 2001-12-05 Bill Haneman <bill.haneman@sun.com>
4904 * at-bridge/bridge.c:
4905 Reorder the bridge initialization into the bridge gtk_module_init,
4906 an immediate call to bridge_register_app, and an idle_add for
4907 register_atk_event_listeners (the only code that *must* wait until
4908 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4909 the activation, creates the application's Accessible object, and
4910 queues the bridge_idle_init function. Restored call to
4911 Accessibility_Registry_deregisterApplication().
4912 Prior to making this call we obtain a new reference to the
4913 registry, which is a temporary hack that helps us handle apps that
4914 shut down the bonobo mainloop before we get there.
4916 * libspi/registry.c:
4917 Fix string leakage in debug block, and don't segv if a an app
4918 dies before its event notifications have been propagated.
4921 Modify cspi_check_ev() to call g_warning() rather than g_error(),
4922 as stopgap measure until we get proper exception handling when
4923 objects die during or before interrogation.
4927 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4928 Also changed default value of is_gnome_app to TRUE.
4931 * test/keysynth-demo.c:
4932 Changed use of SPI_init and SPI_event_main to reflect API change above.
4935 Made report_focus_event check the warning value from getName
4936 before reporting on focussed accessible; simplifies handling of
4937 notifications from dead objects.
4939 * test/test-simple.c: (Changes not in this patch since source is
4942 2001-12-05 Michael Meeks <michael@ximian.com>
4944 * registryd/registryd.c (main): protect against
4945 bonobo-activation startup race condition.
4947 * cspi/spi_main.c (cspi_object_add_check): cope
4948 with the exception elegantly.
4950 * idl/Accessible.idl: decl. ChildGone
4952 * libspi/desktop.c (spi_desktop_dispose): impl.
4953 (spi_desktop_class_init): upd.
4954 (spi_desktop_add_application),
4955 (spi_desktop_remove_application),
4956 (abnormal_application_termination): impl.
4957 (impl_desktop_get_child_at_index): re-impl.
4960 (impl_accessibility_registry_deregister_application),
4961 (impl_accessibility_registry_register_application):
4962 kill excessive debug clutter.
4964 * test/test-simple.c (test_misc): test some NULL
4965 tolerance. (main): upd.
4967 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4968 implements no interfaces - so let's not crash.
4970 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4972 * libspi/accessible.c (spi_accessible_new_return): impl.
4973 helper to calm the cut and paste, to cope with
4974 NULL AtkObjects effectively and efficiently, and to kill
4975 the referencing bugs.
4977 * libspi/table.c (impl_getAccessibleAt),
4978 (impl_getRowHeader, impl_getColumnHeader): upd.
4980 * libspi/hyperlink.c (impl_getObject): upd.
4982 * libspi/accessible.c
4983 (impl_accessibility_accessible_get_child_at_index): upd.
4985 * libspi/component.c
4986 (impl_accessibility_component_get_accessible_at_point): upd.
4988 * test/test-simple.c (test_editable_text, test_text): impl.
4991 * cspi/spi_editabletext.c
4992 (AccessibleEditableText_insertText): constify.
4994 * test/test-simple.c (focus_me): make more robust.
4996 * libspi/accessible.c: remove some printfs in methods that
4997 we test and work fine, so we can get a clean tree dump.
4999 * test/test-simple.c (validate_accessible),
5000 (validate_tree): make tree dumping pretty too.
5002 * at-bridge/bridge.c (bridge_signal_listener): upd. so
5003 it builds without debug on.
5005 * test/test-simple.c (validate_accessible): fix the most
5008 * cspi/spi_main.c (spi_object_release): leave the nicely
5009 blanked memory around if in debug mode.
5011 * cspi/spi-listener-impl.c (cspi_event): use add_check.
5013 [committed to fixups2]
5014 2001-12-05 Michael Meeks <michael@ximian.com>
5016 * libspi/editabletext.c
5017 (spi_editable_text_class_init): g_type_class_peek_parent,
5018 not interface peek - so we finalize cleanly.
5020 * libspi/accessible.c (spi_accessible_new): kill debug.
5022 * test/test-simple.c (validate_accessible): fix ref.
5023 leak, print strings before freeing them; sigh, comment a
5024 chunk out due to strangeness.
5025 (validate_tree): unref the child after use.
5027 * cspi/spi_component.c (AccessibleComponent_getLayer):
5028 add missing break statement, switch on zlayer not the
5029 uninitialized retval.
5031 * cspi/spi_main.c (cspi_object_add): add assert, local ref
5032 before (possibly re-entering) remote unref.
5034 * test/simple-at.c (main): unref the desktop.
5036 * cspi/spi_accessible.c (cspi_accessible_is_a): move
5039 * cspi/spi_main.c (cspi_accessible_is_a): here to
5040 isolate bonobo API usage more.
5042 * libspi/registry.c (impl_accessibility_registry_register_application):
5043 prune bogus comment.
5045 2001-12-04 Michael Meeks <michael@ximian.com>
5047 * test/test-simple.c (validate_tree): upd.
5048 IndexInParent check to make it more lucid.
5049 (validate_accessible): dump the tree.
5051 * libspi/accessible.c (de_register_public_ref),
5052 (get_public_refs): impl.
5053 (spi_accessible_new): make more efficient & intuitive.
5054 Now IndexInParent check works.
5056 2001-12-04 Michael Meeks <michael@ximian.com>
5058 * cspi/spi-util.h: remove.
5060 * cspi/spi.h: move SPI_freeString here
5062 * libspi/component.c (impl_accessibility_component_get_layer):
5064 (impl_accessibility_component_get_mdi_z_order): ditto,
5065 return -1 on error - is this ok ?
5067 * test/test-simple.c (test_application): impl.
5069 * cspi/spi_accessible.c (Accessible_getApplication),
5070 (Accessible_isApplication): impl.
5072 * libspi/registry.c (spi_listener_struct_free): release
5073 the CORBA reference too.
5075 * libspi/accessible.c
5076 (impl_accessibility_accessible_get_parent): fix ref leak.
5078 * libspi/registry.c (spi_registry_new): make the registry
5079 immortal - we don't want it to go away ever.
5081 * libspi/application.c
5082 (spi_accessible_application_finalize): impl. cleanup.
5084 * cspi/spi_registry.c
5085 (deregisterGlobalEventListenerAll),
5086 (deregisterGlobalEventListener),
5087 (deregisterAccessibleKeystrokeListener): fix ref leak.
5089 * cspi/spi_main.c (SPI_init): remove redundant ref.
5091 * test/test-simple.c (unutterable_horror): impl. to force a
5096 (impl_accessibility_registry_deregister_application): release
5097 the application when we de-register it.
5099 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
5100 until we have the infastructure to get it right.
5102 2001-12-03 Michael Meeks <michael@ximian.com>
5104 * libspi/Makefile.am: only build eventlistener.[ch]
5106 * libspi/accessible.c
5107 (impl_accessibility_accessible_get_child_at_index): don't leak.
5109 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
5110 before we hit the idle handler.
5112 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
5113 debugging than exit.
5115 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
5117 * libspi/listener.c (impl_notify_event): check source
5118 not NIL before unref.
5120 * libspi/registry.c (impl_registry_notify_event): ditto.
5122 * libspi/eventlistener.c
5123 (impl_accessible_event_notify_event): unref the source.
5125 * libspi/accessibleeventlistener.c
5126 (impl_accessible_event_notify_event): unref the source.
5128 * idl/Event.idl: remove 'hash_id' attribute - of no
5131 * libspi/application.c (notify_listeners): upd list
5133 (spi_application_object_event_listener),
5134 (spi_application_toolkit_event_listener): upd to do correct
5138 (_registry_notify_listeners): update.
5139 (parse_event_type): this method also leaks like a sieve.
5140 (impl_accessibility_registry_deregister_global_event_listener):
5141 fix ETYPE_WINDOW case.
5143 * libspi/application.c
5144 (impl_accessibility_application_register_object_event_listener):
5147 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
5149 * libspi/hypertext.c (impl_getLink): ditto.
5151 * cspi/spi_main.c (cspi_object_add): remove
5152 bogus CORBA_Object_duplicate.
5154 * cspi/spi-listener-impl.c (cspi_event): dup/ref
5157 * cspi/spi_accessible.c
5158 (Accessible_getRelationSet): fix leak / referencing issue.
5160 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
5161 (cspi_object_add, cspi_object_unref): upd.
5162 (spi_object_release, get_live_refs): impl.
5163 (cspi_cleanup): simplify.
5165 * *.[ch]: s/boolean/SpiBoolean/
5167 * cspi/spi_accessible.c (role_names): actualy order so it
5168 corresponds with the enum !
5170 * test/test-simple.c (test_roles): check some role strings
5171 vs. enums to detect offset errors.
5173 2001-12-01 Michael Meeks <michael@ximian.com>
5175 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
5177 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
5179 (Accessible_getChildAtIndex): use cspi_add_check so we
5180 check the ev before using a (possibly) invalid value.
5182 * libspi/accessible.c
5183 (impl_accessibility_accessible_get_parent): don't segv
5186 * at-bridge/bridge.c (gtk_module_init): upd.
5187 (bridge_property_event_listener): don't leak strings
5189 (bridge_state_event_listener),
5190 (bridge_property_event_listener): don't use a static
5191 buffer in case of recursive event emission &
5192 re-enterancy - split out the swathe of cut and paste
5194 (emit_eventv): and fix 2 ref leaks here & comply to the
5196 (bridge_register_app): rename to
5197 (bridge_idle_init): this and kill arg parsing, split
5198 various inits & bonobo-activation registration to module
5199 init time, kill referencing error.
5200 (bridge_exit_func): fix the same leak.
5201 (bridge_focus_tracker): don't leak event structures
5203 (bridge_signal_listener): more leakage and cut & paste
5205 (bridge_key_listener): return the result - FIXME is
5206 this polarity correct ?
5207 (accessibility_keystroke_from_atk_key_event): rename
5208 (accessibility_init_keystroke_from_atk_key_event): and stop
5210 (gtk_module_init): return a value - not that it is checked by
5212 (bridge_key_listener): register my horror at casting between
5213 IDL defined structs.
5214 (bridge_get_registry): kill - not used.
5216 * cspi/spi_accessible.c (Accessible_getRole): make return const.
5218 * test/test-simple.c (test_roles): impl.
5219 (test_desktop, validate_accessible, validate_tree): impl.
5221 * cspi/spi_accessible.c (role_names): fixup bogus
5222 MAX_ROLES setup, make constants const for efficient linkage
5223 (AccessibleRole_getName): conform to coding style, make
5226 2001-11-30 Michael Meeks <michael@ximian.com>
5228 * cspi/spi.h: add missing prototype.
5230 * libspi/registry.c (spi_listener_struct_new): fix sig.
5232 * test/Makefile.am: add test-simple
5234 * test/test-simple.c: add
5236 * test/test.sh: add.
5238 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
5240 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
5241 do it straight - since otherwise we often get an activation race.
5243 [ work before Bill duplicated a chunk of it ... ]
5244 2001-11-30 Michael Meeks <michael@ximian.com>
5246 * libspi/keystrokelistener.c
5247 (spi_keystroke_listener_class_init): fixup arg
5250 * libspi/eventlistener.c
5251 (spi_event_listener_class_init): ditto.
5253 * tests/test.sh: add.
5255 * cspi/spi-listener-impl.h: update macros.
5257 * cspi/spi-listener-impl.c
5258 (cspi_event_listener_remove_callback): add
5259 correct pre-conditions.
5261 * cspi/spi_main.c (SPI_exit): guard vs. double
5262 exits, exit the mainloop nicely.
5263 (SPI_event_main): make more sense.
5264 (SPI_init): move the atexit evilness here so we
5265 always do it (yuck).
5266 (SPI_event_main): upd.
5268 * test/simple-at.c: update for listener changes.
5270 * registryd/registryd.c (main): prune kruft.
5272 * libspi/libspi.h: upd.
5274 * libspi/eventlistener.[ch]: rename broken macros.
5276 * libspi/accessibleeventlistener.[ch]: remove.
5278 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
5280 * test/test-simple.c: Add - automated tests.
5282 * cspi/spi-listener-impl.c (cspi_event),
5283 (cspi_key_event): add user_data to invoke.
5284 (cspi_keystroke_listener_finalize): impl.
5285 (cspi_keystroke_listener_class_init): upd.
5288 (createAccessibleEventListener),
5289 (AccessibleEventListener_addCallback),
5290 (createAccessibleKeystrokeListener),
5291 (AccessibleKeystrokeListener_addCallback): upd.
5293 * libspi/deviceeventcontroller.c
5294 (spi_device_event_controller_check_key_event): add public proto.
5297 (impl_accessibility_registry_deregister_global_event_listener):
5298 always init listeners.
5299 (_registry_notify_listeners): yes it is.
5301 * cspi/spi-listener-impl.c (cspi_key_event):
5303 (cspi_event_listener_finalize): impl.
5304 (cspi_event_listener_class_init): hook up.
5305 (event_handler_new, event_handler_free),
5306 (event_list_remove_by_callback): impl.
5307 (cspi_event_listener_remove_callback),
5308 (cspi_keystroke_listener_remove_callback),
5309 (cspi_keystroke_listener_add_callback),
5310 (cspi_event_listener_add_callback): upd.
5312 * libspi/keystrokelistener.c
5313 (keystroke_listener_object_finalize): kill
5314 (spi_keystroke_listener_class_init): upd.
5315 (spi_keystroke_listener_add_callback),
5316 (spi_keystroke_listener_remove_callback): kill,
5318 (impl_key_event): prune drasticaly.
5320 * libspi/eventlistener.c
5321 (spi_event_listener_add_callback),
5322 (spi_event_listener_remove_callback): kill, use
5324 (impl_accessible_event_notify_event): upd.
5325 (spi_event_listener_object_finalize): remove.
5327 * libspi/Makefile.am: use eventlistener.[ch]
5329 2001-12-04 Bill Haneman <bill.haneman@sun.com>
5331 * libspi/registry.c (_registry_notify_listeners):
5332 Changed listener loop iteration to use preferred convention.
5333 Got rid of string memory leaks caused be calling g_strconcat
5334 inside function calls.
5336 * libspi/registry.c (parse_event_type):
5337 Stopped g_strconcat memory leaks, free the g_strsplit return,
5338 g_strdup the split pieces when used, etc.
5340 2001-12-04 Bill Haneman <bill.haneman@sun.com>
5343 Change method 'compare' to return a 'difference set' rather than
5344 taking a StateSet as an out parameter (more Java-friendly).
5346 * idl/Accessible.idl:
5347 Added CORBA struct 'BoundingBox', to faciliate API changes below:
5349 * idl/Component.idl:
5351 Changed methods 'getExtents' and 'getImageExtents' in these
5352 interfaces to return a BoundingBox structure.
5353 (getPosition and getSize are redundant and possibly should be
5354 removed, rather than creating a corresponding Point struct.)
5356 * cspi/spi_component.c:
5357 Modify implementation of getExtents to reflect the above IDL
5362 Add (missing) AccessibleImage_getExtents () API.
5364 * docs/reference/cspi/at-spi-cspi-sections.txt:
5365 Added AccessibleImage_getImageExtents () to docs.
5367 2001-12-03 Bill Haneman <bill.haneman@sun.com>
5369 * idl/Component.idl:
5370 Added two methods, getLayer () and getMDIZOrder (), to reflect
5371 the new ATK methods atk_object_get_layer and
5372 atk_object_get_mdi_z_order. (Which arguably should be part of the
5373 AtkComponent API and AtkObject). Also added an enum,
5374 ComponentLayer, for the first method's return value.
5376 * libspi/component.c:
5377 Added implementations for these methods.
5379 * cspi/spi_component.c:
5381 Added cspi binding methods for above,
5382 AccessibleComponent_getLayer() and
5383 AccessibleComponent_getMDIZOrder().
5384 Added cspi enum 'AccessibleComponentLayer'.
5386 * docs/reference/cspi/at-spi-cspi-sections.txt:
5387 Added above methods to docs.
5391 Changed typedef for 'boolean' type (and all references to it) to
5392 SPIBoolean, to avoid keyword clashes with C++.
5395 Changed usages of 'boolean' to SPIBoolean.
5397 * test/keysynth-demo.c:
5398 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
5399 app), except where SPIBoolean is required by the callbacks API.
5401 2001-12-02 Bill Haneman <bill.haneman@sun.com>
5403 * cspi/spi_registry.c:
5404 Removed obsolete X event loop for passive keygrabs (which now
5407 * registryd/registryd.c:
5408 Removed unnecessary call to gdk_init() [cruft]. This also allows
5409 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
5412 2001-11-28 Bill Haneman <bill.haneman@sun.com>
5414 * docs/reference/cspi:
5415 Included docs for SPI_freeString in generated documentation.
5418 Renamed spi_freeString to SPI_freeString, for consistency. Added
5419 documentation for this function.
5422 Renamed spi_freeString to SPI_freeString, for consistency.
5423 Removed obsolete method declaration string_from_corba_string.
5425 * test/keysynth-demo.c:
5426 Small tweak to comments.
5429 Stopped leaking the strings returned from CSPI.
5431 2001-11-28 Bill Haneman <bill.haneman@sun.com>
5433 Merged Michael's branch (see his ChangeLog entries below).
5435 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
5436 bridge is alive, release on exit.
5438 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
5439 Fix type check macro.
5442 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
5445 Added is_gnome_app static, and method cspi_is_gnome_app(),
5446 so we can call the appropriate shutdown routine at exit in SPI_exit.
5448 * cspi/spi_main.c (cspi_object_ref):
5449 Duplicate the corba object passed in, since we're keeping it around.
5451 * cspi/SPI_exit.c, cspi_cleanup:
5452 Moved the releasing of the live refs to its own function, so we
5453 can put it in g_atexit (). Call the appropriate shutdown API
5454 depending on whethe calling client is a gnome app or not
5455 (bonobo_main_quit or CORBA_ORB_shutdown).
5457 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
5458 Unref the listener when this method is called, after
5459 deregistration. Updated the API docs to note this behavior.
5461 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
5462 Bugfixes: Ref the bonobo object when returning a parent or child
5463 reference, or an AccessibleRelation. Generally made sure
5464 BonoboObject refcount is incremented whenever we return an
5467 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
5468 Fixed typo/bug in signal declaration.
5470 * libspi/accessibleeventlistener.h:
5473 * libspi/application.c (spi_application_new):
5474 Fixed leak in initialization.
5477 Remembered to increment bonobo-object refcount when returning
5478 children (applications) from desktop object.
5479 Added (empty) finalize method.
5481 * libspi/deviceeventcontroller.c:
5482 Hold a ref to listeners inside DEControllerKeyListeners.
5483 Added dec_key_listener_free() method. Use prepend instead of
5484 append in key_listener list. Fixed some refcount madness and
5485 leaks in the listener registration/deregistration - deregistration
5486 now calls dec_key_listener_free() on listeners, and on the
5487 temporarily constructed dec_key_listener() used to perform the search/match.
5489 * libspi/hypertext.c (spi_hypertest_finalize):
5490 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
5491 class. Also fixed spi_hypertext_interface_new() and
5492 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
5494 * libspi/hypertext.h:
5495 Removed pointless and duplicate AtkObject pointer from
5498 * libspi/keystrokelistener.c:
5499 Fixed incorrect type of keystroke_listener_parent_class,
5500 renamed keystroke_listener_object_finalize to
5501 spi_keystroke_listener_object_finalize.
5502 Fixed typo in signal declaration
5503 (spi_keystroke_listener_class_init).
5505 * libspi/registry.c:
5506 Added funcsions spi_listener_struct_new() and
5507 spi_listener_struct_free() to help with memory management issues.
5508 We also now use these methods instead of gnew + poking stuff into
5509 the struct, and to decrement listener counts/free the listeners
5510 when deregistering them.
5511 Fix more refcount bugs in getDesktop() and
5512 getDeviceEventController().
5515 De-ref the desktop after enumerating the applications. Explicitly
5516 decrement the refcounts on the created listeners on exit (using
5517 _unref for keystroke listeners, and via the
5518 deregisterGlobalEventListenerAll command for other event
5521 2001-11-27 Michael Meeks <michael@ximian.com>
5523 * cspi/spi-listener.h: fixup enum.
5525 2001-11-27 Michael Meeks <michael@ximian.com>
5527 * cspi/spi-listener-impl.c (cspi_event_listener_new),
5528 (cspi_keystroke_listener_new): Use the cspi variants.
5530 2001-11-26 Michael Meeks <michael@ximian.com>
5532 * test/keysynth-demo.c: fix 2 compile warnings, missing
5535 * test/simple-at.c (report_focussed_accessible),
5536 (report_focus_event, report_button_press),
5537 (check_property_change, is_command_key),
5538 (report_ordinary_key_event, report_command_key_event): upd.
5540 * util/mag_client.h: include pre-requisites.
5542 * libspi/accessibleeventlistener.c
5543 (spi_event_listener_object_finalize): free any lingering
5546 * libspi/keystrokelistener.c
5547 (keystroke_listener_object_finalize): ditto.
5549 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
5550 callbacks, with cspi types.
5552 * cspi/spi_event.c (createAccessibleEventListener): chain to
5553 (AccessibleEventListener_addCallback): here.
5554 (createAccessibleKeystrokeListener): chain to
5555 (AccessibleKeystrokeListener_addCallback): here.
5557 * libspi/keystrokelistener.c
5558 (spi_keystroke_listener_class_init): add signal.
5559 (impl_key_event): emit the event.
5560 (boolean_handled_accumulator): impl.
5561 (marshal_BOOLEAN__POINTER): add, gack.
5563 * libspi/accessibleeventlistener.c
5564 (spi_event_listener_class_init): add signal.
5565 (impl_accessible_event_notify_event): emit the signal &
5566 make the loop efficient.
5567 (spi_event_listener_add_callback): prepend the callback.
5569 * libspi/accessibleeventlistener.h: add an 'event' signal,
5570 decl type on callback.
5572 * libspi/keystrokelistener.h: ditto.
5574 * cspi/spi-listener.h: make methods typesafe and
5575 make them use the new event typedefs.
5577 * test/simple-at.c (report_focussed_accessible):
5578 include mag_client.h
5579 Use *(void *)text_interface not the other thing.
5581 * configure.in: add gtk to registryd bits - since we use
5584 * util/magnifier.c: include libbonobo.h
5586 2001-11-25 Bill Haneman <bill.haneman@sun.com>
5588 * test/keysynth-demo.c:
5589 Turned this into a simple scanning keyboard, to demonstrate the
5590 use of g_timeout_add () as a means of creating timers for
5591 scanning, and the use of GtkStyle for visually indicating when
5592 virtual keyboard elements are selected.
5594 keysynth-demo now listens to any keyboard keys with zero-valued
5595 keycodes (i.e. 'unused' keys) and interprets them as
5598 Reworked the shiftlatch code so that shift-down state isn't held
5599 for long periods (it's only synthesized immediately prior to
5600 the keysynth event it's modifying). Note that shiftlatch in this
5601 demo is a convenience, not intended to take the place of AccessX
5602 which is the better choice for getting 'sticky' modifier keys.
5604 * libspi/deviceeventcontroller.c:
5605 * at-bridge/bridge.c:
5606 * cspi/spi_registry.c:
5607 Removed some debug print stuff, and put other verbosity in #ifdef
5612 Implemented some more of the magnifier IDL for the simple
5613 magnifier: namely, getZoomRegionParams.
5614 Added mag_x and mag_y members to MagnifierData struct, aid of this
5616 Added GtkWindow::realize signal handler to magnifier, to keep it
5617 from receiving keyboard focus from the WM.
5619 2001-11-23 Mark McLoughlin <mark@skynet.ie>
5621 * cspi/spi-private.h: my guess at what michael forgot
5622 before he ran off to NZ :-)
5624 2001-11-23 Michael Meeks <michael@ximian.com>
5626 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
5627 comment out non existant method invoke so we link.
5629 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
5630 use bonobo_exception_get_text for more friendly warnings.
5632 * cspi/spi.c (Obj_Add): move into spi_main & rename
5633 spi_object_add; kill spi.c
5635 * cspi/spi_registry.c
5636 (deregisterGlobalEventListener),
5637 (deregisterGlobalEventListenerAll),
5638 (registerGlobalEventListener): fix exception leaks.
5640 * cspi/spi_main.c (spi_exception): impl. helper, so we
5641 don't leak exceptions.
5643 * cspi/spi_selection.c
5644 (AccessibleSelection_deselectSelectedChild): return the
5647 * cspi/spi_main.c (spi_ev): impl; hack - gack.
5648 (spi_registry): ditto.
5649 (SPI_init): guard against double inits.
5651 * cspi/*.c: use spi_ev (), and spi_registry () where
5652 appropriate - a temporary hack until we have something
5653 better. Use spi_object_add
5655 2001-11-22 Michael Meeks <michael@ximian.com>
5657 * cspi/Makefile.am: re organise, install the headers.
5659 * cspi/*.h: add G_BEGIN/END_DECLS
5661 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5664 Added non-preemptive keylistener for key events with no modifiers
5665 and shift-only modifier.
5667 * libspi/keystrokelistener.c:
5668 Removed some verbose diagnostics printout.
5670 * cspi/spi_registry.c:
5671 Fixed a bug that caused all key listeners to be registered as
5674 * libspi/deviceeventcontroller.c:
5675 Fixed bug that caused XGrabKey (preemptive key grab) to be called
5676 for non-preemptive key masks.
5679 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5681 * docs/reference/idl/at-spi-idl-docs.sgml:
5682 * docs/reference/idl/at-spi-idl-sections.txt:
5683 * docs/reference/idl/at-spi-idl-overrides.txt:
5684 Added missing files.
5686 * docs/reference/Makefile.am:
5687 removed idl from SUBDIRS until we can figure a way to get gtk-doc
5688 to scan the IDL files :-(
5693 Added .cvsignore files.
5695 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5697 * libspi/deviceeventcontroller.c:
5698 * libspi/keystrokelistener.c:
5700 * cspi/spi_registry.c:
5701 Added filters for KeySets, KeyEventSeq, and event types to key
5702 event dispatching, so listeners should only receive those events
5703 that they requested :-)
5705 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5710 * docs/reference:Makefile.am:
5711 * docs/reference/cspi:
5712 * docs/reference/cspi:Makefile.am:
5713 * docs/reference/cspi:tmpl:
5714 * docs/reference/cspi:tmpl:*.sgml:
5715 * docs/reference/idl:
5716 * docs/reference/idl:Makefile.am:
5717 * docs/reference/idl:at-spi-idl-sections.txt:
5718 * docs/reference/idl:at-spi-idl-docs.sgml:
5719 * docs/reference/idl:tmpl:
5720 * docs/reference/idl:tmpl:*.sgml:
5722 Restructured docs directory to allow separate 'reference' docs
5723 section, and forked idl and cspi docs. Added the sgml template
5724 files to CVS. Added the first sections/structural sgml for the
5727 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
5729 * configure.in, libspi/Makefile.am: find libXtst.
5731 2001-11-21 Michael Meeks <michael@ximian.com>
5733 * test/accessx-gui.c: s/spi_value/value/ - doh.
5735 * libspi/base.[ch]: add.
5737 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5739 * idl/Accessible.idl:
5740 * idl/Application.idl:
5743 Started gtk-doc cleanup on IDL.
5745 * libspi/deviceeventcontroller.c:
5746 Added and connected non-preemptive key notification from the
5747 toolkits (in addition to the pre-emptive support from XServer
5748 which we had before, but which causes 'focus flashing'). Filters
5749 are presently limited to key modifiers and global/non-global,
5750 KeySets are presently ignored, as are KeyEvent masks.
5752 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
5753 structs into the persistant structure rather than just storing
5754 pointers to things that might not persist across servant
5757 The XGrabKey call now does async keygrabs, because synchronous
5758 ones were deadlocking with GDK_event code in a very nasty way.
5760 Added boolean to internal method notify_keylisteners, to indicate
5761 whether the event came from the 'toolkit source' or the 'global
5762 (XServer) source' - this is used in the notification process to
5763 determine which listeners to send the event to.
5765 deviceeventcontroller.c is now warning-free.
5767 * libspi/registry.c:
5768 Fixed regression in application de-registration.
5769 Also fixed some really brain-dead weirdness having to do with
5770 event dispatching - event structs are now duplicated before being
5771 re-marshalled in the dispatch to listeners. This also fixes a
5772 Solaris build problem.
5775 2001-11-20 Michael Meeks <michael@ximian.com>
5778 (impl_accessibility_registry_deregister_global_event_listener):
5781 * libspi/deviceeventcontroller.c
5782 (spi_device_event_controller_check_key_event): return
5783 FALSE on no virtual method.
5785 * libspi/*..h: make includes work on a correctly pathed install.
5787 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
5789 * libspi/application.h: kill unused ( and whacked out )
5790 gboolean *spi_application_set_id (AtkObject *app, long id);
5792 2001-11-20 Michael Meeks <michael@ximian.com>
5794 * libspi/*.[ch]: further convert to bonobo's type func
5795 macros, remove redundnant casts etc.
5797 * libspi/text.c s/accessibility_text/spi_text/g,
5798 re-order to de-cruft.
5800 * libspi/hypertext.c: re-order to kill a huge slew
5801 of redundant forward decls.
5803 * libspi/relation.c: ditto.
5805 * libspi/image.c: ditto.
5807 * */.cvsignore: update
5809 2001-11-20 Michael Meeks <michael@ximian.com>
5811 * libspi/deviceeventcontroller.c
5812 (_controller_register_with_devices): use g_getenv,
5813 kill stdlib.h include.
5815 * libspi/keystrokelistener.c
5816 (spi_keystroke_listener_get_type): kill
5817 (spi_keystroke_listener_class_init),
5818 (spi_keystroke_listener_init): rename to this.
5820 * libspi/text.c (impl_getAttributes): fix warning / bug.
5822 * libspi/*.[ch]: more headers, includes and over commenting.
5824 2001-11-20 Michael Meeks <michael@ximian.com>
5826 * libspi/*.[ch]: fixup headers, includes and over commenting.
5828 * libspi/image.c (impl__get_imageDescription): const
5829 correctness warning fix. remove redundant casting.
5831 * libspi/table.c (impl_getRowDescription): ditto.
5832 (impl_getColumnDescription): ditto.
5834 * libspi/libspi.h: add.
5836 2001-11-19 Michael Meeks <michael@ximian.com>
5838 * libspi/editabletext.c (impl_setAttributes): fix warnings.
5840 * libspi/component.c (accessibility_component_get_type):
5841 rename to (spi_component_get_type): and macroify.
5842 (accessibility_component_init): rename to
5843 (spi_component_init): this
5844 (accessibility_component_class_init): rename to
5845 (spi_component_class_init): this
5847 * libspi/action.c (spi_action_get_type): kill, use the macro.
5849 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
5852 * libspi/application.c (spi_application_object_event_listener),
5853 (impl_accessibility_application_register_object_event_listener):
5854 warning fixes / const understanding updates.
5856 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
5859 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5861 * libspi/spi_accessible.c: Added docs and C bindings for
5862 AccessibleStateSet. (No implementations yet). Documentation
5863 coverage for C bindings now 100%. Made docs for event listeners
5868 boolean notifyListenersSync (in DeviceEventListener listener,
5869 in DeviceEvent event);
5871 oneway void notifyListenersAsync (in DeviceEventListener listener,
5872 in DeviceEvent event);
5874 Added DeviceEventListener and DeviceEvent structs (may deprecate
5875 KeyStroke and KeystrokeListener in favor of this generic
5876 event/listener framework for devices).
5878 * libspi/deviceeventcontroller.c:
5880 Changed some key listener code to take masks, etc., and paved the
5881 way for integration of toolkit/non-preemptive key events. Changed
5882 signatures of some internal methods.
5884 * at-bridge/bridge.c:
5885 Fixed regression connecting to interface signals, apparently
5886 caused by GTK+ changes.
5888 Added an internal bridge_state_listener to deal with
5889 property-change:accessible-state signals.
5891 Changed the key_listeners GList to store structs (including masks,
5892 etc.) instead of just CORBA_Objects (required for full
5893 implementation of key listener API).
5895 Connected the bridge to all currently supported Atk signals.
5896 Events now supported:
5897 object:property-change
5898 object:property-change:accessible-name
5899 object:property-change:accessible-state
5900 object:property-change:accessible-description
5901 object:property-change:accessible-parent
5902 object:property-change:accessible-value
5903 object:property-change:accessible-role
5904 object:property-change:accessible-table-caption
5905 object:property-change:accessible-table-column-description
5906 object:property-change:accessible-table-column-header
5907 object:property-change:accessible-table-row-description
5908 object:property-change:accessible-table-row-header
5909 object:property-change:accessible-table-summary
5910 object:children-changed
5911 object:visible-data-changed
5912 object:selection-changed
5913 object:text-selection-changed
5915 object:text-caret-moved
5917 object:row-reordered
5919 object:column-inserted
5920 object:column-reordered
5921 object:column-deleted
5922 object:model-changed
5924 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5926 * libspi/hyperlink.c,h:
5927 Fixed some broken stuff in hyperlink.
5929 * libspi/relation.h:
5930 * libspi/relation.c:
5931 * cspi/spi_accessible.c:
5932 Initial implementations of AccessibleRelation methods, and docs.
5934 * libspi/accessible.c:
5935 Fixed a bug that caused SEGV if an accessible
5936 object's description is NULL, and a client
5937 requests it. An empty string is now returned.
5939 * cspi/spi_editabletext.c:
5940 * cspi/spi_hypertext.c:
5942 * cspi/spi_hyperlink.c:
5946 Doc coverage now 95%.
5948 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5950 One last namespacing revision:
5951 * libspi/accessibleeventlistener.[ch]:
5952 Renamed SpiAccessibleEventListener to SpiEventListener,
5953 (no need for two namespaces ;-)
5955 And lots of documentation fixes:
5957 * docs/at-spi-docs.sgml:
5958 Fixed 'underscore vs. hyphen' bug that was preventing
5959 the gtk-doc API docs from being automatically generated.
5962 * cspi/spi-listener.h
5964 * cspi/spi_accessible.c
5966 * cspi/spi_application.c
5967 * cspi/spi_component.c
5968 * cspi/spi_editabletext.c
5970 * cspi/spi_hypertext.c
5972 * cspi/spi_registry.c
5973 * cspi/spi_selection.c
5977 * docs/at-spi-docs.sgml
5978 * docs/at-spi-sections.txt
5980 Added and fixed up gtk-doc documentation in cspi.
5982 Interfaces now (fully) documented (subject to revision and enhancement):
5984 Event Listener Support
5986 AccessibleApplication
5990 AccessibleEditableText
5997 AccessibleRelationSet
6002 2001-11-14 Bill Haneman <bill.haneman@sun.com>
6004 * at-bridge/bridge.c:
6005 Initial work for toolkit-level key snooper connection by bridge.
6010 New typedefs and fixes to support new namespacing, and cleaner
6011 separation of cspi bindings from libspi bonobo implementation.
6012 Removed inconsistent and extraneous Spi* namespace prefix that
6013 had crept into cspi headers.
6014 Lots of comment fixes that sed had missed.
6016 * cspi/spi-roletypes.h:
6017 * cspi/spi-statetypes.h:
6018 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
6019 to AccessibleRoleType.
6021 * libspi/accessibleeventlistener.h:
6022 Fixed minor namespacing weirdness.
6024 * libspi/deviceeventcontroller.c:
6025 Reordered some internal API for device listeners.
6026 Changed the key registry final boolean to 'is_system_global'
6027 rather than 'is_synchronous', which is more descriptive of its
6029 Added spi_device_event_controller_new().
6030 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
6032 * libspi/keystrokelistener.[ch]:
6033 Namespaced KeystrokeListener to SpiKeystrokeListener.
6034 Changed uses of keymasks to use SPI_ prefix, and did other
6037 * libspi/keymasks.h:
6038 Namespaced keymask constants with SPI_ prefix.
6040 * libspi/registry.c:
6041 Some warning fixes, and knock-on fixes from namespace changes.
6044 Added rules for accessx-gui test program.
6046 * test/accessx-gui.c:
6047 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
6048 utility. It doesn't actually use at-spi, but it's still cool and
6051 * test/keysynth-demo.c:
6055 Fixes so that these test clients work properly with the namespaced
6056 libraries. (Incompletely tested for technical reasons, fixes may follow)
6059 2001-11-13 Michael Meeks <michael@ximian.com>
6061 * libspi/application.c
6062 (impl_accessibility_application_get_version),
6063 (impl_accessibility_application_get_toolkit_name):
6065 (impl_accessibility_application_set_id),
6066 (impl_accessibility_application_get_id): remove
6067 redundant casting code.
6069 * libspi/action.c (impl_getDescription): fix warnings.
6071 * libspi/accessible.c
6072 (impl_accessibility_accessible_get_parent),
6073 (impl_accessibility_accessible_get_child_at_index),
6074 (impl_accessibility_accessible_get_state),
6075 (impl_accessibility_accessible_get_relation_set):
6076 warning fixes & include action.h
6078 2001-11-13 Michael Meeks <michael@ximian.com>
6080 * *.[ch] fix bits I screwed up:
6082 s/([^ \tb(\*\&\?\",])spi_/\1/g;
6083 s/([^ \tb(\*\&\?\",])Spi/\1/g;
6085 2001-11-13 Michael Meeks <michael@ximian.com>
6087 * *.[ch] Namespace libspi into spi_ and Spi.
6089 2001-13-11 Michael Meeks <michael@ximian.com>
6091 * Makefile.am: dist & install at-spi-1.0.pc
6093 * libspi/Makefile.am: install into at-spi-1.0
6095 * idl/Makefile.am (idldir): install into at-spi-1.0
6097 * at-spi-1.0.pc.in: add.
6099 * configure.in: build it.
6101 2001-11-12 Bill Haneman <bill.haneman@sun.com>
6103 * test/keysynth-demo.c:
6104 Use a 'realize' signal-handler to set the WM properties for
6105 the virtual keyboard, rather than making it a "POPUP" type
6106 override-redirect window (thanks to anders carlsson for that
6109 2001-11-11 Bill Haneman <bill.haneman@sun.com>
6112 * test/keysynth-demo.c:
6113 Added new test of key synthesis, which creates a simple
6114 (mouse-operated) onscreen keyboard. It inserts key events into
6115 the currently-focused window, thus it does not grab keyboard focus
6118 * cspi/spi_registry.c:
6119 Added C binding for AT-SPI generateKeyEvent.
6121 * libspi/deviceeventcontroller.c:
6122 Added call to XFilterEvent so that key listener works with XIM (we
6123 hope). Added event_synth_type to generateKeyEvent, so that we can
6124 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
6125 synthesize a press/release pair for KeySyms.
6127 2001-11-09 Bill Haneman <bill.haneman@sun.com>
6129 * libspi/Makefile.am:
6130 * registryd/Makefile.am:
6131 (temporary) hack to include libXtst in libspi and registryd.
6132 (Needed for keystroke synthesis, see below).
6135 Improved API for registerKeystrokeListener, in accordance with
6136 discussions with Gnopernicus team and X server research.
6138 * libspi/registry.c:
6139 * libspi/deviceeventcontroller.c:
6140 * libspi/accessible.c:
6141 * libspi/keystrokelistener.c:
6142 Changes and fixes to support keylisteners for potentially
6143 consumed key events (that is, 'passive grabs').
6144 Added implementation for generateKeyEvent() [untested].
6147 Changes to registerKeystrokeListener() API, as above.
6148 Added deregisterGlobalEventListenerAll(), and
6149 deregisterKeystrokeListener(), which are needed for clean exit of
6151 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
6152 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
6154 * cspi/spi_registry.c:
6155 Added implementations of function prototypes mentioned above.
6157 * registryd/registryd.c:
6158 Added the key listener event source as a g_timeout(), to allow
6159 receipt of key events that are not caught by GDK (since GDK
6160 doesn't support passive keygrabs, this was necessary).
6163 Changed to attach a keylistener to 'Alt' keys, and
6164 respond to the following keycommands: Alt-M (toggle magnifier);
6165 Alt-F (toggle speech); Alt-Q (quit).
6166 Added an exit routine to deregister the listeners, and a key
6167 listener that prints some key info to the console when a key
6168 matches the listener mask (and is thus received by the listener).
6170 * util/idl/Magnifier.idl:
6171 Changes to magnifier API to support multiple zoom regions,
6172 non-uniform scaling in x and y, markDirty, and a host of other
6173 features that would be useful to magnification.
6176 * util/mag_client.c:
6177 * util/mag_client.h:
6178 * util/mag_control.c:
6180 Source code changes to support the above IDL changes.
6183 As above, and also changes to use a (slower) generic conversion
6184 path for colormap conversions, since the fast RGB conversions have been
6185 reported to fail for 16-bit displays.
6187 2001-10-26 Michael Meeks <michael@ximian.com>
6189 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
6191 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
6193 * at-bridge/Makefile.am: fix LDFLAGS.
6195 2001-10-09 Bill Haneman <bill.haneman@sun.com>
6197 * at-bridge/bridge.c:
6198 Re-worked listeners for toolkit events, now we have signal
6199 and property listeners. Added a private method
6200 register_atk_event_listeners(), which registers with the
6201 various atk and gtk signals we need to monitor in order to emit
6203 Added emission hook for AtkObject:property-change events, to
6204 support the 'property listeners'.
6205 Fixed some alloc()s of Accessibility_Event structs to use CORBA
6208 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
6209 which emit warnings and exit, respectively, if CORBA errors occur
6210 during remote calls, and we now use these methods to check most of
6211 our CORBA calls in the C bindings.
6213 * cspi/spi_accessible.c:
6214 Changed AccessibleSelection_refSelectedChild() to
6215 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
6216 now increment refcounts.
6218 * cspi/spi_component.c:
6219 Fixed some long pointer casts (dangerous!) to pass pointers to
6220 CORBA_longs of the proper type to the CORBA stubs, and copy the
6221 data into the longs that were passed into the C bindings code.
6223 * at-bridge/bridge.c:
6225 * libspi/accessible.c:
6226 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
6227 hyperlinks, AtkHyperlink is an object type.
6229 * libspi/application.c:
6230 Added various conversions to and from "generic" event types and
6231 atk-specific types; this is really part of the 'bridge'
6232 implementation but is valid for all AtkObject-based accessibility
6235 * libspi/editabletext.c:
6236 Fixed nasty bug wherein editable text's finalize method was
6237 unref'ing tha AtkObject reference that the text parent class was
6238 about to unref _again_. There was also a nasty inheritance bug
6239 that meant that the AccessibleEditableText class was corrupt.
6241 * libspi/selection.c:
6242 Provided implementations for some selection API that was broken.
6244 * idl/Application.idl:
6245 Added registerObjectEventListener () method.
6248 Fixed a number of return values that were Bonobo_Unknowns from
6249 bonobo_object_corba_objref(), which I
6250 forgot to dup before returning. Changed instances of
6251 bonobo_object_corba_objref (bonobo_object(o)) to
6252 BONOBO_OBJREF(o), for concision and clarity.
6254 2001-10-13 Louise Miller <louise.miller@sun.com>
6256 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
6257 idl/Event.idl, idl/Registry.idl
6258 Changed these files to include Bonobo_Unknown.idl instead
6261 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
6263 * libspi/component.c libspi/component.h:
6264 Fixed typo. Added assertions for object checks in
6265 AccessibleComponent code.
6267 2001-10-09 Bill Haneman <bill.haneman@sun.com>
6269 * idl/Accessible.idl:
6270 Added 'isEqual (Accessible *object)'
6271 method for Accessible. (Not Yet Implemented).
6274 Changed signature of registerKeystrokeListener() to
6275 take a KeySet and KeyEventSeq so that specific keys and event
6276 types could be requested for monitoring, and added a flag
6277 is_synchronous so that either synchronous or asynchronous
6278 notification could be requested. (However this is not all
6279 implemented yet). This also meant adding two new typedefs,
6280 KeyEventSeq and KeySet.
6283 Added two new relations, RELATION_TOOLTIP_FOR and
6284 RELATION_LEAFNODE_OF.
6287 Added new state, STATE_HAS_TOOLTIP.
6289 * libspi/text.c, editabletext.c:
6290 Added new assertions to all casts of bonobo-objects from
6291 CORBA servants, to prevent Text API calls on non-text objects.
6292 Changed suspect casts of int-pointer types, so that we
6293 always send a valid CORBA_long pointer to the CORBA APIs that use
6294 in/out long parameters. We then have to copy from the CORBA_long
6295 into the regular long or int for return to the C bindings, or
6296 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
6299 * libspi/deviceeventcontroller.c:
6300 Cleaned these sources up.
6302 Changed return type for getCharacterAtOffset to
6303 CORBA_unsigned_long, to allow for 32-bit characters.
6306 2001-10-08 Bill Haneman <bill.haneman@sun.com>
6310 Fixed 'make dist' so that distro compiles...
6311 * libspi/keymasks.h:
6313 * cspi/spi-listener.c:
6314 KeystrokeListenerCB now returns a boolean.
6316 Added KeyEventType struct, and KeyStroke.
6317 Also added createKeystrokeListener(),
6318 KeystrokeListener_addCallback(),
6319 KeystrokeListener_removeCallback(), and added a keymask to
6320 registerKeystrokeListener().
6321 * cspi/spi_accessible.c:
6322 Changed numerous return types for interfaces from
6323 AccessibleComponent to Accessible<InterfaceName>; this was
6324 probably a cut-and-paste error.
6326 Implementations of new KeystrokeListener api (from spi.h,
6329 Changes to key modifier mapping.
6330 Created ControllerEventMask struct.
6331 Made DeviceEventController derive from Bonobo::Unknown.
6333 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
6334 * libspi/deviceeventcontroller.c:
6335 Added a number of new internal (private) methods.
6336 * libspi/editabletext.c:
6337 * libspi/editabletext.h:
6338 Fixed a number of bugs related to the fact that
6339 editabletext inherits from text. Fixed the EditableText struct,
6340 the init() call, and use correct casts when calling Text methods
6341 from an EditableText object. Removed (duplicate) atko from the
6342 EditableText structure, we use the one in the parent Text
6343 structure via the casts mentioned above.
6344 * libspi/keystrokelistener.[ch]:
6345 * libspi/registry.c:
6346 Changes in support of keyboard handling (above).
6348 Keyboard handling, though partly functional, is still not
6349 recommended for at-spi client use as there is considerable
6350 work yet to be done.
6353 Changed some places where pointers to various int types
6354 are cast to be pointers to CORBA_long types and vice-versa:
6355 pointer casting is not safe so we pass pointers of the correct
6356 types and then cast the result before putting it into the target
6359 * libspi/text.h: minor typos corrected.
6361 We now speak not only the name of a Text element, but the
6362 first sentence of its content, when it receives focus.
6363 I also changed the text compression to 75% from 50%.
6364 * util/Accessibility_Util.server.in:
6365 Changed the default magnifier type to be a 3x vertical
6366 splitscreen magnifier (was previously a 2x horizontal one).
6368 2001-10-03 Bill Haneman <bill.haneman@sun.com>
6370 * libspi/keystrokelistener.h:
6371 * libspi/keystrokelistener.c:
6372 Initial functional implementations of KeystrokeListener.
6375 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
6377 Fixed string handling for NULL strings in libspi.
6378 Added spi_freeString to free strings returned by C bindings.
6380 2001-09-30 Bill Haneman <bill.haneman@sun.com>
6382 * libspi/keystrokelistener.h:
6383 * libspi/keystrokelistener.c:
6384 Began (no-op) implementations of KeystrokeListener
6386 * libspi/deviceeventcontroller.c:
6387 * libspi/deviceeventcontroller.h:
6388 Began creating implementations of DeviceEventController,
6389 to handle keystroke and mouse event listening and
6391 * libspi/accessible.c:
6392 Stubbed-in the implementations for
6393 Accessibility_Accessible_getState and
6394 Accessibility_Accessible_getRelationSet.
6395 * libspi/registry.c:
6396 Improved de-registration process and fixed some bugs,
6397 deregistration now works correctly.
6399 Added initialization of applications list (to NULL).
6401 Reduced speech compression from 0.5 to 0.7, for demo.
6402 Changed call to gdk_window_set_decorations()
6403 to gtk_window_set_decorated().
6404 * at-bridge/bridge.c:
6405 Bridge now deregisters when app exits, via
6406 registration of a cleanup function
6407 with the g_atexit() call.
6408 Required making 'app' static, renamed 'this_app'.
6409 Fixed broken use of bonobo_init, passing argv wrongly.
6411 2001-09-27 Bill Haneman <bill.haneman@sun.com>
6415 Created a new directory for
6416 accessibility-related utilities, primarily for
6417 testing and demo purposes, but with possible
6424 Onscreen magnifier utility that
6425 is implemented as a bonobo service.
6427 * util/mag_client.c:
6428 * util/mag_client.h:
6429 Client-side support (simple C bindings)
6430 for Magnification service
6432 * util/mag_control.c:
6433 Client program example for
6434 Magnification service
6436 * util/Accessibility_Magnifier.server.in:
6437 Bonobo-activation file for the
6438 Magnification service.
6441 * util/idl/Magnifier.idl:
6442 IDL defining the bonobo Magnification
6446 Modifications to use the bonobo-activated magnifier
6447 above, in place of trying to connect to an existing
6448 magnifier that uses socket-listening IPC.
6450 If env variable MAGNIFIER is set, a magnifier service
6451 will be started if one does not exist.
6453 2001-09-25 Bill Haneman <bill.haneman@sun.com>
6455 * at-bridge/bridge.c:
6456 applied patch from Marc to build and run
6457 against new glib and gtk+ (seemed like a change
6458 to bonobo_init signature was made ?)
6460 made festival-server support turned off by default.
6461 Added support for a simple magnifier (off by default)
6462 which will be added to a 'util' directory later.
6463 * at-bridge/Makefile.am:
6464 Changed "application.h" header from a 'source'
6465 to a 'dependency' of libat-bridge.
6467 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6476 Added interface implementation c files to list of
6477 includes so they are included in libcspi.
6480 Changed prototype of AccessibleAction_doAction to return a
6482 Changed prototype of AccessibleTable_getCaption to
6483 return an Accessible.
6484 Changed prototype of AccessibleTable_getSelectedRows
6485 and AccessibleTable_getSelectedColumns to
6486 return a long (returns the number of selected rows
6487 or columns respectively).
6488 Changed name of AccessibleText_refRunAttributes to
6489 AccessibleText_getAttributes.
6490 Changed prototype of AccessibleText_getCharacterExtents to
6491 return a void rather than a boolean.
6492 Added support for a AccessibleCoordType parameter
6493 specifying what type of coordinates are desired.
6494 Added an AccessibleCordType parameter to
6495 AccessibleText_getPointAtOffset.
6497 * cspi/spi_accessible.c:
6498 Added code to return the outstanding interfaces from
6499 Accessible_queryInterface.
6501 * cspi/spi_action.c:
6503 Corrected call to getNActions to call the c binding
6506 * cspi/spi_editabletext.c:
6508 Changed name from setRunAttributes to setAttributes.
6510 * cspi/spi_hyperlink.c:
6512 Changed call to getNAnchors to correctly call the c
6513 binding for an attribute.
6515 * cspi/spi_hypertext.c:
6517 Changed getImageDescription to correctly call the
6518 binding for an attribute.
6520 * cspi/spi_selection.c:
6521 Changed getNSelectedChildren to correctly call the c
6522 binding for the attribute.
6523 Changed refSelectedChild to getSelectedChild.
6527 Changed getCaption to return an Accessible.
6528 Fixed calls which retrieve attributes.
6529 Changed refAt to getAccessibleAt.
6530 Changed getNSelectedRows and getNSelectedColumns to
6534 Changed getCharacterExtents and getPointAtOffset to accept an
6535 AccessibleCoordType.
6537 Changed calls which retrieve attributes.
6538 Changed refRunAttributes to getAttributes.
6543 * idl/Hyperlink.idl:
6544 Changed n_anchors attribute to nAnchors to keep naming
6545 convention consistent.
6548 Made Table inherit from Bonobo::Unknown.
6549 Added nSelectedColumns and nSelectedRows attributes.
6552 Made Value inherit from Bonobo::Unknown.
6554 * libspi/hyperlink.c:
6555 Change for nAnchors attributte name change.
6557 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6565 Added interface implementation c files to list of
6566 includes so they are included in libcspi.
6569 Changed prototype of AccessibleAction_doAction to return a
6571 Changed prototype of AccessibleTable_getCaption to
6572 return an Accessible.
6573 Changed prototype of AccessibleTable_getSelectedRows
6574 and AccessibleTable_getSelectedColumns to
6575 return a long (returns the number of selected rows
6576 or columns respectively).
6577 Changed name of AccessibleText_refRunAttributes to
6578 AccessibleText_getAttributes.
6579 Changed prototype of AccessibleText_getCharacterExtents to
6580 return a void rather than a boolean.
6581 Added support for a AccessibleCoordType parameter
6582 specifying what type of coordinates are desired.
6583 Added an AccessibleCordType parameter to
6584 AccessibleText_getPointAtOffset.
6586 * cspi/spi_accessible.c:
6587 Added code to return the outstanding interfaces from
6588 Accessible_queryInterface.
6590 * cspi/spi_action.c:
6592 Corrected call to getNActions to call the c binding
6595 * cspi/spi_editabletext.c:
6597 Changed name from setRunAttributes to setAttributes.
6599 * cspi/spi_hyperlink.c:
6601 Changed call to getNAnchors to correctly call the c
6602 binding for an attribute.
6604 * cspi/spi_hypertext.c:
6606 Changed getImageDescription to correctly call the
6607 binding for an attribute.
6609 * cspi/spi_selection.c:
6610 Changed getNSelectedChildren to correctly call the c
6611 binding for the attribute.
6612 Changed refSelectedChild to getSelectedChild.
6616 Changed getCaption to return an Accessible.
6617 Fixed calls which retrieve attributes.
6618 Changed refAt to getAccessibleAt.
6619 Changed getNSelectedRows and getNSelectedColumns to
6623 Changed getCharacterExtents and getPointAtOffset to accept an
6624 AccessibleCoordType.
6626 Changed calls which retrieve attributes.
6627 Changed refRunAttributes to getAttributes.
6632 * idl/Hyperlink.idl:
6633 Changed n_anchors attribute to nAnchors to keep naming
6634 convention consistent.
6637 Made Table inherit from Bonobo::Unknown.
6638 Added nSelectedColumns and nSelectedRows attributes.
6641 Made Value inherit from Bonobo::Unknown.
6643 * libspi/hyperlink.c:
6644 Change for nAnchors attributte name change.
6647 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
6649 implementations-- made server implementations own AtkObject pointers
6650 rather than their respective AtkInterrface pointers to fix
6651 refcounting. AtkHyperlink is still broken.
6653 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6654 * cspi/spi_accessible.c:
6655 Added method Accessible_Role_getName(),
6656 and requisite string array (role_names).
6657 Added conversion string_from_corba_strin() call
6658 to Accessible_getName and _getDescription.
6659 * libspi/accessible.c:
6660 Added implementation for Accessible_getRole()
6662 Added festival support, used if environment variable
6665 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6667 * at-bridge/bridge.c:
6668 Now allocate Accessibility_Event using
6669 Accessibility_Event__alloc() instead of g_new0().
6670 * libspi/accessibleeventlistener.c:
6671 Initialize AccessibleEventListener->callbacks to NULL.
6672 Fixed accessible__event_listener_init() param, changed to
6673 "AccessibleEventListener *" type.
6674 Changed a bonobo_object_release_unref() call to
6675 Accessibility_Accessible_unref().
6676 * libspi/listener.c:
6677 Changed Bonobo_Unknown_unref to (equivalent)
6678 Accessibility_Accessible_unref.
6679 * libspi/registry.c:
6680 Changed bonobo_object_release_unref to
6681 Accessibility_Accessible_unref.
6683 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6686 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
6687 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
6688 spi-util.c spi-util.h
6689 Implementations for C bindings to remaining accessibility
6692 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6695 changed return value of Action from void to boolean to
6696 bring in line with ATK.
6699 Changed getText funcions to return "out" start and end offsets.
6700 Changed getAttributes to take and offset and return the start
6701 and end offset of the attribute run.
6702 Changed getOffsetAtPoint and getCharacterExtents to take an
6703 enum describing whether coordinates are window or screen.
6706 libspi/action.c libspi/action.h libspi/editabletext.c
6707 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
6708 libspi/hypertext.c libspi/hypertext.h libspi/image.c
6709 libspi/image.h libspi/selection.c libspi/selection.h
6710 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
6711 libspi/value.c libspi/value.h
6712 Added server implementations for outstanding ATK interfaces
6713 not yet implemented.
6715 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6718 Added (missing) getName() method.
6719 Made nActions an attribute.
6720 * idl/EditableText.idl:
6721 Changed order of params in setAttributes.
6722 * idl/Hyperlink.idl:
6723 Removed getAnchor, added getURI.
6725 Changed attributes to methods, for efficiency
6726 (so that getting extents can be done in one call)
6727 * idl/Selection.idl:
6728 Changed nSelectedChildren to attribute, and re-indented.
6729 * idl/Table.idl: changed nrows, ncolumns, caption, summary
6731 * idl/Text.idl: reformatted to match our coding style.
6732 (temporarily?) removed getRowColumnAtOffset().
6733 Changed text selection API to support multi-select and
6734 non-contiguous selections, as in ATK.
6735 * idl/Value.idl: changed some methods to attributes.
6737 2001-08-24 Mark McLoughlin <mark@skynet.ie>
6739 * libspi/listener.c(impl_notify_event):
6740 BonoboUnkown_unref the source instead
6741 of bonobo_object_release_unref - the ORB
6742 handles the releasing.
6744 * configure.in: require ORBit-2.3.94 for
6747 2001-08-21 Bill Haneman <bill.haneman@sun.com>
6749 Tagged CVS repository 'EA_1_0'.
6750 * README.EARLY_ACCESS:
6751 Alphabetized acknowledgements list, and
6753 Listed some known dependencies of at-spi.
6755 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6757 * docs/at-spi-docs.sgml:
6758 * docs/at-spi-sections.txt:
6759 * docs/at-spi-overrides.txt: (Added zero-length file)
6760 Documentation improvements - gtk-doc should build
6761 docs for all implemented C bindings now.
6764 * cspi/spi.c: (New file)
6765 * cspi/spi_event.c: (New file)
6766 * cspi/spi_registry.c: (New file)
6767 * cspi/spi_accessible.c: (New file)
6768 * cspi/spi_application.c: (New file)
6769 * cspi/spi_component.c: (New file)
6770 Split spi_main.c into six parts, and included them from
6771 "spi.c". This is a bit of a hack, probably temporary,
6772 but required by gtk-doc, apparently.
6774 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6777 * docs/at-spi-docs.sgml:
6778 * docs/at-spi-sections.txt:
6780 Initial checkins/modifications for gtk-doc generation.
6783 Added (missing) interface query methods to Accessible's C binding.
6785 Added GenericInterface type definition.
6787 Added query for AccessibleComponent interface to focus event handler.
6788 Added printout of bounding box for focussed component.
6789 * libspi/component.c:
6790 Added partial implementation for AccessibleComponent to C binding.
6791 * idl/Application.idl:
6792 * libspi/registry.c:
6793 * libspi/listener.c:
6794 * libspi/application.c:
6795 * libspi/application.h:
6796 Changed "ID" attribute type from string to long.
6798 2001-08-19 Bill Haneman <bill.haneman@sun.com>
6802 Made method naming consistent: methods taking object args
6803 start with uppercase, other methods (except those using
6804 acronyms) start with lowercase. Underscores delimit between
6805 object names and method names:
6806 SPI_init() - uppercase since it starts with an acronym.
6807 getDesktopCount () - lowercase start since no object param0.
6808 Accessible_getName() - uppercase object type name, studlyCaps method
6812 Added gtk-doc documentation for all currently implemented
6813 methods in the C bindings API.
6815 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6817 * Makefile.am : changed build order to build test last.
6820 Changed "createEventListener" to "CreateEventListener".
6821 * libspi/accessibleeventlistener.c :
6822 Bugfix for addition of callbacks.
6823 * test/Makefile.am :
6824 * test/simple-at.c :
6825 Added new test that uses the C bindings API.
6827 * libspi/listener.c :
6828 * libspi/registry.c :
6829 * libspi/accessibleeventlistener.c :
6830 * at-bridge/bridge.c :
6831 Renamed member "target" of Accessibility_Event to "source",
6832 which is more descriptive.
6835 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6839 * cspi/Makefile.am :
6840 Added makefile support for at-spi/cspi directory.
6843 * cspi/spi-listener.h : (NEW FILE)
6844 Added support for/use of spi-listener.h.
6846 C bindings now build successfully, with no warnings.
6847 * libspi/accessibleeventlistener.h : (NEW FILE)
6848 * libspi/accessibleeventlistener.c : (NEW FILE)
6849 * libspi/Makefile.am :
6850 Added new object type "AccessibleEventListener"
6851 which inherits from Listener, and allows attachment
6852 of in-process callbacks (so that a client with a listening
6853 object instance can add functionality to the local
6854 implementation, dynamically).
6856 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6858 * libspi/accessible.c:
6859 Add implementation for get_index_in_parent().
6861 Added #include of "spi-roletypes.h", and
6862 added enumerated type AccessibleCoordType.
6863 Added definition for KeystrokeListener (function type).
6866 * cspi/spi-statetypes.h :
6867 * cspi/spi-roletypes.h :
6869 Added these headers, used by spi.h.
6871 Added code (NOTE: not yet built by make).
6873 2001-08-18 Mark McLoughlin <mark@skynet.ie>
6875 * libspi/Makefile.am: generate imodule
6876 at the same time as other idl compiler
6879 2001-08-17 Bill Haneman <bill.haneman@sun.com>
6880 * libspi/registry.c :
6881 * libspi/application.c :
6882 * idl/Application.idl :
6883 Made registration with toolkit an application method,
6884 which is required since each app has its own toolkit static
6885 environment. Thus the bridge must register for
6886 notification of toolkit events from each application in turn.
6887 Toolkit notifications are now successfully registered for, and
6888 sent to the listening at client.
6890 Changed toolkit event string to use hyphens rather than underscores.
6891 * libspi/listener.c :
6892 listner now gives more info in debug mode - it reports the
6893 name of the event received, as well as the name of the source.
6896 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6898 * libspi/registry.c :
6899 added more implementation for toolkit events.
6900 Fixed bug such that toolkit event registrations
6901 (via atk) use the whole event name string, not
6903 Removed a useless call to an ORBit_ method.
6904 * at-bridge/bridge.c :
6905 Removed unused local sbuf[] variable.
6907 We now register for Gtk:GtkWidget:button_press_event
6908 events as well as "focus:" events.
6910 Add some more API from Registry.idl that was missing,
6911 for keystroke listening, keystroke and mouse event
6912 synthesis, and enumeration of accessible desktops.
6914 2001-08-16 Michael Meeks <michael@ximian.com>
6916 * configure.in: use AM_GLIB_GNU_GETTEXT.
6918 * Makefile.am (SUBDIRS): kill intl.
6920 2001-08-15 Michael Meeks <michael@ximian.com>
6922 * registryd/Makefile.am: s/oaf/server/ relocate info file.
6924 * configure.in: upd.
6926 * configure.in: depend on a recent bonobo-activation that
6927 will find our server files ...
6929 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6931 * libspi/accessible.c : accessible_new() :
6932 Now we add the Component interface via bonobo_object_add_interface,
6933 if the contained AtkObject implements AtkComponent.
6934 * libspi/accessible.h : now include "component.h"
6935 * libspi/component.h :
6936 * libspi/component.c : added files - implementation of
6937 bonobo wrapper object for Accessibility/Component
6938 * libspi/listener.c :
6939 Added test code to check for Accessibility/Component:1.0
6940 interface and report whether it is implemented by the
6942 * libspi/registry.c :
6943 Now we check for not only the hash of the whole event
6944 string before relaying the event, we also check the
6945 "minor" event string (without the detail string).
6946 This allows event listeners to be registered against
6947 all events of a certain major+minor type, or just
6948 against a specific major+minor+detail type.
6949 * libspi/accessible.c :
6950 Added implementations for Accessible:get_parent(),
6951 Accessible:getChildCount(), and Accessible:getChildAtIndex().
6952 * libspi/registry.c :
6953 * libspi/listener.c :
6954 Replaced calls to Accessibility_Accessible_ref() and
6955 Accessibility_Accessible_unref() with
6956 calls to bonobo_object_dup_ref() and
6957 bonobo_object_release_unref(), so that the CORBA object
6958 is dup-ed and released when relayed, as well as the bonobo object.
6960 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6962 * libspi/Makefile.am,
6963 registryd/Makefile.am,
6964 at-bridge/Makefile.am.
6965 test/Makefile.am, configure.in:
6966 reverse previous changes.
6968 * /idl/Image.idl: fix typo.
6970 * test/Makefile.am: put DEBUG_FLAGS
6973 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6975 * test/app.c: use argv[0] instead of
6978 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6980 * libspi/Makefile.am,
6981 registryd/Makefile.am,
6982 at-bridge/Makefile.am.
6983 test/Makefile.am, configure.in:
6984 cleanup, replace individual LIBS/CFLAGS with
6985 AT_COMMON_{LIBS|CFLAGS}.
6989 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6991 * configure.in, libspi/Makefile.am:
6992 Change IDL path checking for bonobo-activation
6995 2001-08-15 Bill Haneman <bill.haneman@sun.com>
6997 * registryd/registry.c : separated event listeners to use
6998 3 separate lists (focus, window, toolkit). Began testing
6999 event names against hashes before relaying events.
7000 * test/at.c : now register for events of type "focus:"
7001 * test/app.c : now generate events of type "focus:"
7002 * at-bridge/bridge.c : register with ATK for focus events,
7003 and we now relay those focus events to any "focus:" listeners.
7004 This now works with the bridge as a GTK_MODULE when running test/at.
7005 * libspi/registry.c :
7006 * libspi/listener.c :
7007 now we ref event sources before propagating, and unref on receipt.
7008 * libspi/registry.c :
7009 some changes to internal structs, to support event typestring hashes.
7010 * text/app.c : changed the way the appname is generated.
7011 * cspi : added directory that will hold the C bindings library for
7012 non-CORBA/bonobo-savvy clients.
7013 * cspi/spi.h : header file that contains the function prototypes for the C binding.
7014 * idl/Component.idl : added in parameter to indicate coord system for
7015 geometry-related calls.
7016 * idl/Hyperlink.idl : added readonly n_links attribute
7017 * idl/Image.idl : changed methods to attributes.
7019 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7021 * at-bridge/Makefile.am: link against
7022 ../libspi/libspi.la instead of -lspi.
7024 * at-spi/test/app.c: include
7025 bonobo-activation.h. Use a default appname
7026 if one is not provided.
7028 2001-08-14 Bill Haneman <bill.haneman@sun.com>
7030 * idl/Registry.idl : temporarily changed register_Application
7031 to oneway, to work around issue with initial registration
7033 * idl/Application.idl : changed attribute "id" from readonly
7034 to read-write, since it needs to be assigned by Registry.
7035 * registryd/registryd.c : added call to set application id
7037 * registryd/registry.c : changed de-registration procedure to
7038 use CORBA_Object_hash() to find matching object ref in application
7039 lists and listener lists.
7040 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
7041 began distinguishing between event types (work in progress).
7043 2001-08-13 Bill Haneman <bill.haneman@sun.com>
7046 * libspi/application.c:
7047 Added implementations for get/set id, get_toolkitName,
7049 * registryd/registryd.c :
7053 Converted from use of OAF to bonobo-activation.
7054 * libspi/desktop.h :
7055 * libspi/desktop.c :
7057 Removed references to atksimpleobject, since base atkobject
7058 implementation now provides functionality we need.
7059 * libspi/atksimpleobject.c :
7060 * libspi/atksimpleobject.h :
7065 * at-bridge/Makefile.am
7066 * at-bridge/bridge.c
7069 Added directory "bridge" and contents, and added dependencies
7070 in Makefile.am/configure.in.
7071 Initial checkin of "at-bridge".
7072 This code is a GTK_MODULE which automatically registers
7073 GTK+ apps with the accessibility registry, using an object
7074 reference to the root ATK object.
7076 2001-08-10 Mark McLoughlin <mark@skynet.ie>
7078 * po/Makefile.in.in: Remove. Again. If this
7079 doesn't get autogenerated - you need to update
7082 2001-08-07 Mark McLoughlin <mark@skynet.ie>
7084 * po/Makefile.in.in: Add. Again.
7086 2001-07-31 Bill Haneman <bill.haneman@sun.com>
7088 * libspi/accessible.c : added support for 'description' property.
7089 * libspi/accessible.c
7091 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
7092 (since the two are now equivalent in libbonobo)
7100 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
7101 Bonobo::Unknown as does Accessibility::Accessible.
7102 * idl/StreamableContent.idl : as above, and replaced internal InputStream
7103 interface with Bonobo::Stream, since it was redundant with it.
7104 (The Stream returned by a StreamableContext object is expected to
7105 implement only a subset of Bonobo::Stream)
7107 2001-07-28 Anders Carlsson <andersca@gnome.org>
7109 * libspi/accessible.c (accessible_object_finalize): Change
7110 g_free to g_object_unref since the AtkObject is a GObject.
7112 2001-07-30 Bill Haneman <bill.haneman@sun.com>
7114 * idl/Accessibility.idl: add new IDL files
7117 * idl/Action.idl: Definitions of actionable UI object
7118 * idl/Component.idl: Definitions of UI component geometry, etc.
7119 * idl/Hyperlink.idl: Defs of hyperlink behavior
7120 * idl/Image.idl: Def of accessible image
7121 * idl/Selection.idl: Definition of UI object with selectable children
7122 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
7123 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
7124 * idl/Text.idl: Interface defs for UI elements with complex textual content
7125 * idl/Value.idl: Definition of UI element that is a value controller or display
7127 2001-07-27 Michael Meeks <michael@ximian.com>
7129 * po/Makefile.in.in: remove autogenerated file from CVS.
7131 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
7134 * idl/Registry.idl: include guard.
7136 * idl/Accessibility.idl: Add, and include all the other IDL
7139 * idl/*.idl: remove mass of pragmas etc.
7141 2001-07-26 Michael Meeks <michael@ximian.com>
7143 * registryd/Makefile.am (registryd_SOURCES): remove
7146 2001-07-27 Mark McLoughlin <mark@skynet.ie>
7148 * libspi/.cvsignore, registryd/.cvsignore,
7149 test/.cvsignore: updated.
7151 * po/Makefile.in.in: gettext update.
7153 2001-07-25 Bill Haneman <bill.haneman@sun.com>
7155 * initial CVS checkin
7157 2001-06-29 Michael Meeks <michael@ximian.com>
7159 * configure.in: add AM_CONFIG_HEADER to gen config.h