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