cd9320a391f4a67d927b82f694d5f8021f6e678a
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2004-03-24  Bill Haneman <billh@gnome.org>
2
3         * atk-bridge/bridge.c:
4         Bracketed some debug output in 
5         conditionals, to avoid printing it in normal use.
6         Fixes bug #136660.
7
8         * libspi/hyperlink.c:
9         Don't cast 'object' to ATK_OBJECT when constructing
10         an AtkAction interface for a hyperlink.
11         See discussion in bug #120659.
12
13         * test/key-listener-test.c:
14         (report_all_key_event): Send output to stderr,
15         not stdout, for consistency with the rest of the test callbacks.
16
17         * configure.in:
18         Add -lXext to XINPUT_LIBS. Fix for bug #132237.
19         Don't add X_LIBS to CFLAGS (Fix for bug #134332).
20         Incremented to 1.4.1 (but didn't dist yet - I'm going to 
21         try incrementing the revision AFTER doing a dist, at least
22         for awhile).
23         
24 2004-03-22  Bill Haneman <billh@gnome.org>
25
26         * configure.in: Revved to 1.4.0, libtool 9.14.9
27
28 2004-03-17  Laszlo Peter  <laca@sun.com>
29
30         * libspi-1.0-uninstalled.pc.in: add idldir
31
32         * cspi-1.0-uninstalled.pc.in: add idldir
33
34 2004-03-16  Gareth Owen <gowen72@yahoo.com>
35
36         * configure.in: Added "en_GB" to ALL_LINGUAS
37
38 2004-03-15  Bill Haneman <billh@gnome.org>
39
40         * configure.in: Revved to 1.3.16, 
41         libtool 9.13.9.
42         
43 2004-03-15  Laszlo Peter  <laca@sun.com>
44
45         * libspi-1.0-uninstalled.pc.in: new file
46
47         * cspi-1.0-uninstalled.pc.in: new file
48
49         * configure.in: add the new pc files to AC_OUTPUT
50
51         * Makefile.am: add the new pc files to EXTRA_DIST
52
53 2004-03-12  Bill Haneman <billh@gnome.org>
54
55         * atk-bridge/bridge.c:
56         (spi_atk_bridge_key_listener):
57         Make sure to return consumed=FALSE if snoop 
58         event is not dispatched to listener.
59         Fixes #134037.
60         
61 2004-03-01  Bill Haneman <billh@gnome.org>
62
63         * configure.in: Revved to 1.3.15, 
64         libtool 9.12.9.
65         
66 2004-03-07  Danilo Segan  <dsegan@gmx.net>
67
68         * configure.in: Added "sr@ije" to ALL_LINGUAS.
69
70 2004-03-03  Guntupalli Karunakar  <karunakar@freedomink.org>
71
72         * configure.in: Added "pa" for Punjabi in ALL_LINGUAS.
73
74 2004-03-01  Bill Haneman <billh@gnome.org>
75
76         * configure.in: Revved to 1.3.14.
77         
78         * cspi/spi_main.c:
79         (SPI_exit): Removed "bye-bye" exit message.
80         Moved "leak" report to happen before the
81         iteration over the leaked refs list.
82         Don't PRINT_LEAKS unless DEBUG_OBJECTS is also #defined.
83         
84 2004-02-24  Bill Haneman <billh@gnome.org>
85
86         * configure.in: Revved to 1.3.13.
87
88         * docs/reference/cspi/Makefile.am:
89         Correct typo that was breaking the docs build.
90
91 2004-02-11  Padraig O'Briain <padraig.obriain@sun.com>
92
93         * autogen.sh: Require version 1.7 of automake.
94         
95         * configure.in: call GTK_DOC_CHECK([1.0])
96
97         * atk-bridge/Makefile.am: Remove use of LDFLAGS and CFLAGS
98
99         * docs/reference/cspi/Makefile.am: Update to use new gtk-doc.
100
101         * libspi/Makefile.am: Remove use of LDFLAGS and CFLAGS.
102
103         * test/Makefile.am:  Remove use of CFLAGS.
104
105         This fixes bug #132987.
106
107 2004-02-11  Bill Haneman <billh@gnome.org>
108
109         * reverted most of Tomasz' patch below, since it was breaking
110         builds (see bug #134058).
111         
112 2004-02-10  Tomasz K³oczko <kloczek@pld.org.pl>
113
114         * docs/reference/cspi/at-spi-cspi.types: added empty file for
115           correct pass "make dist" (empty .. because seems no sach types in
116           header files with gtk-doc markups).
117         * docs/reference/cspi/Makefile.am, configure.in:
118           Added better gtk-doc support using GTK_DOC_CHECK aclocal macro
119           from gtk-doc >= 1.0 (modyfications based on scheme from atk).
120         * Makefile.am: added:
121           DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
122           for force correct pass generate documentation on "make distcheck".
123         * libspi/Makefile.am: fixes for automake >= 1.6.
124         * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
125           AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
126           substed by default.
127
128 Sun Feb  8 11:20:50 2004  Matthias Clasen  <maclas@gmx.de>
129
130         * docs/reference/cspi/Makefile.am (install-data-local): Install
131         index.sgml since the doc autobuilder on widget.gnome.org looks for
132         that file.
133
134 2004-02-02  Padraig O'Briain  <padraig.obriain@sun.com>
135
136         * atk-bridge/bridge.c (spi_atk_tidy_windows): Correct g_free call to
137         g_object_unref.
138
139 2004-02-01  Robert Sedak  <robert.sedak@sk.htnet.hr>
140
141         * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
142
143 2004-01-27  Brian Cameron <brian.cameron@sun.com>
144
145         * test/simple-at.c: Fixed null string problems that cause core
146           dumping problems on Solaris.
147
148 2004-01-12  Bill Haneman <billh@gnome.org>
149         
150         * configure.in: Incremented version to 1.3.11.
151
152 2004-01-05  Padraig O'Briain  <padraig.obriain@sun.com>
153
154         * docs/reference/cspi/at-spi-cspi-docs.sgml: Added XML in
155         DOCTYPE statement. Fixes bug #129728. Patch supplied by Sebastien
156         Bacher.
157
158 2004-01-01  Roozbeh Pournader  <roozbeh@sharif.edu>
159
160         * configure.in: Added "fa" to ALL_LINGUAS.
161
162 2003-12-20  Arafat Medini <lumina@silverpen.de>
163
164         * configure.in: Added "ar" to ALL_LINGUAS
165
166 2003-12-16      Bill Haneman <billh@gnome.org>
167
168         * registryd/registry-main.c:
169         (main):
170         Set the reg_env DISPLAY variable before registering the
171         activated registry service.  Fixes bug #129479.
172
173 2003-12-16      Mohammad DAMT  <mdamt@bisnisweb.com>
174
175         * configure.in: Added "id" in ALL_LINGUAS
176         * po/id.po: Indonesian translation by Ahmad Riza H Nst <ari@160c.afraid.org>
177
178 2003-12-15  Padraig O'Briain <padraig.obriain@sun.com>
179
180         * registryd/deviceeventcontroller.c (global_filter_fn):
181         When an event is consumed discard any XEvents were added to
182         the queue while dealing with the the event. This can happen if
183         processing of the event takes a long time. Call XUngrabKeyboard
184         if an event was discarded. This fixes bug $124837.
185         Only call wait_for_release_event for a KeyPress.
186         Use local variable display instead of spi_get_display().
187         (spi_controller_update_key_grabs): Move call to keycode_for_keysym
188         outside for loop.
189
190 2003-12-11  Padraig O'Briain <padraig.obriain@sun.com>
191
192         * registryd/deviceeventcontroller.c (spi_dec_translate_mask):
193         Allow for mask to contain values other than NumLock mask.
194         Fixes bug #129103.
195
196 2003-12-10  Padraig O'Briain <padraig.obriain@sun.com>
197
198         * registryd/devieceventcontroller.c:
199         (wait_for_release_event): Change first parameter from GdkEvent to 
200         XEvent.
201         (global_filter_fn); Correct call to wait_for_release_event.
202
203         Fixes bug #128912.
204
205 2003-12-08  Bill Haneman <billh@gnome.org>
206
207         Version 1.3.10.
208
209         * registryd/ucs2keysym.c: New file.
210
211         * registryd/deviceeventcontroller.c:
212         (dec_keysym_for_unichar): Remove old partial implementation and
213         replace with call to ucs2keysym(), which is much more complete.
214         Thanks to Marcus G. Kuhn who put the original keysym2ucs.c into
215         the public domain.
216
217         Fixes bug #128824.
218
219 2003-12-05  Bill Haneman <billh@gnome.org>
220
221         * configure.in: Version 1.3.9.
222
223         * docs/reference/cspi/tmpl/spi_registry.sgml:
224         Added reference to libspi/keymasks.h to the
225         description of Registry queries: AccessibleKeyMaskType.
226         Fixes bug #118103.
227
228 2003-12-04  Bill Haneman <billh@gnome.org>
229
230         Fix for bug #121974.
231         
232         * idl/Accessibility_Application.idl:
233         (Accessibility::LOCALE_TYPE): New enum, corresponds to
234         setlocale's LC_TYPEs.
235         (Accessibility::Application::getLocale): New method.
236         Allows clients to query the locale, by type, of an app.
237         
238         * cspi/spi.h:
239         * cspi/spi_application.c:
240         (AccessibleApplication_getLocale): New method, wraps IDL above.
241
242         * libspi/application.c:
243         (spi_application_class_init): Init epv entry for getLocale.
244         (impl_accessibility_application_get_locale): Impl for above.
245
246         * test/test-simple.c:
247         (test_application): Added assertion for getLocale, i.e.
248         that the string from AccessibleApplication_getLocale (app, type) 
249         is the same as that from setlocale (type, NULL);
250
251 2003-12-03  Padraig O'Briain <padraig.obriain@sun.com>
252
253         *registryd/deviceeventcontroller.c: Add an idle handler which polls
254         the keyboard on a timeout intil the key state goes from pressed to
255         released. Fixes bug #111429.
256
257 2003-12-03  Padraig O'Briain <padraig.obriain@sun.com>
258
259         * atk-bridge/bridge.c: (atk_bridge_init): Create accessible application 
260         root object so that it is present when a context menu in an 
261         out-of-process applet is popped up.
262         (spi_atk_bridge_do_registration): Create acceessible application root
263         object only if it does not exist.
264
265         This fixes bug #125834.
266
267 2003-12-01  Bill Haneman <billh@gnome.org>
268
269         Fix for bug #114926.  Thanks to Michael Meeks for some of this patch.
270
271         * cspi/spi.h:
272         Added enum for AccessibleStreamableContentSeekType.
273         (AccessibleStreamableContent_freeContentTypeList): New.
274         
275         * cspi/spi_streamablecontent.c:
276         (accessible_bonobo_stream_client_seek): New private method.
277         (AccessibleStreamableContent_seek): Implemented this method,
278         using Bonobo_Stream_seek.
279         (AccessibleStreamableContent_freeContentTypeList): New method
280         for freeing the return value from 
281         AccessibleStreamableContent_getContentTypes.
282         (stream_cache_item_free): Replaces stream_release; stop leaks.
283         (stream_release): removed.
284         (AccessibleStreamableContent_read): Use properly init'd CORBA_evs, 
285         free the memory properly.
286
287 2003-12-02  Padraig O'Briain <padraig.obriain@sun.com>
288
289         Fix for bug #116009.
290
291         * cspi/spi-roletypes.h: Add SPI_ROLE_EDITBAR.
292
293         * cspi/spi_accessible.c (cspi_init_role_table): Add SPI_ROLE_EDITBAR.
294
295         * docs/reference/cspi/tmpl/spi-accessible.sgml: Add SPI_ROLE_EDITBAR
296
297         * idl/Accessibility_Role.idl: Add ROLE_EDITBAR.
298
299 2003-12-01  Bill Haneman <billh@gnome.org>
300
301         Fix for bug/rfe #127463.
302         
303         * idl/Accessibility_Accessible.idl:
304         (getLocalizedRoleName): New.
305         (unimplemented4): Removed (replaced by above).
306
307         * libspi/accessible.c:
308         (impl_accessibility_accessible_get_local_role_name): New.
309         (spi_accessible_class_init): Add getLocalizedRoleName entry to
310         epv.
311         
312         * cspi/spi.h:
313         (Accessible_getLocalizedRoleName): New.
314
315         * cspi/spi_accessible.c:
316         (Accessible_getLocalizedRoleName): New.
317         
318 2003-12-01  Bill Haneman <billh@gnome.org>
319         
320         Fix for bug #118581.
321         * idl/Accessibility_Text.idl:
322         (getDefaultAttributes): New.
323         (unimplemented4): Removed (replaced by above method).
324
325         * libspi/text.c:
326         (impl_getDefaultAttributes): New method.
327         (spi_text_class_init):
328         initialize the get_default_attributes slot in the epv.
329
330         * cspi/spi.h:
331         (AccessibleText_getDefaultAttributes): New prototype.
332
333         * cspi/spi_text.c:
334         (AccessibleText_getDefaultAttributes): New method.
335
336 2003-11-06  Padraig O'Briain <padraig.obriain@sun.com>
337
338         * cspi/spi_accessible.c (cspi_init_relation_type_table): Do not
339         write beyond the end of the table. Fixes bug #120473.
340
341 2003-09-30  Christian Rose  <menthos@menthos.com>
342
343         * configure.in: Added "eu" to ALL_LINGUAS.
344
345 2003-09-28  Kjartan Maraas  <kmaraas@gnome.org>
346
347         * configure.in: ALL_LINGUAS: Added no.
348
349 2003-09-28  Gediminas Paulauskas  <menesis@delfi.lt>
350
351     * configure.in: Added lt to ALL_LINGUAS.
352
353 2003-09-25  Padraig O'Briain <padraig.obriain@sun.com>
354
355         * atk-bridge/bridge.c:
356         (atk_bridge_init): Register event listeners always even for 
357         out-of-process applet.
358         (spi_atk_bridge_toplevel_added): Remove call to 
359         spi_atk_bridge_event_type_consts as it is now called in atk_bridge_init
360         (spi_atk_bridge_toplevelk_removed): Remove call to 
361         spi_atk_deregister_event_listenersa as the listeners are now always
362         registered
363         (spi_atk_bridge_register_application): Remove call to
364         spi_atk_register_event_listeners as it is not done in atk_bridge_init
365
366         This fixes bug #120991.
367
368         * libspi/table.c (impl_getColumnDescription): Correct typo,
369         pointed out by Bolian.Yin@sun.com.
370
371 2003-09-21  Ã\85smund Skjæveland  <aasmunds@fys.uio.no>
372
373         * configure.in: Added nn to ALL_LINGUAS (which is commented out).
374
375 2003-09-08  Bill Haneman <billh@gnome.org>
376
377         * configure.in: Revved to 1.3.7.
378
379         This is the GNOME 2.4.0 release of at-spi.
380
381         * docs/reference/cspi/Makefile.am:
382         Removed spurious inclusion of 'index.sgml' in the
383         html directory; this was breaking make distcheck and
384         also some other build environments.
385
386 2003-09-05  Padraig O'Briain <padraig.obriain@sun.com>
387
388         * registryd/registry.[ch}:
389         Add queue_handler_id and focus_object to SpiRegistry data structure.
390         (registry_flush_event_queue): If event being discarded is 
391         "state-change:focused" store object as focus_object.
392         (registry_start_queue): Remove queue handler and focus object
393         if present.
394         (registry_discard_event): New function which discards a focus event
395         if we had stored focus object in the registry.
396         (registry_queue_event): Add new check that is_queueing is set as this
397         function is reentrant.
398         (registry_filer_event): Add call to registry_discard_event.
399         
400         This resolves issues raised in bug #108664.
401         
402 2003-09-05  Taneem Ahmed  <taneem@bengalinux.org>
403
404         * configure.in: Added "bn" to ALL_LINGUAS.
405
406 2003-09-04  Bill Haneman <billh@gnome.org>
407
408         * cspi/spi_event.c: Documentation improvements for
409         (SPI_registerAccessibleKeylistener).
410
411         * docs/reference/tmpl/spi_registry.sgml:
412         Documentation improvements for SpiAccessibleKeylistenerCB.
413
414 2003-09-02  Mugurel Tudor  <mugurelu@go.ro>
415
416         * configure.in: Added "ro" to ALL_LINGUAS.
417
418
419 2003-09-01  Padraig O'Briain <padraig.obriain@sun.com>
420
421         * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
422         not decremented to zero. Fixes bug #120725.
423
424 2003-08-30  KAMAGASAKO Masatoshi  <emerald@gnome.gr.jp>
425
426         * configure.in: Added "ja" to ALL_LINGUAS.
427
428 2003-08-22  Samúel Jón Gunnarsson  <sammi@techattack.nu>
429
430         * configure.in: Added "is" to ALL_LINGUAS.
431         
432 2003-08-22  Christian Rose  <menthos@menthos.com>
433
434         * configure.in: Added "nl" to ALL_LINGUAS.
435
436 2003-08-19  Padraig O'Briain <padraig.obriain@sun.com>
437
438         * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
439         * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
440         to return a value.
441         * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
442         arguments.
443         * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
444         type for unspecified exception.
445         * cspi_streamablecontect): Add include of string.h for memcpy.
446         (stream_release): Correct call to bonobo_object_release_unref
447         (stream_cache_item_free): Correct call to bonobo_object_release_unref
448         * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
449         argument of _cspi_expection_throw.
450         * libspi/hyperlink.c: Add include of libspi/action.h:
451         (spi_hyperlink_new): Cast argument to spi_action_interface_new.
452         * libspi/streamablecontent.c: add include of libspi/component.h.
453         * regisrtyd/deviceeventcontroller.c:
454         (spi_dec_translate_mask): Removed unused variable priv.
455         (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
456         * registryd/registry.c:
457         (registry_filter_event): Remove unused variable queue_is-empty.
458         (impl_registry_notify_event): Use correct modifier in fprintf call.
459
460         This fixes compiler warnings reported in bug #120220.
461         
462 2003-08-18  Padraig O'Briain <padraig.obriain@sun.com>
463
464         * registryd/registryd.c: Remove this file.
465
466 2003-08-17  Sanlig Badral  <badral@openmn.org>
467
468         * configure.in: Added mn to ALL_LINGUAS.
469
470 2003-08-16  Tõivo Leedjärv  <toivo@linux.ee>
471
472         * configure.in: Added et to ALL_LINGUAS.
473
474 2003-08-13  Padraig O'Briain <padraig.obriain@sun.com>
475
476         * test/event-listener-test.c: Change active-descendant to 
477         active-descendant-changed.
478
479 2003-08-10  Sami Pesonen  <sampeson@iki.fi>
480
481         * configure.in: Added "fi" in ALL_LINGUAS.
482
483 2003-08-08  Guntupalli Karunakar  <karunakar@freedomink.org>
484
485         * configure.in: Added "hi" in ALL_LINGUAS.
486
487 2003-08-08  Padraig O'Briain <padraig.obriain@sun.com>
488
489         * configure.in: Revved to 1.3.6.
490
491         * NEWS: updated.
492         
493 2003-08-07  Padraig O'Briain <padraig.obriain@sun.com>
494
495         * registryd/deviceeventcontroller.c
496         (spi_device_event_controller_object_finalize): Fix typo in previous 
497         commit.
498
499 2003-08-07  Marc Mulcahy  <marc.mulcahy@sun.com>
500
501         * registryd/deviceeventcontroller.c
502         (spi_device_event_controller_object_finalize): Fix build on
503         systems without XEvIE.
504         
505 2003-08-06  Brian Cameron <Brian.Cameron@sun.com>
506
507         * acconfig.h, configure.in, registryd/Makefile.am,
508           registryd/devicecontoller.[ch]: Add XEViE support.
509
510 2003-08-06  Wang Jian  <lark@linux.net.cn>
511
512         * configure.in: Added "zh_CN" to ALL_LINGUAS.
513
514 2003-08-06  Metin Amiroff<metin@karegen.com>
515
516         * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
517
518 2003-08-06  Padraig O'Briain <padraig.obriain@sun.com>
519
520         * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
521         MODIFIER_ALT in correct place. 
522
523         This fixes part of bug #118114.
524
525 2003-07-30  Alessio Frusciante  <algol@firenze.linux.it>
526
527         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
528
529 2003-07-28  Changwoo Ryu  <cwryu@debian.org>
530
531         * configure.in: Added "ko" to ALL_LINGUAS.
532
533 2003-07-28  Ole Laursen  <olau@hardworking.dk>
534
535         * configure.in: Added "da" to the commented out ALL_LINGUAS.
536
537 2003-07-27  Laurent Dhima  <laurenti@alblinux.net>
538
539         * configure.in: Added "sq" to ALL_LINGUAS.
540
541 2003-07-27  Hasbullah Bin Pit  <sebol@ikhlas.com>
542                                                                                 
543         * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
544
545 2003-07-24  Pablo Saratxaga  <pablo@mandrakesoft.com>
546
547         * configure.in: updated ALL_LINGUAS list
548
549 2003-07-24  Dmitry G. Mastrukov  <dmitry@taurussoft.org>
550
551         * configure.in: Added Belarusian to ALL_LINGUAS.
552
553 2003-07-23  Padraig O'Briain <padraig.obriain@sun.com>
554
555         * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
556         event->data.
557         * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call 
558         CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
559
560         This fixes bug #116949.
561
562 2003-07-22  Padraig O'Briain <padraig.obriain@sun.com>
563
564         * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
565         Correct CSPI to SPI in function documentation.
566
567         This fixes bug #118054.
568
569 2003-07-16  Dmitry G. Mastrukov  <dmitry@taurussoft.org>
570
571         * configure.in: Added Russian to ALL_LINGUAS.
572
573 2003-07-16  Duarte Loreto <happyguy_pt@hotmail.com>
574
575         * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
576
577 2003-07-14  Danilo Å Segan  <dsegan@gmx.net>
578
579         * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
580
581 2003-07-10  Joel Brich <joel.brich@laposte.net>
582
583         * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
584
585 2003-07-07  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
586
587         * configure.in (ALL_LINGUAS): Added "es" (Spanish).
588
589 2003-07-07  Padraig O'Briain <padraig.obriain@sun.com>
590
591         * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
592         resources allocated for AccessibleEvent. See cspi_event().
593
594         * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
595         static variable streams to NULL.
596
597         * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
598         Update so that AcessibleEvent_ref will work.
599
600         This fixes bug #116624.
601
602 2003-07-06  Jordi Mallach  <jordi@sindominio.net>
603
604         * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
605
606 2003-07-06  Christophe Merlet  <redfox@redfoxcenter.org>
607
608         * configure.in: Added "fr" (French) to ALL_LINGUAS.
609
610 2003-07-02  Christian Neumair  <chris@gnome-de.org>
611
612         * configure.in: Added "de" (German) to ALL_LINGUAS.
613
614 2003-07-01  Dafydd Harries  <daf@parnassus.ath.cx>
615
616         * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
617
618 2003-07-01  Miloslav Trmac  <mitr@volny.cz>
619
620         * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
621
622 2003-07-01  Artur Flinta  <aflinta@cvs.gnome.org>
623
624         * configure.in: Added "pl" to ALL_LINGUAS.
625
626 2003-07-01  Gil "Dolfin" Osher <dolfin@rpg.org.il>
627
628         * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
629
630 2003-06-30  Bill Haneman <bill.haneman@sun.com>
631         
632         * libspi/action.c:
633         (get_action_from_servant): 
634         Removed assertion that action is implemented on an AtkObject.
635
636         * libspi/hyperlink.c:
637         (spi_hyperlink_new):
638         Aggregate AccessibleAction interface on the hyperlink object if
639         the object implements AtkAction.  (This convention is used in
640         gtkhtml2.)
641         
642 2003-06-30  Bill Haneman <bill.haneman@sun.com>
643
644         * configure.in: Revved to 1.3.5.
645         
646         * registryd/Accessibility_Registry.server.in.in:
647         Marked up appropriate strings for translation.
648         
649         * atk-bridge/bridge.c: Marked a couple of
650         user-visible warnings for translation.  Questionable
651         whether they are really useful, but possibly so.
652
653         
654 2003-06-28  Christian Rose  <menthos@menthos.com>
655
656         * configure.in: Added "sv" to ALL_LINGUAS.
657
658 2003-06-26  Bill Haneman <bill.haneman@sun.com>
659
660         * registryd/registry.c: 
661         (spi_registry_object_finalize): Unref the deviceeventcontroller.
662         (registry_defer_on_event): Defer focus: events, this is an
663         improvement to the patch for bug #108664.
664
665         * TODO: Update with 2.4/"Dev Complete" items.
666
667 2003-06-26  Padraig O'Briain <padraig.obriain@sun.com>
668
669         * atk-bridge/bridge.c:
670         (spi_atk_bridge_init_event_type_consts): Ensure that this function only
671         looks up signals once.
672         (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
673         if doing registration.
674         (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
675         when doing registration.
676         
677         This fixes bug #115014.
678
679 2003-06-25  Padraig O'Briain <padraig.obriain@sun.com>
680
681         * atk-bridge/bridge.c:
682         (atk_bridge_init): Add signal handler for children-changed:remove on
683         root when in a BonoboComponent.
684         (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
685         for first toplevel only other incrememt variable toplevels.
686         (spi_atk_bridge_toplevel_removed): For last toplevel deregister 
687         application and remove listeners.
688         (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
689         consistency.
690         (spi_atk_deregister_event_listeners): New function which removes
691         listeners.
692         (reinit_register_vars): New fuction which reinitializes variables.
693
694         This fixes bug #111578.
695
696 2003-06-13  Bill Haneman <bill.haneman@sun.com>
697
698         * configure.in: version 1.3.4.
699
700         * cspi/spi_accessible.c:
701         Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
702
703
704 2003-06-13  Michael Meeks  <michael@ximian.com>
705
706         * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
707
708         * cspi/spi_main.c (cspi_peek_ev): impl.
709
710 2003-06-11  Padraig O'Briain <padraig.obriain@sun.com>
711
712         * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
713
714         * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
715
716         * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role 
717         SPI_ROLE_AUTOCOMPLETE
718
719         * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
720
721         * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
722         for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
723
724 2003-06-11  Bill Haneman <bill.haneman@sun.com>
725
726         * libspi/streamablecontent.h:
727         * libspi/streamablecontent.c:
728         New files, provide implementation/wrappers for
729         Accessibility_StreamableContent.
730
731         * cspi/spi_streamablecontent.c:
732         Connected the C wrappers to the libspi C bindings.
733         (AccessibleStreamableContent_close): New method.
734
735         * cspi/spi.h:
736         (AccessibleStreamableContent_close): New method, needed
737         since we have an "open, [seek], read, close" model in cspi.
738         
739 2003-06-11  Bill Haneman <bill.haneman@sun.com>
740
741         Fix for #108664; Padraig's revision of my original patch.
742         
743         * registryd/registry.h:
744         Added event queue list, is_queuing, and exit_notify_timeout
745         to the registry struct.
746         
747         * registryd/registry.c:
748         (registry_init): Initialize new struct from registry.h.
749         (impl_registry_notify_event):
750         Filter events before notifying, in case some need to be
751         deferred, etc.
752         (registry_filter_event): New,
753         we defer certain incoming events (for instance 
754         window:deactivate) because we may wish to hide
755         or reject them based on pending events.  This is
756         mostly a workaround for bug #108664.
757         (registry_queue_event, registry_start_queue): New.
758         (registry_defer_on_event): Test event to see if it
759         initiates queuing.
760         (registry_reset_on_event): Returns TRUE if the
761         event should cause a queue reset.
762         (registry_discard_on_event): Returns TRUE if the event
763         should cause the previous queue contents to be discarded.
764         (registry_timeout_flush_queue): Flushes the pending event
765         queue if no reset/discard-triggering events have come in 
766         within the timeout period.
767         (registry_emit_event): New.
768         (registry_clone_notify_context): New, used when queueing the 
769         event notify contexts.
770
771 2003-06-10  Bill Haneman <bill.haneman@sun.com>
772
773         * configure.in: Version revved to 1.3.2, lt 0.9.2
774         Incremented ATK required version to 1.3.4.
775
776         * cspi/spi_registry.c:
777         (SPI_generateKeyEvent):
778         We now pass the keystring along if it's non-null.
779         
780         * registryd/deviceeventcontroller.c:
781         (keysym_mod_mask): New method, returns modifier mask 
782         required to generate a keysym from a given keycode.
783         (dec_synth_keysym): New method.
784         (dec_synth_keystring): New method.
785         (dec_get_modifier_state): New method.
786         (dec_lock_modifiers): New
787         (dec_unlock_modifiers): New.
788         (dec_keysym_for_unichar): New, rather brute-force
789         conversion from UCS-4 to X KeySyms.  Only works for
790         Latin at the moment, with partial implementations for
791         Greek, Hebrew, and (incomplete) Katakana.
792         (impl_generate_keyboard_event): Now implement 
793         "KEYSTRING" synthesis and implement "KEYSYM"
794         synthesis properly.
795         (keycode_from_keysym): Improved, passes a returned
796         modmask value now if the corresponding param is non-NULL.
797         
798         Fixes bugs #92143  and #109776.
799
800         * test/Makefile.am:
801         * test/keysynth-test.c:
802         New test program for key synthesis, to confirm fixes for
803         above bugs.
804
805
806 2003-06-10  Padraig O'Briain <padraig.obriain@sun.com>
807
808         * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
809
810         * cspi/spi_accessible.c (cspi_init_relation_type_table):
811         Add line for RELATION_POPUP_FOR
812
813         * docs/reference/cspi/tmpl/spi_relation.sgml: 
814         Add relation SPI_RELATION_POPUP_FOR
815
816         * docs/reference/cspi/tmpl/spi_stateset.sgml: 
817         Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE 
818
819         * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
820
821         * libspi/relation.c (spi_init_relation_type_table): 
822         Add line for RELATION_POPUP_FOR
823
824 2003-06-10  Padraig O'Briain <padraig.obriain@sun.com>
825
826         * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if 
827         there are still windows which have not been deleted and emit 
828         window:deactivate, if necessary and window:destroy events.
829         This fixes bug #114370. The change on June 5th was not correct.
830
831 2003-06-09  Bill Haneman <bill.haneman@sun.com>
832
833         * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
834
835         * cspi/spi.h: 
836         (SPI_dupString): Allow dup-ing of a string such that it's safe to
837         SPI_freeString it.
838         New methods for client exception handling and interception.
839         (SPI_exceptionHandlerPush): New - push a handler onto the stack.
840         (SPI_exceptionHandlerPop): You guessed it... 
841         (SPI_getSourceType): Return the type of object which offended.
842         (SPI_getExceptionCode): Return an enum code telling, possibly, 
843         what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
844         (SPIAccessibleException_getSource): get the source object for
845         exceptions that come from Accessibles, if SPIExceptionSourceType is
846         SPI_EXCEPTION_SOURCE_ACCESSIBLE.
847         (SPIException_getDescription): New, returns a string description of
848         the problem.  [Not yet a stable ABI, strings are not frozen]
849
850         * cspi/spi-private.h:
851         Added implementation details of opaque SPIException
852         structure.
853         
854         * cspi/spi_main.c:
855         Implementations of above.  Also
856         (_cspi_exception_throw): new private method that 
857         dispatches exceptions to handlers, called from cspi-bonobo.c
858
859         * cspi/bonobo/cspi-bonobo.c:
860         (cspi_check_ev): call _cspi_exception_throw.
861         Don't print a warning message if the exception has been 
862         handled by _cspi_exception_throw.
863         
864 2003-06-05  Padraig O'Briain <padraig.obriain@sun.com>
865
866         * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if 
867         there are still windows which have not been deleted and emit 
868         window:deactivate, if necessary and window:destroy events.
869         This fixes bug #114370.
870
871 2003-06-03  Bill Haneman <bill.haneman@sun.com>
872
873         * cspi/spi_main.c:
874         (cspi_accessible_is_a): Make non-fatal 
875         if the object reference is dead.
876
877 Mon Jun  2 15:35:29 2003  Jonathan Blandford  <jrb@redhat.com>
878
879         * cspi/spi_main.c: #include <stdio.h>
880         * test/simple-at.c: ditto
881         * test/event-listener-test.c: ditto
882         * test/screen-review-test.c: ditto
883
884 2003-05-30  Michael Meeks  <michael@ximian.com>
885
886         * test/test-simple.c (main): use CORBA_ORB_perform_work
887         instead of an unnecessary linc_ call.
888
889 2003-05-20  Padraig O'Briain <padraig.obriain@sun.com>
890
891         * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
892         Add SPI_STATE_INDETERMINATE.
893
894         * cspi/spi_accessible.c (spi_state_to_corba): Add support for
895         INDETERMINATE.
896
897         * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
898
899         * libspi/stateset.c (init_state_type_tables): Add support for
900         INDETERMINATE.
901
902 2003-05-19  Padraig O'Briain <padraig.obriain@sun.com>
903
904         * configure: Update versions of atk and gail required.
905         This fixes bug #113268.
906         
907 2003-05-02  Bill Haneman  <bill.haneman@sun.com>
908
909         * configure.in: Revved micro version to 1.3.1 (because of build fix).
910
911 2003-05-02  Frederic Crozat  <fcrozat@mandrakesoft.com>
912
913         * libspi/Makefile.am:
914         Ensure headers are generated before being used by c sources.
915
916 2003-05-01  Bill Haneman <bill.haneman@sun.com>
917
918         * configure.in:
919         Simplified lt versioning rules.
920         Incremented version to 1.3.0, to indicate that we're on the
921         unstable branch now.  
922
923 2003-04-29  Padraig O'Briain <padraig.obriain@sun.com>
924
925         * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
926         Add MKDB_OPTIONS=--outtput-format=xml
927
928         * docs/reference/cspi/at-spi-cspi-docs.sgml
929         docs/reference/idl/at-spi-idl-docs.sgml:
930         Convert to Docbook XML.
931
932         This fixes bug #111793.
933
934 2003-04-25  Padraig O'Briain <padraig.obriain@sun.com>
935
936         * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
937         AcccessibleKeyEventType, AccessibleKeyMaskType.
938
939         * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
940
941         * cspi/state-types.h: Add documentation for AccessibleState.
942
943         * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
944         AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
945         AccessibleKeySynthType, AccessibleKeyListenerSyncType, 
946         AccessibleComponentLayer.
947
948         * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs 
949         in documentation.
950
951         * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
952
953         * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of 
954         Accessible.  Add description of AccessibleEvent, 
955         AccessibleEventListenerCB.
956
957         * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra 
958         documentation.
959
960         * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra 
961         documentation. Add description of AccessibleKeystrokeListenerCB,
962         AccessibleKeyEventMask, AccessibleModifierMaskType, 
963         AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
964         AccessibleDeviceEventMask, AccessibleDeviceListenerCB. 
965
966         * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
967         AccessibleStateSet.
968
969         * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra 
970         documentation.
971
972         This fixes bug #104730.
973
974 2003-04-24  Padraig O'Briain <padraig.obriain@sun.com>
975
976         * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
977         Set is_text field of Accessibility_DeviceEvent data structure.
978
979         * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
980         is-text field of AccessibleDeviceEvent data structure.
981
982         This addresses part of bug #108666.
983
984         * registryd/devcieeventcontroller.c: Unset debug option.
985
986 2003-04-14  Padraig O'Briain <padraig.obriain@sun.com>
987
988         * cspi/accessible.c:
989         (cpi_initial_relation_type_table): New function which initializes 
990         mapping between Accessibility_RelationType and AccessibleRelationType.
991         (cspi_relation_type_from_spi_relation_type): New function which
992         translates an Accessibility_RelationType into an AccessibleRelationType.
993         (AccessibleRelation_getRelationType): Use 
994         cpi_relation_type_get_spi_relation_type to return correct value.
995         (spi_state_to_corba): Return correct type for default case.
996
997         * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
998         Use Accessibility_EventType instead of Accessibility_KeyEventType.
999
1000         * cspi/cspi-bonobo-listener.c:
1001         Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
1002         warnings.
1003
1004         * libspi/accessible.c, libspi/action.c, libspi/application.c,
1005         libspi/base.c, libspi/component.c, libspi.devicelistener.c,
1006         libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
1007         libspi/image.c, libspi/listener.c, libspi/selection.c, 
1008         libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c, 
1009         registryd/desktop.c, registryd/registry.c:
1010         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1011
1012         * libspi/eventlistener.c
1013         Remove semicolon after BONOBO_TYPE_FUNC.
1014
1015         * libspi/relation.c:
1016         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1017         (spi_init_relation_type_table): Initialize using correct type.
1018
1019         * registryd/desktop.c:
1020         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1021         (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead 
1022         of Accessibility_KeyEventType.
1023
1024         * test/key-listener-test.c (report_tab_key_event): Use fprintf
1025         instead of g_print.
1026
1027         * tests/simple-at.c, tests/screen-review-test.c:
1028         Add include for <strings.h>.
1029
1030         * tests.stress-test.c:
1031         Add includes for <unistd.h> and <bonobo/bonobo-main.h>
1032
1033         These changes fix compiler warnings when using FORTE compiler on
1034         Solaris; fixes bug #107479.
1035
1036         
1037 2003-04-10  Bill Haneman <bill.haneman@sun.com>
1038
1039
1040         * configure.in: revved to 1.1.10
1041         
1042         * libspi/keymasks.h:
1043         (SPI_KEYMASK_NUMLOCK): Added.
1044
1045         * registryd/deviceeventcontroller.c:
1046         (spi_key_event_matches_listener): AND with a smaller
1047         bitmask (as we should).  
1048         (spi_dec_translate_mask): 
1049         New method, sets the virtual NumLock modifier bit
1050         if numlock is on.  Eventually it can handle other virtual
1051         modifier bits if needed, or other marshalling from
1052         at-spi modifier masks to platform (X) masks.
1053         (spi_dec_key_listener_new):
1054         Call spi_dec_translate_mask to set up virtual mod bits
1055         in the 'mask' field when creating a new listener struct.
1056         (spi_dec_emit_modifier_event):
1057         Set the virtual (i.e. NumLock) bits before emitting event.
1058         (spi_controller_register_with_devices):
1059         Query for the NumLock modifier 'physical' bit if Xkb is
1060         present, for use in above methods.
1061
1062         Fix for 107261.
1063         
1064 2003-04-10  Bill Haneman <bill.haneman@sun.com>
1065         
1066         * registryd/deviceeventcontroller.c:
1067         (spi_keystroke_from_x_key_event):
1068         Instead of checking to see if the keysym is
1069         printable, check the string from XLookupString
1070         if available, get the first unicode character from it,
1071         and call g_unichar_isprint to determine whether the
1072         is_text flag should be TRUE or FALSE.
1073         
1074         Fix for bug 110419.
1075
1076 2003-04-02  Padraig O'Briain <padraig.obriain@sun.com>
1077
1078         * atk-bridge/bridge.c: Add support for extended events
1079         * cspi/spi_event.c: Add documentation and implementation for
1080         extended events.
1081         * tests/event-listener-test.c: Add tests for extended events.
1082
1083         This fixes bugs #100424 and #100426.
1084  
1085 2003-04-02  Padraig O'Briain <padraig.obriain@sun.com>
1086
1087         * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
1088         of LT_CURRENT. This fixes bug #89350.
1089
1090 2003-04-01  Padraig O'Briain <padraig.obriain@sun.com>
1091
1092         * atk-bridge/bridge.c (spi_bridge_signal_listener):  Add check for
1093         number of signal parameter values before accessing them. This fixes
1094         bug #109626.
1095
1096 2003-04-01  Bill Haneman <bill.haneman@sun.com>
1097
1098         * configure.in: Fixed duplicate inclusion of -lspi.
1099         * branched for gnome-2-2/HEAD.  
1100         [created tag "gnome-2-2"]
1101
1102 2003-03-07  Bill Haneman <bill.haneman@sun.com>
1103
1104         * configure.in: 1.1.9 release.
1105         * NEWS: updated.
1106         
1107 2003-03-07  Bill Haneman <bill.haneman@sun.com>
1108
1109         [needed by GOK, to fix bugs 107985 and 107988]
1110         * registryd/deviceeventcontroller.c:
1111         (spi_dec_clear_unlatch_pending):
1112         New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
1113         (spi_dec_set_unlatch_pending):Revised DEBUG comment.
1114         (spi_dec_init_mouse_listener):Emit warning if mouse button
1115         passive grab fails.
1116         (spi_device_event_controller_forward_mouse_event):
1117         Removed unnecessary parens from a conditional.
1118         (global_filter_fn):Added TODO comment.
1119         (impl_generate_keyboard_event):
1120         Cancel a pending relatch if a 'delatching' key was 
1121         synthesized.
1122         
1123 2003-03-07  Padraig O'Briain <padraig.obriain@sun.com>
1124
1125         * atk-bridge/bridge.c:
1126         Change atk_signal_child_changed to atk_signal_children_changed. 
1127         Reorganize code in spi_atk_bridge_signal_listener().
1128
1129         * test/event-listener-test.c:
1130         Add children_changed_listener and report_children_changed_event()
1131         to test AccessibleChildEvent_getChildAccessible.
1132
1133 2003-03-05  Padraig O'Briain <padraig.obriain@sun.com>
1134
1135         * cspi/spi_event.c (cspi_internal_event_get_text): Change
1136         g_strdup to CORBA_String_dup (bug #105291)
1137
1138         * test/event-listener-test.c (report_text_event): Add call to
1139         SPI_freeString.
1140
1141 2003-02-28  Bill Haneman <bill.haneman@sun.com>
1142
1143         * registryd/deviceeventcontroller.c:
1144         (spi_keystroke_from_x_key_event): 
1145         Fix string and keysym return codes to match modifier state. 
1146         [bug #107256]
1147
1148 2003-02-28  Bill Haneman <bill.haneman@sun.com>
1149
1150         * registryd/deviceeventcontroller.c:
1151         (spi_keystroke_from_x_key_event): 
1152         Fix segv due to improper use of isprint(c). [bug #107254]
1153
1154 2003-02-24  Bill Haneman <bill.haneman@sun.com>
1155
1156         * cspi/spi_text.c:
1157         (get_accessible_text_boundary_type):
1158         Move default return value to (new) default case in switch.
1159         (get_accessible_text_clip_type):
1160         Move default return value to (new) default case in switch.
1161         
1162         * libspi/application.c:
1163         (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
1164         Remove unused methods.
1165         (impl_accessibility_application_register_object_event_listener):
1166         Remove unused methods.
1167
1168         * libspi/value.c:
1169         Added #include of <math.h>.
1170
1171         * registryd/deviceeventcontroller.c:
1172         (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since 
1173         we don't currently use this method.
1174         (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
1175         have_xkb is TRUE.
1176         (impl_generate_key_event):
1177         Remove unused variables.
1178         (impl_generate_mouse_event):
1179         Initialize button to zero, just in case we get an invalid
1180         input.  Added support for mouse buttons 4 and 5.
1181         (spi_device_event_controller_new):
1182         Removed unused variable declaration for 'private'.
1183         (registry.h):
1184         Added #include of <gdk/gdk.h>
1185
1186 2003-02-14  Padraig O'Briain <padraig.obriain@sun.com>
1187
1188         * configure.in: Update to work when X is not installed in expected 
1189         location. Fixes bug #105836.
1190
1191         * atk-bridge/bridge.c
1192         (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
1193         AtkHypertext
1194         (spi_atk_register_event_listener): Add signal listener for 
1195         link-selected
1196         (spi_atk_bridge_signal_listener): Event event when link-selected
1197         signal is emitted. (bug #104622)
1198
1199         * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
1200         on returned string. (bug #105291)
1201
1202         * test/event-listener-test.c: Add test for link-selected.
1203         
1204 2003-02-14  Padraig O'Briain <padraig.obriain@sun.com>
1205
1206         * atk-bridge/Makefile.am: Correct typo in previous commit.
1207
1208 2003-02-13  Padraig O'Briain <padraig.obriain@sun.com>
1209
1210         * atk-bridge/Makefile.am: Allow for build directory to be different 
1211         from source directory
1212
1213         * registryd/Makefile.am: Allow for build directory to be different
1214         from source directory
1215
1216         Bug #104744.
1217
1218 2003-01-29  Bill Haneman <bill.haneman@sun.com>
1219         
1220         * cspi/Makefile.am:
1221         Fixed dependencies for libcspi so that libspi gets pulled in
1222         properly.  Fixes 104741.
1223
1224         * cspi/spi.h:
1225         * cspi/spi_event.c:
1226         Clean up inline docs a little.
1227
1228 2003-01-27  Padraig O'Briain <padraig.obriain@sun.com>
1229
1230         * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
1231         This is done by implementing AtkComponent for SpiAtkDesktop, which is
1232         the AtkObject within an SpiDesktop.
1233         This addresses bug #101524.
1234
1235         * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
1236         Remove call to gdk_init().
1237
1238         * registryd/registry.c (spi_registry_init): Add call to gdk_init()
1239         so that Display is set when SpiDesktop is created.
1240
1241 2003-01-21  Padraig O'Briain <padraig.obriain@sun.com>
1242
1243         * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
1244         This fixes bug #102830.
1245
1246 2003-01-15  Padraig O'Briain <padraig.obriain@sun.com>
1247
1248         * test/test-simple.c: Update to take account of fact that GailButton 
1249         now implements AtkText.
1250         (create_text_window): Set name on AtkObject for GtkEntry.
1251         (validate_accessible): Check accessible name before calling test_text().
1252
1253         * libspi/Makefile.am: Fix problem with building outside of source
1254         directory. Bug #98120.
1255
1256         * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
1257         typo in documentation comments. Bug #94275.
1258
1259 2003-01-15  Padraig O'Briain <padraig.obriain@sun.com>
1260
1261         * libspi/text.c (impl_getBoundedRanges): Bug fix.
1262
1263 2003-01-10  Padraig O'Briain <padraig.obriain@sun.com>
1264
1265         * libspi/text.c:
1266         Add includes to avoid compiler warnings on Solaris.
1267         (impl_getRangeExtents): Bug fix.
1268
1269 2002-12-17  Bill Haneman <bill.haneman@sun.com>
1270
1271         Fix for 100944, [API addition approved by Gman and murrayc].
1272         
1273         * NEWS: updated.
1274         
1275         * configure.in:
1276         Revved to 1.1.8.
1277
1278         * idl/Accessibility_Text.idl:
1279         (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
1280         (Text::getRangeExtents): New method for efficient 
1281         bounds query of a text range.
1282         (Text::getBoundedRanges): New method for efficient
1283         clipping of text to bounding boxes.
1284         (unImplemented7, unImplemented8): 
1285         Removed these padding methods to preserve bincompat.
1286
1287         * libspi/text.c:
1288         (impl_getRangeExtents): implementation of new IDL.
1289         (impl_getBoundedRanges): implementation of new IDL.
1290         (SpiTextRect): Internal use struct.
1291         (_spi_text_rect_union): internal method, calculates union of two
1292         SpiTextRect bounding rects.
1293         (_spi_text_range_seq_from_gslist): internal method, allows us
1294         to build our sequence efficiently as a gslist then convert it
1295         to a CORBA seq.
1296         (_spi_bounds_contain): internal method, determines whether
1297         a text character is "in" or "out" of a clip rect according to
1298         values of TEXT_CLIP_TYPE.
1299         (spi_text_class_init): Initialize the new methods in the epv.
1300         
1301         * cspi/spi.h:
1302         (AccessibleTextClipType): New enum used by screen review api.
1303         (AccessibleTextRange): New struct used by screen review api.
1304         (AccessibleText_getRangeExtents): 
1305         cspi binding for Accessibility_Text_getRangeExtents.
1306         (AccessibleText_getBoundedRanges):
1307         cspi binding for Accessibility_Text_getBoundedRanges.
1308         (AccessibleTextRange_freeRanges): convenience method.
1309         
1310         * cspi/spi_text.c:
1311         (AccessibleText_getRangeExtents): 
1312         cspi binding for Accessibility_Text_getRangeExtents.
1313         (AccessibleText_getBoundedRanges):
1314         cspi binding for Accessibility_Text_getBoundedRanges.
1315         (AccessibleTextRange_freeRanges): convenience method.
1316         (get_accessible_text_clip_type): internal conversion method.
1317         (get_accessible_text_ranges_from_range_seq): internal conversion method.
1318
1319         * registryd/deviceeventcontroller.c:
1320         (spi_dec_mouse_check):
1321         Improved behavior for mouse:abs events 
1322         [same granularity as mouse:rel events, and no
1323         events when mouse is idle].     
1324         
1325 2002-12-16  Michael Meeks  <michael@ximian.com>
1326
1327         * cspi/spi_accessible.c (spi_state_to_corba): rename.
1328
1329         * libspi/stateset.c (state_spi_to_atk): split out
1330         ( fix several remote array bounds nasties )
1331         (spi_atk_state_set_from_sequence, impl_contains, impl_add),
1332         (impl_remove): make safe from array bounds issues.
1333         (spi_atk_state_from_spi_state): impl.
1334
1335         * libspi/stateset.h (spi_state_set_cache_is_empty): 
1336         add a set of wrapper defines to get layering right.
1337
1338         * cspi/spi_accessible.c: update state set stuff to
1339         use it.
1340
1341 2002-12-14  Michael Meeks  <michael@ximian.com>
1342
1343         * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
1344         to avoid 2 roundtrips to the registry per key event
1345         (spi_atk_bridge_key_listener): upd.
1346         (deregister_application): release the dec.
1347
1348         * registryd/registry.c (notify_listeners_cb):
1349         bin lots of re-enterant complexity - we no longer
1350         do a round-trip bonobo ref here, ensure that a single
1351         listener's exception failure won't poison all other
1352         notifications.
1353         (impl_registry_notify_event): bin obvious memory leak.
1354
1355 2002-12-13  Michael Meeks  <michael@ximian.com>
1356
1357         * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
1358         init the ev so the error is meaningful.
1359         (spi_atk_bridge_key_listener): ditto.
1360
1361         * cspi/spi_main.c (cspi_ev): init the ev so we start
1362         with a clean slate, otherwise the first exception
1363         kills us completely.
1364
1365         * cspi/spi_text.c (get_accessible_text_boundary_type): 
1366         add a fallthrough for no warnings.
1367
1368         * cspi/spi_registry.c: prune unused warnings.
1369
1370         * cspi/spi_main.c (cspi_object_take): fix
1371         mind-blowing brokenness ( by watching the compile
1372         warnings )
1373
1374         * cspi/spi_accessible.c (Accessible_getStateSet):
1375         re-impl. to use an AtkStateSet.
1376         (spi_state_type_from_accessible_state),
1377         (init_state_table): bin these.
1378
1379         * libspi/stateset.c (spi_atk_state_set_from_sequence):
1380         split out from
1381         (atk_state_set_from_accessibility_state_set): here.
1382
1383         * cspi/spi_accessible.c (spi_state_to_atk): impl.
1384         (AccessibleStateSet_contains, AccessibleStateSet_ref),
1385         (AccessibleStateSet_unref, AccessibleStateSet_contains),
1386         (AccessibleStateSet_add, AccessibleStateSet_remove),
1387         (AccessibleStateSet_equals, AccessibleStateSet_compare),
1388         (AccessibleStateSet_isEmpty): re-write to use a local
1389         AtkStateSet object.
1390
1391 2002-12-13  Bill Haneman <bill.haneman@sun.com>
1392
1393         * configure.in: Revved to 1.1.7 (new keymask vals).
1394
1395 2002-12-10  Bill Haneman <bill.haneman@sun.com>
1396
1397         * libspi/keymasks.h:
1398         Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
1399
1400 2002-12-10  Padraig O'Briain  <padraig.obriain@sun.com>
1401
1402         * cspi/spi_event.c 
1403         (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent() 
1404         to compare two CORBA_TypeCodes.
1405         (cspi_internal_event_add): Silence warning from FORTE compiler.
1406
1407         * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to 
1408         avoid implicit declaration of functions.
1409         
1410 2002-12-09  Padraig O'Briain  <padraig.obriain@sun.com>
1411
1412         * atk-bridge/bridge.c:
1413         (spi_atk_bridge_init_event_type_consts): Store signal id for
1414         active-descendant-changed signal.
1415         (spi_atk_register_event_listeners): Add signal listener for
1416         active-descendant-changed signal,
1417         (spi_atk_bridge_signal_listener): Move code in function 
1418         spi_atk-signal_emit_event() into this function.
1419         Add support for active-descendant-changed
1420         Update support for child-changed signal.
1421         (spi_bridge_window_event_listener): Silence warning.
1422
1423         * libspi/spi_private.[ch]:
1424         (spi_init_any_object): Change second parameter from CORBA_Object to
1425         CORBA_Object*.
1426         Omit call to CORBA_Object_duplicate(). 
1427         Set CORBA_any's _value to CORBA_Object*.        
1428
1429 2002-12-06  Bill Haneman  <bill.haneman@sun.com>
1430
1431         * configure.in:
1432         Revved to 1.1.6.
1433         
1434         * cspi/spi.h: 
1435         (AccessibleEvent_ref, AccessibleEvent_unref):
1436         New methods, for persisting an event outside the emission context.
1437         Must be used if the new accessor methods are to be called
1438         outside of the event listener's callback.
1439
1440         * cspi/bonobo/cspi-bonobo.c:
1441         (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
1442         as second parameter instead of NULL, so we can call
1443         cspi_check_ev afterwards.
1444         
1445         * cspi/spi_main.c:
1446         (cspi_object_take): New internal method, 
1447         converts a CORBA_Object reference to a hard ref on
1448         an Accessible if possible, returning NULL if the object
1449         reference is invalid or an Accessible * otherwise.
1450
1451         * cspi/spi_event.c:
1452         (AccessibleEvent_ref): 
1453         Increment the event's internal private refcount, and 
1454         add the event's internal struct to an internal cache 
1455         if it's not already there.
1456         (AccessibleEvent_unref): 
1457         Decrement the event's refcount and remove it from
1458         the cspi event cache if refcount==0.
1459         (cspi_event_compare): New private method.
1460         Compares two event structs via their ids. Used 
1461         for queue lookup.
1462         (cspi_internal_event_lookup): New private method.
1463         (cspi_internal_event_check): New private method,
1464         a 0-order sanity check for events to make sure their
1465         private data is intact.
1466         (cspi_internal_event_add, cspi_internal_event_remove):
1467         New private methods for managiing the event cache.
1468
1469         * cspi/bonobo/cspi-bonobo-listener.c:
1470         (cspi_event):
1471         Initialize the new private data elements (id, magic, ref_count).
1472         
1473         * atk-bridge/bridge.c:
1474         (spi_atk_bridge_signal_listener):
1475         Fixed bug #100530, passing wrong params to emission func.
1476
1477         * registryd/deviceeventcontroller.c:
1478         (spi_dec_button_update_and_emit): 
1479         Fixed type in mask bit operations; fix for #99799.
1480         
1481 2002-12-02  Bill Haneman  <bill.haneman@sun.com>
1482
1483         Removed some of the more dangerous workarounds from
1484         previous commit; they are only needed by GOK, which
1485         in reality should be using another method to accomplish
1486         the goals.  So on reconsideration some of the workarounds
1487         need to be reverted:
1488         
1489         * registryd/deviceeventcontroller.c:
1490         (spi_keycodes_contain, spi_dec_init_keycode_list): 
1491         Removed these methods, used only by a nasty hack to try
1492         and detect whether a key synthesis should be allowed
1493         to reset the XKB latch state or not. This code was only
1494         required to work around an interaction between GOK,
1495         button events, and XKB.
1496         (impl_generate_key_event):
1497         Removed hack at end of key generation that tried to
1498         "do the right thing" if XKB latch keys were generated
1499         in the midst of button press/release pairs.  
1500
1501         * configure.in:
1502         Added a check for HAVE_XINPUT.  Not normally used yet.
1503
1504 2002-11-25  Bill Haneman  <bill.haneman@sun.com>
1505
1506         Workarounds and fixes for mouse event/XKB interaction.
1507         
1508         * registryd/deviceeventcontroller.c:
1509         (spi_keycodes_contain, spi_dec_init_keycode_list): 
1510         New internal methods.
1511         (spi_dec_set_unlatch_pending):
1512         Split the method that tells XKB to expect an
1513         unlatch (and revert it) out of the rest of the
1514         event handling code.  This method is called by the
1515         two mouse event handlers (the poll and the filter).
1516         (spi_dec_update_and_emit, spi_dec_mouse_check): 
1517         New methods split from spi_dec_poll_mouse_moved.
1518         The second one is now called from inside the filterFn
1519         when an XKB delatch event is received, to determine 
1520         whether to revert the delatch or not.
1521         (spi_poll_mouse_moved): Refactor; also we can now
1522         properly handle the case where multiple button states
1523         have changed between polling cycles and we didn't get
1524         notified due to another client's grab.
1525         (global_filter_fn): 
1526         Synchronize the server while handling an XKB notification.
1527         Ugly, but apparently necessary to avoid nasty races.
1528         Check the mouse state on receipt of an XKB latch change,
1529         to decide whether to revert the latch or not. (Latches are
1530         reverted if there is an immediately preceding mouse button
1531         event that a client has consumed, in which case we don't want
1532         the user to see the side-effect of the event).
1533         (spi_device_event_controller_forward_mouse_event):
1534         Check for modifier events and fire before resetting mouse_mask_state,
1535         prevents losing modifier events.
1536
1537         (impl_generate_keyboard_event):
1538         If we've just generated a keyboard event for a non-shift key,
1539         we don't want to revert the pending XKB latch. 
1540         Otherwise, check the modifier state (via a call to 
1541         spi_dev_mouse_check) and set the relatch mask to 
1542         that state before returning.
1543         
1544 2002-11-24  Bill Haneman  <bill.haneman@sun.com>
1545
1546         * NEWS: 
1547         Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
1548         retagged).
1549         
1550         * atk-bridge/bridge.c:
1551         (spi_atk_register_event_listeners):
1552         Don't re-register for ATK events if the registry has died
1553         and the app needs to re-register; the ATK listeners are in
1554         process and doing so will cause duplicate emission.
1555
1556         * registryd/deviceeventcontroller.c:
1557         (spi_poll_mouse_moved):
1558         Reformat the source, detect and emit multiple button-change
1559         events (i.e. if multiple buttons have changed between poll
1560         intervals).
1561         Add code to detect mouse-down events even when the pointer
1562         is grabbed; workaround for GOK bug 98420.
1563         (spi_controller_register_with_devices):
1564         Call XTestGrabControl with 'impervious' flag set to True,
1565         allows us to synthesize events and query the pointer even during
1566         an active grab by another client.
1567         (spi_device_event_controller_forward_mouse_event):
1568         Set the mouse_mask_state to the mouse_button_state from
1569         the intercepted event, to synchronize the grab listener with
1570         the poll state.
1571         
1572 2002-11-20  Bill Haneman  <bill.haneman@sun.com>
1573
1574         * cspi/spi_accessible.c:
1575         (AccessibleRole_getName):
1576         Added necessary strings for making this (deprecated) 
1577         method work with the new role types. 
1578         (init_role_table, role_table):
1579         Added definition of SPI_ROLE_APPLICATION.
1580
1581         * libspi/spi-roletypes.h:
1582         Added SPI_ROLE_APPLICATION.
1583
1584         * idl/Accessibility_Role.idl:
1585         Added ROLE_APPLICATION. 
1586
1587         * docs/reference/cspi/at-spi-cspi-decl.txt:
1588         Added SPI_ROLE_APPLICATION to docs.
1589
1590 2002-11-20  Padraig O'Briain  <padraig.obriain@sun.com>
1591
1592         * cspi/spi_accessible.c
1593         (cspi_init_role_table): Do not write beyond end of role_table.
1594         (Accessible_getRole): Use correct type for value returned by
1595         Accessibility_Accessible_getRole().
1596
1597         * libspi/accessible.c (spi_init_role_lookup_table): Do not write
1598         beyond end of role_table. (This fixes bug #98269)
1599
1600         * libspi/application.c: Add include file spi-private.h for 
1601         definition of spi_init_any_nil.
1602
1603 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1604
1605         FIX for bug 99024.
1606         
1607         * libspi/spi-private.h:
1608         Added DGB() macro, and extern int _dbg declaration.
1609         
1610         * registryd/registry.c:
1611         (definitions) storage for _dbg.
1612         (spi_registry_init):
1613         Get environment variable "AT_SPI_DEBUG".
1614         (spi_registry_set_debug):
1615         New method, to initialize _dbg value.
1616         (spi_listener_struct_new, spi_registry_object_finalize):
1617         (notify_listeners_cb):
1618         Changed fprintfs to use DBG and g_warning().
1619
1620         * registryd/deviceeventcontroller.c:
1621         (_deregister_keygrab, spi_controller_register_device_listener):
1622         Changed debug/warning messages to use DBG macro.
1623
1624         * libspi/listener.c:
1625         (impl_notify_event):
1626         Changed warning messages to use DBG macro and g_warning().
1627
1628         * atk-bridge/bridge.c:
1629         (atk_bridge_init, spi_atk_bridge_get_registry):
1630         (spi_atk_bridge_exit_func):
1631         (spi_atk_bridge_property_event_listener):
1632         Changed status, warning, and error messages to use
1633         g_warning, g_message, and DBG macros.
1634
1635         (atk_bridge_init):
1636         Read the state of the AT_SPI_DEBUG environment variable
1637         and set a local '_dbg' accordingly.
1638         
1639 2002-11-19 Bill Haneman <bill.haneman@sun.com>
1640
1641         FIXES for 98836, 98842, other bugs.
1642         
1643         * configure.in:
1644         Revved to 1.1.4, interface-age=4, binary-age=4.
1645
1646         * registryd/deviceeventcontroller.c:
1647         (statics):
1648         Fixed crasher bug in last_mouse_pos initialization.
1649
1650         * registryd/registry.c:
1651         (desktop_add_application, desktop_remove_application):
1652         Added (and then commented out) some support for
1653         object context marshalling. [TODO]
1654
1655         * atk-bridge/bridge.c:
1656         (spi_atk_bridge_event_context_create):
1657         Commented out object context creation until it can
1658         be properly tested and debugged.
1659
1660         * registryd/registry.c:
1661         (impl_registry_notify_event):
1662         Fixed crasher bug, we were calling 
1663         spi_re_entrant_list_foreach () with an empty list.
1664
1665 2002-11-18  Bill Haneman <bill.haneman@sun.com>
1666         
1667         * idl/Accessibility_Action.idl:
1668         * idl/Accessibility_Component.idl:
1669         * idl/Accessibility_Desktop.idl:
1670         * idl/Accessibility_Event.idl:
1671         * idl/Accessibility_Hyperlink.idl:
1672         * idl/Accessibility_Image.idl:
1673         * idl/Accessibility_Relation.idl:
1674         * idl/Accessibility_Selection.idl:
1675         * idl/Accessibility_State.idl:
1676         * idl/Accessibility_Value.idl:
1677         Updated unimplemented slot count to minimum of
1678         four for all interfaces, for ABI freeze. 
1679
1680         * idl/Accessibility_EditableText.idl:
1681         * idl/Accessibility_Text.idl:
1682         Updated unimplemented slot count to six
1683         for ABI freeze. 
1684         
1685         * idl/Accessibility_Registry.idl:
1686         Updated unimplemented slot count to six
1687         (also for DeviceEventController), 
1688         for ABI freeze. 
1689
1690         * idl/Accessibility_Table.idl:
1691         Updated unimplemented slot count to eight,
1692         for ABI freeze. 
1693
1694         * idl/Accessibility_Event.idl:
1695         Added CORBA_any "any_data" member to Event struct.
1696
1697         * idl/Accessibility_Event.idl:
1698         Added CORBA_any "any_data" member to Event struct.
1699
1700         * atk-bridge/bridge.c:
1701         (statics):
1702         atk_signal_text_changed, atk_signal_child_changed,
1703         signal ids queried from gtype system.
1704         (AtkBridgeEventContextType): New enum.
1705         (AtkBridgeEventContextData): New struct.
1706         (AtkBridgeEventContext): New struct.
1707         (atk_bridge_init_event_type_consts):
1708         New method, initializes type contants for comparison 
1709         prior to emit_eventv.
1710         (atk_bridge_event_context_init): New method,
1711         initializes a CORBA_any from an AtkBridgeEventContext.
1712         (atk_bridge_focus_tracker): Call spi_init_any_nil to
1713         initialize the event.any_data struct.
1714         (spi_atk_bridge_event_context_create): New method,
1715         creates an AtkBridgeEventContext from signal/event info.
1716         (spi_atk_bridge_event_context_free): New method.
1717         (spi_atk_emit_eventv): Changed to take an 
1718         AtkBridgeEventContext parameter. We now initialize
1719         the event.any_data member prior to notifying the 
1720         Registry, via the AtkBridgeEventContext.
1721         (spi_atk_bridge_property_event_listener):
1722         (spi_atk_bridge_state_event_listener):
1723         Match emit_eventv signature.
1724         (spi_atk_bridge_object_event_listener):
1725         Match emit_eventv signature, and create an
1726         event context from the event details.
1727         Free the event context afterwards.
1728         (spi_atk_bridge_window_event_listener):
1729         Create an event context, pass it to the
1730         emit_eventv call.
1731         
1732         * cspi/spi_event.c:
1733         (AccessibleEvent_getContextString):
1734         (AccessibleEvent_getContextObject):
1735         New methods, allow query of AccessibleEvent objects
1736         for more context details (via the "any_data" member 
1737         of the Event struct, above).
1738         
1739         * cspi/spi.h:
1740         Definitions for AccessibleEvent_getContextString
1741         and AccessibleEvent_getContextObject.
1742
1743         * cspi/spi_listener.h:
1744         (InternalEvent): New struct.
1745
1746         * cspi/spi_event.c:
1747         (AccessibleEvent_getContextString):
1748         (AccessibleEvent_getContextObject):
1749         Implementations of new methods, for obtaining
1750         additional context information from some event types.
1751
1752         * cspi/spi_registry.c:
1753         (SPI_registerGlobalEventListener):
1754         Added mention of active-descendant-changed event in docs.
1755
1756         * cspi/cspi-bonobo-listener.c:
1757         (cspi_event):
1758         Marshal the any into the AccessibleEvent via
1759         InternalEvent.
1760         
1761         * libspi/spi-private.h:
1762         #include <orbit/orbit.h>
1763         (spi_init_any_nil):
1764         (spi_init_any_string):
1765         (spi_init_any_object):
1766         New convenience function declarations.
1767
1768         * libspi/util.c:
1769         (spi_init_any_nil):
1770         (spi_init_any_string):
1771         (spi_init_any_object):
1772         New convenience function implementations.
1773
1774         * registryd/deviceeventcontroller.c:
1775         (spi_poll_dec_mouse_moved):
1776         (spi_device_event_controller_forward_mous_event):
1777         Initialize any_data member of event.
1778         (spi_deregister_controller_device_listener):
1779         Fix incorrect param pass which was preventing deregistration.
1780
1781         * registryd/registry.c:
1782         (desktop_add_application):
1783         (desktop_remove_application):
1784         Add object data to event's any_data before dispatch.
1785         (parse_event_type):
1786         Fix for error messages from GAIL.
1787         
1788         * test/event-listener-test.c:
1789         Test new ContextString and "any_data" API:
1790         (report_text_event): New method query and output context string.
1791         (main): register a new text listener with report_text_event
1792         callback.
1793
1794 2002-11-19  Darren Kenny  <darren.kenny@sun.com>
1795
1796         Fixes for bugs 98127 and 97914.
1797         * cspi/spi-roletypes.h:
1798         Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
1799         SPI_ROLE_RULER
1800         * cspi/spi-statetypes.h:
1801         Added SPI_STATE_MANAGES_DESCENDANTS
1802         * cspi/spi.h:
1803         Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
1804         SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
1805         * cspi/spi_accessible.c:
1806         Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
1807         Added mapping from SPI_STATE_MANAGES_DESCENDANTS to 
1808         Accessibility_STATE_MANAGES_DESCENDANTS
1809         * libspi/accessible.c:
1810         Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
1811         Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} 
1812         As requested by Bill, I also cleaned up the alignment.
1813         * libspi/relation.c:
1814         Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
1815         EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
1816         * libspi/stateset.c:
1817         Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
1818         Accessibility_STATE_MANAGES_DESCENDANTS
1819         * docs/reference/cspi/tmpl/spi_accessible.sgml:
1820         Document changes reflecting modifications to roles.
1821         * docs/reference/cspi/tmpl/spi_relation.sgml:
1822         Document changes reflecting modifications to relations.
1823         * docs/reference/cspi/tmpl/spi_stateset.sgml:
1824         Document changes reflecting modifications to states.
1825
1826 2002-11-17  Bill Haneman <bill.haneman@sun.com>
1827
1828         * configure.in:
1829         Revved to 1.1.3, interface-age=3, binary-age=3.
1830         Added REBUILD macro.
1831
1832         * test/Makefile.am:
1833         Removed accessx-gui from the tests, since we have a nice
1834         keyboard accessibility capplet now :-)
1835
1836         * test/keysynth-demo.c:
1837         (increment_scan): removed do-nothing default: case,
1838         silences warning.
1839
1840         * test/visual-bell.c:
1841         (main) : removed do-nothing default: case, 
1842         silences warning.
1843
1844         * cspi/spi_action.c:
1845         (AccessibleAction_getKeyBinding_): 
1846         Documented keybinding string format.
1847         FIX for bug 97916.
1848
1849         * cspi/spi_text.c:
1850         (AccessibleText_getAttributes):
1851         Documented the text attribute string format.
1852         It's changed to use semicolon delimiters also,
1853         to prevent clashes with CSS attributes, but the old
1854         trick of looking for ", " strings will still work
1855         (as unreliably as ever).  Fix for bug related to 97916.
1856
1857         * cspi/spi_event.c:
1858         Include <cspi/bonobo/cspi-bonobo-listener.h>
1859         Fixes build warning.
1860         (SPI_freeAccessibleKeySet):
1861         (AccessibleKeystrokeListener_addCallback):
1862         (AccessibleKeystrokeListener_removeCallback):
1863         Modify to use AccessibleDeviceListener API internally,
1864         instead of AccessibleKeystrokeListener.
1865         
1866         * idl/Accessibility_Event.idl:
1867         Added two more empty slots to EventListener (for a total of four).
1868
1869         * idl/Accessibility_Accessible.idl:
1870         Added four empty slots to Accessible interface.
1871
1872 2002-11-15  Bill Haneman <bill.haneman@sun.com>
1873
1874         * idl/Accessibility_Registry.idl:
1875         (KeyEventType, EventType):
1876         Marked KeyEventType as deprecated; it duplicates
1877         functionality of EventType, which has been extended to
1878         include Mouse-button events.
1879         (KeyEventTypeSeq): defined in terms of EventType.
1880         (registerDeviceEventListener, deregisterDeviceEventListener):
1881         New methods, for managing listeners to device events,
1882         which potentially may consume them.     
1883         
1884         * cspi/spi-impl.h:
1885         Added definition for AccessibleDeviceListener.
1886
1887         * cspi/spi-listener.h:
1888         (enum AccessibleDeviceEventType):
1889         Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1890         Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1891         for backwards compat.
1892         (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1893         and typedef'd AccessibleKeystroke to it for back-compat.
1894         (AccessibleDeviceListenerCB):
1895         New function prototype typedef.
1896
1897         * cspi/spi.h:
1898         (AccessibleDeviceEventMask): New typedef.
1899         (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1900         (AccessibleKeyMaskType): 
1901         Set equivalent to AccessibleModifierMaskType for back-compat.   
1902         (SPI_createAccessibleKeystrokeListener):
1903         (AccessibleKeystrokeListener_unref):
1904         Deprecated in favor of equivalent (better-named) new API below..
1905         keystroke listeners are like all device listeners.
1906         (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1907         New API names for old features :-).
1908         (AccessibleDeviceListener_addCallback):
1909         (AccessibleDeviceListener_removeCallback): 
1910         (SPI_registerDeviceEventListener): 
1911         (SPI_deregisterDeviceEventListener): 
1912         New methods.
1913         
1914         * cspi/spi_event.c:
1915         (SPI_createAccessibleKeystrokeListener):
1916         Use new preferred API, cspi_device_listener_new() and
1917         cspi_device_listener_add_cb().
1918         (AccessibleKeystrokeListener_removeCallback):
1919         Use new preferred API, cspi_device_listener_remove_cb().
1920         (AccessibleKeystrokeListener_unref):
1921         Use new preferred API, cspi_device_listener_unref().
1922         (SPI_createAccessibleDeviceListener):
1923         (AccessibleDeviceListener_addCallback):
1924         (AccessibleDeviceListener_removeCallback):
1925         Implementation of new API.
1926
1927         * cspi/spi_registry.c:
1928         (SPI_registerDeviceEventListener):
1929         (SPI_deregisterDeviceEventListener):
1930         Implementation of new API.  Fixed memory leak and removed need to
1931         allocate EventTypeSeq (thanks Michael for catching this).
1932         Squashed a wayward CORBA_exception_free that shouldn't get called.
1933
1934         * cspi/bonobo/cspi-bonobo-listener.c:
1935         (EventHandler):
1936         Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1937         (cspi_key_event): renamed to cspi_device_event().
1938         Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1939         Extended to handle mouse button events as well as key events.
1940         (CSpiKeystrokeListener):
1941         Class superceded by CSpiDeviceListener.
1942         (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1943         These internal APIs changed to "*device_listener" from "*keystroke_listener".
1944
1945         * cspi/bonobo/cspi-bonobo-listener.h:
1946         (CSpiKeystrokeListener):
1947         Class superceded by CSpiDeviceListener.
1948         (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1949         These internal APIs changed to "*device_listener" from "*keystroke_listener".
1950
1951         * libspi/Makefile.am:
1952         Replaced keystrokelistener.h and keystrokelistener.c
1953         with devicelistener.h and devicelistener.c; keystrokelisener.h
1954         stub retained for back-compat.
1955
1956         * libspi/keystrokelistener.c:
1957         Removed file.
1958
1959         * libspi/libspi.h:
1960         Replaced inclusion of keystrokelistener.h with devicelistener.h.        
1961
1962         * registryd/deviceeventcontroller.c:
1963         (DEControllerListener): Added Accessibility_EventTypeSeq member.
1964         (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1965         (DEControllerPrivateData): Added xkb settings data.
1966         (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1967         button release events (which can't be captured via XGrabButton).
1968         Don't dispatch via the 'normal' event mechanism if the device event was
1969         consumed.
1970         (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1971         Handle the typeseq data in its new location (see above).
1972         (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1973         New methods, for "generic" device listeners.
1974         (spi_controller_register_device_listener):
1975         Now handle mouse event listeners as well as key listeners.
1976         (spi_controller_notify_mouselisteners):
1977         New internal method.
1978         (spi_device_event_controller_forward_mouse_event):
1979         Now we notify mouse device listeners as well as generating the
1980         non-consumable "mouse:" events.  
1981         (global_filter_fn):
1982         We must check and restore the XKB
1983         modifier map if we consume the event, since the act of triggering
1984         a mouse event will normally reset the XKB latch.  This is required for 
1985         instance by GOK.
1986         (spi_controller_register_with_devices):
1987         Load the XKB settings when registering, and register for XKB 
1988         state notify events. 
1989         (spi_key_eventtype_seq_contains_event):
1990         Renamed spi_eventtype_seq_contains_event, since it's used
1991         internally for all device event types now.
1992         (spi_key_event_matches_listener):
1993         Uses spi_eventtype_seq_contains_event now.
1994         (spi_device_event_controller_object_finalize):
1995         Free the private data and the XkbKeyboard struct.
1996         (impl_register_device_listener, impl_deregister_device_listener):
1997         Implementation of new IDL.
1998         (spi_deregister_controller_device_listener):
1999         New internal method.
2000         (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
2001         More efficient implementation, we don't have to create a new
2002         XkbControls structure every time we query.
2003         (spi_device_event_controller_class_init):
2004         Initialize the epv entries for the new IDL.  Assign the 
2005         "spi-dec-private" quark.
2006         (spi_device_event_controller_init):
2007         Initialize the private data.
2008         (spi_device_event_controller_forward_key_event):
2009         Removed a bogus CORBA_exception_free() call.
2010         
2011         * registryd/deviceeventcontroller.h:
2012         Replaced inclusion of keystrokelistener.h with
2013         devicelistener.h.
2014
2015         * test/event-listener-test.c:
2016         (report_mouse_event):
2017         New method.
2018         (main):
2019         Added mouse-event device listener.
2020
2021         * test/test-simple.c:
2022         (create_test_window):
2023         Fixed regression (we were instantiating a GtkRange,
2024         which is now an abstract class).  Also fixed to match
2025         existing AtkRole names, this seems to have changed in ATK
2026         awhile ago; too late now I think, and the new
2027         mechanism is at least elegant and consistent with the
2028         glib enum "nick" APIs.  
2029
2030 2002-11-15  Darren Kenny  <darren.kenny@sun.com>
2031
2032         * idl/Accessibility_Relation.idl:
2033         add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
2034         RELATION_EMBEDS,RELATION_EMBEDDED_BY
2035         * idl/Accessibility_Role.idl:
2036         add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
2037         * idl/Accessibility_State.idl:
2038         add STATE_MANAGES_DESCENDANTS
2039         * test/event-listener-test.c:
2040         Added a listener for active-descendant events.
2041
2042 2002-11-15  Padraig O'Briain  <padraig.obriain@sun.com>
2043
2044         * atk-bridge/bridge.c
2045         (atk_bridge_init): If application is Bonobo component wait until top
2046         level is added before registering
2047         (spi_atk_bridge_do_registration): New function which contains code, 
2048         formerly in atk_bridge_init, to do application registration.
2049         (spi_atk_bridge_toplevel_added): Signal called when top level
2050         added to Bonobo component
2051
2052         This fixes bug #83134.
2053
2054 2002-10-23  Vitaly Tishkov  <tvv@sparc.spb.su>
2055
2056         * registryd/deviceeventcontroller.c
2057         Fixed compilation error caused by calling gettimeofday() 
2058         with 1 parameter
2059
2060 2002-10-18  Bill Haneman  <bill.haneman@sun.com>
2061
2062         BUGFIX for #95828.
2063
2064         * acconfig.h:
2065         Added template for HAVE_XKB.
2066         
2067         * configure.in:
2068         Changes to check for XKB, and to set the HAVE_XKB #define if it 
2069         is available.
2070         
2071         * libspi/listener.c:
2072         ()impl_notify_event): Make failure to get event source name
2073         nonfatal.
2074
2075         * registryd/deviceeventcontroller.c:
2076         (#include): include X11/XKBlib.h.
2077         (DEControllerPrivateData) : New struct.
2078         (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) : 
2079         New methods.
2080         (dec_synth_keycode_press) (dec_synth_keycode_release):
2081         New methods; split the key synthesis code into these methods.
2082         They check XKB settings before determining the "time" values to
2083         pass to Xtest; this fixes bug #95828.
2084         (impl_generate_keyboard_event): Changed to use methods above,
2085         instead of callng Xtest directly.
2086         (spi_device_event_controller_init): Initialize new privae struct s
2087         above.
2088         (spi_device_event_controllr_object_finalize):
2089         Free the (new) private data.
2090
2091         * registryd/deviceeventcontroller.h:
2092         Add new gpointer to end of struct data.
2093
2094 2002-10-16  Bill Haneman  <bill.haneman@sun.com>
2095
2096         * configure.in:
2097         Incremented revision to 1.1.2, SONAME is still '.so', library
2098         extensions are ".so.0.0.2".
2099
2100         * registryd/deviceeventcontroller.c:
2101         FIXES FOR #93592 and #95940.
2102         (statics):  renamed mouse_button_state to mouse_mask_state, 
2103         added key_modifier_mask.
2104         (spi_dec_poll_mouse_moved): 
2105         Added key modifier checks, and emit "keyboard:modifiers"
2106         events when the key modifiers currently in use change.
2107         Also generate "mouse:abs" events periodically, even if the mouse
2108         is stationary (should we?).
2109         Alternatively we could generate "mouse:abs" events for either all
2110         mouse movements, or every 'nth' mouse movement, or at the
2111         beginning and end of every "active" mouse period.
2112         
2113         * test/event-listener-test.c:
2114         (main): Added listener for "keyboard:modifiers" events.
2115         
2116 2002-10-15  Bill Haneman  <bill.haneman@sun.com>
2117
2118         * libspi/keymasks.h:
2119         Added key mask #defines for mouse buttons; e.g.
2120         SPI_KEYMASK_BUTTON1, etc.
2121
2122         * configure.in:
2123         Incremented dependency on ATK to version 1.1.0. (This dependency
2124         is probably premature but will soon be real enough).
2125
2126 2002-10-11  Padraig O'Briain  <padraig.obriain@sun.com>
2127
2128         * libspi/hyperlink.[ch]
2129         (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
2130         (get_hyperlink_from_servant): Check object is AtkHyperlink not 
2131         AtkObject.
2132
2133         * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
2134         AtkObject.
2135
2136         Fixes bug #95517.
2137
2138 2002-10-10  Padraig O'Briain  <padraig.obriain@sun.com>
2139
2140         * registryd/deviceeventcontroller.c
2141         (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
2142         events to be ignored.
2143         (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
2144         keyboard_mode so that XAllowEvents() can be called.
2145
2146         Fixes bug #93658.
2147
2148 2002-10-08  Padraig O'Briain  <padraig.obriain@sun.com>
2149
2150         * cspi/spi-accessible.c: Correct names of roles returned by
2151         AccessibleRole_getName(). Fixes bug #95055.
2152
2153 2002-10-03  Padraig O'Briain  <padraig.obriain@sun.com>
2154
2155         * cspi/spi_main.c (report_leaked_ref): Report address of leaked
2156         object.
2157
2158         * registryd/registry.c
2159         (desktop_remove_application: Write diagnostic message to stderr for
2160         consistency.
2161
2162         (impl_accessibility_registry_deregister_global_event_listener):
2163         Correct size of lists array. This addresses bug #94555).
2164
2165 2002-09-24  Padraig O'Briain  <padraig.obriain@sun.com>
2166
2167         * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
2168         in some role names.
2169
2170 2002-09-19  Padraig O'Briain  <padraig.obriain@sun.com>
2171
2172         * registryd/Makefile: Add CLEANFILES so that .server file is removed
2173         on make clean
2174
2175         * registryd/registry.c (impl_registry_notify_event): Remove
2176         unnecessary call to parser_event_type().
2177
2178         * docs/reference/cspi/tmpl/spi_component.sgml:
2179         Add reference to SPI_LAYER_WINDOW.
2180
2181 2002-09-17  Padraig O'Briain  <padraig.obriain@sun.com>
2182
2183         * registryd/registry.c
2184         (desktop_add_application): Remove leak.
2185         (desktop_remove_application): Remove leak.
2186         (parser_event_type): Remove leak.
2187
2188 2002-09-16  Padraig O'Briain  <padraig.obriain@sun.com>
2189
2190         * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
2191         bogus call to CORBA_string_dup(). Also removed unnecessary
2192         g_string_dup/g_free calls.
2193         
2194 2002-09-13  Bill Haneman <bill.haneman@sun.com>
2195
2196         * registryd/deviceeventcontroller.c:
2197         spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
2198
2199         * test/event-listener-test.c:
2200         main: commented out three redundant listeners, to reduce output
2201         noise. (They still are potentially useful for testing).
2202         
2203
2204 2002-09-13  Michael Meeks  <michael@ximian.com>
2205
2206         * Update all the copyrights to include Ximian.
2207
2208 2002-09-06  Mark McLoughlin  <mark@skynet.ie>
2209
2210         * cspi/spi.h: add SPI_LAYER_WINDOW.
2211
2212         * cspi/spi_component.c: (AccessibleComponent_getLayer):
2213         add Accessibility_LAYER_WINDOW case.
2214
2215         * idl/Accessibility_Component.idl: add LAYER_WINDOW.
2216
2217         * libspi/component.c: (impl_accessibility_component_get_layer):
2218         add ATK_LAYER_WINDOW case.
2219
2220 2002-08-28  Bill Haneman <bill.haneman@sun.com>
2221
2222         * configure.in: incremented micro version.
2223
2224         * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
2225
2226 2002-08-20  Bill Haneman <bill.haneman@sun.com>
2227
2228         * HACKING: 
2229         Clarified and reworded our commit policy.
2230
2231         * NEWS:
2232         Started an API "todo" addition list for 2.2.
2233
2234         * libspi/text.c:
2235         (impl_getSelection):
2236         Free char pointer from atk_text_get_selection, which was being leaked.
2237
2238 2002-08-19  Bill Haneman <bill.haneman@sun.com>
2239
2240         * AUTHORS: 
2241         Small revision to author acknowledgement.
2242
2243 2002-08-19  Padraig O'Briain  <padraig.obriain@sun.com>
2244
2245         * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
2246         If signal has detail add it to the type of the event.
2247         (bug #90838)
2248         
2249 2002-08-12  Michael Meeks  <michael@ximian.com>
2250
2251         * test/test-simple.c (global_listener_cb): bin bogosity.
2252         (test_keylisteners): disable, still doesn't work reliably,
2253         certainly not on my system anyway.
2254
2255         * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
2256         don't leak a reference on the DEC. This round-trip
2257         fetching of the DEC per keystroke sucks, it should be
2258         cached.
2259
2260         * cspi/spi-private.h,
2261         * cspi/cspi-lowlevel.h,
2262         * cspi/bonobo/cspi-bonobo-listener.[ch],
2263         * cspi/bonobo/cspi-bonobo.c: get the copyright
2264         notices better - there is still a large amount of
2265         work in at-spi falsely attributed solely to Sun.
2266
2267         * cspi/spi_main.c (cspi_object_ref): kill bogus
2268         hash lookup, just increment the ref.
2269         (SPI_freeString): make explicit the fact that we
2270         handle NULL strings just fine.
2271         (report_leaked_ref): obey coding standards.
2272         (cspi_object_hash, cspi_object_equal): kill retval.
2273         (cspi_object_release): only release if not on loan.
2274         (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
2275         (cspi_object_borrow, cspi_object_return): impl.
2276
2277         * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
2278         use cspi_object_borrow / return.
2279
2280 2002-08-12  Darren Kenny  <darren.kenny@sun.com>
2281
2282         * cspi/bonobo/cspi-bonobo-listener.c: 
2283         (cspi_event):
2284         Don't call cspi_oject_new() because this is creating a new Accessible
2285         every single time that an event is fired. This causes ATs like at-poke
2286         to nolonger recognise the source of the event and thus ignore it.
2287         Re-use the object from the cache, ref it and then unref it after the
2288         listeners have been called.
2289
2290 2002-08-06  Darren Kenny  <darren.kenny@sun.com>
2291
2292         * test/event-listener-test.c: 
2293         Added command-line options to disable mouse events (m) and
2294         show usage (h). 
2295
2296 2002-07-31  Padraig O'Briain  <padraig.obriain@sun.com>
2297
2298         * configure.in: Update required versions of ATK, GTK+ and GAIL
2299
2300         * cspi-1.0.pc.in: Add dependency for X include files
2301
2302         * cspi/Makefile.am:
2303         * cspi/bonobo/Makefile.am: 
2304         Add $(X_CFLAGS) so that X include files 
2305         are picked up even if not in standard place (bug #71686)
2306
2307 2002-06-25  Bill Haneman  <bill.haneman@sun.com>
2308
2309         * registryd/deviceeventcontroller.c: fix for 84261
2310         (spi_dec_mouse_moved):
2311         Added test of mouse button mask, so that we can detect mouse
2312         button release.  Unfortunately we can't otherwise detect mouse
2313         button release events without consuming the mouse press event,
2314         because of the way XGrabButton works.  This means that our mouse
2315         release events have a latency dependent on the polling period
2316         while the mouse button is down.  At least in this case we only
2317         have to poll while the button is down, and not at other times.
2318         If the button masks don't match with what the last press event
2319         reported, we report the appropriate button release event.
2320         (spi_dec_ungrab_mouse):
2321         New method (not yet called).
2322         (spi_device_event_controller_forward_mouse_event):
2323         New method, sends mouse press event from GdkFilter.
2324         (spi_dec_init_mouse_listener):
2325         Added code to call XGrabButton, redirecting mouse button events to
2326         the root window and our Gdk event loop.
2327         (global_filter_fn):
2328         Added code to filter mouse button events, and reordered.
2329         
2330         * test/event-listener-test.c:
2331         (main):
2332         Added registration for mouse events of type "mouse:button".
2333
2334 2002-06-25  Bill Haneman  <bill.haneman@sun.com>
2335
2336         * registryd/deviceeventcontroller.c: partial fix for 84261
2337         (spi_dec_poll_mouse_idle):
2338         New method, a timeout which checks to see if the mouse
2339         has moved.
2340         (spi_dec_poll_mouse_moving):
2341         A timeout to be called when mouse motion is underway.
2342         (spi_dec_poll_mouse_moved):
2343         A method which fires an event if the mouse has moved, and reports
2344         whether or not it did so. 
2345         (spi_dec_init_mouse_listener):
2346         A method which sets up the timeouts above.
2347         (spi_device_event_controller_new):
2348         Now calls spi_dec_init_mouse_listener.
2349
2350         * registryd/registry.c:
2351         (spi_registry_init):
2352         Now we initialize the device event controller when the registry is
2353         initialized, instead of waiting until a client has requested a key
2354         event notification; this is because we need the event controller
2355         for mouse events, but the mouse event registration API is a
2356         "registry" call and doesn't explicitly call the 
2357         deviceeventcontroller.
2358         We now report mouse motion events with a 100 ms idle latency and
2359         a 20 ms granularity when motion is in progress.
2360
2361         * test/event-listener-test.c:
2362         (main):
2363         We now register the "detail listener" for events of type 
2364         "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
2365         delivered only for the first mouse event received, and thereafter
2366         "mouse:abs" events are delivered.)
2367
2368         * cspi/spi_registry.c:
2369         DOCS: Documented the above mouse event typestrings.
2370         
2371 2002-06-21  Bill Haneman  <bill.haneman@sun.com>
2372
2373         Happy Summer Solstice...
2374
2375         * registryd/deviceeventcontroller.c: [fix for bug 84100]
2376         (spi_controller_notify_keylisteners):
2377         Changes to remove a listener from the listener list, freeing its
2378         open keygrabs, if a notification to that listener fails.  This
2379         means that although a dead listener can continue to hold a passive
2380         keygrab, a maximum of one dispatch to such a listener can fail
2381         before the listener is removed from the list, thus the keygrab
2382         will be released on the next occurrence.
2383         As part of this fix:
2384         (spi_notify_keylisteners):
2385         Renamed to spi_controller_notify_keylisteners, as the controller
2386         instance must now be passed as an argument.
2387         The copied 'notify' GList is now a list of DEControllerKeyListener
2388         objects, since we need more than just the CORBA reference if a
2389         notify fails and we need to deregister the listener.
2390         (impl_notify_listeners_sync):
2391         (impl_notify_listeners_async):
2392         (spi_device_event_controller_forward_key_event):
2393         Modify use of notify_keylisteners in accordance with above
2394         changes.
2395         (spi_deregister_controller_key_listener):
2396         New method introduced by refactoring, from 
2397         impl_deregister_keystroke_listener.
2398         (impl_deregister_keystroke_listener):
2399         Call spi_deregister_controller_key_listener.
2400         (spi_key_listener_clone):
2401         New method to copy a key listner without doing a 'ref' on the
2402         remote object instance; used to create a notifier list.
2403         (spi_key_listener_data_free):
2404         New method, frees data without unreffing the source.
2405         Used in refactor.
2406         (spi_key_listener_clone_free): new method.
2407         (spi_key_listener_free): 
2408         refactored to call spi_key_listener_data_free.
2409         
2410 2002-06-20  Bill Haneman  <bill.haneman@sun.com>
2411
2412         * registryd/registry.c: [fix for bug 86048]
2413         (notify_listeners_cb):
2414         Clear CORBA system exceptions which occur when notifying
2415         listeners, before returning to the source of the original event,
2416         since the event source doesn't care if the relayed notify failed.
2417         In other words, don't complain to the atk-bridge if the registry
2418         could not notify all its listeners, that's no fault of the
2419         application and thus should not appear to be an error from the
2420         application's perspective.
2421         
2422         * cspi/spi_main.c: [fix for bug 85980]
2423         (cspi_object_ref):
2424         Replaced use of bonobo_object_dup_ref with call to the wrapper
2425         method, csou_dup_ref (); this silences a compiler warning and
2426         provided more portability.
2427         (cspi_registry):
2428         Ping the registry before return, and restart if necessary.
2429
2430         * cspi/bonobo/cspi-bonobo.c:
2431         (cspi_ping):
2432         New internal method.
2433         (cspi_dup_ref):
2434         Fixed this method to return an object reference, as it should have
2435         all along.
2436
2437         * cspi/cspi-lowlevel.h:
2438         Added internal definition for cspi_ping() and fixed 
2439         return type of cspi_dup_ref().
2440         
2441
2442 2002-06-19  Bill Haneman  <bill.haneman@sun.com>
2443
2444         * atk-bridge/bridge.c:  [fix for bug 85305]
2445         (spi_atk_bridge_register_application):
2446         New method where the initial application registry calls have been
2447         moved; it allows an application to re-register in response to
2448         certain error conditions (such as a registry restart, see below).
2449         (atk_bridge_init):
2450         Moved some initialization code to the method
2451         spi_atk_bridge_get_registry, below.
2452         (spi_atk_bridge_get_registry):
2453         New, private accessor function for the Accessibility_Registry
2454         instance.  If the registry has not been started before, or has
2455         died (as detected by failure of a CORBA exception), it is
2456         restarted before return, and spi_atk_bridge_register_application
2457         is called again to register with the new bridge instance.
2458         (spi_atk_emit_eventv):
2459         Set registry_died on error; use spi_atk_bridge_get_registry () to
2460         access the registry.
2461         
2462         * registryd/registry.c:
2463         (impl_accessibility_registry_register_global_event_listener):
2464         Set listener's event_type_quark to etype.minor instead of
2465         etype.major (fix for bug 84856).
2466
2467         * test/event-listener-test.c:
2468         (report_detail_event):
2469         Change the output string so that user/tester can tell that the
2470         'detail listener' was called instead of the 'generic listener'.
2471         
2472 2002-06-18  Bill Haneman  <bill.haneman@sun.com>
2473
2474         Fixes for bugs 84900, 84908, 84897, 84898.
2475
2476         * NEWS: updated.
2477         
2478         * configure.in:
2479         Revved version to 1.1.0 
2480         (reserving the 1.0.X branch for gnome-2-0-0 branch, this
2481         version is going to HEAD which will be used for gnome-2-0-1 and later.)
2482         
2483         * idl/Accessibility_Registry.idl:
2484         (EventListener::notifyEvent):
2485         Removed 'oneway' directive after extensive consulation with
2486         ORBit2 team and others.  This means also that unref() of the event
2487         source can and should be done synchronously after emission, rather
2488         than remotely in the client, after servicing the notify call on
2489         the listener side.
2490
2491         NOTE: This change speeds up listener performance considerably, but
2492         introduces new latency on the application side.  We may want to
2493         add an event queue to the atk-bridge.
2494
2495         * atk-bridge/bridge.c:
2496         (spi_atk_bridge_focus_tracker):
2497         Do a local unref() on the event source after emission.
2498         
2499         * registryd/registry.c:
2500         (desktop_remove_application):
2501         Do an unref() on the event source after emission.
2502         (desktop_add_application):
2503         Do an unref() on the event source after emission.
2504         (notify_listeners_cb):
2505         When relaying an event, don't automatically add the event source
2506         to the local object cache, just CORBA_dup it instead.  Likewise,
2507         if this method reenters, release the ref rather than calling
2508         unref() as well.
2509         (impl_registry_notify_event):
2510         No longer call remote unref() on the event source after dispatch.
2511
2512         * libspi/eventlistener.c:
2513         (impl_accessible_event_notify_event):
2514         Removed remote unref ()
2515         
2516         * cspi/bonobo/cspi-bonobo-listener.c:
2517         (cspi_event):
2518         We now call cspi_object_new() instead of cspi_object_add() on
2519         receipt of an event; thus we only have an implicit object ref
2520         while the cspi_event method is being executed.  If we need to keep
2521         a reference to the object, the listener must call ref() on the
2522         object.  Thus also we don't need to call cspi_object_unref() after
2523         invoking the listener callbacks in this method.
2524         
2525         * cspi/spi_main.c:
2526         (cspi_object_new):
2527         New internal API for creating a new cspi object, without adding it
2528         to the object cache.
2529         (cspi_object_add):
2530         Now uses cspi_object_new() to create the cspi object instance.
2531         (cspi_object_ref):
2532         Now checks to see if the object is in the internal object cache,
2533         and adds it if necessary before incrementing its refcount (note
2534         that new objects are added with a refcount of 1).
2535         (report_leaked_ref):
2536         New method which gives some information on leaked object instances
2537         if leak detection is turned on.
2538
2539         * test/event-listener-test.c:
2540         (timing_test_event):
2541         New method, used for testing event delivery timing for special
2542         events of type "object:test".  It reports elapsed time and
2543         events/sec every 500 events.
2544         (main):
2545         Added a new listener, 'test listener', to check timing of event
2546         receipt as noted above.
2547         (report_event):
2548         Added some timing output here also, reports elapsed time every 100
2549         events.
2550
2551         * test/stress-test.c:
2552         Emit events of type "object:test", for use with "event-listener-test".
2553
2554         * test/test-simple.c:
2555         (global_listener_cb):
2556         Call Accessible_ref() on the event source before calling
2557         validate_accessible, since the validation process does pointer
2558         comparisons on the event source, meaning that the event source
2559         needs to be added to the local object cache first.  Any use of
2560         such pointer comparisons between Accessible objects requires that
2561         the caller hold an explicit reference to those objects.
2562         We also must therefore call Accessible_unref() when leaving this method.
2563
2564 2002-06-13  Bill Haneman  <bill.haneman@sun.com>
2565
2566         * registryd/deviceeventcontroller.c:
2567         (spi_controller_update_key_grabs):
2568         Fix for #84735, subsequent keygrab listeners not informed of
2569         registration failure.
2570
2571         * libspi/base.c:
2572         (spi_base_construct):
2573         Add an assertion on construct, to make sure the GObject passed in
2574         is really a GObject.
2575         (spi_base_init):
2576         Explicitly initialize object->gobj pointer to NULL;
2577
2578         * cspi/bonobo/cspi-bonobo-listener.c:
2579         (cspi_object_add_ref):
2580         New method, can specify whether to dup-ref a bonobo object passed
2581         in if it's newly added to the object cache.
2582         (cspi_object_add):
2583         Now calls cspi_object_add_ref with second param of "FALSE".  This
2584         prevents us from doing a pointless dup-ref followed by
2585         release-unref for all those cases where the object is already in
2586         our object cache (fix for #85205).
2587
2588         * atk-bridge/bridge.c:
2589         (spi_atk_bridge_idle_init):
2590         Removed this method, we don't need to initialize in an idle
2591         handler anymore;
2592         (atk_bridge_init):
2593         Changed to call spi_atk_register_event_listeners directly, not via an
2594         idle handler. (fix for #81139)
2595         (gnome_accessibility_module_shutdown):
2596         Removed conditional around deregistration of listeners, since we
2597         don't use the idle handler and thus have always registered when
2598         shutdown is called.
2599         (spi_init_keystroke_from_atk_key_event):
2600         Changed references to Accessibility_KEY_PRESSED to 
2601         Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
2602         
2603 2002-06-12  Bill Haneman  <bill.haneman@sun.com>
2604
2605         (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
2606         
2607         * configure.in:
2608         Revved to 1.0.1
2609
2610         * test/stress-test.c:
2611         Added file.
2612
2613         (may have been an incomplete commit yesterday?)
2614
2615 2002-06-12  Bill Haneman  <bill.haneman@sun.com>
2616
2617         * test/Makefile.am:
2618         Added target for new stress-test.
2619         
2620         * test/stress-test.c:
2621         New test, sends 1000 focus notifies in quick succession.
2622
2623         * test/key-listener-test.c:
2624         Now we report whether a keylistener registration
2625         request succeeded or failed.
2626
2627         * test/event-listener-test.c:
2628         Uncommented some listeners which are now implemented.
2629
2630
2631 2002-06-06  Bill Haneman  <bill.haneman@sun.com>
2632
2633         * registryd/deviceeventcontroller.c:
2634         (spi_controller_update_key_grabs):
2635         Fix for #82509, lack of failure notification when
2636         ALL_WINDOWS keygrabs fail due to XGrabKey
2637         failure: we synchronize the server when 
2638         registering a passive grab, to make sure we get the
2639         error message before the call returns.
2640
2641 2002-06-03  Bill Haneman  <bill.haneman@sun.com>
2642
2643         * test/test-simple.c:
2644         (key_listener_cb):
2645         Removed #ifdef KEY_IMPL_WORKS guards.
2646         (test_keylisteners):
2647         Removed #ifdef KEY_IMPL_WORKS guards.
2648         Fixed bug which was causing a hang waiting for a 
2649         "press" event (which was already overwritten by a "release" 
2650         event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2651         (key_listener_cb):
2652         Added code to set globals 'key_press_received' and
2653         'key_release_received'.
2654
2655         * TODO:
2656         Added section "1.1 API Proposed Additions" which
2657         lists API additions desired for at-spi-1.1 (only one so far).
2658         Updated TODO list a little.
2659         
2660 2002-06-02  Bill Haneman  <bill.haneman@sun.com>
2661
2662         AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2663         API frozen.
2664         
2665         * configure.in: Revved to 1.0.0.
2666
2667         * idl/Accessibility_Registry.idl:
2668         (registerKeystrokeListener):
2669         Added boolean return value.
2670         
2671         * registryd/registry.c:
2672         (notify_listeners_cb): Minor fix to debug output.
2673
2674         * registryd/Accessibility_Registry.server.in.in:
2675         Revved version number in OAFIID to 1.0.
2676
2677         * registryd/registryd.c:
2678         (main):
2679         Use new OAFIID version.
2680
2681         * cspi/bonobo/cspi-bonobo.c:
2682         (cspi_init):
2683         Use new OAFIID version.
2684
2685         * test/at.c:
2686         (main):
2687         * test/app.c:
2688         (main):
2689         * atk-bridge/bridge.c:
2690         (atk_bridge_init):
2691         Use new OAFIID version.
2692
2693         * registryd/deviceeventcontroller.c:
2694         (impl_register_keystroke_listener):
2695         Added CORBA_boolean return value.
2696         (spi_controller_register_device_listener):
2697         Added gboolean return value.
2698         (spi_controller_register_global_keygrabs):
2699         Added gboolean return value.
2700         (spi_key_set_contains_key):
2701         Added implementation for many more control keys,
2702         for instance F1-F12, arrow keys, End, Home, Page_Up,
2703         Page_Down, Escape.
2704         [TODO: some still not implemented]. 
2705         
2706         * text/screen-review-test.c:
2707         (text_chunk_pad_string):
2708         New function: it provides mapping between coordinate
2709         positions of text chunks and character positions in the
2710         screen-review-line output string.
2711         (text_chunk_to_string):
2712         New function, calls text_chunk_pad_string with various
2713         pad/delimiter characters. Pushbuttons are delimited with
2714         square brackets, Frames with vertical 'pipe' lines, and 
2715         other text with double quotes.
2716         (text_chunk_list_to_string):
2717         Calls new function text_chunk_to_string.
2718         (toplevel_composite):
2719         New function to composite layers CANVAS through
2720         POPUP in each toplevel (other layers are composited
2721         across toplevels, i.e. BACKGROUND and OVERLAY).
2722         (review_buffer_composite):
2723         Revise to use new methods.
2724         
2725         
2726         
2727         
2728
2729 2002-05-31  Laszlo Peter  <laca@sun.com>
2730
2731         * configure.in: add the Xtst libdir to the runpath on Solaris,
2732         since it's not in the default library search path.
2733
2734 2002-05-29  jacob berkman  <jacob@ximian.com>
2735
2736         * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
2737
2738 2002-05-29  Bill Haneman  <bill.haneman@sun.com>
2739
2740         * test/screen-review-test.c:
2741         (text_chunk_pad_string):
2742         Added method, which pads the string according to the 
2743         text bounds of the chunk.  It also takes a 3-character
2744         string as a param which indicates the characters to be 
2745         used for start, padding, and end delimitation of the chunk.
2746         (text_chunk_to_string):
2747         Changed to use text_chunk_pad_string.
2748         
2749         * configure.in: Fixed bug in AC_OUTPUT that was
2750         causing path substitution in Accessibility_Registry.server
2751         to fail.
2752
2753 2002-05-23  Bill Haneman  <bill.haneman@sun.com>
2754
2755         * text/screen-review-test.c:
2756         (guess_string_clip):
2757         New method which attempts a best-guess at clipping
2758         text from components (like Java labels) which don't
2759         actually implement AccessibleText.  This inaccurate
2760         clip is based on the assumption that the label is
2761         justified left-and-right, and monospaced.
2762         (text_chunk_get_clipped_string):
2763         We now call guess_string_clip() for text-containing
2764         components that don't implement AccessibleText.
2765
2766         * test/screen-review-test.c:
2767         (review_buffer_get_text_chunk):
2768         We now pull "name" from labels if they do not implement
2769         AccessibleText (i.e. for Java labels).
2770         (get_screen_review_line_at):
2771         Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
2772
2773         * configure.in:
2774         Replaceded AC_OUTPUT target
2775         registryd/Accessibility_Registry.server with 
2776         registryd/Accessibility_Registry.server.in.
2777
2778         * registryd/Accessibility_Registry.server.in:
2779         Removed (this is now a Makefile target).
2780
2781         * registryd/Accessibility_Registry.server.in.in:
2782         Added (source for target above).  We now use $(libexecdir) as
2783         prefix for the executable at-spi-registryd.
2784
2785         * registry/Makefile.am: 
2786         Now install at-spi-registryd into $(libexecdir), and build .server
2787         file with path (see above).
2788         
2789 2002-05-22  Bill Haneman  <bill.haneman@sun.com>
2790
2791         * test/screen-review-test.c:
2792         (text_chunk_get_clipped_string):        
2793         We now check to see if words fall within clip bounds 
2794         before resorting to character-by-character clip bounds testing.
2795
2796         * TODO: Added a section for "2.2 Proposed API Additions".
2797
2798 2002-05-21  Bill Haneman  <bill.haneman@sun.com>
2799
2800         * test/screen-review-test.c:
2801         * test/Makefile.am:
2802         Added a screen review benchmarking and test program to test
2803         directory.
2804
2805         * cspi/spi_accessible.c:
2806         * cspi/spi_main.c:
2807         Made some of the debug strings passed to cspi_check_ev a
2808         little more specific.
2809
2810 2002-05-21  Padraig O'Briain  <padraig.obriain@sun.com>
2811
2812         * test/screen-review-test.c: Fix crashes in debug statements
2813
2814 2002-05-20  Bill Haneman  <bill.haneman@sun.com>
2815
2816         * test/screen-review-test.c: Added this file.
2817
2818 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
2819
2820         * atk-bridge/bridge.c: changed "object:state-change" to
2821         "object:state-changed" to match docs.
2822
2823 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
2824
2825         * atk-bridge/bridge.c: Hooked up state-change event details.
2826
2827 2002-05-11  Bill Haneman <bill.haneman@sun.com>
2828
2829         * registryd/registry.c:
2830         Fixed quarking bug in event string parsing; now events with
2831         detail parameters get matched correctly to listeners.
2832         [Bugzilla 80608].
2833
2834         * util/idl/Magnifier.idl: remove.
2835         * util/idl: remove
2836         * util/*.[ch]: Remove.
2837         Magnification utilities and IDL are now in module gnome-mag.
2838
2839 2002-05-10  Bill Haneman <bill.haneman@sun.com>
2840
2841         * registryd/deviceeventcontroller.c:
2842         Fixed bug in grab key conversion which was causing keycode grabs
2843         to be converted to AnyKey grabs.
2844
2845         * NEWS:
2846         updated NEWS file to reflect recent spin-off of gnome-mag.
2847
2848 2002-05-09  Marc Mulcahy <marc.mulcahy@sun.com>
2849
2850         * cspi/spi_accessible.c: Added exception checks.  Fixed completely
2851         busted AccessibleStateSet_compare.  Removed redundant casts.
2852         
2853         * cspi/spi-action.c: Removed redundant casts.
2854
2855         * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
2856
2857         * cspi/spi_component.c: Fixed typos and casting error.
2858
2859         * cspi/spi_editabletext.c: Removed redundant casts.
2860
2861         * cspi/spi_hyperlink.c: Fixed casting and exception checking.
2862
2863         * cspi/spi_hypertext.c: Eliminated redundant casts.
2864
2865         * cspi/spi_image.c: Eliminated redundant casts.
2866
2867         * cspi/spi_registry.c: Eliminated redundant casts.
2868         SPI_deregisterGlobalEventListenerAll () removed retval variable.
2869         * cspi/spi_selection.c: Removed redundant casts.
2870         * cspi/spi_text.c: Eliminated redundant casts.  Fixed exception
2871         handling.  Screen geometry and text offsets were being returned as 0
2872         on error which is technically valid-- changed these to return -1.
2873         Added marshaller for text boundary types to fix bug with boundary
2874         types being passed incorrectly to atk.
2875                         
2876 2002-05-09  Bill Haneman <bill.haneman@sun.com>
2877
2878         
2879         * cspi/spi_registry.c:
2880         Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
2881         which was uncovered by the recent key changes.
2882
2883 2002-05-09  Bill Haneman <bill.haneman@sun.com>
2884
2885         * test/event-listener-test.c:
2886         * test/Makefile.am:
2887         Added new test, "event-listener-test"; 
2888         this code does two things; it benchmarks traversal time 
2889         for the accessible hierarchy for the first running accessible 
2890         app, and it connects listeners for all supported event types.  
2891         It is thus useful as an example event listener and for 
2892         diagnostics/debugging of event generation.
2893         
2894 2002-05-08  Bill Haneman <bill.haneman@sun.com>
2895
2896         * test/Makefile.am:
2897         Removed unnecessary dependency on libutil.
2898
2899         * configure.in:
2900         Revved micro version: 0.13.1
2901
2902 2002-05-08  Bill Haneman <bill.haneman@sun.com>
2903
2904         * configure.in: 
2905         Removed util/Makefile from targets.
2906
2907         * Makefile.am:
2908         Removed util subdir from SUBDIRS (temporarily, 
2909         pending removal of magnifier-only code
2910         from UTIL).
2911
2912         * test/simple-at.c:
2913         #ifdef-ed out magnifier dependencies, since
2914         magnifier IDL, headers, and binary now live in
2915         module gnome-mag and we don't want at-spi to depend 
2916         on gnome-mag.  A magnifier demo which can run alongside
2917         simple-at is forthcoming in the gnome-mag module.
2918         
2919         NOTE: Split magnifier binary, IDL, and magnification
2920         activation code from at-spi into module gnome-mag.
2921
2922 2002-05-03  Marc Mulcahy <marc.mulcahy@sun.com>
2923  
2924         * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2925         cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2926  
2927 2002-05-03  Bill Haneman <bill.haneman@sun.com>
2928
2929         * configure.in:
2930         Revved to version 0.13.0
2931         
2932         * idl/Accessibility_Registry.idl:
2933         Changed definition of KeySet from sequence of longs to sequence of
2934         KeyDefinitions, and added KeyDefinition struct.
2935         Required for fix to bug 80616.
2936
2937         * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2938         Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2939         to use new definition (see above).  
2940
2941         * registryd/deviceeventcontroller.c: handle_keygrab(), 
2942         spi_keyset_contains_key():
2943         Changed to make use of new struct; this allows matching based on
2944         string key-name, for instance "Tab".  This also allows matching of
2945         composed characters, non-alphanumeric characters in a way that
2946         doesn't involve dependencies on X keysym codes directly, etc.
2947         
2948         * test/key-listener-test.c:
2949         Added test for Alt-Tab key using "string" specification of keyset,
2950         and modified one of the tests to use a keycode-based keyset.
2951         Thus this test both tests and demonstrates the creation and use of
2952         keysets of three forms:  specified via keycode array, 
2953         keysym array, and string array. (The string case only contains a
2954         single string, i.e. a string array of length 1).        
2955
2956         * test/simple-at.c:
2957         Turned on PRINT_TREE option by default.  Also fixed a
2958         string-freeing bug in the PRINT_TREE code.  
2959         Added a listener to window:minimize events.
2960         
2961 2002-05-08  Padraig O'Briain  <padraig.obriain@sun.com>
2962
2963         * atk-bridge/bridge.c:
2964         (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2965         for window:activate and window:deactiveate
2966         (atk_bridge_property_event_listener atk_bridge_signal_listener
2967         atk_bridge_window_event_listener) Tidy debug code
2968
2969 2002-05-02  Marc Mulcahy <marc.mulcahy@sun.com>
2970
2971         * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2972         Fixed handling for NULL return value from ATK.
2973
2974         * libspi/action.c libspi/component.c libspi/editabletext.
2975         libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2976         libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2977         Removed redundant casts.
2978         
2979         * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2980         Fixed off by one bug.
2981         
2982         *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2983         function not present in idl)
2984         
2985 2002-05-02  jacob berkman  <jacob@ximian.com>
2986
2987         * atk-bridge/Makefile.am: make atk-bridge a real module
2988
2989 2002-04-26  Radek Doulik  <rodo@ximian.com>
2990
2991         * libspi/stateset.c (spi_init_state_type_tables): fix size of
2992         atk_state_types table
2993
2994 2002-04-22  jacob berkman  <jacob@ximian.com>
2995
2996         * util/Makefile.am: 
2997         * libspi/Makefile.am: add deps on the built files to help
2998         automake, and don't version the ORBit typelib
2999
3000 2002-04-19  Padraig O'Briain  <padraig.obriain@sun.com>
3001
3002         * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h 
3003         cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
3004         cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c 
3005         cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
3006         cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
3007         cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
3008         cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
3009         libspi/accessible.h libspi/accessible.h libspi/base.h 
3010         libspi/component.h libspi/editabletext.h libspi/hyperlink.h 
3011         libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
3012         libspi/relation.h libspi/remoteobject.h libspi/selection.h 
3013         libspi/spi-private.h libspi/statetset.h libspi/table.h
3014         libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
3015         util/mag_client.h util/mag_control.c util/mag_image.c
3016         util/mag_image.h util/magnifier.c util/magnifier.h: 
3017         Add missing file headers; standardize existing ones
3018
3019 2002-04-18  Marc Mulcahy  <marc.mulcahy@sun.com>
3020
3021         * atk-bridge/bridge.c: Added window event support.
3022
3023 2002-04-18  Michael Meeks  <michael@ximian.com>
3024
3025         * libspi/relation.c (impl_getNTargets): impl.
3026         (impl_getTarget): impl.
3027
3028         * libspi/Makefile.am: fix stateset install.
3029
3030 2002-04-17  Bill Haneman <bill.haneman@sun.com>
3031
3032         * NEWS:
3033         Started putting useful info in this file.
3034         
3035 2002-04-17  Marc Mulcahy <marc.mulcahy@sun.com>
3036  
3037         * atk-bridge/bridge.c: 
3038         Propagate state-changed notifications to ATs
3039  
3040         * cspi/spi_registry.c: update docs to reflect actual behavior of
3041         state-change events.
3042
3043 2002-04-17  Bill Haneman <bill.haneman@sun.com>
3044
3045         * configure.in:
3046         Incremented version to 0.12.1
3047         
3048         * util/mag_client.h:
3049         Add missing declaration for magnifier_exit, 
3050         used by mag_control.c - Forte compiler didn't like
3051         the implicit redeclaration of the function :-(
3052
3053
3054 2002-04-16  Bill Haneman <bill.haneman@sun.com>
3055
3056         * configure.in:
3057         Revved version to 0.12 due to API change (see below).
3058
3059         * cspi/spi-roletypes.h:
3060         removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE 
3061         definition from the inline docs, and added docs
3062         for SPI_ROLE_LAST_DEFINED.
3063
3064         * cspi/spi.h:
3065         * cspi/spi_streamablecontent.c:
3066         Added missing seek_type parameter to
3067         (so far unused) method, 
3068         AccessibleStreamableContent_seek().
3069         [ RT approval JodyG. ]
3070
3071         * cspi/spi_event.c:
3072         Fixed docs for SPI_createAccessibleKeystrokeListener.
3073
3074         * cspi/spi_registry.c:
3075         Fixed docs for SPI_KEYSET_ALL_KEYS.
3076         
3077         * docs/reference/cspi/at-spi-cspi-sections.txt:
3078         Added a number of missing APIs to SECTIONS.
3079         
3080 2002-04-16  Bill Haneman <bill.haneman@sun.com>
3081
3082         * registryd/Makefile.am:
3083         * cspi/Makefile.am:
3084         * cspi/bonobo/Makefile.am:
3085         Add $(X_LIBS) to makefiles.
3086
3087 2002-04-15  Bill Haneman <bill.haneman@sun.com>
3088
3089         * configure.in:
3090         Revved version to 0.11.
3091
3092         * libspi/component.c:
3093         Added implementation for grabFocus.
3094
3095         * idl/Accessibility_Component.idl
3096         (Accessibility_Component_grabFocus):
3097         Made this method return boolean to indicate success or failure, to
3098         be consistent with cspi and the corresponding ATK method.
3099         
3100         * idl/Accessibility_Selection.idl
3101         (Accessibility_Selection_selectAll) :
3102         Made these methods return boolean to indicate success or
3103         failure, to be consistent with cspi and the corresponding ATK methods.
3104         
3105         * idl/Accessibility_EditableText.idl 
3106         (Accessibility_EditableText_setTextContents,
3107          Accessibility_EditableText_insertText,
3108          Accessibility_EditableText_cutText,
3109          Accessibility_EditableText_deleteText,
3110          Accessibility_EditableText_pasteText):
3111         Made these methods return boolean to indicate
3112         success or failure.
3113
3114         * cspi/spi_editabletext.c:
3115         Made these methods return booleans.
3116
3117         * libspi/selection.c:
3118         * libspi/component.c:
3119         * libspi/editabletext.c:
3120         Connected the boolean returns from ATK
3121         to the server-side code referenced above.
3122         
3123 2002-04-14  Bill Haneman <bill.haneman@sun.com>
3124
3125         * idl/Accessibility_Table.idl: Added missing methods,
3126         Accessibility_Table_addRowSelection,
3127         Accessibility_Table_addColumnSelection,
3128         Accessibility_Table_removeRowSelection,
3129         Accessibility_Table_removeColumnSelection.
3130
3131         * cspi/spi_table.c:
3132         Added C wrappers for above IDL:
3133         AccessibleTable_addRowSelection,
3134         AccessibleTable_addColumnSelection,
3135         AccessibleTable_removeRowSelection,
3136         AccessibleTable_removeColumnSelection.
3137         
3138         * libspi/table.c:
3139         Added server-side implementation code for IDL above, connecting
3140         to pre-existing ATK api.
3141         
3142 2002-04-13  Marc Mulcahy <marc.mulcahy@sun.com>
3143
3144         * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
3145
3146         * libspi/accessible.c: Added implementation fo
3147         Accessibility_Accessible_get_state.
3148         
3149         * libspi/libspi.h: Added stateset.h to the list of includes.
3150
3151         * libspi/stateset.c: Fixed broken implementation.
3152
3153 2002-04-13  Bill Haneman <bill.haneman@sun.com>
3154
3155         * util/magnifier.c:
3156         Added implementation code for Accessibility_Magnifier_exit ().
3157
3158         * util/mag_control.c:
3159         Added test code for above method; you can
3160         now kill an existing magnifier via 
3161         ./mag_control q, from the util directory.
3162
3163         * test/key-listener-test.c:
3164         * test/Makefile.am:
3165         Added a new test, for our key listener API.
3166
3167 2002-04-11  Bill Haneman <bill.haneman@sun.com>
3168
3169         * test/app.c, test/keysynth-demo.c:
3170         * util/magnifier.c:
3171         Replace use of snprintf with g_snprintf.
3172         (fix for bugzilla 78249)
3173
3174 2002-03-27  Michael Meeks  <michael@ximian.com>
3175
3176         * Version 0.10.0
3177
3178         * util/Makefile.am (INCLUDES): fix.
3179         (DONT_DIST_SOURCE): don't distribute the
3180         generated files.
3181
3182         * libspi/Makefile.am (dist-hook): ditto.
3183
3184 2002-03-27  Padraig O'Briain  <padraig.obriain@sun.com>
3185
3186         * libspi/hypertext.c:
3187         Fix warnings when yelp is used with atk-bridge
3188
3189 2002-03-21  Michael Meeks  <michael@ximian.com>
3190
3191         * libspi/application.c (spi_application_new):
3192         use spi_accessible_construct so we use the AtkObject
3193         cache correctly.
3194
3195 2002-03-19  Michael Meeks  <michael@ximian.com>
3196
3197         * registryd/registry.c (desktop_remove_application),
3198         (desktop_add_application): clean coding style.
3199
3200         * registryd/desktop.c (spi_desktop_remove_application),
3201         (spi_desktop_add_application): kill re-enterency hazards.
3202         (spi_desktop_dispose): remove bogus redundant cast
3203         obscuring bug; fix bug too.
3204         (spi_desktop_init): make the desktop object immortal.
3205
3206 2002-03-16 Bill Haneman <bill.haneman@sun.com>
3207
3208         * test/simple-at.c:
3209         Added a #define-guarded tree-traversal step
3210         when enumerating the apps (diagnostic tool).
3211
3212 2002-03-15 Bill Haneman <bill.haneman@sun.com>
3213
3214         * idl/Accessibility_Role.idl:
3215         Added ROLE_DRAWING_AREA which seemed to be missing from the
3216         previous commit.
3217
3218 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3219
3220         * cspi/spi-roletypes.h cspi/spi_accessible.c
3221         idl/Accessibility_Role.idl libspi/accessible.c: synched up role
3222         types with ATK.
3223
3224         * registryd/desktop.c registryd/desktop.h registryd/registry.c:
3225         Added signals to SpiDesktop and callbacks in SpiRegistry to notify
3226         AT when applications are added and removed from the desktop.  This
3227         reverts the previous broken implementation using the backing
3228         AtkObject for the SpiDesktop.
3229         
3230         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
3231
3232         * registryd/desktop.c: emit the "children-changed::add" and
3233         "children-changed::remove" signals on the backing ATK object for
3234         the desktop so AT can tell when applications are started and shut
3235         down.
3236
3237         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
3238
3239         * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
3240
3241         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
3242
3243         * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
3244
3245         * cspi/spi_accessible.c: Implemented c bindings for stateset support
3246
3247         * cspi/state-types.h: synched with IDL and ATK
3248
3249         2002-03-13  Bill Haneman <bill.haneman@sun.com>
3250
3251         * libspi/accessible.c 
3252         (impl_accessibility_accessible_get_child_at_index):
3253         Change return value for g_return_if_fail ()
3254         to CORBA_OBJECT_NIL instead of "0" (!)
3255
3256         * registryd/Makefile.am:
3257         * registryd/Accessibility_Register.server.in:
3258         Changed name of executable, "registryd",
3259         to something more informative:
3260         "at-spi-registryd".
3261
3262 2002-03-13  Michael Meeks  <michael@ximian.com>
3263
3264         * atk-bridge/bridge.c (atk_bridge_init): don't register
3265         if we're in a bonobo-component, rather than a bonobo app.
3266
3267 2002-03-13  Michael Meeks  <michael@ximian.com>
3268
3269         * atk-bridge/bridge.c (gtk_module_init): split
3270         out body to (atk_bridge_init): here, since otherwise
3271         we get symbol conflicts and oddness when invoked
3272         from (gnome_accessibility_module_init): here (upd.)
3273
3274 2002-03-11  Bill Haneman  <bill.haneman@sun.com>
3275
3276         * HACKING:
3277         New file.  Explicitly allow "build sheriff" putbacks provided
3278         they are tested on Solaris.
3279         
3280         * docs/reference/cspi/Makefile.am:
3281         Added '-' to the "cp" command for index.sgml.
3282         ("patch by thomasvs, soon coming to a GUADEC near you")
3283
3284         * configure.in:
3285         Incremented version number (0.9.0) for new release.
3286         Changed macro that checks for popt, to better detect
3287         obsolete versions of popt.
3288         
3289         * configure.in:
3290         Added X_LIBS to AC_SUBST, for applications
3291         that call Xlib API directly.
3292         
3293
3294 2002-03-07  Bill Haneman  <bill.haneman@sun.com>
3295
3296         * configure.in:
3297         Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
3298
3299         * util/Makefile.am:
3300         Fix regression caused by hard-coding major
3301         version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
3302         (see above change).
3303         
3304         * test/test-simple.c (test_editable_text),
3305         (test_test): revert previous change (error was 
3306         a regression in gail which is now fixed).
3307         
3308 2002-03-04  Michael Meeks  <michael@ximian.com>
3309
3310         * test/test-simple.c (test_editable_text),
3311         (test_text): pass G_MAXINT instead of '-1' for
3312         whole string - is this a good thing !?
3313
3314         * cspi/spi_accessible.c
3315         (Accessible_getRelationSet): fix crasher bug
3316         overwriting the end of the array.
3317
3318         * test/test-simple.c (validate_accessible): free,
3319         not g_free returned relation set.
3320
3321 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
3322
3323         * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
3324         implemented stateset support
3325
3326         * idl/Accessibility_State.idl: Made necessary changes to
3327         the IDL to support state sets.
3328
3329 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3330
3331         * registryd/deviceeventcontroller.c:
3332         Added implementation for generateMouseEvent.
3333
3334         * cspi/spi_registry.c:
3335         Connected new implementation for generateMouseEvent
3336         to the C bindings.
3337         
3338 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3339
3340         * configure.in: 0.8
3341         Incremented revision (but no change in public API
3342         outside of 'utils', which are not installed public yet.)
3343
3344         * libspi/component.c:
3345         Changed to use atk_component API for layers and
3346         mdi_zorder, instead of deprecated atk_object API.
3347         
3348         Magnification Utility Enhancements:
3349         
3350         * util/magnifier.c:
3351         Added implementation of createZoomRegion, clearAllZoomRegions,
3352         resizeZoomRegion.  Added new commandline argument
3353         "--no-initial-region".  Note that clearAllZoomRegions doesn't
3354         unmap the old '0' region as it should (yet), and the other
3355         methods only work when creating/resizing a single region,
3356         which is "region 0".  
3357         (Code for multiple region support will be added later.)
3358
3359         * util/mag_image.c:
3360         Now we raise the magnifier window each time it's refreshed;
3361         this will help keep it on top.
3362         
3363         * util/mag_client.h:
3364         Added simple wrappers for above, used by mag_control.
3365         For general use, it's recommended to use the bonobo magnifier
3366         control API directly instead of using these wrappers.
3367
3368         * util/mag_image.h:
3369         Moved ZoomRegionData from magnifier.c to this file.
3370         
3371         * util/mag_control.c: 
3372         Added some code to exercise new IDL implementations.
3373         
3374 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
3375
3376         * libspi/text.c: Provide implementation for getAttributes.
3377
3378 2002-02-04  Bill Haneman <bill.haneman@sun.com>
3379         
3380         * configure.in:
3381         Incremented revision.
3382
3383         * test/test-simple.c:
3384         Replaced use of deprecated g_main_iteration with 
3385         g_main_context_iteration.
3386         
3387 2002-01-28  Padraig O'Briain <padraig.obriain@sun.com>
3388
3389         * configure.in:
3390         Incremented revision for desktop alpha 2.
3391
3392 2002-01-28  Mark McLoughlin  <mark@skynet.ie>
3393
3394         * libspi/remoteobject.[ch]: make RemoteObject and interface rather
3395         than an atk object.
3396
3397         * test/simple-at.c: include netinet/in.h.
3398
3399 2002-01-24  Mark McLoughlin  <mark@skynet.ie>
3400
3401         * cspi/spi_accessible.c: (Accessible_getRelationSet):
3402         use NULL, not CORBA_OBJECT_NIL.
3403
3404         * libspi/accessible.c:
3405         (impl_accessibility_accessible_get_relation_set):
3406         allocate the sequence correctly.
3407
3408         * libspi/remoteobject.h: kill spi_remote_object_new.
3409
3410         * test/test-simple.c: (validate_accessible): add code
3411         to test relation sets, now all we need is to figure
3412         out how to excercise this code path :/
3413
3414 2002-01-18  Michael Meeks  <michael@ximian.com>
3415
3416         * test/test-simple.c
3417         (key_listener_cb): consume the key.
3418         (test_keylisteners): update.
3419         (main): wait for any pending unrefs on events.
3420
3421         * registryd/deviceeventcontroller.c
3422         (spi_controller_update_key_grabs): only re-issue the
3423         grab on a key release.
3424         (spi_device_event_controller_forward_key_event):
3425         refresh the keygrabs before we notify the listeners,
3426         to reduce the X ungrab / re-grab race.
3427         (spi_controller_register_with_devices): remove
3428         XSelectInput - we do that with the gdk_window_ call.
3429         (_spi_controller_device_error_handler): return a value.
3430         s/GDK_DISPLAY/spi_get_display/
3431
3432 2002-01-17  Michael Meeks  <michael@ximian.com>
3433
3434         * registryd/deviceeventcontroller.c
3435         (_deregister_keygrab): don't blow out the later
3436         assertion.
3437
3438         * test/test-simple.c (test_keylisteners): do a
3439         more intelligent validation.
3440
3441 2002-01-14  Michael Meeks  <michael@ximian.com>
3442
3443         * atk-bridge/bridge.c
3444         (gnome_accessibility_module_init),
3445         (gnome_accessibility_module_shutdown): impl.
3446         (gtk_module_init): protect vs. double inits.
3447         (add_signal_listener): impl.
3448         (spi_atk_bridge_state_event_listener): kill
3449         (deregister_application): split out of
3450         (spi_atk_bridge_exit_func): here.
3451
3452 2002-01-18  Bill Haneman <bill.haneman@sun.com>
3453
3454         * test/simple-at.c:
3455         Added caret tracking when using magnifier, and 
3456         now use text bounds for focus tracking of text elements, rather than
3457         the component bounds - this is helpful for short text fields in long
3458         table cells, at high magnification.
3459         
3460 2002-01-16  Bill Haneman <bill.haneman@sun.com>
3461
3462         * registryd/deviceeventcontroller.c:
3463         Regression fix for keylistener de-registration; global keygrabs
3464         were not being released when deregisterKeystrokeListener was
3465         called in cspi, since 
3466         Accessibility_DeviceEventController_deregisterKeystrokeListener
3467         was called with a zero-length keyset.  That is because the cspi
3468         method, SPI_deregisterKeystrokeListener, does not take a keyset
3469         parameter but instead should remove all the key grabs held be a
3470         keystroke listener.  
3471         The code in impl_deregister_keystroke_listener was changed to copy
3472         the keylist from the listener instance previously registered with
3473         the DeviceEventController before releasing the grabs.
3474
3475         * registryd/registry.c:
3476         * registryd/deviceeventcontroller.c:
3477         * libspi/spi-private.h:
3478         * libspi/util.c:
3479         Changed spelling of "re-enterant" to "re-entrant" globally.
3480
3481 2002-01-16  Bill Haneman <bill.haneman@sun.com>
3482
3483         * test/test-simple.c:
3484         Changed key listeners test - the test was slightly mis-using the
3485         (admittedly poorly documented) SPI_generateKeyboardEvent API.
3486         It now uses '=' as the key event listened to and generated,
3487         relying on a keysym match rather than assuming that keycode 33 
3488         is always equal to keysym '!'.
3489
3490 2002-01-15  Bill Haneman <bill.haneman@sun.com>
3491
3492         * test/simple-at.c:
3493         Changed simple-at to use a specific keyset, rather than
3494         SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
3495         manager, desktop, etc.
3496         
3497 2002-01-11  Bill Haneman <bill.haneman@sun.com>
3498
3499         * registryd/deviceeventcontroller.c:
3500         Replaced standard X error handler with a special handler that 
3501         is non-fatal for failed keygrabs.  This works around 
3502         problems with keygrab clashes sometimes observed on 
3503         Solaris using CDE.
3504         Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate 
3505         mouse handling code as yet).
3506         
3507 2002-01-11  Bill Haneman <bill.haneman@sun.com>
3508
3509         * configure.in:
3510         Incremented revision for desktop alpha release.
3511
3512         * README:
3513         Fixed a couple of the more glaring errors (still not 
3514         very up-to-date).
3515
3516 2002-01-11  Michael Meeks  <michael@ximian.com>
3517
3518         * registryd/deviceeventcontroller.c
3519         (spi_device_event_controller_forward_key_event): kill
3520         XUngrabKey / XKeyGrab race.
3521         (spi_controller_grab_keyboard): rename to
3522         (spi_controller_update_key_grabs): this, and deal
3523         with incremental adding / removing grabs more
3524         sensibly.
3525         (_register_keygrab): ensure we're not pending a remove.
3526         (spi_grab_mask_free): impl.
3527         (spi_controller_register_global_keygrabs): split out
3528         common code into:
3529         (handle_keygrab): impl.
3530         (_deregister_keygrab): impl.
3531         (spi_controller_deregister_global_keygrabs): impl.
3532         (spi_controller_update_key_grabs): re-issue the grab if
3533         we just recieved a notification.
3534
3535         * test/test-simple.c (key_listener_cb): remove debug.
3536
3537         * registryd/deviceeventcontroller.c
3538         (spi_controller_register_device_listener): after
3539         registering a global keygrab, actualy register it !
3540         don't wait for a timeout; doh !
3541
3542         * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
3543         to make it more readable / manipulable.
3544         s/grabmask/grab_mask/ s/refcount/ref_count/
3545         s/keyval/key_val/ s/modmask/mod_mask
3546
3547 2002-01-08  Michael Meeks  <michael@ximian.com>
3548
3549         * registryd/deviceeventcontroller.c
3550         (spi_controller_register_with_devices): use gdk calls to
3551         setup a filter.
3552         (global_filter_fn): implement the filter.
3553         (spi_device_event_controller_check_key_event): rename to
3554         (spi_device_event_controller_forward_key_event): this & upd.
3555         (spi_get_display): replace with GDK_DISPLAY.
3556
3557         * registryd/deviceeventcontroller.c
3558         (spi_controller_deregister_device_listener): unroll into
3559         (impl_deregister_keystroke_listener): here to simplify.
3560         (spi_controller_register_global_keygrabs): split cut and
3561         paste (!) out into (_register_keygrab): here, shorter & sweeter.
3562         (spi_controller_deregister_device_listener): remove.
3563         (impl_register_mouse_listener): remove, no mouse listener
3564         support in at-spi-1.0
3565
3566         * registryd/registry.c
3567         (_device_event_controller_hook): kill.
3568         (spi_registry_init): upd.
3569
3570         * registryd/deviceeventcontroller.c
3571         (spi_device_event_controller_class_init): upd.
3572         (spi_check_key_event): merge into.
3573         (spi_device_event_controller_check_key_event):
3574         here and kill strange static ev init, don't leak
3575         the x_event - nor dynamicaly allocate it.
3576
3577         * registryd/registry-main.c (main): re-direct
3578         timeout to remove strange vtable mess.
3579
3580         * registryd/deviceeventcontroller.c
3581         (remove_listener_cb): impl.
3582         (spi_controller_deregister_device_listener):
3583         fix re-enterancy hazard.
3584
3585 2002-01-07  Michael Meeks  <michael@ximian.com>
3586
3587         * registryd/deviceeventcontroller.c
3588         (spi_device_event_controller_new): upd.
3589         (impl_notify_listeners_sync): upd. debug.
3590         (spi_notify_keylisteners): fix re-enterancy hazards,
3591         prettify, remove O(n*n) iteration.
3592         (spi_controller_grab_keyboard): fix iteration.
3593         (spi_check_key_event): re-format to suit coding style.
3594         Clean all the warnings - we're warning free.
3595
3596         * registryd/deviceeventcontroller.h:
3597         * registryd/registry.h: make mutualy referential with
3598         typesafe forward references instead of (!) void pointer
3599         hacks.
3600
3601 2002-01-11  Michael Meeks  <michael@ximian.com>
3602
3603         * cspi/spi_accessible.c (role_names): add a role name
3604         to sync this array with the enum; and make the regression
3605         tests pass, sigh.
3606
3607 2002-01-10  Michael Meeks  <michael@ximian.com>
3608
3609         * cspi/spi_registry.c (SPI_generateKeyboardEvent): 
3610         allow expansion of enumeration & kill warning.
3611
3612         * test/test-simple.c (key_listener_cb): impl.
3613         (test_keylisteners): impl.
3614
3615         * cspi/spi-listener.h: make listener signatures const
3616         on the provided (const) events.
3617
3618         * test/keysynth-demo.c: upd. to const events.
3619
3620         * test/simple-at.c: ditto.
3621
3622 2002-01-11  Bill Haneman <bill.haneman@sun.com>
3623
3624         * configure.in:
3625         Rev the version to 0.5 (the previous tarball was named 0.4, 
3626         even though the micro number was 3), so we need to rev upwards
3627         again for beta2/"desktop-alpha" 
3628  
3629         * test/demo.csh:
3630         Checked in a demo script, which requires editing before use!
3631         Proceed with caution.
3632         
3633         * libspi/value.h:
3634         Fixed typo in header which was redefining SPI_ACTION_CLASS.
3635
3636         * cspi/spi_accessible.c:
3637         Add a couple of missing enum initializations, and fix some enum
3638         comments.
3639
3640         * cspi/spi_registry.c:
3641         Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3642         
3643         * docs/reference/cspi/at-spi-cspi-sections.txt:
3644         Remove/fix a couple of broken document references.
3645
3646         * test/simple-at.c:
3647         Minor tweaks to the demo.  We now (sigh) use Alt-SHIFTLOCK as well
3648         as Alt-Control to listen for commands, since on some systems
3649         Control-Alt may already be grabbed.
3650
3651 2002-01-10  Bill Haneman <bill.haneman@sun.com>
3652
3653         * configure.in:
3654         Update version number to 0.4 for Beta2.
3655         
3656         * libspi/accessible.c, libspi/accessible.h:
3657         Expose spi_accessible_construct, to enable libgail-gnome
3658         construction from spi_accessible subtype.
3659
3660         * utils/magnifier.c:
3661         Workaround for bug in some non-gnome-compliant window managers
3662         which made magnifier resize improperly.
3663
3664 2002-01-09  Bill Haneman <bill.haneman@sun.com>
3665
3666         * libspi/accessible.c: (spi_accessible_new) :
3667         Move the test for SPI_IS_REMOTE_OBJECT to
3668         spi_accessible_new_return, fixing a bug and compile time warning.
3669         
3670 2002-01-08  Michael Meeks  <michael@ximian.com>
3671
3672         * registryd/registry.c (parse_event_type): remove strndup.
3673
3674         * libspi/Makefile.am (libspi_la_SOURCES): remove
3675         sources already included in the headers section.
3676
3677         * libspi/util.c: add.
3678
3679         * libspi/spi-private.h: add.
3680
3681         * registryd/registry.c: update to moved list iterators.
3682
3683 2002-01-05  Michael Meeks  <michael@ximian.com>
3684
3685         * test/simple-at.c (main): upd. auto-module set to atk-bridge
3686
3687         * test/test-simple.c (main): ditto.
3688
3689 2002-01-04  Michael Meeks  <michael@ximian.com>
3690
3691         * libspi/accessible.c (spi_accessible_new): remove 2nd,
3692         redundant construct.
3693
3694         * registryd/registry.c
3695         (get_listener_list): impl.
3696         (impl_accessibility_registry_register_global_event_listener):
3697         re-impl. to simplify using ~, remove dodgy const cast off.
3698         (parse_event_type): constify.
3699         (impl_accessibility_registry_deregister_global_event_listener_all): 
3700         re-write, more efficiency and simplicity, kill re-enterancy
3701         hazard.
3702         (compare_listener_corbaref, compare_corba_objects),
3703         (compare_listener_quarks): define out.
3704         (impl_accessibility_registry_deregister_global_event_listener): 
3705         re-write for effiency, and nail re-enterancy hazard.
3706         (impl_accessibility_registry_get_desktop_list): impl.
3707         (re_enterant_list_delete_link): impl.
3708         (re_enterant_list_foreach): impl.
3709         (remove_listener_cb): impl.
3710         (_registry_notify_listeners): kill.
3711         (notify_listeners_cb): impl.
3712
3713         * cspi/spi_registry.c (SPI_freeDesktopList): impl.
3714         (SPI_getDesktopList): impl.
3715
3716         * test/test-simple.c (test_desktop): test the methods.
3717
3718 2002-01-03  Michael Meeks  <michael@ximian.com>
3719
3720         * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
3721         keystrings since we free them
3722         (SPI_freeAccessibleKeySet): in here.
3723
3724         * libspi/accessible.c (spi_accessible_new): kill warning,
3725         wonder what is going on with the constructor here.
3726
3727 2002-03-01  Bill Haneman <bill.haneman@sun.com>
3728
3729         * libspi/accessible.c (spi_accessible_new ()) :
3730         Added check to see if AtkObject is an SpiRemoteObject before
3731         creating an SpiAccessible.
3732         
3733 2002-05-01  Bill Haneman <bill.haneman@sun.com>
3734
3735         * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
3736         Enable keygrabs using the Control modifier, now that they are
3737         working properly (they were previously disabled).
3738
3739         * test/simple-at.c:
3740         Change the command keygrab for this demo to "Control+Alt", so as
3741         to conflict with fewer other key commands on the system; this
3742         means that the quit command for "simple-at" is now "Ctrl-Alt-q".
3743
3744         Removed a pointlessly-chatty keylistener for unshifted keys
3745         (shifted keys are still reported).
3746         
3747 2002-02-01  Bill Haneman <bill.haneman@sun.com>
3748
3749         * libspi/remoteobject.h:
3750         * libspi/remoteobject.c:
3751         Added definitions for special AtkObject subtype, required for
3752         support of remote components (specifically, used by BonoboControl
3753         accessibility implementation).
3754         
3755 2002-01-02 Marc Mulcahy  <marc.mulcahy@sun.com>
3756
3757         * cspi/spi.h: synched relation types with ATK
3758
3759         * cspi/spi_accessible.c: Added implementations of
3760         AcccessibleRelation_* methods
3761
3762         * idl/Accessibility_Relation.idl: added getRelationTypeName
3763         method.  Synched known relation types with ATK.  Allowed for
3764         relation type extension with the RELATION_EXTENDED type.
3765         
3766         * libspi/relation.c: Provided implementations for
3767         AccessibleRelation methods.
3768
3769 2002-01-01  Bill Haneman <bill.haneman@sun.com>
3770
3771         API tweaks for today's API 'freeze'.
3772
3773         * idl/*:
3774         Added placeholder functions to allow future compatible expansion
3775         of the IDL interfaces.
3776
3777         * idl/Accessibility_Registry.idl:
3778         Changed generateKeyEvent to generateKeyboardEvent.  Changed
3779         signature of this method to accept an optional keystring in
3780         parameter (for complex text input synthesis) and changed use of
3781         simple 'boolean' parameter in registerKeystrokeListener to a
3782         struct, EventListenerMode.
3783
3784         * cspi/spi_accessible.c:
3785         * cspi/spi.h:
3786         * cspi/spi_streamablecontent.c:
3787         Added references to AccessibleStreamableContent interface, and
3788         definition and implementation of AccessibleStreamableContent 
3789         C bindings.
3790
3791         * cspi/spi_registry.c:
3792         * cspi/spi.h:
3793         Changed generateKeyEvent API to generateKeyboardEvent,
3794         taking a new (optional) keystring parameter to support complex
3795         text input.
3796         
3797         * at-bridge/*:
3798         * atk-bridge/*:
3799         Renamed directory (to better reflect its actual purpose, bridging
3800         from at-spi to ATK).  The .so module is also now named
3801         libatk-bridge.so.
3802
3803         * idl/Accessibility_Hypertext.idl:
3804         * libspi/accessible.c:
3805         * libspi/hypertext.h:
3806         * libspi/hypertext.c:
3807         Changed Accessibility_Hypertext to *not* derive from
3808         Accessibility_Text.
3809
3810         * cspi/spi_registry.c:
3811         Added list of legal event type names for 'window' events, which
3812         completes the registry event API.
3813
3814 2001-12-22  Marc Mulcahy  <marc.mulcahy@sun.com>
3815
3816         * at-bridge/bridge.c: Added registration for separate
3817         "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
3818         signals.  If either of the first two parameters to the generic
3819         bridge signal handler are ints, they are passed on as event
3820         details.  This allows an AT to determine what text was inserted.
3821
3822 2001-12-21  Bill Haneman <bill.haneman@sun.com>
3823
3824         * registryd/deviceeventcontroller.c:
3825         Fixed regressions in generateKeyEvent caused by the removal of
3826         gdk_init from registryd; we now use pure X calls to connect to the
3827         display, which makes sense because deviceeventcontroller already
3828         uses a fair bit of X API (should eventually be migrated to a
3829         'portability layer').
3830
3831         * registryd/desktop.c:
3832         Fixed minor regression in spi_desktop_init, changed the way the
3833         desktop name is being set to work with new spi_base API
3834         (gobject-based, rather than AtkObject-based).
3835
3836         * registryd/Makefile.am:
3837         Minor revision of makefile to use XTST_LIBS variable rather than
3838         hard-wiring the Xtst LD_ADD element.
3839
3840         * test/keysynth-demo.c:
3841         Tweaked an output message; added initialization of the
3842         'keystrings' member of the "switch listener" key_set.
3843
3844         * libspi/relation.c:
3845         Squashed compile-time warning.
3846
3847         * libspi/accessible.c:
3848         Cosmetic and formatting fixes, renamed a static method.
3849         
3850 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
3851
3852         * libspi/accessible.c 
3853         * libspi/action.c
3854         * libspi/application.c 
3855         * libspi/base.c 
3856         * libspi/base.h
3857         * libspi/component.c 
3858         * libspi/editabletext.c
3859         * libspi/hyperlink.c 
3860         * libspi/hypertext.c
3861         * libspi/image.c 
3862         * libspi/selection.c 
3863         * libspi/table.c
3864         * libspi/text.c 
3865         * libspi/value.c 
3866         * registryd/desktop.c:
3867         Changed SpiBase to contain a GObject pointer rather than an AtkObject
3868
3869 2001-12-17  Bill Haneman <bill.haneman@sun.com>
3870
3871         * idl/Accessibility_Registry.idl:
3872         Added boolean member 'is_text' to DeviceEvent.  This is for the
3873         use of key events, and helps prevent ambiguity between composed
3874         key strings and keysym names, since both may potentially be
3875         returned in the 'event_string' member.
3876
3877         * at-bridge/bridge.c:
3878         * registryd/deviceeventcontroller.c:
3879         Use the 'is_text' member when notifying device event listeners.
3880         Knon issue: composed characters are not dealt with correctly by
3881         the global key listener implementation yet.
3882         
3883 2001-12-17  Bill Haneman <bill.haneman@sun.com>
3884
3885         * at-bridge/bridge.c:
3886         Namespaced local static methods to spi_atk_bridge_* where
3887         previously named bridge_*, and spi_* elsewhere.
3888
3889         * at-bridge/bridge.c:
3890         * cspi/bonobo/cspi-bonobo-listener.c:
3891         Added demarshalling/conversion for string member of
3892         Accessibility_DeviceEvent to AccessibleKeystroke.
3893
3894         * registryd/deviceeventcontroller.c:
3895         Added code to fill the Accessibility_DeviceEvent key string value
3896         member for global key events (i.e. from XGrabKey), to match
3897         behavior of Accessibility_DeviceEvent from the toolkit key events
3898         from the bridge.  Fixed timestamp in global key event notifications.
3899
3900         * test/simple-at.c:
3901         Added printout of key event's string value to
3902         report_ordinary_key_event, for demo/debugging purposes.
3903
3904 2001-12-15  Bill Haneman <bill.haneman@sun.com>
3905
3906         * idl/Accessibility_Registry.idl:
3907         Removed Accessibility_KeyStroke structure in favor of generic
3908         Accessibility_DeviceEvent structure.
3909         Changed Accessibility_ControllerEventMask from a struct to an
3910         unsigned long.
3911
3912         * at-bridge/bridge.c:
3913         Changed APIs to use DeviceEvent structure as above, and removed
3914         bogus casting between these event structures.
3915
3916         * cspi/spi-listener.h:
3917         Added keystring member of AccessibleKeystroke structure, to enable
3918         matching on event "names" rather than only hardware codes and
3919         keysyms.
3920
3921         * cspi/spi.h:
3922         Added keystrings member of AccessibleKeySet struct, to allow
3923         matching on event names (as above).
3924         Added declarations for SPI_createAccessibleKeySet and
3925         SPI_freeAccessibleKeySet.  Due to changes in libspi, we now pass
3926         event modmasks directly as unsigned ints rather than structs with
3927         refcounts, in the DeviceEventController methods.
3928
3929         * cspi/spi_registry.c:
3930         Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3931
3932         * cspi/spi-roletypes.h:
3933         Added documentation of newly added SPI Roles.
3934
3935         * cspi/bonobo/cspi-bonobo-listener.c:
3936         Changes in support of API changes above.
3937         
3938         * libspi/accessible.c:
3939         Converted APIs to use DeviceEvent structure (see IDL changes
3940         above). 
3941
3942         * registryd/deviceeventcontroller.c:
3943         Added DEControllerGrabMask structure to track keygrabs not only by
3944         modmask but by keyset as well; this allows us to do "global"
3945         (i.e. X) keygrabs on a per-key or keyset basis rather than always
3946         grabbing on AnyKey and then filtering after-the-fact.
3947         Bugfixes for event filtration mean that we don't get false matches
3948         on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3949
3950         * registryd/deviceeventcontroller.c:
3951         Namespaced a number of static methods to use spi_ prefix.  Major
3952         revision to internals of global (i.e. X) key grabs.
3953
3954         * registryd/deviceeventcontroller.h:
3955         Removed keymask_list and added keygrabs_list to
3956         SpiDeviceEventController struct.
3957
3958         * test/simple-at.c:
3959         Added use of SPI_createAccessibleKeySet API when creating a
3960         listener for only one key.  Attach a listener to "shift spacebar
3961         SPI_KEY_RELEASE" as a demonstration.  Changed (incorrect) usage of
3962         X key event names to SPI key event names, so that listeners are
3963         registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3964         
3965         * test/keysynth-demo.c:
3966         Changed (incorrect) use of X key event names (KeyPressed,
3967         KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3968         
3969
3970 2001-12-12  Bill Haneman <bill.haneman@sun.com>
3971
3972         * libspi/accessible.c:
3973         Convert all AtkRole enumerations to Accessibility_Role enums when
3974         getting a role from an AtkObject.
3975         
3976         * cspi/spi_accessible.c:
3977         Complete the conversion of Accessibility_Role enums at runtime to
3978         AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3979         role enums correctly match those given in spi-roletypes.h.  
3980         Re-synchronize the local names list for AccessibleRole_getName ().
3981         AccessibleRole_getName is now deprecated, since it duplicates the
3982         more reliable Accessible_getRoleName.
3983         Added some role types from Accessibility_Role.idl.
3984
3985         * idl/Accessibility_Role.idl:
3986         Added some role types used by AtkRole.
3987
3988 2001-12-12  Bill Haneman <bill.haneman@sun.com>
3989         
3990         * cspi/spi.h:
3991         * cspi/spi_registry.c:
3992         * cspi/spi_event.c:
3993         * cspi/cspi-bonobo-listener.c:
3994         Namespaced all methods that did not begin with an "SPI_" or
3995         "Accessible" prefix to "SPI_".  
3996
3997         * cspi/spi_main.c:
3998         Homogenized internal function namespace to "cspi_" for statics.
3999         
4000         * test/*.c:
4001         Patched tests to use the new CSPI API.
4002
4003         * docs/reference/cspi/at-spi-cspi-sections.txt:
4004         Updated docs to reflect namespace changes, and added a number of
4005         methods to the documentation.
4006         
4007         * registryd/registry.c:
4008         Changed use of strings and string hashes in listener event
4009         matching and parse_event_string to use GQuark, which is guaranteed
4010         unique.
4011         
4012         * registryd/registry.h:
4013         Squashed annoying warning.
4014
4015         * idl/Accessibility_Role.idl:
4016         Extended range of available Accessibility_Role values.
4017
4018         * cspi/spi_accessible.c:
4019         Re-ordered role names. 
4020
4021 2001-12-12  Bill Haneman <bill.haneman@sun.com>
4022
4023         * idl/Accessibility_Value.idl:
4024         Revert use of union back to CORBA_double, since the double type is
4025         more efficient and can contain the other types without loss of
4026         precision.
4027
4028         * idl/Accessibility_Accessible.idl:
4029         Added method Accessibility:Accessible:getRoleName, to complement
4030         Accessibility:Accessible:getRole.
4031
4032         * cspi/spi_accessible.c:
4033         * cspi/spi.h:
4034         Added C binding for above, Accessible_getRoleName (), and changed
4035         signature of Accessible_getRole () to return an AccessibleRole.
4036
4037         * cspi/spi-roletypes.h:
4038         Changed AccessibleRole_getName to return a char * instead of a
4039         const char *.  This method is now at least temporarily deprecated 
4040         in favor of asking Accessibles for their RoleNames directly.
4041
4042         * libspi/value.c:
4043         Revert to match Accessibility_Value.idl;
4044
4045         * cspi/spi_value.c:
4046         * cspi/spi.h:
4047         Change signature of AccessibleValue methods to use double rather
4048         than float.
4049
4050         * cspi/spi.h:
4051         * cspi/spi_accessible.c:
4052         Changed Accessible_getRole to return an AccessibleRole enum rather
4053         than a UTF-8 string.  The UTF-8 string can still be obtained via
4054         AccessibleRole_getName ().
4055         
4056         * test/test-simple.c:
4057         Add test_action.  Small fixup to match API change to Accessible_getRole.
4058
4059         * libspi/action.c:
4060         Bugfix for get_action_from_servant ().
4061
4062 2001-12-11  Michael Meeks  <michael@ximian.com>
4063
4064         * libspi/libspi.h: remove registry.h and
4065         desktop.h, deviceeventcontroller.h
4066
4067         * libspi/Makefile.am: remove registry.[ch],
4068         desktop.[ch], deviceeventcontroller.[ch]
4069
4070         * registryd/Makefile.am: add registry.[ch],
4071         desktop.[ch], rename registryd.c to registry-main.c.
4072         add deviceeventcontroller.[ch]
4073
4074 2001-12-11  Bill Haneman <bill.haneman@sun.com>
4075
4076         * test/simple-at.c:
4077         Replace setenv() call with putenv ().
4078
4079         * libspi/component.c:
4080         Bugfix in AccessibleComponent_getExtents (),
4081         (from Adi Dascal).
4082         
4083 2001-12-11  Michael Meeks  <michael@ximian.com>
4084
4085         * libspi/image.c (impl_getImageExtents): impl.
4086         (spi_image_class_init): upd.
4087
4088         * cspi/spi_image.c
4089         (AccessibleImage_getImageDescription): fix daft bug
4090         of mine (doh).
4091
4092         * test/test-simple.c (global_listener_cb): update
4093         to only quit if not --poke
4094         (main): catch --poke.
4095         (validate_accessible): upd. dumping, call test_image
4096         (test_image): impl.
4097
4098         * libspi/Makefile.am (IDL_DEPS): fixup the IDL
4099         dependencies.
4100
4101         * idl/Accessibility.idl: update all IDL includes.
4102
4103         * idl/*.idl - rename to namespace - this sucks, blame
4104         mjs' bad decision for oafd.
4105
4106         * test/test-simple.c (create_test_window): add more tests.
4107         (create_tree): split this out.
4108         (validate_accessible): bugfix.
4109
4110 2001-12-11  Michael Meeks  <michael@ximian.com>
4111
4112         * cspi/bonobo/cspi-bonobo-listener.c: 
4113         (cspi_kestroke_listener_unref),
4114         (cspi_event_listener_unref): impl. undoing previous
4115         homenous environment - for Bill.
4116
4117         * cspi/spi_table.c (long_seq_to_array): use
4118         malloc instead.
4119
4120         * cspi/spi_main.c: split out all bonoboish bits into
4121         bonobo/
4122
4123         * cspi/spi-impl.h: upd. typedefs.
4124
4125         * cspi/spi_registry.c: update to lowlevel API,
4126         return booleans to indicate success in some places.
4127
4128         * cspi/spi_event.c: update to lowlevel API.
4129
4130         * cspi/bonobo/Makefile.am: add.
4131
4132         * cspi/bonobo/cspi-lowlevel.h: add
4133
4134         * cspi/bonobo/cspi-bonobo.c: add
4135
4136         * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
4137
4138         * cspi/Makefile.am: remove spi-listener-impl.[ch],
4139         (SUBDIRS): add bonobo, link in the libs.
4140
4141         * cspi/spi-util.c: kill this file.
4142
4143         * TODO: merge in my bits.
4144
4145 2001-12-11  Michael Meeks  <michael@ximian.com>
4146
4147         * test/test-simple.c (test_value, test_table, main):
4148         remove unused variables causing warnings.
4149
4150         * configure.in: cleanup checks - require gail.
4151
4152 2001-12-11  Bill Haneman  <bill.haneman@sun.com>
4153
4154         * idl/Value.idl:
4155         Changed Value interface to use SValue (scalars) rather than
4156         assuming all values are floats.  This allows floats, doubles,
4157         longs, shorts, and unsigned values to be manipulated.
4158         Introduced Accessibility:SValue union.
4159
4160         * libspi/value.c:
4161         Updated to use new API above, and to work correctly with GValues
4162         of different types in AtkValue.
4163
4164         * cspi/spi_value.c:
4165         Updated to use new API above.  cspi's API is as yet unchanged.
4166
4167         * TODO: 
4168         Updated the Value revision action item.
4169         
4170 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
4171
4172         * test/test-simple.c:
4173         Added test_table (GtkTreeView widget in test window to follow).
4174         Un-commented test_value, added GtkRange widget.
4175         Added GtkTreeView widget with GtkListStore.  It passes regression
4176         test but leaks one SPI object for some reason.
4177
4178         * libspi/value.c:
4179         Fixed bug in impl__set_currentValue.
4180
4181 2001-12-10  Michael Meeks  <michael@ximian.com>
4182
4183         * cspi/spi_text.c: audit for exception handling,
4184         tolerating NULL object references safely etc.
4185
4186         * cspi/spi_value.c: ditto.
4187
4188         * cspi/spi_table.c (AccessibleTable_getSummary),
4189         (AccessibleTable_getAccessibleAt),
4190         (AccessibleTable_getRowHeader),
4191         (AccessibleTable_getColumnHeader),
4192         (AccessibleTable_getCaption): fix bugs hidden by
4193         incorrect casts.
4194         (long_seq_to_array): impl.
4195         (AccessibleTable_getSelectedRows),
4196         (AccessibleTable_getSelectedColumns): use it.
4197
4198 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
4199
4200         * TODO:
4201         Added a TODO list (rough and short for now).
4202
4203         * cspi/spi_hyperlink.c:
4204         * cspi/spi_hypertext.c:
4205         Fixed macro name typos, and remove use of obsolete macro in 
4206         AccessibleHyperlink_getLink.
4207
4208         * cspi/spi_action.c:
4209         * cspi/spi_accessible.c:
4210         * cspi/spi_application.c:
4211         * cspi/spi_component.c:
4212         * cspi/spi_selection.c:
4213         * cspi/spi_text.c:
4214         * cspi/spi_value.c:
4215         Documentation fixes (removed return values from ref/unref methods).
4216
4217 2001-12-10  Michael Meeks  <michael@ximian.com>
4218
4219         * cspi/spi_action.c: audit for exception handling,
4220         tolerating NULL object references safely etc.
4221
4222         * cspi/spi_accessible.c: ditto.
4223
4224         * cspi/spi_component.c: ditto.
4225
4226         * cspi/spi_editabletext.c: ditto.
4227
4228         * cspi/spi_hyperlink.c: ditto.
4229
4230         * cspi/spi_hypertext.c: ditto.
4231
4232         * cspi/spi_image.c: ditto.
4233
4234         * cspi/spi_selection.c: ditto.
4235
4236 2001-12-10  Michael Meeks  <michael@ximian.com>
4237
4238         * configure.in: use cspi/libspi.pc.in instead.
4239
4240         * Makefile.am (pkgconfig_DATA): upd. to match.
4241
4242         * test/simple-at.c (report_focus_event): kill hacks around
4243         bad return values, use putenv not setenv
4244
4245         * libspi/desktop.c (impl_desktop_get_child_at_index): don't
4246         fire ChildGone - I killed it.
4247
4248         * libspi/component.c
4249         (impl_accessibility_component_get_extents): remove
4250         bogus return.
4251
4252         * idl/Accessible.idl: kill ChildGone exception.
4253
4254         * cspi/*.[ch]: kill int return from ref / unref.
4255         
4256         * cspi/spi_main.c (cspi_object_add_check): fold into
4257         (cspi_object_add): here.
4258
4259         * cspi/spi_component.c (AccessibleComponent_getExtents):
4260         handle exceptions elegantly.
4261
4262         * cspi/spi-private.h (cspi_check_ev_return),
4263         (cspi_return_if_fail): impl.
4264
4265         * cspi/spi_accessible.c: use extensively.
4266         (AccessibleStateSet_equals): add direct compare check.
4267
4268         * cspi/spi_selection.c: tolerate NULL objs, and check
4269         exceptions before return.
4270
4271         * cspi/spi-util.c (cspi_warn_ev): rename to
4272         (cspi_check_ev): this & don't pass ev in; no point.
4273
4274 2001-12-10  Michael Meeks  <michael@ximian.com>
4275
4276         * test/test-simple.c: use putenv not setenv
4277         (get_environment_vars): more chatty if you're not using
4278         the fun bits.
4279
4280         * test/simple-at.c: do the setenv so more people see the
4281         nice demo easily.
4282
4283 2001-12-10  Bill Haneman <bill.haneman@sun.com>
4284
4285         * libspi/registry.c:
4286         Changed check of CORBA_environment on notification to be a warning
4287         instead of an error for the moment, since we can recover from this
4288         error when caused by a queued notification from a dead app.
4289         
4290         * libspi/value.c:
4291         Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
4292         used by all current implementors of AtkValue), and coerce to
4293         CORBA_float. (Proper general case fix may require change to Value.idl).
4294
4295 2001-12-09  Bill Haneman <bill.haneman@sun.com>
4296
4297         * cspi/spi.h:
4298         * cspi/spi_event.c:
4299         * cspi/spi_accessible.c:
4300         Documentation fixes: added user_data params to documentation for 
4301         listeners and callbacks.  
4302
4303         * cspi/spi_accessible.c: 
4304         Changed AccessibleStateSet_compare to return a
4305         StateSet rather than return the difference set into a third parameter.
4306         
4307         
4308 2001-12-09  Bill Haneman <bill.haneman@sun.com>
4309
4310         * configure.in:
4311         Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
4312         remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
4313         it). 
4314
4315         * Makefile.am:
4316         Remove subdirectory po from SUBDIRS for now.
4317
4318         * at-bridge/bridge.c:
4319         Beefed up a couple of debug printouts.
4320         One-line fix for signal notification name formatting.
4321
4322         * libspi/accessible.c:
4323         Added assertion to spi_accessible_new ().
4324
4325         * libspi/application.c:
4326         Put #ifdef qualifiers around a printf.
4327
4328         * libspi/value.c:
4329         Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
4330
4331         * registryd/Makefile.am:
4332         * util/Makefile.am:
4333         Replaces use of XML_I18N_MERGE_SERVER_RULE with
4334         INTLTOOL_SERVER_RULE macro.
4335
4336         * test/simple-at.c:
4337         Added an event listener for several ATK signals, for
4338         testing and debugging.  Removed a few g_warnings.
4339         Added test output if focussed item implements the Value interface.
4340
4341         * test/test-simple.c:
4342         Added test_value () function (known not to pass at the moment, so
4343         not actually called yet.
4344         
4345 2001-12-08  Michael Meeks  <michael@ximian.com>
4346
4347         * at-bridge/bridge.c (bridge_focus_tracker),
4348         (emit_eventv): fix the same ref. leak.
4349         (register_atk_event_listeners): don't leak.
4350
4351         * cspi/spi-listener-impl.c (cspi_event): more 
4352         protection from client code.
4353
4354         * test/test-simple.c (test_desktop): unref the app.
4355
4356         * test/Makefile.am: upd. TESTS.
4357
4358         * at-bridge/bridge.c (bridge_exit_func): release the registry.
4359
4360         * test/keysynth-demo.c (keysynth_exit): unref the listeners.
4361
4362         * cspi/spi_accessible.c (Accessible_queryInterface): constify.
4363
4364         * cspi/spi_registry.c: constify in strings.
4365         (deregisterGlobalEventListenerAll): don't release the ref.
4366
4367         * cspi/spi.h: start removing redundant / conflicting
4368         gtkdoc comments, making the API readable at a glance :-)
4369         
4370         * cspi/spi_event.c (AccessibleEventListener_unref): impl.
4371
4372         * test/keysynth-demo.c (keysynth_exit, main): upd.
4373
4374         * test/simple-at.c (main, simple_at_exit): upd.
4375
4376         * test/test-simple.c (unutterable_horror): kill.
4377         (utterable_normal_derefs): kill.
4378         (main): upd & do a setenv before gtk_init, so that we
4379         can use memprof - and to save the pain of remembering
4380         this, if we're running under memprof - don't exit.
4381
4382         * cspi/spi_main.c (SPI_exit): return exit status
4383         for cspi.
4384         (SPI_event_quit): impl.
4385         (SPI_event_main): simplify.
4386         (cspi_is_gnome_app): kill.
4387         (SPI_init): kill isGNOMEapp arg.
4388
4389         * at-bridge/bridge.c (register_atk_event_listeners):
4390         re-instate the unref.
4391         (bridge_exit_func): don't re-activate the registry,
4392         protect vs. theoretical re-entry, use the
4393         AT_BRIDGE_SHUTDOWN env. var to determine whether to
4394         assert a clean shutdown - for regression tests.
4395
4396 2001-12-08  Abel Cheung  <maddog@linux.org.hk>
4397
4398         * configure.in: Comment out dummy i18n support for now,
4399           otherwise it fails to build.
4400         * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
4401           EXTRA_DIST. They are missing in tarball.
4402
4403 2001-12-07  Michael Meeks  <michael@ximian.com>
4404
4405         * util/magnifier.c: kill bonobo activation reg. race.
4406
4407         * libspi/component.c
4408         (impl_accessibility_component_get_extents): make it match
4409         it's sig.
4410
4411         * libspi/registry.c (_registry_notify_listeners):
4412         re-remove X headers & reconcile conflicts.
4413         (spi_listener_struct_free): bad conflict resolve.
4414         (impl_accessibility_registry_register_application):
4415         more bad merging fixed.
4416         (impl_accessibility_registry_deregister_application): ditto.
4417         (spi_registry_new): ditto.
4418         (spi_registry_init): don't have an applications field.
4419
4420 [ merge fixups2 branch to here ]
4421 2001-12-07  Michael Meeks  <michael@ximian.com>
4422
4423         * test/simple-at.c (report_focus_event),
4424         (report_focussed_accessible): remove g_warning debug.
4425
4426 2001-12-07  Michael Meeks  <michael@ximian.com>
4427
4428         * test/test-simple.c (validate_tree): comment out some checks.
4429         (test_desktop): app now not registered idly - horay.
4430
4431 2001-12-07  Michael Meeks  <michael@ximian.com>
4432
4433         * cspi/spi_registry.c
4434         (registerAccessibleKeystrokeListener): clean, stop it leaking
4435         great swathes of memory, and device event controller references.
4436         ensure we always pass valid sequences.
4437         (deregisterAccessibleKeystrokeListener): ditto.
4438         (generateKeyEvent): upd.
4439
4440         * at-bridge/bridge.c (bridge_key_listener): handle
4441         registry dead exception gracefully.
4442         (bridge_focus_tracker, emit_eventv): free ev.
4443
4444         * test/simple-at.c (report_focus_event): fix polarity.
4445
4446         * libspi/application.c (notify_listeners): kill the ev
4447         argument, and make sure we init the ev we use.
4448         (spi_application_object_event_listener): split out a chunk
4449         (get_atk_object_ref): here & fixup.
4450         (reverse_lookup_name_for_toolkit_event): make const.
4451         (spi_application_toolkit_event_listener): fixup, kill leaks
4452         ref problems etc.
4453
4454         * at-bridge/bridge.c (register_atk_event_listeners):
4455         don't unref the noop object - causes grief.
4456
4457         * libspi/registry.c: remove the X headers.
4458         turn off the debug churn.
4459
4460         * libspi/accessible.c (spi_accessible_new_return): only
4461         release the ref if we are supposed to [doh]
4462
4463         * test/simple-at.c (report_button_press, report_focus_event):
4464         guard vs. unexpected exit.
4465
4466         * at-bridge/bridge.c (gtk_module_init): prune printf.
4467         (bridge_exit_func): fix app unref.
4468
4469         * libspi/Makefile.am: don't install registry or desktop.h
4470
4471         * libspi/*.h: update includes.
4472
4473         * libspi/application.h: don't include ourself, or
4474         other redundant headers.
4475
4476 2001-12-06  Michael Meeks  <michael@ximian.com>
4477
4478         * libspi/accessible.c
4479         (get_accessible_from_servant): impl.
4480         Upd. all CORBA impl.s to use it killing cut and paste.
4481
4482         * cspi/spi_main.c (cspi_cleanup): guard vs. double
4483         invokes.
4484         (SPI_init): register atexit cleanup handler here.
4485
4486 2001-12-06  Michael Meeks  <michael@ximian.com>
4487
4488         * at-bridge/bridge.c (gtk_module_init): g_error on
4489         activation exception
4490
4491 2001-12-06  Michael Meeks  <michael@ximian.com>
4492
4493         * at-bridge/bridge.c (gtk_module_init): some sort of
4494         confusing merge clash - reverted.
4495         (bridge_idle_init): ditto.
4496
4497         * test/test-simple.c (main, utterable_normal_derefs):
4498         merge from Bill - somehow not committed.
4499
4500 2001-12-06  Michael Meeks  <michael@ximian.com>
4501
4502         * libspi/value.c (spi_value_class_init): upd.
4503         (spi_value_finalize): kill.
4504
4505         * libspi/table.c (spi_table_finalize): kill.
4506         (spi_table_interface_new): upd.
4507         (spi_table_class_init): upd.
4508         (get_table_from_servant): impl.
4509         Upd. all CORBA impl.s to use it killing yet more cut and paste.
4510
4511         * libspi/selection.c (spi_selection_finalize): kill.
4512         (spi_selection_interface_new): upd.
4513         (spi_selection_class_init): upd.
4514         (get_selection_from_servant): impl.
4515         Upd. all CORBA impl.s to use it killing yet more cut and paste.
4516
4517         * libspi/relation.c (spi_relation_finalize): kill.
4518         (spi_relation_class_init, spi_relation_new): upd
4519
4520         * libspi/image.c (spi_image_finalize): kill.
4521         (spi_image_class_init): upd.
4522         (spi_image_interface_new): upd.
4523         (get_image_from_servant): impl.
4524         Upd. all CORBA impl.s to use it killing yet more cut and paste.
4525
4526         * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
4527         (spi_hyperlink_finalize): kill.
4528         (spi_hyperlink_new): upd.
4529         (get_hyperlink_from_servant): impl.
4530         Upd. all CORBA impl.s to use it killing yet more cut and paste.
4531
4532         * libspi/hypertext.c (spi_hypertext_interface_new): upd.
4533         (spi_hypertext_finalize): kill.
4534         (spi_hypertext_class_init): upd.
4535         (get_hypertext_from_servant): impl.
4536         Upd. all CORBA impl.s to use it killing yet more cut and paste.
4537
4538         * libspi/editabletext.c (spi_editable_text_finalize): kill.
4539         (spi_editable_text_interface_new): upd.
4540         (get_editable_text_from_servant): impl.
4541         Upd. all CORBA impl.s to use it killing yet more cut and paste.
4542         
4543         * libspi/text.c (get_text_from_servant): impl.
4544         All impls - update to use it killing more cut and paste,
4545         also fix bad string returns on duff args ( a somewhat
4546         impossible case to handle - but hey ).
4547         (spi_text_construct): impl.
4548         (spi_text_interface_new): upd.
4549         (spi_text_object_finalize): kill.
4550
4551         * libspi/component.c
4552         (accessibility_component_object_finalize): kill.
4553         (spi_component_class_init): upd.
4554         (get_component_from_servant): impl. helper to kill cut & paste.
4555         (impl_accessibility_component_contains): 
4556         (impl_accessibility_component_get_accessible_at_point): 
4557         (impl_accessibility_component_get_position): 
4558         (impl_accessibility_component_get_extents): 
4559         (impl_accessibility_component_get_mdi_z_order): 
4560         (impl_accessibility_component_get_layer): 
4561         (spi_component_interface_new): upd.
4562
4563         * libspi/action.c (spi_action_finalize): kill.
4564         (spi_action_class_init): upd. inherit from SpiObject.
4565         (spi_action_interface_new): upd.
4566         (get_action_from_servant): impl. helper to reduce cut & paste.
4567         (impl_getKeyBinding, impl_getName, impl_doAction),
4568         (impl_getDescription): Use it everywhere.
4569
4570         * cspi/spi_main.c (get_live_refs): a pointer hash.
4571         (spi_object_hash, spi_object_equal): comment out.
4572         There are issues with CORBA object hashing that need
4573         solving.
4574
4575         * libspi/application.c (spi_application_init),
4576         (spi_application_new): upd.
4577
4578         * libspi/accessible.c (spi_accessible_object_finalize): kill.
4579         (spi_accessible_class_init): upd.
4580         s/accessible/object/ in epv methods.
4581
4582 2001-12-05  Bill Haneman <bill.haneman@sun.com>
4583
4584         * at-bridge/bridge.c:
4585         Reorder the bridge initialization into the bridge gtk_module_init,
4586         an immediate call to bridge_register_app, and an idle_add for
4587         register_atk_event_listeners (the only code that *must* wait until
4588         GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
4589         the activation, creates the application's Accessible object, and
4590         queues the bridge_idle_init function.  Restored call to
4591         Accessibility_Registry_deregisterApplication().  
4592         Prior to making this call we obtain a new reference to the
4593         registry, which is a temporary hack that helps us handle apps that
4594         shut down the bonobo mainloop before we get there.
4595
4596         * libspi/registry.c:
4597         Fix string leakage in debug block, and don't segv if a an app
4598         dies before its event notifications have been propagated.
4599
4600         * cpi/spi_util.c:
4601         Modify cspi_check_ev() to call g_warning() rather than g_error(),
4602         as stopgap measure until we get proper exception handling when 
4603         objects die during or before interrogation.  
4604
4605         * cspi/spi_main.c:
4606         * cspi/spi.h:
4607         Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
4608         Also changed default value of is_gnome_app to TRUE.
4609
4610         * test/simple-at.c:
4611         * test/keysynth-demo.c:
4612         Changed use of SPI_init and SPI_event_main to reflect API change above.
4613
4614         * test/simple-at.c:
4615         Made report_focus_event check the warning value from getName
4616         before reporting on focussed accessible; simplifies handling of
4617         notifications from dead objects.
4618
4619         * test/test-simple.c: (Changes not in this patch since source is
4620         not in CVS ?)
4621         
4622 2001-12-05  Michael Meeks  <michael@ximian.com>
4623
4624         * registryd/registryd.c (main): protect against
4625         bonobo-activation startup race condition.
4626
4627         * cspi/spi_main.c (cspi_object_add_check): cope
4628         with the exception elegantly.
4629
4630         * idl/Accessible.idl: decl. ChildGone
4631
4632         * libspi/desktop.c (spi_desktop_dispose): impl.
4633         (spi_desktop_class_init): upd.
4634         (spi_desktop_add_application),
4635         (spi_desktop_remove_application),
4636         (abnormal_application_termination): impl.
4637         (impl_desktop_get_child_at_index): re-impl.
4638
4639         * libspi/registry.c
4640         (impl_accessibility_registry_deregister_application),
4641         (impl_accessibility_registry_register_application): 
4642         kill excessive debug clutter.
4643
4644         * test/test-simple.c (test_misc): test some NULL
4645         tolerance. (main): upd.
4646
4647         * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4648         implements no interfaces - so let's not crash.
4649
4650         * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4651
4652         * libspi/accessible.c (spi_accessible_new_return): impl.
4653         helper to calm the cut and paste, to cope with
4654         NULL AtkObjects effectively and efficiently, and to kill
4655         the referencing bugs.
4656
4657         * libspi/table.c (impl_getAccessibleAt),
4658         (impl_getRowHeader, impl_getColumnHeader): upd.
4659
4660         * libspi/hyperlink.c (impl_getObject): upd.
4661
4662         * libspi/accessible.c
4663         (impl_accessibility_accessible_get_child_at_index): upd.
4664
4665         * libspi/component.c
4666         (impl_accessibility_component_get_accessible_at_point): upd.
4667
4668         * test/test-simple.c (test_editable_text, test_text): impl.
4669         some simple tests.
4670
4671         * cspi/spi_editabletext.c
4672         (AccessibleEditableText_insertText): constify.
4673
4674         * test/test-simple.c (focus_me): make more robust.
4675
4676         * libspi/accessible.c: remove some printfs in methods that
4677         we test and work fine, so we can get a clean tree dump.
4678
4679         * test/test-simple.c (validate_accessible),
4680         (validate_tree): make tree dumping pretty too.
4681
4682         * at-bridge/bridge.c (bridge_signal_listener): upd. so
4683         it builds without debug on.
4684
4685         * test/test-simple.c (validate_accessible): fix the most
4686         ludicrous bug.
4687
4688         * cspi/spi_main.c (spi_object_release): leave the nicely
4689         blanked memory around if in debug mode.
4690
4691         * cspi/spi-listener-impl.c (cspi_event): use add_check.
4692
4693 [committed to fixups2]
4694 2001-12-05  Michael Meeks  <michael@ximian.com>
4695
4696         * libspi/editabletext.c
4697         (spi_editable_text_class_init): g_type_class_peek_parent,
4698         not interface peek - so we finalize cleanly.
4699
4700         * libspi/accessible.c (spi_accessible_new): kill debug.
4701
4702         * test/test-simple.c (validate_accessible): fix ref.
4703         leak, print strings before freeing them; sigh, comment a
4704         chunk out due to strangeness.
4705         (validate_tree): unref the child after use.
4706
4707         * cspi/spi_component.c (AccessibleComponent_getLayer):
4708         add missing break statement, switch on zlayer not the
4709         uninitialized retval.
4710
4711         * cspi/spi_main.c (cspi_object_add): add assert, local ref
4712         before (possibly re-entering) remote unref.
4713
4714         * test/simple-at.c (main): unref the desktop.
4715
4716         * cspi/spi_accessible.c (cspi_accessible_is_a): move 
4717         into:
4718         
4719         * cspi/spi_main.c (cspi_accessible_is_a): here to 
4720         isolate bonobo API usage more.
4721
4722         * libspi/registry.c (impl_accessibility_registry_register_application): 
4723         prune bogus comment.
4724
4725 2001-12-04  Michael Meeks  <michael@ximian.com>
4726
4727         * test/test-simple.c (validate_tree): upd.
4728         IndexInParent check to make it more lucid.
4729         (validate_accessible): dump the tree.
4730
4731         * libspi/accessible.c (de_register_public_ref),
4732         (get_public_refs): impl.
4733         (spi_accessible_new): make more efficient & intuitive.
4734         Now IndexInParent check works.
4735
4736 2001-12-04  Michael Meeks  <michael@ximian.com>
4737
4738         * cspi/spi-util.h: remove.
4739
4740         * cspi/spi.h: move SPI_freeString here
4741
4742         * libspi/component.c (impl_accessibility_component_get_layer): 
4743         warning fixage.
4744         (impl_accessibility_component_get_mdi_z_order): ditto,
4745         return -1 on error - is this ok ?
4746
4747         * test/test-simple.c (test_application): impl.
4748
4749         * cspi/spi_accessible.c (Accessible_getApplication),
4750         (Accessible_isApplication): impl.
4751
4752         * libspi/registry.c (spi_listener_struct_free): release
4753         the CORBA reference too.
4754
4755         * libspi/accessible.c
4756         (impl_accessibility_accessible_get_parent): fix ref leak.
4757
4758         * libspi/registry.c (spi_registry_new): make the registry
4759         immortal - we don't want it to go away ever.
4760
4761         * libspi/application.c
4762         (spi_accessible_application_finalize): impl. cleanup.
4763
4764         * cspi/spi_registry.c
4765         (deregisterGlobalEventListenerAll),
4766         (deregisterGlobalEventListener),
4767         (deregisterAccessibleKeystrokeListener): fix ref leak.
4768
4769         * cspi/spi_main.c (SPI_init): remove redundant ref.
4770
4771         * test/test-simple.c (unutterable_horror): impl. to force a
4772         clean shutdown.
4773         (main): use it.
4774
4775         * libspi/registry.c
4776         (impl_accessibility_registry_deregister_application): release
4777         the application when we de-register it.
4778
4779         * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
4780         until we have the infastructure to get it right.
4781
4782 2001-12-03  Michael Meeks  <michael@ximian.com>
4783
4784         * libspi/Makefile.am: only build eventlistener.[ch]
4785
4786         * libspi/accessible.c
4787         (impl_accessibility_accessible_get_child_at_index): don't leak.
4788
4789         * at-bridge/bridge.c (bridge_exit_func): cope with an exit
4790         before we hit the idle handler.
4791
4792         * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
4793         debugging than exit.
4794
4795         * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
4796
4797         * libspi/listener.c (impl_notify_event): check source
4798         not NIL before unref.
4799
4800         * libspi/registry.c (impl_registry_notify_event): ditto.
4801
4802         * libspi/eventlistener.c
4803         (impl_accessible_event_notify_event): unref the source.
4804
4805         * libspi/accessibleeventlistener.c
4806         (impl_accessible_event_notify_event): unref the source.
4807
4808         * idl/Event.idl: remove 'hash_id' attribute - of no
4809         concievable use.
4810
4811         * libspi/application.c (notify_listeners): upd list
4812         iteration & sig.
4813         (spi_application_object_event_listener), 
4814         (spi_application_toolkit_event_listener): upd to do correct
4815         CORBA ref counting.
4816
4817         * libspi/registry.c
4818         (_registry_notify_listeners): update.
4819         (parse_event_type): this method also leaks like a sieve.
4820         (impl_accessibility_registry_deregister_global_event_listener): 
4821         fix ETYPE_WINDOW case.
4822
4823         * libspi/application.c
4824         (impl_accessibility_application_register_object_event_listener): 
4825         kill leak.
4826
4827         * libspi/hyperlink.c (impl_getObject): fix ref mistake.
4828
4829         * libspi/hypertext.c (impl_getLink): ditto.
4830
4831         * cspi/spi_main.c (cspi_object_add): remove
4832         bogus CORBA_Object_duplicate.
4833
4834         * cspi/spi-listener-impl.c (cspi_event): dup/ref
4835         on the object_add.
4836
4837         * cspi/spi_accessible.c
4838         (Accessible_getRelationSet): fix leak / referencing issue.
4839
4840         * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
4841         (cspi_object_add, cspi_object_unref): upd.
4842         (spi_object_release, get_live_refs): impl.
4843         (cspi_cleanup): simplify.
4844
4845         * *.[ch]: s/boolean/SpiBoolean/
4846
4847         * cspi/spi_accessible.c (role_names): actualy order so it
4848         corresponds with the enum !
4849
4850         * test/test-simple.c (test_roles): check some role strings
4851         vs. enums to detect offset errors.
4852
4853 2001-12-01  Michael Meeks  <michael@ximian.com>
4854
4855         * cspi/spi_main.c (cspi_object_add_check): impl. helper.
4856
4857         * cspi/spi_accessible.c (Accessible_getChildAtIndex):
4858         check ev before 
4859         (Accessible_getChildAtIndex): use cspi_add_check so we
4860         check the ev before using a (possibly) invalid value.
4861
4862         * libspi/accessible.c
4863         (impl_accessibility_accessible_get_parent): don't segv
4864         on a NULL parent.
4865
4866         * at-bridge/bridge.c (gtk_module_init): upd.
4867         (bridge_property_event_listener): don't leak strings
4868         and events !
4869         (bridge_state_event_listener),
4870         (bridge_property_event_listener): don't use a static
4871         buffer in case of recursive event emission &
4872         re-enterancy - split out the swathe of cut and paste
4873         into:
4874         (emit_eventv): and fix 2 ref leaks here & comply to the
4875         coding style.
4876         (bridge_register_app): rename to 
4877         (bridge_idle_init): this and kill arg parsing, split
4878         various inits & bonobo-activation registration to module
4879         init time, kill referencing error.
4880         (bridge_exit_func): fix the same leak.
4881         (bridge_focus_tracker): don't leak event structures
4882         and strings.
4883         (bridge_signal_listener): more leakage and cut & paste
4884         fixage.
4885         (bridge_key_listener): return the result - FIXME is
4886         this polarity correct ?
4887         (accessibility_keystroke_from_atk_key_event): rename
4888         (accessibility_init_keystroke_from_atk_key_event): and stop
4889         leakage.
4890         (gtk_module_init): return a value - not that it is checked by
4891         Gtk - but hey.
4892         (bridge_key_listener): register my horror at casting between
4893         IDL defined structs.
4894         (bridge_get_registry): kill - not used.
4895
4896         * cspi/spi_accessible.c (Accessible_getRole): make return const.
4897
4898         * test/test-simple.c (test_roles): impl.
4899         (test_desktop, validate_accessible, validate_tree): impl.
4900
4901         * cspi/spi_accessible.c (role_names): fixup bogus
4902         MAX_ROLES setup, make constants const for efficient linkage
4903         (AccessibleRole_getName): conform to coding style, make
4904         return 'const'
4905
4906 2001-11-30  Michael Meeks  <michael@ximian.com>
4907
4908         * cspi/spi.h: add missing prototype.
4909
4910         * libspi/registry.c (spi_listener_struct_new): fix sig.
4911
4912         * test/Makefile.am: add test-simple
4913
4914         * test/test-simple.c: add
4915
4916         * test/test.sh: add.
4917
4918         * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4919
4920         * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4921         do it straight - since otherwise we often get an activation race.
4922
4923 [ work before Bill duplicated a chunk of it ... ]
4924 2001-11-30  Michael Meeks  <michael@ximian.com>
4925
4926         * libspi/keystrokelistener.c
4927         (spi_keystroke_listener_class_init): fixup arg
4928         count (doh).
4929
4930         * libspi/eventlistener.c
4931         (spi_event_listener_class_init): ditto.
4932
4933         * tests/test.sh: add.
4934
4935         * cspi/spi-listener-impl.h: update macros.
4936
4937         * cspi/spi-listener-impl.c
4938         (cspi_event_listener_remove_callback): add
4939         correct pre-conditions.
4940
4941         * cspi/spi_main.c (SPI_exit): guard vs. double
4942         exits, exit the mainloop nicely.
4943         (SPI_event_main): make more sense.
4944         (SPI_init): move the atexit evilness here so we
4945         always do it (yuck).
4946         (SPI_event_main): upd.
4947
4948         * test/simple-at.c: update for listener changes.
4949
4950         * registryd/registryd.c (main): prune kruft.
4951
4952         * libspi/libspi.h: upd.
4953
4954         * libspi/eventlistener.[ch]: rename broken macros.
4955
4956         * libspi/accessibleeventlistener.[ch]: remove.
4957
4958         * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4959
4960         * test/test-simple.c: Add - automated tests.
4961
4962         * cspi/spi-listener-impl.c (cspi_event),
4963         (cspi_key_event): add user_data to invoke.
4964         (cspi_keystroke_listener_finalize): impl.
4965         (cspi_keystroke_listener_class_init): upd.
4966
4967         * cspi/spi_event.c
4968         (createAccessibleEventListener),
4969         (AccessibleEventListener_addCallback),
4970         (createAccessibleKeystrokeListener),
4971         (AccessibleKeystrokeListener_addCallback): upd.
4972
4973         * libspi/deviceeventcontroller.c
4974         (spi_device_event_controller_check_key_event): add public proto.
4975
4976         * libspi/registry.c
4977         (impl_accessibility_registry_deregister_global_event_listener): 
4978         always init listeners.
4979         (_registry_notify_listeners): yes it is.
4980
4981         * cspi/spi-listener-impl.c (cspi_key_event): 
4982         move debug to here.
4983         (cspi_event_listener_finalize): impl.
4984         (cspi_event_listener_class_init): hook up.
4985         (event_handler_new, event_handler_free),
4986         (event_list_remove_by_callback): impl.
4987         (cspi_event_listener_remove_callback),
4988         (cspi_keystroke_listener_remove_callback),
4989         (cspi_keystroke_listener_add_callback),
4990         (cspi_event_listener_add_callback): upd.
4991
4992         * libspi/keystrokelistener.c
4993         (keystroke_listener_object_finalize): kill
4994         (spi_keystroke_listener_class_init): upd.
4995         (spi_keystroke_listener_add_callback),
4996         (spi_keystroke_listener_remove_callback): kill,
4997         use signals.
4998         (impl_key_event): prune drasticaly.
4999
5000         * libspi/eventlistener.c
5001         (spi_event_listener_add_callback),
5002         (spi_event_listener_remove_callback): kill, use
5003         signals.
5004         (impl_accessible_event_notify_event): upd.
5005         (spi_event_listener_object_finalize): remove.
5006
5007         * libspi/Makefile.am: use eventlistener.[ch]
5008
5009 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
5010
5011         * libspi/registry.c (_registry_notify_listeners):
5012         Changed listener loop iteration to use preferred convention.
5013         Got rid of string memory leaks caused be calling g_strconcat
5014         inside function calls.
5015
5016         * libspi/registry.c (parse_event_type):
5017         Stopped g_strconcat memory leaks, free the g_strsplit return,
5018         g_strdup the split pieces when used, etc.
5019
5020 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
5021
5022         * idl/State.idl: 
5023         Change method 'compare' to return a 'difference set' rather than
5024         taking a StateSet as an out parameter (more Java-friendly).
5025
5026         * idl/Accessible.idl:
5027         Added CORBA struct 'BoundingBox', to faciliate API changes below:
5028         
5029         * idl/Component.idl:
5030         * idl/Image.idl:
5031         Changed methods 'getExtents' and 'getImageExtents' in these
5032         interfaces to return a BoundingBox structure.  
5033         (getPosition and getSize are redundant and possibly should be
5034         removed, rather than creating a corresponding Point struct.)
5035
5036         * cspi/spi_component.c:
5037         Modify implementation of getExtents to reflect the above IDL
5038         change.
5039         
5040         * cspi/spi_image.c:
5041         * cspi/spi.h:
5042         Add (missing) AccessibleImage_getExtents () API.
5043
5044         * docs/reference/cspi/at-spi-cspi-sections.txt:
5045         Added AccessibleImage_getImageExtents () to docs.
5046         
5047 2001-12-03  Bill Haneman  <bill.haneman@sun.com>
5048
5049         * idl/Component.idl:
5050         Added two methods, getLayer () and getMDIZOrder (), to reflect
5051         the new ATK methods atk_object_get_layer and
5052         atk_object_get_mdi_z_order. (Which arguably should be part of the
5053         AtkComponent API and AtkObject).  Also added an enum,
5054         ComponentLayer, for the first method's return value.
5055
5056         * libspi/component.c:
5057         Added implementations for these methods.
5058
5059         * cspi/spi_component.c:
5060         * cspi/spi.h:
5061         Added cspi binding methods for above, 
5062         AccessibleComponent_getLayer() and
5063         AccessibleComponent_getMDIZOrder().
5064         Added cspi enum 'AccessibleComponentLayer'.
5065
5066         * docs/reference/cspi/at-spi-cspi-sections.txt:
5067         Added above methods to docs.
5068
5069         * cspi/spi-impl.h:
5070         * cspi/spi*.[ch]:
5071         Changed typedef for 'boolean' type (and all references to it) to
5072         SPIBoolean, to avoid keyword clashes with C++.
5073
5074         * test/simple-at.c:
5075         Changed usages of 'boolean' to SPIBoolean.
5076
5077         * test/keysynth-demo.c:
5078         Changed usages of 'boolean' to 'gboolean' (since this is a gnome
5079         app), except where SPIBoolean is required by the callbacks API.
5080         
5081 2001-12-02  Bill Haneman  <bill.haneman@sun.com>
5082
5083         * cspi/spi_registry.c:
5084         Removed obsolete X event loop for passive keygrabs (which now
5085         lives in libspi).
5086
5087         * registryd/registryd.c:
5088         Removed unnecessary call to gdk_init() [cruft]. This also allows
5089         removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
5090         * configure.in.
5091
5092 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
5093
5094         * docs/reference/cspi:
5095         Included docs for SPI_freeString in generated documentation.
5096
5097         * cspi/spi-util.c:c
5098         Renamed spi_freeString to SPI_freeString, for consistency.  Added
5099         documentation for this function.
5100
5101         * cspi/spi-util.h:
5102         Renamed spi_freeString to SPI_freeString, for consistency.  
5103         Removed obsolete method declaration string_from_corba_string.
5104
5105         * test/keysynth-demo.c:
5106         Small tweak to comments.
5107
5108         * test/simple-at.c:
5109         Stopped leaking the strings returned from CSPI. 
5110
5111 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
5112
5113         Merged Michael's branch (see his ChangeLog entries below).
5114         
5115         * at-bridge/bridge.c: Explicitly hold a ref to the registry while
5116         bridge is alive, release on exit.
5117         
5118         * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
5119         Fix type check macro.
5120         
5121         * cspi/spi_event.c:
5122         Added AccessibleKeystrokeListener_unref() method to reduce leakage.
5123         
5124         * cspi/spi_main.c: 
5125         Added is_gnome_app static, and method cspi_is_gnome_app(), 
5126         so we can call the appropriate shutdown routine at exit in SPI_exit.
5127         
5128         * cspi/spi_main.c (cspi_object_ref):
5129         Duplicate the corba object passed in, since we're keeping it around.
5130         
5131         * cspi/SPI_exit.c, cspi_cleanup:
5132         Moved the releasing of the live refs to its own function, so we
5133         can put it in g_atexit ().  Call the appropriate shutdown API
5134         depending on whethe calling client is a gnome app or not
5135         (bonobo_main_quit or CORBA_ORB_shutdown).
5136         
5137         * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
5138         Unref the listener when this method is called, after
5139         deregistration.  Updated the API docs to note this behavior.
5140
5141         * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
5142         Bugfixes: Ref the bonobo object when returning a parent or child 
5143         reference, or an AccessibleRelation.  Generally made sure
5144         BonoboObject refcount is incremented whenever we return an
5145         Accessible.
5146
5147         * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
5148         Fixed typo/bug in signal declaration.
5149         
5150         * libspi/accessibleeventlistener.h:
5151         Fixed a type macro.
5152
5153         * libspi/application.c (spi_application_new):
5154         Fixed leak in initialization.
5155
5156         * libspi/desktop.c:
5157         Remembered to increment bonobo-object refcount when returning
5158         children (applications) from desktop object.
5159         Added (empty) finalize method.
5160
5161         * libspi/deviceeventcontroller.c:
5162         Hold a ref to listeners inside DEControllerKeyListeners.
5163         Added dec_key_listener_free() method.  Use prepend instead of
5164         append in key_listener list.  Fixed some refcount madness and
5165         leaks in the listener registration/deregistration - deregistration
5166         now calls dec_key_listener_free() on listeners, and on the
5167         temporarily constructed dec_key_listener() used to perform the search/match.
5168
5169         * libspi/hypertext.c (spi_hypertest_finalize):
5170         Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
5171         class.  Also fixed spi_hypertext_interface_new() and
5172         SpiHypertextClass.  Fixed a couple of paren-whitespace formatting bugs.
5173
5174         * libspi/hypertext.h: 
5175         Removed pointless and duplicate AtkObject pointer from
5176         SpiHypertextClass.
5177
5178         * libspi/keystrokelistener.c:
5179         Fixed incorrect type of keystroke_listener_parent_class,
5180         renamed keystroke_listener_object_finalize to
5181         spi_keystroke_listener_object_finalize.
5182         Fixed typo in signal declaration
5183         (spi_keystroke_listener_class_init).
5184
5185         * libspi/registry.c:
5186         Added funcsions spi_listener_struct_new() and
5187         spi_listener_struct_free() to help with memory management issues.
5188         We also now use these methods instead of gnew + poking stuff into
5189         the struct, and to decrement listener counts/free the listeners
5190         when deregistering them.
5191         Fix more refcount bugs in getDesktop() and
5192         getDeviceEventController().  
5193
5194         * test/simple-at.c:
5195         De-ref the desktop after enumerating the applications.  Explicitly
5196         decrement the refcounts on the created listeners on exit (using
5197         _unref for keystroke listeners, and via the
5198         deregisterGlobalEventListenerAll command for other event
5199         listeners).
5200         
5201 2001-11-27  Michael Meeks  <michael@ximian.com>
5202
5203         * cspi/spi-listener.h: fixup enum.
5204
5205 2001-11-27  Michael Meeks  <michael@ximian.com>
5206
5207         * cspi/spi-listener-impl.c (cspi_event_listener_new),
5208         (cspi_keystroke_listener_new): Use the cspi variants.
5209
5210 2001-11-26  Michael Meeks  <michael@ximian.com>
5211
5212         * test/keysynth-demo.c: fix 2 compile warnings, missing
5213         type in decl. etc.
5214
5215         * test/simple-at.c (report_focussed_accessible),
5216         (report_focus_event, report_button_press),
5217         (check_property_change, is_command_key),
5218         (report_ordinary_key_event, report_command_key_event): upd.
5219
5220         * util/mag_client.h: include pre-requisites.
5221
5222         * libspi/accessibleeventlistener.c
5223         (spi_event_listener_object_finalize): free any lingering
5224         callbacks.
5225         
5226         * libspi/keystrokelistener.c
5227         (keystroke_listener_object_finalize): ditto.
5228
5229         * cspi/spi-listener-impl.[ch]: Add to implement cspi style
5230         callbacks, with cspi types.
5231         
5232         * cspi/spi_event.c (createAccessibleEventListener): chain to
5233         (AccessibleEventListener_addCallback): here.
5234         (createAccessibleKeystrokeListener): chain to 
5235         (AccessibleKeystrokeListener_addCallback): here.
5236
5237         * libspi/keystrokelistener.c
5238         (spi_keystroke_listener_class_init): add signal.
5239         (impl_key_event): emit the event.
5240         (boolean_handled_accumulator): impl.
5241         (marshal_BOOLEAN__POINTER): add, gack.
5242
5243         * libspi/accessibleeventlistener.c
5244         (spi_event_listener_class_init): add signal.
5245         (impl_accessible_event_notify_event): emit the signal &
5246         make the loop efficient.
5247         (spi_event_listener_add_callback): prepend the callback.
5248
5249         * libspi/accessibleeventlistener.h: add an 'event' signal,
5250         decl type on callback.
5251
5252         * libspi/keystrokelistener.h: ditto.
5253
5254         * cspi/spi-listener.h: make methods typesafe and
5255         make them use the new event typedefs.
5256
5257         * test/simple-at.c (report_focussed_accessible):
5258         include mag_client.h
5259         Use *(void *)text_interface not the other thing.
5260         
5261         * configure.in: add gtk to registryd bits - since we use
5262         gdk there ( why ? )
5263
5264         * util/magnifier.c: include libbonobo.h
5265         
5266 2001-11-25  Bill Haneman  <bill.haneman@sun.com>
5267
5268         * test/keysynth-demo.c:
5269         Turned this into a simple scanning keyboard, to demonstrate the
5270         use of g_timeout_add () as a means of creating timers for
5271         scanning, and the use of GtkStyle for visually indicating when
5272         virtual keyboard elements are selected.
5273
5274         keysynth-demo now listens to any keyboard keys with zero-valued
5275         keycodes (i.e. 'unused' keys) and interprets them as
5276         single-switches.
5277
5278         Reworked the shiftlatch code so that shift-down state isn't held
5279         for long periods (it's only synthesized immediately prior to
5280         the keysynth event it's modifying).  Note that shiftlatch in this
5281         demo is a convenience, not intended to take the place of AccessX 
5282         which is the better choice for getting 'sticky' modifier keys.
5283
5284         * libspi/deviceeventcontroller.c:
5285         * at-bridge/bridge.c:
5286         * cspi/spi_registry.c:
5287         Removed some debug print stuff, and put other verbosity in #ifdef
5288         blocks.
5289
5290         * util/magnifier.c:
5291         * util/mag_image.h:
5292         Implemented some more of the magnifier IDL for the simple
5293         magnifier: namely, getZoomRegionParams. 
5294         Added mag_x and mag_y members to MagnifierData struct, aid of this
5295         implementation.
5296         Added GtkWindow::realize signal handler to magnifier, to keep it
5297         from receiving keyboard focus from the WM.
5298
5299 2001-11-23  Mark McLoughlin  <mark@skynet.ie>
5300
5301         * cspi/spi-private.h: my guess at what michael forgot
5302         before he ran off to NZ :-)
5303
5304 2001-11-23  Michael Meeks  <michael@ximian.com>
5305
5306         * cspi/spi_event.c (AccessibleEventListener_removeCallback):
5307         comment out non existant method invoke so we link.
5308
5309         * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
5310         use bonobo_exception_get_text for more friendly warnings.
5311
5312         * cspi/spi.c (Obj_Add): move into spi_main & rename
5313         spi_object_add; kill spi.c
5314
5315         * cspi/spi_registry.c
5316         (deregisterGlobalEventListener),
5317         (deregisterGlobalEventListenerAll),
5318         (registerGlobalEventListener): fix exception leaks.
5319
5320         * cspi/spi_main.c (spi_exception): impl. helper, so we
5321         don't leak exceptions.
5322
5323         * cspi/spi_selection.c
5324         (AccessibleSelection_deselectSelectedChild): return the
5325         success state.
5326
5327         * cspi/spi_main.c (spi_ev): impl; hack - gack.
5328         (spi_registry): ditto.
5329         (SPI_init): guard against double inits.
5330
5331         * cspi/*.c: use spi_ev (), and spi_registry () where
5332         appropriate - a temporary hack until we have something
5333         better. Use spi_object_add
5334
5335 2001-11-22  Michael Meeks  <michael@ximian.com>
5336
5337         * cspi/Makefile.am: re organise, install the headers.
5338
5339         * cspi/*.h: add G_BEGIN/END_DECLS
5340
5341 2001-11-22  Bill Haneman  <bill.haneman@sun.com>
5342
5343         * test/simple-at.c:
5344         Added non-preemptive keylistener for key events with no modifiers
5345         and shift-only modifier.
5346
5347         * libspi/keystrokelistener.c:
5348         Removed some verbose diagnostics printout.
5349
5350         * cspi/spi_registry.c:
5351         Fixed a bug that caused all key listeners to be registered as
5352         pre-emptive.
5353         
5354         * libspi/deviceeventcontroller.c:
5355         Fixed bug that caused XGrabKey (preemptive key grab) to be called
5356         for non-preemptive key masks.
5357
5358
5359 2001-11-22  Bill Haneman  <bill.haneman@sun.com>
5360
5361         * docs/reference/idl/at-spi-idl-docs.sgml:
5362         * docs/reference/idl/at-spi-idl-sections.txt:
5363         * docs/reference/idl/at-spi-idl-overrides.txt:
5364         Added missing files.
5365
5366         * docs/reference/Makefile.am:
5367         removed idl from SUBDIRS until we can figure a way to get gtk-doc
5368         to scan the IDL files :-(
5369
5370         * docs/reference:
5371         * docs/cspi:
5372         * docs/idl:
5373         Added .cvsignore files.
5374         
5375 2001-11-21  Bill Haneman  <bill.haneman@sun.com>
5376
5377         * libspi/deviceeventcontroller.c:
5378         * libspi/keystrokelistener.c:
5379         * cspi/spi_event.c:
5380         * cspi/spi_registry.c:
5381         Added filters for KeySets, KeyEventSeq, and event types to key
5382         event dispatching, so listeners should only receive those events
5383         that they requested :-)
5384
5385 2001-11-21  Bill Haneman  <bill.haneman@sun.com>
5386
5387         * configure.in:
5388         * docs/Makefile.am:
5389         * docs/reference:
5390         * docs/reference:Makefile.am:
5391         * docs/reference/cspi:
5392         * docs/reference/cspi:Makefile.am:
5393         * docs/reference/cspi:tmpl:
5394         * docs/reference/cspi:tmpl:*.sgml:
5395         * docs/reference/idl:
5396         * docs/reference/idl:Makefile.am:
5397         * docs/reference/idl:at-spi-idl-sections.txt:
5398         * docs/reference/idl:at-spi-idl-docs.sgml:
5399         * docs/reference/idl:tmpl:
5400         * docs/reference/idl:tmpl:*.sgml:
5401
5402         Restructured docs directory to allow separate 'reference' docs
5403         section, and forked idl and cspi docs.  Added the sgml template
5404         files to CVS.  Added the first sections/structural sgml for the
5405         IDL docs.
5406
5407 2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
5408
5409         * configure.in, libspi/Makefile.am: find libXtst.
5410
5411 2001-11-21  Michael Meeks  <michael@ximian.com>
5412
5413         * test/accessx-gui.c: s/spi_value/value/ - doh.
5414
5415         * libspi/base.[ch]: add.
5416
5417 2001-11-18  Bill Haneman <bill.haneman@sun.com>
5418
5419         * idl/Accessible.idl:
5420         * idl/Application.idl:
5421         * idl/Registry.idl:
5422         * idl/Action.idl:
5423         Started gtk-doc cleanup on IDL.
5424
5425         * libspi/deviceeventcontroller.c:
5426         Added and connected non-preemptive key notification from the
5427         toolkits (in addition to the pre-emptive support from XServer
5428         which we had before, but which causes 'focus flashing').  Filters
5429         are presently limited to key modifiers and global/non-global,
5430         KeySets are presently ignored, as are KeyEvent masks.
5431
5432         Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
5433         structs into the persistant structure rather than just storing
5434         pointers to things that might not persist across servant
5435         invocations.
5436
5437         The XGrabKey call now does async keygrabs, because synchronous
5438         ones were deadlocking with GDK_event code in a very nasty way.
5439
5440         Added boolean to internal method notify_keylisteners, to indicate
5441         whether the event came from the 'toolkit source' or the 'global
5442         (XServer) source' - this is used in the notification process to
5443         determine which listeners to send the event to.
5444
5445         deviceeventcontroller.c is now warning-free.
5446         
5447         * libspi/registry.c:
5448         Fixed regression in application de-registration.
5449         Also fixed some really brain-dead weirdness having to do with
5450         event dispatching - event structs are now duplicated before being
5451         re-marshalled in the dispatch to listeners.  This also fixes a
5452         Solaris build problem.
5453         
5454         
5455 2001-11-20  Michael Meeks  <michael@ximian.com>
5456
5457         * libspi/registry.c
5458         (impl_accessibility_registry_deregister_global_event_listener): 
5459         segv. protection.
5460
5461         * libspi/deviceeventcontroller.c
5462         (spi_device_event_controller_check_key_event): return
5463         FALSE on no virtual method.
5464
5465         * libspi/*..h: make includes work on a correctly pathed install.
5466
5467         * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
5468
5469         * libspi/application.h: kill unused ( and whacked out )
5470         gboolean *spi_application_set_id (AtkObject *app, long id);
5471
5472 2001-11-20  Michael Meeks  <michael@ximian.com>
5473
5474         * libspi/*.[ch]: further convert to bonobo's type func
5475         macros, remove redundnant casts etc.
5476
5477         * libspi/text.c s/accessibility_text/spi_text/g,
5478         re-order to de-cruft.
5479
5480         * libspi/hypertext.c: re-order to kill a huge slew
5481         of redundant forward decls.
5482
5483         * libspi/relation.c: ditto.
5484
5485         * libspi/image.c: ditto.
5486
5487         * */.cvsignore: update
5488         
5489 2001-11-20  Michael Meeks  <michael@ximian.com>
5490
5491         * libspi/deviceeventcontroller.c
5492         (_controller_register_with_devices): use g_getenv,
5493         kill stdlib.h include.
5494
5495         * libspi/keystrokelistener.c
5496         (spi_keystroke_listener_get_type): kill
5497         (spi_keystroke_listener_class_init),
5498         (spi_keystroke_listener_init): rename to this.
5499
5500         * libspi/text.c (impl_getAttributes): fix warning / bug.
5501
5502         * libspi/*.[ch]: more headers, includes and over commenting.
5503         
5504 2001-11-20  Michael Meeks  <michael@ximian.com>
5505
5506         * libspi/*.[ch]: fixup headers, includes and over commenting.
5507
5508         * libspi/image.c (impl__get_imageDescription): const
5509         correctness warning fix. remove redundant casting.
5510
5511         * libspi/table.c (impl_getRowDescription): ditto.
5512         (impl_getColumnDescription): ditto.
5513
5514         * libspi/libspi.h: add.
5515
5516 2001-11-19  Michael Meeks  <michael@ximian.com>
5517
5518         * libspi/editabletext.c (impl_setAttributes): fix warnings.
5519
5520         * libspi/component.c (accessibility_component_get_type): 
5521         rename to (spi_component_get_type): and macroify.
5522         (accessibility_component_init): rename to
5523         (spi_component_init): this
5524         (accessibility_component_class_init): rename to
5525         (spi_component_class_init): this
5526
5527         * libspi/action.c (spi_action_get_type): kill, use the macro.
5528
5529         * libspi/deviceeventcontroller.c (_compare_listeners): re-order
5530         to avoid prototype.
5531
5532         * libspi/application.c (spi_application_object_event_listener),
5533         (impl_accessibility_application_register_object_event_listener):
5534         warning fixes / const understanding updates.
5535
5536         * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
5537         warning fixes.
5538
5539 2001-11-18  Bill Haneman <bill.haneman@sun.com>
5540
5541         * libspi/spi_accessible.c: Added docs and C bindings for
5542         AccessibleStateSet. (No implementations yet).  Documentation
5543         coverage for C bindings now 100%. Made docs for event listeners
5544         more explicit.
5545         
5546         * idl/Registry.idl:
5547         Added methods 
5548             boolean notifyListenersSync (in DeviceEventListener listener,
5549                                      in DeviceEvent event);
5550
5551             oneway void notifyListenersAsync (in DeviceEventListener listener,
5552                                           in DeviceEvent event);
5553
5554         Added DeviceEventListener and DeviceEvent structs (may deprecate
5555         KeyStroke and KeystrokeListener in favor of this generic
5556         event/listener framework for devices).
5557
5558         * libspi/deviceeventcontroller.c:
5559
5560         Changed some key listener code to take masks, etc., and paved the
5561         way for integration of toolkit/non-preemptive key events. Changed
5562         signatures of some internal methods.
5563
5564         * at-bridge/bridge.c:
5565         Fixed regression connecting to interface signals, apparently
5566         caused by GTK+ changes.
5567
5568         Added an internal bridge_state_listener to deal with
5569         property-change:accessible-state signals.
5570
5571         Changed the key_listeners GList to store structs (including masks,
5572         etc.) instead of just CORBA_Objects (required for full
5573         implementation of key listener API).
5574
5575         Connected the bridge to all currently supported Atk signals.
5576         Events now supported: 
5577             object:property-change
5578             object:property-change:accessible-name
5579             object:property-change:accessible-state
5580             object:property-change:accessible-description
5581             object:property-change:accessible-parent
5582             object:property-change:accessible-value
5583             object:property-change:accessible-role
5584             object:property-change:accessible-table-caption
5585             object:property-change:accessible-table-column-description
5586             object:property-change:accessible-table-column-header
5587             object:property-change:accessible-table-row-description
5588             object:property-change:accessible-table-row-header
5589             object:property-change:accessible-table-summary
5590             object:children-changed
5591             object:visible-data-changed
5592             object:selection-changed
5593             object:text-selection-changed
5594             object:text-changed
5595             object:text-caret-moved
5596             object:row-inserted
5597             object:row-reordered
5598             object:row-deleted
5599             object:column-inserted
5600             object:column-reordered
5601             object:column-deleted
5602             object:model-changed        
5603
5604 2001-11-16  Bill Haneman <bill.haneman@sun.com>
5605
5606         * libspi/hyperlink.c,h:
5607         Fixed some broken stuff in hyperlink.
5608         
5609         * libspi/relation.h:
5610         * libspi/relation.c:
5611         * cspi/spi_accessible.c:
5612         Initial implementations of AccessibleRelation methods, and docs.
5613
5614         * libspi/accessible.c:
5615         Fixed a bug that caused SEGV  if an accessible
5616         object's description is NULL, and a client
5617         requests it.  An empty string is now returned.
5618
5619         * cspi/spi_editabletext.c:
5620         * cspi/spi_hypertext.c:
5621         * cspi/spi_image.c:
5622         * cspi/spi_hyperlink.c:
5623         * cspi/spi_table.c:
5624         Added docs.  
5625
5626         Doc coverage now 95%.
5627
5628 2001-11-16  Bill Haneman <bill.haneman@sun.com>
5629
5630         One last namespacing revision:
5631         * libspi/accessibleeventlistener.[ch]:
5632         Renamed SpiAccessibleEventListener to SpiEventListener,
5633         (no need for two namespaces ;-)
5634
5635         And lots of documentation fixes:
5636
5637         * docs/at-spi-docs.sgml:
5638         Fixed 'underscore vs. hyphen' bug that was preventing
5639         the gtk-doc API docs from being automatically generated.
5640
5641         * cspi/spi-impl.h
5642         * cspi/spi-listener.h
5643         * cspi/spi.h
5644         * cspi/spi_accessible.c
5645         * cspi/spi_action.c
5646         * cspi/spi_application.c
5647         * cspi/spi_component.c
5648         * cspi/spi_editabletext.c
5649         * cspi/spi_event.c
5650         * cspi/spi_hypertext.c
5651         * cspi/spi_main.c
5652         * cspi/spi_registry.c
5653         * cspi/spi_selection.c
5654         * cspi/spi_text.c
5655         * cspi/spi_value.c
5656         * docs/Makefile.am
5657         * docs/at-spi-docs.sgml
5658         * docs/at-spi-sections.txt
5659         
5660         Added and fixed up gtk-doc documentation in cspi.
5661         
5662         Interfaces now (fully) documented (subject to revision and enhancement):
5663         SPI_main
5664         Event Listener Support
5665         Registry API
5666         AccessibleApplication
5667         Accessible
5668         AccessibleAction
5669         AccessibleComponent
5670         AccessibleEditableText
5671         AccessibleSelection
5672         AccessibleText
5673         AccessibleValue
5674
5675         still pending:
5676         AccessibleStateSet
5677         AccessibleRelationSet
5678         AccessibleImage
5679         AccessibleTable
5680         AccessibleHyperlink
5681         
5682 2001-11-14  Bill Haneman <bill.haneman@sun.com>
5683
5684         * at-bridge/bridge.c:
5685         Initial work for toolkit-level key snooper connection by bridge.
5686
5687         * cspi/spi-impl.h:
5688         * cspi/spi_*.h:
5689         * cspi/spi_*.c:
5690         New typedefs and fixes to support new namespacing, and cleaner
5691         separation of cspi bindings from libspi bonobo implementation.  
5692         Removed inconsistent and extraneous Spi* namespace prefix that
5693         had crept into cspi headers.
5694         Lots of comment fixes that sed had missed.
5695
5696         * cspi/spi-roletypes.h:
5697         * cspi/spi-statetypes.h:
5698         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
5699         to AccessibleRoleType.
5700         
5701         * libspi/accessibleeventlistener.h:
5702         Fixed minor namespacing weirdness.
5703
5704         * libspi/deviceeventcontroller.c:
5705         Reordered some internal API for device listeners.
5706         Changed the key registry final boolean to 'is_system_global'
5707         rather than 'is_synchronous', which is more descriptive of its 
5708         actual meaning.
5709         Added spi_device_event_controller_new().
5710         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
5711          
5712         * libspi/keystrokelistener.[ch]:
5713         Namespaced KeystrokeListener to SpiKeystrokeListener.
5714         Changed uses of keymasks to use SPI_ prefix, and did other
5715         knock-on fixups.
5716
5717         * libspi/keymasks.h:
5718         Namespaced keymask constants with SPI_ prefix.
5719
5720         * libspi/registry.c:
5721         Some warning fixes, and knock-on fixes from namespace changes.
5722
5723         * test/Makefile.am:
5724         Added rules for accessx-gui test program.
5725
5726         * test/accessx-gui.c:
5727         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
5728         utility.  It doesn't actually use at-spi, but it's still cool and
5729         useful ;-)
5730
5731         * test/keysynth-demo.c:
5732         * test/simple-at.c:
5733         * test/at.c:
5734         * test/app.c:
5735         Fixes so that these test clients work properly with the namespaced
5736         libraries. (Incompletely tested for technical reasons, fixes may follow)
5737         
5738
5739 2001-11-13  Michael Meeks  <michael@ximian.com>
5740
5741         * libspi/application.c
5742         (impl_accessibility_application_get_version),
5743         (impl_accessibility_application_get_toolkit_name):
5744         warning fixes.
5745         (impl_accessibility_application_set_id),
5746         (impl_accessibility_application_get_id): remove
5747         redundant casting code.
5748
5749         * libspi/action.c (impl_getDescription): fix warnings.
5750
5751         * libspi/accessible.c
5752         (impl_accessibility_accessible_get_parent),
5753         (impl_accessibility_accessible_get_child_at_index),
5754         (impl_accessibility_accessible_get_state),
5755         (impl_accessibility_accessible_get_relation_set):
5756         warning fixes & include action.h
5757
5758 2001-11-13  Michael Meeks  <michael@ximian.com>
5759
5760         * *.[ch] fix bits I screwed up:
5761
5762                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
5763                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
5764         
5765 2001-11-13  Michael Meeks  <michael@ximian.com>
5766
5767         * *.[ch] Namespace libspi into spi_ and Spi.
5768
5769 2001-13-11  Michael Meeks  <michael@ximian.com>
5770
5771         * Makefile.am: dist & install at-spi-1.0.pc
5772
5773         * libspi/Makefile.am: install into at-spi-1.0
5774
5775         * idl/Makefile.am (idldir): install into at-spi-1.0
5776
5777         * at-spi-1.0.pc.in: add.
5778
5779         * configure.in: build it.
5780
5781 2001-11-12  Bill Haneman <bill.haneman@sun.com>
5782
5783         * test/keysynth-demo.c:
5784         Use a 'realize' signal-handler to set the WM properties for
5785         the virtual keyboard, rather than making it a "POPUP" type
5786         override-redirect window (thanks to anders carlsson for that
5787         tip!)
5788
5789 2001-11-11  Bill Haneman <bill.haneman@sun.com>
5790
5791         * test/Makefile.am:
5792         * test/keysynth-demo.c:
5793         Added new test of key synthesis, which creates a simple
5794         (mouse-operated) onscreen keyboard.  It inserts key events into
5795         the currently-focused window, thus it does not grab keyboard focus
5796         itself.
5797
5798         * cspi/spi_registry.c:
5799         Added C binding for AT-SPI generateKeyEvent.
5800
5801         * libspi/deviceeventcontroller.c:
5802         Added call to XFilterEvent so that key listener works with XIM (we
5803         hope).  Added event_synth_type to generateKeyEvent, so that we can
5804         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
5805         synthesize a press/release pair for KeySyms.    
5806         
5807 2001-11-09  Bill Haneman <bill.haneman@sun.com>
5808
5809         * libspi/Makefile.am: 
5810         * registryd/Makefile.am:
5811         (temporary) hack to include libXtst in libspi and registryd.
5812         (Needed for keystroke synthesis, see below).
5813
5814         * idl/Registry.idl:
5815         Improved API for registerKeystrokeListener, in accordance with
5816         discussions with Gnopernicus team and X server research.
5817
5818         * libspi/registry.c:
5819         * libspi/deviceeventcontroller.c:
5820         * libspi/accessible.c:
5821         * libspi/keystrokelistener.c:
5822         Changes and fixes to support keylisteners for potentially
5823         consumed key events (that is, 'passive grabs').
5824         Added implementation for generateKeyEvent() [untested].
5825
5826         * cspi/spi.h:
5827         Changes to registerKeystrokeListener() API, as above.
5828         Added deregisterGlobalEventListenerAll(), and 
5829         deregisterKeystrokeListener(), which are needed for clean exit of
5830         clients.
5831         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
5832         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
5833         
5834         * cspi/spi_registry.c:
5835         Added implementations of function prototypes mentioned above.
5836         
5837         * registryd/registryd.c:
5838         Added the key listener event source as a g_timeout(), to allow
5839         receipt of key events that are not caught by GDK (since GDK
5840         doesn't support passive keygrabs, this was necessary).
5841
5842         * test/simple-at.c:
5843         Changed to attach a keylistener to 'Alt' keys, and
5844         respond to the following keycommands: Alt-M (toggle magnifier);
5845         Alt-F (toggle speech); Alt-Q (quit).
5846         Added an exit routine to deregister the listeners, and a key
5847         listener that prints some key info to the console when a key
5848         matches the listener mask (and is thus received by the listener).
5849         
5850         * util/idl/Magnifier.idl:
5851         Changes to magnifier API to support multiple zoom regions,
5852         non-uniform scaling in x and y, markDirty, and a host of other
5853         features that would be useful to magnification.
5854
5855         * util/mag_image.h:
5856         * util/mag_client.c:
5857         * util/mag_client.h:
5858         * util/mag_control.c:
5859         * util/magnifier.c:
5860         Source code changes to support the above IDL changes.
5861         
5862         * util/mag_image.c:
5863         As above, and also changes to use a (slower) generic conversion
5864         path for colormap conversions, since the fast RGB conversions have been
5865         reported to fail for 16-bit displays.
5866
5867 2001-10-26  Michael Meeks  <michael@ximian.com>
5868
5869         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
5870
5871 2001-10-26  Laszlo Peter <laca@ireland.sun.com>
5872
5873         * at-bridge/Makefile.am: fix LDFLAGS.
5874
5875 2001-10-09  Bill Haneman <bill.haneman@sun.com>
5876
5877         * at-bridge/bridge.c:
5878         Re-worked listeners for toolkit events, now we have signal
5879         and property listeners. Added a private method
5880         register_atk_event_listeners(), which registers with the
5881         various atk and gtk signals we need to monitor in order to emit
5882         our at-spi events.
5883         Added emission hook for AtkObject:property-change events, to
5884         support the 'property listeners'.
5885         Fixed some alloc()s of Accessibility_Event structs to use CORBA
5886         allocation.
5887
5888         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5889         which emit warnings and exit, respectively, if CORBA errors occur
5890         during remote calls, and we now use these methods to check most of
5891         our CORBA calls in the C bindings.
5892
5893         * cspi/spi_accessible.c:
5894         Changed AccessibleSelection_refSelectedChild() to
5895         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5896         now increment refcounts.
5897
5898         * cspi/spi_component.c:
5899         Fixed some long pointer casts (dangerous!) to pass pointers to
5900         CORBA_longs of the proper type to the CORBA stubs, and copy the
5901         data into the longs that were passed into the C bindings code.
5902         
5903         * at-bridge/bridge.c:
5904         
5905         * libspi/accessible.c:
5906         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5907         hyperlinks, AtkHyperlink is an object type.     
5908
5909         * libspi/application.c:
5910         Added various conversions to and from "generic" event types and
5911         atk-specific types; this is really part of the 'bridge'
5912         implementation but is valid for all AtkObject-based accessibility 
5913         implementations.
5914
5915         * libspi/editabletext.c:
5916         Fixed nasty bug wherein editable text's finalize method was
5917         unref'ing tha AtkObject reference that the text parent class was
5918         about to unref _again_.  There was also a nasty inheritance bug
5919         that meant that the AccessibleEditableText class was corrupt.
5920
5921         * libspi/selection.c:
5922         Provided implementations for some selection API that was broken.
5923         
5924         * idl/Application.idl:
5925         Added registerObjectEventListener () method.
5926
5927         * THROUGHOUT:
5928         Fixed a number of return values that were Bonobo_Unknowns from
5929         bonobo_object_corba_objref(), which I
5930         forgot to dup before returning.  Changed instances of 
5931         bonobo_object_corba_objref (bonobo_object(o)) to
5932         BONOBO_OBJREF(o), for concision and clarity.
5933         
5934 2001-10-13  Louise Miller <louise.miller@sun.com>
5935
5936         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5937         idl/Event.idl, idl/Registry.idl
5938         Changed these files to include Bonobo_Unknown.idl instead
5939         of Bonobo.idl
5940
5941 2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
5942
5943         * libspi/component.c libspi/component.h:
5944                 Fixed typo.  Added assertions for object checks in 
5945         AccessibleComponent code.
5946
5947 2001-10-09  Bill Haneman <bill.haneman@sun.com>
5948
5949         * idl/Accessible.idl:
5950                 Added 'isEqual (Accessible *object)' 
5951         method for Accessible. (Not Yet Implemented).
5952         
5953         * idl/Registry.idl:
5954                 Changed signature of registerKeystrokeListener() to
5955         take a KeySet and KeyEventSeq so that specific keys and event
5956         types could be requested for monitoring, and added a flag
5957         is_synchronous so that either synchronous or asynchronous
5958         notification could be requested.  (However this is not all
5959         implemented yet). This also meant adding two new typedefs,
5960         KeyEventSeq and KeySet.
5961
5962         * idl/Relation.idl: 
5963                 Added two new relations, RELATION_TOOLTIP_FOR and
5964         RELATION_LEAFNODE_OF.
5965
5966         * idl/State.idl:
5967                 Added new state, STATE_HAS_TOOLTIP.
5968         
5969         * libspi/text.c, editabletext.c:
5970                 Added new assertions to all casts of bonobo-objects from
5971         CORBA servants, to prevent Text API calls on non-text objects.
5972                 Changed suspect casts of int-pointer types, so that we
5973         always send a valid CORBA_long pointer to the CORBA APIs that use
5974         in/out long parameters.  We then have to copy from the CORBA_long
5975         into the regular long or int for return to the C bindings, or
5976         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5977         
5978         * cspi/spi_text.c:
5979         * libspi/deviceeventcontroller.c:
5980                 Cleaned these sources up.
5981         * idl/Text.idl:
5982                 Changed return type for getCharacterAtOffset to
5983         CORBA_unsigned_long, to allow for 32-bit characters.
5984         
5985                 
5986 2001-10-08  Bill Haneman <bill.haneman@sun.com>
5987
5988         * util/Makefile.am:
5989         * idl/Makefile.am:
5990                 Fixed 'make dist' so that distro compiles...
5991         * libspi/keymasks.h:
5992                 new file.
5993         * cspi/spi-listener.c:
5994                 KeystrokeListenerCB now returns a boolean.
5995         * cspi/spi.h:
5996                 Added KeyEventType struct, and KeyStroke.
5997                 Also added createKeystrokeListener(),
5998         KeystrokeListener_addCallback(),
5999         KeystrokeListener_removeCallback(), and added a keymask to
6000         registerKeystrokeListener().
6001         * cspi/spi_accessible.c:
6002                 Changed numerous return types for interfaces from
6003         AccessibleComponent to Accessible<InterfaceName>; this was
6004         probably a cut-and-paste error.
6005         * cspi/spi_event.c:
6006                 Implementations of new KeystrokeListener api (from spi.h,
6007         above).
6008         * idl/Registry.idl:
6009                 Changes to key modifier mapping.
6010                 Created ControllerEventMask struct.
6011                 Made DeviceEventController derive from Bonobo::Unknown.
6012         * idl/Text.idl:
6013                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
6014         * libspi/deviceeventcontroller.c:
6015                 Added a number of new internal (private) methods.
6016         * libspi/editabletext.c:
6017         * libspi/editabletext.h:
6018                 Fixed a number of bugs related to the fact that
6019         editabletext inherits from text.  Fixed the EditableText struct,
6020         the init() call, and use correct casts when calling Text methods
6021         from an EditableText object.  Removed (duplicate) atko from the
6022         EditableText structure, we use the one in the parent Text
6023         structure via the casts mentioned above.
6024         * libspi/keystrokelistener.[ch]:
6025         * libspi/registry.c:
6026                 Changes in support of keyboard handling (above).
6027         
6028         Keyboard handling, though partly functional, is still not
6029         recommended for at-spi client use as there is considerable 
6030         work yet to be done.
6031
6032         * libspi/text.c:
6033                 Changed some places where pointers to various int types
6034         are cast to be pointers to CORBA_long types and vice-versa:
6035         pointer casting is not safe so we pass pointers of the correct
6036         types and then cast the result before putting it into the target
6037         pointers.
6038
6039         * libspi/text.h: minor typos corrected.
6040         * test/simple-at.c: 
6041                 We now speak not only the name of a Text element, but the
6042         first sentence of its content, when it receives focus.
6043                 I also changed the text compression to 75% from 50%.
6044         * util/Accessibility_Util.server.in:
6045                 Changed the default magnifier type to be a 3x vertical
6046         splitscreen magnifier (was previously a 2x horizontal one).
6047
6048 2001-10-03  Bill Haneman <bill.haneman@sun.com>
6049
6050         * libspi/keystrokelistener.h:
6051         * libspi/keystrokelistener.c:
6052                 Initial functional implementations of KeystrokeListener.
6053         * idl/Registry.idl:
6054         
6055 2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
6056
6057         Fixed string handling for NULL strings in libspi.
6058         Added spi_freeString to free strings returned by C bindings.
6059
6060 2001-09-30  Bill Haneman <bill.haneman@sun.com>
6061
6062         * libspi/keystrokelistener.h:
6063         * libspi/keystrokelistener.c:
6064                 Began (no-op) implementations of KeystrokeListener
6065                         (see below).
6066         * libspi/deviceeventcontroller.c:
6067         * libspi/deviceeventcontroller.h:
6068                 Began creating implementations of DeviceEventController,
6069                         to handle keystroke and mouse event listening and
6070                         synthesis.
6071         * libspi/accessible.c:
6072                 Stubbed-in the implementations for
6073                         Accessibility_Accessible_getState and
6074                         Accessibility_Accessible_getRelationSet.
6075         * libspi/registry.c:
6076                 Improved de-registration process and fixed some bugs, 
6077                         deregistration now works correctly.
6078         * libspi/desktop.c:
6079                 Added initialization of applications list (to NULL).
6080         * util/magnifier.c:
6081                 Reduced speech compression from 0.5 to 0.7, for demo.
6082                 Changed call to gdk_window_set_decorations()
6083                         to gtk_window_set_decorated().
6084         * at-bridge/bridge.c:
6085                 Bridge now deregisters when app exits, via
6086                         registration of a cleanup function
6087                         with the g_atexit() call.
6088                         Required making 'app' static, renamed 'this_app'.
6089                 Fixed broken use of bonobo_init, passing argv wrongly.
6090
6091 2001-09-27  Bill Haneman <bill.haneman@sun.com>
6092
6093         * util:
6094         * util/Makefile.am: 
6095                 Created a new directory for 
6096                         accessibility-related utilities, primarily for
6097                         testing and demo purposes, but with possible
6098                         end-user utility.
6099         
6100         * util/magnifier.c:
6101         * util/magnifier.h:
6102         * util/mag_image.c:
6103         * util/mag_image.h:
6104                 Onscreen magnifier utility that
6105                         is implemented as a bonobo service.
6106         
6107         * util/mag_client.c:
6108         * util/mag_client.h:
6109                 Client-side support (simple C bindings) 
6110                         for Magnification service
6111         
6112         * util/mag_control.c:
6113                 Client program example for 
6114                         Magnification service
6115         
6116         * util/Accessibility_Magnifier.server.in:
6117                 Bonobo-activation file for the 
6118                         Magnification service.
6119         
6120         * util/idl:
6121         * util/idl/Magnifier.idl:
6122                 IDL defining the bonobo Magnification
6123                         service interface.
6124
6125         * test/simple-at.c:
6126                 Modifications to use the bonobo-activated magnifier
6127                         above, in place of trying to connect to an existing
6128                         magnifier that uses socket-listening IPC.
6129
6130                 If env variable MAGNIFIER is set, a magnifier service
6131                         will be started if one does not exist.
6132         
6133 2001-09-25  Bill Haneman <bill.haneman@sun.com>
6134
6135         * at-bridge/bridge.c:
6136                 applied patch from Marc to build and run 
6137                 against new glib and gtk+ (seemed like a change 
6138                 to bonobo_init signature was made ?)
6139         * test/simple-at.c:
6140                 made festival-server support turned off by default.
6141                 Added support for a simple magnifier (off by default)
6142                 which will be added to a 'util' directory later.
6143         * at-bridge/Makefile.am:
6144                 Changed "application.h" header from a 'source'
6145                 to a 'dependency' of libat-bridge.
6146
6147 2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
6148
6149         * cspi/Makefile.am:
6150                 Added spi-util.c.
6151
6152         * cspi/spi-util.c:
6153                 Fixed typo
6154
6155         * cspi/spi.c:
6156                 Added interface implementation c files to list of
6157                         includes so they are included in libcspi.
6158
6159         * cspi/spi.h:
6160                 Changed prototype of AccessibleAction_doAction to return a
6161                         boolean.
6162                 Changed prototype of AccessibleTable_getCaption to
6163                         return an Accessible.
6164                 Changed prototype of AccessibleTable_getSelectedRows
6165                         and AccessibleTable_getSelectedColumns to
6166                         return a long (returns the number of selected rows
6167                         or columns respectively).
6168                 Changed name of AccessibleText_refRunAttributes to
6169                         AccessibleText_getAttributes.
6170                 Changed prototype of AccessibleText_getCharacterExtents to
6171                         return a void rather than a boolean. 
6172                 Added support for a AccessibleCoordType parameter
6173                         specifying what type of coordinates are desired.
6174                 Added an AccessibleCordType parameter to
6175                         AccessibleText_getPointAtOffset.
6176
6177         * cspi/spi_accessible.c:
6178                 Added code to return the outstanding interfaces from
6179                         Accessible_queryInterface.
6180
6181         * cspi/spi_action.c:
6182                 Fixed typos.
6183                 Corrected call to getNActions to call the c binding
6184                         for an attribute.
6185
6186         * cspi/spi_editabletext.c:
6187                 Fixed typos.
6188                 Changed name from setRunAttributes to setAttributes.
6189
6190         * cspi/spi_hyperlink.c:
6191                 Fixed typos.
6192                 Changed call to getNAnchors to correctly call the c
6193                         binding for an attribute.
6194
6195         * cspi/spi_hypertext.c:
6196                 Fixed typos.
6197                 Changed getImageDescription to correctly call the
6198                         binding for an attribute.
6199
6200         * cspi/spi_selection.c:
6201                 Changed getNSelectedChildren to correctly call the c
6202                         binding for the attribute.
6203                 Changed refSelectedChild to getSelectedChild.
6204
6205         * cspi/spi_table.c:
6206                 Fixed typos.
6207                 Changed getCaption to return an Accessible.
6208                 Fixed calls which retrieve attributes.
6209                 Changed refAt to getAccessibleAt.
6210                 Changed getNSelectedRows and getNSelectedColumns to
6211                         return longs.
6212
6213         * cspi/spi_text.c:
6214                 Changed getCharacterExtents and getPointAtOffset to accept an
6215                         AccessibleCoordType.
6216                 Fixed typos.
6217                 Changed calls which retrieve attributes.
6218                 Changed refRunAttributes to getAttributes.
6219
6220         * cspi/spi_value.c:
6221                 Fixed typos.
6222
6223         * idl/Hyperlink.idl:
6224                 Changed n_anchors attribute to nAnchors to keep naming
6225                         convention consistent.
6226
6227         * idl/Table.idl:
6228                 Made Table inherit from Bonobo::Unknown.
6229                 Added nSelectedColumns and nSelectedRows attributes.
6230
6231         * idl/Value.idl:
6232                 Made Value inherit from Bonobo::Unknown.
6233
6234         * libspi/hyperlink.c:
6235                 Change for nAnchors attributte name change.
6236
6237 2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
6238         * cspi/Makefile.am:
6239                 Added spi-util.c.
6240
6241         * cspi/spi-util.c:
6242                 Fixed typo
6243
6244         * cspi/spi.c:
6245                 Added interface implementation c files to list of
6246                         includes so they are included in libcspi.
6247
6248         * cspi/spi.h:
6249                 Changed prototype of AccessibleAction_doAction to return a
6250                         boolean.
6251                 Changed prototype of AccessibleTable_getCaption to
6252                         return an Accessible.
6253                 Changed prototype of AccessibleTable_getSelectedRows
6254                         and AccessibleTable_getSelectedColumns to
6255                         return a long (returns the number of selected rows
6256                         or columns respectively).
6257                 Changed name of AccessibleText_refRunAttributes to
6258                         AccessibleText_getAttributes.
6259                 Changed prototype of AccessibleText_getCharacterExtents to
6260                         return a void rather than a boolean. 
6261                 Added support for a AccessibleCoordType parameter
6262                         specifying what type of coordinates are desired.
6263                 Added an AccessibleCordType parameter to
6264                         AccessibleText_getPointAtOffset.
6265
6266         * cspi/spi_accessible.c:
6267                 Added code to return the outstanding interfaces from
6268                         Accessible_queryInterface.
6269
6270         * cspi/spi_action.c:
6271                 Fixed typos.
6272                 Corrected call to getNActions to call the c binding
6273                         for an attribute.
6274
6275         * cspi/spi_editabletext.c:
6276                 Fixed typos.
6277                 Changed name from setRunAttributes to setAttributes.
6278
6279         * cspi/spi_hyperlink.c:
6280                 Fixed typos.
6281                 Changed call to getNAnchors to correctly call the c
6282                         binding for an attribute.
6283
6284         * cspi/spi_hypertext.c:
6285                 Fixed typos.
6286                 Changed getImageDescription to correctly call the
6287                         binding for an attribute.
6288
6289         * cspi/spi_selection.c:
6290                 Changed getNSelectedChildren to correctly call the c
6291                         binding for the attribute.
6292                 Changed refSelectedChild to getSelectedChild.
6293
6294         * cspi/spi_table.c:
6295                 Fixed typos.
6296                 Changed getCaption to return an Accessible.
6297                 Fixed calls which retrieve attributes.
6298                 Changed refAt to getAccessibleAt.
6299                 Changed getNSelectedRows and getNSelectedColumns to
6300                         return longs.
6301
6302         * cspi/spi_text.c:
6303                 Changed getCharacterExtents and getPointAtOffset to accept an
6304                         AccessibleCoordType.
6305                 Fixed typos.
6306                 Changed calls which retrieve attributes.
6307                 Changed refRunAttributes to getAttributes.
6308
6309         * cspi/spi_value.c:
6310                 Fixed typos.
6311
6312         * idl/Hyperlink.idl:
6313                 Changed n_anchors attribute to nAnchors to keep naming
6314                         convention consistent.
6315
6316         * idl/Table.idl:
6317                 Made Table inherit from Bonobo::Unknown.
6318                 Added nSelectedColumns and nSelectedRows attributes.
6319
6320         * idl/Value.idl:
6321                 Made Value inherit from Bonobo::Unknown.
6322
6323         * libspi/hyperlink.c:
6324                 Change for nAnchors attributte name change.
6325
6326
6327 2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
6328
6329         implementations-- made server implementations own AtkObject pointers
6330         rather than their respective AtkInterrface pointers to fix
6331         refcounting.  AtkHyperlink is still broken.
6332
6333 2001-09-04  Bill Haneman <bill.haneman@sun.com>
6334         * cspi/spi_accessible.c:
6335                 Added method Accessible_Role_getName(),
6336                         and requisite string array (role_names).
6337                 Added conversion string_from_corba_strin() call
6338                         to Accessible_getName and _getDescription.
6339         * libspi/accessible.c:
6340                 Added implementation for Accessible_getRole()
6341         * test/simple-at.c:
6342                 Added festival support, used if environment variable
6343                         FESTIVAL is set.
6344         
6345 2001-09-04  Bill Haneman <bill.haneman@sun.com>
6346
6347         * at-bridge/bridge.c:
6348             Now allocate Accessibility_Event using
6349             Accessibility_Event__alloc() instead of g_new0().
6350         * libspi/accessibleeventlistener.c:
6351             Initialize AccessibleEventListener->callbacks to NULL.
6352             Fixed accessible__event_listener_init() param, changed to
6353             "AccessibleEventListener *" type.
6354             Changed a bonobo_object_release_unref() call to
6355             Accessibility_Accessible_unref().
6356         * libspi/listener.c:
6357             Changed Bonobo_Unknown_unref to (equivalent) 
6358             Accessibility_Accessible_unref.
6359         * libspi/registry.c:
6360             Changed bonobo_object_release_unref to 
6361             Accessibility_Accessible_unref.
6362         
6363 2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
6364         
6365         * Added files:
6366             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
6367             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
6368             spi-util.c spi-util.h
6369             Implementations for C bindings to remaining accessibility 
6370             interfaces.
6371
6372 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
6373         
6374         * idl/Action.idl:
6375             changed return value of Action from void to boolean to 
6376             bring in line with ATK.
6377
6378         * idl/Text.idl:
6379             Changed getText funcions to return "out" start and end offsets.
6380             Changed getAttributes to take and offset and return the start 
6381             and end offset of the attribute run.
6382             Changed getOffsetAtPoint and getCharacterExtents to take an 
6383              enum describing whether coordinates are window or screen.
6384
6385         * Added files:
6386             libspi/action.c libspi/action.h libspi/editabletext.c 
6387             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
6388             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
6389             libspi/image.h libspi/selection.c libspi/selection.h
6390             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
6391             libspi/value.c libspi/value.h
6392             Added server implementations for outstanding ATK interfaces 
6393             not yet implemented.
6394  
6395 2001-09-04  Bill Haneman <bill.haneman@sun.com>
6396
6397         * idl/Action.idl:
6398                 Added (missing) getName() method. 
6399                 Made nActions an attribute.
6400         * idl/EditableText.idl:
6401                 Changed order of params in setAttributes.
6402         * idl/Hyperlink.idl:
6403                 Removed getAnchor, added getURI.
6404         * idl/Image.idl:
6405                 Changed attributes to methods, for efficiency
6406                 (so that getting extents can be done in one call)
6407         * idl/Selection.idl:
6408                 Changed nSelectedChildren to attribute, and re-indented.
6409         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
6410                 to attributes.
6411         * idl/Text.idl: reformatted to match our coding style.
6412                 (temporarily?) removed getRowColumnAtOffset().
6413                 Changed text selection API to support multi-select and
6414                 non-contiguous selections, as in ATK.
6415         * idl/Value.idl: changed some methods to attributes.
6416
6417 2001-08-24  Mark McLoughlin <mark@skynet.ie>
6418
6419         * libspi/listener.c(impl_notify_event):
6420         BonoboUnkown_unref the source instead
6421         of bonobo_object_release_unref - the ORB
6422         handles the releasing.
6423
6424         * configure.in: require ORBit-2.3.94 for
6425         this behaviour.
6426
6427 2001-08-21  Bill Haneman <bill.haneman@sun.com>
6428
6429         Tagged CVS repository 'EA_1_0'.
6430         * README.EARLY_ACCESS:
6431         Alphabetized acknowledgements list, and
6432         added someone.
6433         Listed some known dependencies of at-spi.
6434
6435 2001-08-20  Bill Haneman <bill.haneman@sun.com>
6436
6437         * docs/at-spi-docs.sgml:
6438         * docs/at-spi-sections.txt:
6439         * docs/at-spi-overrides.txt: (Added zero-length file)
6440         Documentation improvements - gtk-doc should build
6441         docs for all implemented C bindings now.
6442         * cspi/Makefile.am:
6443         * cspi/spi_main.c:
6444         * cspi/spi.c: (New file)
6445         * cspi/spi_event.c: (New file)
6446         * cspi/spi_registry.c: (New file)
6447         * cspi/spi_accessible.c: (New file)
6448         * cspi/spi_application.c: (New file)
6449         * cspi/spi_component.c: (New file)
6450         Split spi_main.c into six parts, and included them from
6451         "spi.c".  This is a bit of a hack, probably temporary,
6452         but required by gtk-doc, apparently.
6453         
6454 2001-08-20  Bill Haneman <bill.haneman@sun.com>
6455
6456         * docs/Makefile.am:
6457         * docs/at-spi-docs.sgml:
6458         * docs/at-spi-sections.txt:
6459         * configure.in:
6460         Initial checkins/modifications for gtk-doc generation.
6461         * cspi/spi.h:
6462         * cspi/spi.c:
6463         Added (missing) interface query methods to Accessible's C binding.
6464         * cspi/spi-impl.h:
6465         Added GenericInterface type definition.
6466         * test/simple-at.c:
6467         Added query for AccessibleComponent interface to focus event handler.
6468         Added printout of bounding box for focussed component.
6469         * libspi/component.c:
6470         Added partial implementation for AccessibleComponent to C binding.
6471         * idl/Application.idl:
6472         * libspi/registry.c:
6473         * libspi/listener.c:
6474         * libspi/application.c:
6475         * libspi/application.h:
6476         Changed "ID" attribute type from string to long.
6477
6478 2001-08-19  Bill Haneman <bill.haneman@sun.com>
6479
6480         * cspi/spi.h:
6481         * cspi/spi.c:
6482         Made method naming consistent: methods taking object args
6483         start with uppercase, other methods (except those using
6484         acronyms) start with lowercase.  Underscores delimit between
6485         object names and method names:
6486         SPI_init() - uppercase since it starts with an acronym.
6487         getDesktopCount () - lowercase start since no object param0.
6488         Accessible_getName() - uppercase object type name, studlyCaps method
6489                                name.
6490
6491         * cspi/spi.h:
6492         Added gtk-doc documentation for all currently implemented
6493         methods in the C bindings API.
6494
6495 2001-08-18  Bill Haneman <bill.haneman@sun.com>
6496
6497         * Makefile.am : changed build order to build test last.
6498         * cspi/spi.h :
6499         * cspi/spi_main.c :
6500         Changed "createEventListener" to "CreateEventListener".
6501         * libspi/accessibleeventlistener.c :
6502         Bugfix for addition of callbacks.
6503         * test/Makefile.am :
6504         * test/simple-at.c :
6505         Added new test that uses the C bindings API.
6506         * idl/Event.idl :
6507         * libspi/listener.c :
6508         * libspi/registry.c :
6509         * libspi/accessibleeventlistener.c :
6510         * at-bridge/bridge.c :
6511         Renamed member "target" of Accessibility_Event to "source",
6512         which is more descriptive.
6513         
6514
6515 2001-08-18  Bill Haneman <bill.haneman@sun.com>
6516
6517         * Makefile.am: 
6518         * configure.in :
6519         * cspi/Makefile.am :
6520         Added makefile support for at-spi/cspi directory.
6521         * cspi/spi.h : 
6522         * cspi/spi-impl.h :
6523         * cspi/spi-listener.h : (NEW FILE)
6524         Added support for/use of spi-listener.h.
6525         * cspi/spi_main.c :
6526         C bindings now build successfully, with no warnings.
6527         * libspi/accessibleeventlistener.h : (NEW FILE)
6528         * libspi/accessibleeventlistener.c : (NEW FILE)
6529         * libspi/Makefile.am :
6530         Added new object type "AccessibleEventListener"
6531         which inherits from Listener, and allows attachment
6532         of in-process callbacks (so that a client with a listening
6533         object instance can add functionality to the local 
6534         implementation, dynamically).
6535
6536 2001-08-18  Bill Haneman <bill.haneman@sun.com>
6537
6538         * libspi/accessible.c: 
6539         Add implementation for get_index_in_parent().
6540         * cspi/spi.h : 
6541         Added #include of "spi-roletypes.h", and
6542         added enumerated type AccessibleCoordType.
6543         Added definition for KeystrokeListener (function type).
6544
6545         ADDED FILES:
6546         * cspi/spi-statetypes.h :
6547         * cspi/spi-roletypes.h :
6548         * cspi/spi-impl.h :
6549         Added these headers, used by spi.h.
6550         * cspi/spi_main.c : 
6551         Added code (NOTE: not yet built by make).
6552
6553 2001-08-18  Mark McLoughlin <mark@skynet.ie>
6554
6555         * libspi/Makefile.am: generate imodule
6556         at the same time as other idl compiler 
6557         generated files. 
6558
6559 2001-08-17  Bill Haneman <bill.haneman@sun.com>
6560         * libspi/registry.c :
6561         * libspi/application.c :
6562         * idl/Application.idl :
6563         Made registration with toolkit an application method,
6564         which is required since each app has its own toolkit static
6565         environment.  Thus the bridge must register for 
6566         notification of toolkit events from each application in turn.
6567         Toolkit notifications are now successfully registered for, and
6568         sent to the listening at client.
6569         * test/at.c :
6570         Changed toolkit event string to use hyphens rather than underscores.
6571         * libspi/listener.c :
6572         listner now gives more info in debug mode - it reports the
6573         name of the event received, as well as the name of the source.
6574         
6575
6576 2001-08-16  Bill Haneman <bill.haneman@sun.com>
6577
6578         * libspi/registry.c :
6579         added more implementation for toolkit events.
6580         Fixed bug such that toolkit event registrations
6581         (via atk) use the whole event name string, not 
6582         just minor+detail.
6583         Removed a useless call to an ORBit_ method.
6584         * at-bridge/bridge.c :
6585         Removed unused local sbuf[] variable.
6586         * test/at.c :
6587         We now register for Gtk:GtkWidget:button_press_event 
6588         events as well as "focus:" events.
6589         * cspi/spi.h :
6590         Add some more API from Registry.idl that was missing,
6591         for keystroke listening, keystroke and mouse event
6592         synthesis, and enumeration of accessible desktops.
6593
6594 2001-08-16  Michael Meeks  <michael@ximian.com>
6595
6596         * configure.in: use AM_GLIB_GNU_GETTEXT.
6597
6598         * Makefile.am (SUBDIRS): kill intl.
6599
6600 2001-08-15  Michael Meeks  <michael@ximian.com>
6601
6602         * registryd/Makefile.am: s/oaf/server/ relocate info file.
6603
6604         * configure.in: upd.
6605
6606         * configure.in: depend on a recent bonobo-activation that
6607         will find our server files ...
6608
6609 2001-08-16  Bill Haneman <bill.haneman@sun.com>
6610
6611         * libspi/accessible.c : accessible_new() :
6612         Now we add the Component interface via bonobo_object_add_interface,
6613         if the contained AtkObject implements AtkComponent.
6614         * libspi/accessible.h : now include "component.h"
6615         * libspi/component.h :
6616         * libspi/component.c : added files - implementation of
6617         bonobo wrapper object for Accessibility/Component
6618         * libspi/listener.c :
6619         Added test code to check for Accessibility/Component:1.0
6620         interface and report whether it is implemented by the
6621         event source.
6622         * libspi/registry.c :
6623         Now we check for not only the hash of the whole event 
6624         string before relaying the event, we also check the
6625         "minor" event string (without the detail string).
6626         This allows event listeners to be registered against
6627         all events of a certain major+minor type, or just
6628         against a specific major+minor+detail type.
6629         * libspi/accessible.c :
6630         Added implementations for Accessible:get_parent(),
6631         Accessible:getChildCount(), and Accessible:getChildAtIndex().
6632         * libspi/registry.c :
6633         * libspi/listener.c :
6634         Replaced calls to Accessibility_Accessible_ref() and
6635         Accessibility_Accessible_unref() with 
6636         calls to bonobo_object_dup_ref() and 
6637         bonobo_object_release_unref(), so that the CORBA object
6638         is dup-ed and released when relayed, as well as the bonobo object.
6639
6640 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6641
6642         * libspi/Makefile.am,
6643           registryd/Makefile.am,
6644           at-bridge/Makefile.am.
6645           test/Makefile.am, configure.in:
6646         reverse previous changes.
6647
6648         * /idl/Image.idl: fix typo.
6649
6650         * test/Makefile.am: put DEBUG_FLAGS
6651         in CFLAGS.
6652
6653 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6654
6655         * test/app.c: use argv[0] instead of
6656         g_type_prgname.
6657
6658 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6659
6660         * libspi/Makefile.am,
6661           registryd/Makefile.am,
6662           at-bridge/Makefile.am.
6663           test/Makefile.am, configure.in:
6664         cleanup, replace individual LIBS/CFLAGS with
6665         AT_COMMON_{LIBS|CFLAGS}.
6666
6667         * README: format.
6668
6669 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6670         
6671         * configure.in, libspi/Makefile.am:
6672         Change IDL path checking for bonobo-activation
6673         as opposed to oaf.
6674
6675 2001-08-15  Bill Haneman <bill.haneman@sun.com>
6676
6677         * registryd/registry.c : separated event listeners to use
6678         3 separate lists (focus, window, toolkit).  Began testing
6679         event names against hashes before relaying events.
6680         * test/at.c : now register for events of type "focus:"
6681         * test/app.c : now generate events of type "focus:"
6682         * at-bridge/bridge.c : register with ATK for focus events,
6683         and we now relay those focus events to any "focus:" listeners.
6684         This now works with the bridge as a GTK_MODULE when running test/at.
6685         * libspi/registry.c :
6686         * libspi/listener.c : 
6687         now we ref event sources before propagating, and unref on receipt.
6688         * libspi/registry.c : 
6689         some changes to internal structs, to support event typestring hashes.
6690         * text/app.c : changed the way the appname is generated.
6691         * cspi : added directory that will hold the C bindings library for 
6692                 non-CORBA/bonobo-savvy clients.
6693         * cspi/spi.h : header file that contains the function prototypes for the C binding.
6694         * idl/Component.idl : added in parameter to indicate coord system for
6695                 geometry-related calls.
6696         * idl/Hyperlink.idl : added readonly n_links attribute
6697         * idl/Image.idl : changed methods to attributes.
6698         
6699 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6700
6701         * at-bridge/Makefile.am: link against
6702         ../libspi/libspi.la instead of -lspi.
6703
6704         * at-spi/test/app.c: include 
6705         bonobo-activation.h. Use a default appname
6706         if one is not provided.
6707
6708 2001-08-14  Bill Haneman <bill.haneman@sun.com>
6709
6710         * idl/Registry.idl : temporarily changed register_Application
6711         to oneway, to work around issue with initial registration 
6712         re-entrancy.
6713         * idl/Application.idl : changed attribute "id" from readonly 
6714         to read-write, since it needs to be assigned by Registry.
6715         * registryd/registryd.c : added call to set application id 
6716         on registration.
6717         * registryd/registry.c : changed de-registration procedure to
6718         use CORBA_Object_hash() to find matching object ref in application
6719         lists and listener lists.
6720         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
6721         began distinguishing between event types (work in progress).
6722
6723 2001-08-13  Bill Haneman <bill.haneman@sun.com>
6724
6725         CHANGES:
6726         * libspi/application.c:
6727         Added implementations for get/set id, get_toolkitName,
6728         get_version.
6729         * registryd/registryd.c :
6730         * test/at.c :
6731         * test/app.c :
6732         * Makefile.am :
6733         Converted from use of OAF to bonobo-activation.
6734         * libspi/desktop.h :
6735         * libspi/desktop.c :
6736         * test/app.c :
6737         Removed references to atksimpleobject, since base atkobject
6738         implementation now provides functionality we need.
6739         * libspi/atksimpleobject.c :
6740         * libspi/atksimpleobject.h :
6741         Removed.
6742         
6743         ADDITIONS:
6744         * at-bridge
6745         * at-bridge/Makefile.am
6746         * at-bridge/bridge.c
6747         * configure.in
6748         * Makefile.am
6749         Added directory "bridge" and contents, and added dependencies
6750         in Makefile.am/configure.in.  
6751         Initial checkin of "at-bridge".
6752         This code is a GTK_MODULE which automatically registers
6753         GTK+ apps with the accessibility registry, using an object
6754         reference to the root ATK object.
6755         
6756 2001-08-10  Mark McLoughlin <mark@skynet.ie>
6757
6758         * po/Makefile.in.in: Remove. Again. If this
6759         doesn't get autogenerated - you need to update
6760         gnome-common.
6761
6762 2001-08-07  Mark McLoughlin <mark@skynet.ie>
6763
6764         * po/Makefile.in.in: Add. Again.
6765
6766 2001-07-31  Bill Haneman <bill.haneman@sun.com>
6767
6768         * libspi/accessible.c : added support for 'description' property.
6769         * libspi/accessible.c
6770         * libspi/desktop.c
6771         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
6772             (since the two are now equivalent in libbonobo)
6773         * idl/Action.idl
6774         * idl/Component.idl
6775         * idl/Hyperlink.idl
6776         * idl/Image.idl
6777         * idl/Selection.idl
6778         * idl/Table.idl
6779         * idl/Text.idl
6780         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
6781              Bonobo::Unknown as does Accessibility::Accessible.
6782         * idl/StreamableContent.idl : as above, and replaced internal InputStream
6783              interface with Bonobo::Stream, since it was redundant with it.
6784              (The Stream returned by a StreamableContext object is expected to
6785              implement only a subset of Bonobo::Stream)
6786
6787 2001-07-28  Anders Carlsson  <andersca@gnome.org>
6788
6789         * libspi/accessible.c (accessible_object_finalize): Change
6790           g_free to g_object_unref since the AtkObject is a GObject.
6791
6792 2001-07-30  Bill Haneman <bill.haneman@sun.com>
6793
6794         * idl/Accessibility.idl: add new IDL files
6795         
6796         Added:
6797         * idl/Action.idl: Definitions of actionable UI object
6798         * idl/Component.idl: Definitions of UI component geometry, etc.
6799         * idl/Hyperlink.idl: Defs of hyperlink behavior
6800         * idl/Image.idl: Def of accessible image
6801         * idl/Selection.idl: Definition of UI object with selectable children
6802         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
6803         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
6804         * idl/Text.idl: Interface defs for UI elements with complex textual content
6805         * idl/Value.idl: Definition of UI element that is a value controller or display
6806         
6807 2001-07-27  Michael Meeks  <michael@ximian.com>
6808
6809         * po/Makefile.in.in: remove autogenerated file from CVS.
6810
6811         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
6812         type library.
6813
6814         * idl/Registry.idl: include guard.
6815
6816         * idl/Accessibility.idl: Add, and include all the other IDL
6817         files.
6818
6819         * idl/*.idl: remove mass of pragmas etc.
6820
6821 2001-07-26  Michael Meeks  <michael@ximian.com>
6822
6823         * registryd/Makefile.am (registryd_SOURCES): remove
6824         redundant at_.
6825
6826 2001-07-27  Mark McLoughlin <mark@skynet.ie>
6827
6828         * libspi/.cvsignore, registryd/.cvsignore,
6829           test/.cvsignore: updated.
6830
6831         * po/Makefile.in.in: gettext update.
6832
6833 2001-07-25  Bill Haneman <bill.haneman@sun.com>
6834
6835         * initial CVS checkin
6836
6837 2001-06-29  Michael Meeks  <michael@ximian.com>
6838
6839         * configure.in: add AM_CONFIG_HEADER to gen config.h
6840
6841         * acconfig.h: add.
6842