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