1 2001-12-09 Bill Haneman <bill.haneman@sun.com>
4 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
5 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
9 Beefed up a couple of debug printouts.
10 One-line fix for signal notification name formatting.
12 * libspi/accessible.c:
13 Added assertion to spi_accessible_new ().
15 * libspi/application.c:
16 Put #ifdef qualifiers around a printf.
19 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
21 * registryd/Makefile.am:
23 Replaces use of XML_I18N_MERGE_SERVER_RULE with
24 INTLTOOL_SERVER_RULE macro.
27 Added an event listener for several ATK signals, for
28 testing and debugging. Removed a few g_warnings.
29 Added test output if focussed item implements the Value interface.
32 Added test_value () function (known not to pass at the moment, so
33 not actually called yet.
35 2001-12-08 Michael Meeks <michael@ximian.com>
37 * at-bridge/bridge.c (bridge_focus_tracker),
38 (emit_eventv): fix the same ref. leak.
39 (register_atk_event_listeners): don't leak.
41 * cspi/spi-listener-impl.c (cspi_event): more
42 protection from client code.
44 * test/test-simple.c (test_desktop): unref the app.
46 * test/Makefile.am: upd. TESTS.
48 * at-bridge/bridge.c (bridge_exit_func): release the registry.
50 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
52 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
54 * cspi/spi_registry.c: constify in strings.
55 (deregisterGlobalEventListenerAll): don't release the ref.
57 * cspi/spi.h: start removing redundant / conflicting
58 gtkdoc comments, making the API readable at a glance :-)
60 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
62 * test/keysynth-demo.c (keysynth_exit, main): upd.
64 * test/simple-at.c (main, simple_at_exit): upd.
66 * test/test-simple.c (unutterable_horror): kill.
67 (utterable_normal_derefs): kill.
68 (main): upd & do a setenv before gtk_init, so that we
69 can use memprof - and to save the pain of remembering
70 this, if we're running under memprof - don't exit.
72 * cspi/spi_main.c (SPI_exit): return exit status
74 (SPI_event_quit): impl.
75 (SPI_event_main): simplify.
76 (cspi_is_gnome_app): kill.
77 (SPI_init): kill isGNOMEapp arg.
79 * at-bridge/bridge.c (register_atk_event_listeners):
81 (bridge_exit_func): don't re-activate the registry,
82 protect vs. theoretical re-entry, use the
83 AT_BRIDGE_SHUTDOWN env. var to determine whether to
84 assert a clean shutdown - for regression tests.
86 2001-12-08 Abel Cheung <maddog@linux.org.hk>
88 * configure.in: Comment out dummy i18n support for now,
89 otherwise it fails to build.
90 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
91 EXTRA_DIST. They are missing in tarball.
93 2001-12-07 Michael Meeks <michael@ximian.com>
95 * util/magnifier.c: kill bonobo activation reg. race.
98 (impl_accessibility_component_get_extents): make it match
101 * libspi/registry.c (_registry_notify_listeners):
102 re-remove X headers & reconcile conflicts.
103 (spi_listener_struct_free): bad conflict resolve.
104 (impl_accessibility_registry_register_application):
105 more bad merging fixed.
106 (impl_accessibility_registry_deregister_application): ditto.
107 (spi_registry_new): ditto.
108 (spi_registry_init): don't have an applications field.
110 [ merge fixups2 branch to here ]
111 2001-12-07 Michael Meeks <michael@ximian.com>
113 * test/simple-at.c (report_focus_event),
114 (report_focussed_accessible): remove g_warning debug.
116 2001-12-07 Michael Meeks <michael@ximian.com>
118 * test/test-simple.c (validate_tree): comment out some checks.
119 (test_desktop): app now not registered idly - horay.
121 2001-12-07 Michael Meeks <michael@ximian.com>
123 * cspi/spi_registry.c
124 (registerAccessibleKeystrokeListener): clean, stop it leaking
125 great swathes of memory, and device event controller references.
126 ensure we always pass valid sequences.
127 (deregisterAccessibleKeystrokeListener): ditto.
128 (generateKeyEvent): upd.
130 * at-bridge/bridge.c (bridge_key_listener): handle
131 registry dead exception gracefully.
132 (bridge_focus_tracker, emit_eventv): free ev.
134 * test/simple-at.c (report_focus_event): fix polarity.
136 * libspi/application.c (notify_listeners): kill the ev
137 argument, and make sure we init the ev we use.
138 (spi_application_object_event_listener): split out a chunk
139 (get_atk_object_ref): here & fixup.
140 (reverse_lookup_name_for_toolkit_event): make const.
141 (spi_application_toolkit_event_listener): fixup, kill leaks
144 * at-bridge/bridge.c (register_atk_event_listeners):
145 don't unref the noop object - causes grief.
147 * libspi/registry.c: remove the X headers.
148 turn off the debug churn.
150 * libspi/accessible.c (spi_accessible_new_return): only
151 release the ref if we are supposed to [doh]
153 * test/simple-at.c (report_button_press, report_focus_event):
154 guard vs. unexpected exit.
156 * at-bridge/bridge.c (gtk_module_init): prune printf.
157 (bridge_exit_func): fix app unref.
159 * libspi/Makefile.am: don't install registry or desktop.h
161 * libspi/*.h: update includes.
163 * libspi/application.h: don't include ourself, or
164 other redundant headers.
166 2001-12-06 Michael Meeks <michael@ximian.com>
168 * libspi/accessible.c
169 (get_accessible_from_servant): impl.
170 Upd. all CORBA impl.s to use it killing cut and paste.
172 * cspi/spi_main.c (cspi_cleanup): guard vs. double
174 (SPI_init): register atexit cleanup handler here.
176 2001-12-06 Michael Meeks <michael@ximian.com>
178 * at-bridge/bridge.c (gtk_module_init): g_error on
181 2001-12-06 Michael Meeks <michael@ximian.com>
183 * at-bridge/bridge.c (gtk_module_init): some sort of
184 confusing merge clash - reverted.
185 (bridge_idle_init): ditto.
187 * test/test-simple.c (main, utterable_normal_derefs):
188 merge from Bill - somehow not committed.
190 2001-12-06 Michael Meeks <michael@ximian.com>
192 * libspi/value.c (spi_value_class_init): upd.
193 (spi_value_finalize): kill.
195 * libspi/table.c (spi_table_finalize): kill.
196 (spi_table_interface_new): upd.
197 (spi_table_class_init): upd.
198 (get_table_from_servant): impl.
199 Upd. all CORBA impl.s to use it killing yet more cut and paste.
201 * libspi/selection.c (spi_selection_finalize): kill.
202 (spi_selection_interface_new): upd.
203 (spi_selection_class_init): upd.
204 (get_selection_from_servant): impl.
205 Upd. all CORBA impl.s to use it killing yet more cut and paste.
207 * libspi/relation.c (spi_relation_finalize): kill.
208 (spi_relation_class_init, spi_relation_new): upd
210 * libspi/image.c (spi_image_finalize): kill.
211 (spi_image_class_init): upd.
212 (spi_image_interface_new): upd.
213 (get_image_from_servant): impl.
214 Upd. all CORBA impl.s to use it killing yet more cut and paste.
216 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
217 (spi_hyperlink_finalize): kill.
218 (spi_hyperlink_new): upd.
219 (get_hyperlink_from_servant): impl.
220 Upd. all CORBA impl.s to use it killing yet more cut and paste.
222 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
223 (spi_hypertext_finalize): kill.
224 (spi_hypertext_class_init): upd.
225 (get_hypertext_from_servant): impl.
226 Upd. all CORBA impl.s to use it killing yet more cut and paste.
228 * libspi/editabletext.c (spi_editable_text_finalize): kill.
229 (spi_editable_text_interface_new): upd.
230 (get_editable_text_from_servant): impl.
231 Upd. all CORBA impl.s to use it killing yet more cut and paste.
233 * libspi/text.c (get_text_from_servant): impl.
234 All impls - update to use it killing more cut and paste,
235 also fix bad string returns on duff args ( a somewhat
236 impossible case to handle - but hey ).
237 (spi_text_construct): impl.
238 (spi_text_interface_new): upd.
239 (spi_text_object_finalize): kill.
242 (accessibility_component_object_finalize): kill.
243 (spi_component_class_init): upd.
244 (get_component_from_servant): impl. helper to kill cut & paste.
245 (impl_accessibility_component_contains):
246 (impl_accessibility_component_get_accessible_at_point):
247 (impl_accessibility_component_get_position):
248 (impl_accessibility_component_get_extents):
249 (impl_accessibility_component_get_mdi_z_order):
250 (impl_accessibility_component_get_layer):
251 (spi_component_interface_new): upd.
253 * libspi/action.c (spi_action_finalize): kill.
254 (spi_action_class_init): upd. inherit from SpiObject.
255 (spi_action_interface_new): upd.
256 (get_action_from_servant): impl. helper to reduce cut & paste.
257 (impl_getKeyBinding, impl_getName, impl_doAction),
258 (impl_getDescription): Use it everywhere.
260 * cspi/spi_main.c (get_live_refs): a pointer hash.
261 (spi_object_hash, spi_object_equal): comment out.
262 There are issues with CORBA object hashing that need
265 * libspi/application.c (spi_application_init),
266 (spi_application_new): upd.
268 * libspi/accessible.c (spi_accessible_object_finalize): kill.
269 (spi_accessible_class_init): upd.
270 s/accessible/object/ in epv methods.
272 2001-12-05 Bill Haneman <bill.haneman@sun.com>
274 * at-bridge/bridge.c:
275 Reorder the bridge initialization into the bridge gtk_module_init,
276 an immediate call to bridge_register_app, and an idle_add for
277 register_atk_event_listeners (the only code that *must* wait until
278 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
279 the activation, creates the application's Accessible object, and
280 queues the bridge_idle_init function. Restored call to
281 Accessibility_Registry_deregisterApplication().
282 Prior to making this call we obtain a new reference to the
283 registry, which is a temporary hack that helps us handle apps that
284 shut down the bonobo mainloop before we get there.
287 Fix string leakage in debug block, and don't segv if a an app
288 dies before its event notifications have been propagated.
291 Modify cspi_check_ev() to call g_warning() rather than g_error(),
292 as stopgap measure until we get proper exception handling when
293 objects die during or before interrogation.
297 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
298 Also changed default value of is_gnome_app to TRUE.
301 * test/keysynth-demo.c:
302 Changed use of SPI_init and SPI_event_main to reflect API change above.
305 Made report_focus_event check the warning value from getName
306 before reporting on focussed accessible; simplifies handling of
307 notifications from dead objects.
309 * test/test-simple.c: (Changes not in this patch since source is
312 2001-12-05 Michael Meeks <michael@ximian.com>
314 * registryd/registryd.c (main): protect against
315 bonobo-activation startup race condition.
317 * cspi/spi_main.c (cspi_object_add_check): cope
318 with the exception elegantly.
320 * idl/Accessible.idl: decl. ChildGone
322 * libspi/desktop.c (spi_desktop_dispose): impl.
323 (spi_desktop_class_init): upd.
324 (spi_desktop_add_application),
325 (spi_desktop_remove_application),
326 (abnormal_application_termination): impl.
327 (impl_desktop_get_child_at_index): re-impl.
330 (impl_accessibility_registry_deregister_application),
331 (impl_accessibility_registry_register_application):
332 kill excessive debug clutter.
334 * test/test-simple.c (test_misc): test some NULL
335 tolerance. (main): upd.
337 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
338 implements no interfaces - so let's not crash.
340 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
342 * libspi/accessible.c (spi_accessible_new_return): impl.
343 helper to calm the cut and paste, to cope with
344 NULL AtkObjects effectively and efficiently, and to kill
345 the referencing bugs.
347 * libspi/table.c (impl_getAccessibleAt),
348 (impl_getRowHeader, impl_getColumnHeader): upd.
350 * libspi/hyperlink.c (impl_getObject): upd.
352 * libspi/accessible.c
353 (impl_accessibility_accessible_get_child_at_index): upd.
356 (impl_accessibility_component_get_accessible_at_point): upd.
358 * test/test-simple.c (test_editable_text, test_text): impl.
361 * cspi/spi_editabletext.c
362 (AccessibleEditableText_insertText): constify.
364 * test/test-simple.c (focus_me): make more robust.
366 * libspi/accessible.c: remove some printfs in methods that
367 we test and work fine, so we can get a clean tree dump.
369 * test/test-simple.c (validate_accessible),
370 (validate_tree): make tree dumping pretty too.
372 * at-bridge/bridge.c (bridge_signal_listener): upd. so
373 it builds without debug on.
375 * test/test-simple.c (validate_accessible): fix the most
378 * cspi/spi_main.c (spi_object_release): leave the nicely
379 blanked memory around if in debug mode.
381 * cspi/spi-listener-impl.c (cspi_event): use add_check.
383 [committed to fixups2]
384 2001-12-05 Michael Meeks <michael@ximian.com>
386 * libspi/editabletext.c
387 (spi_editable_text_class_init): g_type_class_peek_parent,
388 not interface peek - so we finalize cleanly.
390 * libspi/accessible.c (spi_accessible_new): kill debug.
392 * test/test-simple.c (validate_accessible): fix ref.
393 leak, print strings before freeing them; sigh, comment a
394 chunk out due to strangeness.
395 (validate_tree): unref the child after use.
397 * cspi/spi_component.c (AccessibleComponent_getLayer):
398 add missing break statement, switch on zlayer not the
399 uninitialized retval.
401 * cspi/spi_main.c (cspi_object_add): add assert, local ref
402 before (possibly re-entering) remote unref.
404 * test/simple-at.c (main): unref the desktop.
406 * cspi/spi_accessible.c (cspi_accessible_is_a): move
409 * cspi/spi_main.c (cspi_accessible_is_a): here to
410 isolate bonobo API usage more.
412 * libspi/registry.c (impl_accessibility_registry_register_application):
415 2001-12-04 Michael Meeks <michael@ximian.com>
417 * test/test-simple.c (validate_tree): upd.
418 IndexInParent check to make it more lucid.
419 (validate_accessible): dump the tree.
421 * libspi/accessible.c (de_register_public_ref),
422 (get_public_refs): impl.
423 (spi_accessible_new): make more efficient & intuitive.
424 Now IndexInParent check works.
426 2001-12-04 Michael Meeks <michael@ximian.com>
428 * cspi/spi-util.h: remove.
430 * cspi/spi.h: move SPI_freeString here
432 * libspi/component.c (impl_accessibility_component_get_layer):
434 (impl_accessibility_component_get_mdi_z_order): ditto,
435 return -1 on error - is this ok ?
437 * test/test-simple.c (test_application): impl.
439 * cspi/spi_accessible.c (Accessible_getApplication),
440 (Accessible_isApplication): impl.
442 * libspi/registry.c (spi_listener_struct_free): release
443 the CORBA reference too.
445 * libspi/accessible.c
446 (impl_accessibility_accessible_get_parent): fix ref leak.
448 * libspi/registry.c (spi_registry_new): make the registry
449 immortal - we don't want it to go away ever.
451 * libspi/application.c
452 (spi_accessible_application_finalize): impl. cleanup.
454 * cspi/spi_registry.c
455 (deregisterGlobalEventListenerAll),
456 (deregisterGlobalEventListener),
457 (deregisterAccessibleKeystrokeListener): fix ref leak.
459 * cspi/spi_main.c (SPI_init): remove redundant ref.
461 * test/test-simple.c (unutterable_horror): impl. to force a
466 (impl_accessibility_registry_deregister_application): release
467 the application when we de-register it.
469 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
470 until we have the infastructure to get it right.
472 2001-12-03 Michael Meeks <michael@ximian.com>
474 * libspi/Makefile.am: only build eventlistener.[ch]
476 * libspi/accessible.c
477 (impl_accessibility_accessible_get_child_at_index): don't leak.
479 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
480 before we hit the idle handler.
482 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
485 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
487 * libspi/listener.c (impl_notify_event): check source
488 not NIL before unref.
490 * libspi/registry.c (impl_registry_notify_event): ditto.
492 * libspi/eventlistener.c
493 (impl_accessible_event_notify_event): unref the source.
495 * libspi/accessibleeventlistener.c
496 (impl_accessible_event_notify_event): unref the source.
498 * idl/Event.idl: remove 'hash_id' attribute - of no
501 * libspi/application.c (notify_listeners): upd list
503 (spi_application_object_event_listener),
504 (spi_application_toolkit_event_listener): upd to do correct
508 (_registry_notify_listeners): update.
509 (parse_event_type): this method also leaks like a sieve.
510 (impl_accessibility_registry_deregister_global_event_listener):
511 fix ETYPE_WINDOW case.
513 * libspi/application.c
514 (impl_accessibility_application_register_object_event_listener):
517 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
519 * libspi/hypertext.c (impl_getLink): ditto.
521 * cspi/spi_main.c (cspi_object_add): remove
522 bogus CORBA_Object_duplicate.
524 * cspi/spi-listener-impl.c (cspi_event): dup/ref
527 * cspi/spi_accessible.c
528 (Accessible_getRelationSet): fix leak / referencing issue.
530 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
531 (cspi_object_add, cspi_object_unref): upd.
532 (spi_object_release, get_live_refs): impl.
533 (cspi_cleanup): simplify.
535 * *.[ch]: s/boolean/SpiBoolean/
537 * cspi/spi_accessible.c (role_names): actualy order so it
538 corresponds with the enum !
540 * test/test-simple.c (test_roles): check some role strings
541 vs. enums to detect offset errors.
543 2001-12-01 Michael Meeks <michael@ximian.com>
545 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
547 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
549 (Accessible_getChildAtIndex): use cspi_add_check so we
550 check the ev before using a (possibly) invalid value.
552 * libspi/accessible.c
553 (impl_accessibility_accessible_get_parent): don't segv
556 * at-bridge/bridge.c (gtk_module_init): upd.
557 (bridge_property_event_listener): don't leak strings
559 (bridge_state_event_listener),
560 (bridge_property_event_listener): don't use a static
561 buffer in case of recursive event emission &
562 re-enterancy - split out the swathe of cut and paste
564 (emit_eventv): and fix 2 ref leaks here & comply to the
566 (bridge_register_app): rename to
567 (bridge_idle_init): this and kill arg parsing, split
568 various inits & bonobo-activation registration to module
569 init time, kill referencing error.
570 (bridge_exit_func): fix the same leak.
571 (bridge_focus_tracker): don't leak event structures
573 (bridge_signal_listener): more leakage and cut & paste
575 (bridge_key_listener): return the result - FIXME is
576 this polarity correct ?
577 (accessibility_keystroke_from_atk_key_event): rename
578 (accessibility_init_keystroke_from_atk_key_event): and stop
580 (gtk_module_init): return a value - not that it is checked by
582 (bridge_key_listener): register my horror at casting between
584 (bridge_get_registry): kill - not used.
586 * cspi/spi_accessible.c (Accessible_getRole): make return const.
588 * test/test-simple.c (test_roles): impl.
589 (test_desktop, validate_accessible, validate_tree): impl.
591 * cspi/spi_accessible.c (role_names): fixup bogus
592 MAX_ROLES setup, make constants const for efficient linkage
593 (AccessibleRole_getName): conform to coding style, make
596 2001-11-30 Michael Meeks <michael@ximian.com>
598 * cspi/spi.h: add missing prototype.
600 * libspi/registry.c (spi_listener_struct_new): fix sig.
602 * test/Makefile.am: add test-simple
604 * test/test-simple.c: add
608 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
610 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
611 do it straight - since otherwise we often get an activation race.
613 [ work before Bill duplicated a chunk of it ... ]
614 2001-11-30 Michael Meeks <michael@ximian.com>
616 * libspi/keystrokelistener.c
617 (spi_keystroke_listener_class_init): fixup arg
620 * libspi/eventlistener.c
621 (spi_event_listener_class_init): ditto.
623 * tests/test.sh: add.
625 * cspi/spi-listener-impl.h: update macros.
627 * cspi/spi-listener-impl.c
628 (cspi_event_listener_remove_callback): add
629 correct pre-conditions.
631 * cspi/spi_main.c (SPI_exit): guard vs. double
632 exits, exit the mainloop nicely.
633 (SPI_event_main): make more sense.
634 (SPI_init): move the atexit evilness here so we
636 (SPI_event_main): upd.
638 * test/simple-at.c: update for listener changes.
640 * registryd/registryd.c (main): prune kruft.
642 * libspi/libspi.h: upd.
644 * libspi/eventlistener.[ch]: rename broken macros.
646 * libspi/accessibleeventlistener.[ch]: remove.
648 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
650 * test/test-simple.c: Add - automated tests.
652 * cspi/spi-listener-impl.c (cspi_event),
653 (cspi_key_event): add user_data to invoke.
654 (cspi_keystroke_listener_finalize): impl.
655 (cspi_keystroke_listener_class_init): upd.
658 (createAccessibleEventListener),
659 (AccessibleEventListener_addCallback),
660 (createAccessibleKeystrokeListener),
661 (AccessibleKeystrokeListener_addCallback): upd.
663 * libspi/deviceeventcontroller.c
664 (spi_device_event_controller_check_key_event): add public proto.
667 (impl_accessibility_registry_deregister_global_event_listener):
668 always init listeners.
669 (_registry_notify_listeners): yes it is.
671 * cspi/spi-listener-impl.c (cspi_key_event):
673 (cspi_event_listener_finalize): impl.
674 (cspi_event_listener_class_init): hook up.
675 (event_handler_new, event_handler_free),
676 (event_list_remove_by_callback): impl.
677 (cspi_event_listener_remove_callback),
678 (cspi_keystroke_listener_remove_callback),
679 (cspi_keystroke_listener_add_callback),
680 (cspi_event_listener_add_callback): upd.
682 * libspi/keystrokelistener.c
683 (keystroke_listener_object_finalize): kill
684 (spi_keystroke_listener_class_init): upd.
685 (spi_keystroke_listener_add_callback),
686 (spi_keystroke_listener_remove_callback): kill,
688 (impl_key_event): prune drasticaly.
690 * libspi/eventlistener.c
691 (spi_event_listener_add_callback),
692 (spi_event_listener_remove_callback): kill, use
694 (impl_accessible_event_notify_event): upd.
695 (spi_event_listener_object_finalize): remove.
697 * libspi/Makefile.am: use eventlistener.[ch]
699 2001-12-04 Bill Haneman <bill.haneman@sun.com>
701 * libspi/registry.c (_registry_notify_listeners):
702 Changed listener loop iteration to use preferred convention.
703 Got rid of string memory leaks caused be calling g_strconcat
704 inside function calls.
706 * libspi/registry.c (parse_event_type):
707 Stopped g_strconcat memory leaks, free the g_strsplit return,
708 g_strdup the split pieces when used, etc.
710 2001-12-04 Bill Haneman <bill.haneman@sun.com>
713 Change method 'compare' to return a 'difference set' rather than
714 taking a StateSet as an out parameter (more Java-friendly).
716 * idl/Accessible.idl:
717 Added CORBA struct 'BoundingBox', to faciliate API changes below:
721 Changed methods 'getExtents' and 'getImageExtents' in these
722 interfaces to return a BoundingBox structure.
723 (getPosition and getSize are redundant and possibly should be
724 removed, rather than creating a corresponding Point struct.)
726 * cspi/spi_component.c:
727 Modify implementation of getExtents to reflect the above IDL
732 Add (missing) AccessibleImage_getExtents () API.
734 * docs/reference/cspi/at-spi-cspi-sections.txt:
735 Added AccessibleImage_getImageExtents () to docs.
737 2001-12-03 Bill Haneman <bill.haneman@sun.com>
740 Added two methods, getLayer () and getMDIZOrder (), to reflect
741 the new ATK methods atk_object_get_layer and
742 atk_object_get_mdi_z_order. (Which arguably should be part of the
743 AtkComponent API and AtkObject). Also added an enum,
744 ComponentLayer, for the first method's return value.
746 * libspi/component.c:
747 Added implementations for these methods.
749 * cspi/spi_component.c:
751 Added cspi binding methods for above,
752 AccessibleComponent_getLayer() and
753 AccessibleComponent_getMDIZOrder().
754 Added cspi enum 'AccessibleComponentLayer'.
756 * docs/reference/cspi/at-spi-cspi-sections.txt:
757 Added above methods to docs.
761 Changed typedef for 'boolean' type (and all references to it) to
762 SPIBoolean, to avoid keyword clashes with C++.
765 Changed usages of 'boolean' to SPIBoolean.
767 * test/keysynth-demo.c:
768 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
769 app), except where SPIBoolean is required by the callbacks API.
771 2001-12-02 Bill Haneman <bill.haneman@sun.com>
773 * cspi/spi_registry.c:
774 Removed obsolete X event loop for passive keygrabs (which now
777 * registryd/registryd.c:
778 Removed unnecessary call to gdk_init() [cruft]. This also allows
779 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
782 2001-11-28 Bill Haneman <bill.haneman@sun.com>
784 * docs/reference/cspi:
785 Included docs for SPI_freeString in generated documentation.
788 Renamed spi_freeString to SPI_freeString, for consistency. Added
789 documentation for this function.
792 Renamed spi_freeString to SPI_freeString, for consistency.
793 Removed obsolete method declaration string_from_corba_string.
795 * test/keysynth-demo.c:
796 Small tweak to comments.
799 Stopped leaking the strings returned from CSPI.
801 2001-11-28 Bill Haneman <bill.haneman@sun.com>
803 Merged Michael's branch (see his ChangeLog entries below).
805 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
806 bridge is alive, release on exit.
808 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
809 Fix type check macro.
812 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
815 Added is_gnome_app static, and method cspi_is_gnome_app(),
816 so we can call the appropriate shutdown routine at exit in SPI_exit.
818 * cspi/spi_main.c (cspi_object_ref):
819 Duplicate the corba object passed in, since we're keeping it around.
821 * cspi/SPI_exit.c, cspi_cleanup:
822 Moved the releasing of the live refs to its own function, so we
823 can put it in g_atexit (). Call the appropriate shutdown API
824 depending on whethe calling client is a gnome app or not
825 (bonobo_main_quit or CORBA_ORB_shutdown).
827 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
828 Unref the listener when this method is called, after
829 deregistration. Updated the API docs to note this behavior.
831 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
832 Bugfixes: Ref the bonobo object when returning a parent or child
833 reference, or an AccessibleRelation. Generally made sure
834 BonoboObject refcount is incremented whenever we return an
837 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
838 Fixed typo/bug in signal declaration.
840 * libspi/accessibleeventlistener.h:
843 * libspi/application.c (spi_application_new):
844 Fixed leak in initialization.
847 Remembered to increment bonobo-object refcount when returning
848 children (applications) from desktop object.
849 Added (empty) finalize method.
851 * libspi/deviceeventcontroller.c:
852 Hold a ref to listeners inside DEControllerKeyListeners.
853 Added dec_key_listener_free() method. Use prepend instead of
854 append in key_listener list. Fixed some refcount madness and
855 leaks in the listener registration/deregistration - deregistration
856 now calls dec_key_listener_free() on listeners, and on the
857 temporarily constructed dec_key_listener() used to perform the search/match.
859 * libspi/hypertext.c (spi_hypertest_finalize):
860 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
861 class. Also fixed spi_hypertext_interface_new() and
862 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
864 * libspi/hypertext.h:
865 Removed pointless and duplicate AtkObject pointer from
868 * libspi/keystrokelistener.c:
869 Fixed incorrect type of keystroke_listener_parent_class,
870 renamed keystroke_listener_object_finalize to
871 spi_keystroke_listener_object_finalize.
872 Fixed typo in signal declaration
873 (spi_keystroke_listener_class_init).
876 Added funcsions spi_listener_struct_new() and
877 spi_listener_struct_free() to help with memory management issues.
878 We also now use these methods instead of gnew + poking stuff into
879 the struct, and to decrement listener counts/free the listeners
880 when deregistering them.
881 Fix more refcount bugs in getDesktop() and
882 getDeviceEventController().
885 De-ref the desktop after enumerating the applications. Explicitly
886 decrement the refcounts on the created listeners on exit (using
887 _unref for keystroke listeners, and via the
888 deregisterGlobalEventListenerAll command for other event
891 2001-11-27 Michael Meeks <michael@ximian.com>
893 * cspi/spi-listener.h: fixup enum.
895 2001-11-27 Michael Meeks <michael@ximian.com>
897 * cspi/spi-listener-impl.c (cspi_event_listener_new),
898 (cspi_keystroke_listener_new): Use the cspi variants.
900 2001-11-26 Michael Meeks <michael@ximian.com>
902 * test/keysynth-demo.c: fix 2 compile warnings, missing
905 * test/simple-at.c (report_focussed_accessible),
906 (report_focus_event, report_button_press),
907 (check_property_change, is_command_key),
908 (report_ordinary_key_event, report_command_key_event): upd.
910 * util/mag_client.h: include pre-requisites.
912 * libspi/accessibleeventlistener.c
913 (spi_event_listener_object_finalize): free any lingering
916 * libspi/keystrokelistener.c
917 (keystroke_listener_object_finalize): ditto.
919 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
920 callbacks, with cspi types.
922 * cspi/spi_event.c (createAccessibleEventListener): chain to
923 (AccessibleEventListener_addCallback): here.
924 (createAccessibleKeystrokeListener): chain to
925 (AccessibleKeystrokeListener_addCallback): here.
927 * libspi/keystrokelistener.c
928 (spi_keystroke_listener_class_init): add signal.
929 (impl_key_event): emit the event.
930 (boolean_handled_accumulator): impl.
931 (marshal_BOOLEAN__POINTER): add, gack.
933 * libspi/accessibleeventlistener.c
934 (spi_event_listener_class_init): add signal.
935 (impl_accessible_event_notify_event): emit the signal &
936 make the loop efficient.
937 (spi_event_listener_add_callback): prepend the callback.
939 * libspi/accessibleeventlistener.h: add an 'event' signal,
940 decl type on callback.
942 * libspi/keystrokelistener.h: ditto.
944 * cspi/spi-listener.h: make methods typesafe and
945 make them use the new event typedefs.
947 * test/simple-at.c (report_focussed_accessible):
949 Use *(void *)text_interface not the other thing.
951 * configure.in: add gtk to registryd bits - since we use
954 * util/magnifier.c: include libbonobo.h
956 2001-11-25 Bill Haneman <bill.haneman@sun.com>
958 * test/keysynth-demo.c:
959 Turned this into a simple scanning keyboard, to demonstrate the
960 use of g_timeout_add () as a means of creating timers for
961 scanning, and the use of GtkStyle for visually indicating when
962 virtual keyboard elements are selected.
964 keysynth-demo now listens to any keyboard keys with zero-valued
965 keycodes (i.e. 'unused' keys) and interprets them as
968 Reworked the shiftlatch code so that shift-down state isn't held
969 for long periods (it's only synthesized immediately prior to
970 the keysynth event it's modifying). Note that shiftlatch in this
971 demo is a convenience, not intended to take the place of AccessX
972 which is the better choice for getting 'sticky' modifier keys.
974 * libspi/deviceeventcontroller.c:
975 * at-bridge/bridge.c:
976 * cspi/spi_registry.c:
977 Removed some debug print stuff, and put other verbosity in #ifdef
982 Implemented some more of the magnifier IDL for the simple
983 magnifier: namely, getZoomRegionParams.
984 Added mag_x and mag_y members to MagnifierData struct, aid of this
986 Added GtkWindow::realize signal handler to magnifier, to keep it
987 from receiving keyboard focus from the WM.
989 2001-11-23 Mark McLoughlin <mark@skynet.ie>
991 * cspi/spi-private.h: my guess at what michael forgot
992 before he ran off to NZ :-)
994 2001-11-23 Michael Meeks <michael@ximian.com>
996 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
997 comment out non existant method invoke so we link.
999 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1000 use bonobo_exception_get_text for more friendly warnings.
1002 * cspi/spi.c (Obj_Add): move into spi_main & rename
1003 spi_object_add; kill spi.c
1005 * cspi/spi_registry.c
1006 (deregisterGlobalEventListener),
1007 (deregisterGlobalEventListenerAll),
1008 (registerGlobalEventListener): fix exception leaks.
1010 * cspi/spi_main.c (spi_exception): impl. helper, so we
1011 don't leak exceptions.
1013 * cspi/spi_selection.c
1014 (AccessibleSelection_deselectSelectedChild): return the
1017 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1018 (spi_registry): ditto.
1019 (SPI_init): guard against double inits.
1021 * cspi/*.c: use spi_ev (), and spi_registry () where
1022 appropriate - a temporary hack until we have something
1023 better. Use spi_object_add
1025 2001-11-22 Michael Meeks <michael@ximian.com>
1027 * cspi/Makefile.am: re organise, install the headers.
1029 * cspi/*.h: add G_BEGIN/END_DECLS
1031 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1034 Added non-preemptive keylistener for key events with no modifiers
1035 and shift-only modifier.
1037 * libspi/keystrokelistener.c:
1038 Removed some verbose diagnostics printout.
1040 * cspi/spi_registry.c:
1041 Fixed a bug that caused all key listeners to be registered as
1044 * libspi/deviceeventcontroller.c:
1045 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1046 for non-preemptive key masks.
1049 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1051 * docs/reference/idl/at-spi-idl-docs.sgml:
1052 * docs/reference/idl/at-spi-idl-sections.txt:
1053 * docs/reference/idl/at-spi-idl-overrides.txt:
1054 Added missing files.
1056 * docs/reference/Makefile.am:
1057 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1058 to scan the IDL files :-(
1063 Added .cvsignore files.
1065 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1067 * libspi/deviceeventcontroller.c:
1068 * libspi/keystrokelistener.c:
1070 * cspi/spi_registry.c:
1071 Added filters for KeySets, KeyEventSeq, and event types to key
1072 event dispatching, so listeners should only receive those events
1073 that they requested :-)
1075 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1080 * docs/reference:Makefile.am:
1081 * docs/reference/cspi:
1082 * docs/reference/cspi:Makefile.am:
1083 * docs/reference/cspi:tmpl:
1084 * docs/reference/cspi:tmpl:*.sgml:
1085 * docs/reference/idl:
1086 * docs/reference/idl:Makefile.am:
1087 * docs/reference/idl:at-spi-idl-sections.txt:
1088 * docs/reference/idl:at-spi-idl-docs.sgml:
1089 * docs/reference/idl:tmpl:
1090 * docs/reference/idl:tmpl:*.sgml:
1092 Restructured docs directory to allow separate 'reference' docs
1093 section, and forked idl and cspi docs. Added the sgml template
1094 files to CVS. Added the first sections/structural sgml for the
1097 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1099 * configure.in, libspi/Makefile.am: find libXtst.
1101 2001-11-21 Michael Meeks <michael@ximian.com>
1103 * test/accessx-gui.c: s/spi_value/value/ - doh.
1105 * libspi/base.[ch]: add.
1107 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1109 * idl/Accessible.idl:
1110 * idl/Application.idl:
1113 Started gtk-doc cleanup on IDL.
1115 * libspi/deviceeventcontroller.c:
1116 Added and connected non-preemptive key notification from the
1117 toolkits (in addition to the pre-emptive support from XServer
1118 which we had before, but which causes 'focus flashing'). Filters
1119 are presently limited to key modifiers and global/non-global,
1120 KeySets are presently ignored, as are KeyEvent masks.
1122 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1123 structs into the persistant structure rather than just storing
1124 pointers to things that might not persist across servant
1127 The XGrabKey call now does async keygrabs, because synchronous
1128 ones were deadlocking with GDK_event code in a very nasty way.
1130 Added boolean to internal method notify_keylisteners, to indicate
1131 whether the event came from the 'toolkit source' or the 'global
1132 (XServer) source' - this is used in the notification process to
1133 determine which listeners to send the event to.
1135 deviceeventcontroller.c is now warning-free.
1137 * libspi/registry.c:
1138 Fixed regression in application de-registration.
1139 Also fixed some really brain-dead weirdness having to do with
1140 event dispatching - event structs are now duplicated before being
1141 re-marshalled in the dispatch to listeners. This also fixes a
1142 Solaris build problem.
1145 2001-20-11 Michael Meeks <michael@ximian.com>
1148 (impl_accessibility_registry_deregister_global_event_listener):
1151 * libspi/deviceeventcontroller.c
1152 (spi_device_event_controller_check_key_event): return
1153 FALSE on no virtual method.
1155 * libspi/*..h: make includes work on a correctly pathed install.
1157 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1159 * libspi/application.h: kill unused ( and whacked out )
1160 gboolean *spi_application_set_id (AtkObject *app, long id);
1162 2001-20-11 Michael Meeks <michael@ximian.com>
1164 * libspi/*.[ch]: further convert to bonobo's type func
1165 macros, remove redundnant casts etc.
1167 * libspi/text.c s/accessibility_text/spi_text/g,
1168 re-order to de-cruft.
1170 * libspi/hypertext.c: re-order to kill a huge slew
1171 of redundant forward decls.
1173 * libspi/relation.c: ditto.
1175 * libspi/image.c: ditto.
1177 * */.cvsignore: update
1179 2001-20-11 Michael Meeks <michael@ximian.com>
1181 * libspi/deviceeventcontroller.c
1182 (_controller_register_with_devices): use g_getenv,
1183 kill stdlib.h include.
1185 * libspi/keystrokelistener.c
1186 (spi_keystroke_listener_get_type): kill
1187 (spi_keystroke_listener_class_init),
1188 (spi_keystroke_listener_init): rename to this.
1190 * libspi/text.c (impl_getAttributes): fix warning / bug.
1192 * libspi/*.[ch]: more headers, includes and over commenting.
1194 2001-20-11 Michael Meeks <michael@ximian.com>
1196 * libspi/*.[ch]: fixup headers, includes and over commenting.
1198 * libspi/image.c (impl__get_imageDescription): const
1199 correctness warning fix. remove redundant casting.
1201 * libspi/table.c (impl_getRowDescription): ditto.
1202 (impl_getColumnDescription): ditto.
1204 * libspi/libspi.h: add.
1206 2001-19-11 Michael Meeks <michael@ximian.com>
1208 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1210 * libspi/component.c (accessibility_component_get_type):
1211 rename to (spi_component_get_type): and macroify.
1212 (accessibility_component_init): rename to
1213 (spi_component_init): this
1214 (accessibility_component_class_init): rename to
1215 (spi_component_class_init): this
1217 * libspi/action.c (spi_action_get_type): kill, use the macro.
1219 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1222 * libspi/application.c (spi_application_object_event_listener),
1223 (impl_accessibility_application_register_object_event_listener):
1224 warning fixes / const understanding updates.
1226 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1229 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1231 * libspi/spi_accessible.c: Added docs and C bindings for
1232 AccessibleStateSet. (No implementations yet). Documentation
1233 coverage for C bindings now 100%. Made docs for event listeners
1238 boolean notifyListenersSync (in DeviceEventListener listener,
1239 in DeviceEvent event);
1241 oneway void notifyListenersAsync (in DeviceEventListener listener,
1242 in DeviceEvent event);
1244 Added DeviceEventListener and DeviceEvent structs (may deprecate
1245 KeyStroke and KeystrokeListener in favor of this generic
1246 event/listener framework for devices).
1248 * libspi/deviceeventcontroller.c:
1250 Changed some key listener code to take masks, etc., and paved the
1251 way for integration of toolkit/non-preemptive key events. Changed
1252 signatures of some internal methods.
1254 * at-bridge/bridge.c:
1255 Fixed regression connecting to interface signals, apparently
1256 caused by GTK+ changes.
1258 Added an internal bridge_state_listener to deal with
1259 property-change:accessible-state signals.
1261 Changed the key_listeners GList to store structs (including masks,
1262 etc.) instead of just CORBA_Objects (required for full
1263 implementation of key listener API).
1265 Connected the bridge to all currently supported Atk signals.
1266 Events now supported:
1267 object:property-change
1268 object:property-change:accessible-name
1269 object:property-change:accessible-state
1270 object:property-change:accessible-description
1271 object:property-change:accessible-parent
1272 object:property-change:accessible-value
1273 object:property-change:accessible-role
1274 object:property-change:accessible-table-caption
1275 object:property-change:accessible-table-column-description
1276 object:property-change:accessible-table-column-header
1277 object:property-change:accessible-table-row-description
1278 object:property-change:accessible-table-row-header
1279 object:property-change:accessible-table-summary
1280 object:children-changed
1281 object:visible-data-changed
1282 object:selection-changed
1283 object:text-selection-changed
1285 object:text-caret-moved
1287 object:row-reordered
1289 object:column-inserted
1290 object:column-reordered
1291 object:column-deleted
1292 object:model-changed
1294 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1296 * libspi/hyperlink.c,h:
1297 Fixed some broken stuff in hyperlink.
1299 * libspi/relation.h:
1300 * libspi/relation.c:
1301 * cspi/spi_accessible.c:
1302 Initial implementations of AccessibleRelation methods, and docs.
1304 * libspi/accessible.c:
1305 Fixed a bug that caused SEGV if an accessible
1306 object's description is NULL, and a client
1307 requests it. An empty string is now returned.
1309 * cspi/spi_editabletext.c:
1310 * cspi/spi_hypertext.c:
1312 * cspi/spi_hyperlink.c:
1316 Doc coverage now 95%.
1318 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1320 One last namespacing revision:
1321 * libspi/accessibleeventlistener.[ch]:
1322 Renamed SpiAccessibleEventListener to SpiEventListener,
1323 (no need for two namespaces ;-)
1325 And lots of documentation fixes:
1327 * docs/at-spi-docs.sgml:
1328 Fixed 'underscore vs. hyphen' bug that was preventing
1329 the gtk-doc API docs from being automatically generated.
1332 * cspi/spi-listener.h
1334 * cspi/spi_accessible.c
1336 * cspi/spi_application.c
1337 * cspi/spi_component.c
1338 * cspi/spi_editabletext.c
1340 * cspi/spi_hypertext.c
1342 * cspi/spi_registry.c
1343 * cspi/spi_selection.c
1347 * docs/at-spi-docs.sgml
1348 * docs/at-spi-sections.txt
1350 Added and fixed up gtk-doc documentation in cspi.
1352 Interfaces now (fully) documented (subject to revision and enhancement):
1354 Event Listener Support
1356 AccessibleApplication
1360 AccessibleEditableText
1367 AccessibleRelationSet
1372 2001-14-11 Bill Haneman <bill.haneman@sun.com>
1374 * at-bridge/bridge.c:
1375 Initial work for toolkit-level key snooper connection by bridge.
1380 New typedefs and fixes to support new namespacing, and cleaner
1381 separation of cspi bindings from libspi bonobo implementation.
1382 Removed inconsistent and extraneous Spi* namespace prefix that
1383 had crept into cspi headers.
1384 Lots of comment fixes that sed had missed.
1386 * cspi/spi-roletypes.h:
1387 * cspi/spi-statetypes.h:
1388 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
1389 to AccessibleRoleType.
1391 * libspi/accessibleeventlistener.h:
1392 Fixed minor namespacing weirdness.
1394 * libspi/deviceeventcontroller.c:
1395 Reordered some internal API for device listeners.
1396 Changed the key registry final boolean to 'is_system_global'
1397 rather than 'is_synchronous', which is more descriptive of its
1399 Added spi_device_event_controller_new().
1400 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
1402 * libspi/keystrokelistener.[ch]:
1403 Namespaced KeystrokeListener to SpiKeystrokeListener.
1404 Changed uses of keymasks to use SPI_ prefix, and did other
1407 * libspi/keymasks.h:
1408 Namespaced keymask constants with SPI_ prefix.
1410 * libspi/registry.c:
1411 Some warning fixes, and knock-on fixes from namespace changes.
1414 Added rules for accessx-gui test program.
1416 * test/accessx-gui.c:
1417 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
1418 utility. It doesn't actually use at-spi, but it's still cool and
1421 * test/keysynth-demo.c:
1425 Fixes so that these test clients work properly with the namespaced
1426 libraries. (Incompletely tested for technical reasons, fixes may follow)
1429 2001-13-11 Michael Meeks <michael@ximian.com>
1431 * libspi/application.c
1432 (impl_accessibility_application_get_version),
1433 (impl_accessibility_application_get_toolkit_name):
1435 (impl_accessibility_application_set_id),
1436 (impl_accessibility_application_get_id): remove
1437 redundant casting code.
1439 * libspi/action.c (impl_getDescription): fix warnings.
1441 * libspi/accessible.c
1442 (impl_accessibility_accessible_get_parent),
1443 (impl_accessibility_accessible_get_child_at_index),
1444 (impl_accessibility_accessible_get_state),
1445 (impl_accessibility_accessible_get_relation_set):
1446 warning fixes & include action.h
1448 2001-13-11 Michael Meeks <michael@ximian.com>
1450 * *.[ch] fix bits I screwed up:
1452 s/([^ \tb(\*\&\?\",])spi_/\1/g;
1453 s/([^ \tb(\*\&\?\",])Spi/\1/g;
1455 2001-13-11 Michael Meeks <michael@ximian.com>
1457 * *.[ch] Namespace libspi into spi_ and Spi.
1459 2001-13-11 Michael Meeks <michael@ximian.com>
1461 * Makefile.am: dist & install at-spi-1.0.pc
1463 * libspi/Makefile.am: install into at-spi-1.0
1465 * idl/Makefile.am (idldir): install into at-spi-1.0
1467 * at-spi-1.0.pc.in: add.
1469 * configure.in: build it.
1471 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1473 * test/keysynth-demo.c:
1474 Use a 'realize' signal-handler to set the WM properties for
1475 the virtual keyboard, rather than making it a "POPUP" type
1476 override-redirect window (thanks to anders carlsson for that
1479 2001-11-11 Bill Haneman <bill.haneman@sun.com>
1482 * test/keysynth-demo.c:
1483 Added new test of key synthesis, which creates a simple
1484 (mouse-operated) onscreen keyboard. It inserts key events into
1485 the currently-focused window, thus it does not grab keyboard focus
1488 * cspi/spi_registry.c:
1489 Added C binding for AT-SPI generateKeyEvent.
1491 * libspi/deviceeventcontroller.c:
1492 Added call to XFilterEvent so that key listener works with XIM (we
1493 hope). Added event_synth_type to generateKeyEvent, so that we can
1494 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
1495 synthesize a press/release pair for KeySyms.
1497 2001-11-09 Bill Haneman <bill.haneman@sun.com>
1499 * libspi/Makefile.am:
1500 * registryd/Makefile.am:
1501 (temporary) hack to include libXtst in libspi and registryd.
1502 (Needed for keystroke synthesis, see below).
1505 Improved API for registerKeystrokeListener, in accordance with
1506 discussions with Gnopernicus team and X server research.
1508 * libspi/registry.c:
1509 * libspi/deviceeventcontroller.c:
1510 * libspi/accessible.c:
1511 * libspi/keystrokelistener.c:
1512 Changes and fixes to support keylisteners for potentially
1513 consumed key events (that is, 'passive grabs').
1514 Added implementation for generateKeyEvent() [untested].
1517 Changes to registerKeystrokeListener() API, as above.
1518 Added deregisterGlobalEventListenerAll(), and
1519 deregisterKeystrokeListener(), which are needed for clean exit of
1521 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
1522 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
1524 * cspi/spi_registry.c:
1525 Added implementations of function prototypes mentioned above.
1527 * registryd/registryd.c:
1528 Added the key listener event source as a g_timeout(), to allow
1529 receipt of key events that are not caught by GDK (since GDK
1530 doesn't support passive keygrabs, this was necessary).
1533 Changed to attach a keylistener to 'Alt' keys, and
1534 respond to the following keycommands: Alt-M (toggle magnifier);
1535 Alt-F (toggle speech); Alt-Q (quit).
1536 Added an exit routine to deregister the listeners, and a key
1537 listener that prints some key info to the console when a key
1538 matches the listener mask (and is thus received by the listener).
1540 * util/idl/Magnifier.idl:
1541 Changes to magnifier API to support multiple zoom regions,
1542 non-uniform scaling in x and y, markDirty, and a host of other
1543 features that would be useful to magnification.
1546 * util/mag_client.c:
1547 * util/mag_client.h:
1548 * util/mag_control.c:
1550 Source code changes to support the above IDL changes.
1553 As above, and also changes to use a (slower) generic conversion
1554 path for colormap conversions, since the fast RGB conversions have been
1555 reported to fail for 16-bit displays.
1557 2001-10-26 Michael Meeks <michael@ximian.com>
1559 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
1561 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
1563 * at-bridge/Makefile.am: fix LDFLAGS.
1565 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1567 * at-bridge/bridge.c:
1568 Re-worked listeners for toolkit events, now we have signal
1569 and property listeners. Added a private method
1570 register_atk_event_listeners(), which registers with the
1571 various atk and gtk signals we need to monitor in order to emit
1573 Added emission hook for AtkObject:property-change events, to
1574 support the 'property listeners'.
1575 Fixed some alloc()s of Accessibility_Event structs to use CORBA
1578 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
1579 which emit warnings and exit, respectively, if CORBA errors occur
1580 during remote calls, and we now use these methods to check most of
1581 our CORBA calls in the C bindings.
1583 * cspi/spi_accessible.c:
1584 Changed AccessibleSelection_refSelectedChild() to
1585 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
1586 now increment refcounts.
1588 * cspi/spi_component.c:
1589 Fixed some long pointer casts (dangerous!) to pass pointers to
1590 CORBA_longs of the proper type to the CORBA stubs, and copy the
1591 data into the longs that were passed into the C bindings code.
1593 * at-bridge/bridge.c:
1595 * libspi/accessible.c:
1596 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
1597 hyperlinks, AtkHyperlink is an object type.
1599 * libspi/application.c:
1600 Added various conversions to and from "generic" event types and
1601 atk-specific types; this is really part of the 'bridge'
1602 implementation but is valid for all AtkObject-based accessibility
1605 * libspi/editabletext.c:
1606 Fixed nasty bug wherein editable text's finalize method was
1607 unref'ing tha AtkObject reference that the text parent class was
1608 about to unref _again_. There was also a nasty inheritance bug
1609 that meant that the AccessibleEditableText class was corrupt.
1611 * libspi/selection.c:
1612 Provided implementations for some selection API that was broken.
1614 * idl/Application.idl:
1615 Added registerObjectEventListener () method.
1618 Fixed a number of return values that were Bonobo_Unknowns from
1619 bonobo_object_corba_objref(), which I
1620 forgot to dup before returning. Changed instances of
1621 bonobo_object_corba_objref (bonobo_object(o)) to
1622 BONOBO_OBJREF(o), for concision and clarity.
1624 <2001-10-13 Louise Miller <louise.miller@sun.com>
1626 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
1627 idl/Event.idl, idl/Registry.idl
1628 Changed these files to include Bonobo_Unknown.idl instead
1631 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
1633 * libspi/component.c libspi/component.h:
1634 Fixed typo. Added assertions for object checks in
1635 AccessibleComponent code.
1637 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1639 * idl/Accessible.idl:
1640 Added 'isEqual (Accessible *object)'
1641 method for Accessible. (Not Yet Implemented).
1644 Changed signature of registerKeystrokeListener() to
1645 take a KeySet and KeyEventSeq so that specific keys and event
1646 types could be requested for monitoring, and added a flag
1647 is_synchronous so that either synchronous or asynchronous
1648 notification could be requested. (However this is not all
1649 implemented yet). This also meant adding two new typedefs,
1650 KeyEventSeq and KeySet.
1653 Added two new relations, RELATION_TOOLTIP_FOR and
1654 RELATION_LEAFNODE_OF.
1657 Added new state, STATE_HAS_TOOLTIP.
1659 * libspi/text.c, editabletext.c:
1660 Added new assertions to all casts of bonobo-objects from
1661 CORBA servants, to prevent Text API calls on non-text objects.
1662 Changed suspect casts of int-pointer types, so that we
1663 always send a valid CORBA_long pointer to the CORBA APIs that use
1664 in/out long parameters. We then have to copy from the CORBA_long
1665 into the regular long or int for return to the C bindings, or
1666 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
1669 * libspi/deviceeventcontroller.c:
1670 Cleaned these sources up.
1672 Changed return type for getCharacterAtOffset to
1673 CORBA_unsigned_long, to allow for 32-bit characters.
1676 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
1680 Fixed 'make dist' so that distro compiles...
1681 * libspi/keymasks.h:
1683 * cspi/spi-listener.c:
1684 KeystrokeListenerCB now returns a boolean.
1686 Added KeyEventType struct, and KeyStroke.
1687 Also added createKeystrokeListener(),
1688 KeystrokeListener_addCallback(),
1689 KeystrokeListener_removeCallback(), and added a keymask to
1690 registerKeystrokeListener().
1691 * cspi/spi_accessible.c:
1692 Changed numerous return types for interfaces from
1693 AccessibleComponent to Accessible<InterfaceName>; this was
1694 probably a cut-and-paste error.
1696 Implementations of new KeystrokeListener api (from spi.h,
1699 Changes to key modifier mapping.
1700 Created ControllerEventMask struct.
1701 Made DeviceEventController derive from Bonobo::Unknown.
1703 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
1704 * libspi/deviceeventcontroller.c:
1705 Added a number of new internal (private) methods.
1706 * libspi/editabletext.c:
1707 * libspi/editabletext.h:
1708 Fixed a number of bugs related to the fact that
1709 editabletext inherits from text. Fixed the EditableText struct,
1710 the init() call, and use correct casts when calling Text methods
1711 from an EditableText object. Removed (duplicate) atko from the
1712 EditableText structure, we use the one in the parent Text
1713 structure via the casts mentioned above.
1714 * libspi/keystrokelistener.[ch]:
1715 * libspi/registry.c:
1716 Changes in support of keyboard handling (above).
1718 Keyboard handling, though partly functional, is still not
1719 recommended for at-spi client use as there is considerable
1720 work yet to be done.
1723 Changed some places where pointers to various int types
1724 are cast to be pointers to CORBA_long types and vice-versa:
1725 pointer casting is not safe so we pass pointers of the correct
1726 types and then cast the result before putting it into the target
1729 * libspi/text.h: minor typos corrected.
1731 We now speak not only the name of a Text element, but the
1732 first sentence of its content, when it receives focus.
1733 I also changed the text compression to 75% from 50%.
1734 * util/Accessibility_Util.server.in:
1735 Changed the default magnifier type to be a 3x vertical
1736 splitscreen magnifier (was previously a 2x horizontal one).
1738 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
1740 * libspi/keystrokelistener.h:
1741 * libspi/keystrokelistener.c:
1742 Initial functional implementations of KeystrokeListener.
1745 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
1747 Fixed string handling for NULL strings in libspi.
1748 Added spi_freeString to free strings returned by C bindings.
1750 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
1752 * libspi/keystrokelistener.h:
1753 * libspi/keystrokelistener.c:
1754 Began (no-op) implementations of KeystrokeListener
1756 * libspi/deviceeventcontroller.c:
1757 * libspi/deviceeventcontroller.h:
1758 Began creating implementations of DeviceEventController,
1759 to handle keystroke and mouse event listening and
1761 * libspi/accessible.c:
1762 Stubbed-in the implementations for
1763 Accessibility_Accessible_getState and
1764 Accessibility_Accessible_getRelationSet.
1765 * libspi/registry.c:
1766 Improved de-registration process and fixed some bugs,
1767 deregistration now works correctly.
1769 Added initialization of applications list (to NULL).
1771 Reduced speech compression from 0.5 to 0.7, for demo.
1772 Changed call to gdk_window_set_decorations()
1773 to gtk_window_set_decorated().
1774 * at-bridge/bridge.c:
1775 Bridge now deregisters when app exits, via
1776 registration of a cleanup function
1777 with the g_atexit() call.
1778 Required making 'app' static, renamed 'this_app'.
1779 Fixed broken use of bonobo_init, passing argv wrongly.
1781 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
1785 Created a new directory for
1786 accessibility-related utilities, primarily for
1787 testing and demo purposes, but with possible
1794 Onscreen magnifier utility that
1795 is implemented as a bonobo service.
1797 * util/mag_client.c:
1798 * util/mag_client.h:
1799 Client-side support (simple C bindings)
1800 for Magnification service
1802 * util/mag_control.c:
1803 Client program example for
1804 Magnification service
1806 * util/Accessibility_Magnifier.server.in:
1807 Bonobo-activation file for the
1808 Magnification service.
1811 * util/idl/Magnifier.idl:
1812 IDL defining the bonobo Magnification
1816 Modifications to use the bonobo-activated magnifier
1817 above, in place of trying to connect to an existing
1818 magnifier that uses socket-listening IPC.
1820 If env variable MAGNIFIER is set, a magnifier service
1821 will be started if one does not exist.
1823 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
1824 * at-bridge/bridge.c:
1825 applied patch from Marc to build and run
1826 against new glib and gtk+ (seemed like a change
1827 to bonobo_init signature was made ?)
1829 made festival-server support turned off by default.
1830 Added support for a simple magnifier (off by default)
1831 which will be added to a 'util' directory later.
1832 * at-bridge/Makefile.am:
1833 Changed "application.h" header from a 'source'
1834 to a 'dependency' of libat-bridge.
1836 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
1844 Added interface implementation c files to list of
1845 includes so they are included in libcspi.
1848 Changed prototype of AccessibleAction_doAction to return a
1850 Changed prototype of AccessibleTable_getCaption to
1851 return an Accessible.
1852 Changed prototype of AccessibleTable_getSelectedRows
1853 and AccessibleTable_getSelectedColumns to
1854 return a long (returns the number of selected rows
1855 or columns respectively).
1856 Changed name of AccessibleText_refRunAttributes to
1857 AccessibleText_getAttributes.
1858 Changed prototype of AccessibleText_getCharacterExtents to
1859 return a void rather than a boolean.
1860 Added support for a AccessibleCoordType parameter
1861 specifying what type of coordinates are desired.
1862 Added an AccessibleCordType parameter to
1863 AccessibleText_getPointAtOffset.
1865 * cspi/spi_accessible.c:
1866 Added code to return the outstanding interfaces from
1867 Accessible_queryInterface.
1869 * cspi/spi_action.c:
1871 Corrected call to getNActions to call the c binding
1874 * cspi/spi_editabletext.c:
1876 Changed name from setRunAttributes to setAttributes.
1878 * cspi/spi_hyperlink.c:
1880 Changed call to getNAnchors to correctly call the c
1881 binding for an attribute.
1883 * cspi/spi_hypertext.c:
1885 Changed getImageDescription to correctly call the
1886 binding for an attribute.
1888 * cspi/spi_selection.c:
1889 Changed getNSelectedChildren to correctly call the c
1890 binding for the attribute.
1891 Changed refSelectedChild to getSelectedChild.
1895 Changed getCaption to return an Accessible.
1896 Fixed calls which retrieve attributes.
1897 Changed refAt to getAccessibleAt.
1898 Changed getNSelectedRows and getNSelectedColumns to
1902 Changed getCharacterExtents and getPointAtOffset to accept an
1903 AccessibleCoordType.
1905 Changed calls which retrieve attributes.
1906 Changed refRunAttributes to getAttributes.
1911 * idl/Hyperlink.idl:
1912 Changed n_anchors attribute to nAnchors to keep naming
1913 convention consistent.
1916 Made Table inherit from Bonobo::Unknown.
1917 Added nSelectedColumns and nSelectedRows attributes.
1920 Made Value inherit from Bonobo::Unknown.
1922 * libspi/hyperlink.c:
1923 Change for nAnchors attributte name change.
1925 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
1933 Added interface implementation c files to list of
1934 includes so they are included in libcspi.
1937 Changed prototype of AccessibleAction_doAction to return a
1939 Changed prototype of AccessibleTable_getCaption to
1940 return an Accessible.
1941 Changed prototype of AccessibleTable_getSelectedRows
1942 and AccessibleTable_getSelectedColumns to
1943 return a long (returns the number of selected rows
1944 or columns respectively).
1945 Changed name of AccessibleText_refRunAttributes to
1946 AccessibleText_getAttributes.
1947 Changed prototype of AccessibleText_getCharacterExtents to
1948 return a void rather than a boolean.
1949 Added support for a AccessibleCoordType parameter
1950 specifying what type of coordinates are desired.
1951 Added an AccessibleCordType parameter to
1952 AccessibleText_getPointAtOffset.
1954 * cspi/spi_accessible.c:
1955 Added code to return the outstanding interfaces from
1956 Accessible_queryInterface.
1958 * cspi/spi_action.c:
1960 Corrected call to getNActions to call the c binding
1963 * cspi/spi_editabletext.c:
1965 Changed name from setRunAttributes to setAttributes.
1967 * cspi/spi_hyperlink.c:
1969 Changed call to getNAnchors to correctly call the c
1970 binding for an attribute.
1972 * cspi/spi_hypertext.c:
1974 Changed getImageDescription to correctly call the
1975 binding for an attribute.
1977 * cspi/spi_selection.c:
1978 Changed getNSelectedChildren to correctly call the c
1979 binding for the attribute.
1980 Changed refSelectedChild to getSelectedChild.
1984 Changed getCaption to return an Accessible.
1985 Fixed calls which retrieve attributes.
1986 Changed refAt to getAccessibleAt.
1987 Changed getNSelectedRows and getNSelectedColumns to
1991 Changed getCharacterExtents and getPointAtOffset to accept an
1992 AccessibleCoordType.
1994 Changed calls which retrieve attributes.
1995 Changed refRunAttributes to getAttributes.
2000 * idl/Hyperlink.idl:
2001 Changed n_anchors attribute to nAnchors to keep naming
2002 convention consistent.
2005 Made Table inherit from Bonobo::Unknown.
2006 Added nSelectedColumns and nSelectedRows attributes.
2009 Made Value inherit from Bonobo::Unknown.
2011 * libspi/hyperlink.c:
2012 Change for nAnchors attributte name change.
2015 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2017 implementations-- made server implementations own AtkObject pointers
2018 rather than their respective AtkInterrface pointers to fix
2019 refcounting. AtkHyperlink is still broken.
2021 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2022 * cspi/spi_accessible.c:
2023 Added method Accessible_Role_getName(),
2024 and requisite string array (role_names).
2025 Added conversion string_from_corba_strin() call
2026 to Accessible_getName and _getDescription.
2027 * libspi/accessible.c:
2028 Added implementation for Accessible_getRole()
2030 Added festival support, used if environment variable
2033 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2035 * at-bridge/bridge.c:
2036 Now allocate Accessibility_Event using
2037 Accessibility_Event__alloc() instead of g_new0().
2038 * libspi/accessibleeventlistener.c:
2039 Initialize AccessibleEventListener->callbacks to NULL.
2040 Fixed accessible__event_listener_init() param, changed to
2041 "AccessibleEventListener *" type.
2042 Changed a bonobo_object_release_unref() call to
2043 Accessibility_Accessible_unref().
2044 * libspi/listener.c:
2045 Changed Bonobo_Unknown_unref to (equivalent)
2046 Accessibility_Accessible_unref.
2047 * libspi/registry.c:
2048 Changed bonobo_object_release_unref to
2049 Accessibility_Accessible_unref.
2051 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2054 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2055 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2056 spi-util.c spi-util.h
2057 Implementations for C bindings to remaining accessibility
2060 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2063 changed return value of Action from void to boolean to
2064 bring in line with ATK.
2067 Changed getText funcions to return "out" start and end offsets.
2068 Changed getAttributes to take and offset and return the start
2069 and end offset of the attribute run.
2070 Changed getOffsetAtPoint and getCharacterExtents to take an
2071 enum describing whether coordinates are window or screen.
2074 libspi/action.c libspi/action.h libspi/editabletext.c
2075 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2076 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2077 libspi/image.h libspi/selection.c libspi/selection.h
2078 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2079 libspi/value.c libspi/value.h
2080 Added server implementations for outstanding ATK interfaces
2081 not yet implemented.
2083 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2086 Added (missing) getName() method.
2087 Made nActions an attribute.
2088 * idl/EditableText.idl:
2089 Changed order of params in setAttributes.
2090 * idl/Hyperlink.idl:
2091 Removed getAnchor, added getURI.
2093 Changed attributes to methods, for efficiency
2094 (so that getting extents can be done in one call)
2095 * idl/Selection.idl:
2096 Changed nSelectedChildren to attribute, and re-indented.
2097 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2099 * idl/Text.idl: reformatted to match our coding style.
2100 (temporarily?) removed getRowColumnAtOffset().
2101 Changed text selection API to support multi-select and
2102 non-contiguous selections, as in ATK.
2103 * idl/Value.idl: changed some methods to attributes.
2105 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2107 * libspi/listener.c(impl_notify_event):
2108 BonoboUnkown_unref the source instead
2109 of bonobo_object_release_unref - the ORB
2110 handles the releasing.
2112 * configure.in: require ORBit-2.3.94 for
2115 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2117 Tagged CVS repository 'EA_1_0'.
2118 * README.EARLY_ACCESS:
2119 Alphabetized acknowledgements list, and
2121 Listed some known dependencies of at-spi.
2123 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2125 * docs/at-spi-docs.sgml:
2126 * docs/at-spi-sections.txt:
2127 * docs/at-spi-overrides.txt: (Added zero-length file)
2128 Documentation improvements - gtk-doc should build
2129 docs for all implemented C bindings now.
2132 * cspi/spi.c: (New file)
2133 * cspi/spi_event.c: (New file)
2134 * cspi/spi_registry.c: (New file)
2135 * cspi/spi_accessible.c: (New file)
2136 * cspi/spi_application.c: (New file)
2137 * cspi/spi_component.c: (New file)
2138 Split spi_main.c into six parts, and included them from
2139 "spi.c". This is a bit of a hack, probably temporary,
2140 but required by gtk-doc, apparently.
2142 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2145 * docs/at-spi-docs.sgml:
2146 * docs/at-spi-sections.txt:
2148 Initial checkins/modifications for gtk-doc generation.
2151 Added (missing) interface query methods to Accessible's C binding.
2153 Added GenericInterface type definition.
2155 Added query for AccessibleComponent interface to focus event handler.
2156 Added printout of bounding box for focussed component.
2157 * libspi/component.c:
2158 Added partial implementation for AccessibleComponent to C binding.
2159 * idl/Application.idl:
2160 * libspi/registry.c:
2161 * libspi/listener.c:
2162 * libspi/application.c:
2163 * libspi/application.h:
2164 Changed "ID" attribute type from string to long.
2166 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2170 Made method naming consistent: methods taking object args
2171 start with uppercase, other methods (except those using
2172 acronyms) start with lowercase. Underscores delimit between
2173 object names and method names:
2174 SPI_init() - uppercase since it starts with an acronym.
2175 getDesktopCount () - lowercase start since no object param0.
2176 Accessible_getName() - uppercase object type name, studlyCaps method
2180 Added gtk-doc documentation for all currently implemented
2181 methods in the C bindings API.
2183 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2185 * Makefile.am : changed build order to build test last.
2188 Changed "createEventListener" to "CreateEventListener".
2189 * libspi/accessibleeventlistener.c :
2190 Bugfix for addition of callbacks.
2191 * test/Makefile.am :
2192 * test/simple-at.c :
2193 Added new test that uses the C bindings API.
2195 * libspi/listener.c :
2196 * libspi/registry.c :
2197 * libspi/accessibleeventlistener.c :
2198 * at-bridge/bridge.c :
2199 Renamed member "target" of Accessibility_Event to "source",
2200 which is more descriptive.
2203 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2207 * cspi/Makefile.am :
2208 Added makefile support for at-spi/cspi directory.
2211 * cspi/spi-listener.h : (NEW FILE)
2212 Added support for/use of spi-listener.h.
2214 C bindings now build successfully, with no warnings.
2215 * libspi/accessibleeventlistener.h : (NEW FILE)
2216 * libspi/accessibleeventlistener.c : (NEW FILE)
2217 * libspi/Makefile.am :
2218 Added new object type "AccessibleEventListener"
2219 which inherits from Listener, and allows attachment
2220 of in-process callbacks (so that a client with a listening
2221 object instance can add functionality to the local
2222 implementation, dynamically).
2224 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2226 * libspi/accessible.c:
2227 Add implementation for get_index_in_parent().
2229 Added #include of "spi-roletypes.h", and
2230 added enumerated type AccessibleCoordType.
2231 Added definition for KeystrokeListener (function type).
2234 * cspi/spi-statetypes.h :
2235 * cspi/spi-roletypes.h :
2237 Added these headers, used by spi.h.
2239 Added code (NOTE: not yet built by make).
2241 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2243 * libspi/Makefile.am: generate imodule
2244 at the same time as other idl compiler
2247 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2248 * libspi/registry.c :
2249 * libspi/application.c :
2250 * idl/Application.idl :
2251 Made registration with toolkit an application method,
2252 which is required since each app has its own toolkit static
2253 environment. Thus the bridge must register for
2254 notification of toolkit events from each application in turn.
2255 Toolkit notifications are now successfully registered for, and
2256 sent to the listening at client.
2258 Changed toolkit event string to use hyphens rather than underscores.
2259 * libspi/listener.c :
2260 listner now gives more info in debug mode - it reports the
2261 name of the event received, as well as the name of the source.
2264 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2266 * libspi/registry.c :
2267 added more implementation for toolkit events.
2268 Fixed bug such that toolkit event registrations
2269 (via atk) use the whole event name string, not
2271 Removed a useless call to an ORBit_ method.
2272 * at-bridge/bridge.c :
2273 Removed unused local sbuf[] variable.
2275 We now register for Gtk:GtkWidget:button_press_event
2276 events as well as "focus:" events.
2278 Add some more API from Registry.idl that was missing,
2279 for keystroke listening, keystroke and mouse event
2280 synthesis, and enumeration of accessible desktops.
2282 2001-08-16 Michael Meeks <michael@ximian.com>
2284 * configure.in: use AM_GLIB_GNU_GETTEXT.
2286 * Makefile.am (SUBDIRS): kill intl.
2288 2001-08-15 Michael Meeks <michael@ximian.com>
2290 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2292 * configure.in: upd.
2294 * configure.in: depend on a recent bonobo-activation that
2295 will find our server files ...
2297 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2299 * libspi/accessible.c : accessible_new() :
2300 Now we add the Component interface via bonobo_object_add_interface,
2301 if the contained AtkObject implements AtkComponent.
2302 * libspi/accessible.h : now include "component.h"
2303 * libspi/component.h :
2304 * libspi/component.c : added files - implementation of
2305 bonobo wrapper object for Accessibility/Component
2306 * libspi/listener.c :
2307 Added test code to check for Accessibility/Component:1.0
2308 interface and report whether it is implemented by the
2310 * libspi/registry.c :
2311 Now we check for not only the hash of the whole event
2312 string before relaying the event, we also check the
2313 "minor" event string (without the detail string).
2314 This allows event listeners to be registered against
2315 all events of a certain major+minor type, or just
2316 against a specific major+minor+detail type.
2317 * libspi/accessible.c :
2318 Added implementations for Accessible:get_parent(),
2319 Accessible:getChildCount(), and Accessible:getChildAtIndex().
2320 * libspi/registry.c :
2321 * libspi/listener.c :
2322 Replaced calls to Accessibility_Accessible_ref() and
2323 Accessibility_Accessible_unref() with
2324 calls to bonobo_object_dup_ref() and
2325 bonobo_object_release_unref(), so that the CORBA object
2326 is dup-ed and released when relayed, as well as the bonobo object.
2328 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2330 * libspi/Makefile.am,
2331 registryd/Makefile.am,
2332 at-bridge/Makefile.am.
2333 test/Makefile.am, configure.in:
2334 reverse previous changes.
2336 * /idl/Image.idl: fix typo.
2338 * test/Makefile.am: put DEBUG_FLAGS
2341 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2343 * test/app.c: use argv[0] instead of
2346 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2348 * libspi/Makefile.am,
2349 registryd/Makefile.am,
2350 at-bridge/Makefile.am.
2351 test/Makefile.am, configure.in:
2352 cleanup, replace individual LIBS/CFLAGS with
2353 AT_COMMON_{LIBS|CFLAGS}.
2357 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2359 * configure.in, libspi/Makefile.am:
2360 Change IDL path checking for bonobo-activation
2363 2001-08-15 Bill Haneman <bill.haneman@sun.com>
2365 * registryd/registry.c : separated event listeners to use
2366 3 separate lists (focus, window, toolkit). Began testing
2367 event names against hashes before relaying events.
2368 * test/at.c : now register for events of type "focus:"
2369 * test/app.c : now generate events of type "focus:"
2370 * at-bridge/bridge.c : register with ATK for focus events,
2371 and we now relay those focus events to any "focus:" listeners.
2372 This now works with the bridge as a GTK_MODULE when running test/at.
2373 * libspi/registry.c :
2374 * libspi/listener.c :
2375 now we ref event sources before propagating, and unref on receipt.
2376 * libspi/registry.c :
2377 some changes to internal structs, to support event typestring hashes.
2378 * text/app.c : changed the way the appname is generated.
2379 * cspi : added directory that will hold the C bindings library for
2380 non-CORBA/bonobo-savvy clients.
2381 * cspi/spi.h : header file that contains the function prototypes for the C binding.
2382 * idl/Component.idl : added in parameter to indicate coord system for
2383 geometry-related calls.
2384 * idl/Hyperlink.idl : added readonly n_links attribute
2385 * idl/Image.idl : changed methods to attributes.
2387 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2389 * at-bridge/Makefile.am: link against
2390 ../libspi/libspi.la instead of -lspi.
2392 * at-spi/test/app.c: include
2393 bonobo-activation.h. Use a default appname
2394 if one is not provided.
2396 2001-08-14 Bill Haneman <bill.haneman@sun.com>
2398 * idl/Registry.idl : temporarily changed register_Application
2399 to oneway, to work around issue with initial registration
2401 * idl/Application.idl : changed attribute "id" from readonly
2402 to read-write, since it needs to be assigned by Registry.
2403 * registryd/registryd.c : added call to set application id
2405 * registryd/registry.c : changed de-registration procedure to
2406 use CORBA_Object_hash() to find matching object ref in application
2407 lists and listener lists.
2408 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
2409 began distinguishing between event types (work in progress).
2411 2001-08-13 Bill Haneman <bill.haneman@sun.com>
2414 * libspi/application.c:
2415 Added implementations for get/set id, get_toolkitName,
2417 * registryd/registryd.c :
2421 Converted from use of OAF to bonobo-activation.
2422 * libspi/desktop.h :
2423 * libspi/desktop.c :
2425 Removed references to atksimpleobject, since base atkobject
2426 implementation now provides functionality we need.
2427 * libspi/atksimpleobject.c :
2428 * libspi/atksimpleobject.h :
2433 * at-bridge/Makefile.am
2434 * at-bridge/bridge.c
2437 Added directory "bridge" and contents, and added dependencies
2438 in Makefile.am/configure.in.
2439 Initial checkin of "at-bridge".
2440 This code is a GTK_MODULE which automatically registers
2441 GTK+ apps with the accessibility registry, using an object
2442 reference to the root ATK object.
2444 2001-08-10 Mark McLoughlin <mark@skynet.ie>
2446 * po/Makefile.in.in: Remove. Again. If this
2447 doesn't get autogenerated - you need to update
2450 2001-08-07 Mark McLoughlin <mark@skynet.ie>
2452 * po/Makefile.in.in: Add. Again.
2454 2001-07-31 Bill Haneman <bill.haneman@sun.com>
2456 * libspi/accessible.c : added support for 'description' property.
2457 * libspi/accessible.c
2459 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
2460 (since the two are now equivalent in libbonobo)
2468 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
2469 Bonobo::Unknown as does Accessibility::Accessible.
2470 * idl/StreamableContent.idl : as above, and replaced internal InputStream
2471 interface with Bonobo::Stream, since it was redundant with it.
2472 (The Stream returned by a StreamableContext object is expected to
2473 implement only a subset of Bonobo::Stream)
2475 2001-07-28 Anders Carlsson <andersca@gnome.org>
2477 * libspi/accessible.c (accessible_object_finalize): Change
2478 g_free to g_object_unref since the AtkObject is a GObject.
2480 2001-07-30 Bill Haneman <bill.haneman@sun.com>
2482 * idl/Accessibility.idl: add new IDL files
2485 * idl/Action.idl: Definitions of actionable UI object
2486 * idl/Component.idl: Definitions of UI component geometry, etc.
2487 * idl/Hyperlink.idl: Defs of hyperlink behavior
2488 * idl/Image.idl: Def of accessible image
2489 * idl/Selection.idl: Definition of UI object with selectable children
2490 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
2491 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
2492 * idl/Text.idl: Interface defs for UI elements with complex textual content
2493 * idl/Value.idl: Definition of UI element that is a value controller or display
2495 2001-07-27 Michael Meeks <michael@ximian.com>
2497 * po/Makefile.in.in: remove autogenerated file from CVS.
2499 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
2502 * idl/Registry.idl: include guard.
2504 * idl/Accessibility.idl: Add, and include all the other IDL
2507 * idl/*.idl: remove mass of pragmas etc.
2509 2001-07-26 Michael Meeks <michael@ximian.com>
2511 * registryd/Makefile.am (registryd_SOURCES): remove
2514 2001-07-27 Mark McLoughlin <mark@skynet.ie>
2516 * libspi/.cvsignore, registryd/.cvsignore,
2517 test/.cvsignore: updated.
2519 * po/Makefile.in.in: gettext update.
2521 2001-07-25 Bill Haneman <bill.haneman@sun.com>
2523 * initial CVS checkin
2525 2001-06-29 Michael Meeks <michael@ximian.com>
2527 * configure.in: add AM_CONFIG_HEADER to gen config.h