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