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