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