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