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