2002-05-31 Laszlo Peter <laca@sun.com>
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2002-05-31  Laszlo Peter  <laca@sun.com>
2
3         * configure.in: add the Xtst libdir to the runpath on Solaris,
4         since it's not in the default library search path.
5
6 2002-05-29  jacob berkman  <jacob@ximian.com>
7
8         * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
9
10 2002-05-29  Bill Haneman  <bill.haneman@sun.com>
11
12         * configure.in: Fixed bug in AC_OUTPUT that was
13         causing path substitution in Accessibility_Registry.server
14         to fail.
15
16 2002-05-23  Bill Haneman  <bill.haneman@sun.com>
17
18         * text/screen-review-test.c:
19         (guess_string_clip):
20         New method which attempts a best-guess at clipping
21         text from components (like Java labels) which don't
22         actually implement AccessibleText.  This inaccurate
23         clip is based on the assumption that the label is
24         justified left-and-right, and monospaced.
25         (text_chunk_get_clipped_string):
26         We now call guess_string_clip() for text-containing
27         components that don't implement AccessibleText.
28
29         * test/screen-review-test.c:
30         (review_buffer_get_text_chunk):
31         We now pull "name" from labels if they do not implement
32         AccessibleText (i.e. for Java labels).
33         (get_screen_review_line_at):
34         Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
35
36         * configure.in:
37         Replaceded AC_OUTPUT target
38         registryd/Accessibility_Registry.server with 
39         registryd/Accessibility_Registry.server.in.
40
41         * registryd/Accessibility_Registry.server.in:
42         Removed (this is now a Makefile target).
43
44         * registryd/Accessibility_Registry.server.in.in:
45         Added (source for target above).  We now use $(libexecdir) as
46         prefix for the executable at-spi-registryd.
47
48         * registry/Makefile.am: 
49         Now install at-spi-registryd into $(libexecdir), and build .server
50         file with path (see above).
51         
52 2002-05-22  Bill Haneman  <bill.haneman@sun.com>
53
54         * test/screen-review-test.c:
55         (text_chunk_get_clipped_string):        
56         We now check to see if words fall within clip bounds 
57         before resorting to character-by-character clip bounds testing.
58
59         * TODO: Added a section for "2.2 Proposed API Additions".
60
61 2002-05-21  Bill Haneman  <bill.haneman@sun.com>
62
63         * test/screen-review-test.c:
64         * test/Makefile.am:
65         Added a screen review benchmarking and test program to test
66         directory.
67
68         * cspi/spi_accessible.c:
69         * cspi/spi_main.c:
70         Made some of the debug strings passed to cspi_check_ev a
71         little more specific.
72
73 2002-05-21  Padraig O'Briain  <padraig.obriain@sun.com>
74
75         * test/screen-review-test.c: Fix crashes in debug statements
76
77 2002-05-20  Bill Haneman  <bill.haneman@sun.com>
78
79         * test/screen-review-test.c: Added this file.
80
81 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
82
83         * atk-bridge/bridge.c: changed "object:state-change" to
84         "object:state-changed" to match docs.
85
86 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
87
88         * atk-bridge/bridge.c: Hooked up state-change event details.
89
90 2002-05-11  Bill Haneman <bill.haneman@sun.com>
91
92         * registryd/registry.c:
93         Fixed quarking bug in event string parsing; now events with
94         detail parameters get matched correctly to listeners.
95         [Bugzilla 80608].
96
97         * util/idl/Magnifier.idl: remove.
98         * util/idl: remove
99         * util/*.[ch]: Remove.
100         Magnification utilities and IDL are now in module gnome-mag.
101
102 2002-05-10  Bill Haneman <bill.haneman@sun.com>
103
104         * registryd/deviceeventcontroller.c:
105         Fixed bug in grab key conversion which was causing keycode grabs
106         to be converted to AnyKey grabs.
107
108         * NEWS:
109         updated NEWS file to reflect recent spin-off of gnome-mag.
110
111 2002-05-09  Marc Mulcahy <marc.mulcahy@sun.com>
112
113         * cspi/spi_accessible.c: Added exception checks.  Fixed completely
114         busted AccessibleStateSet_compare.  Removed redundant casts.
115         
116         * cspi/spi-action.c: Removed redundant casts.
117
118         * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
119
120         * cspi/spi_component.c: Fixed typos and casting error.
121
122         * cspi/spi_editabletext.c: Removed redundant casts.
123
124         * cspi/spi_hyperlink.c: Fixed casting and exception checking.
125
126         * cspi/spi_hypertext.c: Eliminated redundant casts.
127
128         * cspi/spi_image.c: Eliminated redundant casts.
129
130         * cspi/spi_registry.c: Eliminated redundant casts.
131         SPI_deregisterGlobalEventListenerAll () removed retval variable.
132         * cspi/spi_selection.c: Removed redundant casts.
133         * cspi/spi_text.c: Eliminated redundant casts.  Fixed exception
134         handling.  Screen geometry and text offsets were being returned as 0
135         on error which is technically valid-- changed these to return -1.
136         Added marshaller for text boundary types to fix bug with boundary
137         types being passed incorrectly to atk.
138                         
139 2002-05-09  Bill Haneman <bill.haneman@sun.com>
140
141         
142         * cspi/spi_registry.c:
143         Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
144         which was uncovered by the recent key changes.
145
146 2002-05-09  Bill Haneman <bill.haneman@sun.com>
147
148         * test/event-listener-test.c:
149         * test/Makefile.am:
150         Added new test, "event-listener-test"; 
151         this code does two things; it benchmarks traversal time 
152         for the accessible hierarchy for the first running accessible 
153         app, and it connects listeners for all supported event types.  
154         It is thus useful as an example event listener and for 
155         diagnostics/debugging of event generation.
156         
157 2002-05-08  Bill Haneman <bill.haneman@sun.com>
158
159         * test/Makefile.am:
160         Removed unnecessary dependency on libutil.
161
162         * configure.in:
163         Revved micro version: 0.13.1
164
165 2002-05-08  Bill Haneman <bill.haneman@sun.com>
166
167         * configure.in: 
168         Removed util/Makefile from targets.
169
170         * Makefile.am:
171         Removed util subdir from SUBDIRS (temporarily, 
172         pending removal of magnifier-only code
173         from UTIL).
174
175         * test/simple-at.c:
176         #ifdef-ed out magnifier dependencies, since
177         magnifier IDL, headers, and binary now live in
178         module gnome-mag and we don't want at-spi to depend 
179         on gnome-mag.  A magnifier demo which can run alongside
180         simple-at is forthcoming in the gnome-mag module.
181         
182         NOTE: Split magnifier binary, IDL, and magnification
183         activation code from at-spi into module gnome-mag.
184
185 2002-05-03  Marc Mulcahy <marc.mulcahy@sun.com>
186  
187         * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
188         cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
189  
190 2002-05-03  Bill Haneman <bill.haneman@sun.com>
191
192         * configure.in:
193         Revved to version 0.13.0
194         
195         * idl/Accessibility_Registry.idl:
196         Changed definition of KeySet from sequence of longs to sequence of
197         KeyDefinitions, and added KeyDefinition struct.
198         Required for fix to bug 80616.
199
200         * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
201         Changed AccessibleKeySet to Accessibility_KeySet marshalling code
202         to use new definition (see above).  
203
204         * registryd/deviceeventcontroller.c: handle_keygrab(), 
205         spi_keyset_contains_key():
206         Changed to make use of new struct; this allows matching based on
207         string key-name, for instance "Tab".  This also allows matching of
208         composed characters, non-alphanumeric characters in a way that
209         doesn't involve dependencies on X keysym codes directly, etc.
210         
211         * test/key-listener-test.c:
212         Added test for Alt-Tab key using "string" specification of keyset,
213         and modified one of the tests to use a keycode-based keyset.
214         Thus this test both tests and demonstrates the creation and use of
215         keysets of three forms:  specified via keycode array, 
216         keysym array, and string array. (The string case only contains a
217         single string, i.e. a string array of length 1).        
218
219         * test/simple-at.c:
220         Turned on PRINT_TREE option by default.  Also fixed a
221         string-freeing bug in the PRINT_TREE code.  
222         Added a listener to window:minimize events.
223         
224 2002-05-08  Padraig O'Briain  <padraig.obriain@sun.com>
225
226         * atk-bridge/bridge.c:
227         (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
228         for window:activate and window:deactiveate
229         (atk_bridge_property_event_listener atk_bridge_signal_listener
230         atk_bridge_window_event_listener) Tidy debug code
231
232 2002-05-02  Marc Mulcahy <marc.mulcahy@sun.com>
233
234         * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
235         Fixed handling for NULL return value from ATK.
236
237         * libspi/action.c libspi/component.c libspi/editabletext.
238         libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
239         libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
240         Removed redundant casts.
241         
242         * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
243         Fixed off by one bug.
244         
245         *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
246         function not present in idl)
247         
248 2002-05-02  jacob berkman  <jacob@ximian.com>
249
250         * atk-bridge/Makefile.am: make atk-bridge a real module
251
252 2002-04-26  Radek Doulik  <rodo@ximian.com>
253
254         * libspi/stateset.c (spi_init_state_type_tables): fix size of
255         atk_state_types table
256
257 2002-04-22  jacob berkman  <jacob@ximian.com>
258
259         * util/Makefile.am: 
260         * libspi/Makefile.am: add deps on the built files to help
261         automake, and don't version the ORBit typelib
262
263 2002-04-19  Padraig O'Briain  <padraig.obriain@sun.com>
264
265         * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h 
266         cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
267         cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c 
268         cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
269         cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
270         cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
271         cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
272         libspi/accessible.h libspi/accessible.h libspi/base.h 
273         libspi/component.h libspi/editabletext.h libspi/hyperlink.h 
274         libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
275         libspi/relation.h libspi/remoteobject.h libspi/selection.h 
276         libspi/spi-private.h libspi/statetset.h libspi/table.h
277         libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
278         util/mag_client.h util/mag_control.c util/mag_image.c
279         util/mag_image.h util/magnifier.c util/magnifier.h: 
280         Add missing file headers; standardize existing ones
281
282 2002-04-18  Marc Mulcahy  <marc.mulcahy@sun.com>
283
284         * atk-bridge/bridge.c: Added window event support.
285
286 2002-04-18  Michael Meeks  <michael@ximian.com>
287
288         * libspi/relation.c (impl_getNTargets): impl.
289         (impl_getTarget): impl.
290
291         * libspi/Makefile.am: fix stateset install.
292
293 2002-04-17  Bill Haneman <bill.haneman@sun.com>
294
295         * NEWS:
296         Started putting useful info in this file.
297         
298 2002-04-17  Marc Mulcahy <marc.mulcahy@sun.com>
299  
300         * atk-bridge/bridge.c: 
301         Propagate state-changed notifications to ATs
302  
303         * cspi/spi_registry.c: update docs to reflect actual behavior of
304         state-change events.
305
306 2002-04-17  Bill Haneman <bill.haneman@sun.com>
307
308         * configure.in:
309         Incremented version to 0.12.1
310         
311         * util/mag_client.h:
312         Add missing declaration for magnifier_exit, 
313         used by mag_control.c - Forte compiler didn't like
314         the implicit redeclaration of the function :-(
315
316
317 2002-04-16  Bill Haneman <bill.haneman@sun.com>
318
319         * configure.in:
320         Revved version to 0.12 due to API change (see below).
321
322         * cspi/spi-roletypes.h:
323         removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE 
324         definition from the inline docs, and added docs
325         for SPI_ROLE_LAST_DEFINED.
326
327         * cspi/spi.h:
328         * cspi/spi_streamablecontent.c:
329         Added missing seek_type parameter to
330         (so far unused) method, 
331         AccessibleStreamableContent_seek().
332         [ RT approval JodyG. ]
333
334         * cspi/spi_event.c:
335         Fixed docs for SPI_createAccessibleKeystrokeListener.
336
337         * cspi/spi_registry.c:
338         Fixed docs for SPI_KEYSET_ALL_KEYS.
339         
340         * docs/reference/cspi/at-spi-cspi-sections.txt:
341         Added a number of missing APIs to SECTIONS.
342         
343 2002-04-16  Bill Haneman <bill.haneman@sun.com>
344
345         * registryd/Makefile.am:
346         * cspi/Makefile.am:
347         * cspi/bonobo/Makefile.am:
348         Add $(X_LIBS) to makefiles.
349
350 2002-04-15  Bill Haneman <bill.haneman@sun.com>
351
352         * configure.in:
353         Revved version to 0.11.
354
355         * libspi/component.c:
356         Added implementation for grabFocus.
357
358         * idl/Accessibility_Component.idl
359         (Accessibility_Component_grabFocus):
360         Made this method return boolean to indicate success or failure, to
361         be consistent with cspi and the corresponding ATK method.
362         
363         * idl/Accessibility_Selection.idl
364         (Accessibility_Selection_selectAll) :
365         Made these methods return boolean to indicate success or
366         failure, to be consistent with cspi and the corresponding ATK methods.
367         
368         * idl/Accessibility_EditableText.idl 
369         (Accessibility_EditableText_setTextContents,
370          Accessibility_EditableText_insertText,
371          Accessibility_EditableText_cutText,
372          Accessibility_EditableText_deleteText,
373          Accessibility_EditableText_pasteText):
374         Made these methods return boolean to indicate
375         success or failure.
376
377         * cspi/spi_editabletext.c:
378         Made these methods return booleans.
379
380         * libspi/selection.c:
381         * libspi/component.c:
382         * libspi/editabletext.c:
383         Connected the boolean returns from ATK
384         to the server-side code referenced above.
385         
386 2002-04-14  Bill Haneman <bill.haneman@sun.com>
387
388         * idl/Accessibility_Table.idl: Added missing methods,
389         Accessibility_Table_addRowSelection,
390         Accessibility_Table_addColumnSelection,
391         Accessibility_Table_removeRowSelection,
392         Accessibility_Table_removeColumnSelection.
393
394         * cspi/spi_table.c:
395         Added C wrappers for above IDL:
396         AccessibleTable_addRowSelection,
397         AccessibleTable_addColumnSelection,
398         AccessibleTable_removeRowSelection,
399         AccessibleTable_removeColumnSelection.
400         
401         * libspi/table.c:
402         Added server-side implementation code for IDL above, connecting
403         to pre-existing ATK api.
404         
405 2002-04-13  Marc Mulcahy <marc.mulcahy@sun.com>
406
407         * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
408
409         * libspi/accessible.c: Added implementation fo
410         Accessibility_Accessible_get_state.
411         
412         * libspi/libspi.h: Added stateset.h to the list of includes.
413
414         * libspi/stateset.c: Fixed broken implementation.
415
416 2002-04-13  Bill Haneman <bill.haneman@sun.com>
417
418         * util/magnifier.c:
419         Added implementation code for Accessibility_Magnifier_exit ().
420
421         * util/mag_control.c:
422         Added test code for above method; you can
423         now kill an existing magnifier via 
424         ./mag_control q, from the util directory.
425
426         * test/key-listener-test.c:
427         * test/Makefile.am:
428         Added a new test, for our key listener API.
429
430 2002-04-11  Bill Haneman <bill.haneman@sun.com>
431
432         * test/app.c, test/keysynth-demo.c:
433         * util/magnifier.c:
434         Replace use of snprintf with g_snprintf.
435         (fix for bugzilla 78249)
436
437 2002-03-27  Michael Meeks  <michael@ximian.com>
438
439         * Version 0.10.0
440
441         * util/Makefile.am (INCLUDES): fix.
442         (DONT_DIST_SOURCE): don't distribute the
443         generated files.
444
445         * libspi/Makefile.am (dist-hook): ditto.
446
447 2002-03-27  Padraig O'Briain  <padraig.obriain@sun.com>
448
449         * libspi/hypertext.c:
450         Fix warnings when yelp is used with atk-bridge
451
452 2002-03-21  Michael Meeks  <michael@ximian.com>
453
454         * libspi/application.c (spi_application_new):
455         use spi_accessible_construct so we use the AtkObject
456         cache correctly.
457
458 2002-03-19  Michael Meeks  <michael@ximian.com>
459
460         * registryd/registry.c (desktop_remove_application),
461         (desktop_add_application): clean coding style.
462
463         * registryd/desktop.c (spi_desktop_remove_application),
464         (spi_desktop_add_application): kill re-enterency hazards.
465         (spi_desktop_dispose): remove bogus redundant cast
466         obscuring bug; fix bug too.
467         (spi_desktop_init): make the desktop object immortal.
468
469 2002-03-16 Bill Haneman <bill.haneman@sun.com>
470
471         * test/simple-at.c:
472         Added a #define-guarded tree-traversal step
473         when enumerating the apps (diagnostic tool).
474
475 2002-03-15 Bill Haneman <bill.haneman@sun.com>
476
477         * idl/Accessibility_Role.idl:
478         Added ROLE_DRAWING_AREA which seemed to be missing from the
479         previous commit.
480
481 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
482
483         * cspi/spi-roletypes.h cspi/spi_accessible.c
484         idl/Accessibility_Role.idl libspi/accessible.c: synched up role
485         types with ATK.
486
487         * registryd/desktop.c registryd/desktop.h registryd/registry.c:
488         Added signals to SpiDesktop and callbacks in SpiRegistry to notify
489         AT when applications are added and removed from the desktop.  This
490         reverts the previous broken implementation using the backing
491         AtkObject for the SpiDesktop.
492         
493         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
494
495         * registryd/desktop.c: emit the "children-changed::add" and
496         "children-changed::remove" signals on the backing ATK object for
497         the desktop so AT can tell when applications are started and shut
498         down.
499
500         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
501
502         * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
503
504         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
505
506         * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
507
508         * cspi/spi_accessible.c: Implemented c bindings for stateset support
509
510         * cspi/state-types.h: synched with IDL and ATK
511
512         2002-03-13  Bill Haneman <bill.haneman@sun.com>
513
514         * libspi/accessible.c 
515         (impl_accessibility_accessible_get_child_at_index):
516         Change return value for g_return_if_fail ()
517         to CORBA_OBJECT_NIL instead of "0" (!)
518
519         * registryd/Makefile.am:
520         * registryd/Accessibility_Register.server.in:
521         Changed name of executable, "registryd",
522         to something more informative:
523         "at-spi-registryd".
524
525 2002-03-13  Michael Meeks  <michael@ximian.com>
526
527         * atk-bridge/bridge.c (atk_bridge_init): don't register
528         if we're in a bonobo-component, rather than a bonobo app.
529
530 2002-03-13  Michael Meeks  <michael@ximian.com>
531
532         * atk-bridge/bridge.c (gtk_module_init): split
533         out body to (atk_bridge_init): here, since otherwise
534         we get symbol conflicts and oddness when invoked
535         from (gnome_accessibility_module_init): here (upd.)
536
537 2002-03-11  Bill Haneman  <bill.haneman@sun.com>
538
539         * HACKING:
540         New file.  Explicitly allow "build sheriff" putbacks provided
541         they are tested on Solaris.
542         
543         * docs/reference/cspi/Makefile.am:
544         Added '-' to the "cp" command for index.sgml.
545         ("patch by thomasvs, soon coming to a GUADEC near you")
546
547         * configure.in:
548         Incremented version number (0.9.0) for new release.
549         Changed macro that checks for popt, to better detect
550         obsolete versions of popt.
551         
552         * configure.in:
553         Added X_LIBS to AC_SUBST, for applications
554         that call Xlib API directly.
555         
556
557 2002-03-07  Bill Haneman  <bill.haneman@sun.com>
558
559         * configure.in:
560         Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
561
562         * util/Makefile.am:
563         Fix regression caused by hard-coding major
564         version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
565         (see above change).
566         
567         * test/test-simple.c (test_editable_text),
568         (test_test): revert previous change (error was 
569         a regression in gail which is now fixed).
570         
571 2002-03-04  Michael Meeks  <michael@ximian.com>
572
573         * test/test-simple.c (test_editable_text),
574         (test_text): pass G_MAXINT instead of '-1' for
575         whole string - is this a good thing !?
576
577         * cspi/spi_accessible.c
578         (Accessible_getRelationSet): fix crasher bug
579         overwriting the end of the array.
580
581         * test/test-simple.c (validate_accessible): free,
582         not g_free returned relation set.
583
584 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
585
586         * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
587         implemented stateset support
588
589         * idl/Accessibility_State.idl: Made necessary changes to
590         the IDL to support state sets.
591
592 2002-02-12 Bill Haneman <bill.haneman@sun.com>
593
594         * registryd/deviceeventcontroller.c:
595         Added implementation for generateMouseEvent.
596
597         * cspi/spi_registry.c:
598         Connected new implementation for generateMouseEvent
599         to the C bindings.
600         
601 2002-02-12 Bill Haneman <bill.haneman@sun.com>
602
603         * configure.in: 0.8
604         Incremented revision (but no change in public API
605         outside of 'utils', which are not installed public yet.)
606
607         * libspi/component.c:
608         Changed to use atk_component API for layers and
609         mdi_zorder, instead of deprecated atk_object API.
610         
611         Magnification Utility Enhancements:
612         
613         * util/magnifier.c:
614         Added implementation of createZoomRegion, clearAllZoomRegions,
615         resizeZoomRegion.  Added new commandline argument
616         "--no-initial-region".  Note that clearAllZoomRegions doesn't
617         unmap the old '0' region as it should (yet), and the other
618         methods only work when creating/resizing a single region,
619         which is "region 0".  
620         (Code for multiple region support will be added later.)
621
622         * util/mag_image.c:
623         Now we raise the magnifier window each time it's refreshed;
624         this will help keep it on top.
625         
626         * util/mag_client.h:
627         Added simple wrappers for above, used by mag_control.
628         For general use, it's recommended to use the bonobo magnifier
629         control API directly instead of using these wrappers.
630
631         * util/mag_image.h:
632         Moved ZoomRegionData from magnifier.c to this file.
633         
634         * util/mag_control.c: 
635         Added some code to exercise new IDL implementations.
636         
637 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
638
639         * libspi/text.c: Provide implementation for getAttributes.
640
641 2002-02-04  Bill Haneman <bill.haneman@sun.com>
642         
643         * configure.in:
644         Incremented revision.
645
646         * test/test-simple.c:
647         Replaced use of deprecated g_main_iteration with 
648         g_main_context_iteration.
649         
650 2002-01-28  Padraig O'Briain <padraig.obriain@sun.com>
651
652         * configure.in:
653         Incremented revision for desktop alpha 2.
654
655 2002-01-28  Mark McLoughlin  <mark@skynet.ie>
656
657         * libspi/remoteobject.[ch]: make RemoteObject and interface rather
658         than an atk object.
659
660         * test/simple-at.c: include netinet/in.h.
661
662 2002-01-24  Mark McLoughlin  <mark@skynet.ie>
663
664         * cspi/spi_accessible.c: (Accessible_getRelationSet):
665         use NULL, not CORBA_OBJECT_NIL.
666
667         * libspi/accessible.c:
668         (impl_accessibility_accessible_get_relation_set):
669         allocate the sequence correctly.
670
671         * libspi/remoteobject.h: kill spi_remote_object_new.
672
673         * test/test-simple.c: (validate_accessible): add code
674         to test relation sets, now all we need is to figure
675         out how to excercise this code path :/
676
677 2002-01-18  Michael Meeks  <michael@ximian.com>
678
679         * test/test-simple.c
680         (key_listener_cb): consume the key.
681         (test_keylisteners): update.
682         (main): wait for any pending unrefs on events.
683
684         * registryd/deviceeventcontroller.c
685         (spi_controller_update_key_grabs): only re-issue the
686         grab on a key release.
687         (spi_device_event_controller_forward_key_event):
688         refresh the keygrabs before we notify the listeners,
689         to reduce the X ungrab / re-grab race.
690         (spi_controller_register_with_devices): remove
691         XSelectInput - we do that with the gdk_window_ call.
692         (_spi_controller_device_error_handler): return a value.
693         s/GDK_DISPLAY/spi_get_display/
694
695 2002-01-17  Michael Meeks  <michael@ximian.com>
696
697         * registryd/deviceeventcontroller.c
698         (_deregister_keygrab): don't blow out the later
699         assertion.
700
701         * test/test-simple.c (test_keylisteners): do a
702         more intelligent validation.
703
704 2002-01-14  Michael Meeks  <michael@ximian.com>
705
706         * atk-bridge/bridge.c
707         (gnome_accessibility_module_init),
708         (gnome_accessibility_module_shutdown): impl.
709         (gtk_module_init): protect vs. double inits.
710         (add_signal_listener): impl.
711         (spi_atk_bridge_state_event_listener): kill
712         (deregister_application): split out of
713         (spi_atk_bridge_exit_func): here.
714
715 2002-01-18  Bill Haneman <bill.haneman@sun.com>
716
717         * test/simple-at.c:
718         Added caret tracking when using magnifier, and 
719         now use text bounds for focus tracking of text elements, rather than
720         the component bounds - this is helpful for short text fields in long
721         table cells, at high magnification.
722         
723 2002-01-16  Bill Haneman <bill.haneman@sun.com>
724
725         * registryd/deviceeventcontroller.c:
726         Regression fix for keylistener de-registration; global keygrabs
727         were not being released when deregisterKeystrokeListener was
728         called in cspi, since 
729         Accessibility_DeviceEventController_deregisterKeystrokeListener
730         was called with a zero-length keyset.  That is because the cspi
731         method, SPI_deregisterKeystrokeListener, does not take a keyset
732         parameter but instead should remove all the key grabs held be a
733         keystroke listener.  
734         The code in impl_deregister_keystroke_listener was changed to copy
735         the keylist from the listener instance previously registered with
736         the DeviceEventController before releasing the grabs.
737
738         * registryd/registry.c:
739         * registryd/deviceeventcontroller.c:
740         * libspi/spi-private.h:
741         * libspi/util.c:
742         Changed spelling of "re-enterant" to "re-entrant" globally.
743
744 2002-01-16  Bill Haneman <bill.haneman@sun.com>
745
746         * test/test-simple.c:
747         Changed key listeners test - the test was slightly mis-using the
748         (admittedly poorly documented) SPI_generateKeyboardEvent API.
749         It now uses '=' as the key event listened to and generated,
750         relying on a keysym match rather than assuming that keycode 33 
751         is always equal to keysym '!'.
752
753 2002-01-15  Bill Haneman <bill.haneman@sun.com>
754
755         * test/simple-at.c:
756         Changed simple-at to use a specific keyset, rather than
757         SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
758         manager, desktop, etc.
759         
760 2002-01-11  Bill Haneman <bill.haneman@sun.com>
761
762         * registryd/deviceeventcontroller.c:
763         Replaced standard X error handler with a special handler that 
764         is non-fatal for failed keygrabs.  This works around 
765         problems with keygrab clashes sometimes observed on 
766         Solaris using CDE.
767         Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate 
768         mouse handling code as yet).
769         
770 2002-01-11  Bill Haneman <bill.haneman@sun.com>
771
772         * configure.in:
773         Incremented revision for desktop alpha release.
774
775         * README:
776         Fixed a couple of the more glaring errors (still not 
777         very up-to-date).
778
779 2002-01-11  Michael Meeks  <michael@ximian.com>
780
781         * registryd/deviceeventcontroller.c
782         (spi_device_event_controller_forward_key_event): kill
783         XUngrabKey / XKeyGrab race.
784         (spi_controller_grab_keyboard): rename to
785         (spi_controller_update_key_grabs): this, and deal
786         with incremental adding / removing grabs more
787         sensibly.
788         (_register_keygrab): ensure we're not pending a remove.
789         (spi_grab_mask_free): impl.
790         (spi_controller_register_global_keygrabs): split out
791         common code into:
792         (handle_keygrab): impl.
793         (_deregister_keygrab): impl.
794         (spi_controller_deregister_global_keygrabs): impl.
795         (spi_controller_update_key_grabs): re-issue the grab if
796         we just recieved a notification.
797
798         * test/test-simple.c (key_listener_cb): remove debug.
799
800         * registryd/deviceeventcontroller.c
801         (spi_controller_register_device_listener): after
802         registering a global keygrab, actualy register it !
803         don't wait for a timeout; doh !
804
805         * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
806         to make it more readable / manipulable.
807         s/grabmask/grab_mask/ s/refcount/ref_count/
808         s/keyval/key_val/ s/modmask/mod_mask
809
810 2002-01-08  Michael Meeks  <michael@ximian.com>
811
812         * registryd/deviceeventcontroller.c
813         (spi_controller_register_with_devices): use gdk calls to
814         setup a filter.
815         (global_filter_fn): implement the filter.
816         (spi_device_event_controller_check_key_event): rename to
817         (spi_device_event_controller_forward_key_event): this & upd.
818         (spi_get_display): replace with GDK_DISPLAY.
819
820         * registryd/deviceeventcontroller.c
821         (spi_controller_deregister_device_listener): unroll into
822         (impl_deregister_keystroke_listener): here to simplify.
823         (spi_controller_register_global_keygrabs): split cut and
824         paste (!) out into (_register_keygrab): here, shorter & sweeter.
825         (spi_controller_deregister_device_listener): remove.
826         (impl_register_mouse_listener): remove, no mouse listener
827         support in at-spi-1.0
828
829         * registryd/registry.c
830         (_device_event_controller_hook): kill.
831         (spi_registry_init): upd.
832
833         * registryd/deviceeventcontroller.c
834         (spi_device_event_controller_class_init): upd.
835         (spi_check_key_event): merge into.
836         (spi_device_event_controller_check_key_event):
837         here and kill strange static ev init, don't leak
838         the x_event - nor dynamicaly allocate it.
839
840         * registryd/registry-main.c (main): re-direct
841         timeout to remove strange vtable mess.
842
843         * registryd/deviceeventcontroller.c
844         (remove_listener_cb): impl.
845         (spi_controller_deregister_device_listener):
846         fix re-enterancy hazard.
847
848 2002-01-07  Michael Meeks  <michael@ximian.com>
849
850         * registryd/deviceeventcontroller.c
851         (spi_device_event_controller_new): upd.
852         (impl_notify_listeners_sync): upd. debug.
853         (spi_notify_keylisteners): fix re-enterancy hazards,
854         prettify, remove O(n*n) iteration.
855         (spi_controller_grab_keyboard): fix iteration.
856         (spi_check_key_event): re-format to suit coding style.
857         Clean all the warnings - we're warning free.
858
859         * registryd/deviceeventcontroller.h:
860         * registryd/registry.h: make mutualy referential with
861         typesafe forward references instead of (!) void pointer
862         hacks.
863
864 2002-01-11  Michael Meeks  <michael@ximian.com>
865
866         * cspi/spi_accessible.c (role_names): add a role name
867         to sync this array with the enum; and make the regression
868         tests pass, sigh.
869
870 2002-01-10  Michael Meeks  <michael@ximian.com>
871
872         * cspi/spi_registry.c (SPI_generateKeyboardEvent): 
873         allow expansion of enumeration & kill warning.
874
875         * test/test-simple.c (key_listener_cb): impl.
876         (test_keylisteners): impl.
877
878         * cspi/spi-listener.h: make listener signatures const
879         on the provided (const) events.
880
881         * test/keysynth-demo.c: upd. to const events.
882
883         * test/simple-at.c: ditto.
884
885 2002-01-11  Bill Haneman <bill.haneman@sun.com>
886
887         * configure.in:
888         Rev the version to 0.5 (the previous tarball was named 0.4, 
889         even though the micro number was 3), so we need to rev upwards
890         again for beta2/"desktop-alpha" 
891  
892         * test/demo.csh:
893         Checked in a demo script, which requires editing before use!
894         Proceed with caution.
895         
896         * libspi/value.h:
897         Fixed typo in header which was redefining SPI_ACTION_CLASS.
898
899         * cspi/spi_accessible.c:
900         Add a couple of missing enum initializations, and fix some enum
901         comments.
902
903         * cspi/spi_registry.c:
904         Add comment describing keystring parameter to SPI_generateKeyboardEvent.
905         
906         * docs/reference/cspi/at-spi-cspi-sections.txt:
907         Remove/fix a couple of broken document references.
908
909         * test/simple-at.c:
910         Minor tweaks to the demo.  We now (sigh) use Alt-SHIFTLOCK as well
911         as Alt-Control to listen for commands, since on some systems
912         Control-Alt may already be grabbed.
913
914 2002-01-10  Bill Haneman <bill.haneman@sun.com>
915
916         * configure.in:
917         Update version number to 0.4 for Beta2.
918         
919         * libspi/accessible.c, libspi/accessible.h:
920         Expose spi_accessible_construct, to enable libgail-gnome
921         construction from spi_accessible subtype.
922
923         * utils/magnifier.c:
924         Workaround for bug in some non-gnome-compliant window managers
925         which made magnifier resize improperly.
926
927 2002-01-09  Bill Haneman <bill.haneman@sun.com>
928
929         * libspi/accessible.c: (spi_accessible_new) :
930         Move the test for SPI_IS_REMOTE_OBJECT to
931         spi_accessible_new_return, fixing a bug and compile time warning.
932         
933 2002-01-08  Michael Meeks  <michael@ximian.com>
934
935         * registryd/registry.c (parse_event_type): remove strndup.
936
937         * libspi/Makefile.am (libspi_la_SOURCES): remove
938         sources already included in the headers section.
939
940         * libspi/util.c: add.
941
942         * libspi/spi-private.h: add.
943
944         * registryd/registry.c: update to moved list iterators.
945
946 2002-01-05  Michael Meeks  <michael@ximian.com>
947
948         * test/simple-at.c (main): upd. auto-module set to atk-bridge
949
950         * test/test-simple.c (main): ditto.
951
952 2002-01-04  Michael Meeks  <michael@ximian.com>
953
954         * libspi/accessible.c (spi_accessible_new): remove 2nd,
955         redundant construct.
956
957         * registryd/registry.c
958         (get_listener_list): impl.
959         (impl_accessibility_registry_register_global_event_listener):
960         re-impl. to simplify using ~, remove dodgy const cast off.
961         (parse_event_type): constify.
962         (impl_accessibility_registry_deregister_global_event_listener_all): 
963         re-write, more efficiency and simplicity, kill re-enterancy
964         hazard.
965         (compare_listener_corbaref, compare_corba_objects),
966         (compare_listener_quarks): define out.
967         (impl_accessibility_registry_deregister_global_event_listener): 
968         re-write for effiency, and nail re-enterancy hazard.
969         (impl_accessibility_registry_get_desktop_list): impl.
970         (re_enterant_list_delete_link): impl.
971         (re_enterant_list_foreach): impl.
972         (remove_listener_cb): impl.
973         (_registry_notify_listeners): kill.
974         (notify_listeners_cb): impl.
975
976         * cspi/spi_registry.c (SPI_freeDesktopList): impl.
977         (SPI_getDesktopList): impl.
978
979         * test/test-simple.c (test_desktop): test the methods.
980
981 2002-01-03  Michael Meeks  <michael@ximian.com>
982
983         * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
984         keystrings since we free them
985         (SPI_freeAccessibleKeySet): in here.
986
987         * libspi/accessible.c (spi_accessible_new): kill warning,
988         wonder what is going on with the constructor here.
989
990 2002-03-01  Bill Haneman <bill.haneman@sun.com>
991
992         * libspi/accessible.c (spi_accessible_new ()) :
993         Added check to see if AtkObject is an SpiRemoteObject before
994         creating an SpiAccessible.
995         
996 2002-05-01  Bill Haneman <bill.haneman@sun.com>
997
998         * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
999         Enable keygrabs using the Control modifier, now that they are
1000         working properly (they were previously disabled).
1001
1002         * test/simple-at.c:
1003         Change the command keygrab for this demo to "Control+Alt", so as
1004         to conflict with fewer other key commands on the system; this
1005         means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1006
1007         Removed a pointlessly-chatty keylistener for unshifted keys
1008         (shifted keys are still reported).
1009         
1010 2002-02-01  Bill Haneman <bill.haneman@sun.com>
1011
1012         * libspi/remoteobject.h:
1013         * libspi/remoteobject.c:
1014         Added definitions for special AtkObject subtype, required for
1015         support of remote components (specifically, used by BonoboControl
1016         accessibility implementation).
1017         
1018 2002-01-02 Marc Mulcahy  <marc.mulcahy@sun.com>
1019
1020         * cspi/spi.h: synched relation types with ATK
1021
1022         * cspi/spi_accessible.c: Added implementations of
1023         AcccessibleRelation_* methods
1024
1025         * idl/Accessibility_Relation.idl: added getRelationTypeName
1026         method.  Synched known relation types with ATK.  Allowed for
1027         relation type extension with the RELATION_EXTENDED type.
1028         
1029         * libspi/relation.c: Provided implementations for
1030         AccessibleRelation methods.
1031
1032 2002-01-01  Bill Haneman <bill.haneman@sun.com>
1033
1034         API tweaks for today's API 'freeze'.
1035
1036         * idl/*:
1037         Added placeholder functions to allow future compatible expansion
1038         of the IDL interfaces.
1039
1040         * idl/Accessibility_Registry.idl:
1041         Changed generateKeyEvent to generateKeyboardEvent.  Changed
1042         signature of this method to accept an optional keystring in
1043         parameter (for complex text input synthesis) and changed use of
1044         simple 'boolean' parameter in registerKeystrokeListener to a
1045         struct, EventListenerMode.
1046
1047         * cspi/spi_accessible.c:
1048         * cspi/spi.h:
1049         * cspi/spi_streamablecontent.c:
1050         Added references to AccessibleStreamableContent interface, and
1051         definition and implementation of AccessibleStreamableContent 
1052         C bindings.
1053
1054         * cspi/spi_registry.c:
1055         * cspi/spi.h:
1056         Changed generateKeyEvent API to generateKeyboardEvent,
1057         taking a new (optional) keystring parameter to support complex
1058         text input.
1059         
1060         * at-bridge/*:
1061         * atk-bridge/*:
1062         Renamed directory (to better reflect its actual purpose, bridging
1063         from at-spi to ATK).  The .so module is also now named
1064         libatk-bridge.so.
1065
1066         * idl/Accessibility_Hypertext.idl:
1067         * libspi/accessible.c:
1068         * libspi/hypertext.h:
1069         * libspi/hypertext.c:
1070         Changed Accessibility_Hypertext to *not* derive from
1071         Accessibility_Text.
1072
1073         * cspi/spi_registry.c:
1074         Added list of legal event type names for 'window' events, which
1075         completes the registry event API.
1076
1077 2001-12-22  Marc Mulcahy  <marc.mulcahy@sun.com>
1078
1079         * at-bridge/bridge.c: Added registration for separate
1080         "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1081         signals.  If either of the first two parameters to the generic
1082         bridge signal handler are ints, they are passed on as event
1083         details.  This allows an AT to determine what text was inserted.
1084
1085 2001-12-21  Bill Haneman <bill.haneman@sun.com>
1086
1087         * registryd/deviceeventcontroller.c:
1088         Fixed regressions in generateKeyEvent caused by the removal of
1089         gdk_init from registryd; we now use pure X calls to connect to the
1090         display, which makes sense because deviceeventcontroller already
1091         uses a fair bit of X API (should eventually be migrated to a
1092         'portability layer').
1093
1094         * registryd/desktop.c:
1095         Fixed minor regression in spi_desktop_init, changed the way the
1096         desktop name is being set to work with new spi_base API
1097         (gobject-based, rather than AtkObject-based).
1098
1099         * registryd/Makefile.am:
1100         Minor revision of makefile to use XTST_LIBS variable rather than
1101         hard-wiring the Xtst LD_ADD element.
1102
1103         * test/keysynth-demo.c:
1104         Tweaked an output message; added initialization of the
1105         'keystrings' member of the "switch listener" key_set.
1106
1107         * libspi/relation.c:
1108         Squashed compile-time warning.
1109
1110         * libspi/accessible.c:
1111         Cosmetic and formatting fixes, renamed a static method.
1112         
1113 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1114
1115         * libspi/accessible.c 
1116         * libspi/action.c
1117         * libspi/application.c 
1118         * libspi/base.c 
1119         * libspi/base.h
1120         * libspi/component.c 
1121         * libspi/editabletext.c
1122         * libspi/hyperlink.c 
1123         * libspi/hypertext.c
1124         * libspi/image.c 
1125         * libspi/selection.c 
1126         * libspi/table.c
1127         * libspi/text.c 
1128         * libspi/value.c 
1129         * registryd/desktop.c:
1130         Changed SpiBase to contain a GObject pointer rather than an AtkObject
1131
1132 2001-12-17  Bill Haneman <bill.haneman@sun.com>
1133
1134         * idl/Accessibility_Registry.idl:
1135         Added boolean member 'is_text' to DeviceEvent.  This is for the
1136         use of key events, and helps prevent ambiguity between composed
1137         key strings and keysym names, since both may potentially be
1138         returned in the 'event_string' member.
1139
1140         * at-bridge/bridge.c:
1141         * registryd/deviceeventcontroller.c:
1142         Use the 'is_text' member when notifying device event listeners.
1143         Knon issue: composed characters are not dealt with correctly by
1144         the global key listener implementation yet.
1145         
1146 2001-12-17  Bill Haneman <bill.haneman@sun.com>
1147
1148         * at-bridge/bridge.c:
1149         Namespaced local static methods to spi_atk_bridge_* where
1150         previously named bridge_*, and spi_* elsewhere.
1151
1152         * at-bridge/bridge.c:
1153         * cspi/bonobo/cspi-bonobo-listener.c:
1154         Added demarshalling/conversion for string member of
1155         Accessibility_DeviceEvent to AccessibleKeystroke.
1156
1157         * registryd/deviceeventcontroller.c:
1158         Added code to fill the Accessibility_DeviceEvent key string value
1159         member for global key events (i.e. from XGrabKey), to match
1160         behavior of Accessibility_DeviceEvent from the toolkit key events
1161         from the bridge.  Fixed timestamp in global key event notifications.
1162
1163         * test/simple-at.c:
1164         Added printout of key event's string value to
1165         report_ordinary_key_event, for demo/debugging purposes.
1166
1167 2001-12-15  Bill Haneman <bill.haneman@sun.com>
1168
1169         * idl/Accessibility_Registry.idl:
1170         Removed Accessibility_KeyStroke structure in favor of generic
1171         Accessibility_DeviceEvent structure.
1172         Changed Accessibility_ControllerEventMask from a struct to an
1173         unsigned long.
1174
1175         * at-bridge/bridge.c:
1176         Changed APIs to use DeviceEvent structure as above, and removed
1177         bogus casting between these event structures.
1178
1179         * cspi/spi-listener.h:
1180         Added keystring member of AccessibleKeystroke structure, to enable
1181         matching on event "names" rather than only hardware codes and
1182         keysyms.
1183
1184         * cspi/spi.h:
1185         Added keystrings member of AccessibleKeySet struct, to allow
1186         matching on event names (as above).
1187         Added declarations for SPI_createAccessibleKeySet and
1188         SPI_freeAccessibleKeySet.  Due to changes in libspi, we now pass
1189         event modmasks directly as unsigned ints rather than structs with
1190         refcounts, in the DeviceEventController methods.
1191
1192         * cspi/spi_registry.c:
1193         Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1194
1195         * cspi/spi-roletypes.h:
1196         Added documentation of newly added SPI Roles.
1197
1198         * cspi/bonobo/cspi-bonobo-listener.c:
1199         Changes in support of API changes above.
1200         
1201         * libspi/accessible.c:
1202         Converted APIs to use DeviceEvent structure (see IDL changes
1203         above). 
1204
1205         * registryd/deviceeventcontroller.c:
1206         Added DEControllerGrabMask structure to track keygrabs not only by
1207         modmask but by keyset as well; this allows us to do "global"
1208         (i.e. X) keygrabs on a per-key or keyset basis rather than always
1209         grabbing on AnyKey and then filtering after-the-fact.
1210         Bugfixes for event filtration mean that we don't get false matches
1211         on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1212
1213         * registryd/deviceeventcontroller.c:
1214         Namespaced a number of static methods to use spi_ prefix.  Major
1215         revision to internals of global (i.e. X) key grabs.
1216
1217         * registryd/deviceeventcontroller.h:
1218         Removed keymask_list and added keygrabs_list to
1219         SpiDeviceEventController struct.
1220
1221         * test/simple-at.c:
1222         Added use of SPI_createAccessibleKeySet API when creating a
1223         listener for only one key.  Attach a listener to "shift spacebar
1224         SPI_KEY_RELEASE" as a demonstration.  Changed (incorrect) usage of
1225         X key event names to SPI key event names, so that listeners are
1226         registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1227         
1228         * test/keysynth-demo.c:
1229         Changed (incorrect) use of X key event names (KeyPressed,
1230         KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1231         
1232
1233 2001-12-12  Bill Haneman <bill.haneman@sun.com>
1234
1235         * libspi/accessible.c:
1236         Convert all AtkRole enumerations to Accessibility_Role enums when
1237         getting a role from an AtkObject.
1238         
1239         * cspi/spi_accessible.c:
1240         Complete the conversion of Accessibility_Role enums at runtime to
1241         AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1242         role enums correctly match those given in spi-roletypes.h.  
1243         Re-synchronize the local names list for AccessibleRole_getName ().
1244         AccessibleRole_getName is now deprecated, since it duplicates the
1245         more reliable Accessible_getRoleName.
1246         Added some role types from Accessibility_Role.idl.
1247
1248         * idl/Accessibility_Role.idl:
1249         Added some role types used by AtkRole.
1250
1251 2001-12-12  Bill Haneman <bill.haneman@sun.com>
1252         
1253         * cspi/spi.h:
1254         * cspi/spi_registry.c:
1255         * cspi/spi_event.c:
1256         * cspi/cspi-bonobo-listener.c:
1257         Namespaced all methods that did not begin with an "SPI_" or
1258         "Accessible" prefix to "SPI_".  
1259
1260         * cspi/spi_main.c:
1261         Homogenized internal function namespace to "cspi_" for statics.
1262         
1263         * test/*.c:
1264         Patched tests to use the new CSPI API.
1265
1266         * docs/reference/cspi/at-spi-cspi-sections.txt:
1267         Updated docs to reflect namespace changes, and added a number of
1268         methods to the documentation.
1269         
1270         * registryd/registry.c:
1271         Changed use of strings and string hashes in listener event
1272         matching and parse_event_string to use GQuark, which is guaranteed
1273         unique.
1274         
1275         * registryd/registry.h:
1276         Squashed annoying warning.
1277
1278         * idl/Accessibility_Role.idl:
1279         Extended range of available Accessibility_Role values.
1280
1281         * cspi/spi_accessible.c:
1282         Re-ordered role names. 
1283
1284 2001-12-12  Bill Haneman <bill.haneman@sun.com>
1285
1286         * idl/Accessibility_Value.idl:
1287         Revert use of union back to CORBA_double, since the double type is
1288         more efficient and can contain the other types without loss of
1289         precision.
1290
1291         * idl/Accessibility_Accessible.idl:
1292         Added method Accessibility:Accessible:getRoleName, to complement
1293         Accessibility:Accessible:getRole.
1294
1295         * cspi/spi_accessible.c:
1296         * cspi/spi.h:
1297         Added C binding for above, Accessible_getRoleName (), and changed
1298         signature of Accessible_getRole () to return an AccessibleRole.
1299
1300         * cspi/spi-roletypes.h:
1301         Changed AccessibleRole_getName to return a char * instead of a
1302         const char *.  This method is now at least temporarily deprecated 
1303         in favor of asking Accessibles for their RoleNames directly.
1304
1305         * libspi/value.c:
1306         Revert to match Accessibility_Value.idl;
1307
1308         * cspi/spi_value.c:
1309         * cspi/spi.h:
1310         Change signature of AccessibleValue methods to use double rather
1311         than float.
1312
1313         * cspi/spi.h:
1314         * cspi/spi_accessible.c:
1315         Changed Accessible_getRole to return an AccessibleRole enum rather
1316         than a UTF-8 string.  The UTF-8 string can still be obtained via
1317         AccessibleRole_getName ().
1318         
1319         * test/test-simple.c:
1320         Add test_action.  Small fixup to match API change to Accessible_getRole.
1321
1322         * libspi/action.c:
1323         Bugfix for get_action_from_servant ().
1324
1325 2001-12-11  Michael Meeks  <michael@ximian.com>
1326
1327         * libspi/libspi.h: remove registry.h and
1328         desktop.h, deviceeventcontroller.h
1329
1330         * libspi/Makefile.am: remove registry.[ch],
1331         desktop.[ch], deviceeventcontroller.[ch]
1332
1333         * registryd/Makefile.am: add registry.[ch],
1334         desktop.[ch], rename registryd.c to registry-main.c.
1335         add deviceeventcontroller.[ch]
1336
1337 2001-12-11  Bill Haneman <bill.haneman@sun.com>
1338
1339         * test/simple-at.c:
1340         Replace setenv() call with putenv ().
1341
1342         * libspi/component.c:
1343         Bugfix in AccessibleComponent_getExtents (),
1344         (from Adi Dascal).
1345         
1346 2001-12-11  Michael Meeks  <michael@ximian.com>
1347
1348         * libspi/image.c (impl_getImageExtents): impl.
1349         (spi_image_class_init): upd.
1350
1351         * cspi/spi_image.c
1352         (AccessibleImage_getImageDescription): fix daft bug
1353         of mine (doh).
1354
1355         * test/test-simple.c (global_listener_cb): update
1356         to only quit if not --poke
1357         (main): catch --poke.
1358         (validate_accessible): upd. dumping, call test_image
1359         (test_image): impl.
1360
1361         * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1362         dependencies.
1363
1364         * idl/Accessibility.idl: update all IDL includes.
1365
1366         * idl/*.idl - rename to namespace - this sucks, blame
1367         mjs' bad decision for oafd.
1368
1369         * test/test-simple.c (create_test_window): add more tests.
1370         (create_tree): split this out.
1371         (validate_accessible): bugfix.
1372
1373 2001-12-11  Michael Meeks  <michael@ximian.com>
1374
1375         * cspi/bonobo/cspi-bonobo-listener.c: 
1376         (cspi_kestroke_listener_unref),
1377         (cspi_event_listener_unref): impl. undoing previous
1378         homenous environment - for Bill.
1379
1380         * cspi/spi_table.c (long_seq_to_array): use
1381         malloc instead.
1382
1383         * cspi/spi_main.c: split out all bonoboish bits into
1384         bonobo/
1385
1386         * cspi/spi-impl.h: upd. typedefs.
1387
1388         * cspi/spi_registry.c: update to lowlevel API,
1389         return booleans to indicate success in some places.
1390
1391         * cspi/spi_event.c: update to lowlevel API.
1392
1393         * cspi/bonobo/Makefile.am: add.
1394
1395         * cspi/bonobo/cspi-lowlevel.h: add
1396
1397         * cspi/bonobo/cspi-bonobo.c: add
1398
1399         * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1400
1401         * cspi/Makefile.am: remove spi-listener-impl.[ch],
1402         (SUBDIRS): add bonobo, link in the libs.
1403
1404         * cspi/spi-util.c: kill this file.
1405
1406         * TODO: merge in my bits.
1407
1408 2001-12-11  Michael Meeks  <michael@ximian.com>
1409
1410         * test/test-simple.c (test_value, test_table, main):
1411         remove unused variables causing warnings.
1412
1413         * configure.in: cleanup checks - require gail.
1414
1415 2001-12-11  Bill Haneman  <bill.haneman@sun.com>
1416
1417         * idl/Value.idl:
1418         Changed Value interface to use SValue (scalars) rather than
1419         assuming all values are floats.  This allows floats, doubles,
1420         longs, shorts, and unsigned values to be manipulated.
1421         Introduced Accessibility:SValue union.
1422
1423         * libspi/value.c:
1424         Updated to use new API above, and to work correctly with GValues
1425         of different types in AtkValue.
1426
1427         * cspi/spi_value.c:
1428         Updated to use new API above.  cspi's API is as yet unchanged.
1429
1430         * TODO: 
1431         Updated the Value revision action item.
1432         
1433 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
1434
1435         * test/test-simple.c:
1436         Added test_table (GtkTreeView widget in test window to follow).
1437         Un-commented test_value, added GtkRange widget.
1438         Added GtkTreeView widget with GtkListStore.  It passes regression
1439         test but leaks one SPI object for some reason.
1440
1441         * libspi/value.c:
1442         Fixed bug in impl__set_currentValue.
1443
1444 2001-12-10  Michael Meeks  <michael@ximian.com>
1445
1446         * cspi/spi_text.c: audit for exception handling,
1447         tolerating NULL object references safely etc.
1448
1449         * cspi/spi_value.c: ditto.
1450
1451         * cspi/spi_table.c (AccessibleTable_getSummary),
1452         (AccessibleTable_getAccessibleAt),
1453         (AccessibleTable_getRowHeader),
1454         (AccessibleTable_getColumnHeader),
1455         (AccessibleTable_getCaption): fix bugs hidden by
1456         incorrect casts.
1457         (long_seq_to_array): impl.
1458         (AccessibleTable_getSelectedRows),
1459         (AccessibleTable_getSelectedColumns): use it.
1460
1461 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
1462
1463         * TODO:
1464         Added a TODO list (rough and short for now).
1465
1466         * cspi/spi_hyperlink.c:
1467         * cspi/spi_hypertext.c:
1468         Fixed macro name typos, and remove use of obsolete macro in 
1469         AccessibleHyperlink_getLink.
1470
1471         * cspi/spi_action.c:
1472         * cspi/spi_accessible.c:
1473         * cspi/spi_application.c:
1474         * cspi/spi_component.c:
1475         * cspi/spi_selection.c:
1476         * cspi/spi_text.c:
1477         * cspi/spi_value.c:
1478         Documentation fixes (removed return values from ref/unref methods).
1479
1480 2001-12-10  Michael Meeks  <michael@ximian.com>
1481
1482         * cspi/spi_action.c: audit for exception handling,
1483         tolerating NULL object references safely etc.
1484
1485         * cspi/spi_accessible.c: ditto.
1486
1487         * cspi/spi_component.c: ditto.
1488
1489         * cspi/spi_editabletext.c: ditto.
1490
1491         * cspi/spi_hyperlink.c: ditto.
1492
1493         * cspi/spi_hypertext.c: ditto.
1494
1495         * cspi/spi_image.c: ditto.
1496
1497         * cspi/spi_selection.c: ditto.
1498
1499 2001-12-10  Michael Meeks  <michael@ximian.com>
1500
1501         * configure.in: use cspi/libspi.pc.in instead.
1502
1503         * Makefile.am (pkgconfig_DATA): upd. to match.
1504
1505         * test/simple-at.c (report_focus_event): kill hacks around
1506         bad return values, use putenv not setenv
1507
1508         * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1509         fire ChildGone - I killed it.
1510
1511         * libspi/component.c
1512         (impl_accessibility_component_get_extents): remove
1513         bogus return.
1514
1515         * idl/Accessible.idl: kill ChildGone exception.
1516
1517         * cspi/*.[ch]: kill int return from ref / unref.
1518         
1519         * cspi/spi_main.c (cspi_object_add_check): fold into
1520         (cspi_object_add): here.
1521
1522         * cspi/spi_component.c (AccessibleComponent_getExtents):
1523         handle exceptions elegantly.
1524
1525         * cspi/spi-private.h (cspi_check_ev_return),
1526         (cspi_return_if_fail): impl.
1527
1528         * cspi/spi_accessible.c: use extensively.
1529         (AccessibleStateSet_equals): add direct compare check.
1530
1531         * cspi/spi_selection.c: tolerate NULL objs, and check
1532         exceptions before return.
1533
1534         * cspi/spi-util.c (cspi_warn_ev): rename to
1535         (cspi_check_ev): this & don't pass ev in; no point.
1536
1537 2001-12-10  Michael Meeks  <michael@ximian.com>
1538
1539         * test/test-simple.c: use putenv not setenv
1540         (get_environment_vars): more chatty if you're not using
1541         the fun bits.
1542
1543         * test/simple-at.c: do the setenv so more people see the
1544         nice demo easily.
1545
1546 2001-12-10  Bill Haneman <bill.haneman@sun.com>
1547
1548         * libspi/registry.c:
1549         Changed check of CORBA_environment on notification to be a warning
1550         instead of an error for the moment, since we can recover from this
1551         error when caused by a queued notification from a dead app.
1552         
1553         * libspi/value.c:
1554         Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1555         used by all current implementors of AtkValue), and coerce to
1556         CORBA_float. (Proper general case fix may require change to Value.idl).
1557
1558 2001-12-09  Bill Haneman <bill.haneman@sun.com>
1559
1560         * cspi/spi.h:
1561         * cspi/spi_event.c:
1562         * cspi/spi_accessible.c:
1563         Documentation fixes: added user_data params to documentation for 
1564         listeners and callbacks.  
1565
1566         * cspi/spi_accessible.c: 
1567         Changed AccessibleStateSet_compare to return a
1568         StateSet rather than return the difference set into a third parameter.
1569         
1570         
1571 2001-12-09  Bill Haneman <bill.haneman@sun.com>
1572
1573         * configure.in:
1574         Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1575         remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1576         it). 
1577
1578         * Makefile.am:
1579         Remove subdirectory po from SUBDIRS for now.
1580
1581         * at-bridge/bridge.c:
1582         Beefed up a couple of debug printouts.
1583         One-line fix for signal notification name formatting.
1584
1585         * libspi/accessible.c:
1586         Added assertion to spi_accessible_new ().
1587
1588         * libspi/application.c:
1589         Put #ifdef qualifiers around a printf.
1590
1591         * libspi/value.c:
1592         Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1593
1594         * registryd/Makefile.am:
1595         * util/Makefile.am:
1596         Replaces use of XML_I18N_MERGE_SERVER_RULE with
1597         INTLTOOL_SERVER_RULE macro.
1598
1599         * test/simple-at.c:
1600         Added an event listener for several ATK signals, for
1601         testing and debugging.  Removed a few g_warnings.
1602         Added test output if focussed item implements the Value interface.
1603
1604         * test/test-simple.c:
1605         Added test_value () function (known not to pass at the moment, so
1606         not actually called yet.
1607         
1608 2001-12-08  Michael Meeks  <michael@ximian.com>
1609
1610         * at-bridge/bridge.c (bridge_focus_tracker),
1611         (emit_eventv): fix the same ref. leak.
1612         (register_atk_event_listeners): don't leak.
1613
1614         * cspi/spi-listener-impl.c (cspi_event): more 
1615         protection from client code.
1616
1617         * test/test-simple.c (test_desktop): unref the app.
1618
1619         * test/Makefile.am: upd. TESTS.
1620
1621         * at-bridge/bridge.c (bridge_exit_func): release the registry.
1622
1623         * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1624
1625         * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1626
1627         * cspi/spi_registry.c: constify in strings.
1628         (deregisterGlobalEventListenerAll): don't release the ref.
1629
1630         * cspi/spi.h: start removing redundant / conflicting
1631         gtkdoc comments, making the API readable at a glance :-)
1632         
1633         * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1634
1635         * test/keysynth-demo.c (keysynth_exit, main): upd.
1636
1637         * test/simple-at.c (main, simple_at_exit): upd.
1638
1639         * test/test-simple.c (unutterable_horror): kill.
1640         (utterable_normal_derefs): kill.
1641         (main): upd & do a setenv before gtk_init, so that we
1642         can use memprof - and to save the pain of remembering
1643         this, if we're running under memprof - don't exit.
1644
1645         * cspi/spi_main.c (SPI_exit): return exit status
1646         for cspi.
1647         (SPI_event_quit): impl.
1648         (SPI_event_main): simplify.
1649         (cspi_is_gnome_app): kill.
1650         (SPI_init): kill isGNOMEapp arg.
1651
1652         * at-bridge/bridge.c (register_atk_event_listeners):
1653         re-instate the unref.
1654         (bridge_exit_func): don't re-activate the registry,
1655         protect vs. theoretical re-entry, use the
1656         AT_BRIDGE_SHUTDOWN env. var to determine whether to
1657         assert a clean shutdown - for regression tests.
1658
1659 2001-12-08  Abel Cheung  <maddog@linux.org.hk>
1660
1661         * configure.in: Comment out dummy i18n support for now,
1662           otherwise it fails to build.
1663         * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1664           EXTRA_DIST. They are missing in tarball.
1665
1666 2001-12-07  Michael Meeks  <michael@ximian.com>
1667
1668         * util/magnifier.c: kill bonobo activation reg. race.
1669
1670         * libspi/component.c
1671         (impl_accessibility_component_get_extents): make it match
1672         it's sig.
1673
1674         * libspi/registry.c (_registry_notify_listeners):
1675         re-remove X headers & reconcile conflicts.
1676         (spi_listener_struct_free): bad conflict resolve.
1677         (impl_accessibility_registry_register_application):
1678         more bad merging fixed.
1679         (impl_accessibility_registry_deregister_application): ditto.
1680         (spi_registry_new): ditto.
1681         (spi_registry_init): don't have an applications field.
1682
1683 [ merge fixups2 branch to here ]
1684 2001-12-07  Michael Meeks  <michael@ximian.com>
1685
1686         * test/simple-at.c (report_focus_event),
1687         (report_focussed_accessible): remove g_warning debug.
1688
1689 2001-12-07  Michael Meeks  <michael@ximian.com>
1690
1691         * test/test-simple.c (validate_tree): comment out some checks.
1692         (test_desktop): app now not registered idly - horay.
1693
1694 2001-12-07  Michael Meeks  <michael@ximian.com>
1695
1696         * cspi/spi_registry.c
1697         (registerAccessibleKeystrokeListener): clean, stop it leaking
1698         great swathes of memory, and device event controller references.
1699         ensure we always pass valid sequences.
1700         (deregisterAccessibleKeystrokeListener): ditto.
1701         (generateKeyEvent): upd.
1702
1703         * at-bridge/bridge.c (bridge_key_listener): handle
1704         registry dead exception gracefully.
1705         (bridge_focus_tracker, emit_eventv): free ev.
1706
1707         * test/simple-at.c (report_focus_event): fix polarity.
1708
1709         * libspi/application.c (notify_listeners): kill the ev
1710         argument, and make sure we init the ev we use.
1711         (spi_application_object_event_listener): split out a chunk
1712         (get_atk_object_ref): here & fixup.
1713         (reverse_lookup_name_for_toolkit_event): make const.
1714         (spi_application_toolkit_event_listener): fixup, kill leaks
1715         ref problems etc.
1716
1717         * at-bridge/bridge.c (register_atk_event_listeners):
1718         don't unref the noop object - causes grief.
1719
1720         * libspi/registry.c: remove the X headers.
1721         turn off the debug churn.
1722
1723         * libspi/accessible.c (spi_accessible_new_return): only
1724         release the ref if we are supposed to [doh]
1725
1726         * test/simple-at.c (report_button_press, report_focus_event):
1727         guard vs. unexpected exit.
1728
1729         * at-bridge/bridge.c (gtk_module_init): prune printf.
1730         (bridge_exit_func): fix app unref.
1731
1732         * libspi/Makefile.am: don't install registry or desktop.h
1733
1734         * libspi/*.h: update includes.
1735
1736         * libspi/application.h: don't include ourself, or
1737         other redundant headers.
1738
1739 2001-12-06  Michael Meeks  <michael@ximian.com>
1740
1741         * libspi/accessible.c
1742         (get_accessible_from_servant): impl.
1743         Upd. all CORBA impl.s to use it killing cut and paste.
1744
1745         * cspi/spi_main.c (cspi_cleanup): guard vs. double
1746         invokes.
1747         (SPI_init): register atexit cleanup handler here.
1748
1749 2001-12-06  Michael Meeks  <michael@ximian.com>
1750
1751         * at-bridge/bridge.c (gtk_module_init): g_error on
1752         activation exception
1753
1754 2001-12-06  Michael Meeks  <michael@ximian.com>
1755
1756         * at-bridge/bridge.c (gtk_module_init): some sort of
1757         confusing merge clash - reverted.
1758         (bridge_idle_init): ditto.
1759
1760         * test/test-simple.c (main, utterable_normal_derefs):
1761         merge from Bill - somehow not committed.
1762
1763 2001-12-06  Michael Meeks  <michael@ximian.com>
1764
1765         * libspi/value.c (spi_value_class_init): upd.
1766         (spi_value_finalize): kill.
1767
1768         * libspi/table.c (spi_table_finalize): kill.
1769         (spi_table_interface_new): upd.
1770         (spi_table_class_init): upd.
1771         (get_table_from_servant): impl.
1772         Upd. all CORBA impl.s to use it killing yet more cut and paste.
1773
1774         * libspi/selection.c (spi_selection_finalize): kill.
1775         (spi_selection_interface_new): upd.
1776         (spi_selection_class_init): upd.
1777         (get_selection_from_servant): impl.
1778         Upd. all CORBA impl.s to use it killing yet more cut and paste.
1779
1780         * libspi/relation.c (spi_relation_finalize): kill.
1781         (spi_relation_class_init, spi_relation_new): upd
1782
1783         * libspi/image.c (spi_image_finalize): kill.
1784         (spi_image_class_init): upd.
1785         (spi_image_interface_new): upd.
1786         (get_image_from_servant): impl.
1787         Upd. all CORBA impl.s to use it killing yet more cut and paste.
1788
1789         * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1790         (spi_hyperlink_finalize): kill.
1791         (spi_hyperlink_new): upd.
1792         (get_hyperlink_from_servant): impl.
1793         Upd. all CORBA impl.s to use it killing yet more cut and paste.
1794
1795         * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1796         (spi_hypertext_finalize): kill.
1797         (spi_hypertext_class_init): upd.
1798         (get_hypertext_from_servant): impl.
1799         Upd. all CORBA impl.s to use it killing yet more cut and paste.
1800
1801         * libspi/editabletext.c (spi_editable_text_finalize): kill.
1802         (spi_editable_text_interface_new): upd.
1803         (get_editable_text_from_servant): impl.
1804         Upd. all CORBA impl.s to use it killing yet more cut and paste.
1805         
1806         * libspi/text.c (get_text_from_servant): impl.
1807         All impls - update to use it killing more cut and paste,
1808         also fix bad string returns on duff args ( a somewhat
1809         impossible case to handle - but hey ).
1810         (spi_text_construct): impl.
1811         (spi_text_interface_new): upd.
1812         (spi_text_object_finalize): kill.
1813
1814         * libspi/component.c
1815         (accessibility_component_object_finalize): kill.
1816         (spi_component_class_init): upd.
1817         (get_component_from_servant): impl. helper to kill cut & paste.
1818         (impl_accessibility_component_contains): 
1819         (impl_accessibility_component_get_accessible_at_point): 
1820         (impl_accessibility_component_get_position): 
1821         (impl_accessibility_component_get_extents): 
1822         (impl_accessibility_component_get_mdi_z_order): 
1823         (impl_accessibility_component_get_layer): 
1824         (spi_component_interface_new): upd.
1825
1826         * libspi/action.c (spi_action_finalize): kill.
1827         (spi_action_class_init): upd. inherit from SpiObject.
1828         (spi_action_interface_new): upd.
1829         (get_action_from_servant): impl. helper to reduce cut & paste.
1830         (impl_getKeyBinding, impl_getName, impl_doAction),
1831         (impl_getDescription): Use it everywhere.
1832
1833         * cspi/spi_main.c (get_live_refs): a pointer hash.
1834         (spi_object_hash, spi_object_equal): comment out.
1835         There are issues with CORBA object hashing that need
1836         solving.
1837
1838         * libspi/application.c (spi_application_init),
1839         (spi_application_new): upd.
1840
1841         * libspi/accessible.c (spi_accessible_object_finalize): kill.
1842         (spi_accessible_class_init): upd.
1843         s/accessible/object/ in epv methods.
1844
1845 2001-12-05  Bill Haneman <bill.haneman@sun.com>
1846
1847         * at-bridge/bridge.c:
1848         Reorder the bridge initialization into the bridge gtk_module_init,
1849         an immediate call to bridge_register_app, and an idle_add for
1850         register_atk_event_listeners (the only code that *must* wait until
1851         GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1852         the activation, creates the application's Accessible object, and
1853         queues the bridge_idle_init function.  Restored call to
1854         Accessibility_Registry_deregisterApplication().  
1855         Prior to making this call we obtain a new reference to the
1856         registry, which is a temporary hack that helps us handle apps that
1857         shut down the bonobo mainloop before we get there.
1858
1859         * libspi/registry.c:
1860         Fix string leakage in debug block, and don't segv if a an app
1861         dies before its event notifications have been propagated.
1862
1863         * cpi/spi_util.c:
1864         Modify cspi_check_ev() to call g_warning() rather than g_error(),
1865         as stopgap measure until we get proper exception handling when 
1866         objects die during or before interrogation.  
1867
1868         * cspi/spi_main.c:
1869         * cspi/spi.h:
1870         Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1871         Also changed default value of is_gnome_app to TRUE.
1872
1873         * test/simple-at.c:
1874         * test/keysynth-demo.c:
1875         Changed use of SPI_init and SPI_event_main to reflect API change above.
1876
1877         * test/simple-at.c:
1878         Made report_focus_event check the warning value from getName
1879         before reporting on focussed accessible; simplifies handling of
1880         notifications from dead objects.
1881
1882         * test/test-simple.c: (Changes not in this patch since source is
1883         not in CVS ?)
1884         
1885 2001-12-05  Michael Meeks  <michael@ximian.com>
1886
1887         * registryd/registryd.c (main): protect against
1888         bonobo-activation startup race condition.
1889
1890         * cspi/spi_main.c (cspi_object_add_check): cope
1891         with the exception elegantly.
1892
1893         * idl/Accessible.idl: decl. ChildGone
1894
1895         * libspi/desktop.c (spi_desktop_dispose): impl.
1896         (spi_desktop_class_init): upd.
1897         (spi_desktop_add_application),
1898         (spi_desktop_remove_application),
1899         (abnormal_application_termination): impl.
1900         (impl_desktop_get_child_at_index): re-impl.
1901
1902         * libspi/registry.c
1903         (impl_accessibility_registry_deregister_application),
1904         (impl_accessibility_registry_register_application): 
1905         kill excessive debug clutter.
1906
1907         * test/test-simple.c (test_misc): test some NULL
1908         tolerance. (main): upd.
1909
1910         * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1911         implements no interfaces - so let's not crash.
1912
1913         * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1914
1915         * libspi/accessible.c (spi_accessible_new_return): impl.
1916         helper to calm the cut and paste, to cope with
1917         NULL AtkObjects effectively and efficiently, and to kill
1918         the referencing bugs.
1919
1920         * libspi/table.c (impl_getAccessibleAt),
1921         (impl_getRowHeader, impl_getColumnHeader): upd.
1922
1923         * libspi/hyperlink.c (impl_getObject): upd.
1924
1925         * libspi/accessible.c
1926         (impl_accessibility_accessible_get_child_at_index): upd.
1927
1928         * libspi/component.c
1929         (impl_accessibility_component_get_accessible_at_point): upd.
1930
1931         * test/test-simple.c (test_editable_text, test_text): impl.
1932         some simple tests.
1933
1934         * cspi/spi_editabletext.c
1935         (AccessibleEditableText_insertText): constify.
1936
1937         * test/test-simple.c (focus_me): make more robust.
1938
1939         * libspi/accessible.c: remove some printfs in methods that
1940         we test and work fine, so we can get a clean tree dump.
1941
1942         * test/test-simple.c (validate_accessible),
1943         (validate_tree): make tree dumping pretty too.
1944
1945         * at-bridge/bridge.c (bridge_signal_listener): upd. so
1946         it builds without debug on.
1947
1948         * test/test-simple.c (validate_accessible): fix the most
1949         ludicrous bug.
1950
1951         * cspi/spi_main.c (spi_object_release): leave the nicely
1952         blanked memory around if in debug mode.
1953
1954         * cspi/spi-listener-impl.c (cspi_event): use add_check.
1955
1956 [committed to fixups2]
1957 2001-12-05  Michael Meeks  <michael@ximian.com>
1958
1959         * libspi/editabletext.c
1960         (spi_editable_text_class_init): g_type_class_peek_parent,
1961         not interface peek - so we finalize cleanly.
1962
1963         * libspi/accessible.c (spi_accessible_new): kill debug.
1964
1965         * test/test-simple.c (validate_accessible): fix ref.
1966         leak, print strings before freeing them; sigh, comment a
1967         chunk out due to strangeness.
1968         (validate_tree): unref the child after use.
1969
1970         * cspi/spi_component.c (AccessibleComponent_getLayer):
1971         add missing break statement, switch on zlayer not the
1972         uninitialized retval.
1973
1974         * cspi/spi_main.c (cspi_object_add): add assert, local ref
1975         before (possibly re-entering) remote unref.
1976
1977         * test/simple-at.c (main): unref the desktop.
1978
1979         * cspi/spi_accessible.c (cspi_accessible_is_a): move 
1980         into:
1981         
1982         * cspi/spi_main.c (cspi_accessible_is_a): here to 
1983         isolate bonobo API usage more.
1984
1985         * libspi/registry.c (impl_accessibility_registry_register_application): 
1986         prune bogus comment.
1987
1988 2001-12-04  Michael Meeks  <michael@ximian.com>
1989
1990         * test/test-simple.c (validate_tree): upd.
1991         IndexInParent check to make it more lucid.
1992         (validate_accessible): dump the tree.
1993
1994         * libspi/accessible.c (de_register_public_ref),
1995         (get_public_refs): impl.
1996         (spi_accessible_new): make more efficient & intuitive.
1997         Now IndexInParent check works.
1998
1999 2001-12-04  Michael Meeks  <michael@ximian.com>
2000
2001         * cspi/spi-util.h: remove.
2002
2003         * cspi/spi.h: move SPI_freeString here
2004
2005         * libspi/component.c (impl_accessibility_component_get_layer): 
2006         warning fixage.
2007         (impl_accessibility_component_get_mdi_z_order): ditto,
2008         return -1 on error - is this ok ?
2009
2010         * test/test-simple.c (test_application): impl.
2011
2012         * cspi/spi_accessible.c (Accessible_getApplication),
2013         (Accessible_isApplication): impl.
2014
2015         * libspi/registry.c (spi_listener_struct_free): release
2016         the CORBA reference too.
2017
2018         * libspi/accessible.c
2019         (impl_accessibility_accessible_get_parent): fix ref leak.
2020
2021         * libspi/registry.c (spi_registry_new): make the registry
2022         immortal - we don't want it to go away ever.
2023
2024         * libspi/application.c
2025         (spi_accessible_application_finalize): impl. cleanup.
2026
2027         * cspi/spi_registry.c
2028         (deregisterGlobalEventListenerAll),
2029         (deregisterGlobalEventListener),
2030         (deregisterAccessibleKeystrokeListener): fix ref leak.
2031
2032         * cspi/spi_main.c (SPI_init): remove redundant ref.
2033
2034         * test/test-simple.c (unutterable_horror): impl. to force a
2035         clean shutdown.
2036         (main): use it.
2037
2038         * libspi/registry.c
2039         (impl_accessibility_registry_deregister_application): release
2040         the application when we de-register it.
2041
2042         * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2043         until we have the infastructure to get it right.
2044
2045 2001-12-03  Michael Meeks  <michael@ximian.com>
2046
2047         * libspi/Makefile.am: only build eventlistener.[ch]
2048
2049         * libspi/accessible.c
2050         (impl_accessibility_accessible_get_child_at_index): don't leak.
2051
2052         * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2053         before we hit the idle handler.
2054
2055         * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2056         debugging than exit.
2057
2058         * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2059
2060         * libspi/listener.c (impl_notify_event): check source
2061         not NIL before unref.
2062
2063         * libspi/registry.c (impl_registry_notify_event): ditto.
2064
2065         * libspi/eventlistener.c
2066         (impl_accessible_event_notify_event): unref the source.
2067
2068         * libspi/accessibleeventlistener.c
2069         (impl_accessible_event_notify_event): unref the source.
2070
2071         * idl/Event.idl: remove 'hash_id' attribute - of no
2072         concievable use.
2073
2074         * libspi/application.c (notify_listeners): upd list
2075         iteration & sig.
2076         (spi_application_object_event_listener), 
2077         (spi_application_toolkit_event_listener): upd to do correct
2078         CORBA ref counting.
2079
2080         * libspi/registry.c
2081         (_registry_notify_listeners): update.
2082         (parse_event_type): this method also leaks like a sieve.
2083         (impl_accessibility_registry_deregister_global_event_listener): 
2084         fix ETYPE_WINDOW case.
2085
2086         * libspi/application.c
2087         (impl_accessibility_application_register_object_event_listener): 
2088         kill leak.
2089
2090         * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2091
2092         * libspi/hypertext.c (impl_getLink): ditto.
2093
2094         * cspi/spi_main.c (cspi_object_add): remove
2095         bogus CORBA_Object_duplicate.
2096
2097         * cspi/spi-listener-impl.c (cspi_event): dup/ref
2098         on the object_add.
2099
2100         * cspi/spi_accessible.c
2101         (Accessible_getRelationSet): fix leak / referencing issue.
2102
2103         * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2104         (cspi_object_add, cspi_object_unref): upd.
2105         (spi_object_release, get_live_refs): impl.
2106         (cspi_cleanup): simplify.
2107
2108         * *.[ch]: s/boolean/SpiBoolean/
2109
2110         * cspi/spi_accessible.c (role_names): actualy order so it
2111         corresponds with the enum !
2112
2113         * test/test-simple.c (test_roles): check some role strings
2114         vs. enums to detect offset errors.
2115
2116 2001-12-01  Michael Meeks  <michael@ximian.com>
2117
2118         * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2119
2120         * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2121         check ev before 
2122         (Accessible_getChildAtIndex): use cspi_add_check so we
2123         check the ev before using a (possibly) invalid value.
2124
2125         * libspi/accessible.c
2126         (impl_accessibility_accessible_get_parent): don't segv
2127         on a NULL parent.
2128
2129         * at-bridge/bridge.c (gtk_module_init): upd.
2130         (bridge_property_event_listener): don't leak strings
2131         and events !
2132         (bridge_state_event_listener),
2133         (bridge_property_event_listener): don't use a static
2134         buffer in case of recursive event emission &
2135         re-enterancy - split out the swathe of cut and paste
2136         into:
2137         (emit_eventv): and fix 2 ref leaks here & comply to the
2138         coding style.
2139         (bridge_register_app): rename to 
2140         (bridge_idle_init): this and kill arg parsing, split
2141         various inits & bonobo-activation registration to module
2142         init time, kill referencing error.
2143         (bridge_exit_func): fix the same leak.
2144         (bridge_focus_tracker): don't leak event structures
2145         and strings.
2146         (bridge_signal_listener): more leakage and cut & paste
2147         fixage.
2148         (bridge_key_listener): return the result - FIXME is
2149         this polarity correct ?
2150         (accessibility_keystroke_from_atk_key_event): rename
2151         (accessibility_init_keystroke_from_atk_key_event): and stop
2152         leakage.
2153         (gtk_module_init): return a value - not that it is checked by
2154         Gtk - but hey.
2155         (bridge_key_listener): register my horror at casting between
2156         IDL defined structs.
2157         (bridge_get_registry): kill - not used.
2158
2159         * cspi/spi_accessible.c (Accessible_getRole): make return const.
2160
2161         * test/test-simple.c (test_roles): impl.
2162         (test_desktop, validate_accessible, validate_tree): impl.
2163
2164         * cspi/spi_accessible.c (role_names): fixup bogus
2165         MAX_ROLES setup, make constants const for efficient linkage
2166         (AccessibleRole_getName): conform to coding style, make
2167         return 'const'
2168
2169 2001-11-30  Michael Meeks  <michael@ximian.com>
2170
2171         * cspi/spi.h: add missing prototype.
2172
2173         * libspi/registry.c (spi_listener_struct_new): fix sig.
2174
2175         * test/Makefile.am: add test-simple
2176
2177         * test/test-simple.c: add
2178
2179         * test/test.sh: add.
2180
2181         * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2182
2183         * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2184         do it straight - since otherwise we often get an activation race.
2185
2186 [ work before Bill duplicated a chunk of it ... ]
2187 2001-11-30  Michael Meeks  <michael@ximian.com>
2188
2189         * libspi/keystrokelistener.c
2190         (spi_keystroke_listener_class_init): fixup arg
2191         count (doh).
2192
2193         * libspi/eventlistener.c
2194         (spi_event_listener_class_init): ditto.
2195
2196         * tests/test.sh: add.
2197
2198         * cspi/spi-listener-impl.h: update macros.
2199
2200         * cspi/spi-listener-impl.c
2201         (cspi_event_listener_remove_callback): add
2202         correct pre-conditions.
2203
2204         * cspi/spi_main.c (SPI_exit): guard vs. double
2205         exits, exit the mainloop nicely.
2206         (SPI_event_main): make more sense.
2207         (SPI_init): move the atexit evilness here so we
2208         always do it (yuck).
2209         (SPI_event_main): upd.
2210
2211         * test/simple-at.c: update for listener changes.
2212
2213         * registryd/registryd.c (main): prune kruft.
2214
2215         * libspi/libspi.h: upd.
2216
2217         * libspi/eventlistener.[ch]: rename broken macros.
2218
2219         * libspi/accessibleeventlistener.[ch]: remove.
2220
2221         * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2222
2223         * test/test-simple.c: Add - automated tests.
2224
2225         * cspi/spi-listener-impl.c (cspi_event),
2226         (cspi_key_event): add user_data to invoke.
2227         (cspi_keystroke_listener_finalize): impl.
2228         (cspi_keystroke_listener_class_init): upd.
2229
2230         * cspi/spi_event.c
2231         (createAccessibleEventListener),
2232         (AccessibleEventListener_addCallback),
2233         (createAccessibleKeystrokeListener),
2234         (AccessibleKeystrokeListener_addCallback): upd.
2235
2236         * libspi/deviceeventcontroller.c
2237         (spi_device_event_controller_check_key_event): add public proto.
2238
2239         * libspi/registry.c
2240         (impl_accessibility_registry_deregister_global_event_listener): 
2241         always init listeners.
2242         (_registry_notify_listeners): yes it is.
2243
2244         * cspi/spi-listener-impl.c (cspi_key_event): 
2245         move debug to here.
2246         (cspi_event_listener_finalize): impl.
2247         (cspi_event_listener_class_init): hook up.
2248         (event_handler_new, event_handler_free),
2249         (event_list_remove_by_callback): impl.
2250         (cspi_event_listener_remove_callback),
2251         (cspi_keystroke_listener_remove_callback),
2252         (cspi_keystroke_listener_add_callback),
2253         (cspi_event_listener_add_callback): upd.
2254
2255         * libspi/keystrokelistener.c
2256         (keystroke_listener_object_finalize): kill
2257         (spi_keystroke_listener_class_init): upd.
2258         (spi_keystroke_listener_add_callback),
2259         (spi_keystroke_listener_remove_callback): kill,
2260         use signals.
2261         (impl_key_event): prune drasticaly.
2262
2263         * libspi/eventlistener.c
2264         (spi_event_listener_add_callback),
2265         (spi_event_listener_remove_callback): kill, use
2266         signals.
2267         (impl_accessible_event_notify_event): upd.
2268         (spi_event_listener_object_finalize): remove.
2269
2270         * libspi/Makefile.am: use eventlistener.[ch]
2271
2272 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
2273
2274         * libspi/registry.c (_registry_notify_listeners):
2275         Changed listener loop iteration to use preferred convention.
2276         Got rid of string memory leaks caused be calling g_strconcat
2277         inside function calls.
2278
2279         * libspi/registry.c (parse_event_type):
2280         Stopped g_strconcat memory leaks, free the g_strsplit return,
2281         g_strdup the split pieces when used, etc.
2282
2283 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
2284
2285         * idl/State.idl: 
2286         Change method 'compare' to return a 'difference set' rather than
2287         taking a StateSet as an out parameter (more Java-friendly).
2288
2289         * idl/Accessible.idl:
2290         Added CORBA struct 'BoundingBox', to faciliate API changes below:
2291         
2292         * idl/Component.idl:
2293         * idl/Image.idl:
2294         Changed methods 'getExtents' and 'getImageExtents' in these
2295         interfaces to return a BoundingBox structure.  
2296         (getPosition and getSize are redundant and possibly should be
2297         removed, rather than creating a corresponding Point struct.)
2298
2299         * cspi/spi_component.c:
2300         Modify implementation of getExtents to reflect the above IDL
2301         change.
2302         
2303         * cspi/spi_image.c:
2304         * cspi/spi.h:
2305         Add (missing) AccessibleImage_getExtents () API.
2306
2307         * docs/reference/cspi/at-spi-cspi-sections.txt:
2308         Added AccessibleImage_getImageExtents () to docs.
2309         
2310 2001-12-03  Bill Haneman  <bill.haneman@sun.com>
2311
2312         * idl/Component.idl:
2313         Added two methods, getLayer () and getMDIZOrder (), to reflect
2314         the new ATK methods atk_object_get_layer and
2315         atk_object_get_mdi_z_order. (Which arguably should be part of the
2316         AtkComponent API and AtkObject).  Also added an enum,
2317         ComponentLayer, for the first method's return value.
2318
2319         * libspi/component.c:
2320         Added implementations for these methods.
2321
2322         * cspi/spi_component.c:
2323         * cspi/spi.h:
2324         Added cspi binding methods for above, 
2325         AccessibleComponent_getLayer() and
2326         AccessibleComponent_getMDIZOrder().
2327         Added cspi enum 'AccessibleComponentLayer'.
2328
2329         * docs/reference/cspi/at-spi-cspi-sections.txt:
2330         Added above methods to docs.
2331
2332         * cspi/spi-impl.h:
2333         * cspi/spi*.[ch]:
2334         Changed typedef for 'boolean' type (and all references to it) to
2335         SPIBoolean, to avoid keyword clashes with C++.
2336
2337         * test/simple-at.c:
2338         Changed usages of 'boolean' to SPIBoolean.
2339
2340         * test/keysynth-demo.c:
2341         Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2342         app), except where SPIBoolean is required by the callbacks API.
2343         
2344 2001-12-02  Bill Haneman  <bill.haneman@sun.com>
2345
2346         * cspi/spi_registry.c:
2347         Removed obsolete X event loop for passive keygrabs (which now
2348         lives in libspi).
2349
2350         * registryd/registryd.c:
2351         Removed unnecessary call to gdk_init() [cruft]. This also allows
2352         removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2353         * configure.in.
2354
2355 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
2356
2357         * docs/reference/cspi:
2358         Included docs for SPI_freeString in generated documentation.
2359
2360         * cspi/spi-util.c:c
2361         Renamed spi_freeString to SPI_freeString, for consistency.  Added
2362         documentation for this function.
2363
2364         * cspi/spi-util.h:
2365         Renamed spi_freeString to SPI_freeString, for consistency.  
2366         Removed obsolete method declaration string_from_corba_string.
2367
2368         * test/keysynth-demo.c:
2369         Small tweak to comments.
2370
2371         * test/simple-at.c:
2372         Stopped leaking the strings returned from CSPI. 
2373
2374 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
2375
2376         Merged Michael's branch (see his ChangeLog entries below).
2377         
2378         * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2379         bridge is alive, release on exit.
2380         
2381         * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2382         Fix type check macro.
2383         
2384         * cspi/spi_event.c:
2385         Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2386         
2387         * cspi/spi_main.c: 
2388         Added is_gnome_app static, and method cspi_is_gnome_app(), 
2389         so we can call the appropriate shutdown routine at exit in SPI_exit.
2390         
2391         * cspi/spi_main.c (cspi_object_ref):
2392         Duplicate the corba object passed in, since we're keeping it around.
2393         
2394         * cspi/SPI_exit.c, cspi_cleanup:
2395         Moved the releasing of the live refs to its own function, so we
2396         can put it in g_atexit ().  Call the appropriate shutdown API
2397         depending on whethe calling client is a gnome app or not
2398         (bonobo_main_quit or CORBA_ORB_shutdown).
2399         
2400         * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2401         Unref the listener when this method is called, after
2402         deregistration.  Updated the API docs to note this behavior.
2403
2404         * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2405         Bugfixes: Ref the bonobo object when returning a parent or child 
2406         reference, or an AccessibleRelation.  Generally made sure
2407         BonoboObject refcount is incremented whenever we return an
2408         Accessible.
2409
2410         * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2411         Fixed typo/bug in signal declaration.
2412         
2413         * libspi/accessibleeventlistener.h:
2414         Fixed a type macro.
2415
2416         * libspi/application.c (spi_application_new):
2417         Fixed leak in initialization.
2418
2419         * libspi/desktop.c:
2420         Remembered to increment bonobo-object refcount when returning
2421         children (applications) from desktop object.
2422         Added (empty) finalize method.
2423
2424         * libspi/deviceeventcontroller.c:
2425         Hold a ref to listeners inside DEControllerKeyListeners.
2426         Added dec_key_listener_free() method.  Use prepend instead of
2427         append in key_listener list.  Fixed some refcount madness and
2428         leaks in the listener registration/deregistration - deregistration
2429         now calls dec_key_listener_free() on listeners, and on the
2430         temporarily constructed dec_key_listener() used to perform the search/match.
2431
2432         * libspi/hypertext.c (spi_hypertest_finalize):
2433         Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
2434         class.  Also fixed spi_hypertext_interface_new() and
2435         SpiHypertextClass.  Fixed a couple of paren-whitespace formatting bugs.
2436
2437         * libspi/hypertext.h: 
2438         Removed pointless and duplicate AtkObject pointer from
2439         SpiHypertextClass.
2440
2441         * libspi/keystrokelistener.c:
2442         Fixed incorrect type of keystroke_listener_parent_class,
2443         renamed keystroke_listener_object_finalize to
2444         spi_keystroke_listener_object_finalize.
2445         Fixed typo in signal declaration
2446         (spi_keystroke_listener_class_init).
2447
2448         * libspi/registry.c:
2449         Added funcsions spi_listener_struct_new() and
2450         spi_listener_struct_free() to help with memory management issues.
2451         We also now use these methods instead of gnew + poking stuff into
2452         the struct, and to decrement listener counts/free the listeners
2453         when deregistering them.
2454         Fix more refcount bugs in getDesktop() and
2455         getDeviceEventController().  
2456
2457         * test/simple-at.c:
2458         De-ref the desktop after enumerating the applications.  Explicitly
2459         decrement the refcounts on the created listeners on exit (using
2460         _unref for keystroke listeners, and via the
2461         deregisterGlobalEventListenerAll command for other event
2462         listeners).
2463         
2464 2001-11-27  Michael Meeks  <michael@ximian.com>
2465
2466         * cspi/spi-listener.h: fixup enum.
2467
2468 2001-11-27  Michael Meeks  <michael@ximian.com>
2469
2470         * cspi/spi-listener-impl.c (cspi_event_listener_new),
2471         (cspi_keystroke_listener_new): Use the cspi variants.
2472
2473 2001-11-26  Michael Meeks  <michael@ximian.com>
2474
2475         * test/keysynth-demo.c: fix 2 compile warnings, missing
2476         type in decl. etc.
2477
2478         * test/simple-at.c (report_focussed_accessible),
2479         (report_focus_event, report_button_press),
2480         (check_property_change, is_command_key),
2481         (report_ordinary_key_event, report_command_key_event): upd.
2482
2483         * util/mag_client.h: include pre-requisites.
2484
2485         * libspi/accessibleeventlistener.c
2486         (spi_event_listener_object_finalize): free any lingering
2487         callbacks.
2488         
2489         * libspi/keystrokelistener.c
2490         (keystroke_listener_object_finalize): ditto.
2491
2492         * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2493         callbacks, with cspi types.
2494         
2495         * cspi/spi_event.c (createAccessibleEventListener): chain to
2496         (AccessibleEventListener_addCallback): here.
2497         (createAccessibleKeystrokeListener): chain to 
2498         (AccessibleKeystrokeListener_addCallback): here.
2499
2500         * libspi/keystrokelistener.c
2501         (spi_keystroke_listener_class_init): add signal.
2502         (impl_key_event): emit the event.
2503         (boolean_handled_accumulator): impl.
2504         (marshal_BOOLEAN__POINTER): add, gack.
2505
2506         * libspi/accessibleeventlistener.c
2507         (spi_event_listener_class_init): add signal.
2508         (impl_accessible_event_notify_event): emit the signal &
2509         make the loop efficient.
2510         (spi_event_listener_add_callback): prepend the callback.
2511
2512         * libspi/accessibleeventlistener.h: add an 'event' signal,
2513         decl type on callback.
2514
2515         * libspi/keystrokelistener.h: ditto.
2516
2517         * cspi/spi-listener.h: make methods typesafe and
2518         make them use the new event typedefs.
2519
2520         * test/simple-at.c (report_focussed_accessible):
2521         include mag_client.h
2522         Use *(void *)text_interface not the other thing.
2523         
2524         * configure.in: add gtk to registryd bits - since we use
2525         gdk there ( why ? )
2526
2527         * util/magnifier.c: include libbonobo.h
2528         
2529 2001-11-25  Bill Haneman  <bill.haneman@sun.com>
2530
2531         * test/keysynth-demo.c:
2532         Turned this into a simple scanning keyboard, to demonstrate the
2533         use of g_timeout_add () as a means of creating timers for
2534         scanning, and the use of GtkStyle for visually indicating when
2535         virtual keyboard elements are selected.
2536
2537         keysynth-demo now listens to any keyboard keys with zero-valued
2538         keycodes (i.e. 'unused' keys) and interprets them as
2539         single-switches.
2540
2541         Reworked the shiftlatch code so that shift-down state isn't held
2542         for long periods (it's only synthesized immediately prior to
2543         the keysynth event it's modifying).  Note that shiftlatch in this
2544         demo is a convenience, not intended to take the place of AccessX 
2545         which is the better choice for getting 'sticky' modifier keys.
2546
2547         * libspi/deviceeventcontroller.c:
2548         * at-bridge/bridge.c:
2549         * cspi/spi_registry.c:
2550         Removed some debug print stuff, and put other verbosity in #ifdef
2551         blocks.
2552
2553         * util/magnifier.c:
2554         * util/mag_image.h:
2555         Implemented some more of the magnifier IDL for the simple
2556         magnifier: namely, getZoomRegionParams. 
2557         Added mag_x and mag_y members to MagnifierData struct, aid of this
2558         implementation.
2559         Added GtkWindow::realize signal handler to magnifier, to keep it
2560         from receiving keyboard focus from the WM.
2561
2562 2001-11-23  Mark McLoughlin  <mark@skynet.ie>
2563
2564         * cspi/spi-private.h: my guess at what michael forgot
2565         before he ran off to NZ :-)
2566
2567 2001-11-23  Michael Meeks  <michael@ximian.com>
2568
2569         * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2570         comment out non existant method invoke so we link.
2571
2572         * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2573         use bonobo_exception_get_text for more friendly warnings.
2574
2575         * cspi/spi.c (Obj_Add): move into spi_main & rename
2576         spi_object_add; kill spi.c
2577
2578         * cspi/spi_registry.c
2579         (deregisterGlobalEventListener),
2580         (deregisterGlobalEventListenerAll),
2581         (registerGlobalEventListener): fix exception leaks.
2582
2583         * cspi/spi_main.c (spi_exception): impl. helper, so we
2584         don't leak exceptions.
2585
2586         * cspi/spi_selection.c
2587         (AccessibleSelection_deselectSelectedChild): return the
2588         success state.
2589
2590         * cspi/spi_main.c (spi_ev): impl; hack - gack.
2591         (spi_registry): ditto.
2592         (SPI_init): guard against double inits.
2593
2594         * cspi/*.c: use spi_ev (), and spi_registry () where
2595         appropriate - a temporary hack until we have something
2596         better. Use spi_object_add
2597
2598 2001-11-22  Michael Meeks  <michael@ximian.com>
2599
2600         * cspi/Makefile.am: re organise, install the headers.
2601
2602         * cspi/*.h: add G_BEGIN/END_DECLS
2603
2604 2001-22-11  Bill Haneman  <bill.haneman@sun.com>
2605
2606         * test/simple-at.c:
2607         Added non-preemptive keylistener for key events with no modifiers
2608         and shift-only modifier.
2609
2610         * libspi/keystrokelistener.c:
2611         Removed some verbose diagnostics printout.
2612
2613         * cspi/spi_registry.c:
2614         Fixed a bug that caused all key listeners to be registered as
2615         pre-emptive.
2616         
2617         * libspi/deviceeventcontroller.c:
2618         Fixed bug that caused XGrabKey (preemptive key grab) to be called
2619         for non-preemptive key masks.
2620
2621
2622 2001-22-11  Bill Haneman  <bill.haneman@sun.com>
2623
2624         * docs/reference/idl/at-spi-idl-docs.sgml:
2625         * docs/reference/idl/at-spi-idl-sections.txt:
2626         * docs/reference/idl/at-spi-idl-overrides.txt:
2627         Added missing files.
2628
2629         * docs/reference/Makefile.am:
2630         removed idl from SUBDIRS until we can figure a way to get gtk-doc
2631         to scan the IDL files :-(
2632
2633         * docs/reference:
2634         * docs/cspi:
2635         * docs/idl:
2636         Added .cvsignore files.
2637         
2638 2001-21-11  Bill Haneman  <bill.haneman@sun.com>
2639
2640         * libspi/deviceeventcontroller.c:
2641         * libspi/keystrokelistener.c:
2642         * cspi/spi_event.c:
2643         * cspi/spi_registry.c:
2644         Added filters for KeySets, KeyEventSeq, and event types to key
2645         event dispatching, so listeners should only receive those events
2646         that they requested :-)
2647
2648 2001-21-11  Bill Haneman  <bill.haneman@sun.com>
2649
2650         * configure.in:
2651         * docs/Makefile.am:
2652         * docs/reference:
2653         * docs/reference:Makefile.am:
2654         * docs/reference/cspi:
2655         * docs/reference/cspi:Makefile.am:
2656         * docs/reference/cspi:tmpl:
2657         * docs/reference/cspi:tmpl:*.sgml:
2658         * docs/reference/idl:
2659         * docs/reference/idl:Makefile.am:
2660         * docs/reference/idl:at-spi-idl-sections.txt:
2661         * docs/reference/idl:at-spi-idl-docs.sgml:
2662         * docs/reference/idl:tmpl:
2663         * docs/reference/idl:tmpl:*.sgml:
2664
2665         Restructured docs directory to allow separate 'reference' docs
2666         section, and forked idl and cspi docs.  Added the sgml template
2667         files to CVS.  Added the first sections/structural sgml for the
2668         IDL docs.
2669
2670 2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
2671
2672         * configure.in, libspi/Makefile.am: find libXtst.
2673
2674 2001-11-21  Michael Meeks  <michael@ximian.com>
2675
2676         * test/accessx-gui.c: s/spi_value/value/ - doh.
2677
2678         * libspi/base.[ch]: add.
2679
2680 2001-18-11  Bill Haneman <bill.haneman@sun.com>
2681
2682         * idl/Accessible.idl:
2683         * idl/Application.idl:
2684         * idl/Registry.idl:
2685         * idl/Action.idl:
2686         Started gtk-doc cleanup on IDL.
2687
2688         * libspi/deviceeventcontroller.c:
2689         Added and connected non-preemptive key notification from the
2690         toolkits (in addition to the pre-emptive support from XServer
2691         which we had before, but which causes 'focus flashing').  Filters
2692         are presently limited to key modifiers and global/non-global,
2693         KeySets are presently ignored, as are KeyEvent masks.
2694
2695         Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2696         structs into the persistant structure rather than just storing
2697         pointers to things that might not persist across servant
2698         invocations.
2699
2700         The XGrabKey call now does async keygrabs, because synchronous
2701         ones were deadlocking with GDK_event code in a very nasty way.
2702
2703         Added boolean to internal method notify_keylisteners, to indicate
2704         whether the event came from the 'toolkit source' or the 'global
2705         (XServer) source' - this is used in the notification process to
2706         determine which listeners to send the event to.
2707
2708         deviceeventcontroller.c is now warning-free.
2709         
2710         * libspi/registry.c:
2711         Fixed regression in application de-registration.
2712         Also fixed some really brain-dead weirdness having to do with
2713         event dispatching - event structs are now duplicated before being
2714         re-marshalled in the dispatch to listeners.  This also fixes a
2715         Solaris build problem.
2716         
2717         
2718 2001-20-11  Michael Meeks  <michael@ximian.com>
2719
2720         * libspi/registry.c
2721         (impl_accessibility_registry_deregister_global_event_listener): 
2722         segv. protection.
2723
2724         * libspi/deviceeventcontroller.c
2725         (spi_device_event_controller_check_key_event): return
2726         FALSE on no virtual method.
2727
2728         * libspi/*..h: make includes work on a correctly pathed install.
2729
2730         * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2731
2732         * libspi/application.h: kill unused ( and whacked out )
2733         gboolean *spi_application_set_id (AtkObject *app, long id);
2734
2735 2001-20-11  Michael Meeks  <michael@ximian.com>
2736
2737         * libspi/*.[ch]: further convert to bonobo's type func
2738         macros, remove redundnant casts etc.
2739
2740         * libspi/text.c s/accessibility_text/spi_text/g,
2741         re-order to de-cruft.
2742
2743         * libspi/hypertext.c: re-order to kill a huge slew
2744         of redundant forward decls.
2745
2746         * libspi/relation.c: ditto.
2747
2748         * libspi/image.c: ditto.
2749
2750         * */.cvsignore: update
2751         
2752 2001-20-11  Michael Meeks  <michael@ximian.com>
2753
2754         * libspi/deviceeventcontroller.c
2755         (_controller_register_with_devices): use g_getenv,
2756         kill stdlib.h include.
2757
2758         * libspi/keystrokelistener.c
2759         (spi_keystroke_listener_get_type): kill
2760         (spi_keystroke_listener_class_init),
2761         (spi_keystroke_listener_init): rename to this.
2762
2763         * libspi/text.c (impl_getAttributes): fix warning / bug.
2764
2765         * libspi/*.[ch]: more headers, includes and over commenting.
2766         
2767 2001-20-11  Michael Meeks  <michael@ximian.com>
2768
2769         * libspi/*.[ch]: fixup headers, includes and over commenting.
2770
2771         * libspi/image.c (impl__get_imageDescription): const
2772         correctness warning fix. remove redundant casting.
2773
2774         * libspi/table.c (impl_getRowDescription): ditto.
2775         (impl_getColumnDescription): ditto.
2776
2777         * libspi/libspi.h: add.
2778
2779 2001-19-11  Michael Meeks  <michael@ximian.com>
2780
2781         * libspi/editabletext.c (impl_setAttributes): fix warnings.
2782
2783         * libspi/component.c (accessibility_component_get_type): 
2784         rename to (spi_component_get_type): and macroify.
2785         (accessibility_component_init): rename to
2786         (spi_component_init): this
2787         (accessibility_component_class_init): rename to
2788         (spi_component_class_init): this
2789
2790         * libspi/action.c (spi_action_get_type): kill, use the macro.
2791
2792         * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2793         to avoid prototype.
2794
2795         * libspi/application.c (spi_application_object_event_listener),
2796         (impl_accessibility_application_register_object_event_listener):
2797         warning fixes / const understanding updates.
2798
2799         * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2800         warning fixes.
2801
2802 2001-18-11  Bill Haneman <bill.haneman@sun.com>
2803
2804         * libspi/spi_accessible.c: Added docs and C bindings for
2805         AccessibleStateSet. (No implementations yet).  Documentation
2806         coverage for C bindings now 100%. Made docs for event listeners
2807         more explicit.
2808         
2809         * idl/Registry.idl:
2810         Added methods 
2811             boolean notifyListenersSync (in DeviceEventListener listener,
2812                                      in DeviceEvent event);
2813
2814             oneway void notifyListenersAsync (in DeviceEventListener listener,
2815                                           in DeviceEvent event);
2816
2817         Added DeviceEventListener and DeviceEvent structs (may deprecate
2818         KeyStroke and KeystrokeListener in favor of this generic
2819         event/listener framework for devices).
2820
2821         * libspi/deviceeventcontroller.c:
2822
2823         Changed some key listener code to take masks, etc., and paved the
2824         way for integration of toolkit/non-preemptive key events. Changed
2825         signatures of some internal methods.
2826
2827         * at-bridge/bridge.c:
2828         Fixed regression connecting to interface signals, apparently
2829         caused by GTK+ changes.
2830
2831         Added an internal bridge_state_listener to deal with
2832         property-change:accessible-state signals.
2833
2834         Changed the key_listeners GList to store structs (including masks,
2835         etc.) instead of just CORBA_Objects (required for full
2836         implementation of key listener API).
2837
2838         Connected the bridge to all currently supported Atk signals.
2839         Events now supported: 
2840             object:property-change
2841             object:property-change:accessible-name
2842             object:property-change:accessible-state
2843             object:property-change:accessible-description
2844             object:property-change:accessible-parent
2845             object:property-change:accessible-value
2846             object:property-change:accessible-role
2847             object:property-change:accessible-table-caption
2848             object:property-change:accessible-table-column-description
2849             object:property-change:accessible-table-column-header
2850             object:property-change:accessible-table-row-description
2851             object:property-change:accessible-table-row-header
2852             object:property-change:accessible-table-summary
2853             object:children-changed
2854             object:visible-data-changed
2855             object:selection-changed
2856             object:text-selection-changed
2857             object:text-changed
2858             object:text-caret-moved
2859             object:row-inserted
2860             object:row-reordered
2861             object:row-deleted
2862             object:column-inserted
2863             object:column-reordered
2864             object:column-deleted
2865             object:model-changed        
2866
2867 2001-16-11  Bill Haneman <bill.haneman@sun.com>
2868
2869         * libspi/hyperlink.c,h:
2870         Fixed some broken stuff in hyperlink.
2871         
2872         * libspi/relation.h:
2873         * libspi/relation.c:
2874         * cspi/spi_accessible.c:
2875         Initial implementations of AccessibleRelation methods, and docs.
2876
2877         * libspi/accessible.c:
2878         Fixed a bug that caused SEGV  if an accessible
2879         object's description is NULL, and a client
2880         requests it.  An empty string is now returned.
2881
2882         * cspi/spi_editabletext.c:
2883         * cspi/spi_hypertext.c:
2884         * cspi/spi_image.c:
2885         * cspi/spi_hyperlink.c:
2886         * cspi/spi_table.c:
2887         Added docs.  
2888
2889         Doc coverage now 95%.
2890
2891 2001-16-11  Bill Haneman <bill.haneman@sun.com>
2892
2893         One last namespacing revision:
2894         * libspi/accessibleeventlistener.[ch]:
2895         Renamed SpiAccessibleEventListener to SpiEventListener,
2896         (no need for two namespaces ;-)
2897
2898         And lots of documentation fixes:
2899
2900         * docs/at-spi-docs.sgml:
2901         Fixed 'underscore vs. hyphen' bug that was preventing
2902         the gtk-doc API docs from being automatically generated.
2903
2904         * cspi/spi-impl.h
2905         * cspi/spi-listener.h
2906         * cspi/spi.h
2907         * cspi/spi_accessible.c
2908         * cspi/spi_action.c
2909         * cspi/spi_application.c
2910         * cspi/spi_component.c
2911         * cspi/spi_editabletext.c
2912         * cspi/spi_event.c
2913         * cspi/spi_hypertext.c
2914         * cspi/spi_main.c
2915         * cspi/spi_registry.c
2916         * cspi/spi_selection.c
2917         * cspi/spi_text.c
2918         * cspi/spi_value.c
2919         * docs/Makefile.am
2920         * docs/at-spi-docs.sgml
2921         * docs/at-spi-sections.txt
2922         
2923         Added and fixed up gtk-doc documentation in cspi.
2924         
2925         Interfaces now (fully) documented (subject to revision and enhancement):
2926         SPI_main
2927         Event Listener Support
2928         Registry API
2929         AccessibleApplication
2930         Accessible
2931         AccessibleAction
2932         AccessibleComponent
2933         AccessibleEditableText
2934         AccessibleSelection
2935         AccessibleText
2936         AccessibleValue
2937
2938         still pending:
2939         AccessibleStateSet
2940         AccessibleRelationSet
2941         AccessibleImage
2942         AccessibleTable
2943         AccessibleHyperlink
2944         
2945 2001-14-11  Bill Haneman <bill.haneman@sun.com>
2946
2947         * at-bridge/bridge.c:
2948         Initial work for toolkit-level key snooper connection by bridge.
2949
2950         * cspi/spi-impl.h:
2951         * cspi/spi_*.h:
2952         * cspi/spi_*.c:
2953         New typedefs and fixes to support new namespacing, and cleaner
2954         separation of cspi bindings from libspi bonobo implementation.  
2955         Removed inconsistent and extraneous Spi* namespace prefix that
2956         had crept into cspi headers.
2957         Lots of comment fixes that sed had missed.
2958
2959         * cspi/spi-roletypes.h:
2960         * cspi/spi-statetypes.h:
2961         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2962         to AccessibleRoleType.
2963         
2964         * libspi/accessibleeventlistener.h:
2965         Fixed minor namespacing weirdness.
2966
2967         * libspi/deviceeventcontroller.c:
2968         Reordered some internal API for device listeners.
2969         Changed the key registry final boolean to 'is_system_global'
2970         rather than 'is_synchronous', which is more descriptive of its 
2971         actual meaning.
2972         Added spi_device_event_controller_new().
2973         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
2974          
2975         * libspi/keystrokelistener.[ch]:
2976         Namespaced KeystrokeListener to SpiKeystrokeListener.
2977         Changed uses of keymasks to use SPI_ prefix, and did other
2978         knock-on fixups.
2979
2980         * libspi/keymasks.h:
2981         Namespaced keymask constants with SPI_ prefix.
2982
2983         * libspi/registry.c:
2984         Some warning fixes, and knock-on fixes from namespace changes.
2985
2986         * test/Makefile.am:
2987         Added rules for accessx-gui test program.
2988
2989         * test/accessx-gui.c:
2990         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2991         utility.  It doesn't actually use at-spi, but it's still cool and
2992         useful ;-)
2993
2994         * test/keysynth-demo.c:
2995         * test/simple-at.c:
2996         * test/at.c:
2997         * test/app.c:
2998         Fixes so that these test clients work properly with the namespaced
2999         libraries. (Incompletely tested for technical reasons, fixes may follow)
3000         
3001
3002 2001-13-11  Michael Meeks  <michael@ximian.com>
3003
3004         * libspi/application.c
3005         (impl_accessibility_application_get_version),
3006         (impl_accessibility_application_get_toolkit_name):
3007         warning fixes.
3008         (impl_accessibility_application_set_id),
3009         (impl_accessibility_application_get_id): remove
3010         redundant casting code.
3011
3012         * libspi/action.c (impl_getDescription): fix warnings.
3013
3014         * libspi/accessible.c
3015         (impl_accessibility_accessible_get_parent),
3016         (impl_accessibility_accessible_get_child_at_index),
3017         (impl_accessibility_accessible_get_state),
3018         (impl_accessibility_accessible_get_relation_set):
3019         warning fixes & include action.h
3020
3021 2001-13-11  Michael Meeks  <michael@ximian.com>
3022
3023         * *.[ch] fix bits I screwed up:
3024
3025                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3026                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3027         
3028 2001-13-11  Michael Meeks  <michael@ximian.com>
3029
3030         * *.[ch] Namespace libspi into spi_ and Spi.
3031
3032 2001-13-11  Michael Meeks  <michael@ximian.com>
3033
3034         * Makefile.am: dist & install at-spi-1.0.pc
3035
3036         * libspi/Makefile.am: install into at-spi-1.0
3037
3038         * idl/Makefile.am (idldir): install into at-spi-1.0
3039
3040         * at-spi-1.0.pc.in: add.
3041
3042         * configure.in: build it.
3043
3044 2001-12-11  Bill Haneman <bill.haneman@sun.com>
3045
3046         * test/keysynth-demo.c:
3047         Use a 'realize' signal-handler to set the WM properties for
3048         the virtual keyboard, rather than making it a "POPUP" type
3049         override-redirect window (thanks to anders carlsson for that
3050         tip!)
3051
3052 2001-11-11  Bill Haneman <bill.haneman@sun.com>
3053
3054         * test/Makefile.am:
3055         * test/keysynth-demo.c:
3056         Added new test of key synthesis, which creates a simple
3057         (mouse-operated) onscreen keyboard.  It inserts key events into
3058         the currently-focused window, thus it does not grab keyboard focus
3059         itself.
3060
3061         * cspi/spi_registry.c:
3062         Added C binding for AT-SPI generateKeyEvent.
3063
3064         * libspi/deviceeventcontroller.c:
3065         Added call to XFilterEvent so that key listener works with XIM (we
3066         hope).  Added event_synth_type to generateKeyEvent, so that we can
3067         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3068         synthesize a press/release pair for KeySyms.    
3069         
3070 2001-11-09  Bill Haneman <bill.haneman@sun.com>
3071
3072         * libspi/Makefile.am: 
3073         * registryd/Makefile.am:
3074         (temporary) hack to include libXtst in libspi and registryd.
3075         (Needed for keystroke synthesis, see below).
3076
3077         * idl/Registry.idl:
3078         Improved API for registerKeystrokeListener, in accordance with
3079         discussions with Gnopernicus team and X server research.
3080
3081         * libspi/registry.c:
3082         * libspi/deviceeventcontroller.c:
3083         * libspi/accessible.c:
3084         * libspi/keystrokelistener.c:
3085         Changes and fixes to support keylisteners for potentially
3086         consumed key events (that is, 'passive grabs').
3087         Added implementation for generateKeyEvent() [untested].
3088
3089         * cspi/spi.h:
3090         Changes to registerKeystrokeListener() API, as above.
3091         Added deregisterGlobalEventListenerAll(), and 
3092         deregisterKeystrokeListener(), which are needed for clean exit of
3093         clients.
3094         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3095         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3096         
3097         * cspi/spi_registry.c:
3098         Added implementations of function prototypes mentioned above.
3099         
3100         * registryd/registryd.c:
3101         Added the key listener event source as a g_timeout(), to allow
3102         receipt of key events that are not caught by GDK (since GDK
3103         doesn't support passive keygrabs, this was necessary).
3104
3105         * test/simple-at.c:
3106         Changed to attach a keylistener to 'Alt' keys, and
3107         respond to the following keycommands: Alt-M (toggle magnifier);
3108         Alt-F (toggle speech); Alt-Q (quit).
3109         Added an exit routine to deregister the listeners, and a key
3110         listener that prints some key info to the console when a key
3111         matches the listener mask (and is thus received by the listener).
3112         
3113         * util/idl/Magnifier.idl:
3114         Changes to magnifier API to support multiple zoom regions,
3115         non-uniform scaling in x and y, markDirty, and a host of other
3116         features that would be useful to magnification.
3117
3118         * util/mag_image.h:
3119         * util/mag_client.c:
3120         * util/mag_client.h:
3121         * util/mag_control.c:
3122         * util/magnifier.c:
3123         Source code changes to support the above IDL changes.
3124         
3125         * util/mag_image.c:
3126         As above, and also changes to use a (slower) generic conversion
3127         path for colormap conversions, since the fast RGB conversions have been
3128         reported to fail for 16-bit displays.
3129
3130 2001-10-26  Michael Meeks  <michael@ximian.com>
3131
3132         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3133
3134 <2001-10-26  Laszlo Peter <laca@ireland.sun.com>
3135
3136         * at-bridge/Makefile.am: fix LDFLAGS.
3137
3138 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
3139
3140         * at-bridge/bridge.c:
3141         Re-worked listeners for toolkit events, now we have signal
3142         and property listeners. Added a private method
3143         register_atk_event_listeners(), which registers with the
3144         various atk and gtk signals we need to monitor in order to emit
3145         our at-spi events.
3146         Added emission hook for AtkObject:property-change events, to
3147         support the 'property listeners'.
3148         Fixed some alloc()s of Accessibility_Event structs to use CORBA
3149         allocation.
3150
3151         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3152         which emit warnings and exit, respectively, if CORBA errors occur
3153         during remote calls, and we now use these methods to check most of
3154         our CORBA calls in the C bindings.
3155
3156         * cspi/spi_accessible.c:
3157         Changed AccessibleSelection_refSelectedChild() to
3158         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3159         now increment refcounts.
3160
3161         * cspi/spi_component.c:
3162         Fixed some long pointer casts (dangerous!) to pass pointers to
3163         CORBA_longs of the proper type to the CORBA stubs, and copy the
3164         data into the longs that were passed into the C bindings code.
3165         
3166         * at-bridge/bridge.c:
3167         
3168         * libspi/accessible.c:
3169         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3170         hyperlinks, AtkHyperlink is an object type.     
3171
3172         * libspi/application.c:
3173         Added various conversions to and from "generic" event types and
3174         atk-specific types; this is really part of the 'bridge'
3175         implementation but is valid for all AtkObject-based accessibility 
3176         implementations.
3177
3178         * libspi/editabletext.c:
3179         Fixed nasty bug wherein editable text's finalize method was
3180         unref'ing tha AtkObject reference that the text parent class was
3181         about to unref _again_.  There was also a nasty inheritance bug
3182         that meant that the AccessibleEditableText class was corrupt.
3183
3184         * libspi/selection.c:
3185         Provided implementations for some selection API that was broken.
3186         
3187         * idl/Application.idl:
3188         Added registerObjectEventListener () method.
3189
3190         * THROUGHOUT:
3191         Fixed a number of return values that were Bonobo_Unknowns from
3192         bonobo_object_corba_objref(), which I
3193         forgot to dup before returning.  Changed instances of 
3194         bonobo_object_corba_objref (bonobo_object(o)) to
3195         BONOBO_OBJREF(o), for concision and clarity.
3196         
3197 <2001-10-13  Louise Miller <louise.miller@sun.com>
3198
3199         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3200         idl/Event.idl, idl/Registry.idl
3201         Changed these files to include Bonobo_Unknown.idl instead
3202         of Bonobo.idl
3203
3204 <2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
3205
3206         * libspi/component.c libspi/component.h:
3207                 Fixed typo.  Added assertions for object checks in 
3208         AccessibleComponent code.
3209
3210 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
3211
3212         * idl/Accessible.idl:
3213                 Added 'isEqual (Accessible *object)' 
3214         method for Accessible. (Not Yet Implemented).
3215         
3216         * idl/Registry.idl:
3217                 Changed signature of registerKeystrokeListener() to
3218         take a KeySet and KeyEventSeq so that specific keys and event
3219         types could be requested for monitoring, and added a flag
3220         is_synchronous so that either synchronous or asynchronous
3221         notification could be requested.  (However this is not all
3222         implemented yet). This also meant adding two new typedefs,
3223         KeyEventSeq and KeySet.
3224
3225         * idl/Relation.idl: 
3226                 Added two new relations, RELATION_TOOLTIP_FOR and
3227         RELATION_LEAFNODE_OF.
3228
3229         * idl/State.idl:
3230                 Added new state, STATE_HAS_TOOLTIP.
3231         
3232         * libspi/text.c, editabletext.c:
3233                 Added new assertions to all casts of bonobo-objects from
3234         CORBA servants, to prevent Text API calls on non-text objects.
3235                 Changed suspect casts of int-pointer types, so that we
3236         always send a valid CORBA_long pointer to the CORBA APIs that use
3237         in/out long parameters.  We then have to copy from the CORBA_long
3238         into the regular long or int for return to the C bindings, or
3239         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3240         
3241         * cspi/spi_text.c:
3242         * libspi/deviceeventcontroller.c:
3243                 Cleaned these sources up.
3244         * idl/Text.idl:
3245                 Changed return type for getCharacterAtOffset to
3246         CORBA_unsigned_long, to allow for 32-bit characters.
3247         
3248                 
3249 <2001-10-08  Bill Haneman <bill.haneman@sun.com>
3250
3251         * util/Makefile.am:
3252         * idl/Makefile.am:
3253                 Fixed 'make dist' so that distro compiles...
3254         * libspi/keymasks.h:
3255                 new file.
3256         * cspi/spi-listener.c:
3257                 KeystrokeListenerCB now returns a boolean.
3258         * cspi/spi.h:
3259                 Added KeyEventType struct, and KeyStroke.
3260                 Also added createKeystrokeListener(),
3261         KeystrokeListener_addCallback(),
3262         KeystrokeListener_removeCallback(), and added a keymask to
3263         registerKeystrokeListener().
3264         * cspi/spi_accessible.c:
3265                 Changed numerous return types for interfaces from
3266         AccessibleComponent to Accessible<InterfaceName>; this was
3267         probably a cut-and-paste error.
3268         * cspi/spi_event.c:
3269                 Implementations of new KeystrokeListener api (from spi.h,
3270         above).
3271         * idl/Registry.idl:
3272                 Changes to key modifier mapping.
3273                 Created ControllerEventMask struct.
3274                 Made DeviceEventController derive from Bonobo::Unknown.
3275         * idl/Text.idl:
3276                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3277         * libspi/deviceeventcontroller.c:
3278                 Added a number of new internal (private) methods.
3279         * libspi/editabletext.c:
3280         * libspi/editabletext.h:
3281                 Fixed a number of bugs related to the fact that
3282         editabletext inherits from text.  Fixed the EditableText struct,
3283         the init() call, and use correct casts when calling Text methods
3284         from an EditableText object.  Removed (duplicate) atko from the
3285         EditableText structure, we use the one in the parent Text
3286         structure via the casts mentioned above.
3287         * libspi/keystrokelistener.[ch]:
3288         * libspi/registry.c:
3289                 Changes in support of keyboard handling (above).
3290         
3291         Keyboard handling, though partly functional, is still not
3292         recommended for at-spi client use as there is considerable 
3293         work yet to be done.
3294
3295         * libspi/text.c:
3296                 Changed some places where pointers to various int types
3297         are cast to be pointers to CORBA_long types and vice-versa:
3298         pointer casting is not safe so we pass pointers of the correct
3299         types and then cast the result before putting it into the target
3300         pointers.
3301
3302         * libspi/text.h: minor typos corrected.
3303         * test/simple-at.c: 
3304                 We now speak not only the name of a Text element, but the
3305         first sentence of its content, when it receives focus.
3306                 I also changed the text compression to 75% from 50%.
3307         * util/Accessibility_Util.server.in:
3308                 Changed the default magnifier type to be a 3x vertical
3309         splitscreen magnifier (was previously a 2x horizontal one).
3310
3311 <2001-10-03  Bill Haneman <bill.haneman@sun.com>
3312
3313         * libspi/keystrokelistener.h:
3314         * libspi/keystrokelistener.c:
3315                 Initial functional implementations of KeystrokeListener.
3316         * idl/Registry.idl:
3317         
3318 <2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
3319
3320         Fixed string handling for NULL strings in libspi.
3321         Added spi_freeString to free strings returned by C bindings.
3322
3323 <2001-09-30  Bill Haneman <bill.haneman@sun.com>
3324
3325         * libspi/keystrokelistener.h:
3326         * libspi/keystrokelistener.c:
3327                 Began (no-op) implementations of KeystrokeListener
3328                         (see below).
3329         * libspi/deviceeventcontroller.c:
3330         * libspi/deviceeventcontroller.h:
3331                 Began creating implementations of DeviceEventController,
3332                         to handle keystroke and mouse event listening and
3333                         synthesis.
3334         * libspi/accessible.c:
3335                 Stubbed-in the implementations for
3336                         Accessibility_Accessible_getState and
3337                         Accessibility_Accessible_getRelationSet.
3338         * libspi/registry.c:
3339                 Improved de-registration process and fixed some bugs, 
3340                         deregistration now works correctly.
3341         * libspi/desktop.c:
3342                 Added initialization of applications list (to NULL).
3343         * util/magnifier.c:
3344                 Reduced speech compression from 0.5 to 0.7, for demo.
3345                 Changed call to gdk_window_set_decorations()
3346                         to gtk_window_set_decorated().
3347         * at-bridge/bridge.c:
3348                 Bridge now deregisters when app exits, via
3349                         registration of a cleanup function
3350                         with the g_atexit() call.
3351                         Required making 'app' static, renamed 'this_app'.
3352                 Fixed broken use of bonobo_init, passing argv wrongly.
3353
3354 <2001-09-27  Bill Haneman <bill.haneman@sun.com>
3355
3356         * util:
3357         * util/Makefile.am: 
3358                 Created a new directory for 
3359                         accessibility-related utilities, primarily for
3360                         testing and demo purposes, but with possible
3361                         end-user utility.
3362         
3363         * util/magnifier.c:
3364         * util/magnifier.h:
3365         * util/mag_image.c:
3366         * util/mag_image.h:
3367                 Onscreen magnifier utility that
3368                         is implemented as a bonobo service.
3369         
3370         * util/mag_client.c:
3371         * util/mag_client.h:
3372                 Client-side support (simple C bindings) 
3373                         for Magnification service
3374         
3375         * util/mag_control.c:
3376                 Client program example for 
3377                         Magnification service
3378         
3379         * util/Accessibility_Magnifier.server.in:
3380                 Bonobo-activation file for the 
3381                         Magnification service.
3382         
3383         * util/idl:
3384         * util/idl/Magnifier.idl:
3385                 IDL defining the bonobo Magnification
3386                         service interface.
3387
3388         * test/simple-at.c:
3389                 Modifications to use the bonobo-activated magnifier
3390                         above, in place of trying to connect to an existing
3391                         magnifier that uses socket-listening IPC.
3392
3393                 If env variable MAGNIFIER is set, a magnifier service
3394                         will be started if one does not exist.
3395         
3396 <2001-09-25  Bill Haneman <bill.haneman@sun.com>
3397         * at-bridge/bridge.c:
3398                 applied patch from Marc to build and run 
3399                 against new glib and gtk+ (seemed like a change 
3400                 to bonobo_init signature was made ?)
3401         * test/simple-at.c:
3402                 made festival-server support turned off by default.
3403                 Added support for a simple magnifier (off by default)
3404                 which will be added to a 'util' directory later.
3405         * at-bridge/Makefile.am:
3406                 Changed "application.h" header from a 'source'
3407                 to a 'dependency' of libat-bridge.
3408
3409 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
3410         * cspi/Makefile.am:
3411                 Added spi-util.c.
3412
3413         * cspi/spi-util.c:
3414                 Fixed typo
3415
3416         * cspi/spi.c:
3417                 Added interface implementation c files to list of
3418                         includes so they are included in libcspi.
3419
3420         * cspi/spi.h:
3421                 Changed prototype of AccessibleAction_doAction to return a
3422                         boolean.
3423                 Changed prototype of AccessibleTable_getCaption to
3424                         return an Accessible.
3425                 Changed prototype of AccessibleTable_getSelectedRows
3426                         and AccessibleTable_getSelectedColumns to
3427                         return a long (returns the number of selected rows
3428                         or columns respectively).
3429                 Changed name of AccessibleText_refRunAttributes to
3430                         AccessibleText_getAttributes.
3431                 Changed prototype of AccessibleText_getCharacterExtents to
3432                         return a void rather than a boolean. 
3433                 Added support for a AccessibleCoordType parameter
3434                         specifying what type of coordinates are desired.
3435                 Added an AccessibleCordType parameter to
3436                         AccessibleText_getPointAtOffset.
3437
3438         * cspi/spi_accessible.c:
3439                 Added code to return the outstanding interfaces from
3440                         Accessible_queryInterface.
3441
3442         * cspi/spi_action.c:
3443                 Fixed typos.
3444                 Corrected call to getNActions to call the c binding
3445                         for an attribute.
3446
3447         * cspi/spi_editabletext.c:
3448                 Fixed typos.
3449                 Changed name from setRunAttributes to setAttributes.
3450
3451         * cspi/spi_hyperlink.c:
3452                 Fixed typos.
3453                 Changed call to getNAnchors to correctly call the c
3454                         binding for an attribute.
3455
3456         * cspi/spi_hypertext.c:
3457                 Fixed typos.
3458                 Changed getImageDescription to correctly call the
3459                         binding for an attribute.
3460
3461         * cspi/spi_selection.c:
3462                 Changed getNSelectedChildren to correctly call the c
3463                         binding for the attribute.
3464                 Changed refSelectedChild to getSelectedChild.
3465
3466         * cspi/spi_table.c:
3467                 Fixed typos.
3468                 Changed getCaption to return an Accessible.
3469                 Fixed calls which retrieve attributes.
3470                 Changed refAt to getAccessibleAt.
3471                 Changed getNSelectedRows and getNSelectedColumns to
3472                         return longs.
3473
3474         * cspi/spi_text.c:
3475                 Changed getCharacterExtents and getPointAtOffset to accept an
3476                         AccessibleCoordType.
3477                 Fixed typos.
3478                 Changed calls which retrieve attributes.
3479                 Changed refRunAttributes to getAttributes.
3480
3481         * cspi/spi_value.c:
3482                 Fixed typos.
3483
3484         * idl/Hyperlink.idl:
3485                 Changed n_anchors attribute to nAnchors to keep naming
3486                         convention consistent.
3487
3488         * idl/Table.idl:
3489                 Made Table inherit from Bonobo::Unknown.
3490                 Added nSelectedColumns and nSelectedRows attributes.
3491
3492         * idl/Value.idl:
3493                 Made Value inherit from Bonobo::Unknown.
3494
3495         * libspi/hyperlink.c:
3496                 Change for nAnchors attributte name change.
3497
3498 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
3499         * cspi/Makefile.am:
3500                 Added spi-util.c.
3501
3502         * cspi/spi-util.c:
3503                 Fixed typo
3504
3505         * cspi/spi.c:
3506                 Added interface implementation c files to list of
3507                         includes so they are included in libcspi.
3508
3509         * cspi/spi.h:
3510                 Changed prototype of AccessibleAction_doAction to return a
3511                         boolean.
3512                 Changed prototype of AccessibleTable_getCaption to
3513                         return an Accessible.
3514                 Changed prototype of AccessibleTable_getSelectedRows
3515                         and AccessibleTable_getSelectedColumns to
3516                         return a long (returns the number of selected rows
3517                         or columns respectively).
3518                 Changed name of AccessibleText_refRunAttributes to
3519                         AccessibleText_getAttributes.
3520                 Changed prototype of AccessibleText_getCharacterExtents to
3521                         return a void rather than a boolean. 
3522                 Added support for a AccessibleCoordType parameter
3523                         specifying what type of coordinates are desired.
3524                 Added an AccessibleCordType parameter to
3525                         AccessibleText_getPointAtOffset.
3526
3527         * cspi/spi_accessible.c:
3528                 Added code to return the outstanding interfaces from
3529                         Accessible_queryInterface.
3530
3531         * cspi/spi_action.c:
3532                 Fixed typos.
3533                 Corrected call to getNActions to call the c binding
3534                         for an attribute.
3535
3536         * cspi/spi_editabletext.c:
3537                 Fixed typos.
3538                 Changed name from setRunAttributes to setAttributes.
3539
3540         * cspi/spi_hyperlink.c:
3541                 Fixed typos.
3542                 Changed call to getNAnchors to correctly call the c
3543                         binding for an attribute.
3544
3545         * cspi/spi_hypertext.c:
3546                 Fixed typos.
3547                 Changed getImageDescription to correctly call the
3548                         binding for an attribute.
3549
3550         * cspi/spi_selection.c:
3551                 Changed getNSelectedChildren to correctly call the c
3552                         binding for the attribute.
3553                 Changed refSelectedChild to getSelectedChild.
3554
3555         * cspi/spi_table.c:
3556                 Fixed typos.
3557                 Changed getCaption to return an Accessible.
3558                 Fixed calls which retrieve attributes.
3559                 Changed refAt to getAccessibleAt.
3560                 Changed getNSelectedRows and getNSelectedColumns to
3561                         return longs.
3562
3563         * cspi/spi_text.c:
3564                 Changed getCharacterExtents and getPointAtOffset to accept an
3565                         AccessibleCoordType.
3566                 Fixed typos.
3567                 Changed calls which retrieve attributes.
3568                 Changed refRunAttributes to getAttributes.
3569
3570         * cspi/spi_value.c:
3571                 Fixed typos.
3572
3573         * idl/Hyperlink.idl:
3574                 Changed n_anchors attribute to nAnchors to keep naming
3575                         convention consistent.
3576
3577         * idl/Table.idl:
3578                 Made Table inherit from Bonobo::Unknown.
3579                 Added nSelectedColumns and nSelectedRows attributes.
3580
3581         * idl/Value.idl:
3582                 Made Value inherit from Bonobo::Unknown.
3583
3584         * libspi/hyperlink.c:
3585                 Change for nAnchors attributte name change.
3586
3587
3588 <2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
3589
3590         implementations-- made server implementations own AtkObject pointers
3591         rather than their respective AtkInterrface pointers to fix
3592         refcounting.  AtkHyperlink is still broken.
3593
3594 <2001-09-04  Bill Haneman <bill.haneman@sun.com>
3595         * cspi/spi_accessible.c:
3596                 Added method Accessible_Role_getName(),
3597                         and requisite string array (role_names).
3598                 Added conversion string_from_corba_strin() call
3599                         to Accessible_getName and _getDescription.
3600         * libspi/accessible.c:
3601                 Added implementation for Accessible_getRole()
3602         * test/simple-at.c:
3603                 Added festival support, used if environment variable
3604                         FESTIVAL is set.
3605         
3606 2001-09-04  Bill Haneman <bill.haneman@sun.com>
3607
3608         * at-bridge/bridge.c:
3609             Now allocate Accessibility_Event using
3610             Accessibility_Event__alloc() instead of g_new0().
3611         * libspi/accessibleeventlistener.c:
3612             Initialize AccessibleEventListener->callbacks to NULL.
3613             Fixed accessible__event_listener_init() param, changed to
3614             "AccessibleEventListener *" type.
3615             Changed a bonobo_object_release_unref() call to
3616             Accessibility_Accessible_unref().
3617         * libspi/listener.c:
3618             Changed Bonobo_Unknown_unref to (equivalent) 
3619             Accessibility_Accessible_unref.
3620         * libspi/registry.c:
3621             Changed bonobo_object_release_unref to 
3622             Accessibility_Accessible_unref.
3623         
3624 <2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
3625         
3626         * Added files:
3627             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3628             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3629             spi-util.c spi-util.h
3630             Implementations for C bindings to remaining accessibility 
3631             interfaces.
3632
3633 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3634         
3635         * idl/Action.idl:
3636             changed return value of Action from void to boolean to 
3637             bring in line with ATK.
3638
3639         * idl/Text.idl:
3640             Changed getText funcions to return "out" start and end offsets.
3641             Changed getAttributes to take and offset and return the start 
3642             and end offset of the attribute run.
3643             Changed getOffsetAtPoint and getCharacterExtents to take an 
3644              enum describing whether coordinates are window or screen.
3645
3646         * Added files:
3647             libspi/action.c libspi/action.h libspi/editabletext.c 
3648             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3649             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
3650             libspi/image.h libspi/selection.c libspi/selection.h
3651             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
3652             libspi/value.c libspi/value.h
3653             Added server implementations for outstanding ATK interfaces 
3654             not yet implemented.
3655  
3656 2001-09-04  Bill Haneman <bill.haneman@sun.com>
3657
3658         * idl/Action.idl:
3659                 Added (missing) getName() method. 
3660                 Made nActions an attribute.
3661         * idl/EditableText.idl:
3662                 Changed order of params in setAttributes.
3663         * idl/Hyperlink.idl:
3664                 Removed getAnchor, added getURI.
3665         * idl/Image.idl:
3666                 Changed attributes to methods, for efficiency
3667                 (so that getting extents can be done in one call)
3668         * idl/Selection.idl:
3669                 Changed nSelectedChildren to attribute, and re-indented.
3670         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
3671                 to attributes.
3672         * idl/Text.idl: reformatted to match our coding style.
3673                 (temporarily?) removed getRowColumnAtOffset().
3674                 Changed text selection API to support multi-select and
3675                 non-contiguous selections, as in ATK.
3676         * idl/Value.idl: changed some methods to attributes.
3677
3678 2001-08-24  Mark McLoughlin <mark@skynet.ie>
3679
3680         * libspi/listener.c(impl_notify_event):
3681         BonoboUnkown_unref the source instead
3682         of bonobo_object_release_unref - the ORB
3683         handles the releasing.
3684
3685         * configure.in: require ORBit-2.3.94 for
3686         this behaviour.
3687
3688 2001-08-21  Bill Haneman <bill.haneman@sun.com>
3689
3690         Tagged CVS repository 'EA_1_0'.
3691         * README.EARLY_ACCESS:
3692         Alphabetized acknowledgements list, and
3693         added someone.
3694         Listed some known dependencies of at-spi.
3695
3696 2001-08-20  Bill Haneman <bill.haneman@sun.com>
3697
3698         * docs/at-spi-docs.sgml:
3699         * docs/at-spi-sections.txt:
3700         * docs/at-spi-overrides.txt: (Added zero-length file)
3701         Documentation improvements - gtk-doc should build
3702         docs for all implemented C bindings now.
3703         * cspi/Makefile.am:
3704         * cspi/spi_main.c:
3705         * cspi/spi.c: (New file)
3706         * cspi/spi_event.c: (New file)
3707         * cspi/spi_registry.c: (New file)
3708         * cspi/spi_accessible.c: (New file)
3709         * cspi/spi_application.c: (New file)
3710         * cspi/spi_component.c: (New file)
3711         Split spi_main.c into six parts, and included them from
3712         "spi.c".  This is a bit of a hack, probably temporary,
3713         but required by gtk-doc, apparently.
3714         
3715 2001-08-20  Bill Haneman <bill.haneman@sun.com>
3716
3717         * docs/Makefile.am:
3718         * docs/at-spi-docs.sgml:
3719         * docs/at-spi-sections.txt:
3720         * configure.in:
3721         Initial checkins/modifications for gtk-doc generation.
3722         * cspi/spi.h:
3723         * cspi/spi.c:
3724         Added (missing) interface query methods to Accessible's C binding.
3725         * cspi/spi-impl.h:
3726         Added GenericInterface type definition.
3727         * test/simple-at.c:
3728         Added query for AccessibleComponent interface to focus event handler.
3729         Added printout of bounding box for focussed component.
3730         * libspi/component.c:
3731         Added partial implementation for AccessibleComponent to C binding.
3732         * idl/Application.idl:
3733         * libspi/registry.c:
3734         * libspi/listener.c:
3735         * libspi/application.c:
3736         * libspi/application.h:
3737         Changed "ID" attribute type from string to long.
3738
3739 2001-08-19  Bill Haneman <bill.haneman@sun.com>
3740
3741         * cspi/spi.h:
3742         * cspi/spi.c:
3743         Made method naming consistent: methods taking object args
3744         start with uppercase, other methods (except those using
3745         acronyms) start with lowercase.  Underscores delimit between
3746         object names and method names:
3747         SPI_init() - uppercase since it starts with an acronym.
3748         getDesktopCount () - lowercase start since no object param0.
3749         Accessible_getName() - uppercase object type name, studlyCaps method
3750                                name.
3751
3752         *cspi/spi.h:
3753         Added gtk-doc documentation for all currently implemented
3754         methods in the C bindings API.
3755
3756 2001-08-18  Bill Haneman <bill.haneman@sun.com>
3757
3758         * Makefile.am : changed build order to build test last.
3759         * cspi/spi.h :
3760         * cspi/spi_main.c :
3761         Changed "createEventListener" to "CreateEventListener".
3762         * libspi/accessibleeventlistener.c :
3763         Bugfix for addition of callbacks.
3764         * test/Makefile.am :
3765         * test/simple-at.c :
3766         Added new test that uses the C bindings API.
3767         * idl/Event.idl :
3768         * libspi/listener.c :
3769         * libspi/registry.c :
3770         * libspi/accessibleeventlistener.c :
3771         * at-bridge/bridge.c :
3772         Renamed member "target" of Accessibility_Event to "source",
3773         which is more descriptive.
3774         
3775
3776 2001-08-18  Bill Haneman <bill.haneman@sun.com>
3777
3778         * Makefile.am: 
3779         * configure.in :
3780         * cspi/Makefile.am :
3781         Added makefile support for at-spi/cspi directory.
3782         * cspi/spi.h : 
3783         * cspi/spi-impl.h :
3784         * cspi/spi-listener.h : (NEW FILE)
3785         Added support for/use of spi-listener.h.
3786         * cspi/spi_main.c :
3787         C bindings now build successfully, with no warnings.
3788         * libspi/accessibleeventlistener.h : (NEW FILE)
3789         * libspi/accessibleeventlistener.c : (NEW FILE)
3790         * libspi/Makefile.am :
3791         Added new object type "AccessibleEventListener"
3792         which inherits from Listener, and allows attachment
3793         of in-process callbacks (so that a client with a listening
3794         object instance can add functionality to the local 
3795         implementation, dynamically).
3796
3797 2001-08-18  Bill Haneman <bill.haneman@sun.com>
3798
3799         * libspi/accessible.c: 
3800         Add implementation for get_index_in_parent().
3801         * cspi/spi.h : 
3802         Added #include of "spi-roletypes.h", and
3803         added enumerated type AccessibleCoordType.
3804         Added definition for KeystrokeListener (function type).
3805
3806         ADDED FILES:
3807         * cspi/spi-statetypes.h :
3808         * cspi/spi-roletypes.h :
3809         * cspi/spi-impl.h :
3810         Added these headers, used by spi.h.
3811         * cspi/spi_main.c : 
3812         Added code (NOTE: not yet built by make).
3813
3814 2001-08-18  Mark McLoughlin <mark@skynet.ie>
3815
3816         * libspi/Makefile.am: generate imodule
3817         at the same time as other idl compiler 
3818         generated files. 
3819
3820 2001-08-17  Bill Haneman <bill.haneman@sun.com>
3821         * libspi/registry.c :
3822         * libspi/application.c :
3823         * idl/Application.idl :
3824         Made registration with toolkit an application method,
3825         which is required since each app has its own toolkit static
3826         environment.  Thus the bridge must register for 
3827         notification of toolkit events from each application in turn.
3828         Toolkit notifications are now successfully registered for, and
3829         sent to the listening at client.
3830         * test/at.c :
3831         Changed toolkit event string to use hyphens rather than underscores.
3832         * libspi/listener.c :
3833         listner now gives more info in debug mode - it reports the
3834         name of the event received, as well as the name of the source.
3835         
3836
3837 2001-08-16  Bill Haneman <bill.haneman@sun.com>
3838
3839         * libspi/registry.c :
3840         added more implementation for toolkit events.
3841         Fixed bug such that toolkit event registrations
3842         (via atk) use the whole event name string, not 
3843         just minor+detail.
3844         Removed a useless call to an ORBit_ method.
3845         * at-bridge/bridge.c :
3846         Removed unused local sbuf[] variable.
3847         * test/at.c :
3848         We now register for Gtk:GtkWidget:button_press_event 
3849         events as well as "focus:" events.
3850         * cspi/spi.h :
3851         Add some more API from Registry.idl that was missing,
3852         for keystroke listening, keystroke and mouse event
3853         synthesis, and enumeration of accessible desktops.
3854
3855 2001-08-16  Michael Meeks  <michael@ximian.com>
3856
3857         * configure.in: use AM_GLIB_GNU_GETTEXT.
3858
3859         * Makefile.am (SUBDIRS): kill intl.
3860
3861 2001-08-15  Michael Meeks  <michael@ximian.com>
3862
3863         * registryd/Makefile.am: s/oaf/server/ relocate info file.
3864
3865         * configure.in: upd.
3866
3867         * configure.in: depend on a recent bonobo-activation that
3868         will find our server files ...
3869
3870 2001-08-16  Bill Haneman <bill.haneman@sun.com>
3871
3872         * libspi/accessible.c : accessible_new() :
3873         Now we add the Component interface via bonobo_object_add_interface,
3874         if the contained AtkObject implements AtkComponent.
3875         * libspi/accessible.h : now include "component.h"
3876         * libspi/component.h :
3877         * libspi/component.c : added files - implementation of
3878         bonobo wrapper object for Accessibility/Component
3879         * libspi/listener.c :
3880         Added test code to check for Accessibility/Component:1.0
3881         interface and report whether it is implemented by the
3882         event source.
3883         * libspi/registry.c :
3884         Now we check for not only the hash of the whole event 
3885         string before relaying the event, we also check the
3886         "minor" event string (without the detail string).
3887         This allows event listeners to be registered against
3888         all events of a certain major+minor type, or just
3889         against a specific major+minor+detail type.
3890         * libspi/accessible.c :
3891         Added implementations for Accessible:get_parent(),
3892         Accessible:getChildCount(), and Accessible:getChildAtIndex().
3893         * libspi/registry.c :
3894         * libspi/listener.c :
3895         Replaced calls to Accessibility_Accessible_ref() and
3896         Accessibility_Accessible_unref() with 
3897         calls to bonobo_object_dup_ref() and 
3898         bonobo_object_release_unref(), so that the CORBA object
3899         is dup-ed and released when relayed, as well as the bonobo object.
3900
3901 2001-08-15  Mark McLoughlin <mark@skynet.ie>
3902
3903         * libspi/Makefile.am,
3904           registryd/Makefile.am,
3905           at-bridge/Makefile.am.
3906           test/Makefile.am, configure.in:
3907         reverse previous changes.
3908
3909         * /idl/Image.idl: fix typo.
3910
3911         * test/Makefile.am: put DEBUG_FLAGS
3912         in CFLAGS.
3913
3914 2001-08-15  Mark McLoughlin <mark@skynet.ie>
3915
3916         * test/app.c: use argv[0] instead of
3917         g_type_prgname.
3918
3919 2001-08-15  Mark McLoughlin <mark@skynet.ie>
3920
3921         * libspi/Makefile.am,
3922           registryd/Makefile.am,
3923           at-bridge/Makefile.am.
3924           test/Makefile.am, configure.in:
3925         cleanup, replace individual LIBS/CFLAGS with
3926         AT_COMMON_{LIBS|CFLAGS}.
3927
3928         * README: format.
3929
3930 2001-08-15  Mark McLoughlin <mark@skynet.ie>
3931         
3932         * configure.in, libspi/Makefile.am:
3933         Change IDL path checking for bonobo-activation
3934         as opposed to oaf.
3935
3936 2001-08-15  Bill Haneman <bill.haneman@sun.com>
3937
3938         * registryd/registry.c : separated event listeners to use
3939         3 separate lists (focus, window, toolkit).  Began testing
3940         event names against hashes before relaying events.
3941         * test/at.c : now register for events of type "focus:"
3942         * test/app.c : now generate events of type "focus:"
3943         * at-bridge/bridge.c : register with ATK for focus events,
3944         and we now relay those focus events to any "focus:" listeners.
3945         This now works with the bridge as a GTK_MODULE when running test/at.
3946         * libspi/registry.c :
3947         * libspi/listener.c : 
3948         now we ref event sources before propagating, and unref on receipt.
3949         * libspi/registry.c : 
3950         some changes to internal structs, to support event typestring hashes.
3951         * text/app.c : changed the way the appname is generated.
3952         * cspi : added directory that will hold the C bindings library for 
3953                 non-CORBA/bonobo-savvy clients.
3954         * cspi/spi.h : header file that contains the function prototypes for the C binding.
3955         * idl/Component.idl : added in parameter to indicate coord system for
3956                 geometry-related calls.
3957         * idl/Hyperlink.idl : added readonly n_links attribute
3958         * idl/Image.idl : changed methods to attributes.
3959         
3960 2001-08-15  Mark McLoughlin <mark@skynet.ie>
3961
3962         * at-bridge/Makefile.am: link against
3963         ../libspi/libspi.la instead of -lspi.
3964
3965         * at-spi/test/app.c: include 
3966         bonobo-activation.h. Use a default appname
3967         if one is not provided.
3968
3969 2001-08-14  Bill Haneman <bill.haneman@sun.com>
3970
3971         * idl/Registry.idl : temporarily changed register_Application
3972         to oneway, to work around issue with initial registration 
3973         re-entrancy.
3974         * idl/Application.idl : changed attribute "id" from readonly 
3975         to read-write, since it needs to be assigned by Registry.
3976         * registryd/registryd.c : added call to set application id 
3977         on registration.
3978         * registryd/registry.c : changed de-registration procedure to
3979         use CORBA_Object_hash() to find matching object ref in application
3980         lists and listener lists.
3981         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3982         began distinguishing between event types (work in progress).
3983
3984 2001-08-13  Bill Haneman <bill.haneman@sun.com>
3985
3986         CHANGES:
3987         * libspi/application.c:
3988         Added implementations for get/set id, get_toolkitName,
3989         get_version.
3990         * registryd/registryd.c :
3991         * test/at.c :
3992         * test/app.c :
3993         * Makefile.am :
3994         Converted from use of OAF to bonobo-activation.
3995         * libspi/desktop.h :
3996         * libspi/desktop.c :
3997         * test/app.c :
3998         Removed references to atksimpleobject, since base atkobject
3999         implementation now provides functionality we need.
4000         * libspi/atksimpleobject.c :
4001         * libspi/atksimpleobject.h :
4002         Removed.
4003         
4004         ADDITIONS:
4005         * at-bridge
4006         * at-bridge/Makefile.am
4007         * at-bridge/bridge.c
4008         * configure.in
4009         * Makefile.am
4010         Added directory "bridge" and contents, and added dependencies
4011         in Makefile.am/configure.in.  
4012         Initial checkin of "at-bridge".
4013         This code is a GTK_MODULE which automatically registers
4014         GTK+ apps with the accessibility registry, using an object
4015         reference to the root ATK object.
4016         
4017 2001-08-10  Mark McLoughlin <mark@skynet.ie>
4018
4019         * po/Makefile.in.in: Remove. Again. If this
4020         doesn't get autogenerated - you need to update
4021         gnome-common.
4022
4023 2001-08-07  Mark McLoughlin <mark@skynet.ie>
4024
4025         * po/Makefile.in.in: Add. Again.
4026
4027 2001-07-31  Bill Haneman <bill.haneman@sun.com>
4028
4029         * libspi/accessible.c : added support for 'description' property.
4030         * libspi/accessible.c
4031         * libspi/desktop.c
4032         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4033             (since the two are now equivalent in libbonobo)
4034         * idl/Action.idl
4035         * idl/Component.idl
4036         * idl/Hyperlink.idl
4037         * idl/Image.idl
4038         * idl/Selection.idl
4039         * idl/Table.idl
4040         * idl/Text.idl
4041         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4042              Bonobo::Unknown as does Accessibility::Accessible.
4043         * idl/StreamableContent.idl : as above, and replaced internal InputStream
4044              interface with Bonobo::Stream, since it was redundant with it.
4045              (The Stream returned by a StreamableContext object is expected to
4046              implement only a subset of Bonobo::Stream)
4047
4048 2001-07-28  Anders Carlsson  <andersca@gnome.org>
4049
4050         * libspi/accessible.c (accessible_object_finalize): Change
4051           g_free to g_object_unref since the AtkObject is a GObject.
4052
4053 2001-07-30  Bill Haneman <bill.haneman@sun.com>
4054
4055         * idl/Accessibility.idl: add new IDL files
4056         
4057         Added:
4058         * idl/Action.idl: Definitions of actionable UI object
4059         * idl/Component.idl: Definitions of UI component geometry, etc.
4060         * idl/Hyperlink.idl: Defs of hyperlink behavior
4061         * idl/Image.idl: Def of accessible image
4062         * idl/Selection.idl: Definition of UI object with selectable children
4063         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4064         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4065         * idl/Text.idl: Interface defs for UI elements with complex textual content
4066         * idl/Value.idl: Definition of UI element that is a value controller or display
4067         
4068 2001-07-27  Michael Meeks  <michael@ximian.com>
4069
4070         * po/Makefile.in.in: remove autogenerated file from CVS.
4071
4072         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4073         type library.
4074
4075         * idl/Registry.idl: include guard.
4076
4077         * idl/Accessibility.idl: Add, and include all the other IDL
4078         files.
4079
4080         * idl/*.idl: remove mass of pragmas etc.
4081
4082 2001-07-26  Michael Meeks  <michael@ximian.com>
4083
4084         * registryd/Makefile.am (registryd_SOURCES): remove
4085         redundant at_.
4086
4087 2001-07-27  Mark McLoughlin <mark@skynet.ie>
4088
4089         * libspi/.cvsignore, registryd/.cvsignore,
4090           test/.cvsignore: updated.
4091
4092         * po/Makefile.in.in: gettext update.
4093
4094 2001-07-25  Bill Haneman <bill.haneman@sun.com>
4095
4096         * initial CVS checkin
4097
4098 2001-06-29  Michael Meeks  <michael@ximian.com>
4099
4100         * configure.in: add AM_CONFIG_HEADER to gen config.h
4101
4102         * acconfig.h: add.
4103