1 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4 * cspi/spi_accessible.c:
5 * cspi/spi_application.c:
6 * cspi/spi_component.c:
7 * cspi/spi_selection.c:
10 Documentation fixes (removed return values from ref/unref methods).
12 2001-12-10 Michael Meeks <michael@ximian.com>
14 * cspi/spi_action.c: audit for exception handling,
15 tolerating NULL object references safely etc.
17 * cspi/spi_accessible.c: ditto.
19 * cspi/spi_component.c: ditto.
21 * cspi/spi_editabletext.c: ditto.
23 * cspi/spi_hyperlink.c: ditto.
25 * cspi/spi_hypertext.c: ditto.
27 * cspi/spi_image.c: ditto.
29 * cspi/spi_selection.c: ditto.
31 2001-12-10 Michael Meeks <michael@ximian.com>
33 * configure.in: use cspi/libspi.pc.in instead.
35 * Makefile.am (pkgconfig_DATA): upd. to match.
37 * test/simple-at.c (report_focus_event): kill hacks around
38 bad return values, use putenv not setenv
40 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
41 fire ChildGone - I killed it.
44 (impl_accessibility_component_get_extents): remove
47 * idl/Accessible.idl: kill ChildGone exception.
49 * cspi/*.[ch]: kill int return from ref / unref.
51 * cspi/spi_main.c (cspi_object_add_check): fold into
52 (cspi_object_add): here.
54 * cspi/spi_component.c (AccessibleComponent_getExtents):
55 handle exceptions elegantly.
57 * cspi/spi-private.h (cspi_check_ev_return),
58 (cspi_return_if_fail): impl.
60 * cspi/spi_accessible.c: use extensively.
61 (AccessibleStateSet_equals): add direct compare check.
63 * cspi/spi_selection.c: tolerate NULL objs, and check
64 exceptions before return.
66 * cspi/spi-util.c (cspi_warn_ev): rename to
67 (cspi_check_ev): this & don't pass ev in; no point.
69 2001-12-10 Michael Meeks <michael@ximian.com>
71 * test/test-simple.c: use putenv not setenv
72 (get_environment_vars): more chatty if you're not using
75 * test/simple-at.c: do the setenv so more people see the
78 2001-12-10 Bill Haneman <bill.haneman@sun.com>
81 Changed check of CORBA_environment on notification to be a warning
82 instead of an error for the moment, since we can recover from this
83 error when caused by a queued notification from a dead app.
86 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
87 used by all current implementors of AtkValue), and coerce to
88 CORBA_float. (Proper general case fix may require change to Value.idl).
90 2001-12-09 Bill Haneman <bill.haneman@sun.com>
94 * cspi/spi_accessible.c:
95 Documentation fixes: added user_data params to documentation for
96 listeners and callbacks.
98 * cspi/spi_accessible.c:
99 Changed AccessibleStateSet_compare to return a
100 StateSet rather than return the difference set into a third parameter.
103 2001-12-09 Bill Haneman <bill.haneman@sun.com>
106 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
107 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
111 Remove subdirectory po from SUBDIRS for now.
113 * at-bridge/bridge.c:
114 Beefed up a couple of debug printouts.
115 One-line fix for signal notification name formatting.
117 * libspi/accessible.c:
118 Added assertion to spi_accessible_new ().
120 * libspi/application.c:
121 Put #ifdef qualifiers around a printf.
124 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
126 * registryd/Makefile.am:
128 Replaces use of XML_I18N_MERGE_SERVER_RULE with
129 INTLTOOL_SERVER_RULE macro.
132 Added an event listener for several ATK signals, for
133 testing and debugging. Removed a few g_warnings.
134 Added test output if focussed item implements the Value interface.
136 * test/test-simple.c:
137 Added test_value () function (known not to pass at the moment, so
138 not actually called yet.
140 2001-12-08 Michael Meeks <michael@ximian.com>
142 * at-bridge/bridge.c (bridge_focus_tracker),
143 (emit_eventv): fix the same ref. leak.
144 (register_atk_event_listeners): don't leak.
146 * cspi/spi-listener-impl.c (cspi_event): more
147 protection from client code.
149 * test/test-simple.c (test_desktop): unref the app.
151 * test/Makefile.am: upd. TESTS.
153 * at-bridge/bridge.c (bridge_exit_func): release the registry.
155 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
157 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
159 * cspi/spi_registry.c: constify in strings.
160 (deregisterGlobalEventListenerAll): don't release the ref.
162 * cspi/spi.h: start removing redundant / conflicting
163 gtkdoc comments, making the API readable at a glance :-)
165 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
167 * test/keysynth-demo.c (keysynth_exit, main): upd.
169 * test/simple-at.c (main, simple_at_exit): upd.
171 * test/test-simple.c (unutterable_horror): kill.
172 (utterable_normal_derefs): kill.
173 (main): upd & do a setenv before gtk_init, so that we
174 can use memprof - and to save the pain of remembering
175 this, if we're running under memprof - don't exit.
177 * cspi/spi_main.c (SPI_exit): return exit status
179 (SPI_event_quit): impl.
180 (SPI_event_main): simplify.
181 (cspi_is_gnome_app): kill.
182 (SPI_init): kill isGNOMEapp arg.
184 * at-bridge/bridge.c (register_atk_event_listeners):
185 re-instate the unref.
186 (bridge_exit_func): don't re-activate the registry,
187 protect vs. theoretical re-entry, use the
188 AT_BRIDGE_SHUTDOWN env. var to determine whether to
189 assert a clean shutdown - for regression tests.
191 2001-12-08 Abel Cheung <maddog@linux.org.hk>
193 * configure.in: Comment out dummy i18n support for now,
194 otherwise it fails to build.
195 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
196 EXTRA_DIST. They are missing in tarball.
198 2001-12-07 Michael Meeks <michael@ximian.com>
200 * util/magnifier.c: kill bonobo activation reg. race.
203 (impl_accessibility_component_get_extents): make it match
206 * libspi/registry.c (_registry_notify_listeners):
207 re-remove X headers & reconcile conflicts.
208 (spi_listener_struct_free): bad conflict resolve.
209 (impl_accessibility_registry_register_application):
210 more bad merging fixed.
211 (impl_accessibility_registry_deregister_application): ditto.
212 (spi_registry_new): ditto.
213 (spi_registry_init): don't have an applications field.
215 [ merge fixups2 branch to here ]
216 2001-12-07 Michael Meeks <michael@ximian.com>
218 * test/simple-at.c (report_focus_event),
219 (report_focussed_accessible): remove g_warning debug.
221 2001-12-07 Michael Meeks <michael@ximian.com>
223 * test/test-simple.c (validate_tree): comment out some checks.
224 (test_desktop): app now not registered idly - horay.
226 2001-12-07 Michael Meeks <michael@ximian.com>
228 * cspi/spi_registry.c
229 (registerAccessibleKeystrokeListener): clean, stop it leaking
230 great swathes of memory, and device event controller references.
231 ensure we always pass valid sequences.
232 (deregisterAccessibleKeystrokeListener): ditto.
233 (generateKeyEvent): upd.
235 * at-bridge/bridge.c (bridge_key_listener): handle
236 registry dead exception gracefully.
237 (bridge_focus_tracker, emit_eventv): free ev.
239 * test/simple-at.c (report_focus_event): fix polarity.
241 * libspi/application.c (notify_listeners): kill the ev
242 argument, and make sure we init the ev we use.
243 (spi_application_object_event_listener): split out a chunk
244 (get_atk_object_ref): here & fixup.
245 (reverse_lookup_name_for_toolkit_event): make const.
246 (spi_application_toolkit_event_listener): fixup, kill leaks
249 * at-bridge/bridge.c (register_atk_event_listeners):
250 don't unref the noop object - causes grief.
252 * libspi/registry.c: remove the X headers.
253 turn off the debug churn.
255 * libspi/accessible.c (spi_accessible_new_return): only
256 release the ref if we are supposed to [doh]
258 * test/simple-at.c (report_button_press, report_focus_event):
259 guard vs. unexpected exit.
261 * at-bridge/bridge.c (gtk_module_init): prune printf.
262 (bridge_exit_func): fix app unref.
264 * libspi/Makefile.am: don't install registry or desktop.h
266 * libspi/*.h: update includes.
268 * libspi/application.h: don't include ourself, or
269 other redundant headers.
271 2001-12-06 Michael Meeks <michael@ximian.com>
273 * libspi/accessible.c
274 (get_accessible_from_servant): impl.
275 Upd. all CORBA impl.s to use it killing cut and paste.
277 * cspi/spi_main.c (cspi_cleanup): guard vs. double
279 (SPI_init): register atexit cleanup handler here.
281 2001-12-06 Michael Meeks <michael@ximian.com>
283 * at-bridge/bridge.c (gtk_module_init): g_error on
286 2001-12-06 Michael Meeks <michael@ximian.com>
288 * at-bridge/bridge.c (gtk_module_init): some sort of
289 confusing merge clash - reverted.
290 (bridge_idle_init): ditto.
292 * test/test-simple.c (main, utterable_normal_derefs):
293 merge from Bill - somehow not committed.
295 2001-12-06 Michael Meeks <michael@ximian.com>
297 * libspi/value.c (spi_value_class_init): upd.
298 (spi_value_finalize): kill.
300 * libspi/table.c (spi_table_finalize): kill.
301 (spi_table_interface_new): upd.
302 (spi_table_class_init): upd.
303 (get_table_from_servant): impl.
304 Upd. all CORBA impl.s to use it killing yet more cut and paste.
306 * libspi/selection.c (spi_selection_finalize): kill.
307 (spi_selection_interface_new): upd.
308 (spi_selection_class_init): upd.
309 (get_selection_from_servant): impl.
310 Upd. all CORBA impl.s to use it killing yet more cut and paste.
312 * libspi/relation.c (spi_relation_finalize): kill.
313 (spi_relation_class_init, spi_relation_new): upd
315 * libspi/image.c (spi_image_finalize): kill.
316 (spi_image_class_init): upd.
317 (spi_image_interface_new): upd.
318 (get_image_from_servant): impl.
319 Upd. all CORBA impl.s to use it killing yet more cut and paste.
321 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
322 (spi_hyperlink_finalize): kill.
323 (spi_hyperlink_new): upd.
324 (get_hyperlink_from_servant): impl.
325 Upd. all CORBA impl.s to use it killing yet more cut and paste.
327 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
328 (spi_hypertext_finalize): kill.
329 (spi_hypertext_class_init): upd.
330 (get_hypertext_from_servant): impl.
331 Upd. all CORBA impl.s to use it killing yet more cut and paste.
333 * libspi/editabletext.c (spi_editable_text_finalize): kill.
334 (spi_editable_text_interface_new): upd.
335 (get_editable_text_from_servant): impl.
336 Upd. all CORBA impl.s to use it killing yet more cut and paste.
338 * libspi/text.c (get_text_from_servant): impl.
339 All impls - update to use it killing more cut and paste,
340 also fix bad string returns on duff args ( a somewhat
341 impossible case to handle - but hey ).
342 (spi_text_construct): impl.
343 (spi_text_interface_new): upd.
344 (spi_text_object_finalize): kill.
347 (accessibility_component_object_finalize): kill.
348 (spi_component_class_init): upd.
349 (get_component_from_servant): impl. helper to kill cut & paste.
350 (impl_accessibility_component_contains):
351 (impl_accessibility_component_get_accessible_at_point):
352 (impl_accessibility_component_get_position):
353 (impl_accessibility_component_get_extents):
354 (impl_accessibility_component_get_mdi_z_order):
355 (impl_accessibility_component_get_layer):
356 (spi_component_interface_new): upd.
358 * libspi/action.c (spi_action_finalize): kill.
359 (spi_action_class_init): upd. inherit from SpiObject.
360 (spi_action_interface_new): upd.
361 (get_action_from_servant): impl. helper to reduce cut & paste.
362 (impl_getKeyBinding, impl_getName, impl_doAction),
363 (impl_getDescription): Use it everywhere.
365 * cspi/spi_main.c (get_live_refs): a pointer hash.
366 (spi_object_hash, spi_object_equal): comment out.
367 There are issues with CORBA object hashing that need
370 * libspi/application.c (spi_application_init),
371 (spi_application_new): upd.
373 * libspi/accessible.c (spi_accessible_object_finalize): kill.
374 (spi_accessible_class_init): upd.
375 s/accessible/object/ in epv methods.
377 2001-12-05 Bill Haneman <bill.haneman@sun.com>
379 * at-bridge/bridge.c:
380 Reorder the bridge initialization into the bridge gtk_module_init,
381 an immediate call to bridge_register_app, and an idle_add for
382 register_atk_event_listeners (the only code that *must* wait until
383 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
384 the activation, creates the application's Accessible object, and
385 queues the bridge_idle_init function. Restored call to
386 Accessibility_Registry_deregisterApplication().
387 Prior to making this call we obtain a new reference to the
388 registry, which is a temporary hack that helps us handle apps that
389 shut down the bonobo mainloop before we get there.
392 Fix string leakage in debug block, and don't segv if a an app
393 dies before its event notifications have been propagated.
396 Modify cspi_check_ev() to call g_warning() rather than g_error(),
397 as stopgap measure until we get proper exception handling when
398 objects die during or before interrogation.
402 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
403 Also changed default value of is_gnome_app to TRUE.
406 * test/keysynth-demo.c:
407 Changed use of SPI_init and SPI_event_main to reflect API change above.
410 Made report_focus_event check the warning value from getName
411 before reporting on focussed accessible; simplifies handling of
412 notifications from dead objects.
414 * test/test-simple.c: (Changes not in this patch since source is
417 2001-12-05 Michael Meeks <michael@ximian.com>
419 * registryd/registryd.c (main): protect against
420 bonobo-activation startup race condition.
422 * cspi/spi_main.c (cspi_object_add_check): cope
423 with the exception elegantly.
425 * idl/Accessible.idl: decl. ChildGone
427 * libspi/desktop.c (spi_desktop_dispose): impl.
428 (spi_desktop_class_init): upd.
429 (spi_desktop_add_application),
430 (spi_desktop_remove_application),
431 (abnormal_application_termination): impl.
432 (impl_desktop_get_child_at_index): re-impl.
435 (impl_accessibility_registry_deregister_application),
436 (impl_accessibility_registry_register_application):
437 kill excessive debug clutter.
439 * test/test-simple.c (test_misc): test some NULL
440 tolerance. (main): upd.
442 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
443 implements no interfaces - so let's not crash.
445 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
447 * libspi/accessible.c (spi_accessible_new_return): impl.
448 helper to calm the cut and paste, to cope with
449 NULL AtkObjects effectively and efficiently, and to kill
450 the referencing bugs.
452 * libspi/table.c (impl_getAccessibleAt),
453 (impl_getRowHeader, impl_getColumnHeader): upd.
455 * libspi/hyperlink.c (impl_getObject): upd.
457 * libspi/accessible.c
458 (impl_accessibility_accessible_get_child_at_index): upd.
461 (impl_accessibility_component_get_accessible_at_point): upd.
463 * test/test-simple.c (test_editable_text, test_text): impl.
466 * cspi/spi_editabletext.c
467 (AccessibleEditableText_insertText): constify.
469 * test/test-simple.c (focus_me): make more robust.
471 * libspi/accessible.c: remove some printfs in methods that
472 we test and work fine, so we can get a clean tree dump.
474 * test/test-simple.c (validate_accessible),
475 (validate_tree): make tree dumping pretty too.
477 * at-bridge/bridge.c (bridge_signal_listener): upd. so
478 it builds without debug on.
480 * test/test-simple.c (validate_accessible): fix the most
483 * cspi/spi_main.c (spi_object_release): leave the nicely
484 blanked memory around if in debug mode.
486 * cspi/spi-listener-impl.c (cspi_event): use add_check.
488 [committed to fixups2]
489 2001-12-05 Michael Meeks <michael@ximian.com>
491 * libspi/editabletext.c
492 (spi_editable_text_class_init): g_type_class_peek_parent,
493 not interface peek - so we finalize cleanly.
495 * libspi/accessible.c (spi_accessible_new): kill debug.
497 * test/test-simple.c (validate_accessible): fix ref.
498 leak, print strings before freeing them; sigh, comment a
499 chunk out due to strangeness.
500 (validate_tree): unref the child after use.
502 * cspi/spi_component.c (AccessibleComponent_getLayer):
503 add missing break statement, switch on zlayer not the
504 uninitialized retval.
506 * cspi/spi_main.c (cspi_object_add): add assert, local ref
507 before (possibly re-entering) remote unref.
509 * test/simple-at.c (main): unref the desktop.
511 * cspi/spi_accessible.c (cspi_accessible_is_a): move
514 * cspi/spi_main.c (cspi_accessible_is_a): here to
515 isolate bonobo API usage more.
517 * libspi/registry.c (impl_accessibility_registry_register_application):
520 2001-12-04 Michael Meeks <michael@ximian.com>
522 * test/test-simple.c (validate_tree): upd.
523 IndexInParent check to make it more lucid.
524 (validate_accessible): dump the tree.
526 * libspi/accessible.c (de_register_public_ref),
527 (get_public_refs): impl.
528 (spi_accessible_new): make more efficient & intuitive.
529 Now IndexInParent check works.
531 2001-12-04 Michael Meeks <michael@ximian.com>
533 * cspi/spi-util.h: remove.
535 * cspi/spi.h: move SPI_freeString here
537 * libspi/component.c (impl_accessibility_component_get_layer):
539 (impl_accessibility_component_get_mdi_z_order): ditto,
540 return -1 on error - is this ok ?
542 * test/test-simple.c (test_application): impl.
544 * cspi/spi_accessible.c (Accessible_getApplication),
545 (Accessible_isApplication): impl.
547 * libspi/registry.c (spi_listener_struct_free): release
548 the CORBA reference too.
550 * libspi/accessible.c
551 (impl_accessibility_accessible_get_parent): fix ref leak.
553 * libspi/registry.c (spi_registry_new): make the registry
554 immortal - we don't want it to go away ever.
556 * libspi/application.c
557 (spi_accessible_application_finalize): impl. cleanup.
559 * cspi/spi_registry.c
560 (deregisterGlobalEventListenerAll),
561 (deregisterGlobalEventListener),
562 (deregisterAccessibleKeystrokeListener): fix ref leak.
564 * cspi/spi_main.c (SPI_init): remove redundant ref.
566 * test/test-simple.c (unutterable_horror): impl. to force a
571 (impl_accessibility_registry_deregister_application): release
572 the application when we de-register it.
574 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
575 until we have the infastructure to get it right.
577 2001-12-03 Michael Meeks <michael@ximian.com>
579 * libspi/Makefile.am: only build eventlistener.[ch]
581 * libspi/accessible.c
582 (impl_accessibility_accessible_get_child_at_index): don't leak.
584 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
585 before we hit the idle handler.
587 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
590 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
592 * libspi/listener.c (impl_notify_event): check source
593 not NIL before unref.
595 * libspi/registry.c (impl_registry_notify_event): ditto.
597 * libspi/eventlistener.c
598 (impl_accessible_event_notify_event): unref the source.
600 * libspi/accessibleeventlistener.c
601 (impl_accessible_event_notify_event): unref the source.
603 * idl/Event.idl: remove 'hash_id' attribute - of no
606 * libspi/application.c (notify_listeners): upd list
608 (spi_application_object_event_listener),
609 (spi_application_toolkit_event_listener): upd to do correct
613 (_registry_notify_listeners): update.
614 (parse_event_type): this method also leaks like a sieve.
615 (impl_accessibility_registry_deregister_global_event_listener):
616 fix ETYPE_WINDOW case.
618 * libspi/application.c
619 (impl_accessibility_application_register_object_event_listener):
622 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
624 * libspi/hypertext.c (impl_getLink): ditto.
626 * cspi/spi_main.c (cspi_object_add): remove
627 bogus CORBA_Object_duplicate.
629 * cspi/spi-listener-impl.c (cspi_event): dup/ref
632 * cspi/spi_accessible.c
633 (Accessible_getRelationSet): fix leak / referencing issue.
635 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
636 (cspi_object_add, cspi_object_unref): upd.
637 (spi_object_release, get_live_refs): impl.
638 (cspi_cleanup): simplify.
640 * *.[ch]: s/boolean/SpiBoolean/
642 * cspi/spi_accessible.c (role_names): actualy order so it
643 corresponds with the enum !
645 * test/test-simple.c (test_roles): check some role strings
646 vs. enums to detect offset errors.
648 2001-12-01 Michael Meeks <michael@ximian.com>
650 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
652 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
654 (Accessible_getChildAtIndex): use cspi_add_check so we
655 check the ev before using a (possibly) invalid value.
657 * libspi/accessible.c
658 (impl_accessibility_accessible_get_parent): don't segv
661 * at-bridge/bridge.c (gtk_module_init): upd.
662 (bridge_property_event_listener): don't leak strings
664 (bridge_state_event_listener),
665 (bridge_property_event_listener): don't use a static
666 buffer in case of recursive event emission &
667 re-enterancy - split out the swathe of cut and paste
669 (emit_eventv): and fix 2 ref leaks here & comply to the
671 (bridge_register_app): rename to
672 (bridge_idle_init): this and kill arg parsing, split
673 various inits & bonobo-activation registration to module
674 init time, kill referencing error.
675 (bridge_exit_func): fix the same leak.
676 (bridge_focus_tracker): don't leak event structures
678 (bridge_signal_listener): more leakage and cut & paste
680 (bridge_key_listener): return the result - FIXME is
681 this polarity correct ?
682 (accessibility_keystroke_from_atk_key_event): rename
683 (accessibility_init_keystroke_from_atk_key_event): and stop
685 (gtk_module_init): return a value - not that it is checked by
687 (bridge_key_listener): register my horror at casting between
689 (bridge_get_registry): kill - not used.
691 * cspi/spi_accessible.c (Accessible_getRole): make return const.
693 * test/test-simple.c (test_roles): impl.
694 (test_desktop, validate_accessible, validate_tree): impl.
696 * cspi/spi_accessible.c (role_names): fixup bogus
697 MAX_ROLES setup, make constants const for efficient linkage
698 (AccessibleRole_getName): conform to coding style, make
701 2001-11-30 Michael Meeks <michael@ximian.com>
703 * cspi/spi.h: add missing prototype.
705 * libspi/registry.c (spi_listener_struct_new): fix sig.
707 * test/Makefile.am: add test-simple
709 * test/test-simple.c: add
713 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
715 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
716 do it straight - since otherwise we often get an activation race.
718 [ work before Bill duplicated a chunk of it ... ]
719 2001-11-30 Michael Meeks <michael@ximian.com>
721 * libspi/keystrokelistener.c
722 (spi_keystroke_listener_class_init): fixup arg
725 * libspi/eventlistener.c
726 (spi_event_listener_class_init): ditto.
728 * tests/test.sh: add.
730 * cspi/spi-listener-impl.h: update macros.
732 * cspi/spi-listener-impl.c
733 (cspi_event_listener_remove_callback): add
734 correct pre-conditions.
736 * cspi/spi_main.c (SPI_exit): guard vs. double
737 exits, exit the mainloop nicely.
738 (SPI_event_main): make more sense.
739 (SPI_init): move the atexit evilness here so we
741 (SPI_event_main): upd.
743 * test/simple-at.c: update for listener changes.
745 * registryd/registryd.c (main): prune kruft.
747 * libspi/libspi.h: upd.
749 * libspi/eventlistener.[ch]: rename broken macros.
751 * libspi/accessibleeventlistener.[ch]: remove.
753 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
755 * test/test-simple.c: Add - automated tests.
757 * cspi/spi-listener-impl.c (cspi_event),
758 (cspi_key_event): add user_data to invoke.
759 (cspi_keystroke_listener_finalize): impl.
760 (cspi_keystroke_listener_class_init): upd.
763 (createAccessibleEventListener),
764 (AccessibleEventListener_addCallback),
765 (createAccessibleKeystrokeListener),
766 (AccessibleKeystrokeListener_addCallback): upd.
768 * libspi/deviceeventcontroller.c
769 (spi_device_event_controller_check_key_event): add public proto.
772 (impl_accessibility_registry_deregister_global_event_listener):
773 always init listeners.
774 (_registry_notify_listeners): yes it is.
776 * cspi/spi-listener-impl.c (cspi_key_event):
778 (cspi_event_listener_finalize): impl.
779 (cspi_event_listener_class_init): hook up.
780 (event_handler_new, event_handler_free),
781 (event_list_remove_by_callback): impl.
782 (cspi_event_listener_remove_callback),
783 (cspi_keystroke_listener_remove_callback),
784 (cspi_keystroke_listener_add_callback),
785 (cspi_event_listener_add_callback): upd.
787 * libspi/keystrokelistener.c
788 (keystroke_listener_object_finalize): kill
789 (spi_keystroke_listener_class_init): upd.
790 (spi_keystroke_listener_add_callback),
791 (spi_keystroke_listener_remove_callback): kill,
793 (impl_key_event): prune drasticaly.
795 * libspi/eventlistener.c
796 (spi_event_listener_add_callback),
797 (spi_event_listener_remove_callback): kill, use
799 (impl_accessible_event_notify_event): upd.
800 (spi_event_listener_object_finalize): remove.
802 * libspi/Makefile.am: use eventlistener.[ch]
804 2001-12-04 Bill Haneman <bill.haneman@sun.com>
806 * libspi/registry.c (_registry_notify_listeners):
807 Changed listener loop iteration to use preferred convention.
808 Got rid of string memory leaks caused be calling g_strconcat
809 inside function calls.
811 * libspi/registry.c (parse_event_type):
812 Stopped g_strconcat memory leaks, free the g_strsplit return,
813 g_strdup the split pieces when used, etc.
815 2001-12-04 Bill Haneman <bill.haneman@sun.com>
818 Change method 'compare' to return a 'difference set' rather than
819 taking a StateSet as an out parameter (more Java-friendly).
821 * idl/Accessible.idl:
822 Added CORBA struct 'BoundingBox', to faciliate API changes below:
826 Changed methods 'getExtents' and 'getImageExtents' in these
827 interfaces to return a BoundingBox structure.
828 (getPosition and getSize are redundant and possibly should be
829 removed, rather than creating a corresponding Point struct.)
831 * cspi/spi_component.c:
832 Modify implementation of getExtents to reflect the above IDL
837 Add (missing) AccessibleImage_getExtents () API.
839 * docs/reference/cspi/at-spi-cspi-sections.txt:
840 Added AccessibleImage_getImageExtents () to docs.
842 2001-12-03 Bill Haneman <bill.haneman@sun.com>
845 Added two methods, getLayer () and getMDIZOrder (), to reflect
846 the new ATK methods atk_object_get_layer and
847 atk_object_get_mdi_z_order. (Which arguably should be part of the
848 AtkComponent API and AtkObject). Also added an enum,
849 ComponentLayer, for the first method's return value.
851 * libspi/component.c:
852 Added implementations for these methods.
854 * cspi/spi_component.c:
856 Added cspi binding methods for above,
857 AccessibleComponent_getLayer() and
858 AccessibleComponent_getMDIZOrder().
859 Added cspi enum 'AccessibleComponentLayer'.
861 * docs/reference/cspi/at-spi-cspi-sections.txt:
862 Added above methods to docs.
866 Changed typedef for 'boolean' type (and all references to it) to
867 SPIBoolean, to avoid keyword clashes with C++.
870 Changed usages of 'boolean' to SPIBoolean.
872 * test/keysynth-demo.c:
873 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
874 app), except where SPIBoolean is required by the callbacks API.
876 2001-12-02 Bill Haneman <bill.haneman@sun.com>
878 * cspi/spi_registry.c:
879 Removed obsolete X event loop for passive keygrabs (which now
882 * registryd/registryd.c:
883 Removed unnecessary call to gdk_init() [cruft]. This also allows
884 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
887 2001-11-28 Bill Haneman <bill.haneman@sun.com>
889 * docs/reference/cspi:
890 Included docs for SPI_freeString in generated documentation.
893 Renamed spi_freeString to SPI_freeString, for consistency. Added
894 documentation for this function.
897 Renamed spi_freeString to SPI_freeString, for consistency.
898 Removed obsolete method declaration string_from_corba_string.
900 * test/keysynth-demo.c:
901 Small tweak to comments.
904 Stopped leaking the strings returned from CSPI.
906 2001-11-28 Bill Haneman <bill.haneman@sun.com>
908 Merged Michael's branch (see his ChangeLog entries below).
910 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
911 bridge is alive, release on exit.
913 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
914 Fix type check macro.
917 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
920 Added is_gnome_app static, and method cspi_is_gnome_app(),
921 so we can call the appropriate shutdown routine at exit in SPI_exit.
923 * cspi/spi_main.c (cspi_object_ref):
924 Duplicate the corba object passed in, since we're keeping it around.
926 * cspi/SPI_exit.c, cspi_cleanup:
927 Moved the releasing of the live refs to its own function, so we
928 can put it in g_atexit (). Call the appropriate shutdown API
929 depending on whethe calling client is a gnome app or not
930 (bonobo_main_quit or CORBA_ORB_shutdown).
932 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
933 Unref the listener when this method is called, after
934 deregistration. Updated the API docs to note this behavior.
936 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
937 Bugfixes: Ref the bonobo object when returning a parent or child
938 reference, or an AccessibleRelation. Generally made sure
939 BonoboObject refcount is incremented whenever we return an
942 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
943 Fixed typo/bug in signal declaration.
945 * libspi/accessibleeventlistener.h:
948 * libspi/application.c (spi_application_new):
949 Fixed leak in initialization.
952 Remembered to increment bonobo-object refcount when returning
953 children (applications) from desktop object.
954 Added (empty) finalize method.
956 * libspi/deviceeventcontroller.c:
957 Hold a ref to listeners inside DEControllerKeyListeners.
958 Added dec_key_listener_free() method. Use prepend instead of
959 append in key_listener list. Fixed some refcount madness and
960 leaks in the listener registration/deregistration - deregistration
961 now calls dec_key_listener_free() on listeners, and on the
962 temporarily constructed dec_key_listener() used to perform the search/match.
964 * libspi/hypertext.c (spi_hypertest_finalize):
965 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
966 class. Also fixed spi_hypertext_interface_new() and
967 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
969 * libspi/hypertext.h:
970 Removed pointless and duplicate AtkObject pointer from
973 * libspi/keystrokelistener.c:
974 Fixed incorrect type of keystroke_listener_parent_class,
975 renamed keystroke_listener_object_finalize to
976 spi_keystroke_listener_object_finalize.
977 Fixed typo in signal declaration
978 (spi_keystroke_listener_class_init).
981 Added funcsions spi_listener_struct_new() and
982 spi_listener_struct_free() to help with memory management issues.
983 We also now use these methods instead of gnew + poking stuff into
984 the struct, and to decrement listener counts/free the listeners
985 when deregistering them.
986 Fix more refcount bugs in getDesktop() and
987 getDeviceEventController().
990 De-ref the desktop after enumerating the applications. Explicitly
991 decrement the refcounts on the created listeners on exit (using
992 _unref for keystroke listeners, and via the
993 deregisterGlobalEventListenerAll command for other event
996 2001-11-27 Michael Meeks <michael@ximian.com>
998 * cspi/spi-listener.h: fixup enum.
1000 2001-11-27 Michael Meeks <michael@ximian.com>
1002 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1003 (cspi_keystroke_listener_new): Use the cspi variants.
1005 2001-11-26 Michael Meeks <michael@ximian.com>
1007 * test/keysynth-demo.c: fix 2 compile warnings, missing
1010 * test/simple-at.c (report_focussed_accessible),
1011 (report_focus_event, report_button_press),
1012 (check_property_change, is_command_key),
1013 (report_ordinary_key_event, report_command_key_event): upd.
1015 * util/mag_client.h: include pre-requisites.
1017 * libspi/accessibleeventlistener.c
1018 (spi_event_listener_object_finalize): free any lingering
1021 * libspi/keystrokelistener.c
1022 (keystroke_listener_object_finalize): ditto.
1024 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1025 callbacks, with cspi types.
1027 * cspi/spi_event.c (createAccessibleEventListener): chain to
1028 (AccessibleEventListener_addCallback): here.
1029 (createAccessibleKeystrokeListener): chain to
1030 (AccessibleKeystrokeListener_addCallback): here.
1032 * libspi/keystrokelistener.c
1033 (spi_keystroke_listener_class_init): add signal.
1034 (impl_key_event): emit the event.
1035 (boolean_handled_accumulator): impl.
1036 (marshal_BOOLEAN__POINTER): add, gack.
1038 * libspi/accessibleeventlistener.c
1039 (spi_event_listener_class_init): add signal.
1040 (impl_accessible_event_notify_event): emit the signal &
1041 make the loop efficient.
1042 (spi_event_listener_add_callback): prepend the callback.
1044 * libspi/accessibleeventlistener.h: add an 'event' signal,
1045 decl type on callback.
1047 * libspi/keystrokelistener.h: ditto.
1049 * cspi/spi-listener.h: make methods typesafe and
1050 make them use the new event typedefs.
1052 * test/simple-at.c (report_focussed_accessible):
1053 include mag_client.h
1054 Use *(void *)text_interface not the other thing.
1056 * configure.in: add gtk to registryd bits - since we use
1059 * util/magnifier.c: include libbonobo.h
1061 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1063 * test/keysynth-demo.c:
1064 Turned this into a simple scanning keyboard, to demonstrate the
1065 use of g_timeout_add () as a means of creating timers for
1066 scanning, and the use of GtkStyle for visually indicating when
1067 virtual keyboard elements are selected.
1069 keysynth-demo now listens to any keyboard keys with zero-valued
1070 keycodes (i.e. 'unused' keys) and interprets them as
1073 Reworked the shiftlatch code so that shift-down state isn't held
1074 for long periods (it's only synthesized immediately prior to
1075 the keysynth event it's modifying). Note that shiftlatch in this
1076 demo is a convenience, not intended to take the place of AccessX
1077 which is the better choice for getting 'sticky' modifier keys.
1079 * libspi/deviceeventcontroller.c:
1080 * at-bridge/bridge.c:
1081 * cspi/spi_registry.c:
1082 Removed some debug print stuff, and put other verbosity in #ifdef
1087 Implemented some more of the magnifier IDL for the simple
1088 magnifier: namely, getZoomRegionParams.
1089 Added mag_x and mag_y members to MagnifierData struct, aid of this
1091 Added GtkWindow::realize signal handler to magnifier, to keep it
1092 from receiving keyboard focus from the WM.
1094 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1096 * cspi/spi-private.h: my guess at what michael forgot
1097 before he ran off to NZ :-)
1099 2001-11-23 Michael Meeks <michael@ximian.com>
1101 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1102 comment out non existant method invoke so we link.
1104 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1105 use bonobo_exception_get_text for more friendly warnings.
1107 * cspi/spi.c (Obj_Add): move into spi_main & rename
1108 spi_object_add; kill spi.c
1110 * cspi/spi_registry.c
1111 (deregisterGlobalEventListener),
1112 (deregisterGlobalEventListenerAll),
1113 (registerGlobalEventListener): fix exception leaks.
1115 * cspi/spi_main.c (spi_exception): impl. helper, so we
1116 don't leak exceptions.
1118 * cspi/spi_selection.c
1119 (AccessibleSelection_deselectSelectedChild): return the
1122 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1123 (spi_registry): ditto.
1124 (SPI_init): guard against double inits.
1126 * cspi/*.c: use spi_ev (), and spi_registry () where
1127 appropriate - a temporary hack until we have something
1128 better. Use spi_object_add
1130 2001-11-22 Michael Meeks <michael@ximian.com>
1132 * cspi/Makefile.am: re organise, install the headers.
1134 * cspi/*.h: add G_BEGIN/END_DECLS
1136 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1139 Added non-preemptive keylistener for key events with no modifiers
1140 and shift-only modifier.
1142 * libspi/keystrokelistener.c:
1143 Removed some verbose diagnostics printout.
1145 * cspi/spi_registry.c:
1146 Fixed a bug that caused all key listeners to be registered as
1149 * libspi/deviceeventcontroller.c:
1150 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1151 for non-preemptive key masks.
1154 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1156 * docs/reference/idl/at-spi-idl-docs.sgml:
1157 * docs/reference/idl/at-spi-idl-sections.txt:
1158 * docs/reference/idl/at-spi-idl-overrides.txt:
1159 Added missing files.
1161 * docs/reference/Makefile.am:
1162 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1163 to scan the IDL files :-(
1168 Added .cvsignore files.
1170 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1172 * libspi/deviceeventcontroller.c:
1173 * libspi/keystrokelistener.c:
1175 * cspi/spi_registry.c:
1176 Added filters for KeySets, KeyEventSeq, and event types to key
1177 event dispatching, so listeners should only receive those events
1178 that they requested :-)
1180 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1185 * docs/reference:Makefile.am:
1186 * docs/reference/cspi:
1187 * docs/reference/cspi:Makefile.am:
1188 * docs/reference/cspi:tmpl:
1189 * docs/reference/cspi:tmpl:*.sgml:
1190 * docs/reference/idl:
1191 * docs/reference/idl:Makefile.am:
1192 * docs/reference/idl:at-spi-idl-sections.txt:
1193 * docs/reference/idl:at-spi-idl-docs.sgml:
1194 * docs/reference/idl:tmpl:
1195 * docs/reference/idl:tmpl:*.sgml:
1197 Restructured docs directory to allow separate 'reference' docs
1198 section, and forked idl and cspi docs. Added the sgml template
1199 files to CVS. Added the first sections/structural sgml for the
1202 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1204 * configure.in, libspi/Makefile.am: find libXtst.
1206 2001-11-21 Michael Meeks <michael@ximian.com>
1208 * test/accessx-gui.c: s/spi_value/value/ - doh.
1210 * libspi/base.[ch]: add.
1212 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1214 * idl/Accessible.idl:
1215 * idl/Application.idl:
1218 Started gtk-doc cleanup on IDL.
1220 * libspi/deviceeventcontroller.c:
1221 Added and connected non-preemptive key notification from the
1222 toolkits (in addition to the pre-emptive support from XServer
1223 which we had before, but which causes 'focus flashing'). Filters
1224 are presently limited to key modifiers and global/non-global,
1225 KeySets are presently ignored, as are KeyEvent masks.
1227 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1228 structs into the persistant structure rather than just storing
1229 pointers to things that might not persist across servant
1232 The XGrabKey call now does async keygrabs, because synchronous
1233 ones were deadlocking with GDK_event code in a very nasty way.
1235 Added boolean to internal method notify_keylisteners, to indicate
1236 whether the event came from the 'toolkit source' or the 'global
1237 (XServer) source' - this is used in the notification process to
1238 determine which listeners to send the event to.
1240 deviceeventcontroller.c is now warning-free.
1242 * libspi/registry.c:
1243 Fixed regression in application de-registration.
1244 Also fixed some really brain-dead weirdness having to do with
1245 event dispatching - event structs are now duplicated before being
1246 re-marshalled in the dispatch to listeners. This also fixes a
1247 Solaris build problem.
1250 2001-20-11 Michael Meeks <michael@ximian.com>
1253 (impl_accessibility_registry_deregister_global_event_listener):
1256 * libspi/deviceeventcontroller.c
1257 (spi_device_event_controller_check_key_event): return
1258 FALSE on no virtual method.
1260 * libspi/*..h: make includes work on a correctly pathed install.
1262 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1264 * libspi/application.h: kill unused ( and whacked out )
1265 gboolean *spi_application_set_id (AtkObject *app, long id);
1267 2001-20-11 Michael Meeks <michael@ximian.com>
1269 * libspi/*.[ch]: further convert to bonobo's type func
1270 macros, remove redundnant casts etc.
1272 * libspi/text.c s/accessibility_text/spi_text/g,
1273 re-order to de-cruft.
1275 * libspi/hypertext.c: re-order to kill a huge slew
1276 of redundant forward decls.
1278 * libspi/relation.c: ditto.
1280 * libspi/image.c: ditto.
1282 * */.cvsignore: update
1284 2001-20-11 Michael Meeks <michael@ximian.com>
1286 * libspi/deviceeventcontroller.c
1287 (_controller_register_with_devices): use g_getenv,
1288 kill stdlib.h include.
1290 * libspi/keystrokelistener.c
1291 (spi_keystroke_listener_get_type): kill
1292 (spi_keystroke_listener_class_init),
1293 (spi_keystroke_listener_init): rename to this.
1295 * libspi/text.c (impl_getAttributes): fix warning / bug.
1297 * libspi/*.[ch]: more headers, includes and over commenting.
1299 2001-20-11 Michael Meeks <michael@ximian.com>
1301 * libspi/*.[ch]: fixup headers, includes and over commenting.
1303 * libspi/image.c (impl__get_imageDescription): const
1304 correctness warning fix. remove redundant casting.
1306 * libspi/table.c (impl_getRowDescription): ditto.
1307 (impl_getColumnDescription): ditto.
1309 * libspi/libspi.h: add.
1311 2001-19-11 Michael Meeks <michael@ximian.com>
1313 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1315 * libspi/component.c (accessibility_component_get_type):
1316 rename to (spi_component_get_type): and macroify.
1317 (accessibility_component_init): rename to
1318 (spi_component_init): this
1319 (accessibility_component_class_init): rename to
1320 (spi_component_class_init): this
1322 * libspi/action.c (spi_action_get_type): kill, use the macro.
1324 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1327 * libspi/application.c (spi_application_object_event_listener),
1328 (impl_accessibility_application_register_object_event_listener):
1329 warning fixes / const understanding updates.
1331 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1334 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1336 * libspi/spi_accessible.c: Added docs and C bindings for
1337 AccessibleStateSet. (No implementations yet). Documentation
1338 coverage for C bindings now 100%. Made docs for event listeners
1343 boolean notifyListenersSync (in DeviceEventListener listener,
1344 in DeviceEvent event);
1346 oneway void notifyListenersAsync (in DeviceEventListener listener,
1347 in DeviceEvent event);
1349 Added DeviceEventListener and DeviceEvent structs (may deprecate
1350 KeyStroke and KeystrokeListener in favor of this generic
1351 event/listener framework for devices).
1353 * libspi/deviceeventcontroller.c:
1355 Changed some key listener code to take masks, etc., and paved the
1356 way for integration of toolkit/non-preemptive key events. Changed
1357 signatures of some internal methods.
1359 * at-bridge/bridge.c:
1360 Fixed regression connecting to interface signals, apparently
1361 caused by GTK+ changes.
1363 Added an internal bridge_state_listener to deal with
1364 property-change:accessible-state signals.
1366 Changed the key_listeners GList to store structs (including masks,
1367 etc.) instead of just CORBA_Objects (required for full
1368 implementation of key listener API).
1370 Connected the bridge to all currently supported Atk signals.
1371 Events now supported:
1372 object:property-change
1373 object:property-change:accessible-name
1374 object:property-change:accessible-state
1375 object:property-change:accessible-description
1376 object:property-change:accessible-parent
1377 object:property-change:accessible-value
1378 object:property-change:accessible-role
1379 object:property-change:accessible-table-caption
1380 object:property-change:accessible-table-column-description
1381 object:property-change:accessible-table-column-header
1382 object:property-change:accessible-table-row-description
1383 object:property-change:accessible-table-row-header
1384 object:property-change:accessible-table-summary
1385 object:children-changed
1386 object:visible-data-changed
1387 object:selection-changed
1388 object:text-selection-changed
1390 object:text-caret-moved
1392 object:row-reordered
1394 object:column-inserted
1395 object:column-reordered
1396 object:column-deleted
1397 object:model-changed
1399 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1401 * libspi/hyperlink.c,h:
1402 Fixed some broken stuff in hyperlink.
1404 * libspi/relation.h:
1405 * libspi/relation.c:
1406 * cspi/spi_accessible.c:
1407 Initial implementations of AccessibleRelation methods, and docs.
1409 * libspi/accessible.c:
1410 Fixed a bug that caused SEGV if an accessible
1411 object's description is NULL, and a client
1412 requests it. An empty string is now returned.
1414 * cspi/spi_editabletext.c:
1415 * cspi/spi_hypertext.c:
1417 * cspi/spi_hyperlink.c:
1421 Doc coverage now 95%.
1423 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1425 One last namespacing revision:
1426 * libspi/accessibleeventlistener.[ch]:
1427 Renamed SpiAccessibleEventListener to SpiEventListener,
1428 (no need for two namespaces ;-)
1430 And lots of documentation fixes:
1432 * docs/at-spi-docs.sgml:
1433 Fixed 'underscore vs. hyphen' bug that was preventing
1434 the gtk-doc API docs from being automatically generated.
1437 * cspi/spi-listener.h
1439 * cspi/spi_accessible.c
1441 * cspi/spi_application.c
1442 * cspi/spi_component.c
1443 * cspi/spi_editabletext.c
1445 * cspi/spi_hypertext.c
1447 * cspi/spi_registry.c
1448 * cspi/spi_selection.c
1452 * docs/at-spi-docs.sgml
1453 * docs/at-spi-sections.txt
1455 Added and fixed up gtk-doc documentation in cspi.
1457 Interfaces now (fully) documented (subject to revision and enhancement):
1459 Event Listener Support
1461 AccessibleApplication
1465 AccessibleEditableText
1472 AccessibleRelationSet
1477 2001-14-11 Bill Haneman <bill.haneman@sun.com>
1479 * at-bridge/bridge.c:
1480 Initial work for toolkit-level key snooper connection by bridge.
1485 New typedefs and fixes to support new namespacing, and cleaner
1486 separation of cspi bindings from libspi bonobo implementation.
1487 Removed inconsistent and extraneous Spi* namespace prefix that
1488 had crept into cspi headers.
1489 Lots of comment fixes that sed had missed.
1491 * cspi/spi-roletypes.h:
1492 * cspi/spi-statetypes.h:
1493 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
1494 to AccessibleRoleType.
1496 * libspi/accessibleeventlistener.h:
1497 Fixed minor namespacing weirdness.
1499 * libspi/deviceeventcontroller.c:
1500 Reordered some internal API for device listeners.
1501 Changed the key registry final boolean to 'is_system_global'
1502 rather than 'is_synchronous', which is more descriptive of its
1504 Added spi_device_event_controller_new().
1505 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
1507 * libspi/keystrokelistener.[ch]:
1508 Namespaced KeystrokeListener to SpiKeystrokeListener.
1509 Changed uses of keymasks to use SPI_ prefix, and did other
1512 * libspi/keymasks.h:
1513 Namespaced keymask constants with SPI_ prefix.
1515 * libspi/registry.c:
1516 Some warning fixes, and knock-on fixes from namespace changes.
1519 Added rules for accessx-gui test program.
1521 * test/accessx-gui.c:
1522 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
1523 utility. It doesn't actually use at-spi, but it's still cool and
1526 * test/keysynth-demo.c:
1530 Fixes so that these test clients work properly with the namespaced
1531 libraries. (Incompletely tested for technical reasons, fixes may follow)
1534 2001-13-11 Michael Meeks <michael@ximian.com>
1536 * libspi/application.c
1537 (impl_accessibility_application_get_version),
1538 (impl_accessibility_application_get_toolkit_name):
1540 (impl_accessibility_application_set_id),
1541 (impl_accessibility_application_get_id): remove
1542 redundant casting code.
1544 * libspi/action.c (impl_getDescription): fix warnings.
1546 * libspi/accessible.c
1547 (impl_accessibility_accessible_get_parent),
1548 (impl_accessibility_accessible_get_child_at_index),
1549 (impl_accessibility_accessible_get_state),
1550 (impl_accessibility_accessible_get_relation_set):
1551 warning fixes & include action.h
1553 2001-13-11 Michael Meeks <michael@ximian.com>
1555 * *.[ch] fix bits I screwed up:
1557 s/([^ \tb(\*\&\?\",])spi_/\1/g;
1558 s/([^ \tb(\*\&\?\",])Spi/\1/g;
1560 2001-13-11 Michael Meeks <michael@ximian.com>
1562 * *.[ch] Namespace libspi into spi_ and Spi.
1564 2001-13-11 Michael Meeks <michael@ximian.com>
1566 * Makefile.am: dist & install at-spi-1.0.pc
1568 * libspi/Makefile.am: install into at-spi-1.0
1570 * idl/Makefile.am (idldir): install into at-spi-1.0
1572 * at-spi-1.0.pc.in: add.
1574 * configure.in: build it.
1576 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1578 * test/keysynth-demo.c:
1579 Use a 'realize' signal-handler to set the WM properties for
1580 the virtual keyboard, rather than making it a "POPUP" type
1581 override-redirect window (thanks to anders carlsson for that
1584 2001-11-11 Bill Haneman <bill.haneman@sun.com>
1587 * test/keysynth-demo.c:
1588 Added new test of key synthesis, which creates a simple
1589 (mouse-operated) onscreen keyboard. It inserts key events into
1590 the currently-focused window, thus it does not grab keyboard focus
1593 * cspi/spi_registry.c:
1594 Added C binding for AT-SPI generateKeyEvent.
1596 * libspi/deviceeventcontroller.c:
1597 Added call to XFilterEvent so that key listener works with XIM (we
1598 hope). Added event_synth_type to generateKeyEvent, so that we can
1599 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
1600 synthesize a press/release pair for KeySyms.
1602 2001-11-09 Bill Haneman <bill.haneman@sun.com>
1604 * libspi/Makefile.am:
1605 * registryd/Makefile.am:
1606 (temporary) hack to include libXtst in libspi and registryd.
1607 (Needed for keystroke synthesis, see below).
1610 Improved API for registerKeystrokeListener, in accordance with
1611 discussions with Gnopernicus team and X server research.
1613 * libspi/registry.c:
1614 * libspi/deviceeventcontroller.c:
1615 * libspi/accessible.c:
1616 * libspi/keystrokelistener.c:
1617 Changes and fixes to support keylisteners for potentially
1618 consumed key events (that is, 'passive grabs').
1619 Added implementation for generateKeyEvent() [untested].
1622 Changes to registerKeystrokeListener() API, as above.
1623 Added deregisterGlobalEventListenerAll(), and
1624 deregisterKeystrokeListener(), which are needed for clean exit of
1626 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
1627 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
1629 * cspi/spi_registry.c:
1630 Added implementations of function prototypes mentioned above.
1632 * registryd/registryd.c:
1633 Added the key listener event source as a g_timeout(), to allow
1634 receipt of key events that are not caught by GDK (since GDK
1635 doesn't support passive keygrabs, this was necessary).
1638 Changed to attach a keylistener to 'Alt' keys, and
1639 respond to the following keycommands: Alt-M (toggle magnifier);
1640 Alt-F (toggle speech); Alt-Q (quit).
1641 Added an exit routine to deregister the listeners, and a key
1642 listener that prints some key info to the console when a key
1643 matches the listener mask (and is thus received by the listener).
1645 * util/idl/Magnifier.idl:
1646 Changes to magnifier API to support multiple zoom regions,
1647 non-uniform scaling in x and y, markDirty, and a host of other
1648 features that would be useful to magnification.
1651 * util/mag_client.c:
1652 * util/mag_client.h:
1653 * util/mag_control.c:
1655 Source code changes to support the above IDL changes.
1658 As above, and also changes to use a (slower) generic conversion
1659 path for colormap conversions, since the fast RGB conversions have been
1660 reported to fail for 16-bit displays.
1662 2001-10-26 Michael Meeks <michael@ximian.com>
1664 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
1666 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
1668 * at-bridge/Makefile.am: fix LDFLAGS.
1670 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1672 * at-bridge/bridge.c:
1673 Re-worked listeners for toolkit events, now we have signal
1674 and property listeners. Added a private method
1675 register_atk_event_listeners(), which registers with the
1676 various atk and gtk signals we need to monitor in order to emit
1678 Added emission hook for AtkObject:property-change events, to
1679 support the 'property listeners'.
1680 Fixed some alloc()s of Accessibility_Event structs to use CORBA
1683 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
1684 which emit warnings and exit, respectively, if CORBA errors occur
1685 during remote calls, and we now use these methods to check most of
1686 our CORBA calls in the C bindings.
1688 * cspi/spi_accessible.c:
1689 Changed AccessibleSelection_refSelectedChild() to
1690 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
1691 now increment refcounts.
1693 * cspi/spi_component.c:
1694 Fixed some long pointer casts (dangerous!) to pass pointers to
1695 CORBA_longs of the proper type to the CORBA stubs, and copy the
1696 data into the longs that were passed into the C bindings code.
1698 * at-bridge/bridge.c:
1700 * libspi/accessible.c:
1701 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
1702 hyperlinks, AtkHyperlink is an object type.
1704 * libspi/application.c:
1705 Added various conversions to and from "generic" event types and
1706 atk-specific types; this is really part of the 'bridge'
1707 implementation but is valid for all AtkObject-based accessibility
1710 * libspi/editabletext.c:
1711 Fixed nasty bug wherein editable text's finalize method was
1712 unref'ing tha AtkObject reference that the text parent class was
1713 about to unref _again_. There was also a nasty inheritance bug
1714 that meant that the AccessibleEditableText class was corrupt.
1716 * libspi/selection.c:
1717 Provided implementations for some selection API that was broken.
1719 * idl/Application.idl:
1720 Added registerObjectEventListener () method.
1723 Fixed a number of return values that were Bonobo_Unknowns from
1724 bonobo_object_corba_objref(), which I
1725 forgot to dup before returning. Changed instances of
1726 bonobo_object_corba_objref (bonobo_object(o)) to
1727 BONOBO_OBJREF(o), for concision and clarity.
1729 <2001-10-13 Louise Miller <louise.miller@sun.com>
1731 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
1732 idl/Event.idl, idl/Registry.idl
1733 Changed these files to include Bonobo_Unknown.idl instead
1736 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
1738 * libspi/component.c libspi/component.h:
1739 Fixed typo. Added assertions for object checks in
1740 AccessibleComponent code.
1742 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1744 * idl/Accessible.idl:
1745 Added 'isEqual (Accessible *object)'
1746 method for Accessible. (Not Yet Implemented).
1749 Changed signature of registerKeystrokeListener() to
1750 take a KeySet and KeyEventSeq so that specific keys and event
1751 types could be requested for monitoring, and added a flag
1752 is_synchronous so that either synchronous or asynchronous
1753 notification could be requested. (However this is not all
1754 implemented yet). This also meant adding two new typedefs,
1755 KeyEventSeq and KeySet.
1758 Added two new relations, RELATION_TOOLTIP_FOR and
1759 RELATION_LEAFNODE_OF.
1762 Added new state, STATE_HAS_TOOLTIP.
1764 * libspi/text.c, editabletext.c:
1765 Added new assertions to all casts of bonobo-objects from
1766 CORBA servants, to prevent Text API calls on non-text objects.
1767 Changed suspect casts of int-pointer types, so that we
1768 always send a valid CORBA_long pointer to the CORBA APIs that use
1769 in/out long parameters. We then have to copy from the CORBA_long
1770 into the regular long or int for return to the C bindings, or
1771 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
1774 * libspi/deviceeventcontroller.c:
1775 Cleaned these sources up.
1777 Changed return type for getCharacterAtOffset to
1778 CORBA_unsigned_long, to allow for 32-bit characters.
1781 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
1785 Fixed 'make dist' so that distro compiles...
1786 * libspi/keymasks.h:
1788 * cspi/spi-listener.c:
1789 KeystrokeListenerCB now returns a boolean.
1791 Added KeyEventType struct, and KeyStroke.
1792 Also added createKeystrokeListener(),
1793 KeystrokeListener_addCallback(),
1794 KeystrokeListener_removeCallback(), and added a keymask to
1795 registerKeystrokeListener().
1796 * cspi/spi_accessible.c:
1797 Changed numerous return types for interfaces from
1798 AccessibleComponent to Accessible<InterfaceName>; this was
1799 probably a cut-and-paste error.
1801 Implementations of new KeystrokeListener api (from spi.h,
1804 Changes to key modifier mapping.
1805 Created ControllerEventMask struct.
1806 Made DeviceEventController derive from Bonobo::Unknown.
1808 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
1809 * libspi/deviceeventcontroller.c:
1810 Added a number of new internal (private) methods.
1811 * libspi/editabletext.c:
1812 * libspi/editabletext.h:
1813 Fixed a number of bugs related to the fact that
1814 editabletext inherits from text. Fixed the EditableText struct,
1815 the init() call, and use correct casts when calling Text methods
1816 from an EditableText object. Removed (duplicate) atko from the
1817 EditableText structure, we use the one in the parent Text
1818 structure via the casts mentioned above.
1819 * libspi/keystrokelistener.[ch]:
1820 * libspi/registry.c:
1821 Changes in support of keyboard handling (above).
1823 Keyboard handling, though partly functional, is still not
1824 recommended for at-spi client use as there is considerable
1825 work yet to be done.
1828 Changed some places where pointers to various int types
1829 are cast to be pointers to CORBA_long types and vice-versa:
1830 pointer casting is not safe so we pass pointers of the correct
1831 types and then cast the result before putting it into the target
1834 * libspi/text.h: minor typos corrected.
1836 We now speak not only the name of a Text element, but the
1837 first sentence of its content, when it receives focus.
1838 I also changed the text compression to 75% from 50%.
1839 * util/Accessibility_Util.server.in:
1840 Changed the default magnifier type to be a 3x vertical
1841 splitscreen magnifier (was previously a 2x horizontal one).
1843 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
1845 * libspi/keystrokelistener.h:
1846 * libspi/keystrokelistener.c:
1847 Initial functional implementations of KeystrokeListener.
1850 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
1852 Fixed string handling for NULL strings in libspi.
1853 Added spi_freeString to free strings returned by C bindings.
1855 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
1857 * libspi/keystrokelistener.h:
1858 * libspi/keystrokelistener.c:
1859 Began (no-op) implementations of KeystrokeListener
1861 * libspi/deviceeventcontroller.c:
1862 * libspi/deviceeventcontroller.h:
1863 Began creating implementations of DeviceEventController,
1864 to handle keystroke and mouse event listening and
1866 * libspi/accessible.c:
1867 Stubbed-in the implementations for
1868 Accessibility_Accessible_getState and
1869 Accessibility_Accessible_getRelationSet.
1870 * libspi/registry.c:
1871 Improved de-registration process and fixed some bugs,
1872 deregistration now works correctly.
1874 Added initialization of applications list (to NULL).
1876 Reduced speech compression from 0.5 to 0.7, for demo.
1877 Changed call to gdk_window_set_decorations()
1878 to gtk_window_set_decorated().
1879 * at-bridge/bridge.c:
1880 Bridge now deregisters when app exits, via
1881 registration of a cleanup function
1882 with the g_atexit() call.
1883 Required making 'app' static, renamed 'this_app'.
1884 Fixed broken use of bonobo_init, passing argv wrongly.
1886 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
1890 Created a new directory for
1891 accessibility-related utilities, primarily for
1892 testing and demo purposes, but with possible
1899 Onscreen magnifier utility that
1900 is implemented as a bonobo service.
1902 * util/mag_client.c:
1903 * util/mag_client.h:
1904 Client-side support (simple C bindings)
1905 for Magnification service
1907 * util/mag_control.c:
1908 Client program example for
1909 Magnification service
1911 * util/Accessibility_Magnifier.server.in:
1912 Bonobo-activation file for the
1913 Magnification service.
1916 * util/idl/Magnifier.idl:
1917 IDL defining the bonobo Magnification
1921 Modifications to use the bonobo-activated magnifier
1922 above, in place of trying to connect to an existing
1923 magnifier that uses socket-listening IPC.
1925 If env variable MAGNIFIER is set, a magnifier service
1926 will be started if one does not exist.
1928 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
1929 * at-bridge/bridge.c:
1930 applied patch from Marc to build and run
1931 against new glib and gtk+ (seemed like a change
1932 to bonobo_init signature was made ?)
1934 made festival-server support turned off by default.
1935 Added support for a simple magnifier (off by default)
1936 which will be added to a 'util' directory later.
1937 * at-bridge/Makefile.am:
1938 Changed "application.h" header from a 'source'
1939 to a 'dependency' of libat-bridge.
1941 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
1949 Added interface implementation c files to list of
1950 includes so they are included in libcspi.
1953 Changed prototype of AccessibleAction_doAction to return a
1955 Changed prototype of AccessibleTable_getCaption to
1956 return an Accessible.
1957 Changed prototype of AccessibleTable_getSelectedRows
1958 and AccessibleTable_getSelectedColumns to
1959 return a long (returns the number of selected rows
1960 or columns respectively).
1961 Changed name of AccessibleText_refRunAttributes to
1962 AccessibleText_getAttributes.
1963 Changed prototype of AccessibleText_getCharacterExtents to
1964 return a void rather than a boolean.
1965 Added support for a AccessibleCoordType parameter
1966 specifying what type of coordinates are desired.
1967 Added an AccessibleCordType parameter to
1968 AccessibleText_getPointAtOffset.
1970 * cspi/spi_accessible.c:
1971 Added code to return the outstanding interfaces from
1972 Accessible_queryInterface.
1974 * cspi/spi_action.c:
1976 Corrected call to getNActions to call the c binding
1979 * cspi/spi_editabletext.c:
1981 Changed name from setRunAttributes to setAttributes.
1983 * cspi/spi_hyperlink.c:
1985 Changed call to getNAnchors to correctly call the c
1986 binding for an attribute.
1988 * cspi/spi_hypertext.c:
1990 Changed getImageDescription to correctly call the
1991 binding for an attribute.
1993 * cspi/spi_selection.c:
1994 Changed getNSelectedChildren to correctly call the c
1995 binding for the attribute.
1996 Changed refSelectedChild to getSelectedChild.
2000 Changed getCaption to return an Accessible.
2001 Fixed calls which retrieve attributes.
2002 Changed refAt to getAccessibleAt.
2003 Changed getNSelectedRows and getNSelectedColumns to
2007 Changed getCharacterExtents and getPointAtOffset to accept an
2008 AccessibleCoordType.
2010 Changed calls which retrieve attributes.
2011 Changed refRunAttributes to getAttributes.
2016 * idl/Hyperlink.idl:
2017 Changed n_anchors attribute to nAnchors to keep naming
2018 convention consistent.
2021 Made Table inherit from Bonobo::Unknown.
2022 Added nSelectedColumns and nSelectedRows attributes.
2025 Made Value inherit from Bonobo::Unknown.
2027 * libspi/hyperlink.c:
2028 Change for nAnchors attributte name change.
2030 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2038 Added interface implementation c files to list of
2039 includes so they are included in libcspi.
2042 Changed prototype of AccessibleAction_doAction to return a
2044 Changed prototype of AccessibleTable_getCaption to
2045 return an Accessible.
2046 Changed prototype of AccessibleTable_getSelectedRows
2047 and AccessibleTable_getSelectedColumns to
2048 return a long (returns the number of selected rows
2049 or columns respectively).
2050 Changed name of AccessibleText_refRunAttributes to
2051 AccessibleText_getAttributes.
2052 Changed prototype of AccessibleText_getCharacterExtents to
2053 return a void rather than a boolean.
2054 Added support for a AccessibleCoordType parameter
2055 specifying what type of coordinates are desired.
2056 Added an AccessibleCordType parameter to
2057 AccessibleText_getPointAtOffset.
2059 * cspi/spi_accessible.c:
2060 Added code to return the outstanding interfaces from
2061 Accessible_queryInterface.
2063 * cspi/spi_action.c:
2065 Corrected call to getNActions to call the c binding
2068 * cspi/spi_editabletext.c:
2070 Changed name from setRunAttributes to setAttributes.
2072 * cspi/spi_hyperlink.c:
2074 Changed call to getNAnchors to correctly call the c
2075 binding for an attribute.
2077 * cspi/spi_hypertext.c:
2079 Changed getImageDescription to correctly call the
2080 binding for an attribute.
2082 * cspi/spi_selection.c:
2083 Changed getNSelectedChildren to correctly call the c
2084 binding for the attribute.
2085 Changed refSelectedChild to getSelectedChild.
2089 Changed getCaption to return an Accessible.
2090 Fixed calls which retrieve attributes.
2091 Changed refAt to getAccessibleAt.
2092 Changed getNSelectedRows and getNSelectedColumns to
2096 Changed getCharacterExtents and getPointAtOffset to accept an
2097 AccessibleCoordType.
2099 Changed calls which retrieve attributes.
2100 Changed refRunAttributes to getAttributes.
2105 * idl/Hyperlink.idl:
2106 Changed n_anchors attribute to nAnchors to keep naming
2107 convention consistent.
2110 Made Table inherit from Bonobo::Unknown.
2111 Added nSelectedColumns and nSelectedRows attributes.
2114 Made Value inherit from Bonobo::Unknown.
2116 * libspi/hyperlink.c:
2117 Change for nAnchors attributte name change.
2120 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2122 implementations-- made server implementations own AtkObject pointers
2123 rather than their respective AtkInterrface pointers to fix
2124 refcounting. AtkHyperlink is still broken.
2126 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2127 * cspi/spi_accessible.c:
2128 Added method Accessible_Role_getName(),
2129 and requisite string array (role_names).
2130 Added conversion string_from_corba_strin() call
2131 to Accessible_getName and _getDescription.
2132 * libspi/accessible.c:
2133 Added implementation for Accessible_getRole()
2135 Added festival support, used if environment variable
2138 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2140 * at-bridge/bridge.c:
2141 Now allocate Accessibility_Event using
2142 Accessibility_Event__alloc() instead of g_new0().
2143 * libspi/accessibleeventlistener.c:
2144 Initialize AccessibleEventListener->callbacks to NULL.
2145 Fixed accessible__event_listener_init() param, changed to
2146 "AccessibleEventListener *" type.
2147 Changed a bonobo_object_release_unref() call to
2148 Accessibility_Accessible_unref().
2149 * libspi/listener.c:
2150 Changed Bonobo_Unknown_unref to (equivalent)
2151 Accessibility_Accessible_unref.
2152 * libspi/registry.c:
2153 Changed bonobo_object_release_unref to
2154 Accessibility_Accessible_unref.
2156 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2159 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2160 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2161 spi-util.c spi-util.h
2162 Implementations for C bindings to remaining accessibility
2165 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2168 changed return value of Action from void to boolean to
2169 bring in line with ATK.
2172 Changed getText funcions to return "out" start and end offsets.
2173 Changed getAttributes to take and offset and return the start
2174 and end offset of the attribute run.
2175 Changed getOffsetAtPoint and getCharacterExtents to take an
2176 enum describing whether coordinates are window or screen.
2179 libspi/action.c libspi/action.h libspi/editabletext.c
2180 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2181 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2182 libspi/image.h libspi/selection.c libspi/selection.h
2183 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2184 libspi/value.c libspi/value.h
2185 Added server implementations for outstanding ATK interfaces
2186 not yet implemented.
2188 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2191 Added (missing) getName() method.
2192 Made nActions an attribute.
2193 * idl/EditableText.idl:
2194 Changed order of params in setAttributes.
2195 * idl/Hyperlink.idl:
2196 Removed getAnchor, added getURI.
2198 Changed attributes to methods, for efficiency
2199 (so that getting extents can be done in one call)
2200 * idl/Selection.idl:
2201 Changed nSelectedChildren to attribute, and re-indented.
2202 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2204 * idl/Text.idl: reformatted to match our coding style.
2205 (temporarily?) removed getRowColumnAtOffset().
2206 Changed text selection API to support multi-select and
2207 non-contiguous selections, as in ATK.
2208 * idl/Value.idl: changed some methods to attributes.
2210 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2212 * libspi/listener.c(impl_notify_event):
2213 BonoboUnkown_unref the source instead
2214 of bonobo_object_release_unref - the ORB
2215 handles the releasing.
2217 * configure.in: require ORBit-2.3.94 for
2220 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2222 Tagged CVS repository 'EA_1_0'.
2223 * README.EARLY_ACCESS:
2224 Alphabetized acknowledgements list, and
2226 Listed some known dependencies of at-spi.
2228 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2230 * docs/at-spi-docs.sgml:
2231 * docs/at-spi-sections.txt:
2232 * docs/at-spi-overrides.txt: (Added zero-length file)
2233 Documentation improvements - gtk-doc should build
2234 docs for all implemented C bindings now.
2237 * cspi/spi.c: (New file)
2238 * cspi/spi_event.c: (New file)
2239 * cspi/spi_registry.c: (New file)
2240 * cspi/spi_accessible.c: (New file)
2241 * cspi/spi_application.c: (New file)
2242 * cspi/spi_component.c: (New file)
2243 Split spi_main.c into six parts, and included them from
2244 "spi.c". This is a bit of a hack, probably temporary,
2245 but required by gtk-doc, apparently.
2247 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2250 * docs/at-spi-docs.sgml:
2251 * docs/at-spi-sections.txt:
2253 Initial checkins/modifications for gtk-doc generation.
2256 Added (missing) interface query methods to Accessible's C binding.
2258 Added GenericInterface type definition.
2260 Added query for AccessibleComponent interface to focus event handler.
2261 Added printout of bounding box for focussed component.
2262 * libspi/component.c:
2263 Added partial implementation for AccessibleComponent to C binding.
2264 * idl/Application.idl:
2265 * libspi/registry.c:
2266 * libspi/listener.c:
2267 * libspi/application.c:
2268 * libspi/application.h:
2269 Changed "ID" attribute type from string to long.
2271 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2275 Made method naming consistent: methods taking object args
2276 start with uppercase, other methods (except those using
2277 acronyms) start with lowercase. Underscores delimit between
2278 object names and method names:
2279 SPI_init() - uppercase since it starts with an acronym.
2280 getDesktopCount () - lowercase start since no object param0.
2281 Accessible_getName() - uppercase object type name, studlyCaps method
2285 Added gtk-doc documentation for all currently implemented
2286 methods in the C bindings API.
2288 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2290 * Makefile.am : changed build order to build test last.
2293 Changed "createEventListener" to "CreateEventListener".
2294 * libspi/accessibleeventlistener.c :
2295 Bugfix for addition of callbacks.
2296 * test/Makefile.am :
2297 * test/simple-at.c :
2298 Added new test that uses the C bindings API.
2300 * libspi/listener.c :
2301 * libspi/registry.c :
2302 * libspi/accessibleeventlistener.c :
2303 * at-bridge/bridge.c :
2304 Renamed member "target" of Accessibility_Event to "source",
2305 which is more descriptive.
2308 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2312 * cspi/Makefile.am :
2313 Added makefile support for at-spi/cspi directory.
2316 * cspi/spi-listener.h : (NEW FILE)
2317 Added support for/use of spi-listener.h.
2319 C bindings now build successfully, with no warnings.
2320 * libspi/accessibleeventlistener.h : (NEW FILE)
2321 * libspi/accessibleeventlistener.c : (NEW FILE)
2322 * libspi/Makefile.am :
2323 Added new object type "AccessibleEventListener"
2324 which inherits from Listener, and allows attachment
2325 of in-process callbacks (so that a client with a listening
2326 object instance can add functionality to the local
2327 implementation, dynamically).
2329 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2331 * libspi/accessible.c:
2332 Add implementation for get_index_in_parent().
2334 Added #include of "spi-roletypes.h", and
2335 added enumerated type AccessibleCoordType.
2336 Added definition for KeystrokeListener (function type).
2339 * cspi/spi-statetypes.h :
2340 * cspi/spi-roletypes.h :
2342 Added these headers, used by spi.h.
2344 Added code (NOTE: not yet built by make).
2346 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2348 * libspi/Makefile.am: generate imodule
2349 at the same time as other idl compiler
2352 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2353 * libspi/registry.c :
2354 * libspi/application.c :
2355 * idl/Application.idl :
2356 Made registration with toolkit an application method,
2357 which is required since each app has its own toolkit static
2358 environment. Thus the bridge must register for
2359 notification of toolkit events from each application in turn.
2360 Toolkit notifications are now successfully registered for, and
2361 sent to the listening at client.
2363 Changed toolkit event string to use hyphens rather than underscores.
2364 * libspi/listener.c :
2365 listner now gives more info in debug mode - it reports the
2366 name of the event received, as well as the name of the source.
2369 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2371 * libspi/registry.c :
2372 added more implementation for toolkit events.
2373 Fixed bug such that toolkit event registrations
2374 (via atk) use the whole event name string, not
2376 Removed a useless call to an ORBit_ method.
2377 * at-bridge/bridge.c :
2378 Removed unused local sbuf[] variable.
2380 We now register for Gtk:GtkWidget:button_press_event
2381 events as well as "focus:" events.
2383 Add some more API from Registry.idl that was missing,
2384 for keystroke listening, keystroke and mouse event
2385 synthesis, and enumeration of accessible desktops.
2387 2001-08-16 Michael Meeks <michael@ximian.com>
2389 * configure.in: use AM_GLIB_GNU_GETTEXT.
2391 * Makefile.am (SUBDIRS): kill intl.
2393 2001-08-15 Michael Meeks <michael@ximian.com>
2395 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2397 * configure.in: upd.
2399 * configure.in: depend on a recent bonobo-activation that
2400 will find our server files ...
2402 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2404 * libspi/accessible.c : accessible_new() :
2405 Now we add the Component interface via bonobo_object_add_interface,
2406 if the contained AtkObject implements AtkComponent.
2407 * libspi/accessible.h : now include "component.h"
2408 * libspi/component.h :
2409 * libspi/component.c : added files - implementation of
2410 bonobo wrapper object for Accessibility/Component
2411 * libspi/listener.c :
2412 Added test code to check for Accessibility/Component:1.0
2413 interface and report whether it is implemented by the
2415 * libspi/registry.c :
2416 Now we check for not only the hash of the whole event
2417 string before relaying the event, we also check the
2418 "minor" event string (without the detail string).
2419 This allows event listeners to be registered against
2420 all events of a certain major+minor type, or just
2421 against a specific major+minor+detail type.
2422 * libspi/accessible.c :
2423 Added implementations for Accessible:get_parent(),
2424 Accessible:getChildCount(), and Accessible:getChildAtIndex().
2425 * libspi/registry.c :
2426 * libspi/listener.c :
2427 Replaced calls to Accessibility_Accessible_ref() and
2428 Accessibility_Accessible_unref() with
2429 calls to bonobo_object_dup_ref() and
2430 bonobo_object_release_unref(), so that the CORBA object
2431 is dup-ed and released when relayed, as well as the bonobo object.
2433 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2435 * libspi/Makefile.am,
2436 registryd/Makefile.am,
2437 at-bridge/Makefile.am.
2438 test/Makefile.am, configure.in:
2439 reverse previous changes.
2441 * /idl/Image.idl: fix typo.
2443 * test/Makefile.am: put DEBUG_FLAGS
2446 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2448 * test/app.c: use argv[0] instead of
2451 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2453 * libspi/Makefile.am,
2454 registryd/Makefile.am,
2455 at-bridge/Makefile.am.
2456 test/Makefile.am, configure.in:
2457 cleanup, replace individual LIBS/CFLAGS with
2458 AT_COMMON_{LIBS|CFLAGS}.
2462 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2464 * configure.in, libspi/Makefile.am:
2465 Change IDL path checking for bonobo-activation
2468 2001-08-15 Bill Haneman <bill.haneman@sun.com>
2470 * registryd/registry.c : separated event listeners to use
2471 3 separate lists (focus, window, toolkit). Began testing
2472 event names against hashes before relaying events.
2473 * test/at.c : now register for events of type "focus:"
2474 * test/app.c : now generate events of type "focus:"
2475 * at-bridge/bridge.c : register with ATK for focus events,
2476 and we now relay those focus events to any "focus:" listeners.
2477 This now works with the bridge as a GTK_MODULE when running test/at.
2478 * libspi/registry.c :
2479 * libspi/listener.c :
2480 now we ref event sources before propagating, and unref on receipt.
2481 * libspi/registry.c :
2482 some changes to internal structs, to support event typestring hashes.
2483 * text/app.c : changed the way the appname is generated.
2484 * cspi : added directory that will hold the C bindings library for
2485 non-CORBA/bonobo-savvy clients.
2486 * cspi/spi.h : header file that contains the function prototypes for the C binding.
2487 * idl/Component.idl : added in parameter to indicate coord system for
2488 geometry-related calls.
2489 * idl/Hyperlink.idl : added readonly n_links attribute
2490 * idl/Image.idl : changed methods to attributes.
2492 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2494 * at-bridge/Makefile.am: link against
2495 ../libspi/libspi.la instead of -lspi.
2497 * at-spi/test/app.c: include
2498 bonobo-activation.h. Use a default appname
2499 if one is not provided.
2501 2001-08-14 Bill Haneman <bill.haneman@sun.com>
2503 * idl/Registry.idl : temporarily changed register_Application
2504 to oneway, to work around issue with initial registration
2506 * idl/Application.idl : changed attribute "id" from readonly
2507 to read-write, since it needs to be assigned by Registry.
2508 * registryd/registryd.c : added call to set application id
2510 * registryd/registry.c : changed de-registration procedure to
2511 use CORBA_Object_hash() to find matching object ref in application
2512 lists and listener lists.
2513 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
2514 began distinguishing between event types (work in progress).
2516 2001-08-13 Bill Haneman <bill.haneman@sun.com>
2519 * libspi/application.c:
2520 Added implementations for get/set id, get_toolkitName,
2522 * registryd/registryd.c :
2526 Converted from use of OAF to bonobo-activation.
2527 * libspi/desktop.h :
2528 * libspi/desktop.c :
2530 Removed references to atksimpleobject, since base atkobject
2531 implementation now provides functionality we need.
2532 * libspi/atksimpleobject.c :
2533 * libspi/atksimpleobject.h :
2538 * at-bridge/Makefile.am
2539 * at-bridge/bridge.c
2542 Added directory "bridge" and contents, and added dependencies
2543 in Makefile.am/configure.in.
2544 Initial checkin of "at-bridge".
2545 This code is a GTK_MODULE which automatically registers
2546 GTK+ apps with the accessibility registry, using an object
2547 reference to the root ATK object.
2549 2001-08-10 Mark McLoughlin <mark@skynet.ie>
2551 * po/Makefile.in.in: Remove. Again. If this
2552 doesn't get autogenerated - you need to update
2555 2001-08-07 Mark McLoughlin <mark@skynet.ie>
2557 * po/Makefile.in.in: Add. Again.
2559 2001-07-31 Bill Haneman <bill.haneman@sun.com>
2561 * libspi/accessible.c : added support for 'description' property.
2562 * libspi/accessible.c
2564 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
2565 (since the two are now equivalent in libbonobo)
2573 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
2574 Bonobo::Unknown as does Accessibility::Accessible.
2575 * idl/StreamableContent.idl : as above, and replaced internal InputStream
2576 interface with Bonobo::Stream, since it was redundant with it.
2577 (The Stream returned by a StreamableContext object is expected to
2578 implement only a subset of Bonobo::Stream)
2580 2001-07-28 Anders Carlsson <andersca@gnome.org>
2582 * libspi/accessible.c (accessible_object_finalize): Change
2583 g_free to g_object_unref since the AtkObject is a GObject.
2585 2001-07-30 Bill Haneman <bill.haneman@sun.com>
2587 * idl/Accessibility.idl: add new IDL files
2590 * idl/Action.idl: Definitions of actionable UI object
2591 * idl/Component.idl: Definitions of UI component geometry, etc.
2592 * idl/Hyperlink.idl: Defs of hyperlink behavior
2593 * idl/Image.idl: Def of accessible image
2594 * idl/Selection.idl: Definition of UI object with selectable children
2595 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
2596 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
2597 * idl/Text.idl: Interface defs for UI elements with complex textual content
2598 * idl/Value.idl: Definition of UI element that is a value controller or display
2600 2001-07-27 Michael Meeks <michael@ximian.com>
2602 * po/Makefile.in.in: remove autogenerated file from CVS.
2604 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
2607 * idl/Registry.idl: include guard.
2609 * idl/Accessibility.idl: Add, and include all the other IDL
2612 * idl/*.idl: remove mass of pragmas etc.
2614 2001-07-26 Michael Meeks <michael@ximian.com>
2616 * registryd/Makefile.am (registryd_SOURCES): remove
2619 2001-07-27 Mark McLoughlin <mark@skynet.ie>
2621 * libspi/.cvsignore, registryd/.cvsignore,
2622 test/.cvsignore: updated.
2624 * po/Makefile.in.in: gettext update.
2626 2001-07-25 Bill Haneman <bill.haneman@sun.com>
2628 * initial CVS checkin
2630 2001-06-29 Michael Meeks <michael@ximian.com>
2632 * configure.in: add AM_CONFIG_HEADER to gen config.h