1 2001-12-10 Bill Haneman <bill.haneman@sun.com>
4 Changed check of CORBA_environment on notification to be a warning
5 instead of an error for the moment, since we can recover from this
6 error when caused by a queued notification from a dead app.
9 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
10 used by all current implementors of AtkValue), and coerce to
11 CORBA_float. (Proper general case fix may require change to Value.idl).
13 2001-12-09 Bill Haneman <bill.haneman@sun.com>
17 * cspi/spi_accessible.c:
18 Documentation fixes: added user_data params to documentation for
19 listeners and callbacks.
21 * cspi/spi_accessible.c:
22 Changed AccessibleStateSet_compare to return a
23 StateSet rather than return the difference set into a third parameter.
26 2001-12-09 Bill Haneman <bill.haneman@sun.com>
29 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
30 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
34 Remove subdirectory po from SUBDIRS for now.
37 Beefed up a couple of debug printouts.
38 One-line fix for signal notification name formatting.
40 * libspi/accessible.c:
41 Added assertion to spi_accessible_new ().
43 * libspi/application.c:
44 Put #ifdef qualifiers around a printf.
47 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
49 * registryd/Makefile.am:
51 Replaces use of XML_I18N_MERGE_SERVER_RULE with
52 INTLTOOL_SERVER_RULE macro.
55 Added an event listener for several ATK signals, for
56 testing and debugging. Removed a few g_warnings.
57 Added test output if focussed item implements the Value interface.
60 Added test_value () function (known not to pass at the moment, so
61 not actually called yet.
63 2001-12-08 Michael Meeks <michael@ximian.com>
65 * at-bridge/bridge.c (bridge_focus_tracker),
66 (emit_eventv): fix the same ref. leak.
67 (register_atk_event_listeners): don't leak.
69 * cspi/spi-listener-impl.c (cspi_event): more
70 protection from client code.
72 * test/test-simple.c (test_desktop): unref the app.
74 * test/Makefile.am: upd. TESTS.
76 * at-bridge/bridge.c (bridge_exit_func): release the registry.
78 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
80 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
82 * cspi/spi_registry.c: constify in strings.
83 (deregisterGlobalEventListenerAll): don't release the ref.
85 * cspi/spi.h: start removing redundant / conflicting
86 gtkdoc comments, making the API readable at a glance :-)
88 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
90 * test/keysynth-demo.c (keysynth_exit, main): upd.
92 * test/simple-at.c (main, simple_at_exit): upd.
94 * test/test-simple.c (unutterable_horror): kill.
95 (utterable_normal_derefs): kill.
96 (main): upd & do a setenv before gtk_init, so that we
97 can use memprof - and to save the pain of remembering
98 this, if we're running under memprof - don't exit.
100 * cspi/spi_main.c (SPI_exit): return exit status
102 (SPI_event_quit): impl.
103 (SPI_event_main): simplify.
104 (cspi_is_gnome_app): kill.
105 (SPI_init): kill isGNOMEapp arg.
107 * at-bridge/bridge.c (register_atk_event_listeners):
108 re-instate the unref.
109 (bridge_exit_func): don't re-activate the registry,
110 protect vs. theoretical re-entry, use the
111 AT_BRIDGE_SHUTDOWN env. var to determine whether to
112 assert a clean shutdown - for regression tests.
114 2001-12-08 Abel Cheung <maddog@linux.org.hk>
116 * configure.in: Comment out dummy i18n support for now,
117 otherwise it fails to build.
118 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
119 EXTRA_DIST. They are missing in tarball.
121 2001-12-07 Michael Meeks <michael@ximian.com>
123 * util/magnifier.c: kill bonobo activation reg. race.
126 (impl_accessibility_component_get_extents): make it match
129 * libspi/registry.c (_registry_notify_listeners):
130 re-remove X headers & reconcile conflicts.
131 (spi_listener_struct_free): bad conflict resolve.
132 (impl_accessibility_registry_register_application):
133 more bad merging fixed.
134 (impl_accessibility_registry_deregister_application): ditto.
135 (spi_registry_new): ditto.
136 (spi_registry_init): don't have an applications field.
138 [ merge fixups2 branch to here ]
139 2001-12-07 Michael Meeks <michael@ximian.com>
141 * test/simple-at.c (report_focus_event),
142 (report_focussed_accessible): remove g_warning debug.
144 2001-12-07 Michael Meeks <michael@ximian.com>
146 * test/test-simple.c (validate_tree): comment out some checks.
147 (test_desktop): app now not registered idly - horay.
149 2001-12-07 Michael Meeks <michael@ximian.com>
151 * cspi/spi_registry.c
152 (registerAccessibleKeystrokeListener): clean, stop it leaking
153 great swathes of memory, and device event controller references.
154 ensure we always pass valid sequences.
155 (deregisterAccessibleKeystrokeListener): ditto.
156 (generateKeyEvent): upd.
158 * at-bridge/bridge.c (bridge_key_listener): handle
159 registry dead exception gracefully.
160 (bridge_focus_tracker, emit_eventv): free ev.
162 * test/simple-at.c (report_focus_event): fix polarity.
164 * libspi/application.c (notify_listeners): kill the ev
165 argument, and make sure we init the ev we use.
166 (spi_application_object_event_listener): split out a chunk
167 (get_atk_object_ref): here & fixup.
168 (reverse_lookup_name_for_toolkit_event): make const.
169 (spi_application_toolkit_event_listener): fixup, kill leaks
172 * at-bridge/bridge.c (register_atk_event_listeners):
173 don't unref the noop object - causes grief.
175 * libspi/registry.c: remove the X headers.
176 turn off the debug churn.
178 * libspi/accessible.c (spi_accessible_new_return): only
179 release the ref if we are supposed to [doh]
181 * test/simple-at.c (report_button_press, report_focus_event):
182 guard vs. unexpected exit.
184 * at-bridge/bridge.c (gtk_module_init): prune printf.
185 (bridge_exit_func): fix app unref.
187 * libspi/Makefile.am: don't install registry or desktop.h
189 * libspi/*.h: update includes.
191 * libspi/application.h: don't include ourself, or
192 other redundant headers.
194 2001-12-06 Michael Meeks <michael@ximian.com>
196 * libspi/accessible.c
197 (get_accessible_from_servant): impl.
198 Upd. all CORBA impl.s to use it killing cut and paste.
200 * cspi/spi_main.c (cspi_cleanup): guard vs. double
202 (SPI_init): register atexit cleanup handler here.
204 2001-12-06 Michael Meeks <michael@ximian.com>
206 * at-bridge/bridge.c (gtk_module_init): g_error on
209 2001-12-06 Michael Meeks <michael@ximian.com>
211 * at-bridge/bridge.c (gtk_module_init): some sort of
212 confusing merge clash - reverted.
213 (bridge_idle_init): ditto.
215 * test/test-simple.c (main, utterable_normal_derefs):
216 merge from Bill - somehow not committed.
218 2001-12-06 Michael Meeks <michael@ximian.com>
220 * libspi/value.c (spi_value_class_init): upd.
221 (spi_value_finalize): kill.
223 * libspi/table.c (spi_table_finalize): kill.
224 (spi_table_interface_new): upd.
225 (spi_table_class_init): upd.
226 (get_table_from_servant): impl.
227 Upd. all CORBA impl.s to use it killing yet more cut and paste.
229 * libspi/selection.c (spi_selection_finalize): kill.
230 (spi_selection_interface_new): upd.
231 (spi_selection_class_init): upd.
232 (get_selection_from_servant): impl.
233 Upd. all CORBA impl.s to use it killing yet more cut and paste.
235 * libspi/relation.c (spi_relation_finalize): kill.
236 (spi_relation_class_init, spi_relation_new): upd
238 * libspi/image.c (spi_image_finalize): kill.
239 (spi_image_class_init): upd.
240 (spi_image_interface_new): upd.
241 (get_image_from_servant): impl.
242 Upd. all CORBA impl.s to use it killing yet more cut and paste.
244 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
245 (spi_hyperlink_finalize): kill.
246 (spi_hyperlink_new): upd.
247 (get_hyperlink_from_servant): impl.
248 Upd. all CORBA impl.s to use it killing yet more cut and paste.
250 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
251 (spi_hypertext_finalize): kill.
252 (spi_hypertext_class_init): upd.
253 (get_hypertext_from_servant): impl.
254 Upd. all CORBA impl.s to use it killing yet more cut and paste.
256 * libspi/editabletext.c (spi_editable_text_finalize): kill.
257 (spi_editable_text_interface_new): upd.
258 (get_editable_text_from_servant): impl.
259 Upd. all CORBA impl.s to use it killing yet more cut and paste.
261 * libspi/text.c (get_text_from_servant): impl.
262 All impls - update to use it killing more cut and paste,
263 also fix bad string returns on duff args ( a somewhat
264 impossible case to handle - but hey ).
265 (spi_text_construct): impl.
266 (spi_text_interface_new): upd.
267 (spi_text_object_finalize): kill.
270 (accessibility_component_object_finalize): kill.
271 (spi_component_class_init): upd.
272 (get_component_from_servant): impl. helper to kill cut & paste.
273 (impl_accessibility_component_contains):
274 (impl_accessibility_component_get_accessible_at_point):
275 (impl_accessibility_component_get_position):
276 (impl_accessibility_component_get_extents):
277 (impl_accessibility_component_get_mdi_z_order):
278 (impl_accessibility_component_get_layer):
279 (spi_component_interface_new): upd.
281 * libspi/action.c (spi_action_finalize): kill.
282 (spi_action_class_init): upd. inherit from SpiObject.
283 (spi_action_interface_new): upd.
284 (get_action_from_servant): impl. helper to reduce cut & paste.
285 (impl_getKeyBinding, impl_getName, impl_doAction),
286 (impl_getDescription): Use it everywhere.
288 * cspi/spi_main.c (get_live_refs): a pointer hash.
289 (spi_object_hash, spi_object_equal): comment out.
290 There are issues with CORBA object hashing that need
293 * libspi/application.c (spi_application_init),
294 (spi_application_new): upd.
296 * libspi/accessible.c (spi_accessible_object_finalize): kill.
297 (spi_accessible_class_init): upd.
298 s/accessible/object/ in epv methods.
300 2001-12-05 Bill Haneman <bill.haneman@sun.com>
302 * at-bridge/bridge.c:
303 Reorder the bridge initialization into the bridge gtk_module_init,
304 an immediate call to bridge_register_app, and an idle_add for
305 register_atk_event_listeners (the only code that *must* wait until
306 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
307 the activation, creates the application's Accessible object, and
308 queues the bridge_idle_init function. Restored call to
309 Accessibility_Registry_deregisterApplication().
310 Prior to making this call we obtain a new reference to the
311 registry, which is a temporary hack that helps us handle apps that
312 shut down the bonobo mainloop before we get there.
315 Fix string leakage in debug block, and don't segv if a an app
316 dies before its event notifications have been propagated.
319 Modify cspi_check_ev() to call g_warning() rather than g_error(),
320 as stopgap measure until we get proper exception handling when
321 objects die during or before interrogation.
325 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
326 Also changed default value of is_gnome_app to TRUE.
329 * test/keysynth-demo.c:
330 Changed use of SPI_init and SPI_event_main to reflect API change above.
333 Made report_focus_event check the warning value from getName
334 before reporting on focussed accessible; simplifies handling of
335 notifications from dead objects.
337 * test/test-simple.c: (Changes not in this patch since source is
340 2001-12-05 Michael Meeks <michael@ximian.com>
342 * registryd/registryd.c (main): protect against
343 bonobo-activation startup race condition.
345 * cspi/spi_main.c (cspi_object_add_check): cope
346 with the exception elegantly.
348 * idl/Accessible.idl: decl. ChildGone
350 * libspi/desktop.c (spi_desktop_dispose): impl.
351 (spi_desktop_class_init): upd.
352 (spi_desktop_add_application),
353 (spi_desktop_remove_application),
354 (abnormal_application_termination): impl.
355 (impl_desktop_get_child_at_index): re-impl.
358 (impl_accessibility_registry_deregister_application),
359 (impl_accessibility_registry_register_application):
360 kill excessive debug clutter.
362 * test/test-simple.c (test_misc): test some NULL
363 tolerance. (main): upd.
365 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
366 implements no interfaces - so let's not crash.
368 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
370 * libspi/accessible.c (spi_accessible_new_return): impl.
371 helper to calm the cut and paste, to cope with
372 NULL AtkObjects effectively and efficiently, and to kill
373 the referencing bugs.
375 * libspi/table.c (impl_getAccessibleAt),
376 (impl_getRowHeader, impl_getColumnHeader): upd.
378 * libspi/hyperlink.c (impl_getObject): upd.
380 * libspi/accessible.c
381 (impl_accessibility_accessible_get_child_at_index): upd.
384 (impl_accessibility_component_get_accessible_at_point): upd.
386 * test/test-simple.c (test_editable_text, test_text): impl.
389 * cspi/spi_editabletext.c
390 (AccessibleEditableText_insertText): constify.
392 * test/test-simple.c (focus_me): make more robust.
394 * libspi/accessible.c: remove some printfs in methods that
395 we test and work fine, so we can get a clean tree dump.
397 * test/test-simple.c (validate_accessible),
398 (validate_tree): make tree dumping pretty too.
400 * at-bridge/bridge.c (bridge_signal_listener): upd. so
401 it builds without debug on.
403 * test/test-simple.c (validate_accessible): fix the most
406 * cspi/spi_main.c (spi_object_release): leave the nicely
407 blanked memory around if in debug mode.
409 * cspi/spi-listener-impl.c (cspi_event): use add_check.
411 [committed to fixups2]
412 2001-12-05 Michael Meeks <michael@ximian.com>
414 * libspi/editabletext.c
415 (spi_editable_text_class_init): g_type_class_peek_parent,
416 not interface peek - so we finalize cleanly.
418 * libspi/accessible.c (spi_accessible_new): kill debug.
420 * test/test-simple.c (validate_accessible): fix ref.
421 leak, print strings before freeing them; sigh, comment a
422 chunk out due to strangeness.
423 (validate_tree): unref the child after use.
425 * cspi/spi_component.c (AccessibleComponent_getLayer):
426 add missing break statement, switch on zlayer not the
427 uninitialized retval.
429 * cspi/spi_main.c (cspi_object_add): add assert, local ref
430 before (possibly re-entering) remote unref.
432 * test/simple-at.c (main): unref the desktop.
434 * cspi/spi_accessible.c (cspi_accessible_is_a): move
437 * cspi/spi_main.c (cspi_accessible_is_a): here to
438 isolate bonobo API usage more.
440 * libspi/registry.c (impl_accessibility_registry_register_application):
443 2001-12-04 Michael Meeks <michael@ximian.com>
445 * test/test-simple.c (validate_tree): upd.
446 IndexInParent check to make it more lucid.
447 (validate_accessible): dump the tree.
449 * libspi/accessible.c (de_register_public_ref),
450 (get_public_refs): impl.
451 (spi_accessible_new): make more efficient & intuitive.
452 Now IndexInParent check works.
454 2001-12-04 Michael Meeks <michael@ximian.com>
456 * cspi/spi-util.h: remove.
458 * cspi/spi.h: move SPI_freeString here
460 * libspi/component.c (impl_accessibility_component_get_layer):
462 (impl_accessibility_component_get_mdi_z_order): ditto,
463 return -1 on error - is this ok ?
465 * test/test-simple.c (test_application): impl.
467 * cspi/spi_accessible.c (Accessible_getApplication),
468 (Accessible_isApplication): impl.
470 * libspi/registry.c (spi_listener_struct_free): release
471 the CORBA reference too.
473 * libspi/accessible.c
474 (impl_accessibility_accessible_get_parent): fix ref leak.
476 * libspi/registry.c (spi_registry_new): make the registry
477 immortal - we don't want it to go away ever.
479 * libspi/application.c
480 (spi_accessible_application_finalize): impl. cleanup.
482 * cspi/spi_registry.c
483 (deregisterGlobalEventListenerAll),
484 (deregisterGlobalEventListener),
485 (deregisterAccessibleKeystrokeListener): fix ref leak.
487 * cspi/spi_main.c (SPI_init): remove redundant ref.
489 * test/test-simple.c (unutterable_horror): impl. to force a
494 (impl_accessibility_registry_deregister_application): release
495 the application when we de-register it.
497 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
498 until we have the infastructure to get it right.
500 2001-12-03 Michael Meeks <michael@ximian.com>
502 * libspi/Makefile.am: only build eventlistener.[ch]
504 * libspi/accessible.c
505 (impl_accessibility_accessible_get_child_at_index): don't leak.
507 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
508 before we hit the idle handler.
510 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
513 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
515 * libspi/listener.c (impl_notify_event): check source
516 not NIL before unref.
518 * libspi/registry.c (impl_registry_notify_event): ditto.
520 * libspi/eventlistener.c
521 (impl_accessible_event_notify_event): unref the source.
523 * libspi/accessibleeventlistener.c
524 (impl_accessible_event_notify_event): unref the source.
526 * idl/Event.idl: remove 'hash_id' attribute - of no
529 * libspi/application.c (notify_listeners): upd list
531 (spi_application_object_event_listener),
532 (spi_application_toolkit_event_listener): upd to do correct
536 (_registry_notify_listeners): update.
537 (parse_event_type): this method also leaks like a sieve.
538 (impl_accessibility_registry_deregister_global_event_listener):
539 fix ETYPE_WINDOW case.
541 * libspi/application.c
542 (impl_accessibility_application_register_object_event_listener):
545 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
547 * libspi/hypertext.c (impl_getLink): ditto.
549 * cspi/spi_main.c (cspi_object_add): remove
550 bogus CORBA_Object_duplicate.
552 * cspi/spi-listener-impl.c (cspi_event): dup/ref
555 * cspi/spi_accessible.c
556 (Accessible_getRelationSet): fix leak / referencing issue.
558 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
559 (cspi_object_add, cspi_object_unref): upd.
560 (spi_object_release, get_live_refs): impl.
561 (cspi_cleanup): simplify.
563 * *.[ch]: s/boolean/SpiBoolean/
565 * cspi/spi_accessible.c (role_names): actualy order so it
566 corresponds with the enum !
568 * test/test-simple.c (test_roles): check some role strings
569 vs. enums to detect offset errors.
571 2001-12-01 Michael Meeks <michael@ximian.com>
573 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
575 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
577 (Accessible_getChildAtIndex): use cspi_add_check so we
578 check the ev before using a (possibly) invalid value.
580 * libspi/accessible.c
581 (impl_accessibility_accessible_get_parent): don't segv
584 * at-bridge/bridge.c (gtk_module_init): upd.
585 (bridge_property_event_listener): don't leak strings
587 (bridge_state_event_listener),
588 (bridge_property_event_listener): don't use a static
589 buffer in case of recursive event emission &
590 re-enterancy - split out the swathe of cut and paste
592 (emit_eventv): and fix 2 ref leaks here & comply to the
594 (bridge_register_app): rename to
595 (bridge_idle_init): this and kill arg parsing, split
596 various inits & bonobo-activation registration to module
597 init time, kill referencing error.
598 (bridge_exit_func): fix the same leak.
599 (bridge_focus_tracker): don't leak event structures
601 (bridge_signal_listener): more leakage and cut & paste
603 (bridge_key_listener): return the result - FIXME is
604 this polarity correct ?
605 (accessibility_keystroke_from_atk_key_event): rename
606 (accessibility_init_keystroke_from_atk_key_event): and stop
608 (gtk_module_init): return a value - not that it is checked by
610 (bridge_key_listener): register my horror at casting between
612 (bridge_get_registry): kill - not used.
614 * cspi/spi_accessible.c (Accessible_getRole): make return const.
616 * test/test-simple.c (test_roles): impl.
617 (test_desktop, validate_accessible, validate_tree): impl.
619 * cspi/spi_accessible.c (role_names): fixup bogus
620 MAX_ROLES setup, make constants const for efficient linkage
621 (AccessibleRole_getName): conform to coding style, make
624 2001-11-30 Michael Meeks <michael@ximian.com>
626 * cspi/spi.h: add missing prototype.
628 * libspi/registry.c (spi_listener_struct_new): fix sig.
630 * test/Makefile.am: add test-simple
632 * test/test-simple.c: add
636 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
638 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
639 do it straight - since otherwise we often get an activation race.
641 [ work before Bill duplicated a chunk of it ... ]
642 2001-11-30 Michael Meeks <michael@ximian.com>
644 * libspi/keystrokelistener.c
645 (spi_keystroke_listener_class_init): fixup arg
648 * libspi/eventlistener.c
649 (spi_event_listener_class_init): ditto.
651 * tests/test.sh: add.
653 * cspi/spi-listener-impl.h: update macros.
655 * cspi/spi-listener-impl.c
656 (cspi_event_listener_remove_callback): add
657 correct pre-conditions.
659 * cspi/spi_main.c (SPI_exit): guard vs. double
660 exits, exit the mainloop nicely.
661 (SPI_event_main): make more sense.
662 (SPI_init): move the atexit evilness here so we
664 (SPI_event_main): upd.
666 * test/simple-at.c: update for listener changes.
668 * registryd/registryd.c (main): prune kruft.
670 * libspi/libspi.h: upd.
672 * libspi/eventlistener.[ch]: rename broken macros.
674 * libspi/accessibleeventlistener.[ch]: remove.
676 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
678 * test/test-simple.c: Add - automated tests.
680 * cspi/spi-listener-impl.c (cspi_event),
681 (cspi_key_event): add user_data to invoke.
682 (cspi_keystroke_listener_finalize): impl.
683 (cspi_keystroke_listener_class_init): upd.
686 (createAccessibleEventListener),
687 (AccessibleEventListener_addCallback),
688 (createAccessibleKeystrokeListener),
689 (AccessibleKeystrokeListener_addCallback): upd.
691 * libspi/deviceeventcontroller.c
692 (spi_device_event_controller_check_key_event): add public proto.
695 (impl_accessibility_registry_deregister_global_event_listener):
696 always init listeners.
697 (_registry_notify_listeners): yes it is.
699 * cspi/spi-listener-impl.c (cspi_key_event):
701 (cspi_event_listener_finalize): impl.
702 (cspi_event_listener_class_init): hook up.
703 (event_handler_new, event_handler_free),
704 (event_list_remove_by_callback): impl.
705 (cspi_event_listener_remove_callback),
706 (cspi_keystroke_listener_remove_callback),
707 (cspi_keystroke_listener_add_callback),
708 (cspi_event_listener_add_callback): upd.
710 * libspi/keystrokelistener.c
711 (keystroke_listener_object_finalize): kill
712 (spi_keystroke_listener_class_init): upd.
713 (spi_keystroke_listener_add_callback),
714 (spi_keystroke_listener_remove_callback): kill,
716 (impl_key_event): prune drasticaly.
718 * libspi/eventlistener.c
719 (spi_event_listener_add_callback),
720 (spi_event_listener_remove_callback): kill, use
722 (impl_accessible_event_notify_event): upd.
723 (spi_event_listener_object_finalize): remove.
725 * libspi/Makefile.am: use eventlistener.[ch]
727 2001-12-04 Bill Haneman <bill.haneman@sun.com>
729 * libspi/registry.c (_registry_notify_listeners):
730 Changed listener loop iteration to use preferred convention.
731 Got rid of string memory leaks caused be calling g_strconcat
732 inside function calls.
734 * libspi/registry.c (parse_event_type):
735 Stopped g_strconcat memory leaks, free the g_strsplit return,
736 g_strdup the split pieces when used, etc.
738 2001-12-04 Bill Haneman <bill.haneman@sun.com>
741 Change method 'compare' to return a 'difference set' rather than
742 taking a StateSet as an out parameter (more Java-friendly).
744 * idl/Accessible.idl:
745 Added CORBA struct 'BoundingBox', to faciliate API changes below:
749 Changed methods 'getExtents' and 'getImageExtents' in these
750 interfaces to return a BoundingBox structure.
751 (getPosition and getSize are redundant and possibly should be
752 removed, rather than creating a corresponding Point struct.)
754 * cspi/spi_component.c:
755 Modify implementation of getExtents to reflect the above IDL
760 Add (missing) AccessibleImage_getExtents () API.
762 * docs/reference/cspi/at-spi-cspi-sections.txt:
763 Added AccessibleImage_getImageExtents () to docs.
765 2001-12-03 Bill Haneman <bill.haneman@sun.com>
768 Added two methods, getLayer () and getMDIZOrder (), to reflect
769 the new ATK methods atk_object_get_layer and
770 atk_object_get_mdi_z_order. (Which arguably should be part of the
771 AtkComponent API and AtkObject). Also added an enum,
772 ComponentLayer, for the first method's return value.
774 * libspi/component.c:
775 Added implementations for these methods.
777 * cspi/spi_component.c:
779 Added cspi binding methods for above,
780 AccessibleComponent_getLayer() and
781 AccessibleComponent_getMDIZOrder().
782 Added cspi enum 'AccessibleComponentLayer'.
784 * docs/reference/cspi/at-spi-cspi-sections.txt:
785 Added above methods to docs.
789 Changed typedef for 'boolean' type (and all references to it) to
790 SPIBoolean, to avoid keyword clashes with C++.
793 Changed usages of 'boolean' to SPIBoolean.
795 * test/keysynth-demo.c:
796 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
797 app), except where SPIBoolean is required by the callbacks API.
799 2001-12-02 Bill Haneman <bill.haneman@sun.com>
801 * cspi/spi_registry.c:
802 Removed obsolete X event loop for passive keygrabs (which now
805 * registryd/registryd.c:
806 Removed unnecessary call to gdk_init() [cruft]. This also allows
807 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
810 2001-11-28 Bill Haneman <bill.haneman@sun.com>
812 * docs/reference/cspi:
813 Included docs for SPI_freeString in generated documentation.
816 Renamed spi_freeString to SPI_freeString, for consistency. Added
817 documentation for this function.
820 Renamed spi_freeString to SPI_freeString, for consistency.
821 Removed obsolete method declaration string_from_corba_string.
823 * test/keysynth-demo.c:
824 Small tweak to comments.
827 Stopped leaking the strings returned from CSPI.
829 2001-11-28 Bill Haneman <bill.haneman@sun.com>
831 Merged Michael's branch (see his ChangeLog entries below).
833 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
834 bridge is alive, release on exit.
836 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
837 Fix type check macro.
840 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
843 Added is_gnome_app static, and method cspi_is_gnome_app(),
844 so we can call the appropriate shutdown routine at exit in SPI_exit.
846 * cspi/spi_main.c (cspi_object_ref):
847 Duplicate the corba object passed in, since we're keeping it around.
849 * cspi/SPI_exit.c, cspi_cleanup:
850 Moved the releasing of the live refs to its own function, so we
851 can put it in g_atexit (). Call the appropriate shutdown API
852 depending on whethe calling client is a gnome app or not
853 (bonobo_main_quit or CORBA_ORB_shutdown).
855 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
856 Unref the listener when this method is called, after
857 deregistration. Updated the API docs to note this behavior.
859 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
860 Bugfixes: Ref the bonobo object when returning a parent or child
861 reference, or an AccessibleRelation. Generally made sure
862 BonoboObject refcount is incremented whenever we return an
865 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
866 Fixed typo/bug in signal declaration.
868 * libspi/accessibleeventlistener.h:
871 * libspi/application.c (spi_application_new):
872 Fixed leak in initialization.
875 Remembered to increment bonobo-object refcount when returning
876 children (applications) from desktop object.
877 Added (empty) finalize method.
879 * libspi/deviceeventcontroller.c:
880 Hold a ref to listeners inside DEControllerKeyListeners.
881 Added dec_key_listener_free() method. Use prepend instead of
882 append in key_listener list. Fixed some refcount madness and
883 leaks in the listener registration/deregistration - deregistration
884 now calls dec_key_listener_free() on listeners, and on the
885 temporarily constructed dec_key_listener() used to perform the search/match.
887 * libspi/hypertext.c (spi_hypertest_finalize):
888 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
889 class. Also fixed spi_hypertext_interface_new() and
890 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
892 * libspi/hypertext.h:
893 Removed pointless and duplicate AtkObject pointer from
896 * libspi/keystrokelistener.c:
897 Fixed incorrect type of keystroke_listener_parent_class,
898 renamed keystroke_listener_object_finalize to
899 spi_keystroke_listener_object_finalize.
900 Fixed typo in signal declaration
901 (spi_keystroke_listener_class_init).
904 Added funcsions spi_listener_struct_new() and
905 spi_listener_struct_free() to help with memory management issues.
906 We also now use these methods instead of gnew + poking stuff into
907 the struct, and to decrement listener counts/free the listeners
908 when deregistering them.
909 Fix more refcount bugs in getDesktop() and
910 getDeviceEventController().
913 De-ref the desktop after enumerating the applications. Explicitly
914 decrement the refcounts on the created listeners on exit (using
915 _unref for keystroke listeners, and via the
916 deregisterGlobalEventListenerAll command for other event
919 2001-11-27 Michael Meeks <michael@ximian.com>
921 * cspi/spi-listener.h: fixup enum.
923 2001-11-27 Michael Meeks <michael@ximian.com>
925 * cspi/spi-listener-impl.c (cspi_event_listener_new),
926 (cspi_keystroke_listener_new): Use the cspi variants.
928 2001-11-26 Michael Meeks <michael@ximian.com>
930 * test/keysynth-demo.c: fix 2 compile warnings, missing
933 * test/simple-at.c (report_focussed_accessible),
934 (report_focus_event, report_button_press),
935 (check_property_change, is_command_key),
936 (report_ordinary_key_event, report_command_key_event): upd.
938 * util/mag_client.h: include pre-requisites.
940 * libspi/accessibleeventlistener.c
941 (spi_event_listener_object_finalize): free any lingering
944 * libspi/keystrokelistener.c
945 (keystroke_listener_object_finalize): ditto.
947 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
948 callbacks, with cspi types.
950 * cspi/spi_event.c (createAccessibleEventListener): chain to
951 (AccessibleEventListener_addCallback): here.
952 (createAccessibleKeystrokeListener): chain to
953 (AccessibleKeystrokeListener_addCallback): here.
955 * libspi/keystrokelistener.c
956 (spi_keystroke_listener_class_init): add signal.
957 (impl_key_event): emit the event.
958 (boolean_handled_accumulator): impl.
959 (marshal_BOOLEAN__POINTER): add, gack.
961 * libspi/accessibleeventlistener.c
962 (spi_event_listener_class_init): add signal.
963 (impl_accessible_event_notify_event): emit the signal &
964 make the loop efficient.
965 (spi_event_listener_add_callback): prepend the callback.
967 * libspi/accessibleeventlistener.h: add an 'event' signal,
968 decl type on callback.
970 * libspi/keystrokelistener.h: ditto.
972 * cspi/spi-listener.h: make methods typesafe and
973 make them use the new event typedefs.
975 * test/simple-at.c (report_focussed_accessible):
977 Use *(void *)text_interface not the other thing.
979 * configure.in: add gtk to registryd bits - since we use
982 * util/magnifier.c: include libbonobo.h
984 2001-11-25 Bill Haneman <bill.haneman@sun.com>
986 * test/keysynth-demo.c:
987 Turned this into a simple scanning keyboard, to demonstrate the
988 use of g_timeout_add () as a means of creating timers for
989 scanning, and the use of GtkStyle for visually indicating when
990 virtual keyboard elements are selected.
992 keysynth-demo now listens to any keyboard keys with zero-valued
993 keycodes (i.e. 'unused' keys) and interprets them as
996 Reworked the shiftlatch code so that shift-down state isn't held
997 for long periods (it's only synthesized immediately prior to
998 the keysynth event it's modifying). Note that shiftlatch in this
999 demo is a convenience, not intended to take the place of AccessX
1000 which is the better choice for getting 'sticky' modifier keys.
1002 * libspi/deviceeventcontroller.c:
1003 * at-bridge/bridge.c:
1004 * cspi/spi_registry.c:
1005 Removed some debug print stuff, and put other verbosity in #ifdef
1010 Implemented some more of the magnifier IDL for the simple
1011 magnifier: namely, getZoomRegionParams.
1012 Added mag_x and mag_y members to MagnifierData struct, aid of this
1014 Added GtkWindow::realize signal handler to magnifier, to keep it
1015 from receiving keyboard focus from the WM.
1017 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1019 * cspi/spi-private.h: my guess at what michael forgot
1020 before he ran off to NZ :-)
1022 2001-11-23 Michael Meeks <michael@ximian.com>
1024 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1025 comment out non existant method invoke so we link.
1027 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1028 use bonobo_exception_get_text for more friendly warnings.
1030 * cspi/spi.c (Obj_Add): move into spi_main & rename
1031 spi_object_add; kill spi.c
1033 * cspi/spi_registry.c
1034 (deregisterGlobalEventListener),
1035 (deregisterGlobalEventListenerAll),
1036 (registerGlobalEventListener): fix exception leaks.
1038 * cspi/spi_main.c (spi_exception): impl. helper, so we
1039 don't leak exceptions.
1041 * cspi/spi_selection.c
1042 (AccessibleSelection_deselectSelectedChild): return the
1045 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1046 (spi_registry): ditto.
1047 (SPI_init): guard against double inits.
1049 * cspi/*.c: use spi_ev (), and spi_registry () where
1050 appropriate - a temporary hack until we have something
1051 better. Use spi_object_add
1053 2001-11-22 Michael Meeks <michael@ximian.com>
1055 * cspi/Makefile.am: re organise, install the headers.
1057 * cspi/*.h: add G_BEGIN/END_DECLS
1059 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1062 Added non-preemptive keylistener for key events with no modifiers
1063 and shift-only modifier.
1065 * libspi/keystrokelistener.c:
1066 Removed some verbose diagnostics printout.
1068 * cspi/spi_registry.c:
1069 Fixed a bug that caused all key listeners to be registered as
1072 * libspi/deviceeventcontroller.c:
1073 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1074 for non-preemptive key masks.
1077 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1079 * docs/reference/idl/at-spi-idl-docs.sgml:
1080 * docs/reference/idl/at-spi-idl-sections.txt:
1081 * docs/reference/idl/at-spi-idl-overrides.txt:
1082 Added missing files.
1084 * docs/reference/Makefile.am:
1085 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1086 to scan the IDL files :-(
1091 Added .cvsignore files.
1093 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1095 * libspi/deviceeventcontroller.c:
1096 * libspi/keystrokelistener.c:
1098 * cspi/spi_registry.c:
1099 Added filters for KeySets, KeyEventSeq, and event types to key
1100 event dispatching, so listeners should only receive those events
1101 that they requested :-)
1103 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1108 * docs/reference:Makefile.am:
1109 * docs/reference/cspi:
1110 * docs/reference/cspi:Makefile.am:
1111 * docs/reference/cspi:tmpl:
1112 * docs/reference/cspi:tmpl:*.sgml:
1113 * docs/reference/idl:
1114 * docs/reference/idl:Makefile.am:
1115 * docs/reference/idl:at-spi-idl-sections.txt:
1116 * docs/reference/idl:at-spi-idl-docs.sgml:
1117 * docs/reference/idl:tmpl:
1118 * docs/reference/idl:tmpl:*.sgml:
1120 Restructured docs directory to allow separate 'reference' docs
1121 section, and forked idl and cspi docs. Added the sgml template
1122 files to CVS. Added the first sections/structural sgml for the
1125 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1127 * configure.in, libspi/Makefile.am: find libXtst.
1129 2001-11-21 Michael Meeks <michael@ximian.com>
1131 * test/accessx-gui.c: s/spi_value/value/ - doh.
1133 * libspi/base.[ch]: add.
1135 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1137 * idl/Accessible.idl:
1138 * idl/Application.idl:
1141 Started gtk-doc cleanup on IDL.
1143 * libspi/deviceeventcontroller.c:
1144 Added and connected non-preemptive key notification from the
1145 toolkits (in addition to the pre-emptive support from XServer
1146 which we had before, but which causes 'focus flashing'). Filters
1147 are presently limited to key modifiers and global/non-global,
1148 KeySets are presently ignored, as are KeyEvent masks.
1150 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1151 structs into the persistant structure rather than just storing
1152 pointers to things that might not persist across servant
1155 The XGrabKey call now does async keygrabs, because synchronous
1156 ones were deadlocking with GDK_event code in a very nasty way.
1158 Added boolean to internal method notify_keylisteners, to indicate
1159 whether the event came from the 'toolkit source' or the 'global
1160 (XServer) source' - this is used in the notification process to
1161 determine which listeners to send the event to.
1163 deviceeventcontroller.c is now warning-free.
1165 * libspi/registry.c:
1166 Fixed regression in application de-registration.
1167 Also fixed some really brain-dead weirdness having to do with
1168 event dispatching - event structs are now duplicated before being
1169 re-marshalled in the dispatch to listeners. This also fixes a
1170 Solaris build problem.
1173 2001-20-11 Michael Meeks <michael@ximian.com>
1176 (impl_accessibility_registry_deregister_global_event_listener):
1179 * libspi/deviceeventcontroller.c
1180 (spi_device_event_controller_check_key_event): return
1181 FALSE on no virtual method.
1183 * libspi/*..h: make includes work on a correctly pathed install.
1185 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1187 * libspi/application.h: kill unused ( and whacked out )
1188 gboolean *spi_application_set_id (AtkObject *app, long id);
1190 2001-20-11 Michael Meeks <michael@ximian.com>
1192 * libspi/*.[ch]: further convert to bonobo's type func
1193 macros, remove redundnant casts etc.
1195 * libspi/text.c s/accessibility_text/spi_text/g,
1196 re-order to de-cruft.
1198 * libspi/hypertext.c: re-order to kill a huge slew
1199 of redundant forward decls.
1201 * libspi/relation.c: ditto.
1203 * libspi/image.c: ditto.
1205 * */.cvsignore: update
1207 2001-20-11 Michael Meeks <michael@ximian.com>
1209 * libspi/deviceeventcontroller.c
1210 (_controller_register_with_devices): use g_getenv,
1211 kill stdlib.h include.
1213 * libspi/keystrokelistener.c
1214 (spi_keystroke_listener_get_type): kill
1215 (spi_keystroke_listener_class_init),
1216 (spi_keystroke_listener_init): rename to this.
1218 * libspi/text.c (impl_getAttributes): fix warning / bug.
1220 * libspi/*.[ch]: more headers, includes and over commenting.
1222 2001-20-11 Michael Meeks <michael@ximian.com>
1224 * libspi/*.[ch]: fixup headers, includes and over commenting.
1226 * libspi/image.c (impl__get_imageDescription): const
1227 correctness warning fix. remove redundant casting.
1229 * libspi/table.c (impl_getRowDescription): ditto.
1230 (impl_getColumnDescription): ditto.
1232 * libspi/libspi.h: add.
1234 2001-19-11 Michael Meeks <michael@ximian.com>
1236 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1238 * libspi/component.c (accessibility_component_get_type):
1239 rename to (spi_component_get_type): and macroify.
1240 (accessibility_component_init): rename to
1241 (spi_component_init): this
1242 (accessibility_component_class_init): rename to
1243 (spi_component_class_init): this
1245 * libspi/action.c (spi_action_get_type): kill, use the macro.
1247 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1250 * libspi/application.c (spi_application_object_event_listener),
1251 (impl_accessibility_application_register_object_event_listener):
1252 warning fixes / const understanding updates.
1254 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1257 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1259 * libspi/spi_accessible.c: Added docs and C bindings for
1260 AccessibleStateSet. (No implementations yet). Documentation
1261 coverage for C bindings now 100%. Made docs for event listeners
1266 boolean notifyListenersSync (in DeviceEventListener listener,
1267 in DeviceEvent event);
1269 oneway void notifyListenersAsync (in DeviceEventListener listener,
1270 in DeviceEvent event);
1272 Added DeviceEventListener and DeviceEvent structs (may deprecate
1273 KeyStroke and KeystrokeListener in favor of this generic
1274 event/listener framework for devices).
1276 * libspi/deviceeventcontroller.c:
1278 Changed some key listener code to take masks, etc., and paved the
1279 way for integration of toolkit/non-preemptive key events. Changed
1280 signatures of some internal methods.
1282 * at-bridge/bridge.c:
1283 Fixed regression connecting to interface signals, apparently
1284 caused by GTK+ changes.
1286 Added an internal bridge_state_listener to deal with
1287 property-change:accessible-state signals.
1289 Changed the key_listeners GList to store structs (including masks,
1290 etc.) instead of just CORBA_Objects (required for full
1291 implementation of key listener API).
1293 Connected the bridge to all currently supported Atk signals.
1294 Events now supported:
1295 object:property-change
1296 object:property-change:accessible-name
1297 object:property-change:accessible-state
1298 object:property-change:accessible-description
1299 object:property-change:accessible-parent
1300 object:property-change:accessible-value
1301 object:property-change:accessible-role
1302 object:property-change:accessible-table-caption
1303 object:property-change:accessible-table-column-description
1304 object:property-change:accessible-table-column-header
1305 object:property-change:accessible-table-row-description
1306 object:property-change:accessible-table-row-header
1307 object:property-change:accessible-table-summary
1308 object:children-changed
1309 object:visible-data-changed
1310 object:selection-changed
1311 object:text-selection-changed
1313 object:text-caret-moved
1315 object:row-reordered
1317 object:column-inserted
1318 object:column-reordered
1319 object:column-deleted
1320 object:model-changed
1322 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1324 * libspi/hyperlink.c,h:
1325 Fixed some broken stuff in hyperlink.
1327 * libspi/relation.h:
1328 * libspi/relation.c:
1329 * cspi/spi_accessible.c:
1330 Initial implementations of AccessibleRelation methods, and docs.
1332 * libspi/accessible.c:
1333 Fixed a bug that caused SEGV if an accessible
1334 object's description is NULL, and a client
1335 requests it. An empty string is now returned.
1337 * cspi/spi_editabletext.c:
1338 * cspi/spi_hypertext.c:
1340 * cspi/spi_hyperlink.c:
1344 Doc coverage now 95%.
1346 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1348 One last namespacing revision:
1349 * libspi/accessibleeventlistener.[ch]:
1350 Renamed SpiAccessibleEventListener to SpiEventListener,
1351 (no need for two namespaces ;-)
1353 And lots of documentation fixes:
1355 * docs/at-spi-docs.sgml:
1356 Fixed 'underscore vs. hyphen' bug that was preventing
1357 the gtk-doc API docs from being automatically generated.
1360 * cspi/spi-listener.h
1362 * cspi/spi_accessible.c
1364 * cspi/spi_application.c
1365 * cspi/spi_component.c
1366 * cspi/spi_editabletext.c
1368 * cspi/spi_hypertext.c
1370 * cspi/spi_registry.c
1371 * cspi/spi_selection.c
1375 * docs/at-spi-docs.sgml
1376 * docs/at-spi-sections.txt
1378 Added and fixed up gtk-doc documentation in cspi.
1380 Interfaces now (fully) documented (subject to revision and enhancement):
1382 Event Listener Support
1384 AccessibleApplication
1388 AccessibleEditableText
1395 AccessibleRelationSet
1400 2001-14-11 Bill Haneman <bill.haneman@sun.com>
1402 * at-bridge/bridge.c:
1403 Initial work for toolkit-level key snooper connection by bridge.
1408 New typedefs and fixes to support new namespacing, and cleaner
1409 separation of cspi bindings from libspi bonobo implementation.
1410 Removed inconsistent and extraneous Spi* namespace prefix that
1411 had crept into cspi headers.
1412 Lots of comment fixes that sed had missed.
1414 * cspi/spi-roletypes.h:
1415 * cspi/spi-statetypes.h:
1416 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
1417 to AccessibleRoleType.
1419 * libspi/accessibleeventlistener.h:
1420 Fixed minor namespacing weirdness.
1422 * libspi/deviceeventcontroller.c:
1423 Reordered some internal API for device listeners.
1424 Changed the key registry final boolean to 'is_system_global'
1425 rather than 'is_synchronous', which is more descriptive of its
1427 Added spi_device_event_controller_new().
1428 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
1430 * libspi/keystrokelistener.[ch]:
1431 Namespaced KeystrokeListener to SpiKeystrokeListener.
1432 Changed uses of keymasks to use SPI_ prefix, and did other
1435 * libspi/keymasks.h:
1436 Namespaced keymask constants with SPI_ prefix.
1438 * libspi/registry.c:
1439 Some warning fixes, and knock-on fixes from namespace changes.
1442 Added rules for accessx-gui test program.
1444 * test/accessx-gui.c:
1445 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
1446 utility. It doesn't actually use at-spi, but it's still cool and
1449 * test/keysynth-demo.c:
1453 Fixes so that these test clients work properly with the namespaced
1454 libraries. (Incompletely tested for technical reasons, fixes may follow)
1457 2001-13-11 Michael Meeks <michael@ximian.com>
1459 * libspi/application.c
1460 (impl_accessibility_application_get_version),
1461 (impl_accessibility_application_get_toolkit_name):
1463 (impl_accessibility_application_set_id),
1464 (impl_accessibility_application_get_id): remove
1465 redundant casting code.
1467 * libspi/action.c (impl_getDescription): fix warnings.
1469 * libspi/accessible.c
1470 (impl_accessibility_accessible_get_parent),
1471 (impl_accessibility_accessible_get_child_at_index),
1472 (impl_accessibility_accessible_get_state),
1473 (impl_accessibility_accessible_get_relation_set):
1474 warning fixes & include action.h
1476 2001-13-11 Michael Meeks <michael@ximian.com>
1478 * *.[ch] fix bits I screwed up:
1480 s/([^ \tb(\*\&\?\",])spi_/\1/g;
1481 s/([^ \tb(\*\&\?\",])Spi/\1/g;
1483 2001-13-11 Michael Meeks <michael@ximian.com>
1485 * *.[ch] Namespace libspi into spi_ and Spi.
1487 2001-13-11 Michael Meeks <michael@ximian.com>
1489 * Makefile.am: dist & install at-spi-1.0.pc
1491 * libspi/Makefile.am: install into at-spi-1.0
1493 * idl/Makefile.am (idldir): install into at-spi-1.0
1495 * at-spi-1.0.pc.in: add.
1497 * configure.in: build it.
1499 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1501 * test/keysynth-demo.c:
1502 Use a 'realize' signal-handler to set the WM properties for
1503 the virtual keyboard, rather than making it a "POPUP" type
1504 override-redirect window (thanks to anders carlsson for that
1507 2001-11-11 Bill Haneman <bill.haneman@sun.com>
1510 * test/keysynth-demo.c:
1511 Added new test of key synthesis, which creates a simple
1512 (mouse-operated) onscreen keyboard. It inserts key events into
1513 the currently-focused window, thus it does not grab keyboard focus
1516 * cspi/spi_registry.c:
1517 Added C binding for AT-SPI generateKeyEvent.
1519 * libspi/deviceeventcontroller.c:
1520 Added call to XFilterEvent so that key listener works with XIM (we
1521 hope). Added event_synth_type to generateKeyEvent, so that we can
1522 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
1523 synthesize a press/release pair for KeySyms.
1525 2001-11-09 Bill Haneman <bill.haneman@sun.com>
1527 * libspi/Makefile.am:
1528 * registryd/Makefile.am:
1529 (temporary) hack to include libXtst in libspi and registryd.
1530 (Needed for keystroke synthesis, see below).
1533 Improved API for registerKeystrokeListener, in accordance with
1534 discussions with Gnopernicus team and X server research.
1536 * libspi/registry.c:
1537 * libspi/deviceeventcontroller.c:
1538 * libspi/accessible.c:
1539 * libspi/keystrokelistener.c:
1540 Changes and fixes to support keylisteners for potentially
1541 consumed key events (that is, 'passive grabs').
1542 Added implementation for generateKeyEvent() [untested].
1545 Changes to registerKeystrokeListener() API, as above.
1546 Added deregisterGlobalEventListenerAll(), and
1547 deregisterKeystrokeListener(), which are needed for clean exit of
1549 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
1550 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
1552 * cspi/spi_registry.c:
1553 Added implementations of function prototypes mentioned above.
1555 * registryd/registryd.c:
1556 Added the key listener event source as a g_timeout(), to allow
1557 receipt of key events that are not caught by GDK (since GDK
1558 doesn't support passive keygrabs, this was necessary).
1561 Changed to attach a keylistener to 'Alt' keys, and
1562 respond to the following keycommands: Alt-M (toggle magnifier);
1563 Alt-F (toggle speech); Alt-Q (quit).
1564 Added an exit routine to deregister the listeners, and a key
1565 listener that prints some key info to the console when a key
1566 matches the listener mask (and is thus received by the listener).
1568 * util/idl/Magnifier.idl:
1569 Changes to magnifier API to support multiple zoom regions,
1570 non-uniform scaling in x and y, markDirty, and a host of other
1571 features that would be useful to magnification.
1574 * util/mag_client.c:
1575 * util/mag_client.h:
1576 * util/mag_control.c:
1578 Source code changes to support the above IDL changes.
1581 As above, and also changes to use a (slower) generic conversion
1582 path for colormap conversions, since the fast RGB conversions have been
1583 reported to fail for 16-bit displays.
1585 2001-10-26 Michael Meeks <michael@ximian.com>
1587 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
1589 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
1591 * at-bridge/Makefile.am: fix LDFLAGS.
1593 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1595 * at-bridge/bridge.c:
1596 Re-worked listeners for toolkit events, now we have signal
1597 and property listeners. Added a private method
1598 register_atk_event_listeners(), which registers with the
1599 various atk and gtk signals we need to monitor in order to emit
1601 Added emission hook for AtkObject:property-change events, to
1602 support the 'property listeners'.
1603 Fixed some alloc()s of Accessibility_Event structs to use CORBA
1606 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
1607 which emit warnings and exit, respectively, if CORBA errors occur
1608 during remote calls, and we now use these methods to check most of
1609 our CORBA calls in the C bindings.
1611 * cspi/spi_accessible.c:
1612 Changed AccessibleSelection_refSelectedChild() to
1613 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
1614 now increment refcounts.
1616 * cspi/spi_component.c:
1617 Fixed some long pointer casts (dangerous!) to pass pointers to
1618 CORBA_longs of the proper type to the CORBA stubs, and copy the
1619 data into the longs that were passed into the C bindings code.
1621 * at-bridge/bridge.c:
1623 * libspi/accessible.c:
1624 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
1625 hyperlinks, AtkHyperlink is an object type.
1627 * libspi/application.c:
1628 Added various conversions to and from "generic" event types and
1629 atk-specific types; this is really part of the 'bridge'
1630 implementation but is valid for all AtkObject-based accessibility
1633 * libspi/editabletext.c:
1634 Fixed nasty bug wherein editable text's finalize method was
1635 unref'ing tha AtkObject reference that the text parent class was
1636 about to unref _again_. There was also a nasty inheritance bug
1637 that meant that the AccessibleEditableText class was corrupt.
1639 * libspi/selection.c:
1640 Provided implementations for some selection API that was broken.
1642 * idl/Application.idl:
1643 Added registerObjectEventListener () method.
1646 Fixed a number of return values that were Bonobo_Unknowns from
1647 bonobo_object_corba_objref(), which I
1648 forgot to dup before returning. Changed instances of
1649 bonobo_object_corba_objref (bonobo_object(o)) to
1650 BONOBO_OBJREF(o), for concision and clarity.
1652 <2001-10-13 Louise Miller <louise.miller@sun.com>
1654 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
1655 idl/Event.idl, idl/Registry.idl
1656 Changed these files to include Bonobo_Unknown.idl instead
1659 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
1661 * libspi/component.c libspi/component.h:
1662 Fixed typo. Added assertions for object checks in
1663 AccessibleComponent code.
1665 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1667 * idl/Accessible.idl:
1668 Added 'isEqual (Accessible *object)'
1669 method for Accessible. (Not Yet Implemented).
1672 Changed signature of registerKeystrokeListener() to
1673 take a KeySet and KeyEventSeq so that specific keys and event
1674 types could be requested for monitoring, and added a flag
1675 is_synchronous so that either synchronous or asynchronous
1676 notification could be requested. (However this is not all
1677 implemented yet). This also meant adding two new typedefs,
1678 KeyEventSeq and KeySet.
1681 Added two new relations, RELATION_TOOLTIP_FOR and
1682 RELATION_LEAFNODE_OF.
1685 Added new state, STATE_HAS_TOOLTIP.
1687 * libspi/text.c, editabletext.c:
1688 Added new assertions to all casts of bonobo-objects from
1689 CORBA servants, to prevent Text API calls on non-text objects.
1690 Changed suspect casts of int-pointer types, so that we
1691 always send a valid CORBA_long pointer to the CORBA APIs that use
1692 in/out long parameters. We then have to copy from the CORBA_long
1693 into the regular long or int for return to the C bindings, or
1694 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
1697 * libspi/deviceeventcontroller.c:
1698 Cleaned these sources up.
1700 Changed return type for getCharacterAtOffset to
1701 CORBA_unsigned_long, to allow for 32-bit characters.
1704 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
1708 Fixed 'make dist' so that distro compiles...
1709 * libspi/keymasks.h:
1711 * cspi/spi-listener.c:
1712 KeystrokeListenerCB now returns a boolean.
1714 Added KeyEventType struct, and KeyStroke.
1715 Also added createKeystrokeListener(),
1716 KeystrokeListener_addCallback(),
1717 KeystrokeListener_removeCallback(), and added a keymask to
1718 registerKeystrokeListener().
1719 * cspi/spi_accessible.c:
1720 Changed numerous return types for interfaces from
1721 AccessibleComponent to Accessible<InterfaceName>; this was
1722 probably a cut-and-paste error.
1724 Implementations of new KeystrokeListener api (from spi.h,
1727 Changes to key modifier mapping.
1728 Created ControllerEventMask struct.
1729 Made DeviceEventController derive from Bonobo::Unknown.
1731 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
1732 * libspi/deviceeventcontroller.c:
1733 Added a number of new internal (private) methods.
1734 * libspi/editabletext.c:
1735 * libspi/editabletext.h:
1736 Fixed a number of bugs related to the fact that
1737 editabletext inherits from text. Fixed the EditableText struct,
1738 the init() call, and use correct casts when calling Text methods
1739 from an EditableText object. Removed (duplicate) atko from the
1740 EditableText structure, we use the one in the parent Text
1741 structure via the casts mentioned above.
1742 * libspi/keystrokelistener.[ch]:
1743 * libspi/registry.c:
1744 Changes in support of keyboard handling (above).
1746 Keyboard handling, though partly functional, is still not
1747 recommended for at-spi client use as there is considerable
1748 work yet to be done.
1751 Changed some places where pointers to various int types
1752 are cast to be pointers to CORBA_long types and vice-versa:
1753 pointer casting is not safe so we pass pointers of the correct
1754 types and then cast the result before putting it into the target
1757 * libspi/text.h: minor typos corrected.
1759 We now speak not only the name of a Text element, but the
1760 first sentence of its content, when it receives focus.
1761 I also changed the text compression to 75% from 50%.
1762 * util/Accessibility_Util.server.in:
1763 Changed the default magnifier type to be a 3x vertical
1764 splitscreen magnifier (was previously a 2x horizontal one).
1766 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
1768 * libspi/keystrokelistener.h:
1769 * libspi/keystrokelistener.c:
1770 Initial functional implementations of KeystrokeListener.
1773 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
1775 Fixed string handling for NULL strings in libspi.
1776 Added spi_freeString to free strings returned by C bindings.
1778 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
1780 * libspi/keystrokelistener.h:
1781 * libspi/keystrokelistener.c:
1782 Began (no-op) implementations of KeystrokeListener
1784 * libspi/deviceeventcontroller.c:
1785 * libspi/deviceeventcontroller.h:
1786 Began creating implementations of DeviceEventController,
1787 to handle keystroke and mouse event listening and
1789 * libspi/accessible.c:
1790 Stubbed-in the implementations for
1791 Accessibility_Accessible_getState and
1792 Accessibility_Accessible_getRelationSet.
1793 * libspi/registry.c:
1794 Improved de-registration process and fixed some bugs,
1795 deregistration now works correctly.
1797 Added initialization of applications list (to NULL).
1799 Reduced speech compression from 0.5 to 0.7, for demo.
1800 Changed call to gdk_window_set_decorations()
1801 to gtk_window_set_decorated().
1802 * at-bridge/bridge.c:
1803 Bridge now deregisters when app exits, via
1804 registration of a cleanup function
1805 with the g_atexit() call.
1806 Required making 'app' static, renamed 'this_app'.
1807 Fixed broken use of bonobo_init, passing argv wrongly.
1809 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
1813 Created a new directory for
1814 accessibility-related utilities, primarily for
1815 testing and demo purposes, but with possible
1822 Onscreen magnifier utility that
1823 is implemented as a bonobo service.
1825 * util/mag_client.c:
1826 * util/mag_client.h:
1827 Client-side support (simple C bindings)
1828 for Magnification service
1830 * util/mag_control.c:
1831 Client program example for
1832 Magnification service
1834 * util/Accessibility_Magnifier.server.in:
1835 Bonobo-activation file for the
1836 Magnification service.
1839 * util/idl/Magnifier.idl:
1840 IDL defining the bonobo Magnification
1844 Modifications to use the bonobo-activated magnifier
1845 above, in place of trying to connect to an existing
1846 magnifier that uses socket-listening IPC.
1848 If env variable MAGNIFIER is set, a magnifier service
1849 will be started if one does not exist.
1851 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
1852 * at-bridge/bridge.c:
1853 applied patch from Marc to build and run
1854 against new glib and gtk+ (seemed like a change
1855 to bonobo_init signature was made ?)
1857 made festival-server support turned off by default.
1858 Added support for a simple magnifier (off by default)
1859 which will be added to a 'util' directory later.
1860 * at-bridge/Makefile.am:
1861 Changed "application.h" header from a 'source'
1862 to a 'dependency' of libat-bridge.
1864 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
1872 Added interface implementation c files to list of
1873 includes so they are included in libcspi.
1876 Changed prototype of AccessibleAction_doAction to return a
1878 Changed prototype of AccessibleTable_getCaption to
1879 return an Accessible.
1880 Changed prototype of AccessibleTable_getSelectedRows
1881 and AccessibleTable_getSelectedColumns to
1882 return a long (returns the number of selected rows
1883 or columns respectively).
1884 Changed name of AccessibleText_refRunAttributes to
1885 AccessibleText_getAttributes.
1886 Changed prototype of AccessibleText_getCharacterExtents to
1887 return a void rather than a boolean.
1888 Added support for a AccessibleCoordType parameter
1889 specifying what type of coordinates are desired.
1890 Added an AccessibleCordType parameter to
1891 AccessibleText_getPointAtOffset.
1893 * cspi/spi_accessible.c:
1894 Added code to return the outstanding interfaces from
1895 Accessible_queryInterface.
1897 * cspi/spi_action.c:
1899 Corrected call to getNActions to call the c binding
1902 * cspi/spi_editabletext.c:
1904 Changed name from setRunAttributes to setAttributes.
1906 * cspi/spi_hyperlink.c:
1908 Changed call to getNAnchors to correctly call the c
1909 binding for an attribute.
1911 * cspi/spi_hypertext.c:
1913 Changed getImageDescription to correctly call the
1914 binding for an attribute.
1916 * cspi/spi_selection.c:
1917 Changed getNSelectedChildren to correctly call the c
1918 binding for the attribute.
1919 Changed refSelectedChild to getSelectedChild.
1923 Changed getCaption to return an Accessible.
1924 Fixed calls which retrieve attributes.
1925 Changed refAt to getAccessibleAt.
1926 Changed getNSelectedRows and getNSelectedColumns to
1930 Changed getCharacterExtents and getPointAtOffset to accept an
1931 AccessibleCoordType.
1933 Changed calls which retrieve attributes.
1934 Changed refRunAttributes to getAttributes.
1939 * idl/Hyperlink.idl:
1940 Changed n_anchors attribute to nAnchors to keep naming
1941 convention consistent.
1944 Made Table inherit from Bonobo::Unknown.
1945 Added nSelectedColumns and nSelectedRows attributes.
1948 Made Value inherit from Bonobo::Unknown.
1950 * libspi/hyperlink.c:
1951 Change for nAnchors attributte name change.
1953 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
1961 Added interface implementation c files to list of
1962 includes so they are included in libcspi.
1965 Changed prototype of AccessibleAction_doAction to return a
1967 Changed prototype of AccessibleTable_getCaption to
1968 return an Accessible.
1969 Changed prototype of AccessibleTable_getSelectedRows
1970 and AccessibleTable_getSelectedColumns to
1971 return a long (returns the number of selected rows
1972 or columns respectively).
1973 Changed name of AccessibleText_refRunAttributes to
1974 AccessibleText_getAttributes.
1975 Changed prototype of AccessibleText_getCharacterExtents to
1976 return a void rather than a boolean.
1977 Added support for a AccessibleCoordType parameter
1978 specifying what type of coordinates are desired.
1979 Added an AccessibleCordType parameter to
1980 AccessibleText_getPointAtOffset.
1982 * cspi/spi_accessible.c:
1983 Added code to return the outstanding interfaces from
1984 Accessible_queryInterface.
1986 * cspi/spi_action.c:
1988 Corrected call to getNActions to call the c binding
1991 * cspi/spi_editabletext.c:
1993 Changed name from setRunAttributes to setAttributes.
1995 * cspi/spi_hyperlink.c:
1997 Changed call to getNAnchors to correctly call the c
1998 binding for an attribute.
2000 * cspi/spi_hypertext.c:
2002 Changed getImageDescription to correctly call the
2003 binding for an attribute.
2005 * cspi/spi_selection.c:
2006 Changed getNSelectedChildren to correctly call the c
2007 binding for the attribute.
2008 Changed refSelectedChild to getSelectedChild.
2012 Changed getCaption to return an Accessible.
2013 Fixed calls which retrieve attributes.
2014 Changed refAt to getAccessibleAt.
2015 Changed getNSelectedRows and getNSelectedColumns to
2019 Changed getCharacterExtents and getPointAtOffset to accept an
2020 AccessibleCoordType.
2022 Changed calls which retrieve attributes.
2023 Changed refRunAttributes to getAttributes.
2028 * idl/Hyperlink.idl:
2029 Changed n_anchors attribute to nAnchors to keep naming
2030 convention consistent.
2033 Made Table inherit from Bonobo::Unknown.
2034 Added nSelectedColumns and nSelectedRows attributes.
2037 Made Value inherit from Bonobo::Unknown.
2039 * libspi/hyperlink.c:
2040 Change for nAnchors attributte name change.
2043 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2045 implementations-- made server implementations own AtkObject pointers
2046 rather than their respective AtkInterrface pointers to fix
2047 refcounting. AtkHyperlink is still broken.
2049 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2050 * cspi/spi_accessible.c:
2051 Added method Accessible_Role_getName(),
2052 and requisite string array (role_names).
2053 Added conversion string_from_corba_strin() call
2054 to Accessible_getName and _getDescription.
2055 * libspi/accessible.c:
2056 Added implementation for Accessible_getRole()
2058 Added festival support, used if environment variable
2061 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2063 * at-bridge/bridge.c:
2064 Now allocate Accessibility_Event using
2065 Accessibility_Event__alloc() instead of g_new0().
2066 * libspi/accessibleeventlistener.c:
2067 Initialize AccessibleEventListener->callbacks to NULL.
2068 Fixed accessible__event_listener_init() param, changed to
2069 "AccessibleEventListener *" type.
2070 Changed a bonobo_object_release_unref() call to
2071 Accessibility_Accessible_unref().
2072 * libspi/listener.c:
2073 Changed Bonobo_Unknown_unref to (equivalent)
2074 Accessibility_Accessible_unref.
2075 * libspi/registry.c:
2076 Changed bonobo_object_release_unref to
2077 Accessibility_Accessible_unref.
2079 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2082 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2083 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2084 spi-util.c spi-util.h
2085 Implementations for C bindings to remaining accessibility
2088 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2091 changed return value of Action from void to boolean to
2092 bring in line with ATK.
2095 Changed getText funcions to return "out" start and end offsets.
2096 Changed getAttributes to take and offset and return the start
2097 and end offset of the attribute run.
2098 Changed getOffsetAtPoint and getCharacterExtents to take an
2099 enum describing whether coordinates are window or screen.
2102 libspi/action.c libspi/action.h libspi/editabletext.c
2103 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2104 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2105 libspi/image.h libspi/selection.c libspi/selection.h
2106 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2107 libspi/value.c libspi/value.h
2108 Added server implementations for outstanding ATK interfaces
2109 not yet implemented.
2111 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2114 Added (missing) getName() method.
2115 Made nActions an attribute.
2116 * idl/EditableText.idl:
2117 Changed order of params in setAttributes.
2118 * idl/Hyperlink.idl:
2119 Removed getAnchor, added getURI.
2121 Changed attributes to methods, for efficiency
2122 (so that getting extents can be done in one call)
2123 * idl/Selection.idl:
2124 Changed nSelectedChildren to attribute, and re-indented.
2125 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2127 * idl/Text.idl: reformatted to match our coding style.
2128 (temporarily?) removed getRowColumnAtOffset().
2129 Changed text selection API to support multi-select and
2130 non-contiguous selections, as in ATK.
2131 * idl/Value.idl: changed some methods to attributes.
2133 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2135 * libspi/listener.c(impl_notify_event):
2136 BonoboUnkown_unref the source instead
2137 of bonobo_object_release_unref - the ORB
2138 handles the releasing.
2140 * configure.in: require ORBit-2.3.94 for
2143 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2145 Tagged CVS repository 'EA_1_0'.
2146 * README.EARLY_ACCESS:
2147 Alphabetized acknowledgements list, and
2149 Listed some known dependencies of at-spi.
2151 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2153 * docs/at-spi-docs.sgml:
2154 * docs/at-spi-sections.txt:
2155 * docs/at-spi-overrides.txt: (Added zero-length file)
2156 Documentation improvements - gtk-doc should build
2157 docs for all implemented C bindings now.
2160 * cspi/spi.c: (New file)
2161 * cspi/spi_event.c: (New file)
2162 * cspi/spi_registry.c: (New file)
2163 * cspi/spi_accessible.c: (New file)
2164 * cspi/spi_application.c: (New file)
2165 * cspi/spi_component.c: (New file)
2166 Split spi_main.c into six parts, and included them from
2167 "spi.c". This is a bit of a hack, probably temporary,
2168 but required by gtk-doc, apparently.
2170 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2173 * docs/at-spi-docs.sgml:
2174 * docs/at-spi-sections.txt:
2176 Initial checkins/modifications for gtk-doc generation.
2179 Added (missing) interface query methods to Accessible's C binding.
2181 Added GenericInterface type definition.
2183 Added query for AccessibleComponent interface to focus event handler.
2184 Added printout of bounding box for focussed component.
2185 * libspi/component.c:
2186 Added partial implementation for AccessibleComponent to C binding.
2187 * idl/Application.idl:
2188 * libspi/registry.c:
2189 * libspi/listener.c:
2190 * libspi/application.c:
2191 * libspi/application.h:
2192 Changed "ID" attribute type from string to long.
2194 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2198 Made method naming consistent: methods taking object args
2199 start with uppercase, other methods (except those using
2200 acronyms) start with lowercase. Underscores delimit between
2201 object names and method names:
2202 SPI_init() - uppercase since it starts with an acronym.
2203 getDesktopCount () - lowercase start since no object param0.
2204 Accessible_getName() - uppercase object type name, studlyCaps method
2208 Added gtk-doc documentation for all currently implemented
2209 methods in the C bindings API.
2211 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2213 * Makefile.am : changed build order to build test last.
2216 Changed "createEventListener" to "CreateEventListener".
2217 * libspi/accessibleeventlistener.c :
2218 Bugfix for addition of callbacks.
2219 * test/Makefile.am :
2220 * test/simple-at.c :
2221 Added new test that uses the C bindings API.
2223 * libspi/listener.c :
2224 * libspi/registry.c :
2225 * libspi/accessibleeventlistener.c :
2226 * at-bridge/bridge.c :
2227 Renamed member "target" of Accessibility_Event to "source",
2228 which is more descriptive.
2231 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2235 * cspi/Makefile.am :
2236 Added makefile support for at-spi/cspi directory.
2239 * cspi/spi-listener.h : (NEW FILE)
2240 Added support for/use of spi-listener.h.
2242 C bindings now build successfully, with no warnings.
2243 * libspi/accessibleeventlistener.h : (NEW FILE)
2244 * libspi/accessibleeventlistener.c : (NEW FILE)
2245 * libspi/Makefile.am :
2246 Added new object type "AccessibleEventListener"
2247 which inherits from Listener, and allows attachment
2248 of in-process callbacks (so that a client with a listening
2249 object instance can add functionality to the local
2250 implementation, dynamically).
2252 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2254 * libspi/accessible.c:
2255 Add implementation for get_index_in_parent().
2257 Added #include of "spi-roletypes.h", and
2258 added enumerated type AccessibleCoordType.
2259 Added definition for KeystrokeListener (function type).
2262 * cspi/spi-statetypes.h :
2263 * cspi/spi-roletypes.h :
2265 Added these headers, used by spi.h.
2267 Added code (NOTE: not yet built by make).
2269 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2271 * libspi/Makefile.am: generate imodule
2272 at the same time as other idl compiler
2275 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2276 * libspi/registry.c :
2277 * libspi/application.c :
2278 * idl/Application.idl :
2279 Made registration with toolkit an application method,
2280 which is required since each app has its own toolkit static
2281 environment. Thus the bridge must register for
2282 notification of toolkit events from each application in turn.
2283 Toolkit notifications are now successfully registered for, and
2284 sent to the listening at client.
2286 Changed toolkit event string to use hyphens rather than underscores.
2287 * libspi/listener.c :
2288 listner now gives more info in debug mode - it reports the
2289 name of the event received, as well as the name of the source.
2292 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2294 * libspi/registry.c :
2295 added more implementation for toolkit events.
2296 Fixed bug such that toolkit event registrations
2297 (via atk) use the whole event name string, not
2299 Removed a useless call to an ORBit_ method.
2300 * at-bridge/bridge.c :
2301 Removed unused local sbuf[] variable.
2303 We now register for Gtk:GtkWidget:button_press_event
2304 events as well as "focus:" events.
2306 Add some more API from Registry.idl that was missing,
2307 for keystroke listening, keystroke and mouse event
2308 synthesis, and enumeration of accessible desktops.
2310 2001-08-16 Michael Meeks <michael@ximian.com>
2312 * configure.in: use AM_GLIB_GNU_GETTEXT.
2314 * Makefile.am (SUBDIRS): kill intl.
2316 2001-08-15 Michael Meeks <michael@ximian.com>
2318 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2320 * configure.in: upd.
2322 * configure.in: depend on a recent bonobo-activation that
2323 will find our server files ...
2325 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2327 * libspi/accessible.c : accessible_new() :
2328 Now we add the Component interface via bonobo_object_add_interface,
2329 if the contained AtkObject implements AtkComponent.
2330 * libspi/accessible.h : now include "component.h"
2331 * libspi/component.h :
2332 * libspi/component.c : added files - implementation of
2333 bonobo wrapper object for Accessibility/Component
2334 * libspi/listener.c :
2335 Added test code to check for Accessibility/Component:1.0
2336 interface and report whether it is implemented by the
2338 * libspi/registry.c :
2339 Now we check for not only the hash of the whole event
2340 string before relaying the event, we also check the
2341 "minor" event string (without the detail string).
2342 This allows event listeners to be registered against
2343 all events of a certain major+minor type, or just
2344 against a specific major+minor+detail type.
2345 * libspi/accessible.c :
2346 Added implementations for Accessible:get_parent(),
2347 Accessible:getChildCount(), and Accessible:getChildAtIndex().
2348 * libspi/registry.c :
2349 * libspi/listener.c :
2350 Replaced calls to Accessibility_Accessible_ref() and
2351 Accessibility_Accessible_unref() with
2352 calls to bonobo_object_dup_ref() and
2353 bonobo_object_release_unref(), so that the CORBA object
2354 is dup-ed and released when relayed, as well as the bonobo object.
2356 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2358 * libspi/Makefile.am,
2359 registryd/Makefile.am,
2360 at-bridge/Makefile.am.
2361 test/Makefile.am, configure.in:
2362 reverse previous changes.
2364 * /idl/Image.idl: fix typo.
2366 * test/Makefile.am: put DEBUG_FLAGS
2369 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2371 * test/app.c: use argv[0] instead of
2374 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2376 * libspi/Makefile.am,
2377 registryd/Makefile.am,
2378 at-bridge/Makefile.am.
2379 test/Makefile.am, configure.in:
2380 cleanup, replace individual LIBS/CFLAGS with
2381 AT_COMMON_{LIBS|CFLAGS}.
2385 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2387 * configure.in, libspi/Makefile.am:
2388 Change IDL path checking for bonobo-activation
2391 2001-08-15 Bill Haneman <bill.haneman@sun.com>
2393 * registryd/registry.c : separated event listeners to use
2394 3 separate lists (focus, window, toolkit). Began testing
2395 event names against hashes before relaying events.
2396 * test/at.c : now register for events of type "focus:"
2397 * test/app.c : now generate events of type "focus:"
2398 * at-bridge/bridge.c : register with ATK for focus events,
2399 and we now relay those focus events to any "focus:" listeners.
2400 This now works with the bridge as a GTK_MODULE when running test/at.
2401 * libspi/registry.c :
2402 * libspi/listener.c :
2403 now we ref event sources before propagating, and unref on receipt.
2404 * libspi/registry.c :
2405 some changes to internal structs, to support event typestring hashes.
2406 * text/app.c : changed the way the appname is generated.
2407 * cspi : added directory that will hold the C bindings library for
2408 non-CORBA/bonobo-savvy clients.
2409 * cspi/spi.h : header file that contains the function prototypes for the C binding.
2410 * idl/Component.idl : added in parameter to indicate coord system for
2411 geometry-related calls.
2412 * idl/Hyperlink.idl : added readonly n_links attribute
2413 * idl/Image.idl : changed methods to attributes.
2415 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2417 * at-bridge/Makefile.am: link against
2418 ../libspi/libspi.la instead of -lspi.
2420 * at-spi/test/app.c: include
2421 bonobo-activation.h. Use a default appname
2422 if one is not provided.
2424 2001-08-14 Bill Haneman <bill.haneman@sun.com>
2426 * idl/Registry.idl : temporarily changed register_Application
2427 to oneway, to work around issue with initial registration
2429 * idl/Application.idl : changed attribute "id" from readonly
2430 to read-write, since it needs to be assigned by Registry.
2431 * registryd/registryd.c : added call to set application id
2433 * registryd/registry.c : changed de-registration procedure to
2434 use CORBA_Object_hash() to find matching object ref in application
2435 lists and listener lists.
2436 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
2437 began distinguishing between event types (work in progress).
2439 2001-08-13 Bill Haneman <bill.haneman@sun.com>
2442 * libspi/application.c:
2443 Added implementations for get/set id, get_toolkitName,
2445 * registryd/registryd.c :
2449 Converted from use of OAF to bonobo-activation.
2450 * libspi/desktop.h :
2451 * libspi/desktop.c :
2453 Removed references to atksimpleobject, since base atkobject
2454 implementation now provides functionality we need.
2455 * libspi/atksimpleobject.c :
2456 * libspi/atksimpleobject.h :
2461 * at-bridge/Makefile.am
2462 * at-bridge/bridge.c
2465 Added directory "bridge" and contents, and added dependencies
2466 in Makefile.am/configure.in.
2467 Initial checkin of "at-bridge".
2468 This code is a GTK_MODULE which automatically registers
2469 GTK+ apps with the accessibility registry, using an object
2470 reference to the root ATK object.
2472 2001-08-10 Mark McLoughlin <mark@skynet.ie>
2474 * po/Makefile.in.in: Remove. Again. If this
2475 doesn't get autogenerated - you need to update
2478 2001-08-07 Mark McLoughlin <mark@skynet.ie>
2480 * po/Makefile.in.in: Add. Again.
2482 2001-07-31 Bill Haneman <bill.haneman@sun.com>
2484 * libspi/accessible.c : added support for 'description' property.
2485 * libspi/accessible.c
2487 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
2488 (since the two are now equivalent in libbonobo)
2496 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
2497 Bonobo::Unknown as does Accessibility::Accessible.
2498 * idl/StreamableContent.idl : as above, and replaced internal InputStream
2499 interface with Bonobo::Stream, since it was redundant with it.
2500 (The Stream returned by a StreamableContext object is expected to
2501 implement only a subset of Bonobo::Stream)
2503 2001-07-28 Anders Carlsson <andersca@gnome.org>
2505 * libspi/accessible.c (accessible_object_finalize): Change
2506 g_free to g_object_unref since the AtkObject is a GObject.
2508 2001-07-30 Bill Haneman <bill.haneman@sun.com>
2510 * idl/Accessibility.idl: add new IDL files
2513 * idl/Action.idl: Definitions of actionable UI object
2514 * idl/Component.idl: Definitions of UI component geometry, etc.
2515 * idl/Hyperlink.idl: Defs of hyperlink behavior
2516 * idl/Image.idl: Def of accessible image
2517 * idl/Selection.idl: Definition of UI object with selectable children
2518 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
2519 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
2520 * idl/Text.idl: Interface defs for UI elements with complex textual content
2521 * idl/Value.idl: Definition of UI element that is a value controller or display
2523 2001-07-27 Michael Meeks <michael@ximian.com>
2525 * po/Makefile.in.in: remove autogenerated file from CVS.
2527 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
2530 * idl/Registry.idl: include guard.
2532 * idl/Accessibility.idl: Add, and include all the other IDL
2535 * idl/*.idl: remove mass of pragmas etc.
2537 2001-07-26 Michael Meeks <michael@ximian.com>
2539 * registryd/Makefile.am (registryd_SOURCES): remove
2542 2001-07-27 Mark McLoughlin <mark@skynet.ie>
2544 * libspi/.cvsignore, registryd/.cvsignore,
2545 test/.cvsignore: updated.
2547 * po/Makefile.in.in: gettext update.
2549 2001-07-25 Bill Haneman <bill.haneman@sun.com>
2551 * initial CVS checkin
2553 2001-06-29 Michael Meeks <michael@ximian.com>
2555 * configure.in: add AM_CONFIG_HEADER to gen config.h