1 2004-02-10 Tomasz K³oczko <kloczek@pld.org.pl>
3 * docs/reference/cspi/at-spi-cspi.types: added empty file for
4 correct pass "make dist" (empty .. because seems no sach types in
5 header files with gtk-doc markups).
6 * docs/reference/cspi/Makefile.am, configure.in:
7 Added better gtk-doc support using GTK_DOC_CHECK aclocal macro
8 from gtk-doc >= 1.0 (modyfications based on scheme from atk).
10 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
11 for force correct pass generate documentation on "make distcheck".
12 * libspi/Makefile.am: fixes for automake >= 1.6.
13 * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
14 AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
17 Sun Feb 8 11:20:50 2004 Matthias Clasen <maclas@gmx.de>
19 * docs/reference/cspi/Makefile.am (install-data-local): Install
20 index.sgml since the doc autobuilder on widget.gnome.org looks for
23 2004-02-02 Padraig O'Briain <padraig.obriain@sun.com>
25 * atk-bridge/bridge.c (spi_atk_tidy_windows): Correct g_free call to
28 2004-02-01 Robert Sedak <robert.sedak@sk.htnet.hr>
30 * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
32 2004-01-27 Brian Cameron <brian.cameron@sun.com>
34 * test/simple-at.c: Fixed null string problems that cause core
35 dumping problems on Solaris.
37 2004-01-12 Bill Haneman <billh@gnome.org>
39 * configure.in: Incremented version to 1.3.11.
41 2004-01-05 Padraig O'Briain <padraig.obriain@sun.com>
43 * docs/reference/cspi/at-spi-cspi-docs.sgml: Added XML in
44 DOCTYPE statement. Fixes bug #129728. Patch supplied by Sebastien
47 2004-01-01 Roozbeh Pournader <roozbeh@sharif.edu>
49 * configure.in: Added "fa" to ALL_LINGUAS.
51 2003-12-20 Arafat Medini <lumina@silverpen.de>
53 * configure.in: Added "ar" to ALL_LINGUAS
55 2003-12-16 Bill Haneman <billh@gnome.org>
57 * registryd/registry-main.c:
59 Set the reg_env DISPLAY variable before registering the
60 activated registry service. Fixes bug #129479.
62 2003-12-16 Mohammad DAMT <mdamt@bisnisweb.com>
64 * configure.in: Added "id" in ALL_LINGUAS
65 * po/id.po: Indonesian translation by Ahmad Riza H Nst <ari@160c.afraid.org>
67 2003-12-15 Padraig O'Briain <padraig.obriain@sun.com>
69 * registryd/deviceeventcontroller.c (global_filter_fn):
70 When an event is consumed discard any XEvents were added to
71 the queue while dealing with the the event. This can happen if
72 processing of the event takes a long time. Call XUngrabKeyboard
73 if an event was discarded. This fixes bug $124837.
74 Only call wait_for_release_event for a KeyPress.
75 Use local variable display instead of spi_get_display().
76 (spi_controller_update_key_grabs): Move call to keycode_for_keysym
79 2003-12-11 Padraig O'Briain <padraig.obriain@sun.com>
81 * registryd/deviceeventcontroller.c (spi_dec_translate_mask):
82 Allow for mask to contain values other than NumLock mask.
85 2003-12-10 Padraig O'Briain <padraig.obriain@sun.com>
87 * registryd/devieceventcontroller.c:
88 (wait_for_release_event): Change first parameter from GdkEvent to
90 (global_filter_fn); Correct call to wait_for_release_event.
94 2003-12-08 Bill Haneman <billh@gnome.org>
98 * registryd/ucs2keysym.c: New file.
100 * registryd/deviceeventcontroller.c:
101 (dec_keysym_for_unichar): Remove old partial implementation and
102 replace with call to ucs2keysym(), which is much more complete.
103 Thanks to Marcus G. Kuhn who put the original keysym2ucs.c into
108 2003-12-05 Bill Haneman <billh@gnome.org>
110 * configure.in: Version 1.3.9.
112 * docs/reference/cspi/tmpl/spi_registry.sgml:
113 Added reference to libspi/keymasks.h to the
114 description of Registry queries: AccessibleKeyMaskType.
117 2003-12-04 Bill Haneman <billh@gnome.org>
121 * idl/Accessibility_Application.idl:
122 (Accessibility::LOCALE_TYPE): New enum, corresponds to
123 setlocale's LC_TYPEs.
124 (Accessibility::Application::getLocale): New method.
125 Allows clients to query the locale, by type, of an app.
128 * cspi/spi_application.c:
129 (AccessibleApplication_getLocale): New method, wraps IDL above.
131 * libspi/application.c:
132 (spi_application_class_init): Init epv entry for getLocale.
133 (impl_accessibility_application_get_locale): Impl for above.
135 * test/test-simple.c:
136 (test_application): Added assertion for getLocale, i.e.
137 that the string from AccessibleApplication_getLocale (app, type)
138 is the same as that from setlocale (type, NULL);
140 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
142 *registryd/deviceeventcontroller.c: Add an idle handler which polls
143 the keyboard on a timeout intil the key state goes from pressed to
144 released. Fixes bug #111429.
146 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
148 * atk-bridge/bridge.c: (atk_bridge_init): Create accessible application
149 root object so that it is present when a context menu in an
150 out-of-process applet is popped up.
151 (spi_atk_bridge_do_registration): Create acceessible application root
152 object only if it does not exist.
154 This fixes bug #125834.
156 2003-12-01 Bill Haneman <billh@gnome.org>
158 Fix for bug #114926. Thanks to Michael Meeks for some of this patch.
161 Added enum for AccessibleStreamableContentSeekType.
162 (AccessibleStreamableContent_freeContentTypeList): New.
164 * cspi/spi_streamablecontent.c:
165 (accessible_bonobo_stream_client_seek): New private method.
166 (AccessibleStreamableContent_seek): Implemented this method,
167 using Bonobo_Stream_seek.
168 (AccessibleStreamableContent_freeContentTypeList): New method
169 for freeing the return value from
170 AccessibleStreamableContent_getContentTypes.
171 (stream_cache_item_free): Replaces stream_release; stop leaks.
172 (stream_release): removed.
173 (AccessibleStreamableContent_read): Use properly init'd CORBA_evs,
174 free the memory properly.
176 2003-12-02 Padraig O'Briain <padraig.obriain@sun.com>
180 * cspi/spi-roletypes.h: Add SPI_ROLE_EDITBAR.
182 * cspi/spi_accessible.c (cspi_init_role_table): Add SPI_ROLE_EDITBAR.
184 * docs/reference/cspi/tmpl/spi-accessible.sgml: Add SPI_ROLE_EDITBAR
186 * idl/Accessibility_Role.idl: Add ROLE_EDITBAR.
188 2003-12-01 Bill Haneman <billh@gnome.org>
190 Fix for bug/rfe #127463.
192 * idl/Accessibility_Accessible.idl:
193 (getLocalizedRoleName): New.
194 (unimplemented4): Removed (replaced by above).
196 * libspi/accessible.c:
197 (impl_accessibility_accessible_get_local_role_name): New.
198 (spi_accessible_class_init): Add getLocalizedRoleName entry to
202 (Accessible_getLocalizedRoleName): New.
204 * cspi/spi_accessible.c:
205 (Accessible_getLocalizedRoleName): New.
207 2003-12-01 Bill Haneman <billh@gnome.org>
210 * idl/Accessibility_Text.idl:
211 (getDefaultAttributes): New.
212 (unimplemented4): Removed (replaced by above method).
215 (impl_getDefaultAttributes): New method.
216 (spi_text_class_init):
217 initialize the get_default_attributes slot in the epv.
220 (AccessibleText_getDefaultAttributes): New prototype.
223 (AccessibleText_getDefaultAttributes): New method.
225 2003-11-06 Padraig O'Briain <padraig.obriain@sun.com>
227 * cspi/spi_accessible.c (cspi_init_relation_type_table): Do not
228 write beyond the end of the table. Fixes bug #120473.
230 2003-09-30 Christian Rose <menthos@menthos.com>
232 * configure.in: Added "eu" to ALL_LINGUAS.
234 2003-09-28 Kjartan Maraas <kmaraas@gnome.org>
236 * configure.in: ALL_LINGUAS: Added no.
238 2003-09-28 Gediminas Paulauskas <menesis@delfi.lt>
240 * configure.in: Added lt to ALL_LINGUAS.
242 2003-09-25 Padraig O'Briain <padraig.obriain@sun.com>
244 * atk-bridge/bridge.c:
245 (atk_bridge_init): Register event listeners always even for
246 out-of-process applet.
247 (spi_atk_bridge_toplevel_added): Remove call to
248 spi_atk_bridge_event_type_consts as it is now called in atk_bridge_init
249 (spi_atk_bridge_toplevelk_removed): Remove call to
250 spi_atk_deregister_event_listenersa as the listeners are now always
252 (spi_atk_bridge_register_application): Remove call to
253 spi_atk_register_event_listeners as it is not done in atk_bridge_init
255 This fixes bug #120991.
257 * libspi/table.c (impl_getColumnDescription): Correct typo,
258 pointed out by Bolian.Yin@sun.com.
260 2003-09-21 Ã
\85smund Skjæveland <aasmunds@fys.uio.no>
262 * configure.in: Added nn to ALL_LINGUAS (which is commented out).
264 2003-09-08 Bill Haneman <billh@gnome.org>
266 * configure.in: Revved to 1.3.7.
268 This is the GNOME 2.4.0 release of at-spi.
270 * docs/reference/cspi/Makefile.am:
271 Removed spurious inclusion of 'index.sgml' in the
272 html directory; this was breaking make distcheck and
273 also some other build environments.
275 2003-09-05 Padraig O'Briain <padraig.obriain@sun.com>
277 * registryd/registry.[ch}:
278 Add queue_handler_id and focus_object to SpiRegistry data structure.
279 (registry_flush_event_queue): If event being discarded is
280 "state-change:focused" store object as focus_object.
281 (registry_start_queue): Remove queue handler and focus object
283 (registry_discard_event): New function which discards a focus event
284 if we had stored focus object in the registry.
285 (registry_queue_event): Add new check that is_queueing is set as this
286 function is reentrant.
287 (registry_filer_event): Add call to registry_discard_event.
289 This resolves issues raised in bug #108664.
291 2003-09-05 Taneem Ahmed <taneem@bengalinux.org>
293 * configure.in: Added "bn" to ALL_LINGUAS.
295 2003-09-04 Bill Haneman <billh@gnome.org>
297 * cspi/spi_event.c: Documentation improvements for
298 (SPI_registerAccessibleKeylistener).
300 * docs/reference/tmpl/spi_registry.sgml:
301 Documentation improvements for SpiAccessibleKeylistenerCB.
303 2003-09-02 Mugurel Tudor <mugurelu@go.ro>
305 * configure.in: Added "ro" to ALL_LINGUAS.
308 2003-09-01 Padraig O'Briain <padraig.obriain@sun.com>
310 * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
311 not decremented to zero. Fixes bug #120725.
313 2003-08-30 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
315 * configure.in: Added "ja" to ALL_LINGUAS.
317 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
319 * configure.in: Added "is" to ALL_LINGUAS.
321 2003-08-22 Christian Rose <menthos@menthos.com>
323 * configure.in: Added "nl" to ALL_LINGUAS.
325 2003-08-19 Padraig O'Briain <padraig.obriain@sun.com>
327 * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
328 * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
330 * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
332 * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
333 type for unspecified exception.
334 * cspi_streamablecontect): Add include of string.h for memcpy.
335 (stream_release): Correct call to bonobo_object_release_unref
336 (stream_cache_item_free): Correct call to bonobo_object_release_unref
337 * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
338 argument of _cspi_expection_throw.
339 * libspi/hyperlink.c: Add include of libspi/action.h:
340 (spi_hyperlink_new): Cast argument to spi_action_interface_new.
341 * libspi/streamablecontent.c: add include of libspi/component.h.
342 * regisrtyd/deviceeventcontroller.c:
343 (spi_dec_translate_mask): Removed unused variable priv.
344 (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
345 * registryd/registry.c:
346 (registry_filter_event): Remove unused variable queue_is-empty.
347 (impl_registry_notify_event): Use correct modifier in fprintf call.
349 This fixes compiler warnings reported in bug #120220.
351 2003-08-18 Padraig O'Briain <padraig.obriain@sun.com>
353 * registryd/registryd.c: Remove this file.
355 2003-08-17 Sanlig Badral <badral@openmn.org>
357 * configure.in: Added mn to ALL_LINGUAS.
359 2003-08-16 Tõivo Leedjärv <toivo@linux.ee>
361 * configure.in: Added et to ALL_LINGUAS.
363 2003-08-13 Padraig O'Briain <padraig.obriain@sun.com>
365 * test/event-listener-test.c: Change active-descendant to
366 active-descendant-changed.
368 2003-08-10 Sami Pesonen <sampeson@iki.fi>
370 * configure.in: Added "fi" in ALL_LINGUAS.
372 2003-08-08 Guntupalli Karunakar <karunakar@freedomink.org>
374 * configure.in: Added "hi" in ALL_LINGUAS.
376 2003-08-08 Padraig O'Briain <padraig.obriain@sun.com>
378 * configure.in: Revved to 1.3.6.
382 2003-08-07 Padraig O'Briain <padraig.obriain@sun.com>
384 * registryd/deviceeventcontroller.c
385 (spi_device_event_controller_object_finalize): Fix typo in previous
388 2003-08-07 Marc Mulcahy <marc.mulcahy@sun.com>
390 * registryd/deviceeventcontroller.c
391 (spi_device_event_controller_object_finalize): Fix build on
392 systems without XEvIE.
394 2003-08-06 Brian Cameron <Brian.Cameron@sun.com>
396 * acconfig.h, configure.in, registryd/Makefile.am,
397 registryd/devicecontoller.[ch]: Add XEViE support.
399 2003-08-06 Wang Jian <lark@linux.net.cn>
401 * configure.in: Added "zh_CN" to ALL_LINGUAS.
403 2003-08-06 Metin Amiroff<metin@karegen.com>
405 * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
407 2003-08-06 Padraig O'Briain <padraig.obriain@sun.com>
409 * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
410 MODIFIER_ALT in correct place.
412 This fixes part of bug #118114.
414 2003-07-30 Alessio Frusciante <algol@firenze.linux.it>
416 * configure.in: Added "it" (Italian) to ALL_LINGUAS.
418 2003-07-28 Changwoo Ryu <cwryu@debian.org>
420 * configure.in: Added "ko" to ALL_LINGUAS.
422 2003-07-28 Ole Laursen <olau@hardworking.dk>
424 * configure.in: Added "da" to the commented out ALL_LINGUAS.
426 2003-07-27 Laurent Dhima <laurenti@alblinux.net>
428 * configure.in: Added "sq" to ALL_LINGUAS.
430 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
432 * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
434 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
436 * configure.in: updated ALL_LINGUAS list
438 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
440 * configure.in: Added Belarusian to ALL_LINGUAS.
442 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
444 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
446 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
447 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
449 This fixes bug #116949.
451 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
453 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
454 Correct CSPI to SPI in function documentation.
456 This fixes bug #118054.
458 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
460 * configure.in: Added Russian to ALL_LINGUAS.
462 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
464 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
466 2003-07-14 Danilo Å Segan <dsegan@gmx.net>
468 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
470 2003-07-10 Joel Brich <joel.brich@laposte.net>
472 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
474 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
476 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
478 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
480 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
481 resources allocated for AccessibleEvent. See cspi_event().
483 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
484 static variable streams to NULL.
486 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
487 Update so that AcessibleEvent_ref will work.
489 This fixes bug #116624.
491 2003-07-06 Jordi Mallach <jordi@sindominio.net>
493 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
495 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
497 * configure.in: Added "fr" (French) to ALL_LINGUAS.
499 2003-07-02 Christian Neumair <chris@gnome-de.org>
501 * configure.in: Added "de" (German) to ALL_LINGUAS.
503 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
505 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
507 2003-07-01 Miloslav Trmac <mitr@volny.cz>
509 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
511 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
513 * configure.in: Added "pl" to ALL_LINGUAS.
515 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
517 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
519 2003-06-30 Bill Haneman <bill.haneman@sun.com>
522 (get_action_from_servant):
523 Removed assertion that action is implemented on an AtkObject.
525 * libspi/hyperlink.c:
527 Aggregate AccessibleAction interface on the hyperlink object if
528 the object implements AtkAction. (This convention is used in
531 2003-06-30 Bill Haneman <bill.haneman@sun.com>
533 * configure.in: Revved to 1.3.5.
535 * registryd/Accessibility_Registry.server.in.in:
536 Marked up appropriate strings for translation.
538 * atk-bridge/bridge.c: Marked a couple of
539 user-visible warnings for translation. Questionable
540 whether they are really useful, but possibly so.
543 2003-06-28 Christian Rose <menthos@menthos.com>
545 * configure.in: Added "sv" to ALL_LINGUAS.
547 2003-06-26 Bill Haneman <bill.haneman@sun.com>
549 * registryd/registry.c:
550 (spi_registry_object_finalize): Unref the deviceeventcontroller.
551 (registry_defer_on_event): Defer focus: events, this is an
552 improvement to the patch for bug #108664.
554 * TODO: Update with 2.4/"Dev Complete" items.
556 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
558 * atk-bridge/bridge.c:
559 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
560 looks up signals once.
561 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
562 if doing registration.
563 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
564 when doing registration.
566 This fixes bug #115014.
568 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
570 * atk-bridge/bridge.c:
571 (atk_bridge_init): Add signal handler for children-changed:remove on
572 root when in a BonoboComponent.
573 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
574 for first toplevel only other incrememt variable toplevels.
575 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
576 application and remove listeners.
577 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
579 (spi_atk_deregister_event_listeners): New function which removes
581 (reinit_register_vars): New fuction which reinitializes variables.
583 This fixes bug #111578.
585 2003-06-13 Bill Haneman <bill.haneman@sun.com>
587 * configure.in: version 1.3.4.
589 * cspi/spi_accessible.c:
590 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
593 2003-06-13 Michael Meeks <michael@ximian.com>
595 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
597 * cspi/spi_main.c (cspi_peek_ev): impl.
599 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
601 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
603 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
605 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
606 SPI_ROLE_AUTOCOMPLETE
608 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
610 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
611 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
613 2003-06-11 Bill Haneman <bill.haneman@sun.com>
615 * libspi/streamablecontent.h:
616 * libspi/streamablecontent.c:
617 New files, provide implementation/wrappers for
618 Accessibility_StreamableContent.
620 * cspi/spi_streamablecontent.c:
621 Connected the C wrappers to the libspi C bindings.
622 (AccessibleStreamableContent_close): New method.
625 (AccessibleStreamableContent_close): New method, needed
626 since we have an "open, [seek], read, close" model in cspi.
628 2003-06-11 Bill Haneman <bill.haneman@sun.com>
630 Fix for #108664; Padraig's revision of my original patch.
632 * registryd/registry.h:
633 Added event queue list, is_queuing, and exit_notify_timeout
634 to the registry struct.
636 * registryd/registry.c:
637 (registry_init): Initialize new struct from registry.h.
638 (impl_registry_notify_event):
639 Filter events before notifying, in case some need to be
641 (registry_filter_event): New,
642 we defer certain incoming events (for instance
643 window:deactivate) because we may wish to hide
644 or reject them based on pending events. This is
645 mostly a workaround for bug #108664.
646 (registry_queue_event, registry_start_queue): New.
647 (registry_defer_on_event): Test event to see if it
649 (registry_reset_on_event): Returns TRUE if the
650 event should cause a queue reset.
651 (registry_discard_on_event): Returns TRUE if the event
652 should cause the previous queue contents to be discarded.
653 (registry_timeout_flush_queue): Flushes the pending event
654 queue if no reset/discard-triggering events have come in
655 within the timeout period.
656 (registry_emit_event): New.
657 (registry_clone_notify_context): New, used when queueing the
658 event notify contexts.
660 2003-06-10 Bill Haneman <bill.haneman@sun.com>
662 * configure.in: Version revved to 1.3.2, lt 0.9.2
663 Incremented ATK required version to 1.3.4.
665 * cspi/spi_registry.c:
666 (SPI_generateKeyEvent):
667 We now pass the keystring along if it's non-null.
669 * registryd/deviceeventcontroller.c:
670 (keysym_mod_mask): New method, returns modifier mask
671 required to generate a keysym from a given keycode.
672 (dec_synth_keysym): New method.
673 (dec_synth_keystring): New method.
674 (dec_get_modifier_state): New method.
675 (dec_lock_modifiers): New
676 (dec_unlock_modifiers): New.
677 (dec_keysym_for_unichar): New, rather brute-force
678 conversion from UCS-4 to X KeySyms. Only works for
679 Latin at the moment, with partial implementations for
680 Greek, Hebrew, and (incomplete) Katakana.
681 (impl_generate_keyboard_event): Now implement
682 "KEYSTRING" synthesis and implement "KEYSYM"
684 (keycode_from_keysym): Improved, passes a returned
685 modmask value now if the corresponding param is non-NULL.
687 Fixes bugs #92143 and #109776.
690 * test/keysynth-test.c:
691 New test program for key synthesis, to confirm fixes for
695 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
697 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
699 * cspi/spi_accessible.c (cspi_init_relation_type_table):
700 Add line for RELATION_POPUP_FOR
702 * docs/reference/cspi/tmpl/spi_relation.sgml:
703 Add relation SPI_RELATION_POPUP_FOR
705 * docs/reference/cspi/tmpl/spi_stateset.sgml:
706 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
708 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
710 * libspi/relation.c (spi_init_relation_type_table):
711 Add line for RELATION_POPUP_FOR
713 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
715 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
716 there are still windows which have not been deleted and emit
717 window:deactivate, if necessary and window:destroy events.
718 This fixes bug #114370. The change on June 5th was not correct.
720 2003-06-09 Bill Haneman <bill.haneman@sun.com>
722 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
725 (SPI_dupString): Allow dup-ing of a string such that it's safe to
727 New methods for client exception handling and interception.
728 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
729 (SPI_exceptionHandlerPop): You guessed it...
730 (SPI_getSourceType): Return the type of object which offended.
731 (SPI_getExceptionCode): Return an enum code telling, possibly,
732 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
733 (SPIAccessibleException_getSource): get the source object for
734 exceptions that come from Accessibles, if SPIExceptionSourceType is
735 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
736 (SPIException_getDescription): New, returns a string description of
737 the problem. [Not yet a stable ABI, strings are not frozen]
739 * cspi/spi-private.h:
740 Added implementation details of opaque SPIException
744 Implementations of above. Also
745 (_cspi_exception_throw): new private method that
746 dispatches exceptions to handlers, called from cspi-bonobo.c
748 * cspi/bonobo/cspi-bonobo.c:
749 (cspi_check_ev): call _cspi_exception_throw.
750 Don't print a warning message if the exception has been
751 handled by _cspi_exception_throw.
753 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
755 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
756 there are still windows which have not been deleted and emit
757 window:deactivate, if necessary and window:destroy events.
758 This fixes bug #114370.
760 2003-06-03 Bill Haneman <bill.haneman@sun.com>
763 (cspi_accessible_is_a): Make non-fatal
764 if the object reference is dead.
766 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
768 * cspi/spi_main.c: #include <stdio.h>
769 * test/simple-at.c: ditto
770 * test/event-listener-test.c: ditto
771 * test/screen-review-test.c: ditto
773 2003-05-30 Michael Meeks <michael@ximian.com>
775 * test/test-simple.c (main): use CORBA_ORB_perform_work
776 instead of an unnecessary linc_ call.
778 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
780 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
781 Add SPI_STATE_INDETERMINATE.
783 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
786 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
788 * libspi/stateset.c (init_state_type_tables): Add support for
791 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
793 * configure: Update versions of atk and gail required.
794 This fixes bug #113268.
796 2003-05-02 Bill Haneman <bill.haneman@sun.com>
798 * configure.in: Revved micro version to 1.3.1 (because of build fix).
800 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
802 * libspi/Makefile.am:
803 Ensure headers are generated before being used by c sources.
805 2003-05-01 Bill Haneman <bill.haneman@sun.com>
808 Simplified lt versioning rules.
809 Incremented version to 1.3.0, to indicate that we're on the
812 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
814 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
815 Add MKDB_OPTIONS=--outtput-format=xml
817 * docs/reference/cspi/at-spi-cspi-docs.sgml
818 docs/reference/idl/at-spi-idl-docs.sgml:
819 Convert to Docbook XML.
821 This fixes bug #111793.
823 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
825 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
826 AcccessibleKeyEventType, AccessibleKeyMaskType.
828 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
830 * cspi/state-types.h: Add documentation for AccessibleState.
832 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
833 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
834 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
835 AccessibleComponentLayer.
837 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
840 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
842 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
843 Accessible. Add description of AccessibleEvent,
844 AccessibleEventListenerCB.
846 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
849 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
850 documentation. Add description of AccessibleKeystrokeListenerCB,
851 AccessibleKeyEventMask, AccessibleModifierMaskType,
852 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
853 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
855 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
858 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
861 This fixes bug #104730.
863 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
865 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
866 Set is_text field of Accessibility_DeviceEvent data structure.
868 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
869 is-text field of AccessibleDeviceEvent data structure.
871 This addresses part of bug #108666.
873 * registryd/devcieeventcontroller.c: Unset debug option.
875 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
878 (cpi_initial_relation_type_table): New function which initializes
879 mapping between Accessibility_RelationType and AccessibleRelationType.
880 (cspi_relation_type_from_spi_relation_type): New function which
881 translates an Accessibility_RelationType into an AccessibleRelationType.
882 (AccessibleRelation_getRelationType): Use
883 cpi_relation_type_get_spi_relation_type to return correct value.
884 (spi_state_to_corba): Return correct type for default case.
886 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
887 Use Accessibility_EventType instead of Accessibility_KeyEventType.
889 * cspi/cspi-bonobo-listener.c:
890 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
893 * libspi/accessible.c, libspi/action.c, libspi/application.c,
894 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
895 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
896 libspi/image.c, libspi/listener.c, libspi/selection.c,
897 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
898 registryd/desktop.c, registryd/registry.c:
899 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
901 * libspi/eventlistener.c
902 Remove semicolon after BONOBO_TYPE_FUNC.
905 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
906 (spi_init_relation_type_table): Initialize using correct type.
908 * registryd/desktop.c:
909 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
910 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
911 of Accessibility_KeyEventType.
913 * test/key-listener-test.c (report_tab_key_event): Use fprintf
916 * tests/simple-at.c, tests/screen-review-test.c:
917 Add include for <strings.h>.
919 * tests.stress-test.c:
920 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
922 These changes fix compiler warnings when using FORTE compiler on
923 Solaris; fixes bug #107479.
926 2003-04-10 Bill Haneman <bill.haneman@sun.com>
929 * configure.in: revved to 1.1.10
932 (SPI_KEYMASK_NUMLOCK): Added.
934 * registryd/deviceeventcontroller.c:
935 (spi_key_event_matches_listener): AND with a smaller
936 bitmask (as we should).
937 (spi_dec_translate_mask):
938 New method, sets the virtual NumLock modifier bit
939 if numlock is on. Eventually it can handle other virtual
940 modifier bits if needed, or other marshalling from
941 at-spi modifier masks to platform (X) masks.
942 (spi_dec_key_listener_new):
943 Call spi_dec_translate_mask to set up virtual mod bits
944 in the 'mask' field when creating a new listener struct.
945 (spi_dec_emit_modifier_event):
946 Set the virtual (i.e. NumLock) bits before emitting event.
947 (spi_controller_register_with_devices):
948 Query for the NumLock modifier 'physical' bit if Xkb is
949 present, for use in above methods.
953 2003-04-10 Bill Haneman <bill.haneman@sun.com>
955 * registryd/deviceeventcontroller.c:
956 (spi_keystroke_from_x_key_event):
957 Instead of checking to see if the keysym is
958 printable, check the string from XLookupString
959 if available, get the first unicode character from it,
960 and call g_unichar_isprint to determine whether the
961 is_text flag should be TRUE or FALSE.
965 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
967 * atk-bridge/bridge.c: Add support for extended events
968 * cspi/spi_event.c: Add documentation and implementation for
970 * tests/event-listener-test.c: Add tests for extended events.
972 This fixes bugs #100424 and #100426.
974 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
976 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
977 of LT_CURRENT. This fixes bug #89350.
979 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
981 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
982 number of signal parameter values before accessing them. This fixes
985 2003-04-01 Bill Haneman <bill.haneman@sun.com>
987 * configure.in: Fixed duplicate inclusion of -lspi.
988 * branched for gnome-2-2/HEAD.
989 [created tag "gnome-2-2"]
991 2003-03-07 Bill Haneman <bill.haneman@sun.com>
993 * configure.in: 1.1.9 release.
996 2003-03-07 Bill Haneman <bill.haneman@sun.com>
998 [needed by GOK, to fix bugs 107985 and 107988]
999 * registryd/deviceeventcontroller.c:
1000 (spi_dec_clear_unlatch_pending):
1001 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
1002 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
1003 (spi_dec_init_mouse_listener):Emit warning if mouse button
1005 (spi_device_event_controller_forward_mouse_event):
1006 Removed unnecessary parens from a conditional.
1007 (global_filter_fn):Added TODO comment.
1008 (impl_generate_keyboard_event):
1009 Cancel a pending relatch if a 'delatching' key was
1012 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
1014 * atk-bridge/bridge.c:
1015 Change atk_signal_child_changed to atk_signal_children_changed.
1016 Reorganize code in spi_atk_bridge_signal_listener().
1018 * test/event-listener-test.c:
1019 Add children_changed_listener and report_children_changed_event()
1020 to test AccessibleChildEvent_getChildAccessible.
1022 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
1024 * cspi/spi_event.c (cspi_internal_event_get_text): Change
1025 g_strdup to CORBA_String_dup (bug #105291)
1027 * test/event-listener-test.c (report_text_event): Add call to
1030 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1032 * registryd/deviceeventcontroller.c:
1033 (spi_keystroke_from_x_key_event):
1034 Fix string and keysym return codes to match modifier state.
1037 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1039 * registryd/deviceeventcontroller.c:
1040 (spi_keystroke_from_x_key_event):
1041 Fix segv due to improper use of isprint(c). [bug #107254]
1043 2003-02-24 Bill Haneman <bill.haneman@sun.com>
1046 (get_accessible_text_boundary_type):
1047 Move default return value to (new) default case in switch.
1048 (get_accessible_text_clip_type):
1049 Move default return value to (new) default case in switch.
1051 * libspi/application.c:
1052 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
1053 Remove unused methods.
1054 (impl_accessibility_application_register_object_event_listener):
1055 Remove unused methods.
1058 Added #include of <math.h>.
1060 * registryd/deviceeventcontroller.c:
1061 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
1062 we don't currently use this method.
1063 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
1065 (impl_generate_key_event):
1066 Remove unused variables.
1067 (impl_generate_mouse_event):
1068 Initialize button to zero, just in case we get an invalid
1069 input. Added support for mouse buttons 4 and 5.
1070 (spi_device_event_controller_new):
1071 Removed unused variable declaration for 'private'.
1073 Added #include of <gdk/gdk.h>
1075 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1077 * configure.in: Update to work when X is not installed in expected
1078 location. Fixes bug #105836.
1080 * atk-bridge/bridge.c
1081 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
1083 (spi_atk_register_event_listener): Add signal listener for
1085 (spi_atk_bridge_signal_listener): Event event when link-selected
1086 signal is emitted. (bug #104622)
1088 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
1089 on returned string. (bug #105291)
1091 * test/event-listener-test.c: Add test for link-selected.
1093 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1095 * atk-bridge/Makefile.am: Correct typo in previous commit.
1097 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
1099 * atk-bridge/Makefile.am: Allow for build directory to be different
1100 from source directory
1102 * registryd/Makefile.am: Allow for build directory to be different
1103 from source directory
1107 2003-01-29 Bill Haneman <bill.haneman@sun.com>
1110 Fixed dependencies for libcspi so that libspi gets pulled in
1111 properly. Fixes 104741.
1115 Clean up inline docs a little.
1117 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
1119 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
1120 This is done by implementing AtkComponent for SpiAtkDesktop, which is
1121 the AtkObject within an SpiDesktop.
1122 This addresses bug #101524.
1124 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
1125 Remove call to gdk_init().
1127 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
1128 so that Display is set when SpiDesktop is created.
1130 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
1132 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
1133 This fixes bug #102830.
1135 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1137 * test/test-simple.c: Update to take account of fact that GailButton
1138 now implements AtkText.
1139 (create_text_window): Set name on AtkObject for GtkEntry.
1140 (validate_accessible): Check accessible name before calling test_text().
1142 * libspi/Makefile.am: Fix problem with building outside of source
1143 directory. Bug #98120.
1145 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
1146 typo in documentation comments. Bug #94275.
1148 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1150 * libspi/text.c (impl_getBoundedRanges): Bug fix.
1152 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
1155 Add includes to avoid compiler warnings on Solaris.
1156 (impl_getRangeExtents): Bug fix.
1158 2002-12-17 Bill Haneman <bill.haneman@sun.com>
1160 Fix for 100944, [API addition approved by Gman and murrayc].
1167 * idl/Accessibility_Text.idl:
1168 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
1169 (Text::getRangeExtents): New method for efficient
1170 bounds query of a text range.
1171 (Text::getBoundedRanges): New method for efficient
1172 clipping of text to bounding boxes.
1173 (unImplemented7, unImplemented8):
1174 Removed these padding methods to preserve bincompat.
1177 (impl_getRangeExtents): implementation of new IDL.
1178 (impl_getBoundedRanges): implementation of new IDL.
1179 (SpiTextRect): Internal use struct.
1180 (_spi_text_rect_union): internal method, calculates union of two
1181 SpiTextRect bounding rects.
1182 (_spi_text_range_seq_from_gslist): internal method, allows us
1183 to build our sequence efficiently as a gslist then convert it
1185 (_spi_bounds_contain): internal method, determines whether
1186 a text character is "in" or "out" of a clip rect according to
1187 values of TEXT_CLIP_TYPE.
1188 (spi_text_class_init): Initialize the new methods in the epv.
1191 (AccessibleTextClipType): New enum used by screen review api.
1192 (AccessibleTextRange): New struct used by screen review api.
1193 (AccessibleText_getRangeExtents):
1194 cspi binding for Accessibility_Text_getRangeExtents.
1195 (AccessibleText_getBoundedRanges):
1196 cspi binding for Accessibility_Text_getBoundedRanges.
1197 (AccessibleTextRange_freeRanges): convenience method.
1200 (AccessibleText_getRangeExtents):
1201 cspi binding for Accessibility_Text_getRangeExtents.
1202 (AccessibleText_getBoundedRanges):
1203 cspi binding for Accessibility_Text_getBoundedRanges.
1204 (AccessibleTextRange_freeRanges): convenience method.
1205 (get_accessible_text_clip_type): internal conversion method.
1206 (get_accessible_text_ranges_from_range_seq): internal conversion method.
1208 * registryd/deviceeventcontroller.c:
1209 (spi_dec_mouse_check):
1210 Improved behavior for mouse:abs events
1211 [same granularity as mouse:rel events, and no
1212 events when mouse is idle].
1214 2002-12-16 Michael Meeks <michael@ximian.com>
1216 * cspi/spi_accessible.c (spi_state_to_corba): rename.
1218 * libspi/stateset.c (state_spi_to_atk): split out
1219 ( fix several remote array bounds nasties )
1220 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
1221 (impl_remove): make safe from array bounds issues.
1222 (spi_atk_state_from_spi_state): impl.
1224 * libspi/stateset.h (spi_state_set_cache_is_empty):
1225 add a set of wrapper defines to get layering right.
1227 * cspi/spi_accessible.c: update state set stuff to
1230 2002-12-14 Michael Meeks <michael@ximian.com>
1232 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
1233 to avoid 2 roundtrips to the registry per key event
1234 (spi_atk_bridge_key_listener): upd.
1235 (deregister_application): release the dec.
1237 * registryd/registry.c (notify_listeners_cb):
1238 bin lots of re-enterant complexity - we no longer
1239 do a round-trip bonobo ref here, ensure that a single
1240 listener's exception failure won't poison all other
1242 (impl_registry_notify_event): bin obvious memory leak.
1244 2002-12-13 Michael Meeks <michael@ximian.com>
1246 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
1247 init the ev so the error is meaningful.
1248 (spi_atk_bridge_key_listener): ditto.
1250 * cspi/spi_main.c (cspi_ev): init the ev so we start
1251 with a clean slate, otherwise the first exception
1252 kills us completely.
1254 * cspi/spi_text.c (get_accessible_text_boundary_type):
1255 add a fallthrough for no warnings.
1257 * cspi/spi_registry.c: prune unused warnings.
1259 * cspi/spi_main.c (cspi_object_take): fix
1260 mind-blowing brokenness ( by watching the compile
1263 * cspi/spi_accessible.c (Accessible_getStateSet):
1264 re-impl. to use an AtkStateSet.
1265 (spi_state_type_from_accessible_state),
1266 (init_state_table): bin these.
1268 * libspi/stateset.c (spi_atk_state_set_from_sequence):
1270 (atk_state_set_from_accessibility_state_set): here.
1272 * cspi/spi_accessible.c (spi_state_to_atk): impl.
1273 (AccessibleStateSet_contains, AccessibleStateSet_ref),
1274 (AccessibleStateSet_unref, AccessibleStateSet_contains),
1275 (AccessibleStateSet_add, AccessibleStateSet_remove),
1276 (AccessibleStateSet_equals, AccessibleStateSet_compare),
1277 (AccessibleStateSet_isEmpty): re-write to use a local
1280 2002-12-13 Bill Haneman <bill.haneman@sun.com>
1282 * configure.in: Revved to 1.1.7 (new keymask vals).
1284 2002-12-10 Bill Haneman <bill.haneman@sun.com>
1286 * libspi/keymasks.h:
1287 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
1289 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
1292 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
1293 to compare two CORBA_TypeCodes.
1294 (cspi_internal_event_add): Silence warning from FORTE compiler.
1296 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
1297 avoid implicit declaration of functions.
1299 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
1301 * atk-bridge/bridge.c:
1302 (spi_atk_bridge_init_event_type_consts): Store signal id for
1303 active-descendant-changed signal.
1304 (spi_atk_register_event_listeners): Add signal listener for
1305 active-descendant-changed signal,
1306 (spi_atk_bridge_signal_listener): Move code in function
1307 spi_atk-signal_emit_event() into this function.
1308 Add support for active-descendant-changed
1309 Update support for child-changed signal.
1310 (spi_bridge_window_event_listener): Silence warning.
1312 * libspi/spi_private.[ch]:
1313 (spi_init_any_object): Change second parameter from CORBA_Object to
1315 Omit call to CORBA_Object_duplicate().
1316 Set CORBA_any's _value to CORBA_Object*.
1318 2002-12-06 Bill Haneman <bill.haneman@sun.com>
1324 (AccessibleEvent_ref, AccessibleEvent_unref):
1325 New methods, for persisting an event outside the emission context.
1326 Must be used if the new accessor methods are to be called
1327 outside of the event listener's callback.
1329 * cspi/bonobo/cspi-bonobo.c:
1330 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
1331 as second parameter instead of NULL, so we can call
1332 cspi_check_ev afterwards.
1335 (cspi_object_take): New internal method,
1336 converts a CORBA_Object reference to a hard ref on
1337 an Accessible if possible, returning NULL if the object
1338 reference is invalid or an Accessible * otherwise.
1341 (AccessibleEvent_ref):
1342 Increment the event's internal private refcount, and
1343 add the event's internal struct to an internal cache
1344 if it's not already there.
1345 (AccessibleEvent_unref):
1346 Decrement the event's refcount and remove it from
1347 the cspi event cache if refcount==0.
1348 (cspi_event_compare): New private method.
1349 Compares two event structs via their ids. Used
1351 (cspi_internal_event_lookup): New private method.
1352 (cspi_internal_event_check): New private method,
1353 a 0-order sanity check for events to make sure their
1354 private data is intact.
1355 (cspi_internal_event_add, cspi_internal_event_remove):
1356 New private methods for managiing the event cache.
1358 * cspi/bonobo/cspi-bonobo-listener.c:
1360 Initialize the new private data elements (id, magic, ref_count).
1362 * atk-bridge/bridge.c:
1363 (spi_atk_bridge_signal_listener):
1364 Fixed bug #100530, passing wrong params to emission func.
1366 * registryd/deviceeventcontroller.c:
1367 (spi_dec_button_update_and_emit):
1368 Fixed type in mask bit operations; fix for #99799.
1370 2002-12-02 Bill Haneman <bill.haneman@sun.com>
1372 Removed some of the more dangerous workarounds from
1373 previous commit; they are only needed by GOK, which
1374 in reality should be using another method to accomplish
1375 the goals. So on reconsideration some of the workarounds
1376 need to be reverted:
1378 * registryd/deviceeventcontroller.c:
1379 (spi_keycodes_contain, spi_dec_init_keycode_list):
1380 Removed these methods, used only by a nasty hack to try
1381 and detect whether a key synthesis should be allowed
1382 to reset the XKB latch state or not. This code was only
1383 required to work around an interaction between GOK,
1384 button events, and XKB.
1385 (impl_generate_key_event):
1386 Removed hack at end of key generation that tried to
1387 "do the right thing" if XKB latch keys were generated
1388 in the midst of button press/release pairs.
1391 Added a check for HAVE_XINPUT. Not normally used yet.
1393 2002-11-25 Bill Haneman <bill.haneman@sun.com>
1395 Workarounds and fixes for mouse event/XKB interaction.
1397 * registryd/deviceeventcontroller.c:
1398 (spi_keycodes_contain, spi_dec_init_keycode_list):
1399 New internal methods.
1400 (spi_dec_set_unlatch_pending):
1401 Split the method that tells XKB to expect an
1402 unlatch (and revert it) out of the rest of the
1403 event handling code. This method is called by the
1404 two mouse event handlers (the poll and the filter).
1405 (spi_dec_update_and_emit, spi_dec_mouse_check):
1406 New methods split from spi_dec_poll_mouse_moved.
1407 The second one is now called from inside the filterFn
1408 when an XKB delatch event is received, to determine
1409 whether to revert the delatch or not.
1410 (spi_poll_mouse_moved): Refactor; also we can now
1411 properly handle the case where multiple button states
1412 have changed between polling cycles and we didn't get
1413 notified due to another client's grab.
1415 Synchronize the server while handling an XKB notification.
1416 Ugly, but apparently necessary to avoid nasty races.
1417 Check the mouse state on receipt of an XKB latch change,
1418 to decide whether to revert the latch or not. (Latches are
1419 reverted if there is an immediately preceding mouse button
1420 event that a client has consumed, in which case we don't want
1421 the user to see the side-effect of the event).
1422 (spi_device_event_controller_forward_mouse_event):
1423 Check for modifier events and fire before resetting mouse_mask_state,
1424 prevents losing modifier events.
1426 (impl_generate_keyboard_event):
1427 If we've just generated a keyboard event for a non-shift key,
1428 we don't want to revert the pending XKB latch.
1429 Otherwise, check the modifier state (via a call to
1430 spi_dev_mouse_check) and set the relatch mask to
1431 that state before returning.
1433 2002-11-24 Bill Haneman <bill.haneman@sun.com>
1436 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1439 * atk-bridge/bridge.c:
1440 (spi_atk_register_event_listeners):
1441 Don't re-register for ATK events if the registry has died
1442 and the app needs to re-register; the ATK listeners are in
1443 process and doing so will cause duplicate emission.
1445 * registryd/deviceeventcontroller.c:
1446 (spi_poll_mouse_moved):
1447 Reformat the source, detect and emit multiple button-change
1448 events (i.e. if multiple buttons have changed between poll
1450 Add code to detect mouse-down events even when the pointer
1451 is grabbed; workaround for GOK bug 98420.
1452 (spi_controller_register_with_devices):
1453 Call XTestGrabControl with 'impervious' flag set to True,
1454 allows us to synthesize events and query the pointer even during
1455 an active grab by another client.
1456 (spi_device_event_controller_forward_mouse_event):
1457 Set the mouse_mask_state to the mouse_button_state from
1458 the intercepted event, to synchronize the grab listener with
1461 2002-11-20 Bill Haneman <bill.haneman@sun.com>
1463 * cspi/spi_accessible.c:
1464 (AccessibleRole_getName):
1465 Added necessary strings for making this (deprecated)
1466 method work with the new role types.
1467 (init_role_table, role_table):
1468 Added definition of SPI_ROLE_APPLICATION.
1470 * libspi/spi-roletypes.h:
1471 Added SPI_ROLE_APPLICATION.
1473 * idl/Accessibility_Role.idl:
1474 Added ROLE_APPLICATION.
1476 * docs/reference/cspi/at-spi-cspi-decl.txt:
1477 Added SPI_ROLE_APPLICATION to docs.
1479 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
1481 * cspi/spi_accessible.c
1482 (cspi_init_role_table): Do not write beyond end of role_table.
1483 (Accessible_getRole): Use correct type for value returned by
1484 Accessibility_Accessible_getRole().
1486 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1487 beyond end of role_table. (This fixes bug #98269)
1489 * libspi/application.c: Add include file spi-private.h for
1490 definition of spi_init_any_nil.
1492 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1496 * libspi/spi-private.h:
1497 Added DGB() macro, and extern int _dbg declaration.
1499 * registryd/registry.c:
1500 (definitions) storage for _dbg.
1501 (spi_registry_init):
1502 Get environment variable "AT_SPI_DEBUG".
1503 (spi_registry_set_debug):
1504 New method, to initialize _dbg value.
1505 (spi_listener_struct_new, spi_registry_object_finalize):
1506 (notify_listeners_cb):
1507 Changed fprintfs to use DBG and g_warning().
1509 * registryd/deviceeventcontroller.c:
1510 (_deregister_keygrab, spi_controller_register_device_listener):
1511 Changed debug/warning messages to use DBG macro.
1513 * libspi/listener.c:
1514 (impl_notify_event):
1515 Changed warning messages to use DBG macro and g_warning().
1517 * atk-bridge/bridge.c:
1518 (atk_bridge_init, spi_atk_bridge_get_registry):
1519 (spi_atk_bridge_exit_func):
1520 (spi_atk_bridge_property_event_listener):
1521 Changed status, warning, and error messages to use
1522 g_warning, g_message, and DBG macros.
1525 Read the state of the AT_SPI_DEBUG environment variable
1526 and set a local '_dbg' accordingly.
1528 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1530 FIXES for 98836, 98842, other bugs.
1533 Revved to 1.1.4, interface-age=4, binary-age=4.
1535 * registryd/deviceeventcontroller.c:
1537 Fixed crasher bug in last_mouse_pos initialization.
1539 * registryd/registry.c:
1540 (desktop_add_application, desktop_remove_application):
1541 Added (and then commented out) some support for
1542 object context marshalling. [TODO]
1544 * atk-bridge/bridge.c:
1545 (spi_atk_bridge_event_context_create):
1546 Commented out object context creation until it can
1547 be properly tested and debugged.
1549 * registryd/registry.c:
1550 (impl_registry_notify_event):
1551 Fixed crasher bug, we were calling
1552 spi_re_entrant_list_foreach () with an empty list.
1554 2002-11-18 Bill Haneman <bill.haneman@sun.com>
1556 * idl/Accessibility_Action.idl:
1557 * idl/Accessibility_Component.idl:
1558 * idl/Accessibility_Desktop.idl:
1559 * idl/Accessibility_Event.idl:
1560 * idl/Accessibility_Hyperlink.idl:
1561 * idl/Accessibility_Image.idl:
1562 * idl/Accessibility_Relation.idl:
1563 * idl/Accessibility_Selection.idl:
1564 * idl/Accessibility_State.idl:
1565 * idl/Accessibility_Value.idl:
1566 Updated unimplemented slot count to minimum of
1567 four for all interfaces, for ABI freeze.
1569 * idl/Accessibility_EditableText.idl:
1570 * idl/Accessibility_Text.idl:
1571 Updated unimplemented slot count to six
1574 * idl/Accessibility_Registry.idl:
1575 Updated unimplemented slot count to six
1576 (also for DeviceEventController),
1579 * idl/Accessibility_Table.idl:
1580 Updated unimplemented slot count to eight,
1583 * idl/Accessibility_Event.idl:
1584 Added CORBA_any "any_data" member to Event struct.
1586 * idl/Accessibility_Event.idl:
1587 Added CORBA_any "any_data" member to Event struct.
1589 * atk-bridge/bridge.c:
1591 atk_signal_text_changed, atk_signal_child_changed,
1592 signal ids queried from gtype system.
1593 (AtkBridgeEventContextType): New enum.
1594 (AtkBridgeEventContextData): New struct.
1595 (AtkBridgeEventContext): New struct.
1596 (atk_bridge_init_event_type_consts):
1597 New method, initializes type contants for comparison
1598 prior to emit_eventv.
1599 (atk_bridge_event_context_init): New method,
1600 initializes a CORBA_any from an AtkBridgeEventContext.
1601 (atk_bridge_focus_tracker): Call spi_init_any_nil to
1602 initialize the event.any_data struct.
1603 (spi_atk_bridge_event_context_create): New method,
1604 creates an AtkBridgeEventContext from signal/event info.
1605 (spi_atk_bridge_event_context_free): New method.
1606 (spi_atk_emit_eventv): Changed to take an
1607 AtkBridgeEventContext parameter. We now initialize
1608 the event.any_data member prior to notifying the
1609 Registry, via the AtkBridgeEventContext.
1610 (spi_atk_bridge_property_event_listener):
1611 (spi_atk_bridge_state_event_listener):
1612 Match emit_eventv signature.
1613 (spi_atk_bridge_object_event_listener):
1614 Match emit_eventv signature, and create an
1615 event context from the event details.
1616 Free the event context afterwards.
1617 (spi_atk_bridge_window_event_listener):
1618 Create an event context, pass it to the
1622 (AccessibleEvent_getContextString):
1623 (AccessibleEvent_getContextObject):
1624 New methods, allow query of AccessibleEvent objects
1625 for more context details (via the "any_data" member
1626 of the Event struct, above).
1629 Definitions for AccessibleEvent_getContextString
1630 and AccessibleEvent_getContextObject.
1632 * cspi/spi_listener.h:
1633 (InternalEvent): New struct.
1636 (AccessibleEvent_getContextString):
1637 (AccessibleEvent_getContextObject):
1638 Implementations of new methods, for obtaining
1639 additional context information from some event types.
1641 * cspi/spi_registry.c:
1642 (SPI_registerGlobalEventListener):
1643 Added mention of active-descendant-changed event in docs.
1645 * cspi/cspi-bonobo-listener.c:
1647 Marshal the any into the AccessibleEvent via
1650 * libspi/spi-private.h:
1651 #include <orbit/orbit.h>
1653 (spi_init_any_string):
1654 (spi_init_any_object):
1655 New convenience function declarations.
1659 (spi_init_any_string):
1660 (spi_init_any_object):
1661 New convenience function implementations.
1663 * registryd/deviceeventcontroller.c:
1664 (spi_poll_dec_mouse_moved):
1665 (spi_device_event_controller_forward_mous_event):
1666 Initialize any_data member of event.
1667 (spi_deregister_controller_device_listener):
1668 Fix incorrect param pass which was preventing deregistration.
1670 * registryd/registry.c:
1671 (desktop_add_application):
1672 (desktop_remove_application):
1673 Add object data to event's any_data before dispatch.
1675 Fix for error messages from GAIL.
1677 * test/event-listener-test.c:
1678 Test new ContextString and "any_data" API:
1679 (report_text_event): New method query and output context string.
1680 (main): register a new text listener with report_text_event
1683 2002-11-19 Darren Kenny <darren.kenny@sun.com>
1685 Fixes for bugs 98127 and 97914.
1686 * cspi/spi-roletypes.h:
1687 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
1689 * cspi/spi-statetypes.h:
1690 Added SPI_STATE_MANAGES_DESCENDANTS
1692 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
1693 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
1694 * cspi/spi_accessible.c:
1695 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
1696 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
1697 Accessibility_STATE_MANAGES_DESCENDANTS
1698 * libspi/accessible.c:
1699 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
1700 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
1701 As requested by Bill, I also cleaned up the alignment.
1702 * libspi/relation.c:
1703 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
1704 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
1705 * libspi/stateset.c:
1706 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
1707 Accessibility_STATE_MANAGES_DESCENDANTS
1708 * docs/reference/cspi/tmpl/spi_accessible.sgml:
1709 Document changes reflecting modifications to roles.
1710 * docs/reference/cspi/tmpl/spi_relation.sgml:
1711 Document changes reflecting modifications to relations.
1712 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1713 Document changes reflecting modifications to states.
1715 2002-11-17 Bill Haneman <bill.haneman@sun.com>
1718 Revved to 1.1.3, interface-age=3, binary-age=3.
1719 Added REBUILD macro.
1722 Removed accessx-gui from the tests, since we have a nice
1723 keyboard accessibility capplet now :-)
1725 * test/keysynth-demo.c:
1726 (increment_scan): removed do-nothing default: case,
1729 * test/visual-bell.c:
1730 (main) : removed do-nothing default: case,
1733 * cspi/spi_action.c:
1734 (AccessibleAction_getKeyBinding_):
1735 Documented keybinding string format.
1739 (AccessibleText_getAttributes):
1740 Documented the text attribute string format.
1741 It's changed to use semicolon delimiters also,
1742 to prevent clashes with CSS attributes, but the old
1743 trick of looking for ", " strings will still work
1744 (as unreliably as ever). Fix for bug related to 97916.
1747 Include <cspi/bonobo/cspi-bonobo-listener.h>
1748 Fixes build warning.
1749 (SPI_freeAccessibleKeySet):
1750 (AccessibleKeystrokeListener_addCallback):
1751 (AccessibleKeystrokeListener_removeCallback):
1752 Modify to use AccessibleDeviceListener API internally,
1753 instead of AccessibleKeystrokeListener.
1755 * idl/Accessibility_Event.idl:
1756 Added two more empty slots to EventListener (for a total of four).
1758 * idl/Accessibility_Accessible.idl:
1759 Added four empty slots to Accessible interface.
1761 2002-11-15 Bill Haneman <bill.haneman@sun.com>
1763 * idl/Accessibility_Registry.idl:
1764 (KeyEventType, EventType):
1765 Marked KeyEventType as deprecated; it duplicates
1766 functionality of EventType, which has been extended to
1767 include Mouse-button events.
1768 (KeyEventTypeSeq): defined in terms of EventType.
1769 (registerDeviceEventListener, deregisterDeviceEventListener):
1770 New methods, for managing listeners to device events,
1771 which potentially may consume them.
1774 Added definition for AccessibleDeviceListener.
1776 * cspi/spi-listener.h:
1777 (enum AccessibleDeviceEventType):
1778 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1779 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1780 for backwards compat.
1781 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1782 and typedef'd AccessibleKeystroke to it for back-compat.
1783 (AccessibleDeviceListenerCB):
1784 New function prototype typedef.
1787 (AccessibleDeviceEventMask): New typedef.
1788 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1789 (AccessibleKeyMaskType):
1790 Set equivalent to AccessibleModifierMaskType for back-compat.
1791 (SPI_createAccessibleKeystrokeListener):
1792 (AccessibleKeystrokeListener_unref):
1793 Deprecated in favor of equivalent (better-named) new API below..
1794 keystroke listeners are like all device listeners.
1795 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1796 New API names for old features :-).
1797 (AccessibleDeviceListener_addCallback):
1798 (AccessibleDeviceListener_removeCallback):
1799 (SPI_registerDeviceEventListener):
1800 (SPI_deregisterDeviceEventListener):
1804 (SPI_createAccessibleKeystrokeListener):
1805 Use new preferred API, cspi_device_listener_new() and
1806 cspi_device_listener_add_cb().
1807 (AccessibleKeystrokeListener_removeCallback):
1808 Use new preferred API, cspi_device_listener_remove_cb().
1809 (AccessibleKeystrokeListener_unref):
1810 Use new preferred API, cspi_device_listener_unref().
1811 (SPI_createAccessibleDeviceListener):
1812 (AccessibleDeviceListener_addCallback):
1813 (AccessibleDeviceListener_removeCallback):
1814 Implementation of new API.
1816 * cspi/spi_registry.c:
1817 (SPI_registerDeviceEventListener):
1818 (SPI_deregisterDeviceEventListener):
1819 Implementation of new API. Fixed memory leak and removed need to
1820 allocate EventTypeSeq (thanks Michael for catching this).
1821 Squashed a wayward CORBA_exception_free that shouldn't get called.
1823 * cspi/bonobo/cspi-bonobo-listener.c:
1825 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1826 (cspi_key_event): renamed to cspi_device_event().
1827 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1828 Extended to handle mouse button events as well as key events.
1829 (CSpiKeystrokeListener):
1830 Class superceded by CSpiDeviceListener.
1831 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1832 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1834 * cspi/bonobo/cspi-bonobo-listener.h:
1835 (CSpiKeystrokeListener):
1836 Class superceded by CSpiDeviceListener.
1837 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1838 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1840 * libspi/Makefile.am:
1841 Replaced keystrokelistener.h and keystrokelistener.c
1842 with devicelistener.h and devicelistener.c; keystrokelisener.h
1843 stub retained for back-compat.
1845 * libspi/keystrokelistener.c:
1849 Replaced inclusion of keystrokelistener.h with devicelistener.h.
1851 * registryd/deviceeventcontroller.c:
1852 (DEControllerListener): Added Accessibility_EventTypeSeq member.
1853 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1854 (DEControllerPrivateData): Added xkb settings data.
1855 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1856 button release events (which can't be captured via XGrabButton).
1857 Don't dispatch via the 'normal' event mechanism if the device event was
1859 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1860 Handle the typeseq data in its new location (see above).
1861 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1862 New methods, for "generic" device listeners.
1863 (spi_controller_register_device_listener):
1864 Now handle mouse event listeners as well as key listeners.
1865 (spi_controller_notify_mouselisteners):
1866 New internal method.
1867 (spi_device_event_controller_forward_mouse_event):
1868 Now we notify mouse device listeners as well as generating the
1869 non-consumable "mouse:" events.
1871 We must check and restore the XKB
1872 modifier map if we consume the event, since the act of triggering
1873 a mouse event will normally reset the XKB latch. This is required for
1875 (spi_controller_register_with_devices):
1876 Load the XKB settings when registering, and register for XKB
1877 state notify events.
1878 (spi_key_eventtype_seq_contains_event):
1879 Renamed spi_eventtype_seq_contains_event, since it's used
1880 internally for all device event types now.
1881 (spi_key_event_matches_listener):
1882 Uses spi_eventtype_seq_contains_event now.
1883 (spi_device_event_controller_object_finalize):
1884 Free the private data and the XkbKeyboard struct.
1885 (impl_register_device_listener, impl_deregister_device_listener):
1886 Implementation of new IDL.
1887 (spi_deregister_controller_device_listener):
1888 New internal method.
1889 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
1890 More efficient implementation, we don't have to create a new
1891 XkbControls structure every time we query.
1892 (spi_device_event_controller_class_init):
1893 Initialize the epv entries for the new IDL. Assign the
1894 "spi-dec-private" quark.
1895 (spi_device_event_controller_init):
1896 Initialize the private data.
1897 (spi_device_event_controller_forward_key_event):
1898 Removed a bogus CORBA_exception_free() call.
1900 * registryd/deviceeventcontroller.h:
1901 Replaced inclusion of keystrokelistener.h with
1904 * test/event-listener-test.c:
1905 (report_mouse_event):
1908 Added mouse-event device listener.
1910 * test/test-simple.c:
1911 (create_test_window):
1912 Fixed regression (we were instantiating a GtkRange,
1913 which is now an abstract class). Also fixed to match
1914 existing AtkRole names, this seems to have changed in ATK
1915 awhile ago; too late now I think, and the new
1916 mechanism is at least elegant and consistent with the
1917 glib enum "nick" APIs.
1919 2002-11-15 Darren Kenny <darren.kenny@sun.com>
1921 * idl/Accessibility_Relation.idl:
1922 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
1923 RELATION_EMBEDS,RELATION_EMBEDDED_BY
1924 * idl/Accessibility_Role.idl:
1925 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
1926 * idl/Accessibility_State.idl:
1927 add STATE_MANAGES_DESCENDANTS
1928 * test/event-listener-test.c:
1929 Added a listener for active-descendant events.
1931 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
1933 * atk-bridge/bridge.c
1934 (atk_bridge_init): If application is Bonobo component wait until top
1935 level is added before registering
1936 (spi_atk_bridge_do_registration): New function which contains code,
1937 formerly in atk_bridge_init, to do application registration.
1938 (spi_atk_bridge_toplevel_added): Signal called when top level
1939 added to Bonobo component
1941 This fixes bug #83134.
1943 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
1945 * registryd/deviceeventcontroller.c
1946 Fixed compilation error caused by calling gettimeofday()
1949 2002-10-18 Bill Haneman <bill.haneman@sun.com>
1954 Added template for HAVE_XKB.
1957 Changes to check for XKB, and to set the HAVE_XKB #define if it
1960 * libspi/listener.c:
1961 ()impl_notify_event): Make failure to get event source name
1964 * registryd/deviceeventcontroller.c:
1965 (#include): include X11/XKBlib.h.
1966 (DEControllerPrivateData) : New struct.
1967 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
1969 (dec_synth_keycode_press) (dec_synth_keycode_release):
1970 New methods; split the key synthesis code into these methods.
1971 They check XKB settings before determining the "time" values to
1972 pass to Xtest; this fixes bug #95828.
1973 (impl_generate_keyboard_event): Changed to use methods above,
1974 instead of callng Xtest directly.
1975 (spi_device_event_controller_init): Initialize new privae struct s
1977 (spi_device_event_controllr_object_finalize):
1978 Free the (new) private data.
1980 * registryd/deviceeventcontroller.h:
1981 Add new gpointer to end of struct data.
1983 2002-10-16 Bill Haneman <bill.haneman@sun.com>
1986 Incremented revision to 1.1.2, SONAME is still '.so', library
1987 extensions are ".so.0.0.2".
1989 * registryd/deviceeventcontroller.c:
1990 FIXES FOR #93592 and #95940.
1991 (statics): renamed mouse_button_state to mouse_mask_state,
1992 added key_modifier_mask.
1993 (spi_dec_poll_mouse_moved):
1994 Added key modifier checks, and emit "keyboard:modifiers"
1995 events when the key modifiers currently in use change.
1996 Also generate "mouse:abs" events periodically, even if the mouse
1997 is stationary (should we?).
1998 Alternatively we could generate "mouse:abs" events for either all
1999 mouse movements, or every 'nth' mouse movement, or at the
2000 beginning and end of every "active" mouse period.
2002 * test/event-listener-test.c:
2003 (main): Added listener for "keyboard:modifiers" events.
2005 2002-10-15 Bill Haneman <bill.haneman@sun.com>
2007 * libspi/keymasks.h:
2008 Added key mask #defines for mouse buttons; e.g.
2009 SPI_KEYMASK_BUTTON1, etc.
2012 Incremented dependency on ATK to version 1.1.0. (This dependency
2013 is probably premature but will soon be real enough).
2015 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
2017 * libspi/hyperlink.[ch]
2018 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
2019 (get_hyperlink_from_servant): Check object is AtkHyperlink not
2022 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
2027 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
2029 * registryd/deviceeventcontroller.c
2030 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
2031 events to be ignored.
2032 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
2033 keyboard_mode so that XAllowEvents() can be called.
2037 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
2039 * cspi/spi-accessible.c: Correct names of roles returned by
2040 AccessibleRole_getName(). Fixes bug #95055.
2042 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
2044 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
2047 * registryd/registry.c
2048 (desktop_remove_application: Write diagnostic message to stderr for
2051 (impl_accessibility_registry_deregister_global_event_listener):
2052 Correct size of lists array. This addresses bug #94555).
2054 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
2056 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
2059 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
2061 * registryd/Makefile: Add CLEANFILES so that .server file is removed
2064 * registryd/registry.c (impl_registry_notify_event): Remove
2065 unnecessary call to parser_event_type().
2067 * docs/reference/cspi/tmpl/spi_component.sgml:
2068 Add reference to SPI_LAYER_WINDOW.
2070 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
2072 * registryd/registry.c
2073 (desktop_add_application): Remove leak.
2074 (desktop_remove_application): Remove leak.
2075 (parser_event_type): Remove leak.
2077 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
2079 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
2080 bogus call to CORBA_string_dup(). Also removed unnecessary
2081 g_string_dup/g_free calls.
2083 2002-09-13 Bill Haneman <bill.haneman@sun.com>
2085 * registryd/deviceeventcontroller.c:
2086 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
2088 * test/event-listener-test.c:
2089 main: commented out three redundant listeners, to reduce output
2090 noise. (They still are potentially useful for testing).
2093 2002-09-13 Michael Meeks <michael@ximian.com>
2095 * Update all the copyrights to include Ximian.
2097 2002-09-06 Mark McLoughlin <mark@skynet.ie>
2099 * cspi/spi.h: add SPI_LAYER_WINDOW.
2101 * cspi/spi_component.c: (AccessibleComponent_getLayer):
2102 add Accessibility_LAYER_WINDOW case.
2104 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
2106 * libspi/component.c: (impl_accessibility_component_get_layer):
2107 add ATK_LAYER_WINDOW case.
2109 2002-08-28 Bill Haneman <bill.haneman@sun.com>
2111 * configure.in: incremented micro version.
2113 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
2115 2002-08-20 Bill Haneman <bill.haneman@sun.com>
2118 Clarified and reworded our commit policy.
2121 Started an API "todo" addition list for 2.2.
2124 (impl_getSelection):
2125 Free char pointer from atk_text_get_selection, which was being leaked.
2127 2002-08-19 Bill Haneman <bill.haneman@sun.com>
2130 Small revision to author acknowledgement.
2132 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
2134 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
2135 If signal has detail add it to the type of the event.
2138 2002-08-12 Michael Meeks <michael@ximian.com>
2140 * test/test-simple.c (global_listener_cb): bin bogosity.
2141 (test_keylisteners): disable, still doesn't work reliably,
2142 certainly not on my system anyway.
2144 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
2145 don't leak a reference on the DEC. This round-trip
2146 fetching of the DEC per keystroke sucks, it should be
2149 * cspi/spi-private.h,
2150 * cspi/cspi-lowlevel.h,
2151 * cspi/bonobo/cspi-bonobo-listener.[ch],
2152 * cspi/bonobo/cspi-bonobo.c: get the copyright
2153 notices better - there is still a large amount of
2154 work in at-spi falsely attributed solely to Sun.
2156 * cspi/spi_main.c (cspi_object_ref): kill bogus
2157 hash lookup, just increment the ref.
2158 (SPI_freeString): make explicit the fact that we
2159 handle NULL strings just fine.
2160 (report_leaked_ref): obey coding standards.
2161 (cspi_object_hash, cspi_object_equal): kill retval.
2162 (cspi_object_release): only release if not on loan.
2163 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
2164 (cspi_object_borrow, cspi_object_return): impl.
2166 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
2167 use cspi_object_borrow / return.
2169 2002-08-12 Darren Kenny <darren.kenny@sun.com>
2171 * cspi/bonobo/cspi-bonobo-listener.c:
2173 Don't call cspi_oject_new() because this is creating a new Accessible
2174 every single time that an event is fired. This causes ATs like at-poke
2175 to nolonger recognise the source of the event and thus ignore it.
2176 Re-use the object from the cache, ref it and then unref it after the
2177 listeners have been called.
2179 2002-08-06 Darren Kenny <darren.kenny@sun.com>
2181 * test/event-listener-test.c:
2182 Added command-line options to disable mouse events (m) and
2185 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
2187 * configure.in: Update required versions of ATK, GTK+ and GAIL
2189 * cspi-1.0.pc.in: Add dependency for X include files
2192 * cspi/bonobo/Makefile.am:
2193 Add $(X_CFLAGS) so that X include files
2194 are picked up even if not in standard place (bug #71686)
2196 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2198 * registryd/deviceeventcontroller.c: fix for 84261
2199 (spi_dec_mouse_moved):
2200 Added test of mouse button mask, so that we can detect mouse
2201 button release. Unfortunately we can't otherwise detect mouse
2202 button release events without consuming the mouse press event,
2203 because of the way XGrabButton works. This means that our mouse
2204 release events have a latency dependent on the polling period
2205 while the mouse button is down. At least in this case we only
2206 have to poll while the button is down, and not at other times.
2207 If the button masks don't match with what the last press event
2208 reported, we report the appropriate button release event.
2209 (spi_dec_ungrab_mouse):
2210 New method (not yet called).
2211 (spi_device_event_controller_forward_mouse_event):
2212 New method, sends mouse press event from GdkFilter.
2213 (spi_dec_init_mouse_listener):
2214 Added code to call XGrabButton, redirecting mouse button events to
2215 the root window and our Gdk event loop.
2217 Added code to filter mouse button events, and reordered.
2219 * test/event-listener-test.c:
2221 Added registration for mouse events of type "mouse:button".
2223 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2225 * registryd/deviceeventcontroller.c: partial fix for 84261
2226 (spi_dec_poll_mouse_idle):
2227 New method, a timeout which checks to see if the mouse
2229 (spi_dec_poll_mouse_moving):
2230 A timeout to be called when mouse motion is underway.
2231 (spi_dec_poll_mouse_moved):
2232 A method which fires an event if the mouse has moved, and reports
2233 whether or not it did so.
2234 (spi_dec_init_mouse_listener):
2235 A method which sets up the timeouts above.
2236 (spi_device_event_controller_new):
2237 Now calls spi_dec_init_mouse_listener.
2239 * registryd/registry.c:
2240 (spi_registry_init):
2241 Now we initialize the device event controller when the registry is
2242 initialized, instead of waiting until a client has requested a key
2243 event notification; this is because we need the event controller
2244 for mouse events, but the mouse event registration API is a
2245 "registry" call and doesn't explicitly call the
2246 deviceeventcontroller.
2247 We now report mouse motion events with a 100 ms idle latency and
2248 a 20 ms granularity when motion is in progress.
2250 * test/event-listener-test.c:
2252 We now register the "detail listener" for events of type
2253 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
2254 delivered only for the first mouse event received, and thereafter
2255 "mouse:abs" events are delivered.)
2257 * cspi/spi_registry.c:
2258 DOCS: Documented the above mouse event typestrings.
2260 2002-06-21 Bill Haneman <bill.haneman@sun.com>
2262 Happy Summer Solstice...
2264 * registryd/deviceeventcontroller.c: [fix for bug 84100]
2265 (spi_controller_notify_keylisteners):
2266 Changes to remove a listener from the listener list, freeing its
2267 open keygrabs, if a notification to that listener fails. This
2268 means that although a dead listener can continue to hold a passive
2269 keygrab, a maximum of one dispatch to such a listener can fail
2270 before the listener is removed from the list, thus the keygrab
2271 will be released on the next occurrence.
2272 As part of this fix:
2273 (spi_notify_keylisteners):
2274 Renamed to spi_controller_notify_keylisteners, as the controller
2275 instance must now be passed as an argument.
2276 The copied 'notify' GList is now a list of DEControllerKeyListener
2277 objects, since we need more than just the CORBA reference if a
2278 notify fails and we need to deregister the listener.
2279 (impl_notify_listeners_sync):
2280 (impl_notify_listeners_async):
2281 (spi_device_event_controller_forward_key_event):
2282 Modify use of notify_keylisteners in accordance with above
2284 (spi_deregister_controller_key_listener):
2285 New method introduced by refactoring, from
2286 impl_deregister_keystroke_listener.
2287 (impl_deregister_keystroke_listener):
2288 Call spi_deregister_controller_key_listener.
2289 (spi_key_listener_clone):
2290 New method to copy a key listner without doing a 'ref' on the
2291 remote object instance; used to create a notifier list.
2292 (spi_key_listener_data_free):
2293 New method, frees data without unreffing the source.
2295 (spi_key_listener_clone_free): new method.
2296 (spi_key_listener_free):
2297 refactored to call spi_key_listener_data_free.
2299 2002-06-20 Bill Haneman <bill.haneman@sun.com>
2301 * registryd/registry.c: [fix for bug 86048]
2302 (notify_listeners_cb):
2303 Clear CORBA system exceptions which occur when notifying
2304 listeners, before returning to the source of the original event,
2305 since the event source doesn't care if the relayed notify failed.
2306 In other words, don't complain to the atk-bridge if the registry
2307 could not notify all its listeners, that's no fault of the
2308 application and thus should not appear to be an error from the
2309 application's perspective.
2311 * cspi/spi_main.c: [fix for bug 85980]
2313 Replaced use of bonobo_object_dup_ref with call to the wrapper
2314 method, csou_dup_ref (); this silences a compiler warning and
2315 provided more portability.
2317 Ping the registry before return, and restart if necessary.
2319 * cspi/bonobo/cspi-bonobo.c:
2321 New internal method.
2323 Fixed this method to return an object reference, as it should have
2326 * cspi/cspi-lowlevel.h:
2327 Added internal definition for cspi_ping() and fixed
2328 return type of cspi_dup_ref().
2331 2002-06-19 Bill Haneman <bill.haneman@sun.com>
2333 * atk-bridge/bridge.c: [fix for bug 85305]
2334 (spi_atk_bridge_register_application):
2335 New method where the initial application registry calls have been
2336 moved; it allows an application to re-register in response to
2337 certain error conditions (such as a registry restart, see below).
2339 Moved some initialization code to the method
2340 spi_atk_bridge_get_registry, below.
2341 (spi_atk_bridge_get_registry):
2342 New, private accessor function for the Accessibility_Registry
2343 instance. If the registry has not been started before, or has
2344 died (as detected by failure of a CORBA exception), it is
2345 restarted before return, and spi_atk_bridge_register_application
2346 is called again to register with the new bridge instance.
2347 (spi_atk_emit_eventv):
2348 Set registry_died on error; use spi_atk_bridge_get_registry () to
2349 access the registry.
2351 * registryd/registry.c:
2352 (impl_accessibility_registry_register_global_event_listener):
2353 Set listener's event_type_quark to etype.minor instead of
2354 etype.major (fix for bug 84856).
2356 * test/event-listener-test.c:
2357 (report_detail_event):
2358 Change the output string so that user/tester can tell that the
2359 'detail listener' was called instead of the 'generic listener'.
2361 2002-06-18 Bill Haneman <bill.haneman@sun.com>
2363 Fixes for bugs 84900, 84908, 84897, 84898.
2368 Revved version to 1.1.0
2369 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
2370 version is going to HEAD which will be used for gnome-2-0-1 and later.)
2372 * idl/Accessibility_Registry.idl:
2373 (EventListener::notifyEvent):
2374 Removed 'oneway' directive after extensive consulation with
2375 ORBit2 team and others. This means also that unref() of the event
2376 source can and should be done synchronously after emission, rather
2377 than remotely in the client, after servicing the notify call on
2380 NOTE: This change speeds up listener performance considerably, but
2381 introduces new latency on the application side. We may want to
2382 add an event queue to the atk-bridge.
2384 * atk-bridge/bridge.c:
2385 (spi_atk_bridge_focus_tracker):
2386 Do a local unref() on the event source after emission.
2388 * registryd/registry.c:
2389 (desktop_remove_application):
2390 Do an unref() on the event source after emission.
2391 (desktop_add_application):
2392 Do an unref() on the event source after emission.
2393 (notify_listeners_cb):
2394 When relaying an event, don't automatically add the event source
2395 to the local object cache, just CORBA_dup it instead. Likewise,
2396 if this method reenters, release the ref rather than calling
2398 (impl_registry_notify_event):
2399 No longer call remote unref() on the event source after dispatch.
2401 * libspi/eventlistener.c:
2402 (impl_accessible_event_notify_event):
2403 Removed remote unref ()
2405 * cspi/bonobo/cspi-bonobo-listener.c:
2407 We now call cspi_object_new() instead of cspi_object_add() on
2408 receipt of an event; thus we only have an implicit object ref
2409 while the cspi_event method is being executed. If we need to keep
2410 a reference to the object, the listener must call ref() on the
2411 object. Thus also we don't need to call cspi_object_unref() after
2412 invoking the listener callbacks in this method.
2416 New internal API for creating a new cspi object, without adding it
2417 to the object cache.
2419 Now uses cspi_object_new() to create the cspi object instance.
2421 Now checks to see if the object is in the internal object cache,
2422 and adds it if necessary before incrementing its refcount (note
2423 that new objects are added with a refcount of 1).
2424 (report_leaked_ref):
2425 New method which gives some information on leaked object instances
2426 if leak detection is turned on.
2428 * test/event-listener-test.c:
2429 (timing_test_event):
2430 New method, used for testing event delivery timing for special
2431 events of type "object:test". It reports elapsed time and
2432 events/sec every 500 events.
2434 Added a new listener, 'test listener', to check timing of event
2435 receipt as noted above.
2437 Added some timing output here also, reports elapsed time every 100
2440 * test/stress-test.c:
2441 Emit events of type "object:test", for use with "event-listener-test".
2443 * test/test-simple.c:
2444 (global_listener_cb):
2445 Call Accessible_ref() on the event source before calling
2446 validate_accessible, since the validation process does pointer
2447 comparisons on the event source, meaning that the event source
2448 needs to be added to the local object cache first. Any use of
2449 such pointer comparisons between Accessible objects requires that
2450 the caller hold an explicit reference to those objects.
2451 We also must therefore call Accessible_unref() when leaving this method.
2453 2002-06-13 Bill Haneman <bill.haneman@sun.com>
2455 * registryd/deviceeventcontroller.c:
2456 (spi_controller_update_key_grabs):
2457 Fix for #84735, subsequent keygrab listeners not informed of
2458 registration failure.
2461 (spi_base_construct):
2462 Add an assertion on construct, to make sure the GObject passed in
2463 is really a GObject.
2465 Explicitly initialize object->gobj pointer to NULL;
2467 * cspi/bonobo/cspi-bonobo-listener.c:
2468 (cspi_object_add_ref):
2469 New method, can specify whether to dup-ref a bonobo object passed
2470 in if it's newly added to the object cache.
2472 Now calls cspi_object_add_ref with second param of "FALSE". This
2473 prevents us from doing a pointless dup-ref followed by
2474 release-unref for all those cases where the object is already in
2475 our object cache (fix for #85205).
2477 * atk-bridge/bridge.c:
2478 (spi_atk_bridge_idle_init):
2479 Removed this method, we don't need to initialize in an idle
2482 Changed to call spi_atk_register_event_listeners directly, not via an
2483 idle handler. (fix for #81139)
2484 (gnome_accessibility_module_shutdown):
2485 Removed conditional around deregistration of listeners, since we
2486 don't use the idle handler and thus have always registered when
2488 (spi_init_keystroke_from_atk_key_event):
2489 Changed references to Accessibility_KEY_PRESSED to
2490 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2492 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2494 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2499 * test/stress-test.c:
2502 (may have been an incomplete commit yesterday?)
2504 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2507 Added target for new stress-test.
2509 * test/stress-test.c:
2510 New test, sends 1000 focus notifies in quick succession.
2512 * test/key-listener-test.c:
2513 Now we report whether a keylistener registration
2514 request succeeded or failed.
2516 * test/event-listener-test.c:
2517 Uncommented some listeners which are now implemented.
2520 2002-06-06 Bill Haneman <bill.haneman@sun.com>
2522 * registryd/deviceeventcontroller.c:
2523 (spi_controller_update_key_grabs):
2524 Fix for #82509, lack of failure notification when
2525 ALL_WINDOWS keygrabs fail due to XGrabKey
2526 failure: we synchronize the server when
2527 registering a passive grab, to make sure we get the
2528 error message before the call returns.
2530 2002-06-03 Bill Haneman <bill.haneman@sun.com>
2532 * test/test-simple.c:
2534 Removed #ifdef KEY_IMPL_WORKS guards.
2535 (test_keylisteners):
2536 Removed #ifdef KEY_IMPL_WORKS guards.
2537 Fixed bug which was causing a hang waiting for a
2538 "press" event (which was already overwritten by a "release"
2539 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2541 Added code to set globals 'key_press_received' and
2542 'key_release_received'.
2545 Added section "1.1 API Proposed Additions" which
2546 lists API additions desired for at-spi-1.1 (only one so far).
2547 Updated TODO list a little.
2549 2002-06-02 Bill Haneman <bill.haneman@sun.com>
2551 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2554 * configure.in: Revved to 1.0.0.
2556 * idl/Accessibility_Registry.idl:
2557 (registerKeystrokeListener):
2558 Added boolean return value.
2560 * registryd/registry.c:
2561 (notify_listeners_cb): Minor fix to debug output.
2563 * registryd/Accessibility_Registry.server.in.in:
2564 Revved version number in OAFIID to 1.0.
2566 * registryd/registryd.c:
2568 Use new OAFIID version.
2570 * cspi/bonobo/cspi-bonobo.c:
2572 Use new OAFIID version.
2578 * atk-bridge/bridge.c:
2580 Use new OAFIID version.
2582 * registryd/deviceeventcontroller.c:
2583 (impl_register_keystroke_listener):
2584 Added CORBA_boolean return value.
2585 (spi_controller_register_device_listener):
2586 Added gboolean return value.
2587 (spi_controller_register_global_keygrabs):
2588 Added gboolean return value.
2589 (spi_key_set_contains_key):
2590 Added implementation for many more control keys,
2591 for instance F1-F12, arrow keys, End, Home, Page_Up,
2593 [TODO: some still not implemented].
2595 * text/screen-review-test.c:
2596 (text_chunk_pad_string):
2597 New function: it provides mapping between coordinate
2598 positions of text chunks and character positions in the
2599 screen-review-line output string.
2600 (text_chunk_to_string):
2601 New function, calls text_chunk_pad_string with various
2602 pad/delimiter characters. Pushbuttons are delimited with
2603 square brackets, Frames with vertical 'pipe' lines, and
2604 other text with double quotes.
2605 (text_chunk_list_to_string):
2606 Calls new function text_chunk_to_string.
2607 (toplevel_composite):
2608 New function to composite layers CANVAS through
2609 POPUP in each toplevel (other layers are composited
2610 across toplevels, i.e. BACKGROUND and OVERLAY).
2611 (review_buffer_composite):
2612 Revise to use new methods.
2618 2002-05-31 Laszlo Peter <laca@sun.com>
2620 * configure.in: add the Xtst libdir to the runpath on Solaris,
2621 since it's not in the default library search path.
2623 2002-05-29 jacob berkman <jacob@ximian.com>
2625 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
2627 2002-05-29 Bill Haneman <bill.haneman@sun.com>
2629 * test/screen-review-test.c:
2630 (text_chunk_pad_string):
2631 Added method, which pads the string according to the
2632 text bounds of the chunk. It also takes a 3-character
2633 string as a param which indicates the characters to be
2634 used for start, padding, and end delimitation of the chunk.
2635 (text_chunk_to_string):
2636 Changed to use text_chunk_pad_string.
2638 * configure.in: Fixed bug in AC_OUTPUT that was
2639 causing path substitution in Accessibility_Registry.server
2642 2002-05-23 Bill Haneman <bill.haneman@sun.com>
2644 * text/screen-review-test.c:
2645 (guess_string_clip):
2646 New method which attempts a best-guess at clipping
2647 text from components (like Java labels) which don't
2648 actually implement AccessibleText. This inaccurate
2649 clip is based on the assumption that the label is
2650 justified left-and-right, and monospaced.
2651 (text_chunk_get_clipped_string):
2652 We now call guess_string_clip() for text-containing
2653 components that don't implement AccessibleText.
2655 * test/screen-review-test.c:
2656 (review_buffer_get_text_chunk):
2657 We now pull "name" from labels if they do not implement
2658 AccessibleText (i.e. for Java labels).
2659 (get_screen_review_line_at):
2660 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
2663 Replaceded AC_OUTPUT target
2664 registryd/Accessibility_Registry.server with
2665 registryd/Accessibility_Registry.server.in.
2667 * registryd/Accessibility_Registry.server.in:
2668 Removed (this is now a Makefile target).
2670 * registryd/Accessibility_Registry.server.in.in:
2671 Added (source for target above). We now use $(libexecdir) as
2672 prefix for the executable at-spi-registryd.
2674 * registry/Makefile.am:
2675 Now install at-spi-registryd into $(libexecdir), and build .server
2676 file with path (see above).
2678 2002-05-22 Bill Haneman <bill.haneman@sun.com>
2680 * test/screen-review-test.c:
2681 (text_chunk_get_clipped_string):
2682 We now check to see if words fall within clip bounds
2683 before resorting to character-by-character clip bounds testing.
2685 * TODO: Added a section for "2.2 Proposed API Additions".
2687 2002-05-21 Bill Haneman <bill.haneman@sun.com>
2689 * test/screen-review-test.c:
2691 Added a screen review benchmarking and test program to test
2694 * cspi/spi_accessible.c:
2696 Made some of the debug strings passed to cspi_check_ev a
2697 little more specific.
2699 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
2701 * test/screen-review-test.c: Fix crashes in debug statements
2703 2002-05-20 Bill Haneman <bill.haneman@sun.com>
2705 * test/screen-review-test.c: Added this file.
2707 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2709 * atk-bridge/bridge.c: changed "object:state-change" to
2710 "object:state-changed" to match docs.
2712 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2714 * atk-bridge/bridge.c: Hooked up state-change event details.
2716 2002-05-11 Bill Haneman <bill.haneman@sun.com>
2718 * registryd/registry.c:
2719 Fixed quarking bug in event string parsing; now events with
2720 detail parameters get matched correctly to listeners.
2723 * util/idl/Magnifier.idl: remove.
2725 * util/*.[ch]: Remove.
2726 Magnification utilities and IDL are now in module gnome-mag.
2728 2002-05-10 Bill Haneman <bill.haneman@sun.com>
2730 * registryd/deviceeventcontroller.c:
2731 Fixed bug in grab key conversion which was causing keycode grabs
2732 to be converted to AnyKey grabs.
2735 updated NEWS file to reflect recent spin-off of gnome-mag.
2737 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
2739 * cspi/spi_accessible.c: Added exception checks. Fixed completely
2740 busted AccessibleStateSet_compare. Removed redundant casts.
2742 * cspi/spi-action.c: Removed redundant casts.
2744 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
2746 * cspi/spi_component.c: Fixed typos and casting error.
2748 * cspi/spi_editabletext.c: Removed redundant casts.
2750 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
2752 * cspi/spi_hypertext.c: Eliminated redundant casts.
2754 * cspi/spi_image.c: Eliminated redundant casts.
2756 * cspi/spi_registry.c: Eliminated redundant casts.
2757 SPI_deregisterGlobalEventListenerAll () removed retval variable.
2758 * cspi/spi_selection.c: Removed redundant casts.
2759 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
2760 handling. Screen geometry and text offsets were being returned as 0
2761 on error which is technically valid-- changed these to return -1.
2762 Added marshaller for text boundary types to fix bug with boundary
2763 types being passed incorrectly to atk.
2765 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2768 * cspi/spi_registry.c:
2769 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
2770 which was uncovered by the recent key changes.
2772 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2774 * test/event-listener-test.c:
2776 Added new test, "event-listener-test";
2777 this code does two things; it benchmarks traversal time
2778 for the accessible hierarchy for the first running accessible
2779 app, and it connects listeners for all supported event types.
2780 It is thus useful as an example event listener and for
2781 diagnostics/debugging of event generation.
2783 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2786 Removed unnecessary dependency on libutil.
2789 Revved micro version: 0.13.1
2791 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2794 Removed util/Makefile from targets.
2797 Removed util subdir from SUBDIRS (temporarily,
2798 pending removal of magnifier-only code
2802 #ifdef-ed out magnifier dependencies, since
2803 magnifier IDL, headers, and binary now live in
2804 module gnome-mag and we don't want at-spi to depend
2805 on gnome-mag. A magnifier demo which can run alongside
2806 simple-at is forthcoming in the gnome-mag module.
2808 NOTE: Split magnifier binary, IDL, and magnification
2809 activation code from at-spi into module gnome-mag.
2811 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
2813 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2814 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2816 2002-05-03 Bill Haneman <bill.haneman@sun.com>
2819 Revved to version 0.13.0
2821 * idl/Accessibility_Registry.idl:
2822 Changed definition of KeySet from sequence of longs to sequence of
2823 KeyDefinitions, and added KeyDefinition struct.
2824 Required for fix to bug 80616.
2826 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2827 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2828 to use new definition (see above).
2830 * registryd/deviceeventcontroller.c: handle_keygrab(),
2831 spi_keyset_contains_key():
2832 Changed to make use of new struct; this allows matching based on
2833 string key-name, for instance "Tab". This also allows matching of
2834 composed characters, non-alphanumeric characters in a way that
2835 doesn't involve dependencies on X keysym codes directly, etc.
2837 * test/key-listener-test.c:
2838 Added test for Alt-Tab key using "string" specification of keyset,
2839 and modified one of the tests to use a keycode-based keyset.
2840 Thus this test both tests and demonstrates the creation and use of
2841 keysets of three forms: specified via keycode array,
2842 keysym array, and string array. (The string case only contains a
2843 single string, i.e. a string array of length 1).
2846 Turned on PRINT_TREE option by default. Also fixed a
2847 string-freeing bug in the PRINT_TREE code.
2848 Added a listener to window:minimize events.
2850 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
2852 * atk-bridge/bridge.c:
2853 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2854 for window:activate and window:deactiveate
2855 (atk_bridge_property_event_listener atk_bridge_signal_listener
2856 atk_bridge_window_event_listener) Tidy debug code
2858 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
2860 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2861 Fixed handling for NULL return value from ATK.
2863 * libspi/action.c libspi/component.c libspi/editabletext.
2864 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2865 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2866 Removed redundant casts.
2868 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2869 Fixed off by one bug.
2871 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2872 function not present in idl)
2874 2002-05-02 jacob berkman <jacob@ximian.com>
2876 * atk-bridge/Makefile.am: make atk-bridge a real module
2878 2002-04-26 Radek Doulik <rodo@ximian.com>
2880 * libspi/stateset.c (spi_init_state_type_tables): fix size of
2881 atk_state_types table
2883 2002-04-22 jacob berkman <jacob@ximian.com>
2886 * libspi/Makefile.am: add deps on the built files to help
2887 automake, and don't version the ORBit typelib
2889 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
2891 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
2892 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
2893 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
2894 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
2895 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
2896 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
2897 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
2898 libspi/accessible.h libspi/accessible.h libspi/base.h
2899 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
2900 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
2901 libspi/relation.h libspi/remoteobject.h libspi/selection.h
2902 libspi/spi-private.h libspi/statetset.h libspi/table.h
2903 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
2904 util/mag_client.h util/mag_control.c util/mag_image.c
2905 util/mag_image.h util/magnifier.c util/magnifier.h:
2906 Add missing file headers; standardize existing ones
2908 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
2910 * atk-bridge/bridge.c: Added window event support.
2912 2002-04-18 Michael Meeks <michael@ximian.com>
2914 * libspi/relation.c (impl_getNTargets): impl.
2915 (impl_getTarget): impl.
2917 * libspi/Makefile.am: fix stateset install.
2919 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2922 Started putting useful info in this file.
2924 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
2926 * atk-bridge/bridge.c:
2927 Propagate state-changed notifications to ATs
2929 * cspi/spi_registry.c: update docs to reflect actual behavior of
2930 state-change events.
2932 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2935 Incremented version to 0.12.1
2937 * util/mag_client.h:
2938 Add missing declaration for magnifier_exit,
2939 used by mag_control.c - Forte compiler didn't like
2940 the implicit redeclaration of the function :-(
2943 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2946 Revved version to 0.12 due to API change (see below).
2948 * cspi/spi-roletypes.h:
2949 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
2950 definition from the inline docs, and added docs
2951 for SPI_ROLE_LAST_DEFINED.
2954 * cspi/spi_streamablecontent.c:
2955 Added missing seek_type parameter to
2956 (so far unused) method,
2957 AccessibleStreamableContent_seek().
2958 [ RT approval JodyG. ]
2961 Fixed docs for SPI_createAccessibleKeystrokeListener.
2963 * cspi/spi_registry.c:
2964 Fixed docs for SPI_KEYSET_ALL_KEYS.
2966 * docs/reference/cspi/at-spi-cspi-sections.txt:
2967 Added a number of missing APIs to SECTIONS.
2969 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2971 * registryd/Makefile.am:
2973 * cspi/bonobo/Makefile.am:
2974 Add $(X_LIBS) to makefiles.
2976 2002-04-15 Bill Haneman <bill.haneman@sun.com>
2979 Revved version to 0.11.
2981 * libspi/component.c:
2982 Added implementation for grabFocus.
2984 * idl/Accessibility_Component.idl
2985 (Accessibility_Component_grabFocus):
2986 Made this method return boolean to indicate success or failure, to
2987 be consistent with cspi and the corresponding ATK method.
2989 * idl/Accessibility_Selection.idl
2990 (Accessibility_Selection_selectAll) :
2991 Made these methods return boolean to indicate success or
2992 failure, to be consistent with cspi and the corresponding ATK methods.
2994 * idl/Accessibility_EditableText.idl
2995 (Accessibility_EditableText_setTextContents,
2996 Accessibility_EditableText_insertText,
2997 Accessibility_EditableText_cutText,
2998 Accessibility_EditableText_deleteText,
2999 Accessibility_EditableText_pasteText):
3000 Made these methods return boolean to indicate
3003 * cspi/spi_editabletext.c:
3004 Made these methods return booleans.
3006 * libspi/selection.c:
3007 * libspi/component.c:
3008 * libspi/editabletext.c:
3009 Connected the boolean returns from ATK
3010 to the server-side code referenced above.
3012 2002-04-14 Bill Haneman <bill.haneman@sun.com>
3014 * idl/Accessibility_Table.idl: Added missing methods,
3015 Accessibility_Table_addRowSelection,
3016 Accessibility_Table_addColumnSelection,
3017 Accessibility_Table_removeRowSelection,
3018 Accessibility_Table_removeColumnSelection.
3021 Added C wrappers for above IDL:
3022 AccessibleTable_addRowSelection,
3023 AccessibleTable_addColumnSelection,
3024 AccessibleTable_removeRowSelection,
3025 AccessibleTable_removeColumnSelection.
3028 Added server-side implementation code for IDL above, connecting
3029 to pre-existing ATK api.
3031 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
3033 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
3035 * libspi/accessible.c: Added implementation fo
3036 Accessibility_Accessible_get_state.
3038 * libspi/libspi.h: Added stateset.h to the list of includes.
3040 * libspi/stateset.c: Fixed broken implementation.
3042 2002-04-13 Bill Haneman <bill.haneman@sun.com>
3045 Added implementation code for Accessibility_Magnifier_exit ().
3047 * util/mag_control.c:
3048 Added test code for above method; you can
3049 now kill an existing magnifier via
3050 ./mag_control q, from the util directory.
3052 * test/key-listener-test.c:
3054 Added a new test, for our key listener API.
3056 2002-04-11 Bill Haneman <bill.haneman@sun.com>
3058 * test/app.c, test/keysynth-demo.c:
3060 Replace use of snprintf with g_snprintf.
3061 (fix for bugzilla 78249)
3063 2002-03-27 Michael Meeks <michael@ximian.com>
3067 * util/Makefile.am (INCLUDES): fix.
3068 (DONT_DIST_SOURCE): don't distribute the
3071 * libspi/Makefile.am (dist-hook): ditto.
3073 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
3075 * libspi/hypertext.c:
3076 Fix warnings when yelp is used with atk-bridge
3078 2002-03-21 Michael Meeks <michael@ximian.com>
3080 * libspi/application.c (spi_application_new):
3081 use spi_accessible_construct so we use the AtkObject
3084 2002-03-19 Michael Meeks <michael@ximian.com>
3086 * registryd/registry.c (desktop_remove_application),
3087 (desktop_add_application): clean coding style.
3089 * registryd/desktop.c (spi_desktop_remove_application),
3090 (spi_desktop_add_application): kill re-enterency hazards.
3091 (spi_desktop_dispose): remove bogus redundant cast
3092 obscuring bug; fix bug too.
3093 (spi_desktop_init): make the desktop object immortal.
3095 2002-03-16 Bill Haneman <bill.haneman@sun.com>
3098 Added a #define-guarded tree-traversal step
3099 when enumerating the apps (diagnostic tool).
3101 2002-03-15 Bill Haneman <bill.haneman@sun.com>
3103 * idl/Accessibility_Role.idl:
3104 Added ROLE_DRAWING_AREA which seemed to be missing from the
3107 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3109 * cspi/spi-roletypes.h cspi/spi_accessible.c
3110 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
3113 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
3114 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
3115 AT when applications are added and removed from the desktop. This
3116 reverts the previous broken implementation using the backing
3117 AtkObject for the SpiDesktop.
3119 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3121 * registryd/desktop.c: emit the "children-changed::add" and
3122 "children-changed::remove" signals on the backing ATK object for
3123 the desktop so AT can tell when applications are started and shut
3126 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3128 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
3130 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3132 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
3134 * cspi/spi_accessible.c: Implemented c bindings for stateset support
3136 * cspi/state-types.h: synched with IDL and ATK
3138 2002-03-13 Bill Haneman <bill.haneman@sun.com>
3140 * libspi/accessible.c
3141 (impl_accessibility_accessible_get_child_at_index):
3142 Change return value for g_return_if_fail ()
3143 to CORBA_OBJECT_NIL instead of "0" (!)
3145 * registryd/Makefile.am:
3146 * registryd/Accessibility_Register.server.in:
3147 Changed name of executable, "registryd",
3148 to something more informative:
3151 2002-03-13 Michael Meeks <michael@ximian.com>
3153 * atk-bridge/bridge.c (atk_bridge_init): don't register
3154 if we're in a bonobo-component, rather than a bonobo app.
3156 2002-03-13 Michael Meeks <michael@ximian.com>
3158 * atk-bridge/bridge.c (gtk_module_init): split
3159 out body to (atk_bridge_init): here, since otherwise
3160 we get symbol conflicts and oddness when invoked
3161 from (gnome_accessibility_module_init): here (upd.)
3163 2002-03-11 Bill Haneman <bill.haneman@sun.com>
3166 New file. Explicitly allow "build sheriff" putbacks provided
3167 they are tested on Solaris.
3169 * docs/reference/cspi/Makefile.am:
3170 Added '-' to the "cp" command for index.sgml.
3171 ("patch by thomasvs, soon coming to a GUADEC near you")
3174 Incremented version number (0.9.0) for new release.
3175 Changed macro that checks for popt, to better detect
3176 obsolete versions of popt.
3179 Added X_LIBS to AC_SUBST, for applications
3180 that call Xlib API directly.
3183 2002-03-07 Bill Haneman <bill.haneman@sun.com>
3186 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
3189 Fix regression caused by hard-coding major
3190 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
3193 * test/test-simple.c (test_editable_text),
3194 (test_test): revert previous change (error was
3195 a regression in gail which is now fixed).
3197 2002-03-04 Michael Meeks <michael@ximian.com>
3199 * test/test-simple.c (test_editable_text),
3200 (test_text): pass G_MAXINT instead of '-1' for
3201 whole string - is this a good thing !?
3203 * cspi/spi_accessible.c
3204 (Accessible_getRelationSet): fix crasher bug
3205 overwriting the end of the array.
3207 * test/test-simple.c (validate_accessible): free,
3208 not g_free returned relation set.
3210 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
3212 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
3213 implemented stateset support
3215 * idl/Accessibility_State.idl: Made necessary changes to
3216 the IDL to support state sets.
3218 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3220 * registryd/deviceeventcontroller.c:
3221 Added implementation for generateMouseEvent.
3223 * cspi/spi_registry.c:
3224 Connected new implementation for generateMouseEvent
3227 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3230 Incremented revision (but no change in public API
3231 outside of 'utils', which are not installed public yet.)
3233 * libspi/component.c:
3234 Changed to use atk_component API for layers and
3235 mdi_zorder, instead of deprecated atk_object API.
3237 Magnification Utility Enhancements:
3240 Added implementation of createZoomRegion, clearAllZoomRegions,
3241 resizeZoomRegion. Added new commandline argument
3242 "--no-initial-region". Note that clearAllZoomRegions doesn't
3243 unmap the old '0' region as it should (yet), and the other
3244 methods only work when creating/resizing a single region,
3245 which is "region 0".
3246 (Code for multiple region support will be added later.)
3249 Now we raise the magnifier window each time it's refreshed;
3250 this will help keep it on top.
3252 * util/mag_client.h:
3253 Added simple wrappers for above, used by mag_control.
3254 For general use, it's recommended to use the bonobo magnifier
3255 control API directly instead of using these wrappers.
3258 Moved ZoomRegionData from magnifier.c to this file.
3260 * util/mag_control.c:
3261 Added some code to exercise new IDL implementations.
3263 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
3265 * libspi/text.c: Provide implementation for getAttributes.
3267 2002-02-04 Bill Haneman <bill.haneman@sun.com>
3270 Incremented revision.
3272 * test/test-simple.c:
3273 Replaced use of deprecated g_main_iteration with
3274 g_main_context_iteration.
3276 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
3279 Incremented revision for desktop alpha 2.
3281 2002-01-28 Mark McLoughlin <mark@skynet.ie>
3283 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
3286 * test/simple-at.c: include netinet/in.h.
3288 2002-01-24 Mark McLoughlin <mark@skynet.ie>
3290 * cspi/spi_accessible.c: (Accessible_getRelationSet):
3291 use NULL, not CORBA_OBJECT_NIL.
3293 * libspi/accessible.c:
3294 (impl_accessibility_accessible_get_relation_set):
3295 allocate the sequence correctly.
3297 * libspi/remoteobject.h: kill spi_remote_object_new.
3299 * test/test-simple.c: (validate_accessible): add code
3300 to test relation sets, now all we need is to figure
3301 out how to excercise this code path :/
3303 2002-01-18 Michael Meeks <michael@ximian.com>
3305 * test/test-simple.c
3306 (key_listener_cb): consume the key.
3307 (test_keylisteners): update.
3308 (main): wait for any pending unrefs on events.
3310 * registryd/deviceeventcontroller.c
3311 (spi_controller_update_key_grabs): only re-issue the
3312 grab on a key release.
3313 (spi_device_event_controller_forward_key_event):
3314 refresh the keygrabs before we notify the listeners,
3315 to reduce the X ungrab / re-grab race.
3316 (spi_controller_register_with_devices): remove
3317 XSelectInput - we do that with the gdk_window_ call.
3318 (_spi_controller_device_error_handler): return a value.
3319 s/GDK_DISPLAY/spi_get_display/
3321 2002-01-17 Michael Meeks <michael@ximian.com>
3323 * registryd/deviceeventcontroller.c
3324 (_deregister_keygrab): don't blow out the later
3327 * test/test-simple.c (test_keylisteners): do a
3328 more intelligent validation.
3330 2002-01-14 Michael Meeks <michael@ximian.com>
3332 * atk-bridge/bridge.c
3333 (gnome_accessibility_module_init),
3334 (gnome_accessibility_module_shutdown): impl.
3335 (gtk_module_init): protect vs. double inits.
3336 (add_signal_listener): impl.
3337 (spi_atk_bridge_state_event_listener): kill
3338 (deregister_application): split out of
3339 (spi_atk_bridge_exit_func): here.
3341 2002-01-18 Bill Haneman <bill.haneman@sun.com>
3344 Added caret tracking when using magnifier, and
3345 now use text bounds for focus tracking of text elements, rather than
3346 the component bounds - this is helpful for short text fields in long
3347 table cells, at high magnification.
3349 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3351 * registryd/deviceeventcontroller.c:
3352 Regression fix for keylistener de-registration; global keygrabs
3353 were not being released when deregisterKeystrokeListener was
3354 called in cspi, since
3355 Accessibility_DeviceEventController_deregisterKeystrokeListener
3356 was called with a zero-length keyset. That is because the cspi
3357 method, SPI_deregisterKeystrokeListener, does not take a keyset
3358 parameter but instead should remove all the key grabs held be a
3360 The code in impl_deregister_keystroke_listener was changed to copy
3361 the keylist from the listener instance previously registered with
3362 the DeviceEventController before releasing the grabs.
3364 * registryd/registry.c:
3365 * registryd/deviceeventcontroller.c:
3366 * libspi/spi-private.h:
3368 Changed spelling of "re-enterant" to "re-entrant" globally.
3370 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3372 * test/test-simple.c:
3373 Changed key listeners test - the test was slightly mis-using the
3374 (admittedly poorly documented) SPI_generateKeyboardEvent API.
3375 It now uses '=' as the key event listened to and generated,
3376 relying on a keysym match rather than assuming that keycode 33
3377 is always equal to keysym '!'.
3379 2002-01-15 Bill Haneman <bill.haneman@sun.com>
3382 Changed simple-at to use a specific keyset, rather than
3383 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
3384 manager, desktop, etc.
3386 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3388 * registryd/deviceeventcontroller.c:
3389 Replaced standard X error handler with a special handler that
3390 is non-fatal for failed keygrabs. This works around
3391 problems with keygrab clashes sometimes observed on
3393 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
3394 mouse handling code as yet).
3396 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3399 Incremented revision for desktop alpha release.
3402 Fixed a couple of the more glaring errors (still not
3405 2002-01-11 Michael Meeks <michael@ximian.com>
3407 * registryd/deviceeventcontroller.c
3408 (spi_device_event_controller_forward_key_event): kill
3409 XUngrabKey / XKeyGrab race.
3410 (spi_controller_grab_keyboard): rename to
3411 (spi_controller_update_key_grabs): this, and deal
3412 with incremental adding / removing grabs more
3414 (_register_keygrab): ensure we're not pending a remove.
3415 (spi_grab_mask_free): impl.
3416 (spi_controller_register_global_keygrabs): split out
3418 (handle_keygrab): impl.
3419 (_deregister_keygrab): impl.
3420 (spi_controller_deregister_global_keygrabs): impl.
3421 (spi_controller_update_key_grabs): re-issue the grab if
3422 we just recieved a notification.
3424 * test/test-simple.c (key_listener_cb): remove debug.
3426 * registryd/deviceeventcontroller.c
3427 (spi_controller_register_device_listener): after
3428 registering a global keygrab, actualy register it !
3429 don't wait for a timeout; doh !
3431 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3432 to make it more readable / manipulable.
3433 s/grabmask/grab_mask/ s/refcount/ref_count/
3434 s/keyval/key_val/ s/modmask/mod_mask
3436 2002-01-08 Michael Meeks <michael@ximian.com>
3438 * registryd/deviceeventcontroller.c
3439 (spi_controller_register_with_devices): use gdk calls to
3441 (global_filter_fn): implement the filter.
3442 (spi_device_event_controller_check_key_event): rename to
3443 (spi_device_event_controller_forward_key_event): this & upd.
3444 (spi_get_display): replace with GDK_DISPLAY.
3446 * registryd/deviceeventcontroller.c
3447 (spi_controller_deregister_device_listener): unroll into
3448 (impl_deregister_keystroke_listener): here to simplify.
3449 (spi_controller_register_global_keygrabs): split cut and
3450 paste (!) out into (_register_keygrab): here, shorter & sweeter.
3451 (spi_controller_deregister_device_listener): remove.
3452 (impl_register_mouse_listener): remove, no mouse listener
3453 support in at-spi-1.0
3455 * registryd/registry.c
3456 (_device_event_controller_hook): kill.
3457 (spi_registry_init): upd.
3459 * registryd/deviceeventcontroller.c
3460 (spi_device_event_controller_class_init): upd.
3461 (spi_check_key_event): merge into.
3462 (spi_device_event_controller_check_key_event):
3463 here and kill strange static ev init, don't leak
3464 the x_event - nor dynamicaly allocate it.
3466 * registryd/registry-main.c (main): re-direct
3467 timeout to remove strange vtable mess.
3469 * registryd/deviceeventcontroller.c
3470 (remove_listener_cb): impl.
3471 (spi_controller_deregister_device_listener):
3472 fix re-enterancy hazard.
3474 2002-01-07 Michael Meeks <michael@ximian.com>
3476 * registryd/deviceeventcontroller.c
3477 (spi_device_event_controller_new): upd.
3478 (impl_notify_listeners_sync): upd. debug.
3479 (spi_notify_keylisteners): fix re-enterancy hazards,
3480 prettify, remove O(n*n) iteration.
3481 (spi_controller_grab_keyboard): fix iteration.
3482 (spi_check_key_event): re-format to suit coding style.
3483 Clean all the warnings - we're warning free.
3485 * registryd/deviceeventcontroller.h:
3486 * registryd/registry.h: make mutualy referential with
3487 typesafe forward references instead of (!) void pointer
3490 2002-01-11 Michael Meeks <michael@ximian.com>
3492 * cspi/spi_accessible.c (role_names): add a role name
3493 to sync this array with the enum; and make the regression
3496 2002-01-10 Michael Meeks <michael@ximian.com>
3498 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
3499 allow expansion of enumeration & kill warning.
3501 * test/test-simple.c (key_listener_cb): impl.
3502 (test_keylisteners): impl.
3504 * cspi/spi-listener.h: make listener signatures const
3505 on the provided (const) events.
3507 * test/keysynth-demo.c: upd. to const events.
3509 * test/simple-at.c: ditto.
3511 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3514 Rev the version to 0.5 (the previous tarball was named 0.4,
3515 even though the micro number was 3), so we need to rev upwards
3516 again for beta2/"desktop-alpha"
3519 Checked in a demo script, which requires editing before use!
3520 Proceed with caution.
3523 Fixed typo in header which was redefining SPI_ACTION_CLASS.
3525 * cspi/spi_accessible.c:
3526 Add a couple of missing enum initializations, and fix some enum
3529 * cspi/spi_registry.c:
3530 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3532 * docs/reference/cspi/at-spi-cspi-sections.txt:
3533 Remove/fix a couple of broken document references.
3536 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
3537 as Alt-Control to listen for commands, since on some systems
3538 Control-Alt may already be grabbed.
3540 2002-01-10 Bill Haneman <bill.haneman@sun.com>
3543 Update version number to 0.4 for Beta2.
3545 * libspi/accessible.c, libspi/accessible.h:
3546 Expose spi_accessible_construct, to enable libgail-gnome
3547 construction from spi_accessible subtype.
3549 * utils/magnifier.c:
3550 Workaround for bug in some non-gnome-compliant window managers
3551 which made magnifier resize improperly.
3553 2002-01-09 Bill Haneman <bill.haneman@sun.com>
3555 * libspi/accessible.c: (spi_accessible_new) :
3556 Move the test for SPI_IS_REMOTE_OBJECT to
3557 spi_accessible_new_return, fixing a bug and compile time warning.
3559 2002-01-08 Michael Meeks <michael@ximian.com>
3561 * registryd/registry.c (parse_event_type): remove strndup.
3563 * libspi/Makefile.am (libspi_la_SOURCES): remove
3564 sources already included in the headers section.
3566 * libspi/util.c: add.
3568 * libspi/spi-private.h: add.
3570 * registryd/registry.c: update to moved list iterators.
3572 2002-01-05 Michael Meeks <michael@ximian.com>
3574 * test/simple-at.c (main): upd. auto-module set to atk-bridge
3576 * test/test-simple.c (main): ditto.
3578 2002-01-04 Michael Meeks <michael@ximian.com>
3580 * libspi/accessible.c (spi_accessible_new): remove 2nd,
3581 redundant construct.
3583 * registryd/registry.c
3584 (get_listener_list): impl.
3585 (impl_accessibility_registry_register_global_event_listener):
3586 re-impl. to simplify using ~, remove dodgy const cast off.
3587 (parse_event_type): constify.
3588 (impl_accessibility_registry_deregister_global_event_listener_all):
3589 re-write, more efficiency and simplicity, kill re-enterancy
3591 (compare_listener_corbaref, compare_corba_objects),
3592 (compare_listener_quarks): define out.
3593 (impl_accessibility_registry_deregister_global_event_listener):
3594 re-write for effiency, and nail re-enterancy hazard.
3595 (impl_accessibility_registry_get_desktop_list): impl.
3596 (re_enterant_list_delete_link): impl.
3597 (re_enterant_list_foreach): impl.
3598 (remove_listener_cb): impl.
3599 (_registry_notify_listeners): kill.
3600 (notify_listeners_cb): impl.
3602 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
3603 (SPI_getDesktopList): impl.
3605 * test/test-simple.c (test_desktop): test the methods.
3607 2002-01-03 Michael Meeks <michael@ximian.com>
3609 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
3610 keystrings since we free them
3611 (SPI_freeAccessibleKeySet): in here.
3613 * libspi/accessible.c (spi_accessible_new): kill warning,
3614 wonder what is going on with the constructor here.
3616 2002-03-01 Bill Haneman <bill.haneman@sun.com>
3618 * libspi/accessible.c (spi_accessible_new ()) :
3619 Added check to see if AtkObject is an SpiRemoteObject before
3620 creating an SpiAccessible.
3622 2002-05-01 Bill Haneman <bill.haneman@sun.com>
3624 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
3625 Enable keygrabs using the Control modifier, now that they are
3626 working properly (they were previously disabled).
3629 Change the command keygrab for this demo to "Control+Alt", so as
3630 to conflict with fewer other key commands on the system; this
3631 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
3633 Removed a pointlessly-chatty keylistener for unshifted keys
3634 (shifted keys are still reported).
3636 2002-02-01 Bill Haneman <bill.haneman@sun.com>
3638 * libspi/remoteobject.h:
3639 * libspi/remoteobject.c:
3640 Added definitions for special AtkObject subtype, required for
3641 support of remote components (specifically, used by BonoboControl
3642 accessibility implementation).
3644 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
3646 * cspi/spi.h: synched relation types with ATK
3648 * cspi/spi_accessible.c: Added implementations of
3649 AcccessibleRelation_* methods
3651 * idl/Accessibility_Relation.idl: added getRelationTypeName
3652 method. Synched known relation types with ATK. Allowed for
3653 relation type extension with the RELATION_EXTENDED type.
3655 * libspi/relation.c: Provided implementations for
3656 AccessibleRelation methods.
3658 2002-01-01 Bill Haneman <bill.haneman@sun.com>
3660 API tweaks for today's API 'freeze'.
3663 Added placeholder functions to allow future compatible expansion
3664 of the IDL interfaces.
3666 * idl/Accessibility_Registry.idl:
3667 Changed generateKeyEvent to generateKeyboardEvent. Changed
3668 signature of this method to accept an optional keystring in
3669 parameter (for complex text input synthesis) and changed use of
3670 simple 'boolean' parameter in registerKeystrokeListener to a
3671 struct, EventListenerMode.
3673 * cspi/spi_accessible.c:
3675 * cspi/spi_streamablecontent.c:
3676 Added references to AccessibleStreamableContent interface, and
3677 definition and implementation of AccessibleStreamableContent
3680 * cspi/spi_registry.c:
3682 Changed generateKeyEvent API to generateKeyboardEvent,
3683 taking a new (optional) keystring parameter to support complex
3688 Renamed directory (to better reflect its actual purpose, bridging
3689 from at-spi to ATK). The .so module is also now named
3692 * idl/Accessibility_Hypertext.idl:
3693 * libspi/accessible.c:
3694 * libspi/hypertext.h:
3695 * libspi/hypertext.c:
3696 Changed Accessibility_Hypertext to *not* derive from
3699 * cspi/spi_registry.c:
3700 Added list of legal event type names for 'window' events, which
3701 completes the registry event API.
3703 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
3705 * at-bridge/bridge.c: Added registration for separate
3706 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
3707 signals. If either of the first two parameters to the generic
3708 bridge signal handler are ints, they are passed on as event
3709 details. This allows an AT to determine what text was inserted.
3711 2001-12-21 Bill Haneman <bill.haneman@sun.com>
3713 * registryd/deviceeventcontroller.c:
3714 Fixed regressions in generateKeyEvent caused by the removal of
3715 gdk_init from registryd; we now use pure X calls to connect to the
3716 display, which makes sense because deviceeventcontroller already
3717 uses a fair bit of X API (should eventually be migrated to a
3718 'portability layer').
3720 * registryd/desktop.c:
3721 Fixed minor regression in spi_desktop_init, changed the way the
3722 desktop name is being set to work with new spi_base API
3723 (gobject-based, rather than AtkObject-based).
3725 * registryd/Makefile.am:
3726 Minor revision of makefile to use XTST_LIBS variable rather than
3727 hard-wiring the Xtst LD_ADD element.
3729 * test/keysynth-demo.c:
3730 Tweaked an output message; added initialization of the
3731 'keystrings' member of the "switch listener" key_set.
3733 * libspi/relation.c:
3734 Squashed compile-time warning.
3736 * libspi/accessible.c:
3737 Cosmetic and formatting fixes, renamed a static method.
3739 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
3741 * libspi/accessible.c
3743 * libspi/application.c
3746 * libspi/component.c
3747 * libspi/editabletext.c
3748 * libspi/hyperlink.c
3749 * libspi/hypertext.c
3751 * libspi/selection.c
3755 * registryd/desktop.c:
3756 Changed SpiBase to contain a GObject pointer rather than an AtkObject
3758 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3760 * idl/Accessibility_Registry.idl:
3761 Added boolean member 'is_text' to DeviceEvent. This is for the
3762 use of key events, and helps prevent ambiguity between composed
3763 key strings and keysym names, since both may potentially be
3764 returned in the 'event_string' member.
3766 * at-bridge/bridge.c:
3767 * registryd/deviceeventcontroller.c:
3768 Use the 'is_text' member when notifying device event listeners.
3769 Knon issue: composed characters are not dealt with correctly by
3770 the global key listener implementation yet.
3772 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3774 * at-bridge/bridge.c:
3775 Namespaced local static methods to spi_atk_bridge_* where
3776 previously named bridge_*, and spi_* elsewhere.
3778 * at-bridge/bridge.c:
3779 * cspi/bonobo/cspi-bonobo-listener.c:
3780 Added demarshalling/conversion for string member of
3781 Accessibility_DeviceEvent to AccessibleKeystroke.
3783 * registryd/deviceeventcontroller.c:
3784 Added code to fill the Accessibility_DeviceEvent key string value
3785 member for global key events (i.e. from XGrabKey), to match
3786 behavior of Accessibility_DeviceEvent from the toolkit key events
3787 from the bridge. Fixed timestamp in global key event notifications.
3790 Added printout of key event's string value to
3791 report_ordinary_key_event, for demo/debugging purposes.
3793 2001-12-15 Bill Haneman <bill.haneman@sun.com>
3795 * idl/Accessibility_Registry.idl:
3796 Removed Accessibility_KeyStroke structure in favor of generic
3797 Accessibility_DeviceEvent structure.
3798 Changed Accessibility_ControllerEventMask from a struct to an
3801 * at-bridge/bridge.c:
3802 Changed APIs to use DeviceEvent structure as above, and removed
3803 bogus casting between these event structures.
3805 * cspi/spi-listener.h:
3806 Added keystring member of AccessibleKeystroke structure, to enable
3807 matching on event "names" rather than only hardware codes and
3811 Added keystrings member of AccessibleKeySet struct, to allow
3812 matching on event names (as above).
3813 Added declarations for SPI_createAccessibleKeySet and
3814 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
3815 event modmasks directly as unsigned ints rather than structs with
3816 refcounts, in the DeviceEventController methods.
3818 * cspi/spi_registry.c:
3819 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3821 * cspi/spi-roletypes.h:
3822 Added documentation of newly added SPI Roles.
3824 * cspi/bonobo/cspi-bonobo-listener.c:
3825 Changes in support of API changes above.
3827 * libspi/accessible.c:
3828 Converted APIs to use DeviceEvent structure (see IDL changes
3831 * registryd/deviceeventcontroller.c:
3832 Added DEControllerGrabMask structure to track keygrabs not only by
3833 modmask but by keyset as well; this allows us to do "global"
3834 (i.e. X) keygrabs on a per-key or keyset basis rather than always
3835 grabbing on AnyKey and then filtering after-the-fact.
3836 Bugfixes for event filtration mean that we don't get false matches
3837 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3839 * registryd/deviceeventcontroller.c:
3840 Namespaced a number of static methods to use spi_ prefix. Major
3841 revision to internals of global (i.e. X) key grabs.
3843 * registryd/deviceeventcontroller.h:
3844 Removed keymask_list and added keygrabs_list to
3845 SpiDeviceEventController struct.
3848 Added use of SPI_createAccessibleKeySet API when creating a
3849 listener for only one key. Attach a listener to "shift spacebar
3850 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
3851 X key event names to SPI key event names, so that listeners are
3852 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3854 * test/keysynth-demo.c:
3855 Changed (incorrect) use of X key event names (KeyPressed,
3856 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3859 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3861 * libspi/accessible.c:
3862 Convert all AtkRole enumerations to Accessibility_Role enums when
3863 getting a role from an AtkObject.
3865 * cspi/spi_accessible.c:
3866 Complete the conversion of Accessibility_Role enums at runtime to
3867 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3868 role enums correctly match those given in spi-roletypes.h.
3869 Re-synchronize the local names list for AccessibleRole_getName ().
3870 AccessibleRole_getName is now deprecated, since it duplicates the
3871 more reliable Accessible_getRoleName.
3872 Added some role types from Accessibility_Role.idl.
3874 * idl/Accessibility_Role.idl:
3875 Added some role types used by AtkRole.
3877 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3880 * cspi/spi_registry.c:
3882 * cspi/cspi-bonobo-listener.c:
3883 Namespaced all methods that did not begin with an "SPI_" or
3884 "Accessible" prefix to "SPI_".
3887 Homogenized internal function namespace to "cspi_" for statics.
3890 Patched tests to use the new CSPI API.
3892 * docs/reference/cspi/at-spi-cspi-sections.txt:
3893 Updated docs to reflect namespace changes, and added a number of
3894 methods to the documentation.
3896 * registryd/registry.c:
3897 Changed use of strings and string hashes in listener event
3898 matching and parse_event_string to use GQuark, which is guaranteed
3901 * registryd/registry.h:
3902 Squashed annoying warning.
3904 * idl/Accessibility_Role.idl:
3905 Extended range of available Accessibility_Role values.
3907 * cspi/spi_accessible.c:
3908 Re-ordered role names.
3910 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3912 * idl/Accessibility_Value.idl:
3913 Revert use of union back to CORBA_double, since the double type is
3914 more efficient and can contain the other types without loss of
3917 * idl/Accessibility_Accessible.idl:
3918 Added method Accessibility:Accessible:getRoleName, to complement
3919 Accessibility:Accessible:getRole.
3921 * cspi/spi_accessible.c:
3923 Added C binding for above, Accessible_getRoleName (), and changed
3924 signature of Accessible_getRole () to return an AccessibleRole.
3926 * cspi/spi-roletypes.h:
3927 Changed AccessibleRole_getName to return a char * instead of a
3928 const char *. This method is now at least temporarily deprecated
3929 in favor of asking Accessibles for their RoleNames directly.
3932 Revert to match Accessibility_Value.idl;
3936 Change signature of AccessibleValue methods to use double rather
3940 * cspi/spi_accessible.c:
3941 Changed Accessible_getRole to return an AccessibleRole enum rather
3942 than a UTF-8 string. The UTF-8 string can still be obtained via
3943 AccessibleRole_getName ().
3945 * test/test-simple.c:
3946 Add test_action. Small fixup to match API change to Accessible_getRole.
3949 Bugfix for get_action_from_servant ().
3951 2001-12-11 Michael Meeks <michael@ximian.com>
3953 * libspi/libspi.h: remove registry.h and
3954 desktop.h, deviceeventcontroller.h
3956 * libspi/Makefile.am: remove registry.[ch],
3957 desktop.[ch], deviceeventcontroller.[ch]
3959 * registryd/Makefile.am: add registry.[ch],
3960 desktop.[ch], rename registryd.c to registry-main.c.
3961 add deviceeventcontroller.[ch]
3963 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3966 Replace setenv() call with putenv ().
3968 * libspi/component.c:
3969 Bugfix in AccessibleComponent_getExtents (),
3972 2001-12-11 Michael Meeks <michael@ximian.com>
3974 * libspi/image.c (impl_getImageExtents): impl.
3975 (spi_image_class_init): upd.
3978 (AccessibleImage_getImageDescription): fix daft bug
3981 * test/test-simple.c (global_listener_cb): update
3982 to only quit if not --poke
3983 (main): catch --poke.
3984 (validate_accessible): upd. dumping, call test_image
3987 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3990 * idl/Accessibility.idl: update all IDL includes.
3992 * idl/*.idl - rename to namespace - this sucks, blame
3993 mjs' bad decision for oafd.
3995 * test/test-simple.c (create_test_window): add more tests.
3996 (create_tree): split this out.
3997 (validate_accessible): bugfix.
3999 2001-12-11 Michael Meeks <michael@ximian.com>
4001 * cspi/bonobo/cspi-bonobo-listener.c:
4002 (cspi_kestroke_listener_unref),
4003 (cspi_event_listener_unref): impl. undoing previous
4004 homenous environment - for Bill.
4006 * cspi/spi_table.c (long_seq_to_array): use
4009 * cspi/spi_main.c: split out all bonoboish bits into
4012 * cspi/spi-impl.h: upd. typedefs.
4014 * cspi/spi_registry.c: update to lowlevel API,
4015 return booleans to indicate success in some places.
4017 * cspi/spi_event.c: update to lowlevel API.
4019 * cspi/bonobo/Makefile.am: add.
4021 * cspi/bonobo/cspi-lowlevel.h: add
4023 * cspi/bonobo/cspi-bonobo.c: add
4025 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
4027 * cspi/Makefile.am: remove spi-listener-impl.[ch],
4028 (SUBDIRS): add bonobo, link in the libs.
4030 * cspi/spi-util.c: kill this file.
4032 * TODO: merge in my bits.
4034 2001-12-11 Michael Meeks <michael@ximian.com>
4036 * test/test-simple.c (test_value, test_table, main):
4037 remove unused variables causing warnings.
4039 * configure.in: cleanup checks - require gail.
4041 2001-12-11 Bill Haneman <bill.haneman@sun.com>
4044 Changed Value interface to use SValue (scalars) rather than
4045 assuming all values are floats. This allows floats, doubles,
4046 longs, shorts, and unsigned values to be manipulated.
4047 Introduced Accessibility:SValue union.
4050 Updated to use new API above, and to work correctly with GValues
4051 of different types in AtkValue.
4054 Updated to use new API above. cspi's API is as yet unchanged.
4057 Updated the Value revision action item.
4059 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4061 * test/test-simple.c:
4062 Added test_table (GtkTreeView widget in test window to follow).
4063 Un-commented test_value, added GtkRange widget.
4064 Added GtkTreeView widget with GtkListStore. It passes regression
4065 test but leaks one SPI object for some reason.
4068 Fixed bug in impl__set_currentValue.
4070 2001-12-10 Michael Meeks <michael@ximian.com>
4072 * cspi/spi_text.c: audit for exception handling,
4073 tolerating NULL object references safely etc.
4075 * cspi/spi_value.c: ditto.
4077 * cspi/spi_table.c (AccessibleTable_getSummary),
4078 (AccessibleTable_getAccessibleAt),
4079 (AccessibleTable_getRowHeader),
4080 (AccessibleTable_getColumnHeader),
4081 (AccessibleTable_getCaption): fix bugs hidden by
4083 (long_seq_to_array): impl.
4084 (AccessibleTable_getSelectedRows),
4085 (AccessibleTable_getSelectedColumns): use it.
4087 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4090 Added a TODO list (rough and short for now).
4092 * cspi/spi_hyperlink.c:
4093 * cspi/spi_hypertext.c:
4094 Fixed macro name typos, and remove use of obsolete macro in
4095 AccessibleHyperlink_getLink.
4097 * cspi/spi_action.c:
4098 * cspi/spi_accessible.c:
4099 * cspi/spi_application.c:
4100 * cspi/spi_component.c:
4101 * cspi/spi_selection.c:
4104 Documentation fixes (removed return values from ref/unref methods).
4106 2001-12-10 Michael Meeks <michael@ximian.com>
4108 * cspi/spi_action.c: audit for exception handling,
4109 tolerating NULL object references safely etc.
4111 * cspi/spi_accessible.c: ditto.
4113 * cspi/spi_component.c: ditto.
4115 * cspi/spi_editabletext.c: ditto.
4117 * cspi/spi_hyperlink.c: ditto.
4119 * cspi/spi_hypertext.c: ditto.
4121 * cspi/spi_image.c: ditto.
4123 * cspi/spi_selection.c: ditto.
4125 2001-12-10 Michael Meeks <michael@ximian.com>
4127 * configure.in: use cspi/libspi.pc.in instead.
4129 * Makefile.am (pkgconfig_DATA): upd. to match.
4131 * test/simple-at.c (report_focus_event): kill hacks around
4132 bad return values, use putenv not setenv
4134 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
4135 fire ChildGone - I killed it.
4137 * libspi/component.c
4138 (impl_accessibility_component_get_extents): remove
4141 * idl/Accessible.idl: kill ChildGone exception.
4143 * cspi/*.[ch]: kill int return from ref / unref.
4145 * cspi/spi_main.c (cspi_object_add_check): fold into
4146 (cspi_object_add): here.
4148 * cspi/spi_component.c (AccessibleComponent_getExtents):
4149 handle exceptions elegantly.
4151 * cspi/spi-private.h (cspi_check_ev_return),
4152 (cspi_return_if_fail): impl.
4154 * cspi/spi_accessible.c: use extensively.
4155 (AccessibleStateSet_equals): add direct compare check.
4157 * cspi/spi_selection.c: tolerate NULL objs, and check
4158 exceptions before return.
4160 * cspi/spi-util.c (cspi_warn_ev): rename to
4161 (cspi_check_ev): this & don't pass ev in; no point.
4163 2001-12-10 Michael Meeks <michael@ximian.com>
4165 * test/test-simple.c: use putenv not setenv
4166 (get_environment_vars): more chatty if you're not using
4169 * test/simple-at.c: do the setenv so more people see the
4172 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4174 * libspi/registry.c:
4175 Changed check of CORBA_environment on notification to be a warning
4176 instead of an error for the moment, since we can recover from this
4177 error when caused by a queued notification from a dead app.
4180 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
4181 used by all current implementors of AtkValue), and coerce to
4182 CORBA_float. (Proper general case fix may require change to Value.idl).
4184 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4188 * cspi/spi_accessible.c:
4189 Documentation fixes: added user_data params to documentation for
4190 listeners and callbacks.
4192 * cspi/spi_accessible.c:
4193 Changed AccessibleStateSet_compare to return a
4194 StateSet rather than return the difference set into a third parameter.
4197 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4200 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
4201 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
4205 Remove subdirectory po from SUBDIRS for now.
4207 * at-bridge/bridge.c:
4208 Beefed up a couple of debug printouts.
4209 One-line fix for signal notification name formatting.
4211 * libspi/accessible.c:
4212 Added assertion to spi_accessible_new ().
4214 * libspi/application.c:
4215 Put #ifdef qualifiers around a printf.
4218 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
4220 * registryd/Makefile.am:
4222 Replaces use of XML_I18N_MERGE_SERVER_RULE with
4223 INTLTOOL_SERVER_RULE macro.
4226 Added an event listener for several ATK signals, for
4227 testing and debugging. Removed a few g_warnings.
4228 Added test output if focussed item implements the Value interface.
4230 * test/test-simple.c:
4231 Added test_value () function (known not to pass at the moment, so
4232 not actually called yet.
4234 2001-12-08 Michael Meeks <michael@ximian.com>
4236 * at-bridge/bridge.c (bridge_focus_tracker),
4237 (emit_eventv): fix the same ref. leak.
4238 (register_atk_event_listeners): don't leak.
4240 * cspi/spi-listener-impl.c (cspi_event): more
4241 protection from client code.
4243 * test/test-simple.c (test_desktop): unref the app.
4245 * test/Makefile.am: upd. TESTS.
4247 * at-bridge/bridge.c (bridge_exit_func): release the registry.
4249 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
4251 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
4253 * cspi/spi_registry.c: constify in strings.
4254 (deregisterGlobalEventListenerAll): don't release the ref.
4256 * cspi/spi.h: start removing redundant / conflicting
4257 gtkdoc comments, making the API readable at a glance :-)
4259 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
4261 * test/keysynth-demo.c (keysynth_exit, main): upd.
4263 * test/simple-at.c (main, simple_at_exit): upd.
4265 * test/test-simple.c (unutterable_horror): kill.
4266 (utterable_normal_derefs): kill.
4267 (main): upd & do a setenv before gtk_init, so that we
4268 can use memprof - and to save the pain of remembering
4269 this, if we're running under memprof - don't exit.
4271 * cspi/spi_main.c (SPI_exit): return exit status
4273 (SPI_event_quit): impl.
4274 (SPI_event_main): simplify.
4275 (cspi_is_gnome_app): kill.
4276 (SPI_init): kill isGNOMEapp arg.
4278 * at-bridge/bridge.c (register_atk_event_listeners):
4279 re-instate the unref.
4280 (bridge_exit_func): don't re-activate the registry,
4281 protect vs. theoretical re-entry, use the
4282 AT_BRIDGE_SHUTDOWN env. var to determine whether to
4283 assert a clean shutdown - for regression tests.
4285 2001-12-08 Abel Cheung <maddog@linux.org.hk>
4287 * configure.in: Comment out dummy i18n support for now,
4288 otherwise it fails to build.
4289 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
4290 EXTRA_DIST. They are missing in tarball.
4292 2001-12-07 Michael Meeks <michael@ximian.com>
4294 * util/magnifier.c: kill bonobo activation reg. race.
4296 * libspi/component.c
4297 (impl_accessibility_component_get_extents): make it match
4300 * libspi/registry.c (_registry_notify_listeners):
4301 re-remove X headers & reconcile conflicts.
4302 (spi_listener_struct_free): bad conflict resolve.
4303 (impl_accessibility_registry_register_application):
4304 more bad merging fixed.
4305 (impl_accessibility_registry_deregister_application): ditto.
4306 (spi_registry_new): ditto.
4307 (spi_registry_init): don't have an applications field.
4309 [ merge fixups2 branch to here ]
4310 2001-12-07 Michael Meeks <michael@ximian.com>
4312 * test/simple-at.c (report_focus_event),
4313 (report_focussed_accessible): remove g_warning debug.
4315 2001-12-07 Michael Meeks <michael@ximian.com>
4317 * test/test-simple.c (validate_tree): comment out some checks.
4318 (test_desktop): app now not registered idly - horay.
4320 2001-12-07 Michael Meeks <michael@ximian.com>
4322 * cspi/spi_registry.c
4323 (registerAccessibleKeystrokeListener): clean, stop it leaking
4324 great swathes of memory, and device event controller references.
4325 ensure we always pass valid sequences.
4326 (deregisterAccessibleKeystrokeListener): ditto.
4327 (generateKeyEvent): upd.
4329 * at-bridge/bridge.c (bridge_key_listener): handle
4330 registry dead exception gracefully.
4331 (bridge_focus_tracker, emit_eventv): free ev.
4333 * test/simple-at.c (report_focus_event): fix polarity.
4335 * libspi/application.c (notify_listeners): kill the ev
4336 argument, and make sure we init the ev we use.
4337 (spi_application_object_event_listener): split out a chunk
4338 (get_atk_object_ref): here & fixup.
4339 (reverse_lookup_name_for_toolkit_event): make const.
4340 (spi_application_toolkit_event_listener): fixup, kill leaks
4343 * at-bridge/bridge.c (register_atk_event_listeners):
4344 don't unref the noop object - causes grief.
4346 * libspi/registry.c: remove the X headers.
4347 turn off the debug churn.
4349 * libspi/accessible.c (spi_accessible_new_return): only
4350 release the ref if we are supposed to [doh]
4352 * test/simple-at.c (report_button_press, report_focus_event):
4353 guard vs. unexpected exit.
4355 * at-bridge/bridge.c (gtk_module_init): prune printf.
4356 (bridge_exit_func): fix app unref.
4358 * libspi/Makefile.am: don't install registry or desktop.h
4360 * libspi/*.h: update includes.
4362 * libspi/application.h: don't include ourself, or
4363 other redundant headers.
4365 2001-12-06 Michael Meeks <michael@ximian.com>
4367 * libspi/accessible.c
4368 (get_accessible_from_servant): impl.
4369 Upd. all CORBA impl.s to use it killing cut and paste.
4371 * cspi/spi_main.c (cspi_cleanup): guard vs. double
4373 (SPI_init): register atexit cleanup handler here.
4375 2001-12-06 Michael Meeks <michael@ximian.com>
4377 * at-bridge/bridge.c (gtk_module_init): g_error on
4378 activation exception
4380 2001-12-06 Michael Meeks <michael@ximian.com>
4382 * at-bridge/bridge.c (gtk_module_init): some sort of
4383 confusing merge clash - reverted.
4384 (bridge_idle_init): ditto.
4386 * test/test-simple.c (main, utterable_normal_derefs):
4387 merge from Bill - somehow not committed.
4389 2001-12-06 Michael Meeks <michael@ximian.com>
4391 * libspi/value.c (spi_value_class_init): upd.
4392 (spi_value_finalize): kill.
4394 * libspi/table.c (spi_table_finalize): kill.
4395 (spi_table_interface_new): upd.
4396 (spi_table_class_init): upd.
4397 (get_table_from_servant): impl.
4398 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4400 * libspi/selection.c (spi_selection_finalize): kill.
4401 (spi_selection_interface_new): upd.
4402 (spi_selection_class_init): upd.
4403 (get_selection_from_servant): impl.
4404 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4406 * libspi/relation.c (spi_relation_finalize): kill.
4407 (spi_relation_class_init, spi_relation_new): upd
4409 * libspi/image.c (spi_image_finalize): kill.
4410 (spi_image_class_init): upd.
4411 (spi_image_interface_new): upd.
4412 (get_image_from_servant): impl.
4413 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4415 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
4416 (spi_hyperlink_finalize): kill.
4417 (spi_hyperlink_new): upd.
4418 (get_hyperlink_from_servant): impl.
4419 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4421 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
4422 (spi_hypertext_finalize): kill.
4423 (spi_hypertext_class_init): upd.
4424 (get_hypertext_from_servant): impl.
4425 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4427 * libspi/editabletext.c (spi_editable_text_finalize): kill.
4428 (spi_editable_text_interface_new): upd.
4429 (get_editable_text_from_servant): impl.
4430 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4432 * libspi/text.c (get_text_from_servant): impl.
4433 All impls - update to use it killing more cut and paste,
4434 also fix bad string returns on duff args ( a somewhat
4435 impossible case to handle - but hey ).
4436 (spi_text_construct): impl.
4437 (spi_text_interface_new): upd.
4438 (spi_text_object_finalize): kill.
4440 * libspi/component.c
4441 (accessibility_component_object_finalize): kill.
4442 (spi_component_class_init): upd.
4443 (get_component_from_servant): impl. helper to kill cut & paste.
4444 (impl_accessibility_component_contains):
4445 (impl_accessibility_component_get_accessible_at_point):
4446 (impl_accessibility_component_get_position):
4447 (impl_accessibility_component_get_extents):
4448 (impl_accessibility_component_get_mdi_z_order):
4449 (impl_accessibility_component_get_layer):
4450 (spi_component_interface_new): upd.
4452 * libspi/action.c (spi_action_finalize): kill.
4453 (spi_action_class_init): upd. inherit from SpiObject.
4454 (spi_action_interface_new): upd.
4455 (get_action_from_servant): impl. helper to reduce cut & paste.
4456 (impl_getKeyBinding, impl_getName, impl_doAction),
4457 (impl_getDescription): Use it everywhere.
4459 * cspi/spi_main.c (get_live_refs): a pointer hash.
4460 (spi_object_hash, spi_object_equal): comment out.
4461 There are issues with CORBA object hashing that need
4464 * libspi/application.c (spi_application_init),
4465 (spi_application_new): upd.
4467 * libspi/accessible.c (spi_accessible_object_finalize): kill.
4468 (spi_accessible_class_init): upd.
4469 s/accessible/object/ in epv methods.
4471 2001-12-05 Bill Haneman <bill.haneman@sun.com>
4473 * at-bridge/bridge.c:
4474 Reorder the bridge initialization into the bridge gtk_module_init,
4475 an immediate call to bridge_register_app, and an idle_add for
4476 register_atk_event_listeners (the only code that *must* wait until
4477 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4478 the activation, creates the application's Accessible object, and
4479 queues the bridge_idle_init function. Restored call to
4480 Accessibility_Registry_deregisterApplication().
4481 Prior to making this call we obtain a new reference to the
4482 registry, which is a temporary hack that helps us handle apps that
4483 shut down the bonobo mainloop before we get there.
4485 * libspi/registry.c:
4486 Fix string leakage in debug block, and don't segv if a an app
4487 dies before its event notifications have been propagated.
4490 Modify cspi_check_ev() to call g_warning() rather than g_error(),
4491 as stopgap measure until we get proper exception handling when
4492 objects die during or before interrogation.
4496 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4497 Also changed default value of is_gnome_app to TRUE.
4500 * test/keysynth-demo.c:
4501 Changed use of SPI_init and SPI_event_main to reflect API change above.
4504 Made report_focus_event check the warning value from getName
4505 before reporting on focussed accessible; simplifies handling of
4506 notifications from dead objects.
4508 * test/test-simple.c: (Changes not in this patch since source is
4511 2001-12-05 Michael Meeks <michael@ximian.com>
4513 * registryd/registryd.c (main): protect against
4514 bonobo-activation startup race condition.
4516 * cspi/spi_main.c (cspi_object_add_check): cope
4517 with the exception elegantly.
4519 * idl/Accessible.idl: decl. ChildGone
4521 * libspi/desktop.c (spi_desktop_dispose): impl.
4522 (spi_desktop_class_init): upd.
4523 (spi_desktop_add_application),
4524 (spi_desktop_remove_application),
4525 (abnormal_application_termination): impl.
4526 (impl_desktop_get_child_at_index): re-impl.
4529 (impl_accessibility_registry_deregister_application),
4530 (impl_accessibility_registry_register_application):
4531 kill excessive debug clutter.
4533 * test/test-simple.c (test_misc): test some NULL
4534 tolerance. (main): upd.
4536 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4537 implements no interfaces - so let's not crash.
4539 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4541 * libspi/accessible.c (spi_accessible_new_return): impl.
4542 helper to calm the cut and paste, to cope with
4543 NULL AtkObjects effectively and efficiently, and to kill
4544 the referencing bugs.
4546 * libspi/table.c (impl_getAccessibleAt),
4547 (impl_getRowHeader, impl_getColumnHeader): upd.
4549 * libspi/hyperlink.c (impl_getObject): upd.
4551 * libspi/accessible.c
4552 (impl_accessibility_accessible_get_child_at_index): upd.
4554 * libspi/component.c
4555 (impl_accessibility_component_get_accessible_at_point): upd.
4557 * test/test-simple.c (test_editable_text, test_text): impl.
4560 * cspi/spi_editabletext.c
4561 (AccessibleEditableText_insertText): constify.
4563 * test/test-simple.c (focus_me): make more robust.
4565 * libspi/accessible.c: remove some printfs in methods that
4566 we test and work fine, so we can get a clean tree dump.
4568 * test/test-simple.c (validate_accessible),
4569 (validate_tree): make tree dumping pretty too.
4571 * at-bridge/bridge.c (bridge_signal_listener): upd. so
4572 it builds without debug on.
4574 * test/test-simple.c (validate_accessible): fix the most
4577 * cspi/spi_main.c (spi_object_release): leave the nicely
4578 blanked memory around if in debug mode.
4580 * cspi/spi-listener-impl.c (cspi_event): use add_check.
4582 [committed to fixups2]
4583 2001-12-05 Michael Meeks <michael@ximian.com>
4585 * libspi/editabletext.c
4586 (spi_editable_text_class_init): g_type_class_peek_parent,
4587 not interface peek - so we finalize cleanly.
4589 * libspi/accessible.c (spi_accessible_new): kill debug.
4591 * test/test-simple.c (validate_accessible): fix ref.
4592 leak, print strings before freeing them; sigh, comment a
4593 chunk out due to strangeness.
4594 (validate_tree): unref the child after use.
4596 * cspi/spi_component.c (AccessibleComponent_getLayer):
4597 add missing break statement, switch on zlayer not the
4598 uninitialized retval.
4600 * cspi/spi_main.c (cspi_object_add): add assert, local ref
4601 before (possibly re-entering) remote unref.
4603 * test/simple-at.c (main): unref the desktop.
4605 * cspi/spi_accessible.c (cspi_accessible_is_a): move
4608 * cspi/spi_main.c (cspi_accessible_is_a): here to
4609 isolate bonobo API usage more.
4611 * libspi/registry.c (impl_accessibility_registry_register_application):
4612 prune bogus comment.
4614 2001-12-04 Michael Meeks <michael@ximian.com>
4616 * test/test-simple.c (validate_tree): upd.
4617 IndexInParent check to make it more lucid.
4618 (validate_accessible): dump the tree.
4620 * libspi/accessible.c (de_register_public_ref),
4621 (get_public_refs): impl.
4622 (spi_accessible_new): make more efficient & intuitive.
4623 Now IndexInParent check works.
4625 2001-12-04 Michael Meeks <michael@ximian.com>
4627 * cspi/spi-util.h: remove.
4629 * cspi/spi.h: move SPI_freeString here
4631 * libspi/component.c (impl_accessibility_component_get_layer):
4633 (impl_accessibility_component_get_mdi_z_order): ditto,
4634 return -1 on error - is this ok ?
4636 * test/test-simple.c (test_application): impl.
4638 * cspi/spi_accessible.c (Accessible_getApplication),
4639 (Accessible_isApplication): impl.
4641 * libspi/registry.c (spi_listener_struct_free): release
4642 the CORBA reference too.
4644 * libspi/accessible.c
4645 (impl_accessibility_accessible_get_parent): fix ref leak.
4647 * libspi/registry.c (spi_registry_new): make the registry
4648 immortal - we don't want it to go away ever.
4650 * libspi/application.c
4651 (spi_accessible_application_finalize): impl. cleanup.
4653 * cspi/spi_registry.c
4654 (deregisterGlobalEventListenerAll),
4655 (deregisterGlobalEventListener),
4656 (deregisterAccessibleKeystrokeListener): fix ref leak.
4658 * cspi/spi_main.c (SPI_init): remove redundant ref.
4660 * test/test-simple.c (unutterable_horror): impl. to force a
4665 (impl_accessibility_registry_deregister_application): release
4666 the application when we de-register it.
4668 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
4669 until we have the infastructure to get it right.
4671 2001-12-03 Michael Meeks <michael@ximian.com>
4673 * libspi/Makefile.am: only build eventlistener.[ch]
4675 * libspi/accessible.c
4676 (impl_accessibility_accessible_get_child_at_index): don't leak.
4678 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
4679 before we hit the idle handler.
4681 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
4682 debugging than exit.
4684 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
4686 * libspi/listener.c (impl_notify_event): check source
4687 not NIL before unref.
4689 * libspi/registry.c (impl_registry_notify_event): ditto.
4691 * libspi/eventlistener.c
4692 (impl_accessible_event_notify_event): unref the source.
4694 * libspi/accessibleeventlistener.c
4695 (impl_accessible_event_notify_event): unref the source.
4697 * idl/Event.idl: remove 'hash_id' attribute - of no
4700 * libspi/application.c (notify_listeners): upd list
4702 (spi_application_object_event_listener),
4703 (spi_application_toolkit_event_listener): upd to do correct
4707 (_registry_notify_listeners): update.
4708 (parse_event_type): this method also leaks like a sieve.
4709 (impl_accessibility_registry_deregister_global_event_listener):
4710 fix ETYPE_WINDOW case.
4712 * libspi/application.c
4713 (impl_accessibility_application_register_object_event_listener):
4716 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
4718 * libspi/hypertext.c (impl_getLink): ditto.
4720 * cspi/spi_main.c (cspi_object_add): remove
4721 bogus CORBA_Object_duplicate.
4723 * cspi/spi-listener-impl.c (cspi_event): dup/ref
4726 * cspi/spi_accessible.c
4727 (Accessible_getRelationSet): fix leak / referencing issue.
4729 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
4730 (cspi_object_add, cspi_object_unref): upd.
4731 (spi_object_release, get_live_refs): impl.
4732 (cspi_cleanup): simplify.
4734 * *.[ch]: s/boolean/SpiBoolean/
4736 * cspi/spi_accessible.c (role_names): actualy order so it
4737 corresponds with the enum !
4739 * test/test-simple.c (test_roles): check some role strings
4740 vs. enums to detect offset errors.
4742 2001-12-01 Michael Meeks <michael@ximian.com>
4744 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
4746 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
4748 (Accessible_getChildAtIndex): use cspi_add_check so we
4749 check the ev before using a (possibly) invalid value.
4751 * libspi/accessible.c
4752 (impl_accessibility_accessible_get_parent): don't segv
4755 * at-bridge/bridge.c (gtk_module_init): upd.
4756 (bridge_property_event_listener): don't leak strings
4758 (bridge_state_event_listener),
4759 (bridge_property_event_listener): don't use a static
4760 buffer in case of recursive event emission &
4761 re-enterancy - split out the swathe of cut and paste
4763 (emit_eventv): and fix 2 ref leaks here & comply to the
4765 (bridge_register_app): rename to
4766 (bridge_idle_init): this and kill arg parsing, split
4767 various inits & bonobo-activation registration to module
4768 init time, kill referencing error.
4769 (bridge_exit_func): fix the same leak.
4770 (bridge_focus_tracker): don't leak event structures
4772 (bridge_signal_listener): more leakage and cut & paste
4774 (bridge_key_listener): return the result - FIXME is
4775 this polarity correct ?
4776 (accessibility_keystroke_from_atk_key_event): rename
4777 (accessibility_init_keystroke_from_atk_key_event): and stop
4779 (gtk_module_init): return a value - not that it is checked by
4781 (bridge_key_listener): register my horror at casting between
4782 IDL defined structs.
4783 (bridge_get_registry): kill - not used.
4785 * cspi/spi_accessible.c (Accessible_getRole): make return const.
4787 * test/test-simple.c (test_roles): impl.
4788 (test_desktop, validate_accessible, validate_tree): impl.
4790 * cspi/spi_accessible.c (role_names): fixup bogus
4791 MAX_ROLES setup, make constants const for efficient linkage
4792 (AccessibleRole_getName): conform to coding style, make
4795 2001-11-30 Michael Meeks <michael@ximian.com>
4797 * cspi/spi.h: add missing prototype.
4799 * libspi/registry.c (spi_listener_struct_new): fix sig.
4801 * test/Makefile.am: add test-simple
4803 * test/test-simple.c: add
4805 * test/test.sh: add.
4807 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4809 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4810 do it straight - since otherwise we often get an activation race.
4812 [ work before Bill duplicated a chunk of it ... ]
4813 2001-11-30 Michael Meeks <michael@ximian.com>
4815 * libspi/keystrokelistener.c
4816 (spi_keystroke_listener_class_init): fixup arg
4819 * libspi/eventlistener.c
4820 (spi_event_listener_class_init): ditto.
4822 * tests/test.sh: add.
4824 * cspi/spi-listener-impl.h: update macros.
4826 * cspi/spi-listener-impl.c
4827 (cspi_event_listener_remove_callback): add
4828 correct pre-conditions.
4830 * cspi/spi_main.c (SPI_exit): guard vs. double
4831 exits, exit the mainloop nicely.
4832 (SPI_event_main): make more sense.
4833 (SPI_init): move the atexit evilness here so we
4834 always do it (yuck).
4835 (SPI_event_main): upd.
4837 * test/simple-at.c: update for listener changes.
4839 * registryd/registryd.c (main): prune kruft.
4841 * libspi/libspi.h: upd.
4843 * libspi/eventlistener.[ch]: rename broken macros.
4845 * libspi/accessibleeventlistener.[ch]: remove.
4847 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4849 * test/test-simple.c: Add - automated tests.
4851 * cspi/spi-listener-impl.c (cspi_event),
4852 (cspi_key_event): add user_data to invoke.
4853 (cspi_keystroke_listener_finalize): impl.
4854 (cspi_keystroke_listener_class_init): upd.
4857 (createAccessibleEventListener),
4858 (AccessibleEventListener_addCallback),
4859 (createAccessibleKeystrokeListener),
4860 (AccessibleKeystrokeListener_addCallback): upd.
4862 * libspi/deviceeventcontroller.c
4863 (spi_device_event_controller_check_key_event): add public proto.
4866 (impl_accessibility_registry_deregister_global_event_listener):
4867 always init listeners.
4868 (_registry_notify_listeners): yes it is.
4870 * cspi/spi-listener-impl.c (cspi_key_event):
4872 (cspi_event_listener_finalize): impl.
4873 (cspi_event_listener_class_init): hook up.
4874 (event_handler_new, event_handler_free),
4875 (event_list_remove_by_callback): impl.
4876 (cspi_event_listener_remove_callback),
4877 (cspi_keystroke_listener_remove_callback),
4878 (cspi_keystroke_listener_add_callback),
4879 (cspi_event_listener_add_callback): upd.
4881 * libspi/keystrokelistener.c
4882 (keystroke_listener_object_finalize): kill
4883 (spi_keystroke_listener_class_init): upd.
4884 (spi_keystroke_listener_add_callback),
4885 (spi_keystroke_listener_remove_callback): kill,
4887 (impl_key_event): prune drasticaly.
4889 * libspi/eventlistener.c
4890 (spi_event_listener_add_callback),
4891 (spi_event_listener_remove_callback): kill, use
4893 (impl_accessible_event_notify_event): upd.
4894 (spi_event_listener_object_finalize): remove.
4896 * libspi/Makefile.am: use eventlistener.[ch]
4898 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4900 * libspi/registry.c (_registry_notify_listeners):
4901 Changed listener loop iteration to use preferred convention.
4902 Got rid of string memory leaks caused be calling g_strconcat
4903 inside function calls.
4905 * libspi/registry.c (parse_event_type):
4906 Stopped g_strconcat memory leaks, free the g_strsplit return,
4907 g_strdup the split pieces when used, etc.
4909 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4912 Change method 'compare' to return a 'difference set' rather than
4913 taking a StateSet as an out parameter (more Java-friendly).
4915 * idl/Accessible.idl:
4916 Added CORBA struct 'BoundingBox', to faciliate API changes below:
4918 * idl/Component.idl:
4920 Changed methods 'getExtents' and 'getImageExtents' in these
4921 interfaces to return a BoundingBox structure.
4922 (getPosition and getSize are redundant and possibly should be
4923 removed, rather than creating a corresponding Point struct.)
4925 * cspi/spi_component.c:
4926 Modify implementation of getExtents to reflect the above IDL
4931 Add (missing) AccessibleImage_getExtents () API.
4933 * docs/reference/cspi/at-spi-cspi-sections.txt:
4934 Added AccessibleImage_getImageExtents () to docs.
4936 2001-12-03 Bill Haneman <bill.haneman@sun.com>
4938 * idl/Component.idl:
4939 Added two methods, getLayer () and getMDIZOrder (), to reflect
4940 the new ATK methods atk_object_get_layer and
4941 atk_object_get_mdi_z_order. (Which arguably should be part of the
4942 AtkComponent API and AtkObject). Also added an enum,
4943 ComponentLayer, for the first method's return value.
4945 * libspi/component.c:
4946 Added implementations for these methods.
4948 * cspi/spi_component.c:
4950 Added cspi binding methods for above,
4951 AccessibleComponent_getLayer() and
4952 AccessibleComponent_getMDIZOrder().
4953 Added cspi enum 'AccessibleComponentLayer'.
4955 * docs/reference/cspi/at-spi-cspi-sections.txt:
4956 Added above methods to docs.
4960 Changed typedef for 'boolean' type (and all references to it) to
4961 SPIBoolean, to avoid keyword clashes with C++.
4964 Changed usages of 'boolean' to SPIBoolean.
4966 * test/keysynth-demo.c:
4967 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
4968 app), except where SPIBoolean is required by the callbacks API.
4970 2001-12-02 Bill Haneman <bill.haneman@sun.com>
4972 * cspi/spi_registry.c:
4973 Removed obsolete X event loop for passive keygrabs (which now
4976 * registryd/registryd.c:
4977 Removed unnecessary call to gdk_init() [cruft]. This also allows
4978 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4981 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4983 * docs/reference/cspi:
4984 Included docs for SPI_freeString in generated documentation.
4987 Renamed spi_freeString to SPI_freeString, for consistency. Added
4988 documentation for this function.
4991 Renamed spi_freeString to SPI_freeString, for consistency.
4992 Removed obsolete method declaration string_from_corba_string.
4994 * test/keysynth-demo.c:
4995 Small tweak to comments.
4998 Stopped leaking the strings returned from CSPI.
5000 2001-11-28 Bill Haneman <bill.haneman@sun.com>
5002 Merged Michael's branch (see his ChangeLog entries below).
5004 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
5005 bridge is alive, release on exit.
5007 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
5008 Fix type check macro.
5011 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
5014 Added is_gnome_app static, and method cspi_is_gnome_app(),
5015 so we can call the appropriate shutdown routine at exit in SPI_exit.
5017 * cspi/spi_main.c (cspi_object_ref):
5018 Duplicate the corba object passed in, since we're keeping it around.
5020 * cspi/SPI_exit.c, cspi_cleanup:
5021 Moved the releasing of the live refs to its own function, so we
5022 can put it in g_atexit (). Call the appropriate shutdown API
5023 depending on whethe calling client is a gnome app or not
5024 (bonobo_main_quit or CORBA_ORB_shutdown).
5026 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
5027 Unref the listener when this method is called, after
5028 deregistration. Updated the API docs to note this behavior.
5030 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
5031 Bugfixes: Ref the bonobo object when returning a parent or child
5032 reference, or an AccessibleRelation. Generally made sure
5033 BonoboObject refcount is incremented whenever we return an
5036 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
5037 Fixed typo/bug in signal declaration.
5039 * libspi/accessibleeventlistener.h:
5042 * libspi/application.c (spi_application_new):
5043 Fixed leak in initialization.
5046 Remembered to increment bonobo-object refcount when returning
5047 children (applications) from desktop object.
5048 Added (empty) finalize method.
5050 * libspi/deviceeventcontroller.c:
5051 Hold a ref to listeners inside DEControllerKeyListeners.
5052 Added dec_key_listener_free() method. Use prepend instead of
5053 append in key_listener list. Fixed some refcount madness and
5054 leaks in the listener registration/deregistration - deregistration
5055 now calls dec_key_listener_free() on listeners, and on the
5056 temporarily constructed dec_key_listener() used to perform the search/match.
5058 * libspi/hypertext.c (spi_hypertest_finalize):
5059 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
5060 class. Also fixed spi_hypertext_interface_new() and
5061 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
5063 * libspi/hypertext.h:
5064 Removed pointless and duplicate AtkObject pointer from
5067 * libspi/keystrokelistener.c:
5068 Fixed incorrect type of keystroke_listener_parent_class,
5069 renamed keystroke_listener_object_finalize to
5070 spi_keystroke_listener_object_finalize.
5071 Fixed typo in signal declaration
5072 (spi_keystroke_listener_class_init).
5074 * libspi/registry.c:
5075 Added funcsions spi_listener_struct_new() and
5076 spi_listener_struct_free() to help with memory management issues.
5077 We also now use these methods instead of gnew + poking stuff into
5078 the struct, and to decrement listener counts/free the listeners
5079 when deregistering them.
5080 Fix more refcount bugs in getDesktop() and
5081 getDeviceEventController().
5084 De-ref the desktop after enumerating the applications. Explicitly
5085 decrement the refcounts on the created listeners on exit (using
5086 _unref for keystroke listeners, and via the
5087 deregisterGlobalEventListenerAll command for other event
5090 2001-11-27 Michael Meeks <michael@ximian.com>
5092 * cspi/spi-listener.h: fixup enum.
5094 2001-11-27 Michael Meeks <michael@ximian.com>
5096 * cspi/spi-listener-impl.c (cspi_event_listener_new),
5097 (cspi_keystroke_listener_new): Use the cspi variants.
5099 2001-11-26 Michael Meeks <michael@ximian.com>
5101 * test/keysynth-demo.c: fix 2 compile warnings, missing
5104 * test/simple-at.c (report_focussed_accessible),
5105 (report_focus_event, report_button_press),
5106 (check_property_change, is_command_key),
5107 (report_ordinary_key_event, report_command_key_event): upd.
5109 * util/mag_client.h: include pre-requisites.
5111 * libspi/accessibleeventlistener.c
5112 (spi_event_listener_object_finalize): free any lingering
5115 * libspi/keystrokelistener.c
5116 (keystroke_listener_object_finalize): ditto.
5118 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
5119 callbacks, with cspi types.
5121 * cspi/spi_event.c (createAccessibleEventListener): chain to
5122 (AccessibleEventListener_addCallback): here.
5123 (createAccessibleKeystrokeListener): chain to
5124 (AccessibleKeystrokeListener_addCallback): here.
5126 * libspi/keystrokelistener.c
5127 (spi_keystroke_listener_class_init): add signal.
5128 (impl_key_event): emit the event.
5129 (boolean_handled_accumulator): impl.
5130 (marshal_BOOLEAN__POINTER): add, gack.
5132 * libspi/accessibleeventlistener.c
5133 (spi_event_listener_class_init): add signal.
5134 (impl_accessible_event_notify_event): emit the signal &
5135 make the loop efficient.
5136 (spi_event_listener_add_callback): prepend the callback.
5138 * libspi/accessibleeventlistener.h: add an 'event' signal,
5139 decl type on callback.
5141 * libspi/keystrokelistener.h: ditto.
5143 * cspi/spi-listener.h: make methods typesafe and
5144 make them use the new event typedefs.
5146 * test/simple-at.c (report_focussed_accessible):
5147 include mag_client.h
5148 Use *(void *)text_interface not the other thing.
5150 * configure.in: add gtk to registryd bits - since we use
5153 * util/magnifier.c: include libbonobo.h
5155 2001-11-25 Bill Haneman <bill.haneman@sun.com>
5157 * test/keysynth-demo.c:
5158 Turned this into a simple scanning keyboard, to demonstrate the
5159 use of g_timeout_add () as a means of creating timers for
5160 scanning, and the use of GtkStyle for visually indicating when
5161 virtual keyboard elements are selected.
5163 keysynth-demo now listens to any keyboard keys with zero-valued
5164 keycodes (i.e. 'unused' keys) and interprets them as
5167 Reworked the shiftlatch code so that shift-down state isn't held
5168 for long periods (it's only synthesized immediately prior to
5169 the keysynth event it's modifying). Note that shiftlatch in this
5170 demo is a convenience, not intended to take the place of AccessX
5171 which is the better choice for getting 'sticky' modifier keys.
5173 * libspi/deviceeventcontroller.c:
5174 * at-bridge/bridge.c:
5175 * cspi/spi_registry.c:
5176 Removed some debug print stuff, and put other verbosity in #ifdef
5181 Implemented some more of the magnifier IDL for the simple
5182 magnifier: namely, getZoomRegionParams.
5183 Added mag_x and mag_y members to MagnifierData struct, aid of this
5185 Added GtkWindow::realize signal handler to magnifier, to keep it
5186 from receiving keyboard focus from the WM.
5188 2001-11-23 Mark McLoughlin <mark@skynet.ie>
5190 * cspi/spi-private.h: my guess at what michael forgot
5191 before he ran off to NZ :-)
5193 2001-11-23 Michael Meeks <michael@ximian.com>
5195 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
5196 comment out non existant method invoke so we link.
5198 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
5199 use bonobo_exception_get_text for more friendly warnings.
5201 * cspi/spi.c (Obj_Add): move into spi_main & rename
5202 spi_object_add; kill spi.c
5204 * cspi/spi_registry.c
5205 (deregisterGlobalEventListener),
5206 (deregisterGlobalEventListenerAll),
5207 (registerGlobalEventListener): fix exception leaks.
5209 * cspi/spi_main.c (spi_exception): impl. helper, so we
5210 don't leak exceptions.
5212 * cspi/spi_selection.c
5213 (AccessibleSelection_deselectSelectedChild): return the
5216 * cspi/spi_main.c (spi_ev): impl; hack - gack.
5217 (spi_registry): ditto.
5218 (SPI_init): guard against double inits.
5220 * cspi/*.c: use spi_ev (), and spi_registry () where
5221 appropriate - a temporary hack until we have something
5222 better. Use spi_object_add
5224 2001-11-22 Michael Meeks <michael@ximian.com>
5226 * cspi/Makefile.am: re organise, install the headers.
5228 * cspi/*.h: add G_BEGIN/END_DECLS
5230 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5233 Added non-preemptive keylistener for key events with no modifiers
5234 and shift-only modifier.
5236 * libspi/keystrokelistener.c:
5237 Removed some verbose diagnostics printout.
5239 * cspi/spi_registry.c:
5240 Fixed a bug that caused all key listeners to be registered as
5243 * libspi/deviceeventcontroller.c:
5244 Fixed bug that caused XGrabKey (preemptive key grab) to be called
5245 for non-preemptive key masks.
5248 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5250 * docs/reference/idl/at-spi-idl-docs.sgml:
5251 * docs/reference/idl/at-spi-idl-sections.txt:
5252 * docs/reference/idl/at-spi-idl-overrides.txt:
5253 Added missing files.
5255 * docs/reference/Makefile.am:
5256 removed idl from SUBDIRS until we can figure a way to get gtk-doc
5257 to scan the IDL files :-(
5262 Added .cvsignore files.
5264 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5266 * libspi/deviceeventcontroller.c:
5267 * libspi/keystrokelistener.c:
5269 * cspi/spi_registry.c:
5270 Added filters for KeySets, KeyEventSeq, and event types to key
5271 event dispatching, so listeners should only receive those events
5272 that they requested :-)
5274 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5279 * docs/reference:Makefile.am:
5280 * docs/reference/cspi:
5281 * docs/reference/cspi:Makefile.am:
5282 * docs/reference/cspi:tmpl:
5283 * docs/reference/cspi:tmpl:*.sgml:
5284 * docs/reference/idl:
5285 * docs/reference/idl:Makefile.am:
5286 * docs/reference/idl:at-spi-idl-sections.txt:
5287 * docs/reference/idl:at-spi-idl-docs.sgml:
5288 * docs/reference/idl:tmpl:
5289 * docs/reference/idl:tmpl:*.sgml:
5291 Restructured docs directory to allow separate 'reference' docs
5292 section, and forked idl and cspi docs. Added the sgml template
5293 files to CVS. Added the first sections/structural sgml for the
5296 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
5298 * configure.in, libspi/Makefile.am: find libXtst.
5300 2001-11-21 Michael Meeks <michael@ximian.com>
5302 * test/accessx-gui.c: s/spi_value/value/ - doh.
5304 * libspi/base.[ch]: add.
5306 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5308 * idl/Accessible.idl:
5309 * idl/Application.idl:
5312 Started gtk-doc cleanup on IDL.
5314 * libspi/deviceeventcontroller.c:
5315 Added and connected non-preemptive key notification from the
5316 toolkits (in addition to the pre-emptive support from XServer
5317 which we had before, but which causes 'focus flashing'). Filters
5318 are presently limited to key modifiers and global/non-global,
5319 KeySets are presently ignored, as are KeyEvent masks.
5321 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
5322 structs into the persistant structure rather than just storing
5323 pointers to things that might not persist across servant
5326 The XGrabKey call now does async keygrabs, because synchronous
5327 ones were deadlocking with GDK_event code in a very nasty way.
5329 Added boolean to internal method notify_keylisteners, to indicate
5330 whether the event came from the 'toolkit source' or the 'global
5331 (XServer) source' - this is used in the notification process to
5332 determine which listeners to send the event to.
5334 deviceeventcontroller.c is now warning-free.
5336 * libspi/registry.c:
5337 Fixed regression in application de-registration.
5338 Also fixed some really brain-dead weirdness having to do with
5339 event dispatching - event structs are now duplicated before being
5340 re-marshalled in the dispatch to listeners. This also fixes a
5341 Solaris build problem.
5344 2001-11-20 Michael Meeks <michael@ximian.com>
5347 (impl_accessibility_registry_deregister_global_event_listener):
5350 * libspi/deviceeventcontroller.c
5351 (spi_device_event_controller_check_key_event): return
5352 FALSE on no virtual method.
5354 * libspi/*..h: make includes work on a correctly pathed install.
5356 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
5358 * libspi/application.h: kill unused ( and whacked out )
5359 gboolean *spi_application_set_id (AtkObject *app, long id);
5361 2001-11-20 Michael Meeks <michael@ximian.com>
5363 * libspi/*.[ch]: further convert to bonobo's type func
5364 macros, remove redundnant casts etc.
5366 * libspi/text.c s/accessibility_text/spi_text/g,
5367 re-order to de-cruft.
5369 * libspi/hypertext.c: re-order to kill a huge slew
5370 of redundant forward decls.
5372 * libspi/relation.c: ditto.
5374 * libspi/image.c: ditto.
5376 * */.cvsignore: update
5378 2001-11-20 Michael Meeks <michael@ximian.com>
5380 * libspi/deviceeventcontroller.c
5381 (_controller_register_with_devices): use g_getenv,
5382 kill stdlib.h include.
5384 * libspi/keystrokelistener.c
5385 (spi_keystroke_listener_get_type): kill
5386 (spi_keystroke_listener_class_init),
5387 (spi_keystroke_listener_init): rename to this.
5389 * libspi/text.c (impl_getAttributes): fix warning / bug.
5391 * libspi/*.[ch]: more headers, includes and over commenting.
5393 2001-11-20 Michael Meeks <michael@ximian.com>
5395 * libspi/*.[ch]: fixup headers, includes and over commenting.
5397 * libspi/image.c (impl__get_imageDescription): const
5398 correctness warning fix. remove redundant casting.
5400 * libspi/table.c (impl_getRowDescription): ditto.
5401 (impl_getColumnDescription): ditto.
5403 * libspi/libspi.h: add.
5405 2001-11-19 Michael Meeks <michael@ximian.com>
5407 * libspi/editabletext.c (impl_setAttributes): fix warnings.
5409 * libspi/component.c (accessibility_component_get_type):
5410 rename to (spi_component_get_type): and macroify.
5411 (accessibility_component_init): rename to
5412 (spi_component_init): this
5413 (accessibility_component_class_init): rename to
5414 (spi_component_class_init): this
5416 * libspi/action.c (spi_action_get_type): kill, use the macro.
5418 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
5421 * libspi/application.c (spi_application_object_event_listener),
5422 (impl_accessibility_application_register_object_event_listener):
5423 warning fixes / const understanding updates.
5425 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
5428 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5430 * libspi/spi_accessible.c: Added docs and C bindings for
5431 AccessibleStateSet. (No implementations yet). Documentation
5432 coverage for C bindings now 100%. Made docs for event listeners
5437 boolean notifyListenersSync (in DeviceEventListener listener,
5438 in DeviceEvent event);
5440 oneway void notifyListenersAsync (in DeviceEventListener listener,
5441 in DeviceEvent event);
5443 Added DeviceEventListener and DeviceEvent structs (may deprecate
5444 KeyStroke and KeystrokeListener in favor of this generic
5445 event/listener framework for devices).
5447 * libspi/deviceeventcontroller.c:
5449 Changed some key listener code to take masks, etc., and paved the
5450 way for integration of toolkit/non-preemptive key events. Changed
5451 signatures of some internal methods.
5453 * at-bridge/bridge.c:
5454 Fixed regression connecting to interface signals, apparently
5455 caused by GTK+ changes.
5457 Added an internal bridge_state_listener to deal with
5458 property-change:accessible-state signals.
5460 Changed the key_listeners GList to store structs (including masks,
5461 etc.) instead of just CORBA_Objects (required for full
5462 implementation of key listener API).
5464 Connected the bridge to all currently supported Atk signals.
5465 Events now supported:
5466 object:property-change
5467 object:property-change:accessible-name
5468 object:property-change:accessible-state
5469 object:property-change:accessible-description
5470 object:property-change:accessible-parent
5471 object:property-change:accessible-value
5472 object:property-change:accessible-role
5473 object:property-change:accessible-table-caption
5474 object:property-change:accessible-table-column-description
5475 object:property-change:accessible-table-column-header
5476 object:property-change:accessible-table-row-description
5477 object:property-change:accessible-table-row-header
5478 object:property-change:accessible-table-summary
5479 object:children-changed
5480 object:visible-data-changed
5481 object:selection-changed
5482 object:text-selection-changed
5484 object:text-caret-moved
5486 object:row-reordered
5488 object:column-inserted
5489 object:column-reordered
5490 object:column-deleted
5491 object:model-changed
5493 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5495 * libspi/hyperlink.c,h:
5496 Fixed some broken stuff in hyperlink.
5498 * libspi/relation.h:
5499 * libspi/relation.c:
5500 * cspi/spi_accessible.c:
5501 Initial implementations of AccessibleRelation methods, and docs.
5503 * libspi/accessible.c:
5504 Fixed a bug that caused SEGV if an accessible
5505 object's description is NULL, and a client
5506 requests it. An empty string is now returned.
5508 * cspi/spi_editabletext.c:
5509 * cspi/spi_hypertext.c:
5511 * cspi/spi_hyperlink.c:
5515 Doc coverage now 95%.
5517 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5519 One last namespacing revision:
5520 * libspi/accessibleeventlistener.[ch]:
5521 Renamed SpiAccessibleEventListener to SpiEventListener,
5522 (no need for two namespaces ;-)
5524 And lots of documentation fixes:
5526 * docs/at-spi-docs.sgml:
5527 Fixed 'underscore vs. hyphen' bug that was preventing
5528 the gtk-doc API docs from being automatically generated.
5531 * cspi/spi-listener.h
5533 * cspi/spi_accessible.c
5535 * cspi/spi_application.c
5536 * cspi/spi_component.c
5537 * cspi/spi_editabletext.c
5539 * cspi/spi_hypertext.c
5541 * cspi/spi_registry.c
5542 * cspi/spi_selection.c
5546 * docs/at-spi-docs.sgml
5547 * docs/at-spi-sections.txt
5549 Added and fixed up gtk-doc documentation in cspi.
5551 Interfaces now (fully) documented (subject to revision and enhancement):
5553 Event Listener Support
5555 AccessibleApplication
5559 AccessibleEditableText
5566 AccessibleRelationSet
5571 2001-11-14 Bill Haneman <bill.haneman@sun.com>
5573 * at-bridge/bridge.c:
5574 Initial work for toolkit-level key snooper connection by bridge.
5579 New typedefs and fixes to support new namespacing, and cleaner
5580 separation of cspi bindings from libspi bonobo implementation.
5581 Removed inconsistent and extraneous Spi* namespace prefix that
5582 had crept into cspi headers.
5583 Lots of comment fixes that sed had missed.
5585 * cspi/spi-roletypes.h:
5586 * cspi/spi-statetypes.h:
5587 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
5588 to AccessibleRoleType.
5590 * libspi/accessibleeventlistener.h:
5591 Fixed minor namespacing weirdness.
5593 * libspi/deviceeventcontroller.c:
5594 Reordered some internal API for device listeners.
5595 Changed the key registry final boolean to 'is_system_global'
5596 rather than 'is_synchronous', which is more descriptive of its
5598 Added spi_device_event_controller_new().
5599 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
5601 * libspi/keystrokelistener.[ch]:
5602 Namespaced KeystrokeListener to SpiKeystrokeListener.
5603 Changed uses of keymasks to use SPI_ prefix, and did other
5606 * libspi/keymasks.h:
5607 Namespaced keymask constants with SPI_ prefix.
5609 * libspi/registry.c:
5610 Some warning fixes, and knock-on fixes from namespace changes.
5613 Added rules for accessx-gui test program.
5615 * test/accessx-gui.c:
5616 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
5617 utility. It doesn't actually use at-spi, but it's still cool and
5620 * test/keysynth-demo.c:
5624 Fixes so that these test clients work properly with the namespaced
5625 libraries. (Incompletely tested for technical reasons, fixes may follow)
5628 2001-11-13 Michael Meeks <michael@ximian.com>
5630 * libspi/application.c
5631 (impl_accessibility_application_get_version),
5632 (impl_accessibility_application_get_toolkit_name):
5634 (impl_accessibility_application_set_id),
5635 (impl_accessibility_application_get_id): remove
5636 redundant casting code.
5638 * libspi/action.c (impl_getDescription): fix warnings.
5640 * libspi/accessible.c
5641 (impl_accessibility_accessible_get_parent),
5642 (impl_accessibility_accessible_get_child_at_index),
5643 (impl_accessibility_accessible_get_state),
5644 (impl_accessibility_accessible_get_relation_set):
5645 warning fixes & include action.h
5647 2001-11-13 Michael Meeks <michael@ximian.com>
5649 * *.[ch] fix bits I screwed up:
5651 s/([^ \tb(\*\&\?\",])spi_/\1/g;
5652 s/([^ \tb(\*\&\?\",])Spi/\1/g;
5654 2001-11-13 Michael Meeks <michael@ximian.com>
5656 * *.[ch] Namespace libspi into spi_ and Spi.
5658 2001-13-11 Michael Meeks <michael@ximian.com>
5660 * Makefile.am: dist & install at-spi-1.0.pc
5662 * libspi/Makefile.am: install into at-spi-1.0
5664 * idl/Makefile.am (idldir): install into at-spi-1.0
5666 * at-spi-1.0.pc.in: add.
5668 * configure.in: build it.
5670 2001-11-12 Bill Haneman <bill.haneman@sun.com>
5672 * test/keysynth-demo.c:
5673 Use a 'realize' signal-handler to set the WM properties for
5674 the virtual keyboard, rather than making it a "POPUP" type
5675 override-redirect window (thanks to anders carlsson for that
5678 2001-11-11 Bill Haneman <bill.haneman@sun.com>
5681 * test/keysynth-demo.c:
5682 Added new test of key synthesis, which creates a simple
5683 (mouse-operated) onscreen keyboard. It inserts key events into
5684 the currently-focused window, thus it does not grab keyboard focus
5687 * cspi/spi_registry.c:
5688 Added C binding for AT-SPI generateKeyEvent.
5690 * libspi/deviceeventcontroller.c:
5691 Added call to XFilterEvent so that key listener works with XIM (we
5692 hope). Added event_synth_type to generateKeyEvent, so that we can
5693 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
5694 synthesize a press/release pair for KeySyms.
5696 2001-11-09 Bill Haneman <bill.haneman@sun.com>
5698 * libspi/Makefile.am:
5699 * registryd/Makefile.am:
5700 (temporary) hack to include libXtst in libspi and registryd.
5701 (Needed for keystroke synthesis, see below).
5704 Improved API for registerKeystrokeListener, in accordance with
5705 discussions with Gnopernicus team and X server research.
5707 * libspi/registry.c:
5708 * libspi/deviceeventcontroller.c:
5709 * libspi/accessible.c:
5710 * libspi/keystrokelistener.c:
5711 Changes and fixes to support keylisteners for potentially
5712 consumed key events (that is, 'passive grabs').
5713 Added implementation for generateKeyEvent() [untested].
5716 Changes to registerKeystrokeListener() API, as above.
5717 Added deregisterGlobalEventListenerAll(), and
5718 deregisterKeystrokeListener(), which are needed for clean exit of
5720 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
5721 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
5723 * cspi/spi_registry.c:
5724 Added implementations of function prototypes mentioned above.
5726 * registryd/registryd.c:
5727 Added the key listener event source as a g_timeout(), to allow
5728 receipt of key events that are not caught by GDK (since GDK
5729 doesn't support passive keygrabs, this was necessary).
5732 Changed to attach a keylistener to 'Alt' keys, and
5733 respond to the following keycommands: Alt-M (toggle magnifier);
5734 Alt-F (toggle speech); Alt-Q (quit).
5735 Added an exit routine to deregister the listeners, and a key
5736 listener that prints some key info to the console when a key
5737 matches the listener mask (and is thus received by the listener).
5739 * util/idl/Magnifier.idl:
5740 Changes to magnifier API to support multiple zoom regions,
5741 non-uniform scaling in x and y, markDirty, and a host of other
5742 features that would be useful to magnification.
5745 * util/mag_client.c:
5746 * util/mag_client.h:
5747 * util/mag_control.c:
5749 Source code changes to support the above IDL changes.
5752 As above, and also changes to use a (slower) generic conversion
5753 path for colormap conversions, since the fast RGB conversions have been
5754 reported to fail for 16-bit displays.
5756 2001-10-26 Michael Meeks <michael@ximian.com>
5758 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
5760 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
5762 * at-bridge/Makefile.am: fix LDFLAGS.
5764 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5766 * at-bridge/bridge.c:
5767 Re-worked listeners for toolkit events, now we have signal
5768 and property listeners. Added a private method
5769 register_atk_event_listeners(), which registers with the
5770 various atk and gtk signals we need to monitor in order to emit
5772 Added emission hook for AtkObject:property-change events, to
5773 support the 'property listeners'.
5774 Fixed some alloc()s of Accessibility_Event structs to use CORBA
5777 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5778 which emit warnings and exit, respectively, if CORBA errors occur
5779 during remote calls, and we now use these methods to check most of
5780 our CORBA calls in the C bindings.
5782 * cspi/spi_accessible.c:
5783 Changed AccessibleSelection_refSelectedChild() to
5784 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5785 now increment refcounts.
5787 * cspi/spi_component.c:
5788 Fixed some long pointer casts (dangerous!) to pass pointers to
5789 CORBA_longs of the proper type to the CORBA stubs, and copy the
5790 data into the longs that were passed into the C bindings code.
5792 * at-bridge/bridge.c:
5794 * libspi/accessible.c:
5795 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5796 hyperlinks, AtkHyperlink is an object type.
5798 * libspi/application.c:
5799 Added various conversions to and from "generic" event types and
5800 atk-specific types; this is really part of the 'bridge'
5801 implementation but is valid for all AtkObject-based accessibility
5804 * libspi/editabletext.c:
5805 Fixed nasty bug wherein editable text's finalize method was
5806 unref'ing tha AtkObject reference that the text parent class was
5807 about to unref _again_. There was also a nasty inheritance bug
5808 that meant that the AccessibleEditableText class was corrupt.
5810 * libspi/selection.c:
5811 Provided implementations for some selection API that was broken.
5813 * idl/Application.idl:
5814 Added registerObjectEventListener () method.
5817 Fixed a number of return values that were Bonobo_Unknowns from
5818 bonobo_object_corba_objref(), which I
5819 forgot to dup before returning. Changed instances of
5820 bonobo_object_corba_objref (bonobo_object(o)) to
5821 BONOBO_OBJREF(o), for concision and clarity.
5823 2001-10-13 Louise Miller <louise.miller@sun.com>
5825 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5826 idl/Event.idl, idl/Registry.idl
5827 Changed these files to include Bonobo_Unknown.idl instead
5830 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
5832 * libspi/component.c libspi/component.h:
5833 Fixed typo. Added assertions for object checks in
5834 AccessibleComponent code.
5836 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5838 * idl/Accessible.idl:
5839 Added 'isEqual (Accessible *object)'
5840 method for Accessible. (Not Yet Implemented).
5843 Changed signature of registerKeystrokeListener() to
5844 take a KeySet and KeyEventSeq so that specific keys and event
5845 types could be requested for monitoring, and added a flag
5846 is_synchronous so that either synchronous or asynchronous
5847 notification could be requested. (However this is not all
5848 implemented yet). This also meant adding two new typedefs,
5849 KeyEventSeq and KeySet.
5852 Added two new relations, RELATION_TOOLTIP_FOR and
5853 RELATION_LEAFNODE_OF.
5856 Added new state, STATE_HAS_TOOLTIP.
5858 * libspi/text.c, editabletext.c:
5859 Added new assertions to all casts of bonobo-objects from
5860 CORBA servants, to prevent Text API calls on non-text objects.
5861 Changed suspect casts of int-pointer types, so that we
5862 always send a valid CORBA_long pointer to the CORBA APIs that use
5863 in/out long parameters. We then have to copy from the CORBA_long
5864 into the regular long or int for return to the C bindings, or
5865 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5868 * libspi/deviceeventcontroller.c:
5869 Cleaned these sources up.
5871 Changed return type for getCharacterAtOffset to
5872 CORBA_unsigned_long, to allow for 32-bit characters.
5875 2001-10-08 Bill Haneman <bill.haneman@sun.com>
5879 Fixed 'make dist' so that distro compiles...
5880 * libspi/keymasks.h:
5882 * cspi/spi-listener.c:
5883 KeystrokeListenerCB now returns a boolean.
5885 Added KeyEventType struct, and KeyStroke.
5886 Also added createKeystrokeListener(),
5887 KeystrokeListener_addCallback(),
5888 KeystrokeListener_removeCallback(), and added a keymask to
5889 registerKeystrokeListener().
5890 * cspi/spi_accessible.c:
5891 Changed numerous return types for interfaces from
5892 AccessibleComponent to Accessible<InterfaceName>; this was
5893 probably a cut-and-paste error.
5895 Implementations of new KeystrokeListener api (from spi.h,
5898 Changes to key modifier mapping.
5899 Created ControllerEventMask struct.
5900 Made DeviceEventController derive from Bonobo::Unknown.
5902 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
5903 * libspi/deviceeventcontroller.c:
5904 Added a number of new internal (private) methods.
5905 * libspi/editabletext.c:
5906 * libspi/editabletext.h:
5907 Fixed a number of bugs related to the fact that
5908 editabletext inherits from text. Fixed the EditableText struct,
5909 the init() call, and use correct casts when calling Text methods
5910 from an EditableText object. Removed (duplicate) atko from the
5911 EditableText structure, we use the one in the parent Text
5912 structure via the casts mentioned above.
5913 * libspi/keystrokelistener.[ch]:
5914 * libspi/registry.c:
5915 Changes in support of keyboard handling (above).
5917 Keyboard handling, though partly functional, is still not
5918 recommended for at-spi client use as there is considerable
5919 work yet to be done.
5922 Changed some places where pointers to various int types
5923 are cast to be pointers to CORBA_long types and vice-versa:
5924 pointer casting is not safe so we pass pointers of the correct
5925 types and then cast the result before putting it into the target
5928 * libspi/text.h: minor typos corrected.
5930 We now speak not only the name of a Text element, but the
5931 first sentence of its content, when it receives focus.
5932 I also changed the text compression to 75% from 50%.
5933 * util/Accessibility_Util.server.in:
5934 Changed the default magnifier type to be a 3x vertical
5935 splitscreen magnifier (was previously a 2x horizontal one).
5937 2001-10-03 Bill Haneman <bill.haneman@sun.com>
5939 * libspi/keystrokelistener.h:
5940 * libspi/keystrokelistener.c:
5941 Initial functional implementations of KeystrokeListener.
5944 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
5946 Fixed string handling for NULL strings in libspi.
5947 Added spi_freeString to free strings returned by C bindings.
5949 2001-09-30 Bill Haneman <bill.haneman@sun.com>
5951 * libspi/keystrokelistener.h:
5952 * libspi/keystrokelistener.c:
5953 Began (no-op) implementations of KeystrokeListener
5955 * libspi/deviceeventcontroller.c:
5956 * libspi/deviceeventcontroller.h:
5957 Began creating implementations of DeviceEventController,
5958 to handle keystroke and mouse event listening and
5960 * libspi/accessible.c:
5961 Stubbed-in the implementations for
5962 Accessibility_Accessible_getState and
5963 Accessibility_Accessible_getRelationSet.
5964 * libspi/registry.c:
5965 Improved de-registration process and fixed some bugs,
5966 deregistration now works correctly.
5968 Added initialization of applications list (to NULL).
5970 Reduced speech compression from 0.5 to 0.7, for demo.
5971 Changed call to gdk_window_set_decorations()
5972 to gtk_window_set_decorated().
5973 * at-bridge/bridge.c:
5974 Bridge now deregisters when app exits, via
5975 registration of a cleanup function
5976 with the g_atexit() call.
5977 Required making 'app' static, renamed 'this_app'.
5978 Fixed broken use of bonobo_init, passing argv wrongly.
5980 2001-09-27 Bill Haneman <bill.haneman@sun.com>
5984 Created a new directory for
5985 accessibility-related utilities, primarily for
5986 testing and demo purposes, but with possible
5993 Onscreen magnifier utility that
5994 is implemented as a bonobo service.
5996 * util/mag_client.c:
5997 * util/mag_client.h:
5998 Client-side support (simple C bindings)
5999 for Magnification service
6001 * util/mag_control.c:
6002 Client program example for
6003 Magnification service
6005 * util/Accessibility_Magnifier.server.in:
6006 Bonobo-activation file for the
6007 Magnification service.
6010 * util/idl/Magnifier.idl:
6011 IDL defining the bonobo Magnification
6015 Modifications to use the bonobo-activated magnifier
6016 above, in place of trying to connect to an existing
6017 magnifier that uses socket-listening IPC.
6019 If env variable MAGNIFIER is set, a magnifier service
6020 will be started if one does not exist.
6022 2001-09-25 Bill Haneman <bill.haneman@sun.com>
6024 * at-bridge/bridge.c:
6025 applied patch from Marc to build and run
6026 against new glib and gtk+ (seemed like a change
6027 to bonobo_init signature was made ?)
6029 made festival-server support turned off by default.
6030 Added support for a simple magnifier (off by default)
6031 which will be added to a 'util' directory later.
6032 * at-bridge/Makefile.am:
6033 Changed "application.h" header from a 'source'
6034 to a 'dependency' of libat-bridge.
6036 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6045 Added interface implementation c files to list of
6046 includes so they are included in libcspi.
6049 Changed prototype of AccessibleAction_doAction to return a
6051 Changed prototype of AccessibleTable_getCaption to
6052 return an Accessible.
6053 Changed prototype of AccessibleTable_getSelectedRows
6054 and AccessibleTable_getSelectedColumns to
6055 return a long (returns the number of selected rows
6056 or columns respectively).
6057 Changed name of AccessibleText_refRunAttributes to
6058 AccessibleText_getAttributes.
6059 Changed prototype of AccessibleText_getCharacterExtents to
6060 return a void rather than a boolean.
6061 Added support for a AccessibleCoordType parameter
6062 specifying what type of coordinates are desired.
6063 Added an AccessibleCordType parameter to
6064 AccessibleText_getPointAtOffset.
6066 * cspi/spi_accessible.c:
6067 Added code to return the outstanding interfaces from
6068 Accessible_queryInterface.
6070 * cspi/spi_action.c:
6072 Corrected call to getNActions to call the c binding
6075 * cspi/spi_editabletext.c:
6077 Changed name from setRunAttributes to setAttributes.
6079 * cspi/spi_hyperlink.c:
6081 Changed call to getNAnchors to correctly call the c
6082 binding for an attribute.
6084 * cspi/spi_hypertext.c:
6086 Changed getImageDescription to correctly call the
6087 binding for an attribute.
6089 * cspi/spi_selection.c:
6090 Changed getNSelectedChildren to correctly call the c
6091 binding for the attribute.
6092 Changed refSelectedChild to getSelectedChild.
6096 Changed getCaption to return an Accessible.
6097 Fixed calls which retrieve attributes.
6098 Changed refAt to getAccessibleAt.
6099 Changed getNSelectedRows and getNSelectedColumns to
6103 Changed getCharacterExtents and getPointAtOffset to accept an
6104 AccessibleCoordType.
6106 Changed calls which retrieve attributes.
6107 Changed refRunAttributes to getAttributes.
6112 * idl/Hyperlink.idl:
6113 Changed n_anchors attribute to nAnchors to keep naming
6114 convention consistent.
6117 Made Table inherit from Bonobo::Unknown.
6118 Added nSelectedColumns and nSelectedRows attributes.
6121 Made Value inherit from Bonobo::Unknown.
6123 * libspi/hyperlink.c:
6124 Change for nAnchors attributte name change.
6126 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6134 Added interface implementation c files to list of
6135 includes so they are included in libcspi.
6138 Changed prototype of AccessibleAction_doAction to return a
6140 Changed prototype of AccessibleTable_getCaption to
6141 return an Accessible.
6142 Changed prototype of AccessibleTable_getSelectedRows
6143 and AccessibleTable_getSelectedColumns to
6144 return a long (returns the number of selected rows
6145 or columns respectively).
6146 Changed name of AccessibleText_refRunAttributes to
6147 AccessibleText_getAttributes.
6148 Changed prototype of AccessibleText_getCharacterExtents to
6149 return a void rather than a boolean.
6150 Added support for a AccessibleCoordType parameter
6151 specifying what type of coordinates are desired.
6152 Added an AccessibleCordType parameter to
6153 AccessibleText_getPointAtOffset.
6155 * cspi/spi_accessible.c:
6156 Added code to return the outstanding interfaces from
6157 Accessible_queryInterface.
6159 * cspi/spi_action.c:
6161 Corrected call to getNActions to call the c binding
6164 * cspi/spi_editabletext.c:
6166 Changed name from setRunAttributes to setAttributes.
6168 * cspi/spi_hyperlink.c:
6170 Changed call to getNAnchors to correctly call the c
6171 binding for an attribute.
6173 * cspi/spi_hypertext.c:
6175 Changed getImageDescription to correctly call the
6176 binding for an attribute.
6178 * cspi/spi_selection.c:
6179 Changed getNSelectedChildren to correctly call the c
6180 binding for the attribute.
6181 Changed refSelectedChild to getSelectedChild.
6185 Changed getCaption to return an Accessible.
6186 Fixed calls which retrieve attributes.
6187 Changed refAt to getAccessibleAt.
6188 Changed getNSelectedRows and getNSelectedColumns to
6192 Changed getCharacterExtents and getPointAtOffset to accept an
6193 AccessibleCoordType.
6195 Changed calls which retrieve attributes.
6196 Changed refRunAttributes to getAttributes.
6201 * idl/Hyperlink.idl:
6202 Changed n_anchors attribute to nAnchors to keep naming
6203 convention consistent.
6206 Made Table inherit from Bonobo::Unknown.
6207 Added nSelectedColumns and nSelectedRows attributes.
6210 Made Value inherit from Bonobo::Unknown.
6212 * libspi/hyperlink.c:
6213 Change for nAnchors attributte name change.
6216 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
6218 implementations-- made server implementations own AtkObject pointers
6219 rather than their respective AtkInterrface pointers to fix
6220 refcounting. AtkHyperlink is still broken.
6222 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6223 * cspi/spi_accessible.c:
6224 Added method Accessible_Role_getName(),
6225 and requisite string array (role_names).
6226 Added conversion string_from_corba_strin() call
6227 to Accessible_getName and _getDescription.
6228 * libspi/accessible.c:
6229 Added implementation for Accessible_getRole()
6231 Added festival support, used if environment variable
6234 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6236 * at-bridge/bridge.c:
6237 Now allocate Accessibility_Event using
6238 Accessibility_Event__alloc() instead of g_new0().
6239 * libspi/accessibleeventlistener.c:
6240 Initialize AccessibleEventListener->callbacks to NULL.
6241 Fixed accessible__event_listener_init() param, changed to
6242 "AccessibleEventListener *" type.
6243 Changed a bonobo_object_release_unref() call to
6244 Accessibility_Accessible_unref().
6245 * libspi/listener.c:
6246 Changed Bonobo_Unknown_unref to (equivalent)
6247 Accessibility_Accessible_unref.
6248 * libspi/registry.c:
6249 Changed bonobo_object_release_unref to
6250 Accessibility_Accessible_unref.
6252 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6255 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
6256 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
6257 spi-util.c spi-util.h
6258 Implementations for C bindings to remaining accessibility
6261 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6264 changed return value of Action from void to boolean to
6265 bring in line with ATK.
6268 Changed getText funcions to return "out" start and end offsets.
6269 Changed getAttributes to take and offset and return the start
6270 and end offset of the attribute run.
6271 Changed getOffsetAtPoint and getCharacterExtents to take an
6272 enum describing whether coordinates are window or screen.
6275 libspi/action.c libspi/action.h libspi/editabletext.c
6276 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
6277 libspi/hypertext.c libspi/hypertext.h libspi/image.c
6278 libspi/image.h libspi/selection.c libspi/selection.h
6279 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
6280 libspi/value.c libspi/value.h
6281 Added server implementations for outstanding ATK interfaces
6282 not yet implemented.
6284 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6287 Added (missing) getName() method.
6288 Made nActions an attribute.
6289 * idl/EditableText.idl:
6290 Changed order of params in setAttributes.
6291 * idl/Hyperlink.idl:
6292 Removed getAnchor, added getURI.
6294 Changed attributes to methods, for efficiency
6295 (so that getting extents can be done in one call)
6296 * idl/Selection.idl:
6297 Changed nSelectedChildren to attribute, and re-indented.
6298 * idl/Table.idl: changed nrows, ncolumns, caption, summary
6300 * idl/Text.idl: reformatted to match our coding style.
6301 (temporarily?) removed getRowColumnAtOffset().
6302 Changed text selection API to support multi-select and
6303 non-contiguous selections, as in ATK.
6304 * idl/Value.idl: changed some methods to attributes.
6306 2001-08-24 Mark McLoughlin <mark@skynet.ie>
6308 * libspi/listener.c(impl_notify_event):
6309 BonoboUnkown_unref the source instead
6310 of bonobo_object_release_unref - the ORB
6311 handles the releasing.
6313 * configure.in: require ORBit-2.3.94 for
6316 2001-08-21 Bill Haneman <bill.haneman@sun.com>
6318 Tagged CVS repository 'EA_1_0'.
6319 * README.EARLY_ACCESS:
6320 Alphabetized acknowledgements list, and
6322 Listed some known dependencies of at-spi.
6324 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6326 * docs/at-spi-docs.sgml:
6327 * docs/at-spi-sections.txt:
6328 * docs/at-spi-overrides.txt: (Added zero-length file)
6329 Documentation improvements - gtk-doc should build
6330 docs for all implemented C bindings now.
6333 * cspi/spi.c: (New file)
6334 * cspi/spi_event.c: (New file)
6335 * cspi/spi_registry.c: (New file)
6336 * cspi/spi_accessible.c: (New file)
6337 * cspi/spi_application.c: (New file)
6338 * cspi/spi_component.c: (New file)
6339 Split spi_main.c into six parts, and included them from
6340 "spi.c". This is a bit of a hack, probably temporary,
6341 but required by gtk-doc, apparently.
6343 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6346 * docs/at-spi-docs.sgml:
6347 * docs/at-spi-sections.txt:
6349 Initial checkins/modifications for gtk-doc generation.
6352 Added (missing) interface query methods to Accessible's C binding.
6354 Added GenericInterface type definition.
6356 Added query for AccessibleComponent interface to focus event handler.
6357 Added printout of bounding box for focussed component.
6358 * libspi/component.c:
6359 Added partial implementation for AccessibleComponent to C binding.
6360 * idl/Application.idl:
6361 * libspi/registry.c:
6362 * libspi/listener.c:
6363 * libspi/application.c:
6364 * libspi/application.h:
6365 Changed "ID" attribute type from string to long.
6367 2001-08-19 Bill Haneman <bill.haneman@sun.com>
6371 Made method naming consistent: methods taking object args
6372 start with uppercase, other methods (except those using
6373 acronyms) start with lowercase. Underscores delimit between
6374 object names and method names:
6375 SPI_init() - uppercase since it starts with an acronym.
6376 getDesktopCount () - lowercase start since no object param0.
6377 Accessible_getName() - uppercase object type name, studlyCaps method
6381 Added gtk-doc documentation for all currently implemented
6382 methods in the C bindings API.
6384 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6386 * Makefile.am : changed build order to build test last.
6389 Changed "createEventListener" to "CreateEventListener".
6390 * libspi/accessibleeventlistener.c :
6391 Bugfix for addition of callbacks.
6392 * test/Makefile.am :
6393 * test/simple-at.c :
6394 Added new test that uses the C bindings API.
6396 * libspi/listener.c :
6397 * libspi/registry.c :
6398 * libspi/accessibleeventlistener.c :
6399 * at-bridge/bridge.c :
6400 Renamed member "target" of Accessibility_Event to "source",
6401 which is more descriptive.
6404 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6408 * cspi/Makefile.am :
6409 Added makefile support for at-spi/cspi directory.
6412 * cspi/spi-listener.h : (NEW FILE)
6413 Added support for/use of spi-listener.h.
6415 C bindings now build successfully, with no warnings.
6416 * libspi/accessibleeventlistener.h : (NEW FILE)
6417 * libspi/accessibleeventlistener.c : (NEW FILE)
6418 * libspi/Makefile.am :
6419 Added new object type "AccessibleEventListener"
6420 which inherits from Listener, and allows attachment
6421 of in-process callbacks (so that a client with a listening
6422 object instance can add functionality to the local
6423 implementation, dynamically).
6425 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6427 * libspi/accessible.c:
6428 Add implementation for get_index_in_parent().
6430 Added #include of "spi-roletypes.h", and
6431 added enumerated type AccessibleCoordType.
6432 Added definition for KeystrokeListener (function type).
6435 * cspi/spi-statetypes.h :
6436 * cspi/spi-roletypes.h :
6438 Added these headers, used by spi.h.
6440 Added code (NOTE: not yet built by make).
6442 2001-08-18 Mark McLoughlin <mark@skynet.ie>
6444 * libspi/Makefile.am: generate imodule
6445 at the same time as other idl compiler
6448 2001-08-17 Bill Haneman <bill.haneman@sun.com>
6449 * libspi/registry.c :
6450 * libspi/application.c :
6451 * idl/Application.idl :
6452 Made registration with toolkit an application method,
6453 which is required since each app has its own toolkit static
6454 environment. Thus the bridge must register for
6455 notification of toolkit events from each application in turn.
6456 Toolkit notifications are now successfully registered for, and
6457 sent to the listening at client.
6459 Changed toolkit event string to use hyphens rather than underscores.
6460 * libspi/listener.c :
6461 listner now gives more info in debug mode - it reports the
6462 name of the event received, as well as the name of the source.
6465 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6467 * libspi/registry.c :
6468 added more implementation for toolkit events.
6469 Fixed bug such that toolkit event registrations
6470 (via atk) use the whole event name string, not
6472 Removed a useless call to an ORBit_ method.
6473 * at-bridge/bridge.c :
6474 Removed unused local sbuf[] variable.
6476 We now register for Gtk:GtkWidget:button_press_event
6477 events as well as "focus:" events.
6479 Add some more API from Registry.idl that was missing,
6480 for keystroke listening, keystroke and mouse event
6481 synthesis, and enumeration of accessible desktops.
6483 2001-08-16 Michael Meeks <michael@ximian.com>
6485 * configure.in: use AM_GLIB_GNU_GETTEXT.
6487 * Makefile.am (SUBDIRS): kill intl.
6489 2001-08-15 Michael Meeks <michael@ximian.com>
6491 * registryd/Makefile.am: s/oaf/server/ relocate info file.
6493 * configure.in: upd.
6495 * configure.in: depend on a recent bonobo-activation that
6496 will find our server files ...
6498 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6500 * libspi/accessible.c : accessible_new() :
6501 Now we add the Component interface via bonobo_object_add_interface,
6502 if the contained AtkObject implements AtkComponent.
6503 * libspi/accessible.h : now include "component.h"
6504 * libspi/component.h :
6505 * libspi/component.c : added files - implementation of
6506 bonobo wrapper object for Accessibility/Component
6507 * libspi/listener.c :
6508 Added test code to check for Accessibility/Component:1.0
6509 interface and report whether it is implemented by the
6511 * libspi/registry.c :
6512 Now we check for not only the hash of the whole event
6513 string before relaying the event, we also check the
6514 "minor" event string (without the detail string).
6515 This allows event listeners to be registered against
6516 all events of a certain major+minor type, or just
6517 against a specific major+minor+detail type.
6518 * libspi/accessible.c :
6519 Added implementations for Accessible:get_parent(),
6520 Accessible:getChildCount(), and Accessible:getChildAtIndex().
6521 * libspi/registry.c :
6522 * libspi/listener.c :
6523 Replaced calls to Accessibility_Accessible_ref() and
6524 Accessibility_Accessible_unref() with
6525 calls to bonobo_object_dup_ref() and
6526 bonobo_object_release_unref(), so that the CORBA object
6527 is dup-ed and released when relayed, as well as the bonobo object.
6529 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6531 * libspi/Makefile.am,
6532 registryd/Makefile.am,
6533 at-bridge/Makefile.am.
6534 test/Makefile.am, configure.in:
6535 reverse previous changes.
6537 * /idl/Image.idl: fix typo.
6539 * test/Makefile.am: put DEBUG_FLAGS
6542 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6544 * test/app.c: use argv[0] instead of
6547 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6549 * libspi/Makefile.am,
6550 registryd/Makefile.am,
6551 at-bridge/Makefile.am.
6552 test/Makefile.am, configure.in:
6553 cleanup, replace individual LIBS/CFLAGS with
6554 AT_COMMON_{LIBS|CFLAGS}.
6558 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6560 * configure.in, libspi/Makefile.am:
6561 Change IDL path checking for bonobo-activation
6564 2001-08-15 Bill Haneman <bill.haneman@sun.com>
6566 * registryd/registry.c : separated event listeners to use
6567 3 separate lists (focus, window, toolkit). Began testing
6568 event names against hashes before relaying events.
6569 * test/at.c : now register for events of type "focus:"
6570 * test/app.c : now generate events of type "focus:"
6571 * at-bridge/bridge.c : register with ATK for focus events,
6572 and we now relay those focus events to any "focus:" listeners.
6573 This now works with the bridge as a GTK_MODULE when running test/at.
6574 * libspi/registry.c :
6575 * libspi/listener.c :
6576 now we ref event sources before propagating, and unref on receipt.
6577 * libspi/registry.c :
6578 some changes to internal structs, to support event typestring hashes.
6579 * text/app.c : changed the way the appname is generated.
6580 * cspi : added directory that will hold the C bindings library for
6581 non-CORBA/bonobo-savvy clients.
6582 * cspi/spi.h : header file that contains the function prototypes for the C binding.
6583 * idl/Component.idl : added in parameter to indicate coord system for
6584 geometry-related calls.
6585 * idl/Hyperlink.idl : added readonly n_links attribute
6586 * idl/Image.idl : changed methods to attributes.
6588 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6590 * at-bridge/Makefile.am: link against
6591 ../libspi/libspi.la instead of -lspi.
6593 * at-spi/test/app.c: include
6594 bonobo-activation.h. Use a default appname
6595 if one is not provided.
6597 2001-08-14 Bill Haneman <bill.haneman@sun.com>
6599 * idl/Registry.idl : temporarily changed register_Application
6600 to oneway, to work around issue with initial registration
6602 * idl/Application.idl : changed attribute "id" from readonly
6603 to read-write, since it needs to be assigned by Registry.
6604 * registryd/registryd.c : added call to set application id
6606 * registryd/registry.c : changed de-registration procedure to
6607 use CORBA_Object_hash() to find matching object ref in application
6608 lists and listener lists.
6609 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
6610 began distinguishing between event types (work in progress).
6612 2001-08-13 Bill Haneman <bill.haneman@sun.com>
6615 * libspi/application.c:
6616 Added implementations for get/set id, get_toolkitName,
6618 * registryd/registryd.c :
6622 Converted from use of OAF to bonobo-activation.
6623 * libspi/desktop.h :
6624 * libspi/desktop.c :
6626 Removed references to atksimpleobject, since base atkobject
6627 implementation now provides functionality we need.
6628 * libspi/atksimpleobject.c :
6629 * libspi/atksimpleobject.h :
6634 * at-bridge/Makefile.am
6635 * at-bridge/bridge.c
6638 Added directory "bridge" and contents, and added dependencies
6639 in Makefile.am/configure.in.
6640 Initial checkin of "at-bridge".
6641 This code is a GTK_MODULE which automatically registers
6642 GTK+ apps with the accessibility registry, using an object
6643 reference to the root ATK object.
6645 2001-08-10 Mark McLoughlin <mark@skynet.ie>
6647 * po/Makefile.in.in: Remove. Again. If this
6648 doesn't get autogenerated - you need to update
6651 2001-08-07 Mark McLoughlin <mark@skynet.ie>
6653 * po/Makefile.in.in: Add. Again.
6655 2001-07-31 Bill Haneman <bill.haneman@sun.com>
6657 * libspi/accessible.c : added support for 'description' property.
6658 * libspi/accessible.c
6660 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
6661 (since the two are now equivalent in libbonobo)
6669 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
6670 Bonobo::Unknown as does Accessibility::Accessible.
6671 * idl/StreamableContent.idl : as above, and replaced internal InputStream
6672 interface with Bonobo::Stream, since it was redundant with it.
6673 (The Stream returned by a StreamableContext object is expected to
6674 implement only a subset of Bonobo::Stream)
6676 2001-07-28 Anders Carlsson <andersca@gnome.org>
6678 * libspi/accessible.c (accessible_object_finalize): Change
6679 g_free to g_object_unref since the AtkObject is a GObject.
6681 2001-07-30 Bill Haneman <bill.haneman@sun.com>
6683 * idl/Accessibility.idl: add new IDL files
6686 * idl/Action.idl: Definitions of actionable UI object
6687 * idl/Component.idl: Definitions of UI component geometry, etc.
6688 * idl/Hyperlink.idl: Defs of hyperlink behavior
6689 * idl/Image.idl: Def of accessible image
6690 * idl/Selection.idl: Definition of UI object with selectable children
6691 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
6692 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
6693 * idl/Text.idl: Interface defs for UI elements with complex textual content
6694 * idl/Value.idl: Definition of UI element that is a value controller or display
6696 2001-07-27 Michael Meeks <michael@ximian.com>
6698 * po/Makefile.in.in: remove autogenerated file from CVS.
6700 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
6703 * idl/Registry.idl: include guard.
6705 * idl/Accessibility.idl: Add, and include all the other IDL
6708 * idl/*.idl: remove mass of pragmas etc.
6710 2001-07-26 Michael Meeks <michael@ximian.com>
6712 * registryd/Makefile.am (registryd_SOURCES): remove
6715 2001-07-27 Mark McLoughlin <mark@skynet.ie>
6717 * libspi/.cvsignore, registryd/.cvsignore,
6718 test/.cvsignore: updated.
6720 * po/Makefile.in.in: gettext update.
6722 2001-07-25 Bill Haneman <bill.haneman@sun.com>
6724 * initial CVS checkin
6726 2001-06-29 Michael Meeks <michael@ximian.com>
6728 * configure.in: add AM_CONFIG_HEADER to gen config.h