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