Add namespacing to un-namespaced methods in cspi.
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2001-12-12  Bill Haneman <bill.haneman@sun.com>
2
3         * cspi/spi.h:
4         * cspi/spi_registry.c:
5         * cspi/spi_event.c:
6         Namespaced all methods that did not begin with an "SPI_" or
7         "Accessible" prefix to "SPI_".  
8
9         * cspi/spi_main.c:
10         Homogenized internal function namespace to "cspi_" for statics.
11         
12         * test/*.c:
13         Patched tests to use the new CSPI API.
14
15         * docs/reference/cspi/at-spi-cspi-sections.txt:
16         Updated docs to reflect namespace changes, and added a number of
17         methods to the documentation.
18         
19         * registryd/registry.c:
20         Changed use of strings and string hashes in listener event
21         matching and parse_event_string to use GQuark, which is guaranteed
22         unique.
23         
24         * registryd/registry.h:
25         Squashed annoying warning.
26
27         * idl/Accessibility_Role.idl:
28         Extended range of available Accessibility_Role values.
29
30         * cspi/spi_accessible.c:
31         Re-ordered role names. 
32
33 2001-12-12  Bill Haneman <bill.haneman@sun.com>
34
35         * idl/Accessibility_Value.idl:
36         Revert use of union back to CORBA_double, since the double type is
37         more efficient and can contain the other types without loss of
38         precision.
39
40         * idl/Accessibility_Accessible.idl:
41         Added method Accessibility:Accessible:getRoleName, to complement
42         Accessibility:Accessible:getRole.
43
44         * cspi/spi_accessible.c:
45         * cspi/spi.h:
46         Added C binding for above, Accessible_getRoleName (), and changed
47         signature of Accessible_getRole () to return an AccessibleRole.
48
49         * cspi/spi-roletypes.h:
50         Changed AccessibleRole_getName to return a char * instead of a
51         const char *.  This method is now at least temporarily deprecated 
52         in favor of asking Accessibles for their RoleNames directly.
53
54         * libspi/value.c:
55         Revert to match Accessibility_Value.idl;
56
57         * cspi/spi_value.c:
58         * cspi/spi.h:
59         Change signature of AccessibleValue methods to use double rather
60         than float.
61
62         * cspi/spi.h:
63         * cspi/spi_accessible.c:
64         Changed Accessible_getRole to return an AccessibleRole enum rather
65         than a UTF-8 string.  The UTF-8 string can still be obtained via
66         AccessibleRole_getName ().
67         
68         * test/test-simple.c:
69         Add test_action.  Small fixup to match API change to Accessible_getRole.
70
71         * libspi/action.c:
72         Bugfix for get_action_from_servant ().
73
74 2001-12-11  Michael Meeks  <michael@ximian.com>
75
76         * libspi/libspi.h: remove registry.h and
77         desktop.h, deviceeventcontroller.h
78
79         * libspi/Makefile.am: remove registry.[ch],
80         desktop.[ch], deviceeventcontroller.[ch]
81
82         * registryd/Makefile.am: add registry.[ch],
83         desktop.[ch], rename registryd.c to registry-main.c.
84         add deviceeventcontroller.[ch]
85
86 2001-12-11  Bill Haneman <bill.haneman@sun.com>
87
88         * test/simple-at.c:
89         Replace setenv() call with putenv ().
90
91         * libspi/component.c:
92         Bugfix in AccessibleComponent_getExtents (),
93         (from Adi Dascal).
94         
95 2001-12-11  Michael Meeks  <michael@ximian.com>
96
97         * libspi/image.c (impl_getImageExtents): impl.
98         (spi_image_class_init): upd.
99
100         * cspi/spi_image.c
101         (AccessibleImage_getImageDescription): fix daft bug
102         of mine (doh).
103
104         * test/test-simple.c (global_listener_cb): update
105         to only quit if not --poke
106         (main): catch --poke.
107         (validate_accessible): upd. dumping, call test_image
108         (test_image): impl.
109
110         * libspi/Makefile.am (IDL_DEPS): fixup the IDL
111         dependencies.
112
113         * idl/Accessibility.idl: update all IDL includes.
114
115         * idl/*.idl - rename to namespace - this sucks, blame
116         mjs' bad decision for oafd.
117
118         * test/test-simple.c (create_test_window): add more tests.
119         (create_tree): split this out.
120         (validate_accessible): bugfix.
121
122 2001-12-11  Michael Meeks  <michael@ximian.com>
123
124         * cspi/bonobo/cspi-bonobo-listener.c: 
125         (cspi_kestroke_listener_unref),
126         (cspi_event_listener_unref): impl. undoing previous
127         homenous environment - for Bill.
128
129         * cspi/spi_table.c (long_seq_to_array): use
130         malloc instead.
131
132         * cspi/spi_main.c: split out all bonoboish bits into
133         bonobo/
134
135         * cspi/spi-impl.h: upd. typedefs.
136
137         * cspi/spi_registry.c: update to lowlevel API,
138         return booleans to indicate success in some places.
139
140         * cspi/spi_event.c: update to lowlevel API.
141
142         * cspi/bonobo/Makefile.am: add.
143
144         * cspi/bonobo/cspi-lowlevel.h: add
145
146         * cspi/bonobo/cspi-bonobo.c: add
147
148         * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
149
150         * cspi/Makefile.am: remove spi-listener-impl.[ch],
151         (SUBDIRS): add bonobo, link in the libs.
152
153         * cspi/spi-util.c: kill this file.
154
155         * TODO: merge in my bits.
156
157 2001-12-11  Michael Meeks  <michael@ximian.com>
158
159         * test/test-simple.c (test_value, test_table, main):
160         remove unused variables causing warnings.
161
162         * configure.in: cleanup checks - require gail.
163
164 2001-12-11  Bill Haneman  <bill.haneman@sun.com>
165
166         * idl/Value.idl:
167         Changed Value interface to use SValue (scalars) rather than
168         assuming all values are floats.  This allows floats, doubles,
169         longs, shorts, and unsigned values to be manipulated.
170         Introduced Accessibility:SValue union.
171
172         * libspi/value.c:
173         Updated to use new API above, and to work correctly with GValues
174         of different types in AtkValue.
175
176         * cspi/spi_value.c:
177         Updated to use new API above.  cspi's API is as yet unchanged.
178
179         * TODO: 
180         Updated the Value revision action item.
181         
182 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
183
184         * test/test-simple.c:
185         Added test_table (GtkTreeView widget in test window to follow).
186         Un-commented test_value, added GtkRange widget.
187         Added GtkTreeView widget with GtkListStore.  It passes regression
188         test but leaks one SPI object for some reason.
189
190         * libspi/value.c:
191         Fixed bug in impl__set_currentValue.
192
193 2001-12-10  Michael Meeks  <michael@ximian.com>
194
195         * cspi/spi_text.c: audit for exception handling,
196         tolerating NULL object references safely etc.
197
198         * cspi/spi_value.c: ditto.
199
200         * cspi/spi_table.c (AccessibleTable_getSummary),
201         (AccessibleTable_getAccessibleAt),
202         (AccessibleTable_getRowHeader),
203         (AccessibleTable_getColumnHeader),
204         (AccessibleTable_getCaption): fix bugs hidden by
205         incorrect casts.
206         (long_seq_to_array): impl.
207         (AccessibleTable_getSelectedRows),
208         (AccessibleTable_getSelectedColumns): use it.
209
210 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
211
212         * TODO:
213         Added a TODO list (rough and short for now).
214
215         * cspi/spi_hyperlink.c:
216         * cspi/spi_hypertext.c:
217         Fixed macro name typos, and remove use of obsolete macro in 
218         AccessibleHyperlink_getLink.
219
220         * cspi/spi_action.c:
221         * cspi/spi_accessible.c:
222         * cspi/spi_application.c:
223         * cspi/spi_component.c:
224         * cspi/spi_selection.c:
225         * cspi/spi_text.c:
226         * cspi/spi_value.c:
227         Documentation fixes (removed return values from ref/unref methods).
228
229 2001-12-10  Michael Meeks  <michael@ximian.com>
230
231         * cspi/spi_action.c: audit for exception handling,
232         tolerating NULL object references safely etc.
233
234         * cspi/spi_accessible.c: ditto.
235
236         * cspi/spi_component.c: ditto.
237
238         * cspi/spi_editabletext.c: ditto.
239
240         * cspi/spi_hyperlink.c: ditto.
241
242         * cspi/spi_hypertext.c: ditto.
243
244         * cspi/spi_image.c: ditto.
245
246         * cspi/spi_selection.c: ditto.
247
248 2001-12-10  Michael Meeks  <michael@ximian.com>
249
250         * configure.in: use cspi/libspi.pc.in instead.
251
252         * Makefile.am (pkgconfig_DATA): upd. to match.
253
254         * test/simple-at.c (report_focus_event): kill hacks around
255         bad return values, use putenv not setenv
256
257         * libspi/desktop.c (impl_desktop_get_child_at_index): don't
258         fire ChildGone - I killed it.
259
260         * libspi/component.c
261         (impl_accessibility_component_get_extents): remove
262         bogus return.
263
264         * idl/Accessible.idl: kill ChildGone exception.
265
266         * cspi/*.[ch]: kill int return from ref / unref.
267         
268         * cspi/spi_main.c (cspi_object_add_check): fold into
269         (cspi_object_add): here.
270
271         * cspi/spi_component.c (AccessibleComponent_getExtents):
272         handle exceptions elegantly.
273
274         * cspi/spi-private.h (cspi_check_ev_return),
275         (cspi_return_if_fail): impl.
276
277         * cspi/spi_accessible.c: use extensively.
278         (AccessibleStateSet_equals): add direct compare check.
279
280         * cspi/spi_selection.c: tolerate NULL objs, and check
281         exceptions before return.
282
283         * cspi/spi-util.c (cspi_warn_ev): rename to
284         (cspi_check_ev): this & don't pass ev in; no point.
285
286 2001-12-10  Michael Meeks  <michael@ximian.com>
287
288         * test/test-simple.c: use putenv not setenv
289         (get_environment_vars): more chatty if you're not using
290         the fun bits.
291
292         * test/simple-at.c: do the setenv so more people see the
293         nice demo easily.
294
295 2001-12-10  Bill Haneman <bill.haneman@sun.com>
296
297         * libspi/registry.c:
298         Changed check of CORBA_environment on notification to be a warning
299         instead of an error for the moment, since we can recover from this
300         error when caused by a queued notification from a dead app.
301         
302         * libspi/value.c:
303         Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
304         used by all current implementors of AtkValue), and coerce to
305         CORBA_float. (Proper general case fix may require change to Value.idl).
306
307 2001-12-09  Bill Haneman <bill.haneman@sun.com>
308
309         * cspi/spi.h:
310         * cspi/spi_event.c:
311         * cspi/spi_accessible.c:
312         Documentation fixes: added user_data params to documentation for 
313         listeners and callbacks.  
314
315         * cspi/spi_accessible.c: 
316         Changed AccessibleStateSet_compare to return a
317         StateSet rather than return the difference set into a third parameter.
318         
319         
320 2001-12-09  Bill Haneman <bill.haneman@sun.com>
321
322         * configure.in:
323         Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
324         remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
325         it). 
326
327         * Makefile.am:
328         Remove subdirectory po from SUBDIRS for now.
329
330         * at-bridge/bridge.c:
331         Beefed up a couple of debug printouts.
332         One-line fix for signal notification name formatting.
333
334         * libspi/accessible.c:
335         Added assertion to spi_accessible_new ().
336
337         * libspi/application.c:
338         Put #ifdef qualifiers around a printf.
339
340         * libspi/value.c:
341         Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
342
343         * registryd/Makefile.am:
344         * util/Makefile.am:
345         Replaces use of XML_I18N_MERGE_SERVER_RULE with
346         INTLTOOL_SERVER_RULE macro.
347
348         * test/simple-at.c:
349         Added an event listener for several ATK signals, for
350         testing and debugging.  Removed a few g_warnings.
351         Added test output if focussed item implements the Value interface.
352
353         * test/test-simple.c:
354         Added test_value () function (known not to pass at the moment, so
355         not actually called yet.
356         
357 2001-12-08  Michael Meeks  <michael@ximian.com>
358
359         * at-bridge/bridge.c (bridge_focus_tracker),
360         (emit_eventv): fix the same ref. leak.
361         (register_atk_event_listeners): don't leak.
362
363         * cspi/spi-listener-impl.c (cspi_event): more 
364         protection from client code.
365
366         * test/test-simple.c (test_desktop): unref the app.
367
368         * test/Makefile.am: upd. TESTS.
369
370         * at-bridge/bridge.c (bridge_exit_func): release the registry.
371
372         * test/keysynth-demo.c (keysynth_exit): unref the listeners.
373
374         * cspi/spi_accessible.c (Accessible_queryInterface): constify.
375
376         * cspi/spi_registry.c: constify in strings.
377         (deregisterGlobalEventListenerAll): don't release the ref.
378
379         * cspi/spi.h: start removing redundant / conflicting
380         gtkdoc comments, making the API readable at a glance :-)
381         
382         * cspi/spi_event.c (AccessibleEventListener_unref): impl.
383
384         * test/keysynth-demo.c (keysynth_exit, main): upd.
385
386         * test/simple-at.c (main, simple_at_exit): upd.
387
388         * test/test-simple.c (unutterable_horror): kill.
389         (utterable_normal_derefs): kill.
390         (main): upd & do a setenv before gtk_init, so that we
391         can use memprof - and to save the pain of remembering
392         this, if we're running under memprof - don't exit.
393
394         * cspi/spi_main.c (SPI_exit): return exit status
395         for cspi.
396         (SPI_event_quit): impl.
397         (SPI_event_main): simplify.
398         (cspi_is_gnome_app): kill.
399         (SPI_init): kill isGNOMEapp arg.
400
401         * at-bridge/bridge.c (register_atk_event_listeners):
402         re-instate the unref.
403         (bridge_exit_func): don't re-activate the registry,
404         protect vs. theoretical re-entry, use the
405         AT_BRIDGE_SHUTDOWN env. var to determine whether to
406         assert a clean shutdown - for regression tests.
407
408 2001-12-08  Abel Cheung  <maddog@linux.org.hk>
409
410         * configure.in: Comment out dummy i18n support for now,
411           otherwise it fails to build.
412         * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
413           EXTRA_DIST. They are missing in tarball.
414
415 2001-12-07  Michael Meeks  <michael@ximian.com>
416
417         * util/magnifier.c: kill bonobo activation reg. race.
418
419         * libspi/component.c
420         (impl_accessibility_component_get_extents): make it match
421         it's sig.
422
423         * libspi/registry.c (_registry_notify_listeners):
424         re-remove X headers & reconcile conflicts.
425         (spi_listener_struct_free): bad conflict resolve.
426         (impl_accessibility_registry_register_application):
427         more bad merging fixed.
428         (impl_accessibility_registry_deregister_application): ditto.
429         (spi_registry_new): ditto.
430         (spi_registry_init): don't have an applications field.
431
432 [ merge fixups2 branch to here ]
433 2001-12-07  Michael Meeks  <michael@ximian.com>
434
435         * test/simple-at.c (report_focus_event),
436         (report_focussed_accessible): remove g_warning debug.
437
438 2001-12-07  Michael Meeks  <michael@ximian.com>
439
440         * test/test-simple.c (validate_tree): comment out some checks.
441         (test_desktop): app now not registered idly - horay.
442
443 2001-12-07  Michael Meeks  <michael@ximian.com>
444
445         * cspi/spi_registry.c
446         (registerAccessibleKeystrokeListener): clean, stop it leaking
447         great swathes of memory, and device event controller references.
448         ensure we always pass valid sequences.
449         (deregisterAccessibleKeystrokeListener): ditto.
450         (generateKeyEvent): upd.
451
452         * at-bridge/bridge.c (bridge_key_listener): handle
453         registry dead exception gracefully.
454         (bridge_focus_tracker, emit_eventv): free ev.
455
456         * test/simple-at.c (report_focus_event): fix polarity.
457
458         * libspi/application.c (notify_listeners): kill the ev
459         argument, and make sure we init the ev we use.
460         (spi_application_object_event_listener): split out a chunk
461         (get_atk_object_ref): here & fixup.
462         (reverse_lookup_name_for_toolkit_event): make const.
463         (spi_application_toolkit_event_listener): fixup, kill leaks
464         ref problems etc.
465
466         * at-bridge/bridge.c (register_atk_event_listeners):
467         don't unref the noop object - causes grief.
468
469         * libspi/registry.c: remove the X headers.
470         turn off the debug churn.
471
472         * libspi/accessible.c (spi_accessible_new_return): only
473         release the ref if we are supposed to [doh]
474
475         * test/simple-at.c (report_button_press, report_focus_event):
476         guard vs. unexpected exit.
477
478         * at-bridge/bridge.c (gtk_module_init): prune printf.
479         (bridge_exit_func): fix app unref.
480
481         * libspi/Makefile.am: don't install registry or desktop.h
482
483         * libspi/*.h: update includes.
484
485         * libspi/application.h: don't include ourself, or
486         other redundant headers.
487
488 2001-12-06  Michael Meeks  <michael@ximian.com>
489
490         * libspi/accessible.c
491         (get_accessible_from_servant): impl.
492         Upd. all CORBA impl.s to use it killing cut and paste.
493
494         * cspi/spi_main.c (cspi_cleanup): guard vs. double
495         invokes.
496         (SPI_init): register atexit cleanup handler here.
497
498 2001-12-06  Michael Meeks  <michael@ximian.com>
499
500         * at-bridge/bridge.c (gtk_module_init): g_error on
501         activation exception
502
503 2001-12-06  Michael Meeks  <michael@ximian.com>
504
505         * at-bridge/bridge.c (gtk_module_init): some sort of
506         confusing merge clash - reverted.
507         (bridge_idle_init): ditto.
508
509         * test/test-simple.c (main, utterable_normal_derefs):
510         merge from Bill - somehow not committed.
511
512 2001-12-06  Michael Meeks  <michael@ximian.com>
513
514         * libspi/value.c (spi_value_class_init): upd.
515         (spi_value_finalize): kill.
516
517         * libspi/table.c (spi_table_finalize): kill.
518         (spi_table_interface_new): upd.
519         (spi_table_class_init): upd.
520         (get_table_from_servant): impl.
521         Upd. all CORBA impl.s to use it killing yet more cut and paste.
522
523         * libspi/selection.c (spi_selection_finalize): kill.
524         (spi_selection_interface_new): upd.
525         (spi_selection_class_init): upd.
526         (get_selection_from_servant): impl.
527         Upd. all CORBA impl.s to use it killing yet more cut and paste.
528
529         * libspi/relation.c (spi_relation_finalize): kill.
530         (spi_relation_class_init, spi_relation_new): upd
531
532         * libspi/image.c (spi_image_finalize): kill.
533         (spi_image_class_init): upd.
534         (spi_image_interface_new): upd.
535         (get_image_from_servant): impl.
536         Upd. all CORBA impl.s to use it killing yet more cut and paste.
537
538         * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
539         (spi_hyperlink_finalize): kill.
540         (spi_hyperlink_new): upd.
541         (get_hyperlink_from_servant): impl.
542         Upd. all CORBA impl.s to use it killing yet more cut and paste.
543
544         * libspi/hypertext.c (spi_hypertext_interface_new): upd.
545         (spi_hypertext_finalize): kill.
546         (spi_hypertext_class_init): upd.
547         (get_hypertext_from_servant): impl.
548         Upd. all CORBA impl.s to use it killing yet more cut and paste.
549
550         * libspi/editabletext.c (spi_editable_text_finalize): kill.
551         (spi_editable_text_interface_new): upd.
552         (get_editable_text_from_servant): impl.
553         Upd. all CORBA impl.s to use it killing yet more cut and paste.
554         
555         * libspi/text.c (get_text_from_servant): impl.
556         All impls - update to use it killing more cut and paste,
557         also fix bad string returns on duff args ( a somewhat
558         impossible case to handle - but hey ).
559         (spi_text_construct): impl.
560         (spi_text_interface_new): upd.
561         (spi_text_object_finalize): kill.
562
563         * libspi/component.c
564         (accessibility_component_object_finalize): kill.
565         (spi_component_class_init): upd.
566         (get_component_from_servant): impl. helper to kill cut & paste.
567         (impl_accessibility_component_contains): 
568         (impl_accessibility_component_get_accessible_at_point): 
569         (impl_accessibility_component_get_position): 
570         (impl_accessibility_component_get_extents): 
571         (impl_accessibility_component_get_mdi_z_order): 
572         (impl_accessibility_component_get_layer): 
573         (spi_component_interface_new): upd.
574
575         * libspi/action.c (spi_action_finalize): kill.
576         (spi_action_class_init): upd. inherit from SpiObject.
577         (spi_action_interface_new): upd.
578         (get_action_from_servant): impl. helper to reduce cut & paste.
579         (impl_getKeyBinding, impl_getName, impl_doAction),
580         (impl_getDescription): Use it everywhere.
581
582         * cspi/spi_main.c (get_live_refs): a pointer hash.
583         (spi_object_hash, spi_object_equal): comment out.
584         There are issues with CORBA object hashing that need
585         solving.
586
587         * libspi/application.c (spi_application_init),
588         (spi_application_new): upd.
589
590         * libspi/accessible.c (spi_accessible_object_finalize): kill.
591         (spi_accessible_class_init): upd.
592         s/accessible/object/ in epv methods.
593
594 2001-12-05  Bill Haneman <bill.haneman@sun.com>
595
596         * at-bridge/bridge.c:
597         Reorder the bridge initialization into the bridge gtk_module_init,
598         an immediate call to bridge_register_app, and an idle_add for
599         register_atk_event_listeners (the only code that *must* wait until
600         GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
601         the activation, creates the application's Accessible object, and
602         queues the bridge_idle_init function.  Restored call to
603         Accessibility_Registry_deregisterApplication().  
604         Prior to making this call we obtain a new reference to the
605         registry, which is a temporary hack that helps us handle apps that
606         shut down the bonobo mainloop before we get there.
607
608         * libspi/registry.c:
609         Fix string leakage in debug block, and don't segv if a an app
610         dies before its event notifications have been propagated.
611
612         * cpi/spi_util.c:
613         Modify cspi_check_ev() to call g_warning() rather than g_error(),
614         as stopgap measure until we get proper exception handling when 
615         objects die during or before interrogation.  
616
617         * cspi/spi_main.c:
618         * cspi/spi.h:
619         Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
620         Also changed default value of is_gnome_app to TRUE.
621
622         * test/simple-at.c:
623         * test/keysynth-demo.c:
624         Changed use of SPI_init and SPI_event_main to reflect API change above.
625
626         * test/simple-at.c:
627         Made report_focus_event check the warning value from getName
628         before reporting on focussed accessible; simplifies handling of
629         notifications from dead objects.
630
631         * test/test-simple.c: (Changes not in this patch since source is
632         not in CVS ?)
633         
634 2001-12-05  Michael Meeks  <michael@ximian.com>
635
636         * registryd/registryd.c (main): protect against
637         bonobo-activation startup race condition.
638
639         * cspi/spi_main.c (cspi_object_add_check): cope
640         with the exception elegantly.
641
642         * idl/Accessible.idl: decl. ChildGone
643
644         * libspi/desktop.c (spi_desktop_dispose): impl.
645         (spi_desktop_class_init): upd.
646         (spi_desktop_add_application),
647         (spi_desktop_remove_application),
648         (abnormal_application_termination): impl.
649         (impl_desktop_get_child_at_index): re-impl.
650
651         * libspi/registry.c
652         (impl_accessibility_registry_deregister_application),
653         (impl_accessibility_registry_register_application): 
654         kill excessive debug clutter.
655
656         * test/test-simple.c (test_misc): test some NULL
657         tolerance. (main): upd.
658
659         * cspi/spi_main.c (cspi_accessible_is_a): a NULL
660         implements no interfaces - so let's not crash.
661
662         * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
663
664         * libspi/accessible.c (spi_accessible_new_return): impl.
665         helper to calm the cut and paste, to cope with
666         NULL AtkObjects effectively and efficiently, and to kill
667         the referencing bugs.
668
669         * libspi/table.c (impl_getAccessibleAt),
670         (impl_getRowHeader, impl_getColumnHeader): upd.
671
672         * libspi/hyperlink.c (impl_getObject): upd.
673
674         * libspi/accessible.c
675         (impl_accessibility_accessible_get_child_at_index): upd.
676
677         * libspi/component.c
678         (impl_accessibility_component_get_accessible_at_point): upd.
679
680         * test/test-simple.c (test_editable_text, test_text): impl.
681         some simple tests.
682
683         * cspi/spi_editabletext.c
684         (AccessibleEditableText_insertText): constify.
685
686         * test/test-simple.c (focus_me): make more robust.
687
688         * libspi/accessible.c: remove some printfs in methods that
689         we test and work fine, so we can get a clean tree dump.
690
691         * test/test-simple.c (validate_accessible),
692         (validate_tree): make tree dumping pretty too.
693
694         * at-bridge/bridge.c (bridge_signal_listener): upd. so
695         it builds without debug on.
696
697         * test/test-simple.c (validate_accessible): fix the most
698         ludicrous bug.
699
700         * cspi/spi_main.c (spi_object_release): leave the nicely
701         blanked memory around if in debug mode.
702
703         * cspi/spi-listener-impl.c (cspi_event): use add_check.
704
705 [committed to fixups2]
706 2001-12-05  Michael Meeks  <michael@ximian.com>
707
708         * libspi/editabletext.c
709         (spi_editable_text_class_init): g_type_class_peek_parent,
710         not interface peek - so we finalize cleanly.
711
712         * libspi/accessible.c (spi_accessible_new): kill debug.
713
714         * test/test-simple.c (validate_accessible): fix ref.
715         leak, print strings before freeing them; sigh, comment a
716         chunk out due to strangeness.
717         (validate_tree): unref the child after use.
718
719         * cspi/spi_component.c (AccessibleComponent_getLayer):
720         add missing break statement, switch on zlayer not the
721         uninitialized retval.
722
723         * cspi/spi_main.c (cspi_object_add): add assert, local ref
724         before (possibly re-entering) remote unref.
725
726         * test/simple-at.c (main): unref the desktop.
727
728         * cspi/spi_accessible.c (cspi_accessible_is_a): move 
729         into:
730         
731         * cspi/spi_main.c (cspi_accessible_is_a): here to 
732         isolate bonobo API usage more.
733
734         * libspi/registry.c (impl_accessibility_registry_register_application): 
735         prune bogus comment.
736
737 2001-12-04  Michael Meeks  <michael@ximian.com>
738
739         * test/test-simple.c (validate_tree): upd.
740         IndexInParent check to make it more lucid.
741         (validate_accessible): dump the tree.
742
743         * libspi/accessible.c (de_register_public_ref),
744         (get_public_refs): impl.
745         (spi_accessible_new): make more efficient & intuitive.
746         Now IndexInParent check works.
747
748 2001-12-04  Michael Meeks  <michael@ximian.com>
749
750         * cspi/spi-util.h: remove.
751
752         * cspi/spi.h: move SPI_freeString here
753
754         * libspi/component.c (impl_accessibility_component_get_layer): 
755         warning fixage.
756         (impl_accessibility_component_get_mdi_z_order): ditto,
757         return -1 on error - is this ok ?
758
759         * test/test-simple.c (test_application): impl.
760
761         * cspi/spi_accessible.c (Accessible_getApplication),
762         (Accessible_isApplication): impl.
763
764         * libspi/registry.c (spi_listener_struct_free): release
765         the CORBA reference too.
766
767         * libspi/accessible.c
768         (impl_accessibility_accessible_get_parent): fix ref leak.
769
770         * libspi/registry.c (spi_registry_new): make the registry
771         immortal - we don't want it to go away ever.
772
773         * libspi/application.c
774         (spi_accessible_application_finalize): impl. cleanup.
775
776         * cspi/spi_registry.c
777         (deregisterGlobalEventListenerAll),
778         (deregisterGlobalEventListener),
779         (deregisterAccessibleKeystrokeListener): fix ref leak.
780
781         * cspi/spi_main.c (SPI_init): remove redundant ref.
782
783         * test/test-simple.c (unutterable_horror): impl. to force a
784         clean shutdown.
785         (main): use it.
786
787         * libspi/registry.c
788         (impl_accessibility_registry_deregister_application): release
789         the application when we de-register it.
790
791         * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
792         until we have the infastructure to get it right.
793
794 2001-12-03  Michael Meeks  <michael@ximian.com>
795
796         * libspi/Makefile.am: only build eventlistener.[ch]
797
798         * libspi/accessible.c
799         (impl_accessibility_accessible_get_child_at_index): don't leak.
800
801         * at-bridge/bridge.c (bridge_exit_func): cope with an exit
802         before we hit the idle handler.
803
804         * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
805         debugging than exit.
806
807         * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
808
809         * libspi/listener.c (impl_notify_event): check source
810         not NIL before unref.
811
812         * libspi/registry.c (impl_registry_notify_event): ditto.
813
814         * libspi/eventlistener.c
815         (impl_accessible_event_notify_event): unref the source.
816
817         * libspi/accessibleeventlistener.c
818         (impl_accessible_event_notify_event): unref the source.
819
820         * idl/Event.idl: remove 'hash_id' attribute - of no
821         concievable use.
822
823         * libspi/application.c (notify_listeners): upd list
824         iteration & sig.
825         (spi_application_object_event_listener), 
826         (spi_application_toolkit_event_listener): upd to do correct
827         CORBA ref counting.
828
829         * libspi/registry.c
830         (_registry_notify_listeners): update.
831         (parse_event_type): this method also leaks like a sieve.
832         (impl_accessibility_registry_deregister_global_event_listener): 
833         fix ETYPE_WINDOW case.
834
835         * libspi/application.c
836         (impl_accessibility_application_register_object_event_listener): 
837         kill leak.
838
839         * libspi/hyperlink.c (impl_getObject): fix ref mistake.
840
841         * libspi/hypertext.c (impl_getLink): ditto.
842
843         * cspi/spi_main.c (cspi_object_add): remove
844         bogus CORBA_Object_duplicate.
845
846         * cspi/spi-listener-impl.c (cspi_event): dup/ref
847         on the object_add.
848
849         * cspi/spi_accessible.c
850         (Accessible_getRelationSet): fix leak / referencing issue.
851
852         * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
853         (cspi_object_add, cspi_object_unref): upd.
854         (spi_object_release, get_live_refs): impl.
855         (cspi_cleanup): simplify.
856
857         * *.[ch]: s/boolean/SpiBoolean/
858
859         * cspi/spi_accessible.c (role_names): actualy order so it
860         corresponds with the enum !
861
862         * test/test-simple.c (test_roles): check some role strings
863         vs. enums to detect offset errors.
864
865 2001-12-01  Michael Meeks  <michael@ximian.com>
866
867         * cspi/spi_main.c (cspi_object_add_check): impl. helper.
868
869         * cspi/spi_accessible.c (Accessible_getChildAtIndex):
870         check ev before 
871         (Accessible_getChildAtIndex): use cspi_add_check so we
872         check the ev before using a (possibly) invalid value.
873
874         * libspi/accessible.c
875         (impl_accessibility_accessible_get_parent): don't segv
876         on a NULL parent.
877
878         * at-bridge/bridge.c (gtk_module_init): upd.
879         (bridge_property_event_listener): don't leak strings
880         and events !
881         (bridge_state_event_listener),
882         (bridge_property_event_listener): don't use a static
883         buffer in case of recursive event emission &
884         re-enterancy - split out the swathe of cut and paste
885         into:
886         (emit_eventv): and fix 2 ref leaks here & comply to the
887         coding style.
888         (bridge_register_app): rename to 
889         (bridge_idle_init): this and kill arg parsing, split
890         various inits & bonobo-activation registration to module
891         init time, kill referencing error.
892         (bridge_exit_func): fix the same leak.
893         (bridge_focus_tracker): don't leak event structures
894         and strings.
895         (bridge_signal_listener): more leakage and cut & paste
896         fixage.
897         (bridge_key_listener): return the result - FIXME is
898         this polarity correct ?
899         (accessibility_keystroke_from_atk_key_event): rename
900         (accessibility_init_keystroke_from_atk_key_event): and stop
901         leakage.
902         (gtk_module_init): return a value - not that it is checked by
903         Gtk - but hey.
904         (bridge_key_listener): register my horror at casting between
905         IDL defined structs.
906         (bridge_get_registry): kill - not used.
907
908         * cspi/spi_accessible.c (Accessible_getRole): make return const.
909
910         * test/test-simple.c (test_roles): impl.
911         (test_desktop, validate_accessible, validate_tree): impl.
912
913         * cspi/spi_accessible.c (role_names): fixup bogus
914         MAX_ROLES setup, make constants const for efficient linkage
915         (AccessibleRole_getName): conform to coding style, make
916         return 'const'
917
918 2001-11-30  Michael Meeks  <michael@ximian.com>
919
920         * cspi/spi.h: add missing prototype.
921
922         * libspi/registry.c (spi_listener_struct_new): fix sig.
923
924         * test/Makefile.am: add test-simple
925
926         * test/test-simple.c: add
927
928         * test/test.sh: add.
929
930         * cspi/spi_main.c (SPI_init): make SPI_inited module global,
931
932         * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
933         do it straight - since otherwise we often get an activation race.
934
935 [ work before Bill duplicated a chunk of it ... ]
936 2001-11-30  Michael Meeks  <michael@ximian.com>
937
938         * libspi/keystrokelistener.c
939         (spi_keystroke_listener_class_init): fixup arg
940         count (doh).
941
942         * libspi/eventlistener.c
943         (spi_event_listener_class_init): ditto.
944
945         * tests/test.sh: add.
946
947         * cspi/spi-listener-impl.h: update macros.
948
949         * cspi/spi-listener-impl.c
950         (cspi_event_listener_remove_callback): add
951         correct pre-conditions.
952
953         * cspi/spi_main.c (SPI_exit): guard vs. double
954         exits, exit the mainloop nicely.
955         (SPI_event_main): make more sense.
956         (SPI_init): move the atexit evilness here so we
957         always do it (yuck).
958         (SPI_event_main): upd.
959
960         * test/simple-at.c: update for listener changes.
961
962         * registryd/registryd.c (main): prune kruft.
963
964         * libspi/libspi.h: upd.
965
966         * libspi/eventlistener.[ch]: rename broken macros.
967
968         * libspi/accessibleeventlistener.[ch]: remove.
969
970         * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
971
972         * test/test-simple.c: Add - automated tests.
973
974         * cspi/spi-listener-impl.c (cspi_event),
975         (cspi_key_event): add user_data to invoke.
976         (cspi_keystroke_listener_finalize): impl.
977         (cspi_keystroke_listener_class_init): upd.
978
979         * cspi/spi_event.c
980         (createAccessibleEventListener),
981         (AccessibleEventListener_addCallback),
982         (createAccessibleKeystrokeListener),
983         (AccessibleKeystrokeListener_addCallback): upd.
984
985         * libspi/deviceeventcontroller.c
986         (spi_device_event_controller_check_key_event): add public proto.
987
988         * libspi/registry.c
989         (impl_accessibility_registry_deregister_global_event_listener): 
990         always init listeners.
991         (_registry_notify_listeners): yes it is.
992
993         * cspi/spi-listener-impl.c (cspi_key_event): 
994         move debug to here.
995         (cspi_event_listener_finalize): impl.
996         (cspi_event_listener_class_init): hook up.
997         (event_handler_new, event_handler_free),
998         (event_list_remove_by_callback): impl.
999         (cspi_event_listener_remove_callback),
1000         (cspi_keystroke_listener_remove_callback),
1001         (cspi_keystroke_listener_add_callback),
1002         (cspi_event_listener_add_callback): upd.
1003
1004         * libspi/keystrokelistener.c
1005         (keystroke_listener_object_finalize): kill
1006         (spi_keystroke_listener_class_init): upd.
1007         (spi_keystroke_listener_add_callback),
1008         (spi_keystroke_listener_remove_callback): kill,
1009         use signals.
1010         (impl_key_event): prune drasticaly.
1011
1012         * libspi/eventlistener.c
1013         (spi_event_listener_add_callback),
1014         (spi_event_listener_remove_callback): kill, use
1015         signals.
1016         (impl_accessible_event_notify_event): upd.
1017         (spi_event_listener_object_finalize): remove.
1018
1019         * libspi/Makefile.am: use eventlistener.[ch]
1020
1021 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
1022
1023         * libspi/registry.c (_registry_notify_listeners):
1024         Changed listener loop iteration to use preferred convention.
1025         Got rid of string memory leaks caused be calling g_strconcat
1026         inside function calls.
1027
1028         * libspi/registry.c (parse_event_type):
1029         Stopped g_strconcat memory leaks, free the g_strsplit return,
1030         g_strdup the split pieces when used, etc.
1031
1032 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
1033
1034         * idl/State.idl: 
1035         Change method 'compare' to return a 'difference set' rather than
1036         taking a StateSet as an out parameter (more Java-friendly).
1037
1038         * idl/Accessible.idl:
1039         Added CORBA struct 'BoundingBox', to faciliate API changes below:
1040         
1041         * idl/Component.idl:
1042         * idl/Image.idl:
1043         Changed methods 'getExtents' and 'getImageExtents' in these
1044         interfaces to return a BoundingBox structure.  
1045         (getPosition and getSize are redundant and possibly should be
1046         removed, rather than creating a corresponding Point struct.)
1047
1048         * cspi/spi_component.c:
1049         Modify implementation of getExtents to reflect the above IDL
1050         change.
1051         
1052         * cspi/spi_image.c:
1053         * cspi/spi.h:
1054         Add (missing) AccessibleImage_getExtents () API.
1055
1056         * docs/reference/cspi/at-spi-cspi-sections.txt:
1057         Added AccessibleImage_getImageExtents () to docs.
1058         
1059 2001-12-03  Bill Haneman  <bill.haneman@sun.com>
1060
1061         * idl/Component.idl:
1062         Added two methods, getLayer () and getMDIZOrder (), to reflect
1063         the new ATK methods atk_object_get_layer and
1064         atk_object_get_mdi_z_order. (Which arguably should be part of the
1065         AtkComponent API and AtkObject).  Also added an enum,
1066         ComponentLayer, for the first method's return value.
1067
1068         * libspi/component.c:
1069         Added implementations for these methods.
1070
1071         * cspi/spi_component.c:
1072         * cspi/spi.h:
1073         Added cspi binding methods for above, 
1074         AccessibleComponent_getLayer() and
1075         AccessibleComponent_getMDIZOrder().
1076         Added cspi enum 'AccessibleComponentLayer'.
1077
1078         * docs/reference/cspi/at-spi-cspi-sections.txt:
1079         Added above methods to docs.
1080
1081         * cspi/spi-impl.h:
1082         * cspi/spi*.[ch]:
1083         Changed typedef for 'boolean' type (and all references to it) to
1084         SPIBoolean, to avoid keyword clashes with C++.
1085
1086         * test/simple-at.c:
1087         Changed usages of 'boolean' to SPIBoolean.
1088
1089         * test/keysynth-demo.c:
1090         Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1091         app), except where SPIBoolean is required by the callbacks API.
1092         
1093 2001-12-02  Bill Haneman  <bill.haneman@sun.com>
1094
1095         * cspi/spi_registry.c:
1096         Removed obsolete X event loop for passive keygrabs (which now
1097         lives in libspi).
1098
1099         * registryd/registryd.c:
1100         Removed unnecessary call to gdk_init() [cruft]. This also allows
1101         removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1102         * configure.in.
1103
1104 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
1105
1106         * docs/reference/cspi:
1107         Included docs for SPI_freeString in generated documentation.
1108
1109         * cspi/spi-util.c:c
1110         Renamed spi_freeString to SPI_freeString, for consistency.  Added
1111         documentation for this function.
1112
1113         * cspi/spi-util.h:
1114         Renamed spi_freeString to SPI_freeString, for consistency.  
1115         Removed obsolete method declaration string_from_corba_string.
1116
1117         * test/keysynth-demo.c:
1118         Small tweak to comments.
1119
1120         * test/simple-at.c:
1121         Stopped leaking the strings returned from CSPI. 
1122
1123 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
1124
1125         Merged Michael's branch (see his ChangeLog entries below).
1126         
1127         * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1128         bridge is alive, release on exit.
1129         
1130         * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1131         Fix type check macro.
1132         
1133         * cspi/spi_event.c:
1134         Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1135         
1136         * cspi/spi_main.c: 
1137         Added is_gnome_app static, and method cspi_is_gnome_app(), 
1138         so we can call the appropriate shutdown routine at exit in SPI_exit.
1139         
1140         * cspi/spi_main.c (cspi_object_ref):
1141         Duplicate the corba object passed in, since we're keeping it around.
1142         
1143         * cspi/SPI_exit.c, cspi_cleanup:
1144         Moved the releasing of the live refs to its own function, so we
1145         can put it in g_atexit ().  Call the appropriate shutdown API
1146         depending on whethe calling client is a gnome app or not
1147         (bonobo_main_quit or CORBA_ORB_shutdown).
1148         
1149         * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1150         Unref the listener when this method is called, after
1151         deregistration.  Updated the API docs to note this behavior.
1152
1153         * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1154         Bugfixes: Ref the bonobo object when returning a parent or child 
1155         reference, or an AccessibleRelation.  Generally made sure
1156         BonoboObject refcount is incremented whenever we return an
1157         Accessible.
1158
1159         * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1160         Fixed typo/bug in signal declaration.
1161         
1162         * libspi/accessibleeventlistener.h:
1163         Fixed a type macro.
1164
1165         * libspi/application.c (spi_application_new):
1166         Fixed leak in initialization.
1167
1168         * libspi/desktop.c:
1169         Remembered to increment bonobo-object refcount when returning
1170         children (applications) from desktop object.
1171         Added (empty) finalize method.
1172
1173         * libspi/deviceeventcontroller.c:
1174         Hold a ref to listeners inside DEControllerKeyListeners.
1175         Added dec_key_listener_free() method.  Use prepend instead of
1176         append in key_listener list.  Fixed some refcount madness and
1177         leaks in the listener registration/deregistration - deregistration
1178         now calls dec_key_listener_free() on listeners, and on the
1179         temporarily constructed dec_key_listener() used to perform the search/match.
1180
1181         * libspi/hypertext.c (spi_hypertest_finalize):
1182         Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1183         class.  Also fixed spi_hypertext_interface_new() and
1184         SpiHypertextClass.  Fixed a couple of paren-whitespace formatting bugs.
1185
1186         * libspi/hypertext.h: 
1187         Removed pointless and duplicate AtkObject pointer from
1188         SpiHypertextClass.
1189
1190         * libspi/keystrokelistener.c:
1191         Fixed incorrect type of keystroke_listener_parent_class,
1192         renamed keystroke_listener_object_finalize to
1193         spi_keystroke_listener_object_finalize.
1194         Fixed typo in signal declaration
1195         (spi_keystroke_listener_class_init).
1196
1197         * libspi/registry.c:
1198         Added funcsions spi_listener_struct_new() and
1199         spi_listener_struct_free() to help with memory management issues.
1200         We also now use these methods instead of gnew + poking stuff into
1201         the struct, and to decrement listener counts/free the listeners
1202         when deregistering them.
1203         Fix more refcount bugs in getDesktop() and
1204         getDeviceEventController().  
1205
1206         * test/simple-at.c:
1207         De-ref the desktop after enumerating the applications.  Explicitly
1208         decrement the refcounts on the created listeners on exit (using
1209         _unref for keystroke listeners, and via the
1210         deregisterGlobalEventListenerAll command for other event
1211         listeners).
1212         
1213 2001-11-27  Michael Meeks  <michael@ximian.com>
1214
1215         * cspi/spi-listener.h: fixup enum.
1216
1217 2001-11-27  Michael Meeks  <michael@ximian.com>
1218
1219         * cspi/spi-listener-impl.c (cspi_event_listener_new),
1220         (cspi_keystroke_listener_new): Use the cspi variants.
1221
1222 2001-11-26  Michael Meeks  <michael@ximian.com>
1223
1224         * test/keysynth-demo.c: fix 2 compile warnings, missing
1225         type in decl. etc.
1226
1227         * test/simple-at.c (report_focussed_accessible),
1228         (report_focus_event, report_button_press),
1229         (check_property_change, is_command_key),
1230         (report_ordinary_key_event, report_command_key_event): upd.
1231
1232         * util/mag_client.h: include pre-requisites.
1233
1234         * libspi/accessibleeventlistener.c
1235         (spi_event_listener_object_finalize): free any lingering
1236         callbacks.
1237         
1238         * libspi/keystrokelistener.c
1239         (keystroke_listener_object_finalize): ditto.
1240
1241         * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1242         callbacks, with cspi types.
1243         
1244         * cspi/spi_event.c (createAccessibleEventListener): chain to
1245         (AccessibleEventListener_addCallback): here.
1246         (createAccessibleKeystrokeListener): chain to 
1247         (AccessibleKeystrokeListener_addCallback): here.
1248
1249         * libspi/keystrokelistener.c
1250         (spi_keystroke_listener_class_init): add signal.
1251         (impl_key_event): emit the event.
1252         (boolean_handled_accumulator): impl.
1253         (marshal_BOOLEAN__POINTER): add, gack.
1254
1255         * libspi/accessibleeventlistener.c
1256         (spi_event_listener_class_init): add signal.
1257         (impl_accessible_event_notify_event): emit the signal &
1258         make the loop efficient.
1259         (spi_event_listener_add_callback): prepend the callback.
1260
1261         * libspi/accessibleeventlistener.h: add an 'event' signal,
1262         decl type on callback.
1263
1264         * libspi/keystrokelistener.h: ditto.
1265
1266         * cspi/spi-listener.h: make methods typesafe and
1267         make them use the new event typedefs.
1268
1269         * test/simple-at.c (report_focussed_accessible):
1270         include mag_client.h
1271         Use *(void *)text_interface not the other thing.
1272         
1273         * configure.in: add gtk to registryd bits - since we use
1274         gdk there ( why ? )
1275
1276         * util/magnifier.c: include libbonobo.h
1277         
1278 2001-11-25  Bill Haneman  <bill.haneman@sun.com>
1279
1280         * test/keysynth-demo.c:
1281         Turned this into a simple scanning keyboard, to demonstrate the
1282         use of g_timeout_add () as a means of creating timers for
1283         scanning, and the use of GtkStyle for visually indicating when
1284         virtual keyboard elements are selected.
1285
1286         keysynth-demo now listens to any keyboard keys with zero-valued
1287         keycodes (i.e. 'unused' keys) and interprets them as
1288         single-switches.
1289
1290         Reworked the shiftlatch code so that shift-down state isn't held
1291         for long periods (it's only synthesized immediately prior to
1292         the keysynth event it's modifying).  Note that shiftlatch in this
1293         demo is a convenience, not intended to take the place of AccessX 
1294         which is the better choice for getting 'sticky' modifier keys.
1295
1296         * libspi/deviceeventcontroller.c:
1297         * at-bridge/bridge.c:
1298         * cspi/spi_registry.c:
1299         Removed some debug print stuff, and put other verbosity in #ifdef
1300         blocks.
1301
1302         * util/magnifier.c:
1303         * util/mag_image.h:
1304         Implemented some more of the magnifier IDL for the simple
1305         magnifier: namely, getZoomRegionParams. 
1306         Added mag_x and mag_y members to MagnifierData struct, aid of this
1307         implementation.
1308         Added GtkWindow::realize signal handler to magnifier, to keep it
1309         from receiving keyboard focus from the WM.
1310
1311 2001-11-23  Mark McLoughlin  <mark@skynet.ie>
1312
1313         * cspi/spi-private.h: my guess at what michael forgot
1314         before he ran off to NZ :-)
1315
1316 2001-11-23  Michael Meeks  <michael@ximian.com>
1317
1318         * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1319         comment out non existant method invoke so we link.
1320
1321         * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1322         use bonobo_exception_get_text for more friendly warnings.
1323
1324         * cspi/spi.c (Obj_Add): move into spi_main & rename
1325         spi_object_add; kill spi.c
1326
1327         * cspi/spi_registry.c
1328         (deregisterGlobalEventListener),
1329         (deregisterGlobalEventListenerAll),
1330         (registerGlobalEventListener): fix exception leaks.
1331
1332         * cspi/spi_main.c (spi_exception): impl. helper, so we
1333         don't leak exceptions.
1334
1335         * cspi/spi_selection.c
1336         (AccessibleSelection_deselectSelectedChild): return the
1337         success state.
1338
1339         * cspi/spi_main.c (spi_ev): impl; hack - gack.
1340         (spi_registry): ditto.
1341         (SPI_init): guard against double inits.
1342
1343         * cspi/*.c: use spi_ev (), and spi_registry () where
1344         appropriate - a temporary hack until we have something
1345         better. Use spi_object_add
1346
1347 2001-11-22  Michael Meeks  <michael@ximian.com>
1348
1349         * cspi/Makefile.am: re organise, install the headers.
1350
1351         * cspi/*.h: add G_BEGIN/END_DECLS
1352
1353 2001-22-11  Bill Haneman  <bill.haneman@sun.com>
1354
1355         * test/simple-at.c:
1356         Added non-preemptive keylistener for key events with no modifiers
1357         and shift-only modifier.
1358
1359         * libspi/keystrokelistener.c:
1360         Removed some verbose diagnostics printout.
1361
1362         * cspi/spi_registry.c:
1363         Fixed a bug that caused all key listeners to be registered as
1364         pre-emptive.
1365         
1366         * libspi/deviceeventcontroller.c:
1367         Fixed bug that caused XGrabKey (preemptive key grab) to be called
1368         for non-preemptive key masks.
1369
1370
1371 2001-22-11  Bill Haneman  <bill.haneman@sun.com>
1372
1373         * docs/reference/idl/at-spi-idl-docs.sgml:
1374         * docs/reference/idl/at-spi-idl-sections.txt:
1375         * docs/reference/idl/at-spi-idl-overrides.txt:
1376         Added missing files.
1377
1378         * docs/reference/Makefile.am:
1379         removed idl from SUBDIRS until we can figure a way to get gtk-doc
1380         to scan the IDL files :-(
1381
1382         * docs/reference:
1383         * docs/cspi:
1384         * docs/idl:
1385         Added .cvsignore files.
1386         
1387 2001-21-11  Bill Haneman  <bill.haneman@sun.com>
1388
1389         * libspi/deviceeventcontroller.c:
1390         * libspi/keystrokelistener.c:
1391         * cspi/spi_event.c:
1392         * cspi/spi_registry.c:
1393         Added filters for KeySets, KeyEventSeq, and event types to key
1394         event dispatching, so listeners should only receive those events
1395         that they requested :-)
1396
1397 2001-21-11  Bill Haneman  <bill.haneman@sun.com>
1398
1399         * configure.in:
1400         * docs/Makefile.am:
1401         * docs/reference:
1402         * docs/reference:Makefile.am:
1403         * docs/reference/cspi:
1404         * docs/reference/cspi:Makefile.am:
1405         * docs/reference/cspi:tmpl:
1406         * docs/reference/cspi:tmpl:*.sgml:
1407         * docs/reference/idl:
1408         * docs/reference/idl:Makefile.am:
1409         * docs/reference/idl:at-spi-idl-sections.txt:
1410         * docs/reference/idl:at-spi-idl-docs.sgml:
1411         * docs/reference/idl:tmpl:
1412         * docs/reference/idl:tmpl:*.sgml:
1413
1414         Restructured docs directory to allow separate 'reference' docs
1415         section, and forked idl and cspi docs.  Added the sgml template
1416         files to CVS.  Added the first sections/structural sgml for the
1417         IDL docs.
1418
1419 2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
1420
1421         * configure.in, libspi/Makefile.am: find libXtst.
1422
1423 2001-11-21  Michael Meeks  <michael@ximian.com>
1424
1425         * test/accessx-gui.c: s/spi_value/value/ - doh.
1426
1427         * libspi/base.[ch]: add.
1428
1429 2001-18-11  Bill Haneman <bill.haneman@sun.com>
1430
1431         * idl/Accessible.idl:
1432         * idl/Application.idl:
1433         * idl/Registry.idl:
1434         * idl/Action.idl:
1435         Started gtk-doc cleanup on IDL.
1436
1437         * libspi/deviceeventcontroller.c:
1438         Added and connected non-preemptive key notification from the
1439         toolkits (in addition to the pre-emptive support from XServer
1440         which we had before, but which causes 'focus flashing').  Filters
1441         are presently limited to key modifiers and global/non-global,
1442         KeySets are presently ignored, as are KeyEvent masks.
1443
1444         Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1445         structs into the persistant structure rather than just storing
1446         pointers to things that might not persist across servant
1447         invocations.
1448
1449         The XGrabKey call now does async keygrabs, because synchronous
1450         ones were deadlocking with GDK_event code in a very nasty way.
1451
1452         Added boolean to internal method notify_keylisteners, to indicate
1453         whether the event came from the 'toolkit source' or the 'global
1454         (XServer) source' - this is used in the notification process to
1455         determine which listeners to send the event to.
1456
1457         deviceeventcontroller.c is now warning-free.
1458         
1459         * libspi/registry.c:
1460         Fixed regression in application de-registration.
1461         Also fixed some really brain-dead weirdness having to do with
1462         event dispatching - event structs are now duplicated before being
1463         re-marshalled in the dispatch to listeners.  This also fixes a
1464         Solaris build problem.
1465         
1466         
1467 2001-20-11  Michael Meeks  <michael@ximian.com>
1468
1469         * libspi/registry.c
1470         (impl_accessibility_registry_deregister_global_event_listener): 
1471         segv. protection.
1472
1473         * libspi/deviceeventcontroller.c
1474         (spi_device_event_controller_check_key_event): return
1475         FALSE on no virtual method.
1476
1477         * libspi/*..h: make includes work on a correctly pathed install.
1478
1479         * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1480
1481         * libspi/application.h: kill unused ( and whacked out )
1482         gboolean *spi_application_set_id (AtkObject *app, long id);
1483
1484 2001-20-11  Michael Meeks  <michael@ximian.com>
1485
1486         * libspi/*.[ch]: further convert to bonobo's type func
1487         macros, remove redundnant casts etc.
1488
1489         * libspi/text.c s/accessibility_text/spi_text/g,
1490         re-order to de-cruft.
1491
1492         * libspi/hypertext.c: re-order to kill a huge slew
1493         of redundant forward decls.
1494
1495         * libspi/relation.c: ditto.
1496
1497         * libspi/image.c: ditto.
1498
1499         * */.cvsignore: update
1500         
1501 2001-20-11  Michael Meeks  <michael@ximian.com>
1502
1503         * libspi/deviceeventcontroller.c
1504         (_controller_register_with_devices): use g_getenv,
1505         kill stdlib.h include.
1506
1507         * libspi/keystrokelistener.c
1508         (spi_keystroke_listener_get_type): kill
1509         (spi_keystroke_listener_class_init),
1510         (spi_keystroke_listener_init): rename to this.
1511
1512         * libspi/text.c (impl_getAttributes): fix warning / bug.
1513
1514         * libspi/*.[ch]: more headers, includes and over commenting.
1515         
1516 2001-20-11  Michael Meeks  <michael@ximian.com>
1517
1518         * libspi/*.[ch]: fixup headers, includes and over commenting.
1519
1520         * libspi/image.c (impl__get_imageDescription): const
1521         correctness warning fix. remove redundant casting.
1522
1523         * libspi/table.c (impl_getRowDescription): ditto.
1524         (impl_getColumnDescription): ditto.
1525
1526         * libspi/libspi.h: add.
1527
1528 2001-19-11  Michael Meeks  <michael@ximian.com>
1529
1530         * libspi/editabletext.c (impl_setAttributes): fix warnings.
1531
1532         * libspi/component.c (accessibility_component_get_type): 
1533         rename to (spi_component_get_type): and macroify.
1534         (accessibility_component_init): rename to
1535         (spi_component_init): this
1536         (accessibility_component_class_init): rename to
1537         (spi_component_class_init): this
1538
1539         * libspi/action.c (spi_action_get_type): kill, use the macro.
1540
1541         * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1542         to avoid prototype.
1543
1544         * libspi/application.c (spi_application_object_event_listener),
1545         (impl_accessibility_application_register_object_event_listener):
1546         warning fixes / const understanding updates.
1547
1548         * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1549         warning fixes.
1550
1551 2001-18-11  Bill Haneman <bill.haneman@sun.com>
1552
1553         * libspi/spi_accessible.c: Added docs and C bindings for
1554         AccessibleStateSet. (No implementations yet).  Documentation
1555         coverage for C bindings now 100%. Made docs for event listeners
1556         more explicit.
1557         
1558         * idl/Registry.idl:
1559         Added methods 
1560             boolean notifyListenersSync (in DeviceEventListener listener,
1561                                      in DeviceEvent event);
1562
1563             oneway void notifyListenersAsync (in DeviceEventListener listener,
1564                                           in DeviceEvent event);
1565
1566         Added DeviceEventListener and DeviceEvent structs (may deprecate
1567         KeyStroke and KeystrokeListener in favor of this generic
1568         event/listener framework for devices).
1569
1570         * libspi/deviceeventcontroller.c:
1571
1572         Changed some key listener code to take masks, etc., and paved the
1573         way for integration of toolkit/non-preemptive key events. Changed
1574         signatures of some internal methods.
1575
1576         * at-bridge/bridge.c:
1577         Fixed regression connecting to interface signals, apparently
1578         caused by GTK+ changes.
1579
1580         Added an internal bridge_state_listener to deal with
1581         property-change:accessible-state signals.
1582
1583         Changed the key_listeners GList to store structs (including masks,
1584         etc.) instead of just CORBA_Objects (required for full
1585         implementation of key listener API).
1586
1587         Connected the bridge to all currently supported Atk signals.
1588         Events now supported: 
1589             object:property-change
1590             object:property-change:accessible-name
1591             object:property-change:accessible-state
1592             object:property-change:accessible-description
1593             object:property-change:accessible-parent
1594             object:property-change:accessible-value
1595             object:property-change:accessible-role
1596             object:property-change:accessible-table-caption
1597             object:property-change:accessible-table-column-description
1598             object:property-change:accessible-table-column-header
1599             object:property-change:accessible-table-row-description
1600             object:property-change:accessible-table-row-header
1601             object:property-change:accessible-table-summary
1602             object:children-changed
1603             object:visible-data-changed
1604             object:selection-changed
1605             object:text-selection-changed
1606             object:text-changed
1607             object:text-caret-moved
1608             object:row-inserted
1609             object:row-reordered
1610             object:row-deleted
1611             object:column-inserted
1612             object:column-reordered
1613             object:column-deleted
1614             object:model-changed        
1615
1616 2001-16-11  Bill Haneman <bill.haneman@sun.com>
1617
1618         * libspi/hyperlink.c,h:
1619         Fixed some broken stuff in hyperlink.
1620         
1621         * libspi/relation.h:
1622         * libspi/relation.c:
1623         * cspi/spi_accessible.c:
1624         Initial implementations of AccessibleRelation methods, and docs.
1625
1626         * libspi/accessible.c:
1627         Fixed a bug that caused SEGV  if an accessible
1628         object's description is NULL, and a client
1629         requests it.  An empty string is now returned.
1630
1631         * cspi/spi_editabletext.c:
1632         * cspi/spi_hypertext.c:
1633         * cspi/spi_image.c:
1634         * cspi/spi_hyperlink.c:
1635         * cspi/spi_table.c:
1636         Added docs.  
1637
1638         Doc coverage now 95%.
1639
1640 2001-16-11  Bill Haneman <bill.haneman@sun.com>
1641
1642         One last namespacing revision:
1643         * libspi/accessibleeventlistener.[ch]:
1644         Renamed SpiAccessibleEventListener to SpiEventListener,
1645         (no need for two namespaces ;-)
1646
1647         And lots of documentation fixes:
1648
1649         * docs/at-spi-docs.sgml:
1650         Fixed 'underscore vs. hyphen' bug that was preventing
1651         the gtk-doc API docs from being automatically generated.
1652
1653         * cspi/spi-impl.h
1654         * cspi/spi-listener.h
1655         * cspi/spi.h
1656         * cspi/spi_accessible.c
1657         * cspi/spi_action.c
1658         * cspi/spi_application.c
1659         * cspi/spi_component.c
1660         * cspi/spi_editabletext.c
1661         * cspi/spi_event.c
1662         * cspi/spi_hypertext.c
1663         * cspi/spi_main.c
1664         * cspi/spi_registry.c
1665         * cspi/spi_selection.c
1666         * cspi/spi_text.c
1667         * cspi/spi_value.c
1668         * docs/Makefile.am
1669         * docs/at-spi-docs.sgml
1670         * docs/at-spi-sections.txt
1671         
1672         Added and fixed up gtk-doc documentation in cspi.
1673         
1674         Interfaces now (fully) documented (subject to revision and enhancement):
1675         SPI_main
1676         Event Listener Support
1677         Registry API
1678         AccessibleApplication
1679         Accessible
1680         AccessibleAction
1681         AccessibleComponent
1682         AccessibleEditableText
1683         AccessibleSelection
1684         AccessibleText
1685         AccessibleValue
1686
1687         still pending:
1688         AccessibleStateSet
1689         AccessibleRelationSet
1690         AccessibleImage
1691         AccessibleTable
1692         AccessibleHyperlink
1693         
1694 2001-14-11  Bill Haneman <bill.haneman@sun.com>
1695
1696         * at-bridge/bridge.c:
1697         Initial work for toolkit-level key snooper connection by bridge.
1698
1699         * cspi/spi-impl.h:
1700         * cspi/spi_*.h:
1701         * cspi/spi_*.c:
1702         New typedefs and fixes to support new namespacing, and cleaner
1703         separation of cspi bindings from libspi bonobo implementation.  
1704         Removed inconsistent and extraneous Spi* namespace prefix that
1705         had crept into cspi headers.
1706         Lots of comment fixes that sed had missed.
1707
1708         * cspi/spi-roletypes.h:
1709         * cspi/spi-statetypes.h:
1710         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
1711         to AccessibleRoleType.
1712         
1713         * libspi/accessibleeventlistener.h:
1714         Fixed minor namespacing weirdness.
1715
1716         * libspi/deviceeventcontroller.c:
1717         Reordered some internal API for device listeners.
1718         Changed the key registry final boolean to 'is_system_global'
1719         rather than 'is_synchronous', which is more descriptive of its 
1720         actual meaning.
1721         Added spi_device_event_controller_new().
1722         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
1723          
1724         * libspi/keystrokelistener.[ch]:
1725         Namespaced KeystrokeListener to SpiKeystrokeListener.
1726         Changed uses of keymasks to use SPI_ prefix, and did other
1727         knock-on fixups.
1728
1729         * libspi/keymasks.h:
1730         Namespaced keymask constants with SPI_ prefix.
1731
1732         * libspi/registry.c:
1733         Some warning fixes, and knock-on fixes from namespace changes.
1734
1735         * test/Makefile.am:
1736         Added rules for accessx-gui test program.
1737
1738         * test/accessx-gui.c:
1739         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
1740         utility.  It doesn't actually use at-spi, but it's still cool and
1741         useful ;-)
1742
1743         * test/keysynth-demo.c:
1744         * test/simple-at.c:
1745         * test/at.c:
1746         * test/app.c:
1747         Fixes so that these test clients work properly with the namespaced
1748         libraries. (Incompletely tested for technical reasons, fixes may follow)
1749         
1750
1751 2001-13-11  Michael Meeks  <michael@ximian.com>
1752
1753         * libspi/application.c
1754         (impl_accessibility_application_get_version),
1755         (impl_accessibility_application_get_toolkit_name):
1756         warning fixes.
1757         (impl_accessibility_application_set_id),
1758         (impl_accessibility_application_get_id): remove
1759         redundant casting code.
1760
1761         * libspi/action.c (impl_getDescription): fix warnings.
1762
1763         * libspi/accessible.c
1764         (impl_accessibility_accessible_get_parent),
1765         (impl_accessibility_accessible_get_child_at_index),
1766         (impl_accessibility_accessible_get_state),
1767         (impl_accessibility_accessible_get_relation_set):
1768         warning fixes & include action.h
1769
1770 2001-13-11  Michael Meeks  <michael@ximian.com>
1771
1772         * *.[ch] fix bits I screwed up:
1773
1774                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
1775                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
1776         
1777 2001-13-11  Michael Meeks  <michael@ximian.com>
1778
1779         * *.[ch] Namespace libspi into spi_ and Spi.
1780
1781 2001-13-11  Michael Meeks  <michael@ximian.com>
1782
1783         * Makefile.am: dist & install at-spi-1.0.pc
1784
1785         * libspi/Makefile.am: install into at-spi-1.0
1786
1787         * idl/Makefile.am (idldir): install into at-spi-1.0
1788
1789         * at-spi-1.0.pc.in: add.
1790
1791         * configure.in: build it.
1792
1793 2001-12-11  Bill Haneman <bill.haneman@sun.com>
1794
1795         * test/keysynth-demo.c:
1796         Use a 'realize' signal-handler to set the WM properties for
1797         the virtual keyboard, rather than making it a "POPUP" type
1798         override-redirect window (thanks to anders carlsson for that
1799         tip!)
1800
1801 2001-11-11  Bill Haneman <bill.haneman@sun.com>
1802
1803         * test/Makefile.am:
1804         * test/keysynth-demo.c:
1805         Added new test of key synthesis, which creates a simple
1806         (mouse-operated) onscreen keyboard.  It inserts key events into
1807         the currently-focused window, thus it does not grab keyboard focus
1808         itself.
1809
1810         * cspi/spi_registry.c:
1811         Added C binding for AT-SPI generateKeyEvent.
1812
1813         * libspi/deviceeventcontroller.c:
1814         Added call to XFilterEvent so that key listener works with XIM (we
1815         hope).  Added event_synth_type to generateKeyEvent, so that we can
1816         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
1817         synthesize a press/release pair for KeySyms.    
1818         
1819 2001-11-09  Bill Haneman <bill.haneman@sun.com>
1820
1821         * libspi/Makefile.am: 
1822         * registryd/Makefile.am:
1823         (temporary) hack to include libXtst in libspi and registryd.
1824         (Needed for keystroke synthesis, see below).
1825
1826         * idl/Registry.idl:
1827         Improved API for registerKeystrokeListener, in accordance with
1828         discussions with Gnopernicus team and X server research.
1829
1830         * libspi/registry.c:
1831         * libspi/deviceeventcontroller.c:
1832         * libspi/accessible.c:
1833         * libspi/keystrokelistener.c:
1834         Changes and fixes to support keylisteners for potentially
1835         consumed key events (that is, 'passive grabs').
1836         Added implementation for generateKeyEvent() [untested].
1837
1838         * cspi/spi.h:
1839         Changes to registerKeystrokeListener() API, as above.
1840         Added deregisterGlobalEventListenerAll(), and 
1841         deregisterKeystrokeListener(), which are needed for clean exit of
1842         clients.
1843         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
1844         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
1845         
1846         * cspi/spi_registry.c:
1847         Added implementations of function prototypes mentioned above.
1848         
1849         * registryd/registryd.c:
1850         Added the key listener event source as a g_timeout(), to allow
1851         receipt of key events that are not caught by GDK (since GDK
1852         doesn't support passive keygrabs, this was necessary).
1853
1854         * test/simple-at.c:
1855         Changed to attach a keylistener to 'Alt' keys, and
1856         respond to the following keycommands: Alt-M (toggle magnifier);
1857         Alt-F (toggle speech); Alt-Q (quit).
1858         Added an exit routine to deregister the listeners, and a key
1859         listener that prints some key info to the console when a key
1860         matches the listener mask (and is thus received by the listener).
1861         
1862         * util/idl/Magnifier.idl:
1863         Changes to magnifier API to support multiple zoom regions,
1864         non-uniform scaling in x and y, markDirty, and a host of other
1865         features that would be useful to magnification.
1866
1867         * util/mag_image.h:
1868         * util/mag_client.c:
1869         * util/mag_client.h:
1870         * util/mag_control.c:
1871         * util/magnifier.c:
1872         Source code changes to support the above IDL changes.
1873         
1874         * util/mag_image.c:
1875         As above, and also changes to use a (slower) generic conversion
1876         path for colormap conversions, since the fast RGB conversions have been
1877         reported to fail for 16-bit displays.
1878
1879 2001-10-26  Michael Meeks  <michael@ximian.com>
1880
1881         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
1882
1883 <2001-10-26  Laszlo Peter <laca@ireland.sun.com>
1884
1885         * at-bridge/Makefile.am: fix LDFLAGS.
1886
1887 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
1888
1889         * at-bridge/bridge.c:
1890         Re-worked listeners for toolkit events, now we have signal
1891         and property listeners. Added a private method
1892         register_atk_event_listeners(), which registers with the
1893         various atk and gtk signals we need to monitor in order to emit
1894         our at-spi events.
1895         Added emission hook for AtkObject:property-change events, to
1896         support the 'property listeners'.
1897         Fixed some alloc()s of Accessibility_Event structs to use CORBA
1898         allocation.
1899
1900         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
1901         which emit warnings and exit, respectively, if CORBA errors occur
1902         during remote calls, and we now use these methods to check most of
1903         our CORBA calls in the C bindings.
1904
1905         * cspi/spi_accessible.c:
1906         Changed AccessibleSelection_refSelectedChild() to
1907         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
1908         now increment refcounts.
1909
1910         * cspi/spi_component.c:
1911         Fixed some long pointer casts (dangerous!) to pass pointers to
1912         CORBA_longs of the proper type to the CORBA stubs, and copy the
1913         data into the longs that were passed into the C bindings code.
1914         
1915         * at-bridge/bridge.c:
1916         
1917         * libspi/accessible.c:
1918         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
1919         hyperlinks, AtkHyperlink is an object type.     
1920
1921         * libspi/application.c:
1922         Added various conversions to and from "generic" event types and
1923         atk-specific types; this is really part of the 'bridge'
1924         implementation but is valid for all AtkObject-based accessibility 
1925         implementations.
1926
1927         * libspi/editabletext.c:
1928         Fixed nasty bug wherein editable text's finalize method was
1929         unref'ing tha AtkObject reference that the text parent class was
1930         about to unref _again_.  There was also a nasty inheritance bug
1931         that meant that the AccessibleEditableText class was corrupt.
1932
1933         * libspi/selection.c:
1934         Provided implementations for some selection API that was broken.
1935         
1936         * idl/Application.idl:
1937         Added registerObjectEventListener () method.
1938
1939         * THROUGHOUT:
1940         Fixed a number of return values that were Bonobo_Unknowns from
1941         bonobo_object_corba_objref(), which I
1942         forgot to dup before returning.  Changed instances of 
1943         bonobo_object_corba_objref (bonobo_object(o)) to
1944         BONOBO_OBJREF(o), for concision and clarity.
1945         
1946 <2001-10-13  Louise Miller <louise.miller@sun.com>
1947
1948         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
1949         idl/Event.idl, idl/Registry.idl
1950         Changed these files to include Bonobo_Unknown.idl instead
1951         of Bonobo.idl
1952
1953 <2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
1954
1955         * libspi/component.c libspi/component.h:
1956                 Fixed typo.  Added assertions for object checks in 
1957         AccessibleComponent code.
1958
1959 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
1960
1961         * idl/Accessible.idl:
1962                 Added 'isEqual (Accessible *object)' 
1963         method for Accessible. (Not Yet Implemented).
1964         
1965         * idl/Registry.idl:
1966                 Changed signature of registerKeystrokeListener() to
1967         take a KeySet and KeyEventSeq so that specific keys and event
1968         types could be requested for monitoring, and added a flag
1969         is_synchronous so that either synchronous or asynchronous
1970         notification could be requested.  (However this is not all
1971         implemented yet). This also meant adding two new typedefs,
1972         KeyEventSeq and KeySet.
1973
1974         * idl/Relation.idl: 
1975                 Added two new relations, RELATION_TOOLTIP_FOR and
1976         RELATION_LEAFNODE_OF.
1977
1978         * idl/State.idl:
1979                 Added new state, STATE_HAS_TOOLTIP.
1980         
1981         * libspi/text.c, editabletext.c:
1982                 Added new assertions to all casts of bonobo-objects from
1983         CORBA servants, to prevent Text API calls on non-text objects.
1984                 Changed suspect casts of int-pointer types, so that we
1985         always send a valid CORBA_long pointer to the CORBA APIs that use
1986         in/out long parameters.  We then have to copy from the CORBA_long
1987         into the regular long or int for return to the C bindings, or
1988         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
1989         
1990         * cspi/spi_text.c:
1991         * libspi/deviceeventcontroller.c:
1992                 Cleaned these sources up.
1993         * idl/Text.idl:
1994                 Changed return type for getCharacterAtOffset to
1995         CORBA_unsigned_long, to allow for 32-bit characters.
1996         
1997                 
1998 <2001-10-08  Bill Haneman <bill.haneman@sun.com>
1999
2000         * util/Makefile.am:
2001         * idl/Makefile.am:
2002                 Fixed 'make dist' so that distro compiles...
2003         * libspi/keymasks.h:
2004                 new file.
2005         * cspi/spi-listener.c:
2006                 KeystrokeListenerCB now returns a boolean.
2007         * cspi/spi.h:
2008                 Added KeyEventType struct, and KeyStroke.
2009                 Also added createKeystrokeListener(),
2010         KeystrokeListener_addCallback(),
2011         KeystrokeListener_removeCallback(), and added a keymask to
2012         registerKeystrokeListener().
2013         * cspi/spi_accessible.c:
2014                 Changed numerous return types for interfaces from
2015         AccessibleComponent to Accessible<InterfaceName>; this was
2016         probably a cut-and-paste error.
2017         * cspi/spi_event.c:
2018                 Implementations of new KeystrokeListener api (from spi.h,
2019         above).
2020         * idl/Registry.idl:
2021                 Changes to key modifier mapping.
2022                 Created ControllerEventMask struct.
2023                 Made DeviceEventController derive from Bonobo::Unknown.
2024         * idl/Text.idl:
2025                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2026         * libspi/deviceeventcontroller.c:
2027                 Added a number of new internal (private) methods.
2028         * libspi/editabletext.c:
2029         * libspi/editabletext.h:
2030                 Fixed a number of bugs related to the fact that
2031         editabletext inherits from text.  Fixed the EditableText struct,
2032         the init() call, and use correct casts when calling Text methods
2033         from an EditableText object.  Removed (duplicate) atko from the
2034         EditableText structure, we use the one in the parent Text
2035         structure via the casts mentioned above.
2036         * libspi/keystrokelistener.[ch]:
2037         * libspi/registry.c:
2038                 Changes in support of keyboard handling (above).
2039         
2040         Keyboard handling, though partly functional, is still not
2041         recommended for at-spi client use as there is considerable 
2042         work yet to be done.
2043
2044         * libspi/text.c:
2045                 Changed some places where pointers to various int types
2046         are cast to be pointers to CORBA_long types and vice-versa:
2047         pointer casting is not safe so we pass pointers of the correct
2048         types and then cast the result before putting it into the target
2049         pointers.
2050
2051         * libspi/text.h: minor typos corrected.
2052         * test/simple-at.c: 
2053                 We now speak not only the name of a Text element, but the
2054         first sentence of its content, when it receives focus.
2055                 I also changed the text compression to 75% from 50%.
2056         * util/Accessibility_Util.server.in:
2057                 Changed the default magnifier type to be a 3x vertical
2058         splitscreen magnifier (was previously a 2x horizontal one).
2059
2060 <2001-10-03  Bill Haneman <bill.haneman@sun.com>
2061
2062         * libspi/keystrokelistener.h:
2063         * libspi/keystrokelistener.c:
2064                 Initial functional implementations of KeystrokeListener.
2065         * idl/Registry.idl:
2066         
2067 <2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
2068
2069         Fixed string handling for NULL strings in libspi.
2070         Added spi_freeString to free strings returned by C bindings.
2071
2072 <2001-09-30  Bill Haneman <bill.haneman@sun.com>
2073
2074         * libspi/keystrokelistener.h:
2075         * libspi/keystrokelistener.c:
2076                 Began (no-op) implementations of KeystrokeListener
2077                         (see below).
2078         * libspi/deviceeventcontroller.c:
2079         * libspi/deviceeventcontroller.h:
2080                 Began creating implementations of DeviceEventController,
2081                         to handle keystroke and mouse event listening and
2082                         synthesis.
2083         * libspi/accessible.c:
2084                 Stubbed-in the implementations for
2085                         Accessibility_Accessible_getState and
2086                         Accessibility_Accessible_getRelationSet.
2087         * libspi/registry.c:
2088                 Improved de-registration process and fixed some bugs, 
2089                         deregistration now works correctly.
2090         * libspi/desktop.c:
2091                 Added initialization of applications list (to NULL).
2092         * util/magnifier.c:
2093                 Reduced speech compression from 0.5 to 0.7, for demo.
2094                 Changed call to gdk_window_set_decorations()
2095                         to gtk_window_set_decorated().
2096         * at-bridge/bridge.c:
2097                 Bridge now deregisters when app exits, via
2098                         registration of a cleanup function
2099                         with the g_atexit() call.
2100                         Required making 'app' static, renamed 'this_app'.
2101                 Fixed broken use of bonobo_init, passing argv wrongly.
2102
2103 <2001-09-27  Bill Haneman <bill.haneman@sun.com>
2104
2105         * util:
2106         * util/Makefile.am: 
2107                 Created a new directory for 
2108                         accessibility-related utilities, primarily for
2109                         testing and demo purposes, but with possible
2110                         end-user utility.
2111         
2112         * util/magnifier.c:
2113         * util/magnifier.h:
2114         * util/mag_image.c:
2115         * util/mag_image.h:
2116                 Onscreen magnifier utility that
2117                         is implemented as a bonobo service.
2118         
2119         * util/mag_client.c:
2120         * util/mag_client.h:
2121                 Client-side support (simple C bindings) 
2122                         for Magnification service
2123         
2124         * util/mag_control.c:
2125                 Client program example for 
2126                         Magnification service
2127         
2128         * util/Accessibility_Magnifier.server.in:
2129                 Bonobo-activation file for the 
2130                         Magnification service.
2131         
2132         * util/idl:
2133         * util/idl/Magnifier.idl:
2134                 IDL defining the bonobo Magnification
2135                         service interface.
2136
2137         * test/simple-at.c:
2138                 Modifications to use the bonobo-activated magnifier
2139                         above, in place of trying to connect to an existing
2140                         magnifier that uses socket-listening IPC.
2141
2142                 If env variable MAGNIFIER is set, a magnifier service
2143                         will be started if one does not exist.
2144         
2145 <2001-09-25  Bill Haneman <bill.haneman@sun.com>
2146         * at-bridge/bridge.c:
2147                 applied patch from Marc to build and run 
2148                 against new glib and gtk+ (seemed like a change 
2149                 to bonobo_init signature was made ?)
2150         * test/simple-at.c:
2151                 made festival-server support turned off by default.
2152                 Added support for a simple magnifier (off by default)
2153                 which will be added to a 'util' directory later.
2154         * at-bridge/Makefile.am:
2155                 Changed "application.h" header from a 'source'
2156                 to a 'dependency' of libat-bridge.
2157
2158 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
2159         * cspi/Makefile.am:
2160                 Added spi-util.c.
2161
2162         * cspi/spi-util.c:
2163                 Fixed typo
2164
2165         * cspi/spi.c:
2166                 Added interface implementation c files to list of
2167                         includes so they are included in libcspi.
2168
2169         * cspi/spi.h:
2170                 Changed prototype of AccessibleAction_doAction to return a
2171                         boolean.
2172                 Changed prototype of AccessibleTable_getCaption to
2173                         return an Accessible.
2174                 Changed prototype of AccessibleTable_getSelectedRows
2175                         and AccessibleTable_getSelectedColumns to
2176                         return a long (returns the number of selected rows
2177                         or columns respectively).
2178                 Changed name of AccessibleText_refRunAttributes to
2179                         AccessibleText_getAttributes.
2180                 Changed prototype of AccessibleText_getCharacterExtents to
2181                         return a void rather than a boolean. 
2182                 Added support for a AccessibleCoordType parameter
2183                         specifying what type of coordinates are desired.
2184                 Added an AccessibleCordType parameter to
2185                         AccessibleText_getPointAtOffset.
2186
2187         * cspi/spi_accessible.c:
2188                 Added code to return the outstanding interfaces from
2189                         Accessible_queryInterface.
2190
2191         * cspi/spi_action.c:
2192                 Fixed typos.
2193                 Corrected call to getNActions to call the c binding
2194                         for an attribute.
2195
2196         * cspi/spi_editabletext.c:
2197                 Fixed typos.
2198                 Changed name from setRunAttributes to setAttributes.
2199
2200         * cspi/spi_hyperlink.c:
2201                 Fixed typos.
2202                 Changed call to getNAnchors to correctly call the c
2203                         binding for an attribute.
2204
2205         * cspi/spi_hypertext.c:
2206                 Fixed typos.
2207                 Changed getImageDescription to correctly call the
2208                         binding for an attribute.
2209
2210         * cspi/spi_selection.c:
2211                 Changed getNSelectedChildren to correctly call the c
2212                         binding for the attribute.
2213                 Changed refSelectedChild to getSelectedChild.
2214
2215         * cspi/spi_table.c:
2216                 Fixed typos.
2217                 Changed getCaption to return an Accessible.
2218                 Fixed calls which retrieve attributes.
2219                 Changed refAt to getAccessibleAt.
2220                 Changed getNSelectedRows and getNSelectedColumns to
2221                         return longs.
2222
2223         * cspi/spi_text.c:
2224                 Changed getCharacterExtents and getPointAtOffset to accept an
2225                         AccessibleCoordType.
2226                 Fixed typos.
2227                 Changed calls which retrieve attributes.
2228                 Changed refRunAttributes to getAttributes.
2229
2230         * cspi/spi_value.c:
2231                 Fixed typos.
2232
2233         * idl/Hyperlink.idl:
2234                 Changed n_anchors attribute to nAnchors to keep naming
2235                         convention consistent.
2236
2237         * idl/Table.idl:
2238                 Made Table inherit from Bonobo::Unknown.
2239                 Added nSelectedColumns and nSelectedRows attributes.
2240
2241         * idl/Value.idl:
2242                 Made Value inherit from Bonobo::Unknown.
2243
2244         * libspi/hyperlink.c:
2245                 Change for nAnchors attributte name change.
2246
2247 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
2248         * cspi/Makefile.am:
2249                 Added spi-util.c.
2250
2251         * cspi/spi-util.c:
2252                 Fixed typo
2253
2254         * cspi/spi.c:
2255                 Added interface implementation c files to list of
2256                         includes so they are included in libcspi.
2257
2258         * cspi/spi.h:
2259                 Changed prototype of AccessibleAction_doAction to return a
2260                         boolean.
2261                 Changed prototype of AccessibleTable_getCaption to
2262                         return an Accessible.
2263                 Changed prototype of AccessibleTable_getSelectedRows
2264                         and AccessibleTable_getSelectedColumns to
2265                         return a long (returns the number of selected rows
2266                         or columns respectively).
2267                 Changed name of AccessibleText_refRunAttributes to
2268                         AccessibleText_getAttributes.
2269                 Changed prototype of AccessibleText_getCharacterExtents to
2270                         return a void rather than a boolean. 
2271                 Added support for a AccessibleCoordType parameter
2272                         specifying what type of coordinates are desired.
2273                 Added an AccessibleCordType parameter to
2274                         AccessibleText_getPointAtOffset.
2275
2276         * cspi/spi_accessible.c:
2277                 Added code to return the outstanding interfaces from
2278                         Accessible_queryInterface.
2279
2280         * cspi/spi_action.c:
2281                 Fixed typos.
2282                 Corrected call to getNActions to call the c binding
2283                         for an attribute.
2284
2285         * cspi/spi_editabletext.c:
2286                 Fixed typos.
2287                 Changed name from setRunAttributes to setAttributes.
2288
2289         * cspi/spi_hyperlink.c:
2290                 Fixed typos.
2291                 Changed call to getNAnchors to correctly call the c
2292                         binding for an attribute.
2293
2294         * cspi/spi_hypertext.c:
2295                 Fixed typos.
2296                 Changed getImageDescription to correctly call the
2297                         binding for an attribute.
2298
2299         * cspi/spi_selection.c:
2300                 Changed getNSelectedChildren to correctly call the c
2301                         binding for the attribute.
2302                 Changed refSelectedChild to getSelectedChild.
2303
2304         * cspi/spi_table.c:
2305                 Fixed typos.
2306                 Changed getCaption to return an Accessible.
2307                 Fixed calls which retrieve attributes.
2308                 Changed refAt to getAccessibleAt.
2309                 Changed getNSelectedRows and getNSelectedColumns to
2310                         return longs.
2311
2312         * cspi/spi_text.c:
2313                 Changed getCharacterExtents and getPointAtOffset to accept an
2314                         AccessibleCoordType.
2315                 Fixed typos.
2316                 Changed calls which retrieve attributes.
2317                 Changed refRunAttributes to getAttributes.
2318
2319         * cspi/spi_value.c:
2320                 Fixed typos.
2321
2322         * idl/Hyperlink.idl:
2323                 Changed n_anchors attribute to nAnchors to keep naming
2324                         convention consistent.
2325
2326         * idl/Table.idl:
2327                 Made Table inherit from Bonobo::Unknown.
2328                 Added nSelectedColumns and nSelectedRows attributes.
2329
2330         * idl/Value.idl:
2331                 Made Value inherit from Bonobo::Unknown.
2332
2333         * libspi/hyperlink.c:
2334                 Change for nAnchors attributte name change.
2335
2336
2337 <2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
2338
2339         implementations-- made server implementations own AtkObject pointers
2340         rather than their respective AtkInterrface pointers to fix
2341         refcounting.  AtkHyperlink is still broken.
2342
2343 <2001-09-04  Bill Haneman <bill.haneman@sun.com>
2344         * cspi/spi_accessible.c:
2345                 Added method Accessible_Role_getName(),
2346                         and requisite string array (role_names).
2347                 Added conversion string_from_corba_strin() call
2348                         to Accessible_getName and _getDescription.
2349         * libspi/accessible.c:
2350                 Added implementation for Accessible_getRole()
2351         * test/simple-at.c:
2352                 Added festival support, used if environment variable
2353                         FESTIVAL is set.
2354         
2355 2001-09-04  Bill Haneman <bill.haneman@sun.com>
2356
2357         * at-bridge/bridge.c:
2358             Now allocate Accessibility_Event using
2359             Accessibility_Event__alloc() instead of g_new0().
2360         * libspi/accessibleeventlistener.c:
2361             Initialize AccessibleEventListener->callbacks to NULL.
2362             Fixed accessible__event_listener_init() param, changed to
2363             "AccessibleEventListener *" type.
2364             Changed a bonobo_object_release_unref() call to
2365             Accessibility_Accessible_unref().
2366         * libspi/listener.c:
2367             Changed Bonobo_Unknown_unref to (equivalent) 
2368             Accessibility_Accessible_unref.
2369         * libspi/registry.c:
2370             Changed bonobo_object_release_unref to 
2371             Accessibility_Accessible_unref.
2372         
2373 <2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
2374         
2375         * Added files:
2376             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2377             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2378             spi-util.c spi-util.h
2379             Implementations for C bindings to remaining accessibility 
2380             interfaces.
2381
2382 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2383         
2384         * idl/Action.idl:
2385             changed return value of Action from void to boolean to 
2386             bring in line with ATK.
2387
2388         * idl/Text.idl:
2389             Changed getText funcions to return "out" start and end offsets.
2390             Changed getAttributes to take and offset and return the start 
2391             and end offset of the attribute run.
2392             Changed getOffsetAtPoint and getCharacterExtents to take an 
2393              enum describing whether coordinates are window or screen.
2394
2395         * Added files:
2396             libspi/action.c libspi/action.h libspi/editabletext.c 
2397             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2398             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
2399             libspi/image.h libspi/selection.c libspi/selection.h
2400             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
2401             libspi/value.c libspi/value.h
2402             Added server implementations for outstanding ATK interfaces 
2403             not yet implemented.
2404  
2405 2001-09-04  Bill Haneman <bill.haneman@sun.com>
2406
2407         * idl/Action.idl:
2408                 Added (missing) getName() method. 
2409                 Made nActions an attribute.
2410         * idl/EditableText.idl:
2411                 Changed order of params in setAttributes.
2412         * idl/Hyperlink.idl:
2413                 Removed getAnchor, added getURI.
2414         * idl/Image.idl:
2415                 Changed attributes to methods, for efficiency
2416                 (so that getting extents can be done in one call)
2417         * idl/Selection.idl:
2418                 Changed nSelectedChildren to attribute, and re-indented.
2419         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
2420                 to attributes.
2421         * idl/Text.idl: reformatted to match our coding style.
2422                 (temporarily?) removed getRowColumnAtOffset().
2423                 Changed text selection API to support multi-select and
2424                 non-contiguous selections, as in ATK.
2425         * idl/Value.idl: changed some methods to attributes.
2426
2427 2001-08-24  Mark McLoughlin <mark@skynet.ie>
2428
2429         * libspi/listener.c(impl_notify_event):
2430         BonoboUnkown_unref the source instead
2431         of bonobo_object_release_unref - the ORB
2432         handles the releasing.
2433
2434         * configure.in: require ORBit-2.3.94 for
2435         this behaviour.
2436
2437 2001-08-21  Bill Haneman <bill.haneman@sun.com>
2438
2439         Tagged CVS repository 'EA_1_0'.
2440         * README.EARLY_ACCESS:
2441         Alphabetized acknowledgements list, and
2442         added someone.
2443         Listed some known dependencies of at-spi.
2444
2445 2001-08-20  Bill Haneman <bill.haneman@sun.com>
2446
2447         * docs/at-spi-docs.sgml:
2448         * docs/at-spi-sections.txt:
2449         * docs/at-spi-overrides.txt: (Added zero-length file)
2450         Documentation improvements - gtk-doc should build
2451         docs for all implemented C bindings now.
2452         * cspi/Makefile.am:
2453         * cspi/spi_main.c:
2454         * cspi/spi.c: (New file)
2455         * cspi/spi_event.c: (New file)
2456         * cspi/spi_registry.c: (New file)
2457         * cspi/spi_accessible.c: (New file)
2458         * cspi/spi_application.c: (New file)
2459         * cspi/spi_component.c: (New file)
2460         Split spi_main.c into six parts, and included them from
2461         "spi.c".  This is a bit of a hack, probably temporary,
2462         but required by gtk-doc, apparently.
2463         
2464 2001-08-20  Bill Haneman <bill.haneman@sun.com>
2465
2466         * docs/Makefile.am:
2467         * docs/at-spi-docs.sgml:
2468         * docs/at-spi-sections.txt:
2469         * configure.in:
2470         Initial checkins/modifications for gtk-doc generation.
2471         * cspi/spi.h:
2472         * cspi/spi.c:
2473         Added (missing) interface query methods to Accessible's C binding.
2474         * cspi/spi-impl.h:
2475         Added GenericInterface type definition.
2476         * test/simple-at.c:
2477         Added query for AccessibleComponent interface to focus event handler.
2478         Added printout of bounding box for focussed component.
2479         * libspi/component.c:
2480         Added partial implementation for AccessibleComponent to C binding.
2481         * idl/Application.idl:
2482         * libspi/registry.c:
2483         * libspi/listener.c:
2484         * libspi/application.c:
2485         * libspi/application.h:
2486         Changed "ID" attribute type from string to long.
2487
2488 2001-08-19  Bill Haneman <bill.haneman@sun.com>
2489
2490         * cspi/spi.h:
2491         * cspi/spi.c:
2492         Made method naming consistent: methods taking object args
2493         start with uppercase, other methods (except those using
2494         acronyms) start with lowercase.  Underscores delimit between
2495         object names and method names:
2496         SPI_init() - uppercase since it starts with an acronym.
2497         getDesktopCount () - lowercase start since no object param0.
2498         Accessible_getName() - uppercase object type name, studlyCaps method
2499                                name.
2500
2501         *cspi/spi.h:
2502         Added gtk-doc documentation for all currently implemented
2503         methods in the C bindings API.
2504
2505 2001-08-18  Bill Haneman <bill.haneman@sun.com>
2506
2507         * Makefile.am : changed build order to build test last.
2508         * cspi/spi.h :
2509         * cspi/spi_main.c :
2510         Changed "createEventListener" to "CreateEventListener".
2511         * libspi/accessibleeventlistener.c :
2512         Bugfix for addition of callbacks.
2513         * test/Makefile.am :
2514         * test/simple-at.c :
2515         Added new test that uses the C bindings API.
2516         * idl/Event.idl :
2517         * libspi/listener.c :
2518         * libspi/registry.c :
2519         * libspi/accessibleeventlistener.c :
2520         * at-bridge/bridge.c :
2521         Renamed member "target" of Accessibility_Event to "source",
2522         which is more descriptive.
2523         
2524
2525 2001-08-18  Bill Haneman <bill.haneman@sun.com>
2526
2527         * Makefile.am: 
2528         * configure.in :
2529         * cspi/Makefile.am :
2530         Added makefile support for at-spi/cspi directory.
2531         * cspi/spi.h : 
2532         * cspi/spi-impl.h :
2533         * cspi/spi-listener.h : (NEW FILE)
2534         Added support for/use of spi-listener.h.
2535         * cspi/spi_main.c :
2536         C bindings now build successfully, with no warnings.
2537         * libspi/accessibleeventlistener.h : (NEW FILE)
2538         * libspi/accessibleeventlistener.c : (NEW FILE)
2539         * libspi/Makefile.am :
2540         Added new object type "AccessibleEventListener"
2541         which inherits from Listener, and allows attachment
2542         of in-process callbacks (so that a client with a listening
2543         object instance can add functionality to the local 
2544         implementation, dynamically).
2545
2546 2001-08-18  Bill Haneman <bill.haneman@sun.com>
2547
2548         * libspi/accessible.c: 
2549         Add implementation for get_index_in_parent().
2550         * cspi/spi.h : 
2551         Added #include of "spi-roletypes.h", and
2552         added enumerated type AccessibleCoordType.
2553         Added definition for KeystrokeListener (function type).
2554
2555         ADDED FILES:
2556         * cspi/spi-statetypes.h :
2557         * cspi/spi-roletypes.h :
2558         * cspi/spi-impl.h :
2559         Added these headers, used by spi.h.
2560         * cspi/spi_main.c : 
2561         Added code (NOTE: not yet built by make).
2562
2563 2001-08-18  Mark McLoughlin <mark@skynet.ie>
2564
2565         * libspi/Makefile.am: generate imodule
2566         at the same time as other idl compiler 
2567         generated files. 
2568
2569 2001-08-17  Bill Haneman <bill.haneman@sun.com>
2570         * libspi/registry.c :
2571         * libspi/application.c :
2572         * idl/Application.idl :
2573         Made registration with toolkit an application method,
2574         which is required since each app has its own toolkit static
2575         environment.  Thus the bridge must register for 
2576         notification of toolkit events from each application in turn.
2577         Toolkit notifications are now successfully registered for, and
2578         sent to the listening at client.
2579         * test/at.c :
2580         Changed toolkit event string to use hyphens rather than underscores.
2581         * libspi/listener.c :
2582         listner now gives more info in debug mode - it reports the
2583         name of the event received, as well as the name of the source.
2584         
2585
2586 2001-08-16  Bill Haneman <bill.haneman@sun.com>
2587
2588         * libspi/registry.c :
2589         added more implementation for toolkit events.
2590         Fixed bug such that toolkit event registrations
2591         (via atk) use the whole event name string, not 
2592         just minor+detail.
2593         Removed a useless call to an ORBit_ method.
2594         * at-bridge/bridge.c :
2595         Removed unused local sbuf[] variable.
2596         * test/at.c :
2597         We now register for Gtk:GtkWidget:button_press_event 
2598         events as well as "focus:" events.
2599         * cspi/spi.h :
2600         Add some more API from Registry.idl that was missing,
2601         for keystroke listening, keystroke and mouse event
2602         synthesis, and enumeration of accessible desktops.
2603
2604 2001-08-16  Michael Meeks  <michael@ximian.com>
2605
2606         * configure.in: use AM_GLIB_GNU_GETTEXT.
2607
2608         * Makefile.am (SUBDIRS): kill intl.
2609
2610 2001-08-15  Michael Meeks  <michael@ximian.com>
2611
2612         * registryd/Makefile.am: s/oaf/server/ relocate info file.
2613
2614         * configure.in: upd.
2615
2616         * configure.in: depend on a recent bonobo-activation that
2617         will find our server files ...
2618
2619 2001-08-16  Bill Haneman <bill.haneman@sun.com>
2620
2621         * libspi/accessible.c : accessible_new() :
2622         Now we add the Component interface via bonobo_object_add_interface,
2623         if the contained AtkObject implements AtkComponent.
2624         * libspi/accessible.h : now include "component.h"
2625         * libspi/component.h :
2626         * libspi/component.c : added files - implementation of
2627         bonobo wrapper object for Accessibility/Component
2628         * libspi/listener.c :
2629         Added test code to check for Accessibility/Component:1.0
2630         interface and report whether it is implemented by the
2631         event source.
2632         * libspi/registry.c :
2633         Now we check for not only the hash of the whole event 
2634         string before relaying the event, we also check the
2635         "minor" event string (without the detail string).
2636         This allows event listeners to be registered against
2637         all events of a certain major+minor type, or just
2638         against a specific major+minor+detail type.
2639         * libspi/accessible.c :
2640         Added implementations for Accessible:get_parent(),
2641         Accessible:getChildCount(), and Accessible:getChildAtIndex().
2642         * libspi/registry.c :
2643         * libspi/listener.c :
2644         Replaced calls to Accessibility_Accessible_ref() and
2645         Accessibility_Accessible_unref() with 
2646         calls to bonobo_object_dup_ref() and 
2647         bonobo_object_release_unref(), so that the CORBA object
2648         is dup-ed and released when relayed, as well as the bonobo object.
2649
2650 2001-08-15  Mark McLoughlin <mark@skynet.ie>
2651
2652         * libspi/Makefile.am,
2653           registryd/Makefile.am,
2654           at-bridge/Makefile.am.
2655           test/Makefile.am, configure.in:
2656         reverse previous changes.
2657
2658         * /idl/Image.idl: fix typo.
2659
2660         * test/Makefile.am: put DEBUG_FLAGS
2661         in CFLAGS.
2662
2663 2001-08-15  Mark McLoughlin <mark@skynet.ie>
2664
2665         * test/app.c: use argv[0] instead of
2666         g_type_prgname.
2667
2668 2001-08-15  Mark McLoughlin <mark@skynet.ie>
2669
2670         * libspi/Makefile.am,
2671           registryd/Makefile.am,
2672           at-bridge/Makefile.am.
2673           test/Makefile.am, configure.in:
2674         cleanup, replace individual LIBS/CFLAGS with
2675         AT_COMMON_{LIBS|CFLAGS}.
2676
2677         * README: format.
2678
2679 2001-08-15  Mark McLoughlin <mark@skynet.ie>
2680         
2681         * configure.in, libspi/Makefile.am:
2682         Change IDL path checking for bonobo-activation
2683         as opposed to oaf.
2684
2685 2001-08-15  Bill Haneman <bill.haneman@sun.com>
2686
2687         * registryd/registry.c : separated event listeners to use
2688         3 separate lists (focus, window, toolkit).  Began testing
2689         event names against hashes before relaying events.
2690         * test/at.c : now register for events of type "focus:"
2691         * test/app.c : now generate events of type "focus:"
2692         * at-bridge/bridge.c : register with ATK for focus events,
2693         and we now relay those focus events to any "focus:" listeners.
2694         This now works with the bridge as a GTK_MODULE when running test/at.
2695         * libspi/registry.c :
2696         * libspi/listener.c : 
2697         now we ref event sources before propagating, and unref on receipt.
2698         * libspi/registry.c : 
2699         some changes to internal structs, to support event typestring hashes.
2700         * text/app.c : changed the way the appname is generated.
2701         * cspi : added directory that will hold the C bindings library for 
2702                 non-CORBA/bonobo-savvy clients.
2703         * cspi/spi.h : header file that contains the function prototypes for the C binding.
2704         * idl/Component.idl : added in parameter to indicate coord system for
2705                 geometry-related calls.
2706         * idl/Hyperlink.idl : added readonly n_links attribute
2707         * idl/Image.idl : changed methods to attributes.
2708         
2709 2001-08-15  Mark McLoughlin <mark@skynet.ie>
2710
2711         * at-bridge/Makefile.am: link against
2712         ../libspi/libspi.la instead of -lspi.
2713
2714         * at-spi/test/app.c: include 
2715         bonobo-activation.h. Use a default appname
2716         if one is not provided.
2717
2718 2001-08-14  Bill Haneman <bill.haneman@sun.com>
2719
2720         * idl/Registry.idl : temporarily changed register_Application
2721         to oneway, to work around issue with initial registration 
2722         re-entrancy.
2723         * idl/Application.idl : changed attribute "id" from readonly 
2724         to read-write, since it needs to be assigned by Registry.
2725         * registryd/registryd.c : added call to set application id 
2726         on registration.
2727         * registryd/registry.c : changed de-registration procedure to
2728         use CORBA_Object_hash() to find matching object ref in application
2729         lists and listener lists.
2730         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
2731         began distinguishing between event types (work in progress).
2732
2733 2001-08-13  Bill Haneman <bill.haneman@sun.com>
2734
2735         CHANGES:
2736         * libspi/application.c:
2737         Added implementations for get/set id, get_toolkitName,
2738         get_version.
2739         * registryd/registryd.c :
2740         * test/at.c :
2741         * test/app.c :
2742         * Makefile.am :
2743         Converted from use of OAF to bonobo-activation.
2744         * libspi/desktop.h :
2745         * libspi/desktop.c :
2746         * test/app.c :
2747         Removed references to atksimpleobject, since base atkobject
2748         implementation now provides functionality we need.
2749         * libspi/atksimpleobject.c :
2750         * libspi/atksimpleobject.h :
2751         Removed.
2752         
2753         ADDITIONS:
2754         * at-bridge
2755         * at-bridge/Makefile.am
2756         * at-bridge/bridge.c
2757         * configure.in
2758         * Makefile.am
2759         Added directory "bridge" and contents, and added dependencies
2760         in Makefile.am/configure.in.  
2761         Initial checkin of "at-bridge".
2762         This code is a GTK_MODULE which automatically registers
2763         GTK+ apps with the accessibility registry, using an object
2764         reference to the root ATK object.
2765         
2766 2001-08-10  Mark McLoughlin <mark@skynet.ie>
2767
2768         * po/Makefile.in.in: Remove. Again. If this
2769         doesn't get autogenerated - you need to update
2770         gnome-common.
2771
2772 2001-08-07  Mark McLoughlin <mark@skynet.ie>
2773
2774         * po/Makefile.in.in: Add. Again.
2775
2776 2001-07-31  Bill Haneman <bill.haneman@sun.com>
2777
2778         * libspi/accessible.c : added support for 'description' property.
2779         * libspi/accessible.c
2780         * libspi/desktop.c
2781         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
2782             (since the two are now equivalent in libbonobo)
2783         * idl/Action.idl
2784         * idl/Component.idl
2785         * idl/Hyperlink.idl
2786         * idl/Image.idl
2787         * idl/Selection.idl
2788         * idl/Table.idl
2789         * idl/Text.idl
2790         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
2791              Bonobo::Unknown as does Accessibility::Accessible.
2792         * idl/StreamableContent.idl : as above, and replaced internal InputStream
2793              interface with Bonobo::Stream, since it was redundant with it.
2794              (The Stream returned by a StreamableContext object is expected to
2795              implement only a subset of Bonobo::Stream)
2796
2797 2001-07-28  Anders Carlsson  <andersca@gnome.org>
2798
2799         * libspi/accessible.c (accessible_object_finalize): Change
2800           g_free to g_object_unref since the AtkObject is a GObject.
2801
2802 2001-07-30  Bill Haneman <bill.haneman@sun.com>
2803
2804         * idl/Accessibility.idl: add new IDL files
2805         
2806         Added:
2807         * idl/Action.idl: Definitions of actionable UI object
2808         * idl/Component.idl: Definitions of UI component geometry, etc.
2809         * idl/Hyperlink.idl: Defs of hyperlink behavior
2810         * idl/Image.idl: Def of accessible image
2811         * idl/Selection.idl: Definition of UI object with selectable children
2812         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
2813         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
2814         * idl/Text.idl: Interface defs for UI elements with complex textual content
2815         * idl/Value.idl: Definition of UI element that is a value controller or display
2816         
2817 2001-07-27  Michael Meeks  <michael@ximian.com>
2818
2819         * po/Makefile.in.in: remove autogenerated file from CVS.
2820
2821         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
2822         type library.
2823
2824         * idl/Registry.idl: include guard.
2825
2826         * idl/Accessibility.idl: Add, and include all the other IDL
2827         files.
2828
2829         * idl/*.idl: remove mass of pragmas etc.
2830
2831 2001-07-26  Michael Meeks  <michael@ximian.com>
2832
2833         * registryd/Makefile.am (registryd_SOURCES): remove
2834         redundant at_.
2835
2836 2001-07-27  Mark McLoughlin <mark@skynet.ie>
2837
2838         * libspi/.cvsignore, registryd/.cvsignore,
2839           test/.cvsignore: updated.
2840
2841         * po/Makefile.in.in: gettext update.
2842
2843 2001-07-25  Bill Haneman <bill.haneman@sun.com>
2844
2845         * initial CVS checkin
2846
2847 2001-06-29  Michael Meeks  <michael@ximian.com>
2848
2849         * configure.in: add AM_CONFIG_HEADER to gen config.h
2850
2851         * acconfig.h: add.
2852