1 2004-02-10 Tomasz K³oczko <kloczek@pld.org.pl>
3 * libspi/Makefile.am: fixes for automake >= 1.6.
4 * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
5 AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
8 Sun Feb 8 11:20:50 2004 Matthias Clasen <maclas@gmx.de>
10 * docs/reference/cspi/Makefile.am (install-data-local): Install
11 index.sgml since the doc autobuilder on widget.gnome.org looks for
14 2004-02-02 Padraig O'Briain <padraig.obriain@sun.com>
16 * atk-bridge/bridge.c (spi_atk_tidy_windows): Correct g_free call to
19 2004-02-01 Robert Sedak <robert.sedak@sk.htnet.hr>
21 * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
23 2004-01-27 Brian Cameron <brian.cameron@sun.com>
25 * test/simple-at.c: Fixed null string problems that cause core
26 dumping problems on Solaris.
28 2004-01-12 Bill Haneman <billh@gnome.org>
30 * configure.in: Incremented version to 1.3.11.
32 2004-01-05 Padraig O'Briain <padraig.obriain@sun.com>
34 * docs/reference/cspi/at-spi-cspi-docs.sgml: Added XML in
35 DOCTYPE statement. Fixes bug #129728. Patch supplied by Sebastien
38 2004-01-01 Roozbeh Pournader <roozbeh@sharif.edu>
40 * configure.in: Added "fa" to ALL_LINGUAS.
42 2003-12-20 Arafat Medini <lumina@silverpen.de>
44 * configure.in: Added "ar" to ALL_LINGUAS
46 2003-12-16 Bill Haneman <billh@gnome.org>
48 * registryd/registry-main.c:
50 Set the reg_env DISPLAY variable before registering the
51 activated registry service. Fixes bug #129479.
53 2003-12-16 Mohammad DAMT <mdamt@bisnisweb.com>
55 * configure.in: Added "id" in ALL_LINGUAS
56 * po/id.po: Indonesian translation by Ahmad Riza H Nst <ari@160c.afraid.org>
58 2003-12-15 Padraig O'Briain <padraig.obriain@sun.com>
60 * registryd/deviceeventcontroller.c (global_filter_fn):
61 When an event is consumed discard any XEvents were added to
62 the queue while dealing with the the event. This can happen if
63 processing of the event takes a long time. Call XUngrabKeyboard
64 if an event was discarded. This fixes bug $124837.
65 Only call wait_for_release_event for a KeyPress.
66 Use local variable display instead of spi_get_display().
67 (spi_controller_update_key_grabs): Move call to keycode_for_keysym
70 2003-12-11 Padraig O'Briain <padraig.obriain@sun.com>
72 * registryd/deviceeventcontroller.c (spi_dec_translate_mask):
73 Allow for mask to contain values other than NumLock mask.
76 2003-12-10 Padraig O'Briain <padraig.obriain@sun.com>
78 * registryd/devieceventcontroller.c:
79 (wait_for_release_event): Change first parameter from GdkEvent to
81 (global_filter_fn); Correct call to wait_for_release_event.
85 2003-12-08 Bill Haneman <billh@gnome.org>
89 * registryd/ucs2keysym.c: New file.
91 * registryd/deviceeventcontroller.c:
92 (dec_keysym_for_unichar): Remove old partial implementation and
93 replace with call to ucs2keysym(), which is much more complete.
94 Thanks to Marcus G. Kuhn who put the original keysym2ucs.c into
99 2003-12-05 Bill Haneman <billh@gnome.org>
101 * configure.in: Version 1.3.9.
103 * docs/reference/cspi/tmpl/spi_registry.sgml:
104 Added reference to libspi/keymasks.h to the
105 description of Registry queries: AccessibleKeyMaskType.
108 2003-12-04 Bill Haneman <billh@gnome.org>
112 * idl/Accessibility_Application.idl:
113 (Accessibility::LOCALE_TYPE): New enum, corresponds to
114 setlocale's LC_TYPEs.
115 (Accessibility::Application::getLocale): New method.
116 Allows clients to query the locale, by type, of an app.
119 * cspi/spi_application.c:
120 (AccessibleApplication_getLocale): New method, wraps IDL above.
122 * libspi/application.c:
123 (spi_application_class_init): Init epv entry for getLocale.
124 (impl_accessibility_application_get_locale): Impl for above.
126 * test/test-simple.c:
127 (test_application): Added assertion for getLocale, i.e.
128 that the string from AccessibleApplication_getLocale (app, type)
129 is the same as that from setlocale (type, NULL);
131 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
133 *registryd/deviceeventcontroller.c: Add an idle handler which polls
134 the keyboard on a timeout intil the key state goes from pressed to
135 released. Fixes bug #111429.
137 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
139 * atk-bridge/bridge.c: (atk_bridge_init): Create accessible application
140 root object so that it is present when a context menu in an
141 out-of-process applet is popped up.
142 (spi_atk_bridge_do_registration): Create acceessible application root
143 object only if it does not exist.
145 This fixes bug #125834.
147 2003-12-01 Bill Haneman <billh@gnome.org>
149 Fix for bug #114926. Thanks to Michael Meeks for some of this patch.
152 Added enum for AccessibleStreamableContentSeekType.
153 (AccessibleStreamableContent_freeContentTypeList): New.
155 * cspi/spi_streamablecontent.c:
156 (accessible_bonobo_stream_client_seek): New private method.
157 (AccessibleStreamableContent_seek): Implemented this method,
158 using Bonobo_Stream_seek.
159 (AccessibleStreamableContent_freeContentTypeList): New method
160 for freeing the return value from
161 AccessibleStreamableContent_getContentTypes.
162 (stream_cache_item_free): Replaces stream_release; stop leaks.
163 (stream_release): removed.
164 (AccessibleStreamableContent_read): Use properly init'd CORBA_evs,
165 free the memory properly.
167 2003-12-02 Padraig O'Briain <padraig.obriain@sun.com>
171 * cspi/spi-roletypes.h: Add SPI_ROLE_EDITBAR.
173 * cspi/spi_accessible.c (cspi_init_role_table): Add SPI_ROLE_EDITBAR.
175 * docs/reference/cspi/tmpl/spi-accessible.sgml: Add SPI_ROLE_EDITBAR
177 * idl/Accessibility_Role.idl: Add ROLE_EDITBAR.
179 2003-12-01 Bill Haneman <billh@gnome.org>
181 Fix for bug/rfe #127463.
183 * idl/Accessibility_Accessible.idl:
184 (getLocalizedRoleName): New.
185 (unimplemented4): Removed (replaced by above).
187 * libspi/accessible.c:
188 (impl_accessibility_accessible_get_local_role_name): New.
189 (spi_accessible_class_init): Add getLocalizedRoleName entry to
193 (Accessible_getLocalizedRoleName): New.
195 * cspi/spi_accessible.c:
196 (Accessible_getLocalizedRoleName): New.
198 2003-12-01 Bill Haneman <billh@gnome.org>
201 * idl/Accessibility_Text.idl:
202 (getDefaultAttributes): New.
203 (unimplemented4): Removed (replaced by above method).
206 (impl_getDefaultAttributes): New method.
207 (spi_text_class_init):
208 initialize the get_default_attributes slot in the epv.
211 (AccessibleText_getDefaultAttributes): New prototype.
214 (AccessibleText_getDefaultAttributes): New method.
216 2003-11-06 Padraig O'Briain <padraig.obriain@sun.com>
218 * cspi/spi_accessible.c (cspi_init_relation_type_table): Do not
219 write beyond the end of the table. Fixes bug #120473.
221 2003-09-30 Christian Rose <menthos@menthos.com>
223 * configure.in: Added "eu" to ALL_LINGUAS.
225 2003-09-28 Kjartan Maraas <kmaraas@gnome.org>
227 * configure.in: ALL_LINGUAS: Added no.
229 2003-09-28 Gediminas Paulauskas <menesis@delfi.lt>
231 * configure.in: Added lt to ALL_LINGUAS.
233 2003-09-25 Padraig O'Briain <padraig.obriain@sun.com>
235 * atk-bridge/bridge.c:
236 (atk_bridge_init): Register event listeners always even for
237 out-of-process applet.
238 (spi_atk_bridge_toplevel_added): Remove call to
239 spi_atk_bridge_event_type_consts as it is now called in atk_bridge_init
240 (spi_atk_bridge_toplevelk_removed): Remove call to
241 spi_atk_deregister_event_listenersa as the listeners are now always
243 (spi_atk_bridge_register_application): Remove call to
244 spi_atk_register_event_listeners as it is not done in atk_bridge_init
246 This fixes bug #120991.
248 * libspi/table.c (impl_getColumnDescription): Correct typo,
249 pointed out by Bolian.Yin@sun.com.
251 2003-09-21 Ã
\85smund Skjæveland <aasmunds@fys.uio.no>
253 * configure.in: Added nn to ALL_LINGUAS (which is commented out).
255 2003-09-08 Bill Haneman <billh@gnome.org>
257 * configure.in: Revved to 1.3.7.
259 This is the GNOME 2.4.0 release of at-spi.
261 * docs/reference/cspi/Makefile.am:
262 Removed spurious inclusion of 'index.sgml' in the
263 html directory; this was breaking make distcheck and
264 also some other build environments.
266 2003-09-05 Padraig O'Briain <padraig.obriain@sun.com>
268 * registryd/registry.[ch}:
269 Add queue_handler_id and focus_object to SpiRegistry data structure.
270 (registry_flush_event_queue): If event being discarded is
271 "state-change:focused" store object as focus_object.
272 (registry_start_queue): Remove queue handler and focus object
274 (registry_discard_event): New function which discards a focus event
275 if we had stored focus object in the registry.
276 (registry_queue_event): Add new check that is_queueing is set as this
277 function is reentrant.
278 (registry_filer_event): Add call to registry_discard_event.
280 This resolves issues raised in bug #108664.
282 2003-09-05 Taneem Ahmed <taneem@bengalinux.org>
284 * configure.in: Added "bn" to ALL_LINGUAS.
286 2003-09-04 Bill Haneman <billh@gnome.org>
288 * cspi/spi_event.c: Documentation improvements for
289 (SPI_registerAccessibleKeylistener).
291 * docs/reference/tmpl/spi_registry.sgml:
292 Documentation improvements for SpiAccessibleKeylistenerCB.
294 2003-09-02 Mugurel Tudor <mugurelu@go.ro>
296 * configure.in: Added "ro" to ALL_LINGUAS.
299 2003-09-01 Padraig O'Briain <padraig.obriain@sun.com>
301 * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
302 not decremented to zero. Fixes bug #120725.
304 2003-08-30 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
306 * configure.in: Added "ja" to ALL_LINGUAS.
308 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
310 * configure.in: Added "is" to ALL_LINGUAS.
312 2003-08-22 Christian Rose <menthos@menthos.com>
314 * configure.in: Added "nl" to ALL_LINGUAS.
316 2003-08-19 Padraig O'Briain <padraig.obriain@sun.com>
318 * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
319 * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
321 * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
323 * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
324 type for unspecified exception.
325 * cspi_streamablecontect): Add include of string.h for memcpy.
326 (stream_release): Correct call to bonobo_object_release_unref
327 (stream_cache_item_free): Correct call to bonobo_object_release_unref
328 * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
329 argument of _cspi_expection_throw.
330 * libspi/hyperlink.c: Add include of libspi/action.h:
331 (spi_hyperlink_new): Cast argument to spi_action_interface_new.
332 * libspi/streamablecontent.c: add include of libspi/component.h.
333 * regisrtyd/deviceeventcontroller.c:
334 (spi_dec_translate_mask): Removed unused variable priv.
335 (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
336 * registryd/registry.c:
337 (registry_filter_event): Remove unused variable queue_is-empty.
338 (impl_registry_notify_event): Use correct modifier in fprintf call.
340 This fixes compiler warnings reported in bug #120220.
342 2003-08-18 Padraig O'Briain <padraig.obriain@sun.com>
344 * registryd/registryd.c: Remove this file.
346 2003-08-17 Sanlig Badral <badral@openmn.org>
348 * configure.in: Added mn to ALL_LINGUAS.
350 2003-08-16 Tõivo Leedjärv <toivo@linux.ee>
352 * configure.in: Added et to ALL_LINGUAS.
354 2003-08-13 Padraig O'Briain <padraig.obriain@sun.com>
356 * test/event-listener-test.c: Change active-descendant to
357 active-descendant-changed.
359 2003-08-10 Sami Pesonen <sampeson@iki.fi>
361 * configure.in: Added "fi" in ALL_LINGUAS.
363 2003-08-08 Guntupalli Karunakar <karunakar@freedomink.org>
365 * configure.in: Added "hi" in ALL_LINGUAS.
367 2003-08-08 Padraig O'Briain <padraig.obriain@sun.com>
369 * configure.in: Revved to 1.3.6.
373 2003-08-07 Padraig O'Briain <padraig.obriain@sun.com>
375 * registryd/deviceeventcontroller.c
376 (spi_device_event_controller_object_finalize): Fix typo in previous
379 2003-08-07 Marc Mulcahy <marc.mulcahy@sun.com>
381 * registryd/deviceeventcontroller.c
382 (spi_device_event_controller_object_finalize): Fix build on
383 systems without XEvIE.
385 2003-08-06 Brian Cameron <Brian.Cameron@sun.com>
387 * acconfig.h, configure.in, registryd/Makefile.am,
388 registryd/devicecontoller.[ch]: Add XEViE support.
390 2003-08-06 Wang Jian <lark@linux.net.cn>
392 * configure.in: Added "zh_CN" to ALL_LINGUAS.
394 2003-08-06 Metin Amiroff<metin@karegen.com>
396 * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
398 2003-08-06 Padraig O'Briain <padraig.obriain@sun.com>
400 * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
401 MODIFIER_ALT in correct place.
403 This fixes part of bug #118114.
405 2003-07-30 Alessio Frusciante <algol@firenze.linux.it>
407 * configure.in: Added "it" (Italian) to ALL_LINGUAS.
409 2003-07-28 Changwoo Ryu <cwryu@debian.org>
411 * configure.in: Added "ko" to ALL_LINGUAS.
413 2003-07-28 Ole Laursen <olau@hardworking.dk>
415 * configure.in: Added "da" to the commented out ALL_LINGUAS.
417 2003-07-27 Laurent Dhima <laurenti@alblinux.net>
419 * configure.in: Added "sq" to ALL_LINGUAS.
421 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
423 * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
425 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
427 * configure.in: updated ALL_LINGUAS list
429 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
431 * configure.in: Added Belarusian to ALL_LINGUAS.
433 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
435 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
437 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
438 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
440 This fixes bug #116949.
442 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
444 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
445 Correct CSPI to SPI in function documentation.
447 This fixes bug #118054.
449 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
451 * configure.in: Added Russian to ALL_LINGUAS.
453 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
455 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
457 2003-07-14 Danilo Å Segan <dsegan@gmx.net>
459 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
461 2003-07-10 Joel Brich <joel.brich@laposte.net>
463 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
465 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
467 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
469 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
471 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
472 resources allocated for AccessibleEvent. See cspi_event().
474 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
475 static variable streams to NULL.
477 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
478 Update so that AcessibleEvent_ref will work.
480 This fixes bug #116624.
482 2003-07-06 Jordi Mallach <jordi@sindominio.net>
484 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
486 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
488 * configure.in: Added "fr" (French) to ALL_LINGUAS.
490 2003-07-02 Christian Neumair <chris@gnome-de.org>
492 * configure.in: Added "de" (German) to ALL_LINGUAS.
494 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
496 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
498 2003-07-01 Miloslav Trmac <mitr@volny.cz>
500 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
502 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
504 * configure.in: Added "pl" to ALL_LINGUAS.
506 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
508 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
510 2003-06-30 Bill Haneman <bill.haneman@sun.com>
513 (get_action_from_servant):
514 Removed assertion that action is implemented on an AtkObject.
516 * libspi/hyperlink.c:
518 Aggregate AccessibleAction interface on the hyperlink object if
519 the object implements AtkAction. (This convention is used in
522 2003-06-30 Bill Haneman <bill.haneman@sun.com>
524 * configure.in: Revved to 1.3.5.
526 * registryd/Accessibility_Registry.server.in.in:
527 Marked up appropriate strings for translation.
529 * atk-bridge/bridge.c: Marked a couple of
530 user-visible warnings for translation. Questionable
531 whether they are really useful, but possibly so.
534 2003-06-28 Christian Rose <menthos@menthos.com>
536 * configure.in: Added "sv" to ALL_LINGUAS.
538 2003-06-26 Bill Haneman <bill.haneman@sun.com>
540 * registryd/registry.c:
541 (spi_registry_object_finalize): Unref the deviceeventcontroller.
542 (registry_defer_on_event): Defer focus: events, this is an
543 improvement to the patch for bug #108664.
545 * TODO: Update with 2.4/"Dev Complete" items.
547 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
549 * atk-bridge/bridge.c:
550 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
551 looks up signals once.
552 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
553 if doing registration.
554 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
555 when doing registration.
557 This fixes bug #115014.
559 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
561 * atk-bridge/bridge.c:
562 (atk_bridge_init): Add signal handler for children-changed:remove on
563 root when in a BonoboComponent.
564 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
565 for first toplevel only other incrememt variable toplevels.
566 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
567 application and remove listeners.
568 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
570 (spi_atk_deregister_event_listeners): New function which removes
572 (reinit_register_vars): New fuction which reinitializes variables.
574 This fixes bug #111578.
576 2003-06-13 Bill Haneman <bill.haneman@sun.com>
578 * configure.in: version 1.3.4.
580 * cspi/spi_accessible.c:
581 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
584 2003-06-13 Michael Meeks <michael@ximian.com>
586 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
588 * cspi/spi_main.c (cspi_peek_ev): impl.
590 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
592 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
594 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
596 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
597 SPI_ROLE_AUTOCOMPLETE
599 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
601 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
602 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
604 2003-06-11 Bill Haneman <bill.haneman@sun.com>
606 * libspi/streamablecontent.h:
607 * libspi/streamablecontent.c:
608 New files, provide implementation/wrappers for
609 Accessibility_StreamableContent.
611 * cspi/spi_streamablecontent.c:
612 Connected the C wrappers to the libspi C bindings.
613 (AccessibleStreamableContent_close): New method.
616 (AccessibleStreamableContent_close): New method, needed
617 since we have an "open, [seek], read, close" model in cspi.
619 2003-06-11 Bill Haneman <bill.haneman@sun.com>
621 Fix for #108664; Padraig's revision of my original patch.
623 * registryd/registry.h:
624 Added event queue list, is_queuing, and exit_notify_timeout
625 to the registry struct.
627 * registryd/registry.c:
628 (registry_init): Initialize new struct from registry.h.
629 (impl_registry_notify_event):
630 Filter events before notifying, in case some need to be
632 (registry_filter_event): New,
633 we defer certain incoming events (for instance
634 window:deactivate) because we may wish to hide
635 or reject them based on pending events. This is
636 mostly a workaround for bug #108664.
637 (registry_queue_event, registry_start_queue): New.
638 (registry_defer_on_event): Test event to see if it
640 (registry_reset_on_event): Returns TRUE if the
641 event should cause a queue reset.
642 (registry_discard_on_event): Returns TRUE if the event
643 should cause the previous queue contents to be discarded.
644 (registry_timeout_flush_queue): Flushes the pending event
645 queue if no reset/discard-triggering events have come in
646 within the timeout period.
647 (registry_emit_event): New.
648 (registry_clone_notify_context): New, used when queueing the
649 event notify contexts.
651 2003-06-10 Bill Haneman <bill.haneman@sun.com>
653 * configure.in: Version revved to 1.3.2, lt 0.9.2
654 Incremented ATK required version to 1.3.4.
656 * cspi/spi_registry.c:
657 (SPI_generateKeyEvent):
658 We now pass the keystring along if it's non-null.
660 * registryd/deviceeventcontroller.c:
661 (keysym_mod_mask): New method, returns modifier mask
662 required to generate a keysym from a given keycode.
663 (dec_synth_keysym): New method.
664 (dec_synth_keystring): New method.
665 (dec_get_modifier_state): New method.
666 (dec_lock_modifiers): New
667 (dec_unlock_modifiers): New.
668 (dec_keysym_for_unichar): New, rather brute-force
669 conversion from UCS-4 to X KeySyms. Only works for
670 Latin at the moment, with partial implementations for
671 Greek, Hebrew, and (incomplete) Katakana.
672 (impl_generate_keyboard_event): Now implement
673 "KEYSTRING" synthesis and implement "KEYSYM"
675 (keycode_from_keysym): Improved, passes a returned
676 modmask value now if the corresponding param is non-NULL.
678 Fixes bugs #92143 and #109776.
681 * test/keysynth-test.c:
682 New test program for key synthesis, to confirm fixes for
686 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
688 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
690 * cspi/spi_accessible.c (cspi_init_relation_type_table):
691 Add line for RELATION_POPUP_FOR
693 * docs/reference/cspi/tmpl/spi_relation.sgml:
694 Add relation SPI_RELATION_POPUP_FOR
696 * docs/reference/cspi/tmpl/spi_stateset.sgml:
697 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
699 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
701 * libspi/relation.c (spi_init_relation_type_table):
702 Add line for RELATION_POPUP_FOR
704 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
706 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
707 there are still windows which have not been deleted and emit
708 window:deactivate, if necessary and window:destroy events.
709 This fixes bug #114370. The change on June 5th was not correct.
711 2003-06-09 Bill Haneman <bill.haneman@sun.com>
713 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
716 (SPI_dupString): Allow dup-ing of a string such that it's safe to
718 New methods for client exception handling and interception.
719 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
720 (SPI_exceptionHandlerPop): You guessed it...
721 (SPI_getSourceType): Return the type of object which offended.
722 (SPI_getExceptionCode): Return an enum code telling, possibly,
723 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
724 (SPIAccessibleException_getSource): get the source object for
725 exceptions that come from Accessibles, if SPIExceptionSourceType is
726 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
727 (SPIException_getDescription): New, returns a string description of
728 the problem. [Not yet a stable ABI, strings are not frozen]
730 * cspi/spi-private.h:
731 Added implementation details of opaque SPIException
735 Implementations of above. Also
736 (_cspi_exception_throw): new private method that
737 dispatches exceptions to handlers, called from cspi-bonobo.c
739 * cspi/bonobo/cspi-bonobo.c:
740 (cspi_check_ev): call _cspi_exception_throw.
741 Don't print a warning message if the exception has been
742 handled by _cspi_exception_throw.
744 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
746 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
747 there are still windows which have not been deleted and emit
748 window:deactivate, if necessary and window:destroy events.
749 This fixes bug #114370.
751 2003-06-03 Bill Haneman <bill.haneman@sun.com>
754 (cspi_accessible_is_a): Make non-fatal
755 if the object reference is dead.
757 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
759 * cspi/spi_main.c: #include <stdio.h>
760 * test/simple-at.c: ditto
761 * test/event-listener-test.c: ditto
762 * test/screen-review-test.c: ditto
764 2003-05-30 Michael Meeks <michael@ximian.com>
766 * test/test-simple.c (main): use CORBA_ORB_perform_work
767 instead of an unnecessary linc_ call.
769 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
771 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
772 Add SPI_STATE_INDETERMINATE.
774 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
777 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
779 * libspi/stateset.c (init_state_type_tables): Add support for
782 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
784 * configure: Update versions of atk and gail required.
785 This fixes bug #113268.
787 2003-05-02 Bill Haneman <bill.haneman@sun.com>
789 * configure.in: Revved micro version to 1.3.1 (because of build fix).
791 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
793 * libspi/Makefile.am:
794 Ensure headers are generated before being used by c sources.
796 2003-05-01 Bill Haneman <bill.haneman@sun.com>
799 Simplified lt versioning rules.
800 Incremented version to 1.3.0, to indicate that we're on the
803 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
805 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
806 Add MKDB_OPTIONS=--outtput-format=xml
808 * docs/reference/cspi/at-spi-cspi-docs.sgml
809 docs/reference/idl/at-spi-idl-docs.sgml:
810 Convert to Docbook XML.
812 This fixes bug #111793.
814 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
816 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
817 AcccessibleKeyEventType, AccessibleKeyMaskType.
819 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
821 * cspi/state-types.h: Add documentation for AccessibleState.
823 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
824 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
825 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
826 AccessibleComponentLayer.
828 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
831 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
833 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
834 Accessible. Add description of AccessibleEvent,
835 AccessibleEventListenerCB.
837 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
840 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
841 documentation. Add description of AccessibleKeystrokeListenerCB,
842 AccessibleKeyEventMask, AccessibleModifierMaskType,
843 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
844 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
846 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
849 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
852 This fixes bug #104730.
854 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
856 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
857 Set is_text field of Accessibility_DeviceEvent data structure.
859 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
860 is-text field of AccessibleDeviceEvent data structure.
862 This addresses part of bug #108666.
864 * registryd/devcieeventcontroller.c: Unset debug option.
866 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
869 (cpi_initial_relation_type_table): New function which initializes
870 mapping between Accessibility_RelationType and AccessibleRelationType.
871 (cspi_relation_type_from_spi_relation_type): New function which
872 translates an Accessibility_RelationType into an AccessibleRelationType.
873 (AccessibleRelation_getRelationType): Use
874 cpi_relation_type_get_spi_relation_type to return correct value.
875 (spi_state_to_corba): Return correct type for default case.
877 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
878 Use Accessibility_EventType instead of Accessibility_KeyEventType.
880 * cspi/cspi-bonobo-listener.c:
881 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
884 * libspi/accessible.c, libspi/action.c, libspi/application.c,
885 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
886 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
887 libspi/image.c, libspi/listener.c, libspi/selection.c,
888 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
889 registryd/desktop.c, registryd/registry.c:
890 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
892 * libspi/eventlistener.c
893 Remove semicolon after BONOBO_TYPE_FUNC.
896 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
897 (spi_init_relation_type_table): Initialize using correct type.
899 * registryd/desktop.c:
900 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
901 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
902 of Accessibility_KeyEventType.
904 * test/key-listener-test.c (report_tab_key_event): Use fprintf
907 * tests/simple-at.c, tests/screen-review-test.c:
908 Add include for <strings.h>.
910 * tests.stress-test.c:
911 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
913 These changes fix compiler warnings when using FORTE compiler on
914 Solaris; fixes bug #107479.
917 2003-04-10 Bill Haneman <bill.haneman@sun.com>
920 * configure.in: revved to 1.1.10
923 (SPI_KEYMASK_NUMLOCK): Added.
925 * registryd/deviceeventcontroller.c:
926 (spi_key_event_matches_listener): AND with a smaller
927 bitmask (as we should).
928 (spi_dec_translate_mask):
929 New method, sets the virtual NumLock modifier bit
930 if numlock is on. Eventually it can handle other virtual
931 modifier bits if needed, or other marshalling from
932 at-spi modifier masks to platform (X) masks.
933 (spi_dec_key_listener_new):
934 Call spi_dec_translate_mask to set up virtual mod bits
935 in the 'mask' field when creating a new listener struct.
936 (spi_dec_emit_modifier_event):
937 Set the virtual (i.e. NumLock) bits before emitting event.
938 (spi_controller_register_with_devices):
939 Query for the NumLock modifier 'physical' bit if Xkb is
940 present, for use in above methods.
944 2003-04-10 Bill Haneman <bill.haneman@sun.com>
946 * registryd/deviceeventcontroller.c:
947 (spi_keystroke_from_x_key_event):
948 Instead of checking to see if the keysym is
949 printable, check the string from XLookupString
950 if available, get the first unicode character from it,
951 and call g_unichar_isprint to determine whether the
952 is_text flag should be TRUE or FALSE.
956 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
958 * atk-bridge/bridge.c: Add support for extended events
959 * cspi/spi_event.c: Add documentation and implementation for
961 * tests/event-listener-test.c: Add tests for extended events.
963 This fixes bugs #100424 and #100426.
965 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
967 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
968 of LT_CURRENT. This fixes bug #89350.
970 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
972 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
973 number of signal parameter values before accessing them. This fixes
976 2003-04-01 Bill Haneman <bill.haneman@sun.com>
978 * configure.in: Fixed duplicate inclusion of -lspi.
979 * branched for gnome-2-2/HEAD.
980 [created tag "gnome-2-2"]
982 2003-03-07 Bill Haneman <bill.haneman@sun.com>
984 * configure.in: 1.1.9 release.
987 2003-03-07 Bill Haneman <bill.haneman@sun.com>
989 [needed by GOK, to fix bugs 107985 and 107988]
990 * registryd/deviceeventcontroller.c:
991 (spi_dec_clear_unlatch_pending):
992 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
993 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
994 (spi_dec_init_mouse_listener):Emit warning if mouse button
996 (spi_device_event_controller_forward_mouse_event):
997 Removed unnecessary parens from a conditional.
998 (global_filter_fn):Added TODO comment.
999 (impl_generate_keyboard_event):
1000 Cancel a pending relatch if a 'delatching' key was
1003 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
1005 * atk-bridge/bridge.c:
1006 Change atk_signal_child_changed to atk_signal_children_changed.
1007 Reorganize code in spi_atk_bridge_signal_listener().
1009 * test/event-listener-test.c:
1010 Add children_changed_listener and report_children_changed_event()
1011 to test AccessibleChildEvent_getChildAccessible.
1013 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
1015 * cspi/spi_event.c (cspi_internal_event_get_text): Change
1016 g_strdup to CORBA_String_dup (bug #105291)
1018 * test/event-listener-test.c (report_text_event): Add call to
1021 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1023 * registryd/deviceeventcontroller.c:
1024 (spi_keystroke_from_x_key_event):
1025 Fix string and keysym return codes to match modifier state.
1028 2003-02-28 Bill Haneman <bill.haneman@sun.com>
1030 * registryd/deviceeventcontroller.c:
1031 (spi_keystroke_from_x_key_event):
1032 Fix segv due to improper use of isprint(c). [bug #107254]
1034 2003-02-24 Bill Haneman <bill.haneman@sun.com>
1037 (get_accessible_text_boundary_type):
1038 Move default return value to (new) default case in switch.
1039 (get_accessible_text_clip_type):
1040 Move default return value to (new) default case in switch.
1042 * libspi/application.c:
1043 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
1044 Remove unused methods.
1045 (impl_accessibility_application_register_object_event_listener):
1046 Remove unused methods.
1049 Added #include of <math.h>.
1051 * registryd/deviceeventcontroller.c:
1052 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
1053 we don't currently use this method.
1054 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
1056 (impl_generate_key_event):
1057 Remove unused variables.
1058 (impl_generate_mouse_event):
1059 Initialize button to zero, just in case we get an invalid
1060 input. Added support for mouse buttons 4 and 5.
1061 (spi_device_event_controller_new):
1062 Removed unused variable declaration for 'private'.
1064 Added #include of <gdk/gdk.h>
1066 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1068 * configure.in: Update to work when X is not installed in expected
1069 location. Fixes bug #105836.
1071 * atk-bridge/bridge.c
1072 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
1074 (spi_atk_register_event_listener): Add signal listener for
1076 (spi_atk_bridge_signal_listener): Event event when link-selected
1077 signal is emitted. (bug #104622)
1079 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
1080 on returned string. (bug #105291)
1082 * test/event-listener-test.c: Add test for link-selected.
1084 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
1086 * atk-bridge/Makefile.am: Correct typo in previous commit.
1088 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
1090 * atk-bridge/Makefile.am: Allow for build directory to be different
1091 from source directory
1093 * registryd/Makefile.am: Allow for build directory to be different
1094 from source directory
1098 2003-01-29 Bill Haneman <bill.haneman@sun.com>
1101 Fixed dependencies for libcspi so that libspi gets pulled in
1102 properly. Fixes 104741.
1106 Clean up inline docs a little.
1108 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
1110 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
1111 This is done by implementing AtkComponent for SpiAtkDesktop, which is
1112 the AtkObject within an SpiDesktop.
1113 This addresses bug #101524.
1115 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
1116 Remove call to gdk_init().
1118 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
1119 so that Display is set when SpiDesktop is created.
1121 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
1123 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
1124 This fixes bug #102830.
1126 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1128 * test/test-simple.c: Update to take account of fact that GailButton
1129 now implements AtkText.
1130 (create_text_window): Set name on AtkObject for GtkEntry.
1131 (validate_accessible): Check accessible name before calling test_text().
1133 * libspi/Makefile.am: Fix problem with building outside of source
1134 directory. Bug #98120.
1136 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
1137 typo in documentation comments. Bug #94275.
1139 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
1141 * libspi/text.c (impl_getBoundedRanges): Bug fix.
1143 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
1146 Add includes to avoid compiler warnings on Solaris.
1147 (impl_getRangeExtents): Bug fix.
1149 2002-12-17 Bill Haneman <bill.haneman@sun.com>
1151 Fix for 100944, [API addition approved by Gman and murrayc].
1158 * idl/Accessibility_Text.idl:
1159 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
1160 (Text::getRangeExtents): New method for efficient
1161 bounds query of a text range.
1162 (Text::getBoundedRanges): New method for efficient
1163 clipping of text to bounding boxes.
1164 (unImplemented7, unImplemented8):
1165 Removed these padding methods to preserve bincompat.
1168 (impl_getRangeExtents): implementation of new IDL.
1169 (impl_getBoundedRanges): implementation of new IDL.
1170 (SpiTextRect): Internal use struct.
1171 (_spi_text_rect_union): internal method, calculates union of two
1172 SpiTextRect bounding rects.
1173 (_spi_text_range_seq_from_gslist): internal method, allows us
1174 to build our sequence efficiently as a gslist then convert it
1176 (_spi_bounds_contain): internal method, determines whether
1177 a text character is "in" or "out" of a clip rect according to
1178 values of TEXT_CLIP_TYPE.
1179 (spi_text_class_init): Initialize the new methods in the epv.
1182 (AccessibleTextClipType): New enum used by screen review api.
1183 (AccessibleTextRange): New struct used by screen review api.
1184 (AccessibleText_getRangeExtents):
1185 cspi binding for Accessibility_Text_getRangeExtents.
1186 (AccessibleText_getBoundedRanges):
1187 cspi binding for Accessibility_Text_getBoundedRanges.
1188 (AccessibleTextRange_freeRanges): convenience method.
1191 (AccessibleText_getRangeExtents):
1192 cspi binding for Accessibility_Text_getRangeExtents.
1193 (AccessibleText_getBoundedRanges):
1194 cspi binding for Accessibility_Text_getBoundedRanges.
1195 (AccessibleTextRange_freeRanges): convenience method.
1196 (get_accessible_text_clip_type): internal conversion method.
1197 (get_accessible_text_ranges_from_range_seq): internal conversion method.
1199 * registryd/deviceeventcontroller.c:
1200 (spi_dec_mouse_check):
1201 Improved behavior for mouse:abs events
1202 [same granularity as mouse:rel events, and no
1203 events when mouse is idle].
1205 2002-12-16 Michael Meeks <michael@ximian.com>
1207 * cspi/spi_accessible.c (spi_state_to_corba): rename.
1209 * libspi/stateset.c (state_spi_to_atk): split out
1210 ( fix several remote array bounds nasties )
1211 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
1212 (impl_remove): make safe from array bounds issues.
1213 (spi_atk_state_from_spi_state): impl.
1215 * libspi/stateset.h (spi_state_set_cache_is_empty):
1216 add a set of wrapper defines to get layering right.
1218 * cspi/spi_accessible.c: update state set stuff to
1221 2002-12-14 Michael Meeks <michael@ximian.com>
1223 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
1224 to avoid 2 roundtrips to the registry per key event
1225 (spi_atk_bridge_key_listener): upd.
1226 (deregister_application): release the dec.
1228 * registryd/registry.c (notify_listeners_cb):
1229 bin lots of re-enterant complexity - we no longer
1230 do a round-trip bonobo ref here, ensure that a single
1231 listener's exception failure won't poison all other
1233 (impl_registry_notify_event): bin obvious memory leak.
1235 2002-12-13 Michael Meeks <michael@ximian.com>
1237 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
1238 init the ev so the error is meaningful.
1239 (spi_atk_bridge_key_listener): ditto.
1241 * cspi/spi_main.c (cspi_ev): init the ev so we start
1242 with a clean slate, otherwise the first exception
1243 kills us completely.
1245 * cspi/spi_text.c (get_accessible_text_boundary_type):
1246 add a fallthrough for no warnings.
1248 * cspi/spi_registry.c: prune unused warnings.
1250 * cspi/spi_main.c (cspi_object_take): fix
1251 mind-blowing brokenness ( by watching the compile
1254 * cspi/spi_accessible.c (Accessible_getStateSet):
1255 re-impl. to use an AtkStateSet.
1256 (spi_state_type_from_accessible_state),
1257 (init_state_table): bin these.
1259 * libspi/stateset.c (spi_atk_state_set_from_sequence):
1261 (atk_state_set_from_accessibility_state_set): here.
1263 * cspi/spi_accessible.c (spi_state_to_atk): impl.
1264 (AccessibleStateSet_contains, AccessibleStateSet_ref),
1265 (AccessibleStateSet_unref, AccessibleStateSet_contains),
1266 (AccessibleStateSet_add, AccessibleStateSet_remove),
1267 (AccessibleStateSet_equals, AccessibleStateSet_compare),
1268 (AccessibleStateSet_isEmpty): re-write to use a local
1271 2002-12-13 Bill Haneman <bill.haneman@sun.com>
1273 * configure.in: Revved to 1.1.7 (new keymask vals).
1275 2002-12-10 Bill Haneman <bill.haneman@sun.com>
1277 * libspi/keymasks.h:
1278 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
1280 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
1283 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
1284 to compare two CORBA_TypeCodes.
1285 (cspi_internal_event_add): Silence warning from FORTE compiler.
1287 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
1288 avoid implicit declaration of functions.
1290 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
1292 * atk-bridge/bridge.c:
1293 (spi_atk_bridge_init_event_type_consts): Store signal id for
1294 active-descendant-changed signal.
1295 (spi_atk_register_event_listeners): Add signal listener for
1296 active-descendant-changed signal,
1297 (spi_atk_bridge_signal_listener): Move code in function
1298 spi_atk-signal_emit_event() into this function.
1299 Add support for active-descendant-changed
1300 Update support for child-changed signal.
1301 (spi_bridge_window_event_listener): Silence warning.
1303 * libspi/spi_private.[ch]:
1304 (spi_init_any_object): Change second parameter from CORBA_Object to
1306 Omit call to CORBA_Object_duplicate().
1307 Set CORBA_any's _value to CORBA_Object*.
1309 2002-12-06 Bill Haneman <bill.haneman@sun.com>
1315 (AccessibleEvent_ref, AccessibleEvent_unref):
1316 New methods, for persisting an event outside the emission context.
1317 Must be used if the new accessor methods are to be called
1318 outside of the event listener's callback.
1320 * cspi/bonobo/cspi-bonobo.c:
1321 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
1322 as second parameter instead of NULL, so we can call
1323 cspi_check_ev afterwards.
1326 (cspi_object_take): New internal method,
1327 converts a CORBA_Object reference to a hard ref on
1328 an Accessible if possible, returning NULL if the object
1329 reference is invalid or an Accessible * otherwise.
1332 (AccessibleEvent_ref):
1333 Increment the event's internal private refcount, and
1334 add the event's internal struct to an internal cache
1335 if it's not already there.
1336 (AccessibleEvent_unref):
1337 Decrement the event's refcount and remove it from
1338 the cspi event cache if refcount==0.
1339 (cspi_event_compare): New private method.
1340 Compares two event structs via their ids. Used
1342 (cspi_internal_event_lookup): New private method.
1343 (cspi_internal_event_check): New private method,
1344 a 0-order sanity check for events to make sure their
1345 private data is intact.
1346 (cspi_internal_event_add, cspi_internal_event_remove):
1347 New private methods for managiing the event cache.
1349 * cspi/bonobo/cspi-bonobo-listener.c:
1351 Initialize the new private data elements (id, magic, ref_count).
1353 * atk-bridge/bridge.c:
1354 (spi_atk_bridge_signal_listener):
1355 Fixed bug #100530, passing wrong params to emission func.
1357 * registryd/deviceeventcontroller.c:
1358 (spi_dec_button_update_and_emit):
1359 Fixed type in mask bit operations; fix for #99799.
1361 2002-12-02 Bill Haneman <bill.haneman@sun.com>
1363 Removed some of the more dangerous workarounds from
1364 previous commit; they are only needed by GOK, which
1365 in reality should be using another method to accomplish
1366 the goals. So on reconsideration some of the workarounds
1367 need to be reverted:
1369 * registryd/deviceeventcontroller.c:
1370 (spi_keycodes_contain, spi_dec_init_keycode_list):
1371 Removed these methods, used only by a nasty hack to try
1372 and detect whether a key synthesis should be allowed
1373 to reset the XKB latch state or not. This code was only
1374 required to work around an interaction between GOK,
1375 button events, and XKB.
1376 (impl_generate_key_event):
1377 Removed hack at end of key generation that tried to
1378 "do the right thing" if XKB latch keys were generated
1379 in the midst of button press/release pairs.
1382 Added a check for HAVE_XINPUT. Not normally used yet.
1384 2002-11-25 Bill Haneman <bill.haneman@sun.com>
1386 Workarounds and fixes for mouse event/XKB interaction.
1388 * registryd/deviceeventcontroller.c:
1389 (spi_keycodes_contain, spi_dec_init_keycode_list):
1390 New internal methods.
1391 (spi_dec_set_unlatch_pending):
1392 Split the method that tells XKB to expect an
1393 unlatch (and revert it) out of the rest of the
1394 event handling code. This method is called by the
1395 two mouse event handlers (the poll and the filter).
1396 (spi_dec_update_and_emit, spi_dec_mouse_check):
1397 New methods split from spi_dec_poll_mouse_moved.
1398 The second one is now called from inside the filterFn
1399 when an XKB delatch event is received, to determine
1400 whether to revert the delatch or not.
1401 (spi_poll_mouse_moved): Refactor; also we can now
1402 properly handle the case where multiple button states
1403 have changed between polling cycles and we didn't get
1404 notified due to another client's grab.
1406 Synchronize the server while handling an XKB notification.
1407 Ugly, but apparently necessary to avoid nasty races.
1408 Check the mouse state on receipt of an XKB latch change,
1409 to decide whether to revert the latch or not. (Latches are
1410 reverted if there is an immediately preceding mouse button
1411 event that a client has consumed, in which case we don't want
1412 the user to see the side-effect of the event).
1413 (spi_device_event_controller_forward_mouse_event):
1414 Check for modifier events and fire before resetting mouse_mask_state,
1415 prevents losing modifier events.
1417 (impl_generate_keyboard_event):
1418 If we've just generated a keyboard event for a non-shift key,
1419 we don't want to revert the pending XKB latch.
1420 Otherwise, check the modifier state (via a call to
1421 spi_dev_mouse_check) and set the relatch mask to
1422 that state before returning.
1424 2002-11-24 Bill Haneman <bill.haneman@sun.com>
1427 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1430 * atk-bridge/bridge.c:
1431 (spi_atk_register_event_listeners):
1432 Don't re-register for ATK events if the registry has died
1433 and the app needs to re-register; the ATK listeners are in
1434 process and doing so will cause duplicate emission.
1436 * registryd/deviceeventcontroller.c:
1437 (spi_poll_mouse_moved):
1438 Reformat the source, detect and emit multiple button-change
1439 events (i.e. if multiple buttons have changed between poll
1441 Add code to detect mouse-down events even when the pointer
1442 is grabbed; workaround for GOK bug 98420.
1443 (spi_controller_register_with_devices):
1444 Call XTestGrabControl with 'impervious' flag set to True,
1445 allows us to synthesize events and query the pointer even during
1446 an active grab by another client.
1447 (spi_device_event_controller_forward_mouse_event):
1448 Set the mouse_mask_state to the mouse_button_state from
1449 the intercepted event, to synchronize the grab listener with
1452 2002-11-20 Bill Haneman <bill.haneman@sun.com>
1454 * cspi/spi_accessible.c:
1455 (AccessibleRole_getName):
1456 Added necessary strings for making this (deprecated)
1457 method work with the new role types.
1458 (init_role_table, role_table):
1459 Added definition of SPI_ROLE_APPLICATION.
1461 * libspi/spi-roletypes.h:
1462 Added SPI_ROLE_APPLICATION.
1464 * idl/Accessibility_Role.idl:
1465 Added ROLE_APPLICATION.
1467 * docs/reference/cspi/at-spi-cspi-decl.txt:
1468 Added SPI_ROLE_APPLICATION to docs.
1470 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
1472 * cspi/spi_accessible.c
1473 (cspi_init_role_table): Do not write beyond end of role_table.
1474 (Accessible_getRole): Use correct type for value returned by
1475 Accessibility_Accessible_getRole().
1477 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1478 beyond end of role_table. (This fixes bug #98269)
1480 * libspi/application.c: Add include file spi-private.h for
1481 definition of spi_init_any_nil.
1483 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1487 * libspi/spi-private.h:
1488 Added DGB() macro, and extern int _dbg declaration.
1490 * registryd/registry.c:
1491 (definitions) storage for _dbg.
1492 (spi_registry_init):
1493 Get environment variable "AT_SPI_DEBUG".
1494 (spi_registry_set_debug):
1495 New method, to initialize _dbg value.
1496 (spi_listener_struct_new, spi_registry_object_finalize):
1497 (notify_listeners_cb):
1498 Changed fprintfs to use DBG and g_warning().
1500 * registryd/deviceeventcontroller.c:
1501 (_deregister_keygrab, spi_controller_register_device_listener):
1502 Changed debug/warning messages to use DBG macro.
1504 * libspi/listener.c:
1505 (impl_notify_event):
1506 Changed warning messages to use DBG macro and g_warning().
1508 * atk-bridge/bridge.c:
1509 (atk_bridge_init, spi_atk_bridge_get_registry):
1510 (spi_atk_bridge_exit_func):
1511 (spi_atk_bridge_property_event_listener):
1512 Changed status, warning, and error messages to use
1513 g_warning, g_message, and DBG macros.
1516 Read the state of the AT_SPI_DEBUG environment variable
1517 and set a local '_dbg' accordingly.
1519 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1521 FIXES for 98836, 98842, other bugs.
1524 Revved to 1.1.4, interface-age=4, binary-age=4.
1526 * registryd/deviceeventcontroller.c:
1528 Fixed crasher bug in last_mouse_pos initialization.
1530 * registryd/registry.c:
1531 (desktop_add_application, desktop_remove_application):
1532 Added (and then commented out) some support for
1533 object context marshalling. [TODO]
1535 * atk-bridge/bridge.c:
1536 (spi_atk_bridge_event_context_create):
1537 Commented out object context creation until it can
1538 be properly tested and debugged.
1540 * registryd/registry.c:
1541 (impl_registry_notify_event):
1542 Fixed crasher bug, we were calling
1543 spi_re_entrant_list_foreach () with an empty list.
1545 2002-11-18 Bill Haneman <bill.haneman@sun.com>
1547 * idl/Accessibility_Action.idl:
1548 * idl/Accessibility_Component.idl:
1549 * idl/Accessibility_Desktop.idl:
1550 * idl/Accessibility_Event.idl:
1551 * idl/Accessibility_Hyperlink.idl:
1552 * idl/Accessibility_Image.idl:
1553 * idl/Accessibility_Relation.idl:
1554 * idl/Accessibility_Selection.idl:
1555 * idl/Accessibility_State.idl:
1556 * idl/Accessibility_Value.idl:
1557 Updated unimplemented slot count to minimum of
1558 four for all interfaces, for ABI freeze.
1560 * idl/Accessibility_EditableText.idl:
1561 * idl/Accessibility_Text.idl:
1562 Updated unimplemented slot count to six
1565 * idl/Accessibility_Registry.idl:
1566 Updated unimplemented slot count to six
1567 (also for DeviceEventController),
1570 * idl/Accessibility_Table.idl:
1571 Updated unimplemented slot count to eight,
1574 * idl/Accessibility_Event.idl:
1575 Added CORBA_any "any_data" member to Event struct.
1577 * idl/Accessibility_Event.idl:
1578 Added CORBA_any "any_data" member to Event struct.
1580 * atk-bridge/bridge.c:
1582 atk_signal_text_changed, atk_signal_child_changed,
1583 signal ids queried from gtype system.
1584 (AtkBridgeEventContextType): New enum.
1585 (AtkBridgeEventContextData): New struct.
1586 (AtkBridgeEventContext): New struct.
1587 (atk_bridge_init_event_type_consts):
1588 New method, initializes type contants for comparison
1589 prior to emit_eventv.
1590 (atk_bridge_event_context_init): New method,
1591 initializes a CORBA_any from an AtkBridgeEventContext.
1592 (atk_bridge_focus_tracker): Call spi_init_any_nil to
1593 initialize the event.any_data struct.
1594 (spi_atk_bridge_event_context_create): New method,
1595 creates an AtkBridgeEventContext from signal/event info.
1596 (spi_atk_bridge_event_context_free): New method.
1597 (spi_atk_emit_eventv): Changed to take an
1598 AtkBridgeEventContext parameter. We now initialize
1599 the event.any_data member prior to notifying the
1600 Registry, via the AtkBridgeEventContext.
1601 (spi_atk_bridge_property_event_listener):
1602 (spi_atk_bridge_state_event_listener):
1603 Match emit_eventv signature.
1604 (spi_atk_bridge_object_event_listener):
1605 Match emit_eventv signature, and create an
1606 event context from the event details.
1607 Free the event context afterwards.
1608 (spi_atk_bridge_window_event_listener):
1609 Create an event context, pass it to the
1613 (AccessibleEvent_getContextString):
1614 (AccessibleEvent_getContextObject):
1615 New methods, allow query of AccessibleEvent objects
1616 for more context details (via the "any_data" member
1617 of the Event struct, above).
1620 Definitions for AccessibleEvent_getContextString
1621 and AccessibleEvent_getContextObject.
1623 * cspi/spi_listener.h:
1624 (InternalEvent): New struct.
1627 (AccessibleEvent_getContextString):
1628 (AccessibleEvent_getContextObject):
1629 Implementations of new methods, for obtaining
1630 additional context information from some event types.
1632 * cspi/spi_registry.c:
1633 (SPI_registerGlobalEventListener):
1634 Added mention of active-descendant-changed event in docs.
1636 * cspi/cspi-bonobo-listener.c:
1638 Marshal the any into the AccessibleEvent via
1641 * libspi/spi-private.h:
1642 #include <orbit/orbit.h>
1644 (spi_init_any_string):
1645 (spi_init_any_object):
1646 New convenience function declarations.
1650 (spi_init_any_string):
1651 (spi_init_any_object):
1652 New convenience function implementations.
1654 * registryd/deviceeventcontroller.c:
1655 (spi_poll_dec_mouse_moved):
1656 (spi_device_event_controller_forward_mous_event):
1657 Initialize any_data member of event.
1658 (spi_deregister_controller_device_listener):
1659 Fix incorrect param pass which was preventing deregistration.
1661 * registryd/registry.c:
1662 (desktop_add_application):
1663 (desktop_remove_application):
1664 Add object data to event's any_data before dispatch.
1666 Fix for error messages from GAIL.
1668 * test/event-listener-test.c:
1669 Test new ContextString and "any_data" API:
1670 (report_text_event): New method query and output context string.
1671 (main): register a new text listener with report_text_event
1674 2002-11-19 Darren Kenny <darren.kenny@sun.com>
1676 Fixes for bugs 98127 and 97914.
1677 * cspi/spi-roletypes.h:
1678 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
1680 * cspi/spi-statetypes.h:
1681 Added SPI_STATE_MANAGES_DESCENDANTS
1683 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
1684 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
1685 * cspi/spi_accessible.c:
1686 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
1687 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
1688 Accessibility_STATE_MANAGES_DESCENDANTS
1689 * libspi/accessible.c:
1690 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
1691 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
1692 As requested by Bill, I also cleaned up the alignment.
1693 * libspi/relation.c:
1694 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
1695 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
1696 * libspi/stateset.c:
1697 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
1698 Accessibility_STATE_MANAGES_DESCENDANTS
1699 * docs/reference/cspi/tmpl/spi_accessible.sgml:
1700 Document changes reflecting modifications to roles.
1701 * docs/reference/cspi/tmpl/spi_relation.sgml:
1702 Document changes reflecting modifications to relations.
1703 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1704 Document changes reflecting modifications to states.
1706 2002-11-17 Bill Haneman <bill.haneman@sun.com>
1709 Revved to 1.1.3, interface-age=3, binary-age=3.
1710 Added REBUILD macro.
1713 Removed accessx-gui from the tests, since we have a nice
1714 keyboard accessibility capplet now :-)
1716 * test/keysynth-demo.c:
1717 (increment_scan): removed do-nothing default: case,
1720 * test/visual-bell.c:
1721 (main) : removed do-nothing default: case,
1724 * cspi/spi_action.c:
1725 (AccessibleAction_getKeyBinding_):
1726 Documented keybinding string format.
1730 (AccessibleText_getAttributes):
1731 Documented the text attribute string format.
1732 It's changed to use semicolon delimiters also,
1733 to prevent clashes with CSS attributes, but the old
1734 trick of looking for ", " strings will still work
1735 (as unreliably as ever). Fix for bug related to 97916.
1738 Include <cspi/bonobo/cspi-bonobo-listener.h>
1739 Fixes build warning.
1740 (SPI_freeAccessibleKeySet):
1741 (AccessibleKeystrokeListener_addCallback):
1742 (AccessibleKeystrokeListener_removeCallback):
1743 Modify to use AccessibleDeviceListener API internally,
1744 instead of AccessibleKeystrokeListener.
1746 * idl/Accessibility_Event.idl:
1747 Added two more empty slots to EventListener (for a total of four).
1749 * idl/Accessibility_Accessible.idl:
1750 Added four empty slots to Accessible interface.
1752 2002-11-15 Bill Haneman <bill.haneman@sun.com>
1754 * idl/Accessibility_Registry.idl:
1755 (KeyEventType, EventType):
1756 Marked KeyEventType as deprecated; it duplicates
1757 functionality of EventType, which has been extended to
1758 include Mouse-button events.
1759 (KeyEventTypeSeq): defined in terms of EventType.
1760 (registerDeviceEventListener, deregisterDeviceEventListener):
1761 New methods, for managing listeners to device events,
1762 which potentially may consume them.
1765 Added definition for AccessibleDeviceListener.
1767 * cspi/spi-listener.h:
1768 (enum AccessibleDeviceEventType):
1769 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1770 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1771 for backwards compat.
1772 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1773 and typedef'd AccessibleKeystroke to it for back-compat.
1774 (AccessibleDeviceListenerCB):
1775 New function prototype typedef.
1778 (AccessibleDeviceEventMask): New typedef.
1779 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1780 (AccessibleKeyMaskType):
1781 Set equivalent to AccessibleModifierMaskType for back-compat.
1782 (SPI_createAccessibleKeystrokeListener):
1783 (AccessibleKeystrokeListener_unref):
1784 Deprecated in favor of equivalent (better-named) new API below..
1785 keystroke listeners are like all device listeners.
1786 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1787 New API names for old features :-).
1788 (AccessibleDeviceListener_addCallback):
1789 (AccessibleDeviceListener_removeCallback):
1790 (SPI_registerDeviceEventListener):
1791 (SPI_deregisterDeviceEventListener):
1795 (SPI_createAccessibleKeystrokeListener):
1796 Use new preferred API, cspi_device_listener_new() and
1797 cspi_device_listener_add_cb().
1798 (AccessibleKeystrokeListener_removeCallback):
1799 Use new preferred API, cspi_device_listener_remove_cb().
1800 (AccessibleKeystrokeListener_unref):
1801 Use new preferred API, cspi_device_listener_unref().
1802 (SPI_createAccessibleDeviceListener):
1803 (AccessibleDeviceListener_addCallback):
1804 (AccessibleDeviceListener_removeCallback):
1805 Implementation of new API.
1807 * cspi/spi_registry.c:
1808 (SPI_registerDeviceEventListener):
1809 (SPI_deregisterDeviceEventListener):
1810 Implementation of new API. Fixed memory leak and removed need to
1811 allocate EventTypeSeq (thanks Michael for catching this).
1812 Squashed a wayward CORBA_exception_free that shouldn't get called.
1814 * cspi/bonobo/cspi-bonobo-listener.c:
1816 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1817 (cspi_key_event): renamed to cspi_device_event().
1818 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1819 Extended to handle mouse button events as well as key events.
1820 (CSpiKeystrokeListener):
1821 Class superceded by CSpiDeviceListener.
1822 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1823 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1825 * cspi/bonobo/cspi-bonobo-listener.h:
1826 (CSpiKeystrokeListener):
1827 Class superceded by CSpiDeviceListener.
1828 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1829 These internal APIs changed to "*device_listener" from "*keystroke_listener".
1831 * libspi/Makefile.am:
1832 Replaced keystrokelistener.h and keystrokelistener.c
1833 with devicelistener.h and devicelistener.c; keystrokelisener.h
1834 stub retained for back-compat.
1836 * libspi/keystrokelistener.c:
1840 Replaced inclusion of keystrokelistener.h with devicelistener.h.
1842 * registryd/deviceeventcontroller.c:
1843 (DEControllerListener): Added Accessibility_EventTypeSeq member.
1844 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1845 (DEControllerPrivateData): Added xkb settings data.
1846 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1847 button release events (which can't be captured via XGrabButton).
1848 Don't dispatch via the 'normal' event mechanism if the device event was
1850 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1851 Handle the typeseq data in its new location (see above).
1852 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1853 New methods, for "generic" device listeners.
1854 (spi_controller_register_device_listener):
1855 Now handle mouse event listeners as well as key listeners.
1856 (spi_controller_notify_mouselisteners):
1857 New internal method.
1858 (spi_device_event_controller_forward_mouse_event):
1859 Now we notify mouse device listeners as well as generating the
1860 non-consumable "mouse:" events.
1862 We must check and restore the XKB
1863 modifier map if we consume the event, since the act of triggering
1864 a mouse event will normally reset the XKB latch. This is required for
1866 (spi_controller_register_with_devices):
1867 Load the XKB settings when registering, and register for XKB
1868 state notify events.
1869 (spi_key_eventtype_seq_contains_event):
1870 Renamed spi_eventtype_seq_contains_event, since it's used
1871 internally for all device event types now.
1872 (spi_key_event_matches_listener):
1873 Uses spi_eventtype_seq_contains_event now.
1874 (spi_device_event_controller_object_finalize):
1875 Free the private data and the XkbKeyboard struct.
1876 (impl_register_device_listener, impl_deregister_device_listener):
1877 Implementation of new IDL.
1878 (spi_deregister_controller_device_listener):
1879 New internal method.
1880 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
1881 More efficient implementation, we don't have to create a new
1882 XkbControls structure every time we query.
1883 (spi_device_event_controller_class_init):
1884 Initialize the epv entries for the new IDL. Assign the
1885 "spi-dec-private" quark.
1886 (spi_device_event_controller_init):
1887 Initialize the private data.
1888 (spi_device_event_controller_forward_key_event):
1889 Removed a bogus CORBA_exception_free() call.
1891 * registryd/deviceeventcontroller.h:
1892 Replaced inclusion of keystrokelistener.h with
1895 * test/event-listener-test.c:
1896 (report_mouse_event):
1899 Added mouse-event device listener.
1901 * test/test-simple.c:
1902 (create_test_window):
1903 Fixed regression (we were instantiating a GtkRange,
1904 which is now an abstract class). Also fixed to match
1905 existing AtkRole names, this seems to have changed in ATK
1906 awhile ago; too late now I think, and the new
1907 mechanism is at least elegant and consistent with the
1908 glib enum "nick" APIs.
1910 2002-11-15 Darren Kenny <darren.kenny@sun.com>
1912 * idl/Accessibility_Relation.idl:
1913 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
1914 RELATION_EMBEDS,RELATION_EMBEDDED_BY
1915 * idl/Accessibility_Role.idl:
1916 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
1917 * idl/Accessibility_State.idl:
1918 add STATE_MANAGES_DESCENDANTS
1919 * test/event-listener-test.c:
1920 Added a listener for active-descendant events.
1922 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
1924 * atk-bridge/bridge.c
1925 (atk_bridge_init): If application is Bonobo component wait until top
1926 level is added before registering
1927 (spi_atk_bridge_do_registration): New function which contains code,
1928 formerly in atk_bridge_init, to do application registration.
1929 (spi_atk_bridge_toplevel_added): Signal called when top level
1930 added to Bonobo component
1932 This fixes bug #83134.
1934 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
1936 * registryd/deviceeventcontroller.c
1937 Fixed compilation error caused by calling gettimeofday()
1940 2002-10-18 Bill Haneman <bill.haneman@sun.com>
1945 Added template for HAVE_XKB.
1948 Changes to check for XKB, and to set the HAVE_XKB #define if it
1951 * libspi/listener.c:
1952 ()impl_notify_event): Make failure to get event source name
1955 * registryd/deviceeventcontroller.c:
1956 (#include): include X11/XKBlib.h.
1957 (DEControllerPrivateData) : New struct.
1958 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
1960 (dec_synth_keycode_press) (dec_synth_keycode_release):
1961 New methods; split the key synthesis code into these methods.
1962 They check XKB settings before determining the "time" values to
1963 pass to Xtest; this fixes bug #95828.
1964 (impl_generate_keyboard_event): Changed to use methods above,
1965 instead of callng Xtest directly.
1966 (spi_device_event_controller_init): Initialize new privae struct s
1968 (spi_device_event_controllr_object_finalize):
1969 Free the (new) private data.
1971 * registryd/deviceeventcontroller.h:
1972 Add new gpointer to end of struct data.
1974 2002-10-16 Bill Haneman <bill.haneman@sun.com>
1977 Incremented revision to 1.1.2, SONAME is still '.so', library
1978 extensions are ".so.0.0.2".
1980 * registryd/deviceeventcontroller.c:
1981 FIXES FOR #93592 and #95940.
1982 (statics): renamed mouse_button_state to mouse_mask_state,
1983 added key_modifier_mask.
1984 (spi_dec_poll_mouse_moved):
1985 Added key modifier checks, and emit "keyboard:modifiers"
1986 events when the key modifiers currently in use change.
1987 Also generate "mouse:abs" events periodically, even if the mouse
1988 is stationary (should we?).
1989 Alternatively we could generate "mouse:abs" events for either all
1990 mouse movements, or every 'nth' mouse movement, or at the
1991 beginning and end of every "active" mouse period.
1993 * test/event-listener-test.c:
1994 (main): Added listener for "keyboard:modifiers" events.
1996 2002-10-15 Bill Haneman <bill.haneman@sun.com>
1998 * libspi/keymasks.h:
1999 Added key mask #defines for mouse buttons; e.g.
2000 SPI_KEYMASK_BUTTON1, etc.
2003 Incremented dependency on ATK to version 1.1.0. (This dependency
2004 is probably premature but will soon be real enough).
2006 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
2008 * libspi/hyperlink.[ch]
2009 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
2010 (get_hyperlink_from_servant): Check object is AtkHyperlink not
2013 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
2018 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
2020 * registryd/deviceeventcontroller.c
2021 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
2022 events to be ignored.
2023 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
2024 keyboard_mode so that XAllowEvents() can be called.
2028 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
2030 * cspi/spi-accessible.c: Correct names of roles returned by
2031 AccessibleRole_getName(). Fixes bug #95055.
2033 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
2035 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
2038 * registryd/registry.c
2039 (desktop_remove_application: Write diagnostic message to stderr for
2042 (impl_accessibility_registry_deregister_global_event_listener):
2043 Correct size of lists array. This addresses bug #94555).
2045 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
2047 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
2050 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
2052 * registryd/Makefile: Add CLEANFILES so that .server file is removed
2055 * registryd/registry.c (impl_registry_notify_event): Remove
2056 unnecessary call to parser_event_type().
2058 * docs/reference/cspi/tmpl/spi_component.sgml:
2059 Add reference to SPI_LAYER_WINDOW.
2061 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
2063 * registryd/registry.c
2064 (desktop_add_application): Remove leak.
2065 (desktop_remove_application): Remove leak.
2066 (parser_event_type): Remove leak.
2068 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
2070 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
2071 bogus call to CORBA_string_dup(). Also removed unnecessary
2072 g_string_dup/g_free calls.
2074 2002-09-13 Bill Haneman <bill.haneman@sun.com>
2076 * registryd/deviceeventcontroller.c:
2077 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
2079 * test/event-listener-test.c:
2080 main: commented out three redundant listeners, to reduce output
2081 noise. (They still are potentially useful for testing).
2084 2002-09-13 Michael Meeks <michael@ximian.com>
2086 * Update all the copyrights to include Ximian.
2088 2002-09-06 Mark McLoughlin <mark@skynet.ie>
2090 * cspi/spi.h: add SPI_LAYER_WINDOW.
2092 * cspi/spi_component.c: (AccessibleComponent_getLayer):
2093 add Accessibility_LAYER_WINDOW case.
2095 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
2097 * libspi/component.c: (impl_accessibility_component_get_layer):
2098 add ATK_LAYER_WINDOW case.
2100 2002-08-28 Bill Haneman <bill.haneman@sun.com>
2102 * configure.in: incremented micro version.
2104 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
2106 2002-08-20 Bill Haneman <bill.haneman@sun.com>
2109 Clarified and reworded our commit policy.
2112 Started an API "todo" addition list for 2.2.
2115 (impl_getSelection):
2116 Free char pointer from atk_text_get_selection, which was being leaked.
2118 2002-08-19 Bill Haneman <bill.haneman@sun.com>
2121 Small revision to author acknowledgement.
2123 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
2125 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
2126 If signal has detail add it to the type of the event.
2129 2002-08-12 Michael Meeks <michael@ximian.com>
2131 * test/test-simple.c (global_listener_cb): bin bogosity.
2132 (test_keylisteners): disable, still doesn't work reliably,
2133 certainly not on my system anyway.
2135 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
2136 don't leak a reference on the DEC. This round-trip
2137 fetching of the DEC per keystroke sucks, it should be
2140 * cspi/spi-private.h,
2141 * cspi/cspi-lowlevel.h,
2142 * cspi/bonobo/cspi-bonobo-listener.[ch],
2143 * cspi/bonobo/cspi-bonobo.c: get the copyright
2144 notices better - there is still a large amount of
2145 work in at-spi falsely attributed solely to Sun.
2147 * cspi/spi_main.c (cspi_object_ref): kill bogus
2148 hash lookup, just increment the ref.
2149 (SPI_freeString): make explicit the fact that we
2150 handle NULL strings just fine.
2151 (report_leaked_ref): obey coding standards.
2152 (cspi_object_hash, cspi_object_equal): kill retval.
2153 (cspi_object_release): only release if not on loan.
2154 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
2155 (cspi_object_borrow, cspi_object_return): impl.
2157 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
2158 use cspi_object_borrow / return.
2160 2002-08-12 Darren Kenny <darren.kenny@sun.com>
2162 * cspi/bonobo/cspi-bonobo-listener.c:
2164 Don't call cspi_oject_new() because this is creating a new Accessible
2165 every single time that an event is fired. This causes ATs like at-poke
2166 to nolonger recognise the source of the event and thus ignore it.
2167 Re-use the object from the cache, ref it and then unref it after the
2168 listeners have been called.
2170 2002-08-06 Darren Kenny <darren.kenny@sun.com>
2172 * test/event-listener-test.c:
2173 Added command-line options to disable mouse events (m) and
2176 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
2178 * configure.in: Update required versions of ATK, GTK+ and GAIL
2180 * cspi-1.0.pc.in: Add dependency for X include files
2183 * cspi/bonobo/Makefile.am:
2184 Add $(X_CFLAGS) so that X include files
2185 are picked up even if not in standard place (bug #71686)
2187 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2189 * registryd/deviceeventcontroller.c: fix for 84261
2190 (spi_dec_mouse_moved):
2191 Added test of mouse button mask, so that we can detect mouse
2192 button release. Unfortunately we can't otherwise detect mouse
2193 button release events without consuming the mouse press event,
2194 because of the way XGrabButton works. This means that our mouse
2195 release events have a latency dependent on the polling period
2196 while the mouse button is down. At least in this case we only
2197 have to poll while the button is down, and not at other times.
2198 If the button masks don't match with what the last press event
2199 reported, we report the appropriate button release event.
2200 (spi_dec_ungrab_mouse):
2201 New method (not yet called).
2202 (spi_device_event_controller_forward_mouse_event):
2203 New method, sends mouse press event from GdkFilter.
2204 (spi_dec_init_mouse_listener):
2205 Added code to call XGrabButton, redirecting mouse button events to
2206 the root window and our Gdk event loop.
2208 Added code to filter mouse button events, and reordered.
2210 * test/event-listener-test.c:
2212 Added registration for mouse events of type "mouse:button".
2214 2002-06-25 Bill Haneman <bill.haneman@sun.com>
2216 * registryd/deviceeventcontroller.c: partial fix for 84261
2217 (spi_dec_poll_mouse_idle):
2218 New method, a timeout which checks to see if the mouse
2220 (spi_dec_poll_mouse_moving):
2221 A timeout to be called when mouse motion is underway.
2222 (spi_dec_poll_mouse_moved):
2223 A method which fires an event if the mouse has moved, and reports
2224 whether or not it did so.
2225 (spi_dec_init_mouse_listener):
2226 A method which sets up the timeouts above.
2227 (spi_device_event_controller_new):
2228 Now calls spi_dec_init_mouse_listener.
2230 * registryd/registry.c:
2231 (spi_registry_init):
2232 Now we initialize the device event controller when the registry is
2233 initialized, instead of waiting until a client has requested a key
2234 event notification; this is because we need the event controller
2235 for mouse events, but the mouse event registration API is a
2236 "registry" call and doesn't explicitly call the
2237 deviceeventcontroller.
2238 We now report mouse motion events with a 100 ms idle latency and
2239 a 20 ms granularity when motion is in progress.
2241 * test/event-listener-test.c:
2243 We now register the "detail listener" for events of type
2244 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
2245 delivered only for the first mouse event received, and thereafter
2246 "mouse:abs" events are delivered.)
2248 * cspi/spi_registry.c:
2249 DOCS: Documented the above mouse event typestrings.
2251 2002-06-21 Bill Haneman <bill.haneman@sun.com>
2253 Happy Summer Solstice...
2255 * registryd/deviceeventcontroller.c: [fix for bug 84100]
2256 (spi_controller_notify_keylisteners):
2257 Changes to remove a listener from the listener list, freeing its
2258 open keygrabs, if a notification to that listener fails. This
2259 means that although a dead listener can continue to hold a passive
2260 keygrab, a maximum of one dispatch to such a listener can fail
2261 before the listener is removed from the list, thus the keygrab
2262 will be released on the next occurrence.
2263 As part of this fix:
2264 (spi_notify_keylisteners):
2265 Renamed to spi_controller_notify_keylisteners, as the controller
2266 instance must now be passed as an argument.
2267 The copied 'notify' GList is now a list of DEControllerKeyListener
2268 objects, since we need more than just the CORBA reference if a
2269 notify fails and we need to deregister the listener.
2270 (impl_notify_listeners_sync):
2271 (impl_notify_listeners_async):
2272 (spi_device_event_controller_forward_key_event):
2273 Modify use of notify_keylisteners in accordance with above
2275 (spi_deregister_controller_key_listener):
2276 New method introduced by refactoring, from
2277 impl_deregister_keystroke_listener.
2278 (impl_deregister_keystroke_listener):
2279 Call spi_deregister_controller_key_listener.
2280 (spi_key_listener_clone):
2281 New method to copy a key listner without doing a 'ref' on the
2282 remote object instance; used to create a notifier list.
2283 (spi_key_listener_data_free):
2284 New method, frees data without unreffing the source.
2286 (spi_key_listener_clone_free): new method.
2287 (spi_key_listener_free):
2288 refactored to call spi_key_listener_data_free.
2290 2002-06-20 Bill Haneman <bill.haneman@sun.com>
2292 * registryd/registry.c: [fix for bug 86048]
2293 (notify_listeners_cb):
2294 Clear CORBA system exceptions which occur when notifying
2295 listeners, before returning to the source of the original event,
2296 since the event source doesn't care if the relayed notify failed.
2297 In other words, don't complain to the atk-bridge if the registry
2298 could not notify all its listeners, that's no fault of the
2299 application and thus should not appear to be an error from the
2300 application's perspective.
2302 * cspi/spi_main.c: [fix for bug 85980]
2304 Replaced use of bonobo_object_dup_ref with call to the wrapper
2305 method, csou_dup_ref (); this silences a compiler warning and
2306 provided more portability.
2308 Ping the registry before return, and restart if necessary.
2310 * cspi/bonobo/cspi-bonobo.c:
2312 New internal method.
2314 Fixed this method to return an object reference, as it should have
2317 * cspi/cspi-lowlevel.h:
2318 Added internal definition for cspi_ping() and fixed
2319 return type of cspi_dup_ref().
2322 2002-06-19 Bill Haneman <bill.haneman@sun.com>
2324 * atk-bridge/bridge.c: [fix for bug 85305]
2325 (spi_atk_bridge_register_application):
2326 New method where the initial application registry calls have been
2327 moved; it allows an application to re-register in response to
2328 certain error conditions (such as a registry restart, see below).
2330 Moved some initialization code to the method
2331 spi_atk_bridge_get_registry, below.
2332 (spi_atk_bridge_get_registry):
2333 New, private accessor function for the Accessibility_Registry
2334 instance. If the registry has not been started before, or has
2335 died (as detected by failure of a CORBA exception), it is
2336 restarted before return, and spi_atk_bridge_register_application
2337 is called again to register with the new bridge instance.
2338 (spi_atk_emit_eventv):
2339 Set registry_died on error; use spi_atk_bridge_get_registry () to
2340 access the registry.
2342 * registryd/registry.c:
2343 (impl_accessibility_registry_register_global_event_listener):
2344 Set listener's event_type_quark to etype.minor instead of
2345 etype.major (fix for bug 84856).
2347 * test/event-listener-test.c:
2348 (report_detail_event):
2349 Change the output string so that user/tester can tell that the
2350 'detail listener' was called instead of the 'generic listener'.
2352 2002-06-18 Bill Haneman <bill.haneman@sun.com>
2354 Fixes for bugs 84900, 84908, 84897, 84898.
2359 Revved version to 1.1.0
2360 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
2361 version is going to HEAD which will be used for gnome-2-0-1 and later.)
2363 * idl/Accessibility_Registry.idl:
2364 (EventListener::notifyEvent):
2365 Removed 'oneway' directive after extensive consulation with
2366 ORBit2 team and others. This means also that unref() of the event
2367 source can and should be done synchronously after emission, rather
2368 than remotely in the client, after servicing the notify call on
2371 NOTE: This change speeds up listener performance considerably, but
2372 introduces new latency on the application side. We may want to
2373 add an event queue to the atk-bridge.
2375 * atk-bridge/bridge.c:
2376 (spi_atk_bridge_focus_tracker):
2377 Do a local unref() on the event source after emission.
2379 * registryd/registry.c:
2380 (desktop_remove_application):
2381 Do an unref() on the event source after emission.
2382 (desktop_add_application):
2383 Do an unref() on the event source after emission.
2384 (notify_listeners_cb):
2385 When relaying an event, don't automatically add the event source
2386 to the local object cache, just CORBA_dup it instead. Likewise,
2387 if this method reenters, release the ref rather than calling
2389 (impl_registry_notify_event):
2390 No longer call remote unref() on the event source after dispatch.
2392 * libspi/eventlistener.c:
2393 (impl_accessible_event_notify_event):
2394 Removed remote unref ()
2396 * cspi/bonobo/cspi-bonobo-listener.c:
2398 We now call cspi_object_new() instead of cspi_object_add() on
2399 receipt of an event; thus we only have an implicit object ref
2400 while the cspi_event method is being executed. If we need to keep
2401 a reference to the object, the listener must call ref() on the
2402 object. Thus also we don't need to call cspi_object_unref() after
2403 invoking the listener callbacks in this method.
2407 New internal API for creating a new cspi object, without adding it
2408 to the object cache.
2410 Now uses cspi_object_new() to create the cspi object instance.
2412 Now checks to see if the object is in the internal object cache,
2413 and adds it if necessary before incrementing its refcount (note
2414 that new objects are added with a refcount of 1).
2415 (report_leaked_ref):
2416 New method which gives some information on leaked object instances
2417 if leak detection is turned on.
2419 * test/event-listener-test.c:
2420 (timing_test_event):
2421 New method, used for testing event delivery timing for special
2422 events of type "object:test". It reports elapsed time and
2423 events/sec every 500 events.
2425 Added a new listener, 'test listener', to check timing of event
2426 receipt as noted above.
2428 Added some timing output here also, reports elapsed time every 100
2431 * test/stress-test.c:
2432 Emit events of type "object:test", for use with "event-listener-test".
2434 * test/test-simple.c:
2435 (global_listener_cb):
2436 Call Accessible_ref() on the event source before calling
2437 validate_accessible, since the validation process does pointer
2438 comparisons on the event source, meaning that the event source
2439 needs to be added to the local object cache first. Any use of
2440 such pointer comparisons between Accessible objects requires that
2441 the caller hold an explicit reference to those objects.
2442 We also must therefore call Accessible_unref() when leaving this method.
2444 2002-06-13 Bill Haneman <bill.haneman@sun.com>
2446 * registryd/deviceeventcontroller.c:
2447 (spi_controller_update_key_grabs):
2448 Fix for #84735, subsequent keygrab listeners not informed of
2449 registration failure.
2452 (spi_base_construct):
2453 Add an assertion on construct, to make sure the GObject passed in
2454 is really a GObject.
2456 Explicitly initialize object->gobj pointer to NULL;
2458 * cspi/bonobo/cspi-bonobo-listener.c:
2459 (cspi_object_add_ref):
2460 New method, can specify whether to dup-ref a bonobo object passed
2461 in if it's newly added to the object cache.
2463 Now calls cspi_object_add_ref with second param of "FALSE". This
2464 prevents us from doing a pointless dup-ref followed by
2465 release-unref for all those cases where the object is already in
2466 our object cache (fix for #85205).
2468 * atk-bridge/bridge.c:
2469 (spi_atk_bridge_idle_init):
2470 Removed this method, we don't need to initialize in an idle
2473 Changed to call spi_atk_register_event_listeners directly, not via an
2474 idle handler. (fix for #81139)
2475 (gnome_accessibility_module_shutdown):
2476 Removed conditional around deregistration of listeners, since we
2477 don't use the idle handler and thus have always registered when
2479 (spi_init_keystroke_from_atk_key_event):
2480 Changed references to Accessibility_KEY_PRESSED to
2481 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2483 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2485 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2490 * test/stress-test.c:
2493 (may have been an incomplete commit yesterday?)
2495 2002-06-12 Bill Haneman <bill.haneman@sun.com>
2498 Added target for new stress-test.
2500 * test/stress-test.c:
2501 New test, sends 1000 focus notifies in quick succession.
2503 * test/key-listener-test.c:
2504 Now we report whether a keylistener registration
2505 request succeeded or failed.
2507 * test/event-listener-test.c:
2508 Uncommented some listeners which are now implemented.
2511 2002-06-06 Bill Haneman <bill.haneman@sun.com>
2513 * registryd/deviceeventcontroller.c:
2514 (spi_controller_update_key_grabs):
2515 Fix for #82509, lack of failure notification when
2516 ALL_WINDOWS keygrabs fail due to XGrabKey
2517 failure: we synchronize the server when
2518 registering a passive grab, to make sure we get the
2519 error message before the call returns.
2521 2002-06-03 Bill Haneman <bill.haneman@sun.com>
2523 * test/test-simple.c:
2525 Removed #ifdef KEY_IMPL_WORKS guards.
2526 (test_keylisteners):
2527 Removed #ifdef KEY_IMPL_WORKS guards.
2528 Fixed bug which was causing a hang waiting for a
2529 "press" event (which was already overwritten by a "release"
2530 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2532 Added code to set globals 'key_press_received' and
2533 'key_release_received'.
2536 Added section "1.1 API Proposed Additions" which
2537 lists API additions desired for at-spi-1.1 (only one so far).
2538 Updated TODO list a little.
2540 2002-06-02 Bill Haneman <bill.haneman@sun.com>
2542 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2545 * configure.in: Revved to 1.0.0.
2547 * idl/Accessibility_Registry.idl:
2548 (registerKeystrokeListener):
2549 Added boolean return value.
2551 * registryd/registry.c:
2552 (notify_listeners_cb): Minor fix to debug output.
2554 * registryd/Accessibility_Registry.server.in.in:
2555 Revved version number in OAFIID to 1.0.
2557 * registryd/registryd.c:
2559 Use new OAFIID version.
2561 * cspi/bonobo/cspi-bonobo.c:
2563 Use new OAFIID version.
2569 * atk-bridge/bridge.c:
2571 Use new OAFIID version.
2573 * registryd/deviceeventcontroller.c:
2574 (impl_register_keystroke_listener):
2575 Added CORBA_boolean return value.
2576 (spi_controller_register_device_listener):
2577 Added gboolean return value.
2578 (spi_controller_register_global_keygrabs):
2579 Added gboolean return value.
2580 (spi_key_set_contains_key):
2581 Added implementation for many more control keys,
2582 for instance F1-F12, arrow keys, End, Home, Page_Up,
2584 [TODO: some still not implemented].
2586 * text/screen-review-test.c:
2587 (text_chunk_pad_string):
2588 New function: it provides mapping between coordinate
2589 positions of text chunks and character positions in the
2590 screen-review-line output string.
2591 (text_chunk_to_string):
2592 New function, calls text_chunk_pad_string with various
2593 pad/delimiter characters. Pushbuttons are delimited with
2594 square brackets, Frames with vertical 'pipe' lines, and
2595 other text with double quotes.
2596 (text_chunk_list_to_string):
2597 Calls new function text_chunk_to_string.
2598 (toplevel_composite):
2599 New function to composite layers CANVAS through
2600 POPUP in each toplevel (other layers are composited
2601 across toplevels, i.e. BACKGROUND and OVERLAY).
2602 (review_buffer_composite):
2603 Revise to use new methods.
2609 2002-05-31 Laszlo Peter <laca@sun.com>
2611 * configure.in: add the Xtst libdir to the runpath on Solaris,
2612 since it's not in the default library search path.
2614 2002-05-29 jacob berkman <jacob@ximian.com>
2616 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
2618 2002-05-29 Bill Haneman <bill.haneman@sun.com>
2620 * test/screen-review-test.c:
2621 (text_chunk_pad_string):
2622 Added method, which pads the string according to the
2623 text bounds of the chunk. It also takes a 3-character
2624 string as a param which indicates the characters to be
2625 used for start, padding, and end delimitation of the chunk.
2626 (text_chunk_to_string):
2627 Changed to use text_chunk_pad_string.
2629 * configure.in: Fixed bug in AC_OUTPUT that was
2630 causing path substitution in Accessibility_Registry.server
2633 2002-05-23 Bill Haneman <bill.haneman@sun.com>
2635 * text/screen-review-test.c:
2636 (guess_string_clip):
2637 New method which attempts a best-guess at clipping
2638 text from components (like Java labels) which don't
2639 actually implement AccessibleText. This inaccurate
2640 clip is based on the assumption that the label is
2641 justified left-and-right, and monospaced.
2642 (text_chunk_get_clipped_string):
2643 We now call guess_string_clip() for text-containing
2644 components that don't implement AccessibleText.
2646 * test/screen-review-test.c:
2647 (review_buffer_get_text_chunk):
2648 We now pull "name" from labels if they do not implement
2649 AccessibleText (i.e. for Java labels).
2650 (get_screen_review_line_at):
2651 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
2654 Replaceded AC_OUTPUT target
2655 registryd/Accessibility_Registry.server with
2656 registryd/Accessibility_Registry.server.in.
2658 * registryd/Accessibility_Registry.server.in:
2659 Removed (this is now a Makefile target).
2661 * registryd/Accessibility_Registry.server.in.in:
2662 Added (source for target above). We now use $(libexecdir) as
2663 prefix for the executable at-spi-registryd.
2665 * registry/Makefile.am:
2666 Now install at-spi-registryd into $(libexecdir), and build .server
2667 file with path (see above).
2669 2002-05-22 Bill Haneman <bill.haneman@sun.com>
2671 * test/screen-review-test.c:
2672 (text_chunk_get_clipped_string):
2673 We now check to see if words fall within clip bounds
2674 before resorting to character-by-character clip bounds testing.
2676 * TODO: Added a section for "2.2 Proposed API Additions".
2678 2002-05-21 Bill Haneman <bill.haneman@sun.com>
2680 * test/screen-review-test.c:
2682 Added a screen review benchmarking and test program to test
2685 * cspi/spi_accessible.c:
2687 Made some of the debug strings passed to cspi_check_ev a
2688 little more specific.
2690 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
2692 * test/screen-review-test.c: Fix crashes in debug statements
2694 2002-05-20 Bill Haneman <bill.haneman@sun.com>
2696 * test/screen-review-test.c: Added this file.
2698 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2700 * atk-bridge/bridge.c: changed "object:state-change" to
2701 "object:state-changed" to match docs.
2703 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
2705 * atk-bridge/bridge.c: Hooked up state-change event details.
2707 2002-05-11 Bill Haneman <bill.haneman@sun.com>
2709 * registryd/registry.c:
2710 Fixed quarking bug in event string parsing; now events with
2711 detail parameters get matched correctly to listeners.
2714 * util/idl/Magnifier.idl: remove.
2716 * util/*.[ch]: Remove.
2717 Magnification utilities and IDL are now in module gnome-mag.
2719 2002-05-10 Bill Haneman <bill.haneman@sun.com>
2721 * registryd/deviceeventcontroller.c:
2722 Fixed bug in grab key conversion which was causing keycode grabs
2723 to be converted to AnyKey grabs.
2726 updated NEWS file to reflect recent spin-off of gnome-mag.
2728 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
2730 * cspi/spi_accessible.c: Added exception checks. Fixed completely
2731 busted AccessibleStateSet_compare. Removed redundant casts.
2733 * cspi/spi-action.c: Removed redundant casts.
2735 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
2737 * cspi/spi_component.c: Fixed typos and casting error.
2739 * cspi/spi_editabletext.c: Removed redundant casts.
2741 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
2743 * cspi/spi_hypertext.c: Eliminated redundant casts.
2745 * cspi/spi_image.c: Eliminated redundant casts.
2747 * cspi/spi_registry.c: Eliminated redundant casts.
2748 SPI_deregisterGlobalEventListenerAll () removed retval variable.
2749 * cspi/spi_selection.c: Removed redundant casts.
2750 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
2751 handling. Screen geometry and text offsets were being returned as 0
2752 on error which is technically valid-- changed these to return -1.
2753 Added marshaller for text boundary types to fix bug with boundary
2754 types being passed incorrectly to atk.
2756 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2759 * cspi/spi_registry.c:
2760 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
2761 which was uncovered by the recent key changes.
2763 2002-05-09 Bill Haneman <bill.haneman@sun.com>
2765 * test/event-listener-test.c:
2767 Added new test, "event-listener-test";
2768 this code does two things; it benchmarks traversal time
2769 for the accessible hierarchy for the first running accessible
2770 app, and it connects listeners for all supported event types.
2771 It is thus useful as an example event listener and for
2772 diagnostics/debugging of event generation.
2774 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2777 Removed unnecessary dependency on libutil.
2780 Revved micro version: 0.13.1
2782 2002-05-08 Bill Haneman <bill.haneman@sun.com>
2785 Removed util/Makefile from targets.
2788 Removed util subdir from SUBDIRS (temporarily,
2789 pending removal of magnifier-only code
2793 #ifdef-ed out magnifier dependencies, since
2794 magnifier IDL, headers, and binary now live in
2795 module gnome-mag and we don't want at-spi to depend
2796 on gnome-mag. A magnifier demo which can run alongside
2797 simple-at is forthcoming in the gnome-mag module.
2799 NOTE: Split magnifier binary, IDL, and magnification
2800 activation code from at-spi into module gnome-mag.
2802 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
2804 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2805 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2807 2002-05-03 Bill Haneman <bill.haneman@sun.com>
2810 Revved to version 0.13.0
2812 * idl/Accessibility_Registry.idl:
2813 Changed definition of KeySet from sequence of longs to sequence of
2814 KeyDefinitions, and added KeyDefinition struct.
2815 Required for fix to bug 80616.
2817 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2818 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2819 to use new definition (see above).
2821 * registryd/deviceeventcontroller.c: handle_keygrab(),
2822 spi_keyset_contains_key():
2823 Changed to make use of new struct; this allows matching based on
2824 string key-name, for instance "Tab". This also allows matching of
2825 composed characters, non-alphanumeric characters in a way that
2826 doesn't involve dependencies on X keysym codes directly, etc.
2828 * test/key-listener-test.c:
2829 Added test for Alt-Tab key using "string" specification of keyset,
2830 and modified one of the tests to use a keycode-based keyset.
2831 Thus this test both tests and demonstrates the creation and use of
2832 keysets of three forms: specified via keycode array,
2833 keysym array, and string array. (The string case only contains a
2834 single string, i.e. a string array of length 1).
2837 Turned on PRINT_TREE option by default. Also fixed a
2838 string-freeing bug in the PRINT_TREE code.
2839 Added a listener to window:minimize events.
2841 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
2843 * atk-bridge/bridge.c:
2844 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2845 for window:activate and window:deactiveate
2846 (atk_bridge_property_event_listener atk_bridge_signal_listener
2847 atk_bridge_window_event_listener) Tidy debug code
2849 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
2851 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2852 Fixed handling for NULL return value from ATK.
2854 * libspi/action.c libspi/component.c libspi/editabletext.
2855 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2856 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2857 Removed redundant casts.
2859 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2860 Fixed off by one bug.
2862 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2863 function not present in idl)
2865 2002-05-02 jacob berkman <jacob@ximian.com>
2867 * atk-bridge/Makefile.am: make atk-bridge a real module
2869 2002-04-26 Radek Doulik <rodo@ximian.com>
2871 * libspi/stateset.c (spi_init_state_type_tables): fix size of
2872 atk_state_types table
2874 2002-04-22 jacob berkman <jacob@ximian.com>
2877 * libspi/Makefile.am: add deps on the built files to help
2878 automake, and don't version the ORBit typelib
2880 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
2882 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
2883 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
2884 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
2885 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
2886 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
2887 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
2888 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
2889 libspi/accessible.h libspi/accessible.h libspi/base.h
2890 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
2891 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
2892 libspi/relation.h libspi/remoteobject.h libspi/selection.h
2893 libspi/spi-private.h libspi/statetset.h libspi/table.h
2894 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
2895 util/mag_client.h util/mag_control.c util/mag_image.c
2896 util/mag_image.h util/magnifier.c util/magnifier.h:
2897 Add missing file headers; standardize existing ones
2899 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
2901 * atk-bridge/bridge.c: Added window event support.
2903 2002-04-18 Michael Meeks <michael@ximian.com>
2905 * libspi/relation.c (impl_getNTargets): impl.
2906 (impl_getTarget): impl.
2908 * libspi/Makefile.am: fix stateset install.
2910 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2913 Started putting useful info in this file.
2915 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
2917 * atk-bridge/bridge.c:
2918 Propagate state-changed notifications to ATs
2920 * cspi/spi_registry.c: update docs to reflect actual behavior of
2921 state-change events.
2923 2002-04-17 Bill Haneman <bill.haneman@sun.com>
2926 Incremented version to 0.12.1
2928 * util/mag_client.h:
2929 Add missing declaration for magnifier_exit,
2930 used by mag_control.c - Forte compiler didn't like
2931 the implicit redeclaration of the function :-(
2934 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2937 Revved version to 0.12 due to API change (see below).
2939 * cspi/spi-roletypes.h:
2940 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
2941 definition from the inline docs, and added docs
2942 for SPI_ROLE_LAST_DEFINED.
2945 * cspi/spi_streamablecontent.c:
2946 Added missing seek_type parameter to
2947 (so far unused) method,
2948 AccessibleStreamableContent_seek().
2949 [ RT approval JodyG. ]
2952 Fixed docs for SPI_createAccessibleKeystrokeListener.
2954 * cspi/spi_registry.c:
2955 Fixed docs for SPI_KEYSET_ALL_KEYS.
2957 * docs/reference/cspi/at-spi-cspi-sections.txt:
2958 Added a number of missing APIs to SECTIONS.
2960 2002-04-16 Bill Haneman <bill.haneman@sun.com>
2962 * registryd/Makefile.am:
2964 * cspi/bonobo/Makefile.am:
2965 Add $(X_LIBS) to makefiles.
2967 2002-04-15 Bill Haneman <bill.haneman@sun.com>
2970 Revved version to 0.11.
2972 * libspi/component.c:
2973 Added implementation for grabFocus.
2975 * idl/Accessibility_Component.idl
2976 (Accessibility_Component_grabFocus):
2977 Made this method return boolean to indicate success or failure, to
2978 be consistent with cspi and the corresponding ATK method.
2980 * idl/Accessibility_Selection.idl
2981 (Accessibility_Selection_selectAll) :
2982 Made these methods return boolean to indicate success or
2983 failure, to be consistent with cspi and the corresponding ATK methods.
2985 * idl/Accessibility_EditableText.idl
2986 (Accessibility_EditableText_setTextContents,
2987 Accessibility_EditableText_insertText,
2988 Accessibility_EditableText_cutText,
2989 Accessibility_EditableText_deleteText,
2990 Accessibility_EditableText_pasteText):
2991 Made these methods return boolean to indicate
2994 * cspi/spi_editabletext.c:
2995 Made these methods return booleans.
2997 * libspi/selection.c:
2998 * libspi/component.c:
2999 * libspi/editabletext.c:
3000 Connected the boolean returns from ATK
3001 to the server-side code referenced above.
3003 2002-04-14 Bill Haneman <bill.haneman@sun.com>
3005 * idl/Accessibility_Table.idl: Added missing methods,
3006 Accessibility_Table_addRowSelection,
3007 Accessibility_Table_addColumnSelection,
3008 Accessibility_Table_removeRowSelection,
3009 Accessibility_Table_removeColumnSelection.
3012 Added C wrappers for above IDL:
3013 AccessibleTable_addRowSelection,
3014 AccessibleTable_addColumnSelection,
3015 AccessibleTable_removeRowSelection,
3016 AccessibleTable_removeColumnSelection.
3019 Added server-side implementation code for IDL above, connecting
3020 to pre-existing ATK api.
3022 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
3024 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
3026 * libspi/accessible.c: Added implementation fo
3027 Accessibility_Accessible_get_state.
3029 * libspi/libspi.h: Added stateset.h to the list of includes.
3031 * libspi/stateset.c: Fixed broken implementation.
3033 2002-04-13 Bill Haneman <bill.haneman@sun.com>
3036 Added implementation code for Accessibility_Magnifier_exit ().
3038 * util/mag_control.c:
3039 Added test code for above method; you can
3040 now kill an existing magnifier via
3041 ./mag_control q, from the util directory.
3043 * test/key-listener-test.c:
3045 Added a new test, for our key listener API.
3047 2002-04-11 Bill Haneman <bill.haneman@sun.com>
3049 * test/app.c, test/keysynth-demo.c:
3051 Replace use of snprintf with g_snprintf.
3052 (fix for bugzilla 78249)
3054 2002-03-27 Michael Meeks <michael@ximian.com>
3058 * util/Makefile.am (INCLUDES): fix.
3059 (DONT_DIST_SOURCE): don't distribute the
3062 * libspi/Makefile.am (dist-hook): ditto.
3064 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
3066 * libspi/hypertext.c:
3067 Fix warnings when yelp is used with atk-bridge
3069 2002-03-21 Michael Meeks <michael@ximian.com>
3071 * libspi/application.c (spi_application_new):
3072 use spi_accessible_construct so we use the AtkObject
3075 2002-03-19 Michael Meeks <michael@ximian.com>
3077 * registryd/registry.c (desktop_remove_application),
3078 (desktop_add_application): clean coding style.
3080 * registryd/desktop.c (spi_desktop_remove_application),
3081 (spi_desktop_add_application): kill re-enterency hazards.
3082 (spi_desktop_dispose): remove bogus redundant cast
3083 obscuring bug; fix bug too.
3084 (spi_desktop_init): make the desktop object immortal.
3086 2002-03-16 Bill Haneman <bill.haneman@sun.com>
3089 Added a #define-guarded tree-traversal step
3090 when enumerating the apps (diagnostic tool).
3092 2002-03-15 Bill Haneman <bill.haneman@sun.com>
3094 * idl/Accessibility_Role.idl:
3095 Added ROLE_DRAWING_AREA which seemed to be missing from the
3098 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3100 * cspi/spi-roletypes.h cspi/spi_accessible.c
3101 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
3104 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
3105 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
3106 AT when applications are added and removed from the desktop. This
3107 reverts the previous broken implementation using the backing
3108 AtkObject for the SpiDesktop.
3110 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3112 * registryd/desktop.c: emit the "children-changed::add" and
3113 "children-changed::remove" signals on the backing ATK object for
3114 the desktop so AT can tell when applications are started and shut
3117 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3119 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
3121 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3123 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
3125 * cspi/spi_accessible.c: Implemented c bindings for stateset support
3127 * cspi/state-types.h: synched with IDL and ATK
3129 2002-03-13 Bill Haneman <bill.haneman@sun.com>
3131 * libspi/accessible.c
3132 (impl_accessibility_accessible_get_child_at_index):
3133 Change return value for g_return_if_fail ()
3134 to CORBA_OBJECT_NIL instead of "0" (!)
3136 * registryd/Makefile.am:
3137 * registryd/Accessibility_Register.server.in:
3138 Changed name of executable, "registryd",
3139 to something more informative:
3142 2002-03-13 Michael Meeks <michael@ximian.com>
3144 * atk-bridge/bridge.c (atk_bridge_init): don't register
3145 if we're in a bonobo-component, rather than a bonobo app.
3147 2002-03-13 Michael Meeks <michael@ximian.com>
3149 * atk-bridge/bridge.c (gtk_module_init): split
3150 out body to (atk_bridge_init): here, since otherwise
3151 we get symbol conflicts and oddness when invoked
3152 from (gnome_accessibility_module_init): here (upd.)
3154 2002-03-11 Bill Haneman <bill.haneman@sun.com>
3157 New file. Explicitly allow "build sheriff" putbacks provided
3158 they are tested on Solaris.
3160 * docs/reference/cspi/Makefile.am:
3161 Added '-' to the "cp" command for index.sgml.
3162 ("patch by thomasvs, soon coming to a GUADEC near you")
3165 Incremented version number (0.9.0) for new release.
3166 Changed macro that checks for popt, to better detect
3167 obsolete versions of popt.
3170 Added X_LIBS to AC_SUBST, for applications
3171 that call Xlib API directly.
3174 2002-03-07 Bill Haneman <bill.haneman@sun.com>
3177 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
3180 Fix regression caused by hard-coding major
3181 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
3184 * test/test-simple.c (test_editable_text),
3185 (test_test): revert previous change (error was
3186 a regression in gail which is now fixed).
3188 2002-03-04 Michael Meeks <michael@ximian.com>
3190 * test/test-simple.c (test_editable_text),
3191 (test_text): pass G_MAXINT instead of '-1' for
3192 whole string - is this a good thing !?
3194 * cspi/spi_accessible.c
3195 (Accessible_getRelationSet): fix crasher bug
3196 overwriting the end of the array.
3198 * test/test-simple.c (validate_accessible): free,
3199 not g_free returned relation set.
3201 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
3203 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
3204 implemented stateset support
3206 * idl/Accessibility_State.idl: Made necessary changes to
3207 the IDL to support state sets.
3209 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3211 * registryd/deviceeventcontroller.c:
3212 Added implementation for generateMouseEvent.
3214 * cspi/spi_registry.c:
3215 Connected new implementation for generateMouseEvent
3218 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3221 Incremented revision (but no change in public API
3222 outside of 'utils', which are not installed public yet.)
3224 * libspi/component.c:
3225 Changed to use atk_component API for layers and
3226 mdi_zorder, instead of deprecated atk_object API.
3228 Magnification Utility Enhancements:
3231 Added implementation of createZoomRegion, clearAllZoomRegions,
3232 resizeZoomRegion. Added new commandline argument
3233 "--no-initial-region". Note that clearAllZoomRegions doesn't
3234 unmap the old '0' region as it should (yet), and the other
3235 methods only work when creating/resizing a single region,
3236 which is "region 0".
3237 (Code for multiple region support will be added later.)
3240 Now we raise the magnifier window each time it's refreshed;
3241 this will help keep it on top.
3243 * util/mag_client.h:
3244 Added simple wrappers for above, used by mag_control.
3245 For general use, it's recommended to use the bonobo magnifier
3246 control API directly instead of using these wrappers.
3249 Moved ZoomRegionData from magnifier.c to this file.
3251 * util/mag_control.c:
3252 Added some code to exercise new IDL implementations.
3254 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
3256 * libspi/text.c: Provide implementation for getAttributes.
3258 2002-02-04 Bill Haneman <bill.haneman@sun.com>
3261 Incremented revision.
3263 * test/test-simple.c:
3264 Replaced use of deprecated g_main_iteration with
3265 g_main_context_iteration.
3267 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
3270 Incremented revision for desktop alpha 2.
3272 2002-01-28 Mark McLoughlin <mark@skynet.ie>
3274 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
3277 * test/simple-at.c: include netinet/in.h.
3279 2002-01-24 Mark McLoughlin <mark@skynet.ie>
3281 * cspi/spi_accessible.c: (Accessible_getRelationSet):
3282 use NULL, not CORBA_OBJECT_NIL.
3284 * libspi/accessible.c:
3285 (impl_accessibility_accessible_get_relation_set):
3286 allocate the sequence correctly.
3288 * libspi/remoteobject.h: kill spi_remote_object_new.
3290 * test/test-simple.c: (validate_accessible): add code
3291 to test relation sets, now all we need is to figure
3292 out how to excercise this code path :/
3294 2002-01-18 Michael Meeks <michael@ximian.com>
3296 * test/test-simple.c
3297 (key_listener_cb): consume the key.
3298 (test_keylisteners): update.
3299 (main): wait for any pending unrefs on events.
3301 * registryd/deviceeventcontroller.c
3302 (spi_controller_update_key_grabs): only re-issue the
3303 grab on a key release.
3304 (spi_device_event_controller_forward_key_event):
3305 refresh the keygrabs before we notify the listeners,
3306 to reduce the X ungrab / re-grab race.
3307 (spi_controller_register_with_devices): remove
3308 XSelectInput - we do that with the gdk_window_ call.
3309 (_spi_controller_device_error_handler): return a value.
3310 s/GDK_DISPLAY/spi_get_display/
3312 2002-01-17 Michael Meeks <michael@ximian.com>
3314 * registryd/deviceeventcontroller.c
3315 (_deregister_keygrab): don't blow out the later
3318 * test/test-simple.c (test_keylisteners): do a
3319 more intelligent validation.
3321 2002-01-14 Michael Meeks <michael@ximian.com>
3323 * atk-bridge/bridge.c
3324 (gnome_accessibility_module_init),
3325 (gnome_accessibility_module_shutdown): impl.
3326 (gtk_module_init): protect vs. double inits.
3327 (add_signal_listener): impl.
3328 (spi_atk_bridge_state_event_listener): kill
3329 (deregister_application): split out of
3330 (spi_atk_bridge_exit_func): here.
3332 2002-01-18 Bill Haneman <bill.haneman@sun.com>
3335 Added caret tracking when using magnifier, and
3336 now use text bounds for focus tracking of text elements, rather than
3337 the component bounds - this is helpful for short text fields in long
3338 table cells, at high magnification.
3340 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3342 * registryd/deviceeventcontroller.c:
3343 Regression fix for keylistener de-registration; global keygrabs
3344 were not being released when deregisterKeystrokeListener was
3345 called in cspi, since
3346 Accessibility_DeviceEventController_deregisterKeystrokeListener
3347 was called with a zero-length keyset. That is because the cspi
3348 method, SPI_deregisterKeystrokeListener, does not take a keyset
3349 parameter but instead should remove all the key grabs held be a
3351 The code in impl_deregister_keystroke_listener was changed to copy
3352 the keylist from the listener instance previously registered with
3353 the DeviceEventController before releasing the grabs.
3355 * registryd/registry.c:
3356 * registryd/deviceeventcontroller.c:
3357 * libspi/spi-private.h:
3359 Changed spelling of "re-enterant" to "re-entrant" globally.
3361 2002-01-16 Bill Haneman <bill.haneman@sun.com>
3363 * test/test-simple.c:
3364 Changed key listeners test - the test was slightly mis-using the
3365 (admittedly poorly documented) SPI_generateKeyboardEvent API.
3366 It now uses '=' as the key event listened to and generated,
3367 relying on a keysym match rather than assuming that keycode 33
3368 is always equal to keysym '!'.
3370 2002-01-15 Bill Haneman <bill.haneman@sun.com>
3373 Changed simple-at to use a specific keyset, rather than
3374 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
3375 manager, desktop, etc.
3377 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3379 * registryd/deviceeventcontroller.c:
3380 Replaced standard X error handler with a special handler that
3381 is non-fatal for failed keygrabs. This works around
3382 problems with keygrab clashes sometimes observed on
3384 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
3385 mouse handling code as yet).
3387 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3390 Incremented revision for desktop alpha release.
3393 Fixed a couple of the more glaring errors (still not
3396 2002-01-11 Michael Meeks <michael@ximian.com>
3398 * registryd/deviceeventcontroller.c
3399 (spi_device_event_controller_forward_key_event): kill
3400 XUngrabKey / XKeyGrab race.
3401 (spi_controller_grab_keyboard): rename to
3402 (spi_controller_update_key_grabs): this, and deal
3403 with incremental adding / removing grabs more
3405 (_register_keygrab): ensure we're not pending a remove.
3406 (spi_grab_mask_free): impl.
3407 (spi_controller_register_global_keygrabs): split out
3409 (handle_keygrab): impl.
3410 (_deregister_keygrab): impl.
3411 (spi_controller_deregister_global_keygrabs): impl.
3412 (spi_controller_update_key_grabs): re-issue the grab if
3413 we just recieved a notification.
3415 * test/test-simple.c (key_listener_cb): remove debug.
3417 * registryd/deviceeventcontroller.c
3418 (spi_controller_register_device_listener): after
3419 registering a global keygrab, actualy register it !
3420 don't wait for a timeout; doh !
3422 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3423 to make it more readable / manipulable.
3424 s/grabmask/grab_mask/ s/refcount/ref_count/
3425 s/keyval/key_val/ s/modmask/mod_mask
3427 2002-01-08 Michael Meeks <michael@ximian.com>
3429 * registryd/deviceeventcontroller.c
3430 (spi_controller_register_with_devices): use gdk calls to
3432 (global_filter_fn): implement the filter.
3433 (spi_device_event_controller_check_key_event): rename to
3434 (spi_device_event_controller_forward_key_event): this & upd.
3435 (spi_get_display): replace with GDK_DISPLAY.
3437 * registryd/deviceeventcontroller.c
3438 (spi_controller_deregister_device_listener): unroll into
3439 (impl_deregister_keystroke_listener): here to simplify.
3440 (spi_controller_register_global_keygrabs): split cut and
3441 paste (!) out into (_register_keygrab): here, shorter & sweeter.
3442 (spi_controller_deregister_device_listener): remove.
3443 (impl_register_mouse_listener): remove, no mouse listener
3444 support in at-spi-1.0
3446 * registryd/registry.c
3447 (_device_event_controller_hook): kill.
3448 (spi_registry_init): upd.
3450 * registryd/deviceeventcontroller.c
3451 (spi_device_event_controller_class_init): upd.
3452 (spi_check_key_event): merge into.
3453 (spi_device_event_controller_check_key_event):
3454 here and kill strange static ev init, don't leak
3455 the x_event - nor dynamicaly allocate it.
3457 * registryd/registry-main.c (main): re-direct
3458 timeout to remove strange vtable mess.
3460 * registryd/deviceeventcontroller.c
3461 (remove_listener_cb): impl.
3462 (spi_controller_deregister_device_listener):
3463 fix re-enterancy hazard.
3465 2002-01-07 Michael Meeks <michael@ximian.com>
3467 * registryd/deviceeventcontroller.c
3468 (spi_device_event_controller_new): upd.
3469 (impl_notify_listeners_sync): upd. debug.
3470 (spi_notify_keylisteners): fix re-enterancy hazards,
3471 prettify, remove O(n*n) iteration.
3472 (spi_controller_grab_keyboard): fix iteration.
3473 (spi_check_key_event): re-format to suit coding style.
3474 Clean all the warnings - we're warning free.
3476 * registryd/deviceeventcontroller.h:
3477 * registryd/registry.h: make mutualy referential with
3478 typesafe forward references instead of (!) void pointer
3481 2002-01-11 Michael Meeks <michael@ximian.com>
3483 * cspi/spi_accessible.c (role_names): add a role name
3484 to sync this array with the enum; and make the regression
3487 2002-01-10 Michael Meeks <michael@ximian.com>
3489 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
3490 allow expansion of enumeration & kill warning.
3492 * test/test-simple.c (key_listener_cb): impl.
3493 (test_keylisteners): impl.
3495 * cspi/spi-listener.h: make listener signatures const
3496 on the provided (const) events.
3498 * test/keysynth-demo.c: upd. to const events.
3500 * test/simple-at.c: ditto.
3502 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3505 Rev the version to 0.5 (the previous tarball was named 0.4,
3506 even though the micro number was 3), so we need to rev upwards
3507 again for beta2/"desktop-alpha"
3510 Checked in a demo script, which requires editing before use!
3511 Proceed with caution.
3514 Fixed typo in header which was redefining SPI_ACTION_CLASS.
3516 * cspi/spi_accessible.c:
3517 Add a couple of missing enum initializations, and fix some enum
3520 * cspi/spi_registry.c:
3521 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3523 * docs/reference/cspi/at-spi-cspi-sections.txt:
3524 Remove/fix a couple of broken document references.
3527 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
3528 as Alt-Control to listen for commands, since on some systems
3529 Control-Alt may already be grabbed.
3531 2002-01-10 Bill Haneman <bill.haneman@sun.com>
3534 Update version number to 0.4 for Beta2.
3536 * libspi/accessible.c, libspi/accessible.h:
3537 Expose spi_accessible_construct, to enable libgail-gnome
3538 construction from spi_accessible subtype.
3540 * utils/magnifier.c:
3541 Workaround for bug in some non-gnome-compliant window managers
3542 which made magnifier resize improperly.
3544 2002-01-09 Bill Haneman <bill.haneman@sun.com>
3546 * libspi/accessible.c: (spi_accessible_new) :
3547 Move the test for SPI_IS_REMOTE_OBJECT to
3548 spi_accessible_new_return, fixing a bug and compile time warning.
3550 2002-01-08 Michael Meeks <michael@ximian.com>
3552 * registryd/registry.c (parse_event_type): remove strndup.
3554 * libspi/Makefile.am (libspi_la_SOURCES): remove
3555 sources already included in the headers section.
3557 * libspi/util.c: add.
3559 * libspi/spi-private.h: add.
3561 * registryd/registry.c: update to moved list iterators.
3563 2002-01-05 Michael Meeks <michael@ximian.com>
3565 * test/simple-at.c (main): upd. auto-module set to atk-bridge
3567 * test/test-simple.c (main): ditto.
3569 2002-01-04 Michael Meeks <michael@ximian.com>
3571 * libspi/accessible.c (spi_accessible_new): remove 2nd,
3572 redundant construct.
3574 * registryd/registry.c
3575 (get_listener_list): impl.
3576 (impl_accessibility_registry_register_global_event_listener):
3577 re-impl. to simplify using ~, remove dodgy const cast off.
3578 (parse_event_type): constify.
3579 (impl_accessibility_registry_deregister_global_event_listener_all):
3580 re-write, more efficiency and simplicity, kill re-enterancy
3582 (compare_listener_corbaref, compare_corba_objects),
3583 (compare_listener_quarks): define out.
3584 (impl_accessibility_registry_deregister_global_event_listener):
3585 re-write for effiency, and nail re-enterancy hazard.
3586 (impl_accessibility_registry_get_desktop_list): impl.
3587 (re_enterant_list_delete_link): impl.
3588 (re_enterant_list_foreach): impl.
3589 (remove_listener_cb): impl.
3590 (_registry_notify_listeners): kill.
3591 (notify_listeners_cb): impl.
3593 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
3594 (SPI_getDesktopList): impl.
3596 * test/test-simple.c (test_desktop): test the methods.
3598 2002-01-03 Michael Meeks <michael@ximian.com>
3600 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
3601 keystrings since we free them
3602 (SPI_freeAccessibleKeySet): in here.
3604 * libspi/accessible.c (spi_accessible_new): kill warning,
3605 wonder what is going on with the constructor here.
3607 2002-03-01 Bill Haneman <bill.haneman@sun.com>
3609 * libspi/accessible.c (spi_accessible_new ()) :
3610 Added check to see if AtkObject is an SpiRemoteObject before
3611 creating an SpiAccessible.
3613 2002-05-01 Bill Haneman <bill.haneman@sun.com>
3615 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
3616 Enable keygrabs using the Control modifier, now that they are
3617 working properly (they were previously disabled).
3620 Change the command keygrab for this demo to "Control+Alt", so as
3621 to conflict with fewer other key commands on the system; this
3622 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
3624 Removed a pointlessly-chatty keylistener for unshifted keys
3625 (shifted keys are still reported).
3627 2002-02-01 Bill Haneman <bill.haneman@sun.com>
3629 * libspi/remoteobject.h:
3630 * libspi/remoteobject.c:
3631 Added definitions for special AtkObject subtype, required for
3632 support of remote components (specifically, used by BonoboControl
3633 accessibility implementation).
3635 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
3637 * cspi/spi.h: synched relation types with ATK
3639 * cspi/spi_accessible.c: Added implementations of
3640 AcccessibleRelation_* methods
3642 * idl/Accessibility_Relation.idl: added getRelationTypeName
3643 method. Synched known relation types with ATK. Allowed for
3644 relation type extension with the RELATION_EXTENDED type.
3646 * libspi/relation.c: Provided implementations for
3647 AccessibleRelation methods.
3649 2002-01-01 Bill Haneman <bill.haneman@sun.com>
3651 API tweaks for today's API 'freeze'.
3654 Added placeholder functions to allow future compatible expansion
3655 of the IDL interfaces.
3657 * idl/Accessibility_Registry.idl:
3658 Changed generateKeyEvent to generateKeyboardEvent. Changed
3659 signature of this method to accept an optional keystring in
3660 parameter (for complex text input synthesis) and changed use of
3661 simple 'boolean' parameter in registerKeystrokeListener to a
3662 struct, EventListenerMode.
3664 * cspi/spi_accessible.c:
3666 * cspi/spi_streamablecontent.c:
3667 Added references to AccessibleStreamableContent interface, and
3668 definition and implementation of AccessibleStreamableContent
3671 * cspi/spi_registry.c:
3673 Changed generateKeyEvent API to generateKeyboardEvent,
3674 taking a new (optional) keystring parameter to support complex
3679 Renamed directory (to better reflect its actual purpose, bridging
3680 from at-spi to ATK). The .so module is also now named
3683 * idl/Accessibility_Hypertext.idl:
3684 * libspi/accessible.c:
3685 * libspi/hypertext.h:
3686 * libspi/hypertext.c:
3687 Changed Accessibility_Hypertext to *not* derive from
3690 * cspi/spi_registry.c:
3691 Added list of legal event type names for 'window' events, which
3692 completes the registry event API.
3694 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
3696 * at-bridge/bridge.c: Added registration for separate
3697 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
3698 signals. If either of the first two parameters to the generic
3699 bridge signal handler are ints, they are passed on as event
3700 details. This allows an AT to determine what text was inserted.
3702 2001-12-21 Bill Haneman <bill.haneman@sun.com>
3704 * registryd/deviceeventcontroller.c:
3705 Fixed regressions in generateKeyEvent caused by the removal of
3706 gdk_init from registryd; we now use pure X calls to connect to the
3707 display, which makes sense because deviceeventcontroller already
3708 uses a fair bit of X API (should eventually be migrated to a
3709 'portability layer').
3711 * registryd/desktop.c:
3712 Fixed minor regression in spi_desktop_init, changed the way the
3713 desktop name is being set to work with new spi_base API
3714 (gobject-based, rather than AtkObject-based).
3716 * registryd/Makefile.am:
3717 Minor revision of makefile to use XTST_LIBS variable rather than
3718 hard-wiring the Xtst LD_ADD element.
3720 * test/keysynth-demo.c:
3721 Tweaked an output message; added initialization of the
3722 'keystrings' member of the "switch listener" key_set.
3724 * libspi/relation.c:
3725 Squashed compile-time warning.
3727 * libspi/accessible.c:
3728 Cosmetic and formatting fixes, renamed a static method.
3730 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
3732 * libspi/accessible.c
3734 * libspi/application.c
3737 * libspi/component.c
3738 * libspi/editabletext.c
3739 * libspi/hyperlink.c
3740 * libspi/hypertext.c
3742 * libspi/selection.c
3746 * registryd/desktop.c:
3747 Changed SpiBase to contain a GObject pointer rather than an AtkObject
3749 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3751 * idl/Accessibility_Registry.idl:
3752 Added boolean member 'is_text' to DeviceEvent. This is for the
3753 use of key events, and helps prevent ambiguity between composed
3754 key strings and keysym names, since both may potentially be
3755 returned in the 'event_string' member.
3757 * at-bridge/bridge.c:
3758 * registryd/deviceeventcontroller.c:
3759 Use the 'is_text' member when notifying device event listeners.
3760 Knon issue: composed characters are not dealt with correctly by
3761 the global key listener implementation yet.
3763 2001-12-17 Bill Haneman <bill.haneman@sun.com>
3765 * at-bridge/bridge.c:
3766 Namespaced local static methods to spi_atk_bridge_* where
3767 previously named bridge_*, and spi_* elsewhere.
3769 * at-bridge/bridge.c:
3770 * cspi/bonobo/cspi-bonobo-listener.c:
3771 Added demarshalling/conversion for string member of
3772 Accessibility_DeviceEvent to AccessibleKeystroke.
3774 * registryd/deviceeventcontroller.c:
3775 Added code to fill the Accessibility_DeviceEvent key string value
3776 member for global key events (i.e. from XGrabKey), to match
3777 behavior of Accessibility_DeviceEvent from the toolkit key events
3778 from the bridge. Fixed timestamp in global key event notifications.
3781 Added printout of key event's string value to
3782 report_ordinary_key_event, for demo/debugging purposes.
3784 2001-12-15 Bill Haneman <bill.haneman@sun.com>
3786 * idl/Accessibility_Registry.idl:
3787 Removed Accessibility_KeyStroke structure in favor of generic
3788 Accessibility_DeviceEvent structure.
3789 Changed Accessibility_ControllerEventMask from a struct to an
3792 * at-bridge/bridge.c:
3793 Changed APIs to use DeviceEvent structure as above, and removed
3794 bogus casting between these event structures.
3796 * cspi/spi-listener.h:
3797 Added keystring member of AccessibleKeystroke structure, to enable
3798 matching on event "names" rather than only hardware codes and
3802 Added keystrings member of AccessibleKeySet struct, to allow
3803 matching on event names (as above).
3804 Added declarations for SPI_createAccessibleKeySet and
3805 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
3806 event modmasks directly as unsigned ints rather than structs with
3807 refcounts, in the DeviceEventController methods.
3809 * cspi/spi_registry.c:
3810 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3812 * cspi/spi-roletypes.h:
3813 Added documentation of newly added SPI Roles.
3815 * cspi/bonobo/cspi-bonobo-listener.c:
3816 Changes in support of API changes above.
3818 * libspi/accessible.c:
3819 Converted APIs to use DeviceEvent structure (see IDL changes
3822 * registryd/deviceeventcontroller.c:
3823 Added DEControllerGrabMask structure to track keygrabs not only by
3824 modmask but by keyset as well; this allows us to do "global"
3825 (i.e. X) keygrabs on a per-key or keyset basis rather than always
3826 grabbing on AnyKey and then filtering after-the-fact.
3827 Bugfixes for event filtration mean that we don't get false matches
3828 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3830 * registryd/deviceeventcontroller.c:
3831 Namespaced a number of static methods to use spi_ prefix. Major
3832 revision to internals of global (i.e. X) key grabs.
3834 * registryd/deviceeventcontroller.h:
3835 Removed keymask_list and added keygrabs_list to
3836 SpiDeviceEventController struct.
3839 Added use of SPI_createAccessibleKeySet API when creating a
3840 listener for only one key. Attach a listener to "shift spacebar
3841 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
3842 X key event names to SPI key event names, so that listeners are
3843 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3845 * test/keysynth-demo.c:
3846 Changed (incorrect) use of X key event names (KeyPressed,
3847 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3850 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3852 * libspi/accessible.c:
3853 Convert all AtkRole enumerations to Accessibility_Role enums when
3854 getting a role from an AtkObject.
3856 * cspi/spi_accessible.c:
3857 Complete the conversion of Accessibility_Role enums at runtime to
3858 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3859 role enums correctly match those given in spi-roletypes.h.
3860 Re-synchronize the local names list for AccessibleRole_getName ().
3861 AccessibleRole_getName is now deprecated, since it duplicates the
3862 more reliable Accessible_getRoleName.
3863 Added some role types from Accessibility_Role.idl.
3865 * idl/Accessibility_Role.idl:
3866 Added some role types used by AtkRole.
3868 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3871 * cspi/spi_registry.c:
3873 * cspi/cspi-bonobo-listener.c:
3874 Namespaced all methods that did not begin with an "SPI_" or
3875 "Accessible" prefix to "SPI_".
3878 Homogenized internal function namespace to "cspi_" for statics.
3881 Patched tests to use the new CSPI API.
3883 * docs/reference/cspi/at-spi-cspi-sections.txt:
3884 Updated docs to reflect namespace changes, and added a number of
3885 methods to the documentation.
3887 * registryd/registry.c:
3888 Changed use of strings and string hashes in listener event
3889 matching and parse_event_string to use GQuark, which is guaranteed
3892 * registryd/registry.h:
3893 Squashed annoying warning.
3895 * idl/Accessibility_Role.idl:
3896 Extended range of available Accessibility_Role values.
3898 * cspi/spi_accessible.c:
3899 Re-ordered role names.
3901 2001-12-12 Bill Haneman <bill.haneman@sun.com>
3903 * idl/Accessibility_Value.idl:
3904 Revert use of union back to CORBA_double, since the double type is
3905 more efficient and can contain the other types without loss of
3908 * idl/Accessibility_Accessible.idl:
3909 Added method Accessibility:Accessible:getRoleName, to complement
3910 Accessibility:Accessible:getRole.
3912 * cspi/spi_accessible.c:
3914 Added C binding for above, Accessible_getRoleName (), and changed
3915 signature of Accessible_getRole () to return an AccessibleRole.
3917 * cspi/spi-roletypes.h:
3918 Changed AccessibleRole_getName to return a char * instead of a
3919 const char *. This method is now at least temporarily deprecated
3920 in favor of asking Accessibles for their RoleNames directly.
3923 Revert to match Accessibility_Value.idl;
3927 Change signature of AccessibleValue methods to use double rather
3931 * cspi/spi_accessible.c:
3932 Changed Accessible_getRole to return an AccessibleRole enum rather
3933 than a UTF-8 string. The UTF-8 string can still be obtained via
3934 AccessibleRole_getName ().
3936 * test/test-simple.c:
3937 Add test_action. Small fixup to match API change to Accessible_getRole.
3940 Bugfix for get_action_from_servant ().
3942 2001-12-11 Michael Meeks <michael@ximian.com>
3944 * libspi/libspi.h: remove registry.h and
3945 desktop.h, deviceeventcontroller.h
3947 * libspi/Makefile.am: remove registry.[ch],
3948 desktop.[ch], deviceeventcontroller.[ch]
3950 * registryd/Makefile.am: add registry.[ch],
3951 desktop.[ch], rename registryd.c to registry-main.c.
3952 add deviceeventcontroller.[ch]
3954 2001-12-11 Bill Haneman <bill.haneman@sun.com>
3957 Replace setenv() call with putenv ().
3959 * libspi/component.c:
3960 Bugfix in AccessibleComponent_getExtents (),
3963 2001-12-11 Michael Meeks <michael@ximian.com>
3965 * libspi/image.c (impl_getImageExtents): impl.
3966 (spi_image_class_init): upd.
3969 (AccessibleImage_getImageDescription): fix daft bug
3972 * test/test-simple.c (global_listener_cb): update
3973 to only quit if not --poke
3974 (main): catch --poke.
3975 (validate_accessible): upd. dumping, call test_image
3978 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3981 * idl/Accessibility.idl: update all IDL includes.
3983 * idl/*.idl - rename to namespace - this sucks, blame
3984 mjs' bad decision for oafd.
3986 * test/test-simple.c (create_test_window): add more tests.
3987 (create_tree): split this out.
3988 (validate_accessible): bugfix.
3990 2001-12-11 Michael Meeks <michael@ximian.com>
3992 * cspi/bonobo/cspi-bonobo-listener.c:
3993 (cspi_kestroke_listener_unref),
3994 (cspi_event_listener_unref): impl. undoing previous
3995 homenous environment - for Bill.
3997 * cspi/spi_table.c (long_seq_to_array): use
4000 * cspi/spi_main.c: split out all bonoboish bits into
4003 * cspi/spi-impl.h: upd. typedefs.
4005 * cspi/spi_registry.c: update to lowlevel API,
4006 return booleans to indicate success in some places.
4008 * cspi/spi_event.c: update to lowlevel API.
4010 * cspi/bonobo/Makefile.am: add.
4012 * cspi/bonobo/cspi-lowlevel.h: add
4014 * cspi/bonobo/cspi-bonobo.c: add
4016 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
4018 * cspi/Makefile.am: remove spi-listener-impl.[ch],
4019 (SUBDIRS): add bonobo, link in the libs.
4021 * cspi/spi-util.c: kill this file.
4023 * TODO: merge in my bits.
4025 2001-12-11 Michael Meeks <michael@ximian.com>
4027 * test/test-simple.c (test_value, test_table, main):
4028 remove unused variables causing warnings.
4030 * configure.in: cleanup checks - require gail.
4032 2001-12-11 Bill Haneman <bill.haneman@sun.com>
4035 Changed Value interface to use SValue (scalars) rather than
4036 assuming all values are floats. This allows floats, doubles,
4037 longs, shorts, and unsigned values to be manipulated.
4038 Introduced Accessibility:SValue union.
4041 Updated to use new API above, and to work correctly with GValues
4042 of different types in AtkValue.
4045 Updated to use new API above. cspi's API is as yet unchanged.
4048 Updated the Value revision action item.
4050 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4052 * test/test-simple.c:
4053 Added test_table (GtkTreeView widget in test window to follow).
4054 Un-commented test_value, added GtkRange widget.
4055 Added GtkTreeView widget with GtkListStore. It passes regression
4056 test but leaks one SPI object for some reason.
4059 Fixed bug in impl__set_currentValue.
4061 2001-12-10 Michael Meeks <michael@ximian.com>
4063 * cspi/spi_text.c: audit for exception handling,
4064 tolerating NULL object references safely etc.
4066 * cspi/spi_value.c: ditto.
4068 * cspi/spi_table.c (AccessibleTable_getSummary),
4069 (AccessibleTable_getAccessibleAt),
4070 (AccessibleTable_getRowHeader),
4071 (AccessibleTable_getColumnHeader),
4072 (AccessibleTable_getCaption): fix bugs hidden by
4074 (long_seq_to_array): impl.
4075 (AccessibleTable_getSelectedRows),
4076 (AccessibleTable_getSelectedColumns): use it.
4078 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4081 Added a TODO list (rough and short for now).
4083 * cspi/spi_hyperlink.c:
4084 * cspi/spi_hypertext.c:
4085 Fixed macro name typos, and remove use of obsolete macro in
4086 AccessibleHyperlink_getLink.
4088 * cspi/spi_action.c:
4089 * cspi/spi_accessible.c:
4090 * cspi/spi_application.c:
4091 * cspi/spi_component.c:
4092 * cspi/spi_selection.c:
4095 Documentation fixes (removed return values from ref/unref methods).
4097 2001-12-10 Michael Meeks <michael@ximian.com>
4099 * cspi/spi_action.c: audit for exception handling,
4100 tolerating NULL object references safely etc.
4102 * cspi/spi_accessible.c: ditto.
4104 * cspi/spi_component.c: ditto.
4106 * cspi/spi_editabletext.c: ditto.
4108 * cspi/spi_hyperlink.c: ditto.
4110 * cspi/spi_hypertext.c: ditto.
4112 * cspi/spi_image.c: ditto.
4114 * cspi/spi_selection.c: ditto.
4116 2001-12-10 Michael Meeks <michael@ximian.com>
4118 * configure.in: use cspi/libspi.pc.in instead.
4120 * Makefile.am (pkgconfig_DATA): upd. to match.
4122 * test/simple-at.c (report_focus_event): kill hacks around
4123 bad return values, use putenv not setenv
4125 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
4126 fire ChildGone - I killed it.
4128 * libspi/component.c
4129 (impl_accessibility_component_get_extents): remove
4132 * idl/Accessible.idl: kill ChildGone exception.
4134 * cspi/*.[ch]: kill int return from ref / unref.
4136 * cspi/spi_main.c (cspi_object_add_check): fold into
4137 (cspi_object_add): here.
4139 * cspi/spi_component.c (AccessibleComponent_getExtents):
4140 handle exceptions elegantly.
4142 * cspi/spi-private.h (cspi_check_ev_return),
4143 (cspi_return_if_fail): impl.
4145 * cspi/spi_accessible.c: use extensively.
4146 (AccessibleStateSet_equals): add direct compare check.
4148 * cspi/spi_selection.c: tolerate NULL objs, and check
4149 exceptions before return.
4151 * cspi/spi-util.c (cspi_warn_ev): rename to
4152 (cspi_check_ev): this & don't pass ev in; no point.
4154 2001-12-10 Michael Meeks <michael@ximian.com>
4156 * test/test-simple.c: use putenv not setenv
4157 (get_environment_vars): more chatty if you're not using
4160 * test/simple-at.c: do the setenv so more people see the
4163 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4165 * libspi/registry.c:
4166 Changed check of CORBA_environment on notification to be a warning
4167 instead of an error for the moment, since we can recover from this
4168 error when caused by a queued notification from a dead app.
4171 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
4172 used by all current implementors of AtkValue), and coerce to
4173 CORBA_float. (Proper general case fix may require change to Value.idl).
4175 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4179 * cspi/spi_accessible.c:
4180 Documentation fixes: added user_data params to documentation for
4181 listeners and callbacks.
4183 * cspi/spi_accessible.c:
4184 Changed AccessibleStateSet_compare to return a
4185 StateSet rather than return the difference set into a third parameter.
4188 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4191 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
4192 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
4196 Remove subdirectory po from SUBDIRS for now.
4198 * at-bridge/bridge.c:
4199 Beefed up a couple of debug printouts.
4200 One-line fix for signal notification name formatting.
4202 * libspi/accessible.c:
4203 Added assertion to spi_accessible_new ().
4205 * libspi/application.c:
4206 Put #ifdef qualifiers around a printf.
4209 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
4211 * registryd/Makefile.am:
4213 Replaces use of XML_I18N_MERGE_SERVER_RULE with
4214 INTLTOOL_SERVER_RULE macro.
4217 Added an event listener for several ATK signals, for
4218 testing and debugging. Removed a few g_warnings.
4219 Added test output if focussed item implements the Value interface.
4221 * test/test-simple.c:
4222 Added test_value () function (known not to pass at the moment, so
4223 not actually called yet.
4225 2001-12-08 Michael Meeks <michael@ximian.com>
4227 * at-bridge/bridge.c (bridge_focus_tracker),
4228 (emit_eventv): fix the same ref. leak.
4229 (register_atk_event_listeners): don't leak.
4231 * cspi/spi-listener-impl.c (cspi_event): more
4232 protection from client code.
4234 * test/test-simple.c (test_desktop): unref the app.
4236 * test/Makefile.am: upd. TESTS.
4238 * at-bridge/bridge.c (bridge_exit_func): release the registry.
4240 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
4242 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
4244 * cspi/spi_registry.c: constify in strings.
4245 (deregisterGlobalEventListenerAll): don't release the ref.
4247 * cspi/spi.h: start removing redundant / conflicting
4248 gtkdoc comments, making the API readable at a glance :-)
4250 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
4252 * test/keysynth-demo.c (keysynth_exit, main): upd.
4254 * test/simple-at.c (main, simple_at_exit): upd.
4256 * test/test-simple.c (unutterable_horror): kill.
4257 (utterable_normal_derefs): kill.
4258 (main): upd & do a setenv before gtk_init, so that we
4259 can use memprof - and to save the pain of remembering
4260 this, if we're running under memprof - don't exit.
4262 * cspi/spi_main.c (SPI_exit): return exit status
4264 (SPI_event_quit): impl.
4265 (SPI_event_main): simplify.
4266 (cspi_is_gnome_app): kill.
4267 (SPI_init): kill isGNOMEapp arg.
4269 * at-bridge/bridge.c (register_atk_event_listeners):
4270 re-instate the unref.
4271 (bridge_exit_func): don't re-activate the registry,
4272 protect vs. theoretical re-entry, use the
4273 AT_BRIDGE_SHUTDOWN env. var to determine whether to
4274 assert a clean shutdown - for regression tests.
4276 2001-12-08 Abel Cheung <maddog@linux.org.hk>
4278 * configure.in: Comment out dummy i18n support for now,
4279 otherwise it fails to build.
4280 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
4281 EXTRA_DIST. They are missing in tarball.
4283 2001-12-07 Michael Meeks <michael@ximian.com>
4285 * util/magnifier.c: kill bonobo activation reg. race.
4287 * libspi/component.c
4288 (impl_accessibility_component_get_extents): make it match
4291 * libspi/registry.c (_registry_notify_listeners):
4292 re-remove X headers & reconcile conflicts.
4293 (spi_listener_struct_free): bad conflict resolve.
4294 (impl_accessibility_registry_register_application):
4295 more bad merging fixed.
4296 (impl_accessibility_registry_deregister_application): ditto.
4297 (spi_registry_new): ditto.
4298 (spi_registry_init): don't have an applications field.
4300 [ merge fixups2 branch to here ]
4301 2001-12-07 Michael Meeks <michael@ximian.com>
4303 * test/simple-at.c (report_focus_event),
4304 (report_focussed_accessible): remove g_warning debug.
4306 2001-12-07 Michael Meeks <michael@ximian.com>
4308 * test/test-simple.c (validate_tree): comment out some checks.
4309 (test_desktop): app now not registered idly - horay.
4311 2001-12-07 Michael Meeks <michael@ximian.com>
4313 * cspi/spi_registry.c
4314 (registerAccessibleKeystrokeListener): clean, stop it leaking
4315 great swathes of memory, and device event controller references.
4316 ensure we always pass valid sequences.
4317 (deregisterAccessibleKeystrokeListener): ditto.
4318 (generateKeyEvent): upd.
4320 * at-bridge/bridge.c (bridge_key_listener): handle
4321 registry dead exception gracefully.
4322 (bridge_focus_tracker, emit_eventv): free ev.
4324 * test/simple-at.c (report_focus_event): fix polarity.
4326 * libspi/application.c (notify_listeners): kill the ev
4327 argument, and make sure we init the ev we use.
4328 (spi_application_object_event_listener): split out a chunk
4329 (get_atk_object_ref): here & fixup.
4330 (reverse_lookup_name_for_toolkit_event): make const.
4331 (spi_application_toolkit_event_listener): fixup, kill leaks
4334 * at-bridge/bridge.c (register_atk_event_listeners):
4335 don't unref the noop object - causes grief.
4337 * libspi/registry.c: remove the X headers.
4338 turn off the debug churn.
4340 * libspi/accessible.c (spi_accessible_new_return): only
4341 release the ref if we are supposed to [doh]
4343 * test/simple-at.c (report_button_press, report_focus_event):
4344 guard vs. unexpected exit.
4346 * at-bridge/bridge.c (gtk_module_init): prune printf.
4347 (bridge_exit_func): fix app unref.
4349 * libspi/Makefile.am: don't install registry or desktop.h
4351 * libspi/*.h: update includes.
4353 * libspi/application.h: don't include ourself, or
4354 other redundant headers.
4356 2001-12-06 Michael Meeks <michael@ximian.com>
4358 * libspi/accessible.c
4359 (get_accessible_from_servant): impl.
4360 Upd. all CORBA impl.s to use it killing cut and paste.
4362 * cspi/spi_main.c (cspi_cleanup): guard vs. double
4364 (SPI_init): register atexit cleanup handler here.
4366 2001-12-06 Michael Meeks <michael@ximian.com>
4368 * at-bridge/bridge.c (gtk_module_init): g_error on
4369 activation exception
4371 2001-12-06 Michael Meeks <michael@ximian.com>
4373 * at-bridge/bridge.c (gtk_module_init): some sort of
4374 confusing merge clash - reverted.
4375 (bridge_idle_init): ditto.
4377 * test/test-simple.c (main, utterable_normal_derefs):
4378 merge from Bill - somehow not committed.
4380 2001-12-06 Michael Meeks <michael@ximian.com>
4382 * libspi/value.c (spi_value_class_init): upd.
4383 (spi_value_finalize): kill.
4385 * libspi/table.c (spi_table_finalize): kill.
4386 (spi_table_interface_new): upd.
4387 (spi_table_class_init): upd.
4388 (get_table_from_servant): impl.
4389 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4391 * libspi/selection.c (spi_selection_finalize): kill.
4392 (spi_selection_interface_new): upd.
4393 (spi_selection_class_init): upd.
4394 (get_selection_from_servant): impl.
4395 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4397 * libspi/relation.c (spi_relation_finalize): kill.
4398 (spi_relation_class_init, spi_relation_new): upd
4400 * libspi/image.c (spi_image_finalize): kill.
4401 (spi_image_class_init): upd.
4402 (spi_image_interface_new): upd.
4403 (get_image_from_servant): impl.
4404 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4406 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
4407 (spi_hyperlink_finalize): kill.
4408 (spi_hyperlink_new): upd.
4409 (get_hyperlink_from_servant): impl.
4410 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4412 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
4413 (spi_hypertext_finalize): kill.
4414 (spi_hypertext_class_init): upd.
4415 (get_hypertext_from_servant): impl.
4416 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4418 * libspi/editabletext.c (spi_editable_text_finalize): kill.
4419 (spi_editable_text_interface_new): upd.
4420 (get_editable_text_from_servant): impl.
4421 Upd. all CORBA impl.s to use it killing yet more cut and paste.
4423 * libspi/text.c (get_text_from_servant): impl.
4424 All impls - update to use it killing more cut and paste,
4425 also fix bad string returns on duff args ( a somewhat
4426 impossible case to handle - but hey ).
4427 (spi_text_construct): impl.
4428 (spi_text_interface_new): upd.
4429 (spi_text_object_finalize): kill.
4431 * libspi/component.c
4432 (accessibility_component_object_finalize): kill.
4433 (spi_component_class_init): upd.
4434 (get_component_from_servant): impl. helper to kill cut & paste.
4435 (impl_accessibility_component_contains):
4436 (impl_accessibility_component_get_accessible_at_point):
4437 (impl_accessibility_component_get_position):
4438 (impl_accessibility_component_get_extents):
4439 (impl_accessibility_component_get_mdi_z_order):
4440 (impl_accessibility_component_get_layer):
4441 (spi_component_interface_new): upd.
4443 * libspi/action.c (spi_action_finalize): kill.
4444 (spi_action_class_init): upd. inherit from SpiObject.
4445 (spi_action_interface_new): upd.
4446 (get_action_from_servant): impl. helper to reduce cut & paste.
4447 (impl_getKeyBinding, impl_getName, impl_doAction),
4448 (impl_getDescription): Use it everywhere.
4450 * cspi/spi_main.c (get_live_refs): a pointer hash.
4451 (spi_object_hash, spi_object_equal): comment out.
4452 There are issues with CORBA object hashing that need
4455 * libspi/application.c (spi_application_init),
4456 (spi_application_new): upd.
4458 * libspi/accessible.c (spi_accessible_object_finalize): kill.
4459 (spi_accessible_class_init): upd.
4460 s/accessible/object/ in epv methods.
4462 2001-12-05 Bill Haneman <bill.haneman@sun.com>
4464 * at-bridge/bridge.c:
4465 Reorder the bridge initialization into the bridge gtk_module_init,
4466 an immediate call to bridge_register_app, and an idle_add for
4467 register_atk_event_listeners (the only code that *must* wait until
4468 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4469 the activation, creates the application's Accessible object, and
4470 queues the bridge_idle_init function. Restored call to
4471 Accessibility_Registry_deregisterApplication().
4472 Prior to making this call we obtain a new reference to the
4473 registry, which is a temporary hack that helps us handle apps that
4474 shut down the bonobo mainloop before we get there.
4476 * libspi/registry.c:
4477 Fix string leakage in debug block, and don't segv if a an app
4478 dies before its event notifications have been propagated.
4481 Modify cspi_check_ev() to call g_warning() rather than g_error(),
4482 as stopgap measure until we get proper exception handling when
4483 objects die during or before interrogation.
4487 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4488 Also changed default value of is_gnome_app to TRUE.
4491 * test/keysynth-demo.c:
4492 Changed use of SPI_init and SPI_event_main to reflect API change above.
4495 Made report_focus_event check the warning value from getName
4496 before reporting on focussed accessible; simplifies handling of
4497 notifications from dead objects.
4499 * test/test-simple.c: (Changes not in this patch since source is
4502 2001-12-05 Michael Meeks <michael@ximian.com>
4504 * registryd/registryd.c (main): protect against
4505 bonobo-activation startup race condition.
4507 * cspi/spi_main.c (cspi_object_add_check): cope
4508 with the exception elegantly.
4510 * idl/Accessible.idl: decl. ChildGone
4512 * libspi/desktop.c (spi_desktop_dispose): impl.
4513 (spi_desktop_class_init): upd.
4514 (spi_desktop_add_application),
4515 (spi_desktop_remove_application),
4516 (abnormal_application_termination): impl.
4517 (impl_desktop_get_child_at_index): re-impl.
4520 (impl_accessibility_registry_deregister_application),
4521 (impl_accessibility_registry_register_application):
4522 kill excessive debug clutter.
4524 * test/test-simple.c (test_misc): test some NULL
4525 tolerance. (main): upd.
4527 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4528 implements no interfaces - so let's not crash.
4530 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4532 * libspi/accessible.c (spi_accessible_new_return): impl.
4533 helper to calm the cut and paste, to cope with
4534 NULL AtkObjects effectively and efficiently, and to kill
4535 the referencing bugs.
4537 * libspi/table.c (impl_getAccessibleAt),
4538 (impl_getRowHeader, impl_getColumnHeader): upd.
4540 * libspi/hyperlink.c (impl_getObject): upd.
4542 * libspi/accessible.c
4543 (impl_accessibility_accessible_get_child_at_index): upd.
4545 * libspi/component.c
4546 (impl_accessibility_component_get_accessible_at_point): upd.
4548 * test/test-simple.c (test_editable_text, test_text): impl.
4551 * cspi/spi_editabletext.c
4552 (AccessibleEditableText_insertText): constify.
4554 * test/test-simple.c (focus_me): make more robust.
4556 * libspi/accessible.c: remove some printfs in methods that
4557 we test and work fine, so we can get a clean tree dump.
4559 * test/test-simple.c (validate_accessible),
4560 (validate_tree): make tree dumping pretty too.
4562 * at-bridge/bridge.c (bridge_signal_listener): upd. so
4563 it builds without debug on.
4565 * test/test-simple.c (validate_accessible): fix the most
4568 * cspi/spi_main.c (spi_object_release): leave the nicely
4569 blanked memory around if in debug mode.
4571 * cspi/spi-listener-impl.c (cspi_event): use add_check.
4573 [committed to fixups2]
4574 2001-12-05 Michael Meeks <michael@ximian.com>
4576 * libspi/editabletext.c
4577 (spi_editable_text_class_init): g_type_class_peek_parent,
4578 not interface peek - so we finalize cleanly.
4580 * libspi/accessible.c (spi_accessible_new): kill debug.
4582 * test/test-simple.c (validate_accessible): fix ref.
4583 leak, print strings before freeing them; sigh, comment a
4584 chunk out due to strangeness.
4585 (validate_tree): unref the child after use.
4587 * cspi/spi_component.c (AccessibleComponent_getLayer):
4588 add missing break statement, switch on zlayer not the
4589 uninitialized retval.
4591 * cspi/spi_main.c (cspi_object_add): add assert, local ref
4592 before (possibly re-entering) remote unref.
4594 * test/simple-at.c (main): unref the desktop.
4596 * cspi/spi_accessible.c (cspi_accessible_is_a): move
4599 * cspi/spi_main.c (cspi_accessible_is_a): here to
4600 isolate bonobo API usage more.
4602 * libspi/registry.c (impl_accessibility_registry_register_application):
4603 prune bogus comment.
4605 2001-12-04 Michael Meeks <michael@ximian.com>
4607 * test/test-simple.c (validate_tree): upd.
4608 IndexInParent check to make it more lucid.
4609 (validate_accessible): dump the tree.
4611 * libspi/accessible.c (de_register_public_ref),
4612 (get_public_refs): impl.
4613 (spi_accessible_new): make more efficient & intuitive.
4614 Now IndexInParent check works.
4616 2001-12-04 Michael Meeks <michael@ximian.com>
4618 * cspi/spi-util.h: remove.
4620 * cspi/spi.h: move SPI_freeString here
4622 * libspi/component.c (impl_accessibility_component_get_layer):
4624 (impl_accessibility_component_get_mdi_z_order): ditto,
4625 return -1 on error - is this ok ?
4627 * test/test-simple.c (test_application): impl.
4629 * cspi/spi_accessible.c (Accessible_getApplication),
4630 (Accessible_isApplication): impl.
4632 * libspi/registry.c (spi_listener_struct_free): release
4633 the CORBA reference too.
4635 * libspi/accessible.c
4636 (impl_accessibility_accessible_get_parent): fix ref leak.
4638 * libspi/registry.c (spi_registry_new): make the registry
4639 immortal - we don't want it to go away ever.
4641 * libspi/application.c
4642 (spi_accessible_application_finalize): impl. cleanup.
4644 * cspi/spi_registry.c
4645 (deregisterGlobalEventListenerAll),
4646 (deregisterGlobalEventListener),
4647 (deregisterAccessibleKeystrokeListener): fix ref leak.
4649 * cspi/spi_main.c (SPI_init): remove redundant ref.
4651 * test/test-simple.c (unutterable_horror): impl. to force a
4656 (impl_accessibility_registry_deregister_application): release
4657 the application when we de-register it.
4659 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
4660 until we have the infastructure to get it right.
4662 2001-12-03 Michael Meeks <michael@ximian.com>
4664 * libspi/Makefile.am: only build eventlistener.[ch]
4666 * libspi/accessible.c
4667 (impl_accessibility_accessible_get_child_at_index): don't leak.
4669 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
4670 before we hit the idle handler.
4672 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
4673 debugging than exit.
4675 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
4677 * libspi/listener.c (impl_notify_event): check source
4678 not NIL before unref.
4680 * libspi/registry.c (impl_registry_notify_event): ditto.
4682 * libspi/eventlistener.c
4683 (impl_accessible_event_notify_event): unref the source.
4685 * libspi/accessibleeventlistener.c
4686 (impl_accessible_event_notify_event): unref the source.
4688 * idl/Event.idl: remove 'hash_id' attribute - of no
4691 * libspi/application.c (notify_listeners): upd list
4693 (spi_application_object_event_listener),
4694 (spi_application_toolkit_event_listener): upd to do correct
4698 (_registry_notify_listeners): update.
4699 (parse_event_type): this method also leaks like a sieve.
4700 (impl_accessibility_registry_deregister_global_event_listener):
4701 fix ETYPE_WINDOW case.
4703 * libspi/application.c
4704 (impl_accessibility_application_register_object_event_listener):
4707 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
4709 * libspi/hypertext.c (impl_getLink): ditto.
4711 * cspi/spi_main.c (cspi_object_add): remove
4712 bogus CORBA_Object_duplicate.
4714 * cspi/spi-listener-impl.c (cspi_event): dup/ref
4717 * cspi/spi_accessible.c
4718 (Accessible_getRelationSet): fix leak / referencing issue.
4720 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
4721 (cspi_object_add, cspi_object_unref): upd.
4722 (spi_object_release, get_live_refs): impl.
4723 (cspi_cleanup): simplify.
4725 * *.[ch]: s/boolean/SpiBoolean/
4727 * cspi/spi_accessible.c (role_names): actualy order so it
4728 corresponds with the enum !
4730 * test/test-simple.c (test_roles): check some role strings
4731 vs. enums to detect offset errors.
4733 2001-12-01 Michael Meeks <michael@ximian.com>
4735 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
4737 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
4739 (Accessible_getChildAtIndex): use cspi_add_check so we
4740 check the ev before using a (possibly) invalid value.
4742 * libspi/accessible.c
4743 (impl_accessibility_accessible_get_parent): don't segv
4746 * at-bridge/bridge.c (gtk_module_init): upd.
4747 (bridge_property_event_listener): don't leak strings
4749 (bridge_state_event_listener),
4750 (bridge_property_event_listener): don't use a static
4751 buffer in case of recursive event emission &
4752 re-enterancy - split out the swathe of cut and paste
4754 (emit_eventv): and fix 2 ref leaks here & comply to the
4756 (bridge_register_app): rename to
4757 (bridge_idle_init): this and kill arg parsing, split
4758 various inits & bonobo-activation registration to module
4759 init time, kill referencing error.
4760 (bridge_exit_func): fix the same leak.
4761 (bridge_focus_tracker): don't leak event structures
4763 (bridge_signal_listener): more leakage and cut & paste
4765 (bridge_key_listener): return the result - FIXME is
4766 this polarity correct ?
4767 (accessibility_keystroke_from_atk_key_event): rename
4768 (accessibility_init_keystroke_from_atk_key_event): and stop
4770 (gtk_module_init): return a value - not that it is checked by
4772 (bridge_key_listener): register my horror at casting between
4773 IDL defined structs.
4774 (bridge_get_registry): kill - not used.
4776 * cspi/spi_accessible.c (Accessible_getRole): make return const.
4778 * test/test-simple.c (test_roles): impl.
4779 (test_desktop, validate_accessible, validate_tree): impl.
4781 * cspi/spi_accessible.c (role_names): fixup bogus
4782 MAX_ROLES setup, make constants const for efficient linkage
4783 (AccessibleRole_getName): conform to coding style, make
4786 2001-11-30 Michael Meeks <michael@ximian.com>
4788 * cspi/spi.h: add missing prototype.
4790 * libspi/registry.c (spi_listener_struct_new): fix sig.
4792 * test/Makefile.am: add test-simple
4794 * test/test-simple.c: add
4796 * test/test.sh: add.
4798 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4800 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4801 do it straight - since otherwise we often get an activation race.
4803 [ work before Bill duplicated a chunk of it ... ]
4804 2001-11-30 Michael Meeks <michael@ximian.com>
4806 * libspi/keystrokelistener.c
4807 (spi_keystroke_listener_class_init): fixup arg
4810 * libspi/eventlistener.c
4811 (spi_event_listener_class_init): ditto.
4813 * tests/test.sh: add.
4815 * cspi/spi-listener-impl.h: update macros.
4817 * cspi/spi-listener-impl.c
4818 (cspi_event_listener_remove_callback): add
4819 correct pre-conditions.
4821 * cspi/spi_main.c (SPI_exit): guard vs. double
4822 exits, exit the mainloop nicely.
4823 (SPI_event_main): make more sense.
4824 (SPI_init): move the atexit evilness here so we
4825 always do it (yuck).
4826 (SPI_event_main): upd.
4828 * test/simple-at.c: update for listener changes.
4830 * registryd/registryd.c (main): prune kruft.
4832 * libspi/libspi.h: upd.
4834 * libspi/eventlistener.[ch]: rename broken macros.
4836 * libspi/accessibleeventlistener.[ch]: remove.
4838 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4840 * test/test-simple.c: Add - automated tests.
4842 * cspi/spi-listener-impl.c (cspi_event),
4843 (cspi_key_event): add user_data to invoke.
4844 (cspi_keystroke_listener_finalize): impl.
4845 (cspi_keystroke_listener_class_init): upd.
4848 (createAccessibleEventListener),
4849 (AccessibleEventListener_addCallback),
4850 (createAccessibleKeystrokeListener),
4851 (AccessibleKeystrokeListener_addCallback): upd.
4853 * libspi/deviceeventcontroller.c
4854 (spi_device_event_controller_check_key_event): add public proto.
4857 (impl_accessibility_registry_deregister_global_event_listener):
4858 always init listeners.
4859 (_registry_notify_listeners): yes it is.
4861 * cspi/spi-listener-impl.c (cspi_key_event):
4863 (cspi_event_listener_finalize): impl.
4864 (cspi_event_listener_class_init): hook up.
4865 (event_handler_new, event_handler_free),
4866 (event_list_remove_by_callback): impl.
4867 (cspi_event_listener_remove_callback),
4868 (cspi_keystroke_listener_remove_callback),
4869 (cspi_keystroke_listener_add_callback),
4870 (cspi_event_listener_add_callback): upd.
4872 * libspi/keystrokelistener.c
4873 (keystroke_listener_object_finalize): kill
4874 (spi_keystroke_listener_class_init): upd.
4875 (spi_keystroke_listener_add_callback),
4876 (spi_keystroke_listener_remove_callback): kill,
4878 (impl_key_event): prune drasticaly.
4880 * libspi/eventlistener.c
4881 (spi_event_listener_add_callback),
4882 (spi_event_listener_remove_callback): kill, use
4884 (impl_accessible_event_notify_event): upd.
4885 (spi_event_listener_object_finalize): remove.
4887 * libspi/Makefile.am: use eventlistener.[ch]
4889 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4891 * libspi/registry.c (_registry_notify_listeners):
4892 Changed listener loop iteration to use preferred convention.
4893 Got rid of string memory leaks caused be calling g_strconcat
4894 inside function calls.
4896 * libspi/registry.c (parse_event_type):
4897 Stopped g_strconcat memory leaks, free the g_strsplit return,
4898 g_strdup the split pieces when used, etc.
4900 2001-12-04 Bill Haneman <bill.haneman@sun.com>
4903 Change method 'compare' to return a 'difference set' rather than
4904 taking a StateSet as an out parameter (more Java-friendly).
4906 * idl/Accessible.idl:
4907 Added CORBA struct 'BoundingBox', to faciliate API changes below:
4909 * idl/Component.idl:
4911 Changed methods 'getExtents' and 'getImageExtents' in these
4912 interfaces to return a BoundingBox structure.
4913 (getPosition and getSize are redundant and possibly should be
4914 removed, rather than creating a corresponding Point struct.)
4916 * cspi/spi_component.c:
4917 Modify implementation of getExtents to reflect the above IDL
4922 Add (missing) AccessibleImage_getExtents () API.
4924 * docs/reference/cspi/at-spi-cspi-sections.txt:
4925 Added AccessibleImage_getImageExtents () to docs.
4927 2001-12-03 Bill Haneman <bill.haneman@sun.com>
4929 * idl/Component.idl:
4930 Added two methods, getLayer () and getMDIZOrder (), to reflect
4931 the new ATK methods atk_object_get_layer and
4932 atk_object_get_mdi_z_order. (Which arguably should be part of the
4933 AtkComponent API and AtkObject). Also added an enum,
4934 ComponentLayer, for the first method's return value.
4936 * libspi/component.c:
4937 Added implementations for these methods.
4939 * cspi/spi_component.c:
4941 Added cspi binding methods for above,
4942 AccessibleComponent_getLayer() and
4943 AccessibleComponent_getMDIZOrder().
4944 Added cspi enum 'AccessibleComponentLayer'.
4946 * docs/reference/cspi/at-spi-cspi-sections.txt:
4947 Added above methods to docs.
4951 Changed typedef for 'boolean' type (and all references to it) to
4952 SPIBoolean, to avoid keyword clashes with C++.
4955 Changed usages of 'boolean' to SPIBoolean.
4957 * test/keysynth-demo.c:
4958 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
4959 app), except where SPIBoolean is required by the callbacks API.
4961 2001-12-02 Bill Haneman <bill.haneman@sun.com>
4963 * cspi/spi_registry.c:
4964 Removed obsolete X event loop for passive keygrabs (which now
4967 * registryd/registryd.c:
4968 Removed unnecessary call to gdk_init() [cruft]. This also allows
4969 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4972 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4974 * docs/reference/cspi:
4975 Included docs for SPI_freeString in generated documentation.
4978 Renamed spi_freeString to SPI_freeString, for consistency. Added
4979 documentation for this function.
4982 Renamed spi_freeString to SPI_freeString, for consistency.
4983 Removed obsolete method declaration string_from_corba_string.
4985 * test/keysynth-demo.c:
4986 Small tweak to comments.
4989 Stopped leaking the strings returned from CSPI.
4991 2001-11-28 Bill Haneman <bill.haneman@sun.com>
4993 Merged Michael's branch (see his ChangeLog entries below).
4995 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
4996 bridge is alive, release on exit.
4998 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
4999 Fix type check macro.
5002 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
5005 Added is_gnome_app static, and method cspi_is_gnome_app(),
5006 so we can call the appropriate shutdown routine at exit in SPI_exit.
5008 * cspi/spi_main.c (cspi_object_ref):
5009 Duplicate the corba object passed in, since we're keeping it around.
5011 * cspi/SPI_exit.c, cspi_cleanup:
5012 Moved the releasing of the live refs to its own function, so we
5013 can put it in g_atexit (). Call the appropriate shutdown API
5014 depending on whethe calling client is a gnome app or not
5015 (bonobo_main_quit or CORBA_ORB_shutdown).
5017 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
5018 Unref the listener when this method is called, after
5019 deregistration. Updated the API docs to note this behavior.
5021 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
5022 Bugfixes: Ref the bonobo object when returning a parent or child
5023 reference, or an AccessibleRelation. Generally made sure
5024 BonoboObject refcount is incremented whenever we return an
5027 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
5028 Fixed typo/bug in signal declaration.
5030 * libspi/accessibleeventlistener.h:
5033 * libspi/application.c (spi_application_new):
5034 Fixed leak in initialization.
5037 Remembered to increment bonobo-object refcount when returning
5038 children (applications) from desktop object.
5039 Added (empty) finalize method.
5041 * libspi/deviceeventcontroller.c:
5042 Hold a ref to listeners inside DEControllerKeyListeners.
5043 Added dec_key_listener_free() method. Use prepend instead of
5044 append in key_listener list. Fixed some refcount madness and
5045 leaks in the listener registration/deregistration - deregistration
5046 now calls dec_key_listener_free() on listeners, and on the
5047 temporarily constructed dec_key_listener() used to perform the search/match.
5049 * libspi/hypertext.c (spi_hypertest_finalize):
5050 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
5051 class. Also fixed spi_hypertext_interface_new() and
5052 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
5054 * libspi/hypertext.h:
5055 Removed pointless and duplicate AtkObject pointer from
5058 * libspi/keystrokelistener.c:
5059 Fixed incorrect type of keystroke_listener_parent_class,
5060 renamed keystroke_listener_object_finalize to
5061 spi_keystroke_listener_object_finalize.
5062 Fixed typo in signal declaration
5063 (spi_keystroke_listener_class_init).
5065 * libspi/registry.c:
5066 Added funcsions spi_listener_struct_new() and
5067 spi_listener_struct_free() to help with memory management issues.
5068 We also now use these methods instead of gnew + poking stuff into
5069 the struct, and to decrement listener counts/free the listeners
5070 when deregistering them.
5071 Fix more refcount bugs in getDesktop() and
5072 getDeviceEventController().
5075 De-ref the desktop after enumerating the applications. Explicitly
5076 decrement the refcounts on the created listeners on exit (using
5077 _unref for keystroke listeners, and via the
5078 deregisterGlobalEventListenerAll command for other event
5081 2001-11-27 Michael Meeks <michael@ximian.com>
5083 * cspi/spi-listener.h: fixup enum.
5085 2001-11-27 Michael Meeks <michael@ximian.com>
5087 * cspi/spi-listener-impl.c (cspi_event_listener_new),
5088 (cspi_keystroke_listener_new): Use the cspi variants.
5090 2001-11-26 Michael Meeks <michael@ximian.com>
5092 * test/keysynth-demo.c: fix 2 compile warnings, missing
5095 * test/simple-at.c (report_focussed_accessible),
5096 (report_focus_event, report_button_press),
5097 (check_property_change, is_command_key),
5098 (report_ordinary_key_event, report_command_key_event): upd.
5100 * util/mag_client.h: include pre-requisites.
5102 * libspi/accessibleeventlistener.c
5103 (spi_event_listener_object_finalize): free any lingering
5106 * libspi/keystrokelistener.c
5107 (keystroke_listener_object_finalize): ditto.
5109 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
5110 callbacks, with cspi types.
5112 * cspi/spi_event.c (createAccessibleEventListener): chain to
5113 (AccessibleEventListener_addCallback): here.
5114 (createAccessibleKeystrokeListener): chain to
5115 (AccessibleKeystrokeListener_addCallback): here.
5117 * libspi/keystrokelistener.c
5118 (spi_keystroke_listener_class_init): add signal.
5119 (impl_key_event): emit the event.
5120 (boolean_handled_accumulator): impl.
5121 (marshal_BOOLEAN__POINTER): add, gack.
5123 * libspi/accessibleeventlistener.c
5124 (spi_event_listener_class_init): add signal.
5125 (impl_accessible_event_notify_event): emit the signal &
5126 make the loop efficient.
5127 (spi_event_listener_add_callback): prepend the callback.
5129 * libspi/accessibleeventlistener.h: add an 'event' signal,
5130 decl type on callback.
5132 * libspi/keystrokelistener.h: ditto.
5134 * cspi/spi-listener.h: make methods typesafe and
5135 make them use the new event typedefs.
5137 * test/simple-at.c (report_focussed_accessible):
5138 include mag_client.h
5139 Use *(void *)text_interface not the other thing.
5141 * configure.in: add gtk to registryd bits - since we use
5144 * util/magnifier.c: include libbonobo.h
5146 2001-11-25 Bill Haneman <bill.haneman@sun.com>
5148 * test/keysynth-demo.c:
5149 Turned this into a simple scanning keyboard, to demonstrate the
5150 use of g_timeout_add () as a means of creating timers for
5151 scanning, and the use of GtkStyle for visually indicating when
5152 virtual keyboard elements are selected.
5154 keysynth-demo now listens to any keyboard keys with zero-valued
5155 keycodes (i.e. 'unused' keys) and interprets them as
5158 Reworked the shiftlatch code so that shift-down state isn't held
5159 for long periods (it's only synthesized immediately prior to
5160 the keysynth event it's modifying). Note that shiftlatch in this
5161 demo is a convenience, not intended to take the place of AccessX
5162 which is the better choice for getting 'sticky' modifier keys.
5164 * libspi/deviceeventcontroller.c:
5165 * at-bridge/bridge.c:
5166 * cspi/spi_registry.c:
5167 Removed some debug print stuff, and put other verbosity in #ifdef
5172 Implemented some more of the magnifier IDL for the simple
5173 magnifier: namely, getZoomRegionParams.
5174 Added mag_x and mag_y members to MagnifierData struct, aid of this
5176 Added GtkWindow::realize signal handler to magnifier, to keep it
5177 from receiving keyboard focus from the WM.
5179 2001-11-23 Mark McLoughlin <mark@skynet.ie>
5181 * cspi/spi-private.h: my guess at what michael forgot
5182 before he ran off to NZ :-)
5184 2001-11-23 Michael Meeks <michael@ximian.com>
5186 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
5187 comment out non existant method invoke so we link.
5189 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
5190 use bonobo_exception_get_text for more friendly warnings.
5192 * cspi/spi.c (Obj_Add): move into spi_main & rename
5193 spi_object_add; kill spi.c
5195 * cspi/spi_registry.c
5196 (deregisterGlobalEventListener),
5197 (deregisterGlobalEventListenerAll),
5198 (registerGlobalEventListener): fix exception leaks.
5200 * cspi/spi_main.c (spi_exception): impl. helper, so we
5201 don't leak exceptions.
5203 * cspi/spi_selection.c
5204 (AccessibleSelection_deselectSelectedChild): return the
5207 * cspi/spi_main.c (spi_ev): impl; hack - gack.
5208 (spi_registry): ditto.
5209 (SPI_init): guard against double inits.
5211 * cspi/*.c: use spi_ev (), and spi_registry () where
5212 appropriate - a temporary hack until we have something
5213 better. Use spi_object_add
5215 2001-11-22 Michael Meeks <michael@ximian.com>
5217 * cspi/Makefile.am: re organise, install the headers.
5219 * cspi/*.h: add G_BEGIN/END_DECLS
5221 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5224 Added non-preemptive keylistener for key events with no modifiers
5225 and shift-only modifier.
5227 * libspi/keystrokelistener.c:
5228 Removed some verbose diagnostics printout.
5230 * cspi/spi_registry.c:
5231 Fixed a bug that caused all key listeners to be registered as
5234 * libspi/deviceeventcontroller.c:
5235 Fixed bug that caused XGrabKey (preemptive key grab) to be called
5236 for non-preemptive key masks.
5239 2001-11-22 Bill Haneman <bill.haneman@sun.com>
5241 * docs/reference/idl/at-spi-idl-docs.sgml:
5242 * docs/reference/idl/at-spi-idl-sections.txt:
5243 * docs/reference/idl/at-spi-idl-overrides.txt:
5244 Added missing files.
5246 * docs/reference/Makefile.am:
5247 removed idl from SUBDIRS until we can figure a way to get gtk-doc
5248 to scan the IDL files :-(
5253 Added .cvsignore files.
5255 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5257 * libspi/deviceeventcontroller.c:
5258 * libspi/keystrokelistener.c:
5260 * cspi/spi_registry.c:
5261 Added filters for KeySets, KeyEventSeq, and event types to key
5262 event dispatching, so listeners should only receive those events
5263 that they requested :-)
5265 2001-11-21 Bill Haneman <bill.haneman@sun.com>
5270 * docs/reference:Makefile.am:
5271 * docs/reference/cspi:
5272 * docs/reference/cspi:Makefile.am:
5273 * docs/reference/cspi:tmpl:
5274 * docs/reference/cspi:tmpl:*.sgml:
5275 * docs/reference/idl:
5276 * docs/reference/idl:Makefile.am:
5277 * docs/reference/idl:at-spi-idl-sections.txt:
5278 * docs/reference/idl:at-spi-idl-docs.sgml:
5279 * docs/reference/idl:tmpl:
5280 * docs/reference/idl:tmpl:*.sgml:
5282 Restructured docs directory to allow separate 'reference' docs
5283 section, and forked idl and cspi docs. Added the sgml template
5284 files to CVS. Added the first sections/structural sgml for the
5287 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
5289 * configure.in, libspi/Makefile.am: find libXtst.
5291 2001-11-21 Michael Meeks <michael@ximian.com>
5293 * test/accessx-gui.c: s/spi_value/value/ - doh.
5295 * libspi/base.[ch]: add.
5297 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5299 * idl/Accessible.idl:
5300 * idl/Application.idl:
5303 Started gtk-doc cleanup on IDL.
5305 * libspi/deviceeventcontroller.c:
5306 Added and connected non-preemptive key notification from the
5307 toolkits (in addition to the pre-emptive support from XServer
5308 which we had before, but which causes 'focus flashing'). Filters
5309 are presently limited to key modifiers and global/non-global,
5310 KeySets are presently ignored, as are KeyEvent masks.
5312 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
5313 structs into the persistant structure rather than just storing
5314 pointers to things that might not persist across servant
5317 The XGrabKey call now does async keygrabs, because synchronous
5318 ones were deadlocking with GDK_event code in a very nasty way.
5320 Added boolean to internal method notify_keylisteners, to indicate
5321 whether the event came from the 'toolkit source' or the 'global
5322 (XServer) source' - this is used in the notification process to
5323 determine which listeners to send the event to.
5325 deviceeventcontroller.c is now warning-free.
5327 * libspi/registry.c:
5328 Fixed regression in application de-registration.
5329 Also fixed some really brain-dead weirdness having to do with
5330 event dispatching - event structs are now duplicated before being
5331 re-marshalled in the dispatch to listeners. This also fixes a
5332 Solaris build problem.
5335 2001-11-20 Michael Meeks <michael@ximian.com>
5338 (impl_accessibility_registry_deregister_global_event_listener):
5341 * libspi/deviceeventcontroller.c
5342 (spi_device_event_controller_check_key_event): return
5343 FALSE on no virtual method.
5345 * libspi/*..h: make includes work on a correctly pathed install.
5347 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
5349 * libspi/application.h: kill unused ( and whacked out )
5350 gboolean *spi_application_set_id (AtkObject *app, long id);
5352 2001-11-20 Michael Meeks <michael@ximian.com>
5354 * libspi/*.[ch]: further convert to bonobo's type func
5355 macros, remove redundnant casts etc.
5357 * libspi/text.c s/accessibility_text/spi_text/g,
5358 re-order to de-cruft.
5360 * libspi/hypertext.c: re-order to kill a huge slew
5361 of redundant forward decls.
5363 * libspi/relation.c: ditto.
5365 * libspi/image.c: ditto.
5367 * */.cvsignore: update
5369 2001-11-20 Michael Meeks <michael@ximian.com>
5371 * libspi/deviceeventcontroller.c
5372 (_controller_register_with_devices): use g_getenv,
5373 kill stdlib.h include.
5375 * libspi/keystrokelistener.c
5376 (spi_keystroke_listener_get_type): kill
5377 (spi_keystroke_listener_class_init),
5378 (spi_keystroke_listener_init): rename to this.
5380 * libspi/text.c (impl_getAttributes): fix warning / bug.
5382 * libspi/*.[ch]: more headers, includes and over commenting.
5384 2001-11-20 Michael Meeks <michael@ximian.com>
5386 * libspi/*.[ch]: fixup headers, includes and over commenting.
5388 * libspi/image.c (impl__get_imageDescription): const
5389 correctness warning fix. remove redundant casting.
5391 * libspi/table.c (impl_getRowDescription): ditto.
5392 (impl_getColumnDescription): ditto.
5394 * libspi/libspi.h: add.
5396 2001-11-19 Michael Meeks <michael@ximian.com>
5398 * libspi/editabletext.c (impl_setAttributes): fix warnings.
5400 * libspi/component.c (accessibility_component_get_type):
5401 rename to (spi_component_get_type): and macroify.
5402 (accessibility_component_init): rename to
5403 (spi_component_init): this
5404 (accessibility_component_class_init): rename to
5405 (spi_component_class_init): this
5407 * libspi/action.c (spi_action_get_type): kill, use the macro.
5409 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
5412 * libspi/application.c (spi_application_object_event_listener),
5413 (impl_accessibility_application_register_object_event_listener):
5414 warning fixes / const understanding updates.
5416 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
5419 2001-11-18 Bill Haneman <bill.haneman@sun.com>
5421 * libspi/spi_accessible.c: Added docs and C bindings for
5422 AccessibleStateSet. (No implementations yet). Documentation
5423 coverage for C bindings now 100%. Made docs for event listeners
5428 boolean notifyListenersSync (in DeviceEventListener listener,
5429 in DeviceEvent event);
5431 oneway void notifyListenersAsync (in DeviceEventListener listener,
5432 in DeviceEvent event);
5434 Added DeviceEventListener and DeviceEvent structs (may deprecate
5435 KeyStroke and KeystrokeListener in favor of this generic
5436 event/listener framework for devices).
5438 * libspi/deviceeventcontroller.c:
5440 Changed some key listener code to take masks, etc., and paved the
5441 way for integration of toolkit/non-preemptive key events. Changed
5442 signatures of some internal methods.
5444 * at-bridge/bridge.c:
5445 Fixed regression connecting to interface signals, apparently
5446 caused by GTK+ changes.
5448 Added an internal bridge_state_listener to deal with
5449 property-change:accessible-state signals.
5451 Changed the key_listeners GList to store structs (including masks,
5452 etc.) instead of just CORBA_Objects (required for full
5453 implementation of key listener API).
5455 Connected the bridge to all currently supported Atk signals.
5456 Events now supported:
5457 object:property-change
5458 object:property-change:accessible-name
5459 object:property-change:accessible-state
5460 object:property-change:accessible-description
5461 object:property-change:accessible-parent
5462 object:property-change:accessible-value
5463 object:property-change:accessible-role
5464 object:property-change:accessible-table-caption
5465 object:property-change:accessible-table-column-description
5466 object:property-change:accessible-table-column-header
5467 object:property-change:accessible-table-row-description
5468 object:property-change:accessible-table-row-header
5469 object:property-change:accessible-table-summary
5470 object:children-changed
5471 object:visible-data-changed
5472 object:selection-changed
5473 object:text-selection-changed
5475 object:text-caret-moved
5477 object:row-reordered
5479 object:column-inserted
5480 object:column-reordered
5481 object:column-deleted
5482 object:model-changed
5484 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5486 * libspi/hyperlink.c,h:
5487 Fixed some broken stuff in hyperlink.
5489 * libspi/relation.h:
5490 * libspi/relation.c:
5491 * cspi/spi_accessible.c:
5492 Initial implementations of AccessibleRelation methods, and docs.
5494 * libspi/accessible.c:
5495 Fixed a bug that caused SEGV if an accessible
5496 object's description is NULL, and a client
5497 requests it. An empty string is now returned.
5499 * cspi/spi_editabletext.c:
5500 * cspi/spi_hypertext.c:
5502 * cspi/spi_hyperlink.c:
5506 Doc coverage now 95%.
5508 2001-11-16 Bill Haneman <bill.haneman@sun.com>
5510 One last namespacing revision:
5511 * libspi/accessibleeventlistener.[ch]:
5512 Renamed SpiAccessibleEventListener to SpiEventListener,
5513 (no need for two namespaces ;-)
5515 And lots of documentation fixes:
5517 * docs/at-spi-docs.sgml:
5518 Fixed 'underscore vs. hyphen' bug that was preventing
5519 the gtk-doc API docs from being automatically generated.
5522 * cspi/spi-listener.h
5524 * cspi/spi_accessible.c
5526 * cspi/spi_application.c
5527 * cspi/spi_component.c
5528 * cspi/spi_editabletext.c
5530 * cspi/spi_hypertext.c
5532 * cspi/spi_registry.c
5533 * cspi/spi_selection.c
5537 * docs/at-spi-docs.sgml
5538 * docs/at-spi-sections.txt
5540 Added and fixed up gtk-doc documentation in cspi.
5542 Interfaces now (fully) documented (subject to revision and enhancement):
5544 Event Listener Support
5546 AccessibleApplication
5550 AccessibleEditableText
5557 AccessibleRelationSet
5562 2001-11-14 Bill Haneman <bill.haneman@sun.com>
5564 * at-bridge/bridge.c:
5565 Initial work for toolkit-level key snooper connection by bridge.
5570 New typedefs and fixes to support new namespacing, and cleaner
5571 separation of cspi bindings from libspi bonobo implementation.
5572 Removed inconsistent and extraneous Spi* namespace prefix that
5573 had crept into cspi headers.
5574 Lots of comment fixes that sed had missed.
5576 * cspi/spi-roletypes.h:
5577 * cspi/spi-statetypes.h:
5578 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
5579 to AccessibleRoleType.
5581 * libspi/accessibleeventlistener.h:
5582 Fixed minor namespacing weirdness.
5584 * libspi/deviceeventcontroller.c:
5585 Reordered some internal API for device listeners.
5586 Changed the key registry final boolean to 'is_system_global'
5587 rather than 'is_synchronous', which is more descriptive of its
5589 Added spi_device_event_controller_new().
5590 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
5592 * libspi/keystrokelistener.[ch]:
5593 Namespaced KeystrokeListener to SpiKeystrokeListener.
5594 Changed uses of keymasks to use SPI_ prefix, and did other
5597 * libspi/keymasks.h:
5598 Namespaced keymask constants with SPI_ prefix.
5600 * libspi/registry.c:
5601 Some warning fixes, and knock-on fixes from namespace changes.
5604 Added rules for accessx-gui test program.
5606 * test/accessx-gui.c:
5607 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
5608 utility. It doesn't actually use at-spi, but it's still cool and
5611 * test/keysynth-demo.c:
5615 Fixes so that these test clients work properly with the namespaced
5616 libraries. (Incompletely tested for technical reasons, fixes may follow)
5619 2001-11-13 Michael Meeks <michael@ximian.com>
5621 * libspi/application.c
5622 (impl_accessibility_application_get_version),
5623 (impl_accessibility_application_get_toolkit_name):
5625 (impl_accessibility_application_set_id),
5626 (impl_accessibility_application_get_id): remove
5627 redundant casting code.
5629 * libspi/action.c (impl_getDescription): fix warnings.
5631 * libspi/accessible.c
5632 (impl_accessibility_accessible_get_parent),
5633 (impl_accessibility_accessible_get_child_at_index),
5634 (impl_accessibility_accessible_get_state),
5635 (impl_accessibility_accessible_get_relation_set):
5636 warning fixes & include action.h
5638 2001-11-13 Michael Meeks <michael@ximian.com>
5640 * *.[ch] fix bits I screwed up:
5642 s/([^ \tb(\*\&\?\",])spi_/\1/g;
5643 s/([^ \tb(\*\&\?\",])Spi/\1/g;
5645 2001-11-13 Michael Meeks <michael@ximian.com>
5647 * *.[ch] Namespace libspi into spi_ and Spi.
5649 2001-13-11 Michael Meeks <michael@ximian.com>
5651 * Makefile.am: dist & install at-spi-1.0.pc
5653 * libspi/Makefile.am: install into at-spi-1.0
5655 * idl/Makefile.am (idldir): install into at-spi-1.0
5657 * at-spi-1.0.pc.in: add.
5659 * configure.in: build it.
5661 2001-11-12 Bill Haneman <bill.haneman@sun.com>
5663 * test/keysynth-demo.c:
5664 Use a 'realize' signal-handler to set the WM properties for
5665 the virtual keyboard, rather than making it a "POPUP" type
5666 override-redirect window (thanks to anders carlsson for that
5669 2001-11-11 Bill Haneman <bill.haneman@sun.com>
5672 * test/keysynth-demo.c:
5673 Added new test of key synthesis, which creates a simple
5674 (mouse-operated) onscreen keyboard. It inserts key events into
5675 the currently-focused window, thus it does not grab keyboard focus
5678 * cspi/spi_registry.c:
5679 Added C binding for AT-SPI generateKeyEvent.
5681 * libspi/deviceeventcontroller.c:
5682 Added call to XFilterEvent so that key listener works with XIM (we
5683 hope). Added event_synth_type to generateKeyEvent, so that we can
5684 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
5685 synthesize a press/release pair for KeySyms.
5687 2001-11-09 Bill Haneman <bill.haneman@sun.com>
5689 * libspi/Makefile.am:
5690 * registryd/Makefile.am:
5691 (temporary) hack to include libXtst in libspi and registryd.
5692 (Needed for keystroke synthesis, see below).
5695 Improved API for registerKeystrokeListener, in accordance with
5696 discussions with Gnopernicus team and X server research.
5698 * libspi/registry.c:
5699 * libspi/deviceeventcontroller.c:
5700 * libspi/accessible.c:
5701 * libspi/keystrokelistener.c:
5702 Changes and fixes to support keylisteners for potentially
5703 consumed key events (that is, 'passive grabs').
5704 Added implementation for generateKeyEvent() [untested].
5707 Changes to registerKeystrokeListener() API, as above.
5708 Added deregisterGlobalEventListenerAll(), and
5709 deregisterKeystrokeListener(), which are needed for clean exit of
5711 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
5712 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
5714 * cspi/spi_registry.c:
5715 Added implementations of function prototypes mentioned above.
5717 * registryd/registryd.c:
5718 Added the key listener event source as a g_timeout(), to allow
5719 receipt of key events that are not caught by GDK (since GDK
5720 doesn't support passive keygrabs, this was necessary).
5723 Changed to attach a keylistener to 'Alt' keys, and
5724 respond to the following keycommands: Alt-M (toggle magnifier);
5725 Alt-F (toggle speech); Alt-Q (quit).
5726 Added an exit routine to deregister the listeners, and a key
5727 listener that prints some key info to the console when a key
5728 matches the listener mask (and is thus received by the listener).
5730 * util/idl/Magnifier.idl:
5731 Changes to magnifier API to support multiple zoom regions,
5732 non-uniform scaling in x and y, markDirty, and a host of other
5733 features that would be useful to magnification.
5736 * util/mag_client.c:
5737 * util/mag_client.h:
5738 * util/mag_control.c:
5740 Source code changes to support the above IDL changes.
5743 As above, and also changes to use a (slower) generic conversion
5744 path for colormap conversions, since the fast RGB conversions have been
5745 reported to fail for 16-bit displays.
5747 2001-10-26 Michael Meeks <michael@ximian.com>
5749 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
5751 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
5753 * at-bridge/Makefile.am: fix LDFLAGS.
5755 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5757 * at-bridge/bridge.c:
5758 Re-worked listeners for toolkit events, now we have signal
5759 and property listeners. Added a private method
5760 register_atk_event_listeners(), which registers with the
5761 various atk and gtk signals we need to monitor in order to emit
5763 Added emission hook for AtkObject:property-change events, to
5764 support the 'property listeners'.
5765 Fixed some alloc()s of Accessibility_Event structs to use CORBA
5768 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5769 which emit warnings and exit, respectively, if CORBA errors occur
5770 during remote calls, and we now use these methods to check most of
5771 our CORBA calls in the C bindings.
5773 * cspi/spi_accessible.c:
5774 Changed AccessibleSelection_refSelectedChild() to
5775 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5776 now increment refcounts.
5778 * cspi/spi_component.c:
5779 Fixed some long pointer casts (dangerous!) to pass pointers to
5780 CORBA_longs of the proper type to the CORBA stubs, and copy the
5781 data into the longs that were passed into the C bindings code.
5783 * at-bridge/bridge.c:
5785 * libspi/accessible.c:
5786 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5787 hyperlinks, AtkHyperlink is an object type.
5789 * libspi/application.c:
5790 Added various conversions to and from "generic" event types and
5791 atk-specific types; this is really part of the 'bridge'
5792 implementation but is valid for all AtkObject-based accessibility
5795 * libspi/editabletext.c:
5796 Fixed nasty bug wherein editable text's finalize method was
5797 unref'ing tha AtkObject reference that the text parent class was
5798 about to unref _again_. There was also a nasty inheritance bug
5799 that meant that the AccessibleEditableText class was corrupt.
5801 * libspi/selection.c:
5802 Provided implementations for some selection API that was broken.
5804 * idl/Application.idl:
5805 Added registerObjectEventListener () method.
5808 Fixed a number of return values that were Bonobo_Unknowns from
5809 bonobo_object_corba_objref(), which I
5810 forgot to dup before returning. Changed instances of
5811 bonobo_object_corba_objref (bonobo_object(o)) to
5812 BONOBO_OBJREF(o), for concision and clarity.
5814 2001-10-13 Louise Miller <louise.miller@sun.com>
5816 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5817 idl/Event.idl, idl/Registry.idl
5818 Changed these files to include Bonobo_Unknown.idl instead
5821 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
5823 * libspi/component.c libspi/component.h:
5824 Fixed typo. Added assertions for object checks in
5825 AccessibleComponent code.
5827 2001-10-09 Bill Haneman <bill.haneman@sun.com>
5829 * idl/Accessible.idl:
5830 Added 'isEqual (Accessible *object)'
5831 method for Accessible. (Not Yet Implemented).
5834 Changed signature of registerKeystrokeListener() to
5835 take a KeySet and KeyEventSeq so that specific keys and event
5836 types could be requested for monitoring, and added a flag
5837 is_synchronous so that either synchronous or asynchronous
5838 notification could be requested. (However this is not all
5839 implemented yet). This also meant adding two new typedefs,
5840 KeyEventSeq and KeySet.
5843 Added two new relations, RELATION_TOOLTIP_FOR and
5844 RELATION_LEAFNODE_OF.
5847 Added new state, STATE_HAS_TOOLTIP.
5849 * libspi/text.c, editabletext.c:
5850 Added new assertions to all casts of bonobo-objects from
5851 CORBA servants, to prevent Text API calls on non-text objects.
5852 Changed suspect casts of int-pointer types, so that we
5853 always send a valid CORBA_long pointer to the CORBA APIs that use
5854 in/out long parameters. We then have to copy from the CORBA_long
5855 into the regular long or int for return to the C bindings, or
5856 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5859 * libspi/deviceeventcontroller.c:
5860 Cleaned these sources up.
5862 Changed return type for getCharacterAtOffset to
5863 CORBA_unsigned_long, to allow for 32-bit characters.
5866 2001-10-08 Bill Haneman <bill.haneman@sun.com>
5870 Fixed 'make dist' so that distro compiles...
5871 * libspi/keymasks.h:
5873 * cspi/spi-listener.c:
5874 KeystrokeListenerCB now returns a boolean.
5876 Added KeyEventType struct, and KeyStroke.
5877 Also added createKeystrokeListener(),
5878 KeystrokeListener_addCallback(),
5879 KeystrokeListener_removeCallback(), and added a keymask to
5880 registerKeystrokeListener().
5881 * cspi/spi_accessible.c:
5882 Changed numerous return types for interfaces from
5883 AccessibleComponent to Accessible<InterfaceName>; this was
5884 probably a cut-and-paste error.
5886 Implementations of new KeystrokeListener api (from spi.h,
5889 Changes to key modifier mapping.
5890 Created ControllerEventMask struct.
5891 Made DeviceEventController derive from Bonobo::Unknown.
5893 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
5894 * libspi/deviceeventcontroller.c:
5895 Added a number of new internal (private) methods.
5896 * libspi/editabletext.c:
5897 * libspi/editabletext.h:
5898 Fixed a number of bugs related to the fact that
5899 editabletext inherits from text. Fixed the EditableText struct,
5900 the init() call, and use correct casts when calling Text methods
5901 from an EditableText object. Removed (duplicate) atko from the
5902 EditableText structure, we use the one in the parent Text
5903 structure via the casts mentioned above.
5904 * libspi/keystrokelistener.[ch]:
5905 * libspi/registry.c:
5906 Changes in support of keyboard handling (above).
5908 Keyboard handling, though partly functional, is still not
5909 recommended for at-spi client use as there is considerable
5910 work yet to be done.
5913 Changed some places where pointers to various int types
5914 are cast to be pointers to CORBA_long types and vice-versa:
5915 pointer casting is not safe so we pass pointers of the correct
5916 types and then cast the result before putting it into the target
5919 * libspi/text.h: minor typos corrected.
5921 We now speak not only the name of a Text element, but the
5922 first sentence of its content, when it receives focus.
5923 I also changed the text compression to 75% from 50%.
5924 * util/Accessibility_Util.server.in:
5925 Changed the default magnifier type to be a 3x vertical
5926 splitscreen magnifier (was previously a 2x horizontal one).
5928 2001-10-03 Bill Haneman <bill.haneman@sun.com>
5930 * libspi/keystrokelistener.h:
5931 * libspi/keystrokelistener.c:
5932 Initial functional implementations of KeystrokeListener.
5935 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
5937 Fixed string handling for NULL strings in libspi.
5938 Added spi_freeString to free strings returned by C bindings.
5940 2001-09-30 Bill Haneman <bill.haneman@sun.com>
5942 * libspi/keystrokelistener.h:
5943 * libspi/keystrokelistener.c:
5944 Began (no-op) implementations of KeystrokeListener
5946 * libspi/deviceeventcontroller.c:
5947 * libspi/deviceeventcontroller.h:
5948 Began creating implementations of DeviceEventController,
5949 to handle keystroke and mouse event listening and
5951 * libspi/accessible.c:
5952 Stubbed-in the implementations for
5953 Accessibility_Accessible_getState and
5954 Accessibility_Accessible_getRelationSet.
5955 * libspi/registry.c:
5956 Improved de-registration process and fixed some bugs,
5957 deregistration now works correctly.
5959 Added initialization of applications list (to NULL).
5961 Reduced speech compression from 0.5 to 0.7, for demo.
5962 Changed call to gdk_window_set_decorations()
5963 to gtk_window_set_decorated().
5964 * at-bridge/bridge.c:
5965 Bridge now deregisters when app exits, via
5966 registration of a cleanup function
5967 with the g_atexit() call.
5968 Required making 'app' static, renamed 'this_app'.
5969 Fixed broken use of bonobo_init, passing argv wrongly.
5971 2001-09-27 Bill Haneman <bill.haneman@sun.com>
5975 Created a new directory for
5976 accessibility-related utilities, primarily for
5977 testing and demo purposes, but with possible
5984 Onscreen magnifier utility that
5985 is implemented as a bonobo service.
5987 * util/mag_client.c:
5988 * util/mag_client.h:
5989 Client-side support (simple C bindings)
5990 for Magnification service
5992 * util/mag_control.c:
5993 Client program example for
5994 Magnification service
5996 * util/Accessibility_Magnifier.server.in:
5997 Bonobo-activation file for the
5998 Magnification service.
6001 * util/idl/Magnifier.idl:
6002 IDL defining the bonobo Magnification
6006 Modifications to use the bonobo-activated magnifier
6007 above, in place of trying to connect to an existing
6008 magnifier that uses socket-listening IPC.
6010 If env variable MAGNIFIER is set, a magnifier service
6011 will be started if one does not exist.
6013 2001-09-25 Bill Haneman <bill.haneman@sun.com>
6015 * at-bridge/bridge.c:
6016 applied patch from Marc to build and run
6017 against new glib and gtk+ (seemed like a change
6018 to bonobo_init signature was made ?)
6020 made festival-server support turned off by default.
6021 Added support for a simple magnifier (off by default)
6022 which will be added to a 'util' directory later.
6023 * at-bridge/Makefile.am:
6024 Changed "application.h" header from a 'source'
6025 to a 'dependency' of libat-bridge.
6027 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6036 Added interface implementation c files to list of
6037 includes so they are included in libcspi.
6040 Changed prototype of AccessibleAction_doAction to return a
6042 Changed prototype of AccessibleTable_getCaption to
6043 return an Accessible.
6044 Changed prototype of AccessibleTable_getSelectedRows
6045 and AccessibleTable_getSelectedColumns to
6046 return a long (returns the number of selected rows
6047 or columns respectively).
6048 Changed name of AccessibleText_refRunAttributes to
6049 AccessibleText_getAttributes.
6050 Changed prototype of AccessibleText_getCharacterExtents to
6051 return a void rather than a boolean.
6052 Added support for a AccessibleCoordType parameter
6053 specifying what type of coordinates are desired.
6054 Added an AccessibleCordType parameter to
6055 AccessibleText_getPointAtOffset.
6057 * cspi/spi_accessible.c:
6058 Added code to return the outstanding interfaces from
6059 Accessible_queryInterface.
6061 * cspi/spi_action.c:
6063 Corrected call to getNActions to call the c binding
6066 * cspi/spi_editabletext.c:
6068 Changed name from setRunAttributes to setAttributes.
6070 * cspi/spi_hyperlink.c:
6072 Changed call to getNAnchors to correctly call the c
6073 binding for an attribute.
6075 * cspi/spi_hypertext.c:
6077 Changed getImageDescription to correctly call the
6078 binding for an attribute.
6080 * cspi/spi_selection.c:
6081 Changed getNSelectedChildren to correctly call the c
6082 binding for the attribute.
6083 Changed refSelectedChild to getSelectedChild.
6087 Changed getCaption to return an Accessible.
6088 Fixed calls which retrieve attributes.
6089 Changed refAt to getAccessibleAt.
6090 Changed getNSelectedRows and getNSelectedColumns to
6094 Changed getCharacterExtents and getPointAtOffset to accept an
6095 AccessibleCoordType.
6097 Changed calls which retrieve attributes.
6098 Changed refRunAttributes to getAttributes.
6103 * idl/Hyperlink.idl:
6104 Changed n_anchors attribute to nAnchors to keep naming
6105 convention consistent.
6108 Made Table inherit from Bonobo::Unknown.
6109 Added nSelectedColumns and nSelectedRows attributes.
6112 Made Value inherit from Bonobo::Unknown.
6114 * libspi/hyperlink.c:
6115 Change for nAnchors attributte name change.
6117 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
6125 Added interface implementation c files to list of
6126 includes so they are included in libcspi.
6129 Changed prototype of AccessibleAction_doAction to return a
6131 Changed prototype of AccessibleTable_getCaption to
6132 return an Accessible.
6133 Changed prototype of AccessibleTable_getSelectedRows
6134 and AccessibleTable_getSelectedColumns to
6135 return a long (returns the number of selected rows
6136 or columns respectively).
6137 Changed name of AccessibleText_refRunAttributes to
6138 AccessibleText_getAttributes.
6139 Changed prototype of AccessibleText_getCharacterExtents to
6140 return a void rather than a boolean.
6141 Added support for a AccessibleCoordType parameter
6142 specifying what type of coordinates are desired.
6143 Added an AccessibleCordType parameter to
6144 AccessibleText_getPointAtOffset.
6146 * cspi/spi_accessible.c:
6147 Added code to return the outstanding interfaces from
6148 Accessible_queryInterface.
6150 * cspi/spi_action.c:
6152 Corrected call to getNActions to call the c binding
6155 * cspi/spi_editabletext.c:
6157 Changed name from setRunAttributes to setAttributes.
6159 * cspi/spi_hyperlink.c:
6161 Changed call to getNAnchors to correctly call the c
6162 binding for an attribute.
6164 * cspi/spi_hypertext.c:
6166 Changed getImageDescription to correctly call the
6167 binding for an attribute.
6169 * cspi/spi_selection.c:
6170 Changed getNSelectedChildren to correctly call the c
6171 binding for the attribute.
6172 Changed refSelectedChild to getSelectedChild.
6176 Changed getCaption to return an Accessible.
6177 Fixed calls which retrieve attributes.
6178 Changed refAt to getAccessibleAt.
6179 Changed getNSelectedRows and getNSelectedColumns to
6183 Changed getCharacterExtents and getPointAtOffset to accept an
6184 AccessibleCoordType.
6186 Changed calls which retrieve attributes.
6187 Changed refRunAttributes to getAttributes.
6192 * idl/Hyperlink.idl:
6193 Changed n_anchors attribute to nAnchors to keep naming
6194 convention consistent.
6197 Made Table inherit from Bonobo::Unknown.
6198 Added nSelectedColumns and nSelectedRows attributes.
6201 Made Value inherit from Bonobo::Unknown.
6203 * libspi/hyperlink.c:
6204 Change for nAnchors attributte name change.
6207 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
6209 implementations-- made server implementations own AtkObject pointers
6210 rather than their respective AtkInterrface pointers to fix
6211 refcounting. AtkHyperlink is still broken.
6213 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6214 * cspi/spi_accessible.c:
6215 Added method Accessible_Role_getName(),
6216 and requisite string array (role_names).
6217 Added conversion string_from_corba_strin() call
6218 to Accessible_getName and _getDescription.
6219 * libspi/accessible.c:
6220 Added implementation for Accessible_getRole()
6222 Added festival support, used if environment variable
6225 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6227 * at-bridge/bridge.c:
6228 Now allocate Accessibility_Event using
6229 Accessibility_Event__alloc() instead of g_new0().
6230 * libspi/accessibleeventlistener.c:
6231 Initialize AccessibleEventListener->callbacks to NULL.
6232 Fixed accessible__event_listener_init() param, changed to
6233 "AccessibleEventListener *" type.
6234 Changed a bonobo_object_release_unref() call to
6235 Accessibility_Accessible_unref().
6236 * libspi/listener.c:
6237 Changed Bonobo_Unknown_unref to (equivalent)
6238 Accessibility_Accessible_unref.
6239 * libspi/registry.c:
6240 Changed bonobo_object_release_unref to
6241 Accessibility_Accessible_unref.
6243 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6246 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
6247 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
6248 spi-util.c spi-util.h
6249 Implementations for C bindings to remaining accessibility
6252 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6255 changed return value of Action from void to boolean to
6256 bring in line with ATK.
6259 Changed getText funcions to return "out" start and end offsets.
6260 Changed getAttributes to take and offset and return the start
6261 and end offset of the attribute run.
6262 Changed getOffsetAtPoint and getCharacterExtents to take an
6263 enum describing whether coordinates are window or screen.
6266 libspi/action.c libspi/action.h libspi/editabletext.c
6267 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
6268 libspi/hypertext.c libspi/hypertext.h libspi/image.c
6269 libspi/image.h libspi/selection.c libspi/selection.h
6270 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
6271 libspi/value.c libspi/value.h
6272 Added server implementations for outstanding ATK interfaces
6273 not yet implemented.
6275 2001-09-04 Bill Haneman <bill.haneman@sun.com>
6278 Added (missing) getName() method.
6279 Made nActions an attribute.
6280 * idl/EditableText.idl:
6281 Changed order of params in setAttributes.
6282 * idl/Hyperlink.idl:
6283 Removed getAnchor, added getURI.
6285 Changed attributes to methods, for efficiency
6286 (so that getting extents can be done in one call)
6287 * idl/Selection.idl:
6288 Changed nSelectedChildren to attribute, and re-indented.
6289 * idl/Table.idl: changed nrows, ncolumns, caption, summary
6291 * idl/Text.idl: reformatted to match our coding style.
6292 (temporarily?) removed getRowColumnAtOffset().
6293 Changed text selection API to support multi-select and
6294 non-contiguous selections, as in ATK.
6295 * idl/Value.idl: changed some methods to attributes.
6297 2001-08-24 Mark McLoughlin <mark@skynet.ie>
6299 * libspi/listener.c(impl_notify_event):
6300 BonoboUnkown_unref the source instead
6301 of bonobo_object_release_unref - the ORB
6302 handles the releasing.
6304 * configure.in: require ORBit-2.3.94 for
6307 2001-08-21 Bill Haneman <bill.haneman@sun.com>
6309 Tagged CVS repository 'EA_1_0'.
6310 * README.EARLY_ACCESS:
6311 Alphabetized acknowledgements list, and
6313 Listed some known dependencies of at-spi.
6315 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6317 * docs/at-spi-docs.sgml:
6318 * docs/at-spi-sections.txt:
6319 * docs/at-spi-overrides.txt: (Added zero-length file)
6320 Documentation improvements - gtk-doc should build
6321 docs for all implemented C bindings now.
6324 * cspi/spi.c: (New file)
6325 * cspi/spi_event.c: (New file)
6326 * cspi/spi_registry.c: (New file)
6327 * cspi/spi_accessible.c: (New file)
6328 * cspi/spi_application.c: (New file)
6329 * cspi/spi_component.c: (New file)
6330 Split spi_main.c into six parts, and included them from
6331 "spi.c". This is a bit of a hack, probably temporary,
6332 but required by gtk-doc, apparently.
6334 2001-08-20 Bill Haneman <bill.haneman@sun.com>
6337 * docs/at-spi-docs.sgml:
6338 * docs/at-spi-sections.txt:
6340 Initial checkins/modifications for gtk-doc generation.
6343 Added (missing) interface query methods to Accessible's C binding.
6345 Added GenericInterface type definition.
6347 Added query for AccessibleComponent interface to focus event handler.
6348 Added printout of bounding box for focussed component.
6349 * libspi/component.c:
6350 Added partial implementation for AccessibleComponent to C binding.
6351 * idl/Application.idl:
6352 * libspi/registry.c:
6353 * libspi/listener.c:
6354 * libspi/application.c:
6355 * libspi/application.h:
6356 Changed "ID" attribute type from string to long.
6358 2001-08-19 Bill Haneman <bill.haneman@sun.com>
6362 Made method naming consistent: methods taking object args
6363 start with uppercase, other methods (except those using
6364 acronyms) start with lowercase. Underscores delimit between
6365 object names and method names:
6366 SPI_init() - uppercase since it starts with an acronym.
6367 getDesktopCount () - lowercase start since no object param0.
6368 Accessible_getName() - uppercase object type name, studlyCaps method
6372 Added gtk-doc documentation for all currently implemented
6373 methods in the C bindings API.
6375 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6377 * Makefile.am : changed build order to build test last.
6380 Changed "createEventListener" to "CreateEventListener".
6381 * libspi/accessibleeventlistener.c :
6382 Bugfix for addition of callbacks.
6383 * test/Makefile.am :
6384 * test/simple-at.c :
6385 Added new test that uses the C bindings API.
6387 * libspi/listener.c :
6388 * libspi/registry.c :
6389 * libspi/accessibleeventlistener.c :
6390 * at-bridge/bridge.c :
6391 Renamed member "target" of Accessibility_Event to "source",
6392 which is more descriptive.
6395 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6399 * cspi/Makefile.am :
6400 Added makefile support for at-spi/cspi directory.
6403 * cspi/spi-listener.h : (NEW FILE)
6404 Added support for/use of spi-listener.h.
6406 C bindings now build successfully, with no warnings.
6407 * libspi/accessibleeventlistener.h : (NEW FILE)
6408 * libspi/accessibleeventlistener.c : (NEW FILE)
6409 * libspi/Makefile.am :
6410 Added new object type "AccessibleEventListener"
6411 which inherits from Listener, and allows attachment
6412 of in-process callbacks (so that a client with a listening
6413 object instance can add functionality to the local
6414 implementation, dynamically).
6416 2001-08-18 Bill Haneman <bill.haneman@sun.com>
6418 * libspi/accessible.c:
6419 Add implementation for get_index_in_parent().
6421 Added #include of "spi-roletypes.h", and
6422 added enumerated type AccessibleCoordType.
6423 Added definition for KeystrokeListener (function type).
6426 * cspi/spi-statetypes.h :
6427 * cspi/spi-roletypes.h :
6429 Added these headers, used by spi.h.
6431 Added code (NOTE: not yet built by make).
6433 2001-08-18 Mark McLoughlin <mark@skynet.ie>
6435 * libspi/Makefile.am: generate imodule
6436 at the same time as other idl compiler
6439 2001-08-17 Bill Haneman <bill.haneman@sun.com>
6440 * libspi/registry.c :
6441 * libspi/application.c :
6442 * idl/Application.idl :
6443 Made registration with toolkit an application method,
6444 which is required since each app has its own toolkit static
6445 environment. Thus the bridge must register for
6446 notification of toolkit events from each application in turn.
6447 Toolkit notifications are now successfully registered for, and
6448 sent to the listening at client.
6450 Changed toolkit event string to use hyphens rather than underscores.
6451 * libspi/listener.c :
6452 listner now gives more info in debug mode - it reports the
6453 name of the event received, as well as the name of the source.
6456 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6458 * libspi/registry.c :
6459 added more implementation for toolkit events.
6460 Fixed bug such that toolkit event registrations
6461 (via atk) use the whole event name string, not
6463 Removed a useless call to an ORBit_ method.
6464 * at-bridge/bridge.c :
6465 Removed unused local sbuf[] variable.
6467 We now register for Gtk:GtkWidget:button_press_event
6468 events as well as "focus:" events.
6470 Add some more API from Registry.idl that was missing,
6471 for keystroke listening, keystroke and mouse event
6472 synthesis, and enumeration of accessible desktops.
6474 2001-08-16 Michael Meeks <michael@ximian.com>
6476 * configure.in: use AM_GLIB_GNU_GETTEXT.
6478 * Makefile.am (SUBDIRS): kill intl.
6480 2001-08-15 Michael Meeks <michael@ximian.com>
6482 * registryd/Makefile.am: s/oaf/server/ relocate info file.
6484 * configure.in: upd.
6486 * configure.in: depend on a recent bonobo-activation that
6487 will find our server files ...
6489 2001-08-16 Bill Haneman <bill.haneman@sun.com>
6491 * libspi/accessible.c : accessible_new() :
6492 Now we add the Component interface via bonobo_object_add_interface,
6493 if the contained AtkObject implements AtkComponent.
6494 * libspi/accessible.h : now include "component.h"
6495 * libspi/component.h :
6496 * libspi/component.c : added files - implementation of
6497 bonobo wrapper object for Accessibility/Component
6498 * libspi/listener.c :
6499 Added test code to check for Accessibility/Component:1.0
6500 interface and report whether it is implemented by the
6502 * libspi/registry.c :
6503 Now we check for not only the hash of the whole event
6504 string before relaying the event, we also check the
6505 "minor" event string (without the detail string).
6506 This allows event listeners to be registered against
6507 all events of a certain major+minor type, or just
6508 against a specific major+minor+detail type.
6509 * libspi/accessible.c :
6510 Added implementations for Accessible:get_parent(),
6511 Accessible:getChildCount(), and Accessible:getChildAtIndex().
6512 * libspi/registry.c :
6513 * libspi/listener.c :
6514 Replaced calls to Accessibility_Accessible_ref() and
6515 Accessibility_Accessible_unref() with
6516 calls to bonobo_object_dup_ref() and
6517 bonobo_object_release_unref(), so that the CORBA object
6518 is dup-ed and released when relayed, as well as the bonobo object.
6520 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6522 * libspi/Makefile.am,
6523 registryd/Makefile.am,
6524 at-bridge/Makefile.am.
6525 test/Makefile.am, configure.in:
6526 reverse previous changes.
6528 * /idl/Image.idl: fix typo.
6530 * test/Makefile.am: put DEBUG_FLAGS
6533 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6535 * test/app.c: use argv[0] instead of
6538 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6540 * libspi/Makefile.am,
6541 registryd/Makefile.am,
6542 at-bridge/Makefile.am.
6543 test/Makefile.am, configure.in:
6544 cleanup, replace individual LIBS/CFLAGS with
6545 AT_COMMON_{LIBS|CFLAGS}.
6549 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6551 * configure.in, libspi/Makefile.am:
6552 Change IDL path checking for bonobo-activation
6555 2001-08-15 Bill Haneman <bill.haneman@sun.com>
6557 * registryd/registry.c : separated event listeners to use
6558 3 separate lists (focus, window, toolkit). Began testing
6559 event names against hashes before relaying events.
6560 * test/at.c : now register for events of type "focus:"
6561 * test/app.c : now generate events of type "focus:"
6562 * at-bridge/bridge.c : register with ATK for focus events,
6563 and we now relay those focus events to any "focus:" listeners.
6564 This now works with the bridge as a GTK_MODULE when running test/at.
6565 * libspi/registry.c :
6566 * libspi/listener.c :
6567 now we ref event sources before propagating, and unref on receipt.
6568 * libspi/registry.c :
6569 some changes to internal structs, to support event typestring hashes.
6570 * text/app.c : changed the way the appname is generated.
6571 * cspi : added directory that will hold the C bindings library for
6572 non-CORBA/bonobo-savvy clients.
6573 * cspi/spi.h : header file that contains the function prototypes for the C binding.
6574 * idl/Component.idl : added in parameter to indicate coord system for
6575 geometry-related calls.
6576 * idl/Hyperlink.idl : added readonly n_links attribute
6577 * idl/Image.idl : changed methods to attributes.
6579 2001-08-15 Mark McLoughlin <mark@skynet.ie>
6581 * at-bridge/Makefile.am: link against
6582 ../libspi/libspi.la instead of -lspi.
6584 * at-spi/test/app.c: include
6585 bonobo-activation.h. Use a default appname
6586 if one is not provided.
6588 2001-08-14 Bill Haneman <bill.haneman@sun.com>
6590 * idl/Registry.idl : temporarily changed register_Application
6591 to oneway, to work around issue with initial registration
6593 * idl/Application.idl : changed attribute "id" from readonly
6594 to read-write, since it needs to be assigned by Registry.
6595 * registryd/registryd.c : added call to set application id
6597 * registryd/registry.c : changed de-registration procedure to
6598 use CORBA_Object_hash() to find matching object ref in application
6599 lists and listener lists.
6600 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
6601 began distinguishing between event types (work in progress).
6603 2001-08-13 Bill Haneman <bill.haneman@sun.com>
6606 * libspi/application.c:
6607 Added implementations for get/set id, get_toolkitName,
6609 * registryd/registryd.c :
6613 Converted from use of OAF to bonobo-activation.
6614 * libspi/desktop.h :
6615 * libspi/desktop.c :
6617 Removed references to atksimpleobject, since base atkobject
6618 implementation now provides functionality we need.
6619 * libspi/atksimpleobject.c :
6620 * libspi/atksimpleobject.h :
6625 * at-bridge/Makefile.am
6626 * at-bridge/bridge.c
6629 Added directory "bridge" and contents, and added dependencies
6630 in Makefile.am/configure.in.
6631 Initial checkin of "at-bridge".
6632 This code is a GTK_MODULE which automatically registers
6633 GTK+ apps with the accessibility registry, using an object
6634 reference to the root ATK object.
6636 2001-08-10 Mark McLoughlin <mark@skynet.ie>
6638 * po/Makefile.in.in: Remove. Again. If this
6639 doesn't get autogenerated - you need to update
6642 2001-08-07 Mark McLoughlin <mark@skynet.ie>
6644 * po/Makefile.in.in: Add. Again.
6646 2001-07-31 Bill Haneman <bill.haneman@sun.com>
6648 * libspi/accessible.c : added support for 'description' property.
6649 * libspi/accessible.c
6651 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
6652 (since the two are now equivalent in libbonobo)
6660 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
6661 Bonobo::Unknown as does Accessibility::Accessible.
6662 * idl/StreamableContent.idl : as above, and replaced internal InputStream
6663 interface with Bonobo::Stream, since it was redundant with it.
6664 (The Stream returned by a StreamableContext object is expected to
6665 implement only a subset of Bonobo::Stream)
6667 2001-07-28 Anders Carlsson <andersca@gnome.org>
6669 * libspi/accessible.c (accessible_object_finalize): Change
6670 g_free to g_object_unref since the AtkObject is a GObject.
6672 2001-07-30 Bill Haneman <bill.haneman@sun.com>
6674 * idl/Accessibility.idl: add new IDL files
6677 * idl/Action.idl: Definitions of actionable UI object
6678 * idl/Component.idl: Definitions of UI component geometry, etc.
6679 * idl/Hyperlink.idl: Defs of hyperlink behavior
6680 * idl/Image.idl: Def of accessible image
6681 * idl/Selection.idl: Definition of UI object with selectable children
6682 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
6683 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
6684 * idl/Text.idl: Interface defs for UI elements with complex textual content
6685 * idl/Value.idl: Definition of UI element that is a value controller or display
6687 2001-07-27 Michael Meeks <michael@ximian.com>
6689 * po/Makefile.in.in: remove autogenerated file from CVS.
6691 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
6694 * idl/Registry.idl: include guard.
6696 * idl/Accessibility.idl: Add, and include all the other IDL
6699 * idl/*.idl: remove mass of pragmas etc.
6701 2001-07-26 Michael Meeks <michael@ximian.com>
6703 * registryd/Makefile.am (registryd_SOURCES): remove
6706 2001-07-27 Mark McLoughlin <mark@skynet.ie>
6708 * libspi/.cvsignore, registryd/.cvsignore,
6709 test/.cvsignore: updated.
6711 * po/Makefile.in.in: gettext update.
6713 2001-07-25 Bill Haneman <bill.haneman@sun.com>
6715 * initial CVS checkin
6717 2001-06-29 Michael Meeks <michael@ximian.com>
6719 * configure.in: add AM_CONFIG_HEADER to gen config.h