1 2001-12-10 Michael Meeks <michael@ximian.com>
3 * configure.in: use cspi/libspi.pc.in instead.
5 * Makefile.am (pkgconfig_DATA): upd. to match.
7 * test/simple-at.c (report_focus_event): kill hacks around
8 bad return values, use putenv not setenv
10 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
11 fire ChildGone - I killed it.
14 (impl_accessibility_component_get_extents): remove
17 * idl/Accessible.idl: kill ChildGone exception.
19 * cspi/*.[ch]: kill int return from ref / unref.
21 * cspi/spi_main.c (cspi_object_add_check): fold into
22 (cspi_object_add): here.
24 * cspi/spi_component.c (AccessibleComponent_getExtents):
25 handle exceptions elegantly.
27 * cspi/spi-private.h (cspi_check_ev_return),
28 (cspi_return_if_fail): impl.
30 * cspi/spi_accessible.c: use extensively.
31 (AccessibleStateSet_equals): add direct compare check.
33 * cspi/spi_selection.c: tolerate NULL objs, and check
34 exceptions before return.
36 * cspi/spi-util.c (cspi_warn_ev): rename to
37 (cspi_check_ev): this & don't pass ev in; no point.
39 2001-12-10 Michael Meeks <michael@ximian.com>
41 * test/test-simple.c: use putenv not setenv
42 (get_environment_vars): more chatty if you're not using
45 * test/simple-at.c: do the setenv so more people see the
48 2001-12-10 Bill Haneman <bill.haneman@sun.com>
51 Changed check of CORBA_environment on notification to be a warning
52 instead of an error for the moment, since we can recover from this
53 error when caused by a queued notification from a dead app.
56 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
57 used by all current implementors of AtkValue), and coerce to
58 CORBA_float. (Proper general case fix may require change to Value.idl).
60 2001-12-09 Bill Haneman <bill.haneman@sun.com>
64 * cspi/spi_accessible.c:
65 Documentation fixes: added user_data params to documentation for
66 listeners and callbacks.
68 * cspi/spi_accessible.c:
69 Changed AccessibleStateSet_compare to return a
70 StateSet rather than return the difference set into a third parameter.
73 2001-12-09 Bill Haneman <bill.haneman@sun.com>
76 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
77 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
81 Remove subdirectory po from SUBDIRS for now.
84 Beefed up a couple of debug printouts.
85 One-line fix for signal notification name formatting.
87 * libspi/accessible.c:
88 Added assertion to spi_accessible_new ().
90 * libspi/application.c:
91 Put #ifdef qualifiers around a printf.
94 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
96 * registryd/Makefile.am:
98 Replaces use of XML_I18N_MERGE_SERVER_RULE with
99 INTLTOOL_SERVER_RULE macro.
102 Added an event listener for several ATK signals, for
103 testing and debugging. Removed a few g_warnings.
104 Added test output if focussed item implements the Value interface.
106 * test/test-simple.c:
107 Added test_value () function (known not to pass at the moment, so
108 not actually called yet.
110 2001-12-08 Michael Meeks <michael@ximian.com>
112 * at-bridge/bridge.c (bridge_focus_tracker),
113 (emit_eventv): fix the same ref. leak.
114 (register_atk_event_listeners): don't leak.
116 * cspi/spi-listener-impl.c (cspi_event): more
117 protection from client code.
119 * test/test-simple.c (test_desktop): unref the app.
121 * test/Makefile.am: upd. TESTS.
123 * at-bridge/bridge.c (bridge_exit_func): release the registry.
125 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
127 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
129 * cspi/spi_registry.c: constify in strings.
130 (deregisterGlobalEventListenerAll): don't release the ref.
132 * cspi/spi.h: start removing redundant / conflicting
133 gtkdoc comments, making the API readable at a glance :-)
135 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
137 * test/keysynth-demo.c (keysynth_exit, main): upd.
139 * test/simple-at.c (main, simple_at_exit): upd.
141 * test/test-simple.c (unutterable_horror): kill.
142 (utterable_normal_derefs): kill.
143 (main): upd & do a setenv before gtk_init, so that we
144 can use memprof - and to save the pain of remembering
145 this, if we're running under memprof - don't exit.
147 * cspi/spi_main.c (SPI_exit): return exit status
149 (SPI_event_quit): impl.
150 (SPI_event_main): simplify.
151 (cspi_is_gnome_app): kill.
152 (SPI_init): kill isGNOMEapp arg.
154 * at-bridge/bridge.c (register_atk_event_listeners):
155 re-instate the unref.
156 (bridge_exit_func): don't re-activate the registry,
157 protect vs. theoretical re-entry, use the
158 AT_BRIDGE_SHUTDOWN env. var to determine whether to
159 assert a clean shutdown - for regression tests.
161 2001-12-08 Abel Cheung <maddog@linux.org.hk>
163 * configure.in: Comment out dummy i18n support for now,
164 otherwise it fails to build.
165 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
166 EXTRA_DIST. They are missing in tarball.
168 2001-12-07 Michael Meeks <michael@ximian.com>
170 * util/magnifier.c: kill bonobo activation reg. race.
173 (impl_accessibility_component_get_extents): make it match
176 * libspi/registry.c (_registry_notify_listeners):
177 re-remove X headers & reconcile conflicts.
178 (spi_listener_struct_free): bad conflict resolve.
179 (impl_accessibility_registry_register_application):
180 more bad merging fixed.
181 (impl_accessibility_registry_deregister_application): ditto.
182 (spi_registry_new): ditto.
183 (spi_registry_init): don't have an applications field.
185 [ merge fixups2 branch to here ]
186 2001-12-07 Michael Meeks <michael@ximian.com>
188 * test/simple-at.c (report_focus_event),
189 (report_focussed_accessible): remove g_warning debug.
191 2001-12-07 Michael Meeks <michael@ximian.com>
193 * test/test-simple.c (validate_tree): comment out some checks.
194 (test_desktop): app now not registered idly - horay.
196 2001-12-07 Michael Meeks <michael@ximian.com>
198 * cspi/spi_registry.c
199 (registerAccessibleKeystrokeListener): clean, stop it leaking
200 great swathes of memory, and device event controller references.
201 ensure we always pass valid sequences.
202 (deregisterAccessibleKeystrokeListener): ditto.
203 (generateKeyEvent): upd.
205 * at-bridge/bridge.c (bridge_key_listener): handle
206 registry dead exception gracefully.
207 (bridge_focus_tracker, emit_eventv): free ev.
209 * test/simple-at.c (report_focus_event): fix polarity.
211 * libspi/application.c (notify_listeners): kill the ev
212 argument, and make sure we init the ev we use.
213 (spi_application_object_event_listener): split out a chunk
214 (get_atk_object_ref): here & fixup.
215 (reverse_lookup_name_for_toolkit_event): make const.
216 (spi_application_toolkit_event_listener): fixup, kill leaks
219 * at-bridge/bridge.c (register_atk_event_listeners):
220 don't unref the noop object - causes grief.
222 * libspi/registry.c: remove the X headers.
223 turn off the debug churn.
225 * libspi/accessible.c (spi_accessible_new_return): only
226 release the ref if we are supposed to [doh]
228 * test/simple-at.c (report_button_press, report_focus_event):
229 guard vs. unexpected exit.
231 * at-bridge/bridge.c (gtk_module_init): prune printf.
232 (bridge_exit_func): fix app unref.
234 * libspi/Makefile.am: don't install registry or desktop.h
236 * libspi/*.h: update includes.
238 * libspi/application.h: don't include ourself, or
239 other redundant headers.
241 2001-12-06 Michael Meeks <michael@ximian.com>
243 * libspi/accessible.c
244 (get_accessible_from_servant): impl.
245 Upd. all CORBA impl.s to use it killing cut and paste.
247 * cspi/spi_main.c (cspi_cleanup): guard vs. double
249 (SPI_init): register atexit cleanup handler here.
251 2001-12-06 Michael Meeks <michael@ximian.com>
253 * at-bridge/bridge.c (gtk_module_init): g_error on
256 2001-12-06 Michael Meeks <michael@ximian.com>
258 * at-bridge/bridge.c (gtk_module_init): some sort of
259 confusing merge clash - reverted.
260 (bridge_idle_init): ditto.
262 * test/test-simple.c (main, utterable_normal_derefs):
263 merge from Bill - somehow not committed.
265 2001-12-06 Michael Meeks <michael@ximian.com>
267 * libspi/value.c (spi_value_class_init): upd.
268 (spi_value_finalize): kill.
270 * libspi/table.c (spi_table_finalize): kill.
271 (spi_table_interface_new): upd.
272 (spi_table_class_init): upd.
273 (get_table_from_servant): impl.
274 Upd. all CORBA impl.s to use it killing yet more cut and paste.
276 * libspi/selection.c (spi_selection_finalize): kill.
277 (spi_selection_interface_new): upd.
278 (spi_selection_class_init): upd.
279 (get_selection_from_servant): impl.
280 Upd. all CORBA impl.s to use it killing yet more cut and paste.
282 * libspi/relation.c (spi_relation_finalize): kill.
283 (spi_relation_class_init, spi_relation_new): upd
285 * libspi/image.c (spi_image_finalize): kill.
286 (spi_image_class_init): upd.
287 (spi_image_interface_new): upd.
288 (get_image_from_servant): impl.
289 Upd. all CORBA impl.s to use it killing yet more cut and paste.
291 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
292 (spi_hyperlink_finalize): kill.
293 (spi_hyperlink_new): upd.
294 (get_hyperlink_from_servant): impl.
295 Upd. all CORBA impl.s to use it killing yet more cut and paste.
297 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
298 (spi_hypertext_finalize): kill.
299 (spi_hypertext_class_init): upd.
300 (get_hypertext_from_servant): impl.
301 Upd. all CORBA impl.s to use it killing yet more cut and paste.
303 * libspi/editabletext.c (spi_editable_text_finalize): kill.
304 (spi_editable_text_interface_new): upd.
305 (get_editable_text_from_servant): impl.
306 Upd. all CORBA impl.s to use it killing yet more cut and paste.
308 * libspi/text.c (get_text_from_servant): impl.
309 All impls - update to use it killing more cut and paste,
310 also fix bad string returns on duff args ( a somewhat
311 impossible case to handle - but hey ).
312 (spi_text_construct): impl.
313 (spi_text_interface_new): upd.
314 (spi_text_object_finalize): kill.
317 (accessibility_component_object_finalize): kill.
318 (spi_component_class_init): upd.
319 (get_component_from_servant): impl. helper to kill cut & paste.
320 (impl_accessibility_component_contains):
321 (impl_accessibility_component_get_accessible_at_point):
322 (impl_accessibility_component_get_position):
323 (impl_accessibility_component_get_extents):
324 (impl_accessibility_component_get_mdi_z_order):
325 (impl_accessibility_component_get_layer):
326 (spi_component_interface_new): upd.
328 * libspi/action.c (spi_action_finalize): kill.
329 (spi_action_class_init): upd. inherit from SpiObject.
330 (spi_action_interface_new): upd.
331 (get_action_from_servant): impl. helper to reduce cut & paste.
332 (impl_getKeyBinding, impl_getName, impl_doAction),
333 (impl_getDescription): Use it everywhere.
335 * cspi/spi_main.c (get_live_refs): a pointer hash.
336 (spi_object_hash, spi_object_equal): comment out.
337 There are issues with CORBA object hashing that need
340 * libspi/application.c (spi_application_init),
341 (spi_application_new): upd.
343 * libspi/accessible.c (spi_accessible_object_finalize): kill.
344 (spi_accessible_class_init): upd.
345 s/accessible/object/ in epv methods.
347 2001-12-05 Bill Haneman <bill.haneman@sun.com>
349 * at-bridge/bridge.c:
350 Reorder the bridge initialization into the bridge gtk_module_init,
351 an immediate call to bridge_register_app, and an idle_add for
352 register_atk_event_listeners (the only code that *must* wait until
353 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
354 the activation, creates the application's Accessible object, and
355 queues the bridge_idle_init function. Restored call to
356 Accessibility_Registry_deregisterApplication().
357 Prior to making this call we obtain a new reference to the
358 registry, which is a temporary hack that helps us handle apps that
359 shut down the bonobo mainloop before we get there.
362 Fix string leakage in debug block, and don't segv if a an app
363 dies before its event notifications have been propagated.
366 Modify cspi_check_ev() to call g_warning() rather than g_error(),
367 as stopgap measure until we get proper exception handling when
368 objects die during or before interrogation.
372 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
373 Also changed default value of is_gnome_app to TRUE.
376 * test/keysynth-demo.c:
377 Changed use of SPI_init and SPI_event_main to reflect API change above.
380 Made report_focus_event check the warning value from getName
381 before reporting on focussed accessible; simplifies handling of
382 notifications from dead objects.
384 * test/test-simple.c: (Changes not in this patch since source is
387 2001-12-05 Michael Meeks <michael@ximian.com>
389 * registryd/registryd.c (main): protect against
390 bonobo-activation startup race condition.
392 * cspi/spi_main.c (cspi_object_add_check): cope
393 with the exception elegantly.
395 * idl/Accessible.idl: decl. ChildGone
397 * libspi/desktop.c (spi_desktop_dispose): impl.
398 (spi_desktop_class_init): upd.
399 (spi_desktop_add_application),
400 (spi_desktop_remove_application),
401 (abnormal_application_termination): impl.
402 (impl_desktop_get_child_at_index): re-impl.
405 (impl_accessibility_registry_deregister_application),
406 (impl_accessibility_registry_register_application):
407 kill excessive debug clutter.
409 * test/test-simple.c (test_misc): test some NULL
410 tolerance. (main): upd.
412 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
413 implements no interfaces - so let's not crash.
415 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
417 * libspi/accessible.c (spi_accessible_new_return): impl.
418 helper to calm the cut and paste, to cope with
419 NULL AtkObjects effectively and efficiently, and to kill
420 the referencing bugs.
422 * libspi/table.c (impl_getAccessibleAt),
423 (impl_getRowHeader, impl_getColumnHeader): upd.
425 * libspi/hyperlink.c (impl_getObject): upd.
427 * libspi/accessible.c
428 (impl_accessibility_accessible_get_child_at_index): upd.
431 (impl_accessibility_component_get_accessible_at_point): upd.
433 * test/test-simple.c (test_editable_text, test_text): impl.
436 * cspi/spi_editabletext.c
437 (AccessibleEditableText_insertText): constify.
439 * test/test-simple.c (focus_me): make more robust.
441 * libspi/accessible.c: remove some printfs in methods that
442 we test and work fine, so we can get a clean tree dump.
444 * test/test-simple.c (validate_accessible),
445 (validate_tree): make tree dumping pretty too.
447 * at-bridge/bridge.c (bridge_signal_listener): upd. so
448 it builds without debug on.
450 * test/test-simple.c (validate_accessible): fix the most
453 * cspi/spi_main.c (spi_object_release): leave the nicely
454 blanked memory around if in debug mode.
456 * cspi/spi-listener-impl.c (cspi_event): use add_check.
458 [committed to fixups2]
459 2001-12-05 Michael Meeks <michael@ximian.com>
461 * libspi/editabletext.c
462 (spi_editable_text_class_init): g_type_class_peek_parent,
463 not interface peek - so we finalize cleanly.
465 * libspi/accessible.c (spi_accessible_new): kill debug.
467 * test/test-simple.c (validate_accessible): fix ref.
468 leak, print strings before freeing them; sigh, comment a
469 chunk out due to strangeness.
470 (validate_tree): unref the child after use.
472 * cspi/spi_component.c (AccessibleComponent_getLayer):
473 add missing break statement, switch on zlayer not the
474 uninitialized retval.
476 * cspi/spi_main.c (cspi_object_add): add assert, local ref
477 before (possibly re-entering) remote unref.
479 * test/simple-at.c (main): unref the desktop.
481 * cspi/spi_accessible.c (cspi_accessible_is_a): move
484 * cspi/spi_main.c (cspi_accessible_is_a): here to
485 isolate bonobo API usage more.
487 * libspi/registry.c (impl_accessibility_registry_register_application):
490 2001-12-04 Michael Meeks <michael@ximian.com>
492 * test/test-simple.c (validate_tree): upd.
493 IndexInParent check to make it more lucid.
494 (validate_accessible): dump the tree.
496 * libspi/accessible.c (de_register_public_ref),
497 (get_public_refs): impl.
498 (spi_accessible_new): make more efficient & intuitive.
499 Now IndexInParent check works.
501 2001-12-04 Michael Meeks <michael@ximian.com>
503 * cspi/spi-util.h: remove.
505 * cspi/spi.h: move SPI_freeString here
507 * libspi/component.c (impl_accessibility_component_get_layer):
509 (impl_accessibility_component_get_mdi_z_order): ditto,
510 return -1 on error - is this ok ?
512 * test/test-simple.c (test_application): impl.
514 * cspi/spi_accessible.c (Accessible_getApplication),
515 (Accessible_isApplication): impl.
517 * libspi/registry.c (spi_listener_struct_free): release
518 the CORBA reference too.
520 * libspi/accessible.c
521 (impl_accessibility_accessible_get_parent): fix ref leak.
523 * libspi/registry.c (spi_registry_new): make the registry
524 immortal - we don't want it to go away ever.
526 * libspi/application.c
527 (spi_accessible_application_finalize): impl. cleanup.
529 * cspi/spi_registry.c
530 (deregisterGlobalEventListenerAll),
531 (deregisterGlobalEventListener),
532 (deregisterAccessibleKeystrokeListener): fix ref leak.
534 * cspi/spi_main.c (SPI_init): remove redundant ref.
536 * test/test-simple.c (unutterable_horror): impl. to force a
541 (impl_accessibility_registry_deregister_application): release
542 the application when we de-register it.
544 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
545 until we have the infastructure to get it right.
547 2001-12-03 Michael Meeks <michael@ximian.com>
549 * libspi/Makefile.am: only build eventlistener.[ch]
551 * libspi/accessible.c
552 (impl_accessibility_accessible_get_child_at_index): don't leak.
554 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
555 before we hit the idle handler.
557 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
560 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
562 * libspi/listener.c (impl_notify_event): check source
563 not NIL before unref.
565 * libspi/registry.c (impl_registry_notify_event): ditto.
567 * libspi/eventlistener.c
568 (impl_accessible_event_notify_event): unref the source.
570 * libspi/accessibleeventlistener.c
571 (impl_accessible_event_notify_event): unref the source.
573 * idl/Event.idl: remove 'hash_id' attribute - of no
576 * libspi/application.c (notify_listeners): upd list
578 (spi_application_object_event_listener),
579 (spi_application_toolkit_event_listener): upd to do correct
583 (_registry_notify_listeners): update.
584 (parse_event_type): this method also leaks like a sieve.
585 (impl_accessibility_registry_deregister_global_event_listener):
586 fix ETYPE_WINDOW case.
588 * libspi/application.c
589 (impl_accessibility_application_register_object_event_listener):
592 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
594 * libspi/hypertext.c (impl_getLink): ditto.
596 * cspi/spi_main.c (cspi_object_add): remove
597 bogus CORBA_Object_duplicate.
599 * cspi/spi-listener-impl.c (cspi_event): dup/ref
602 * cspi/spi_accessible.c
603 (Accessible_getRelationSet): fix leak / referencing issue.
605 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
606 (cspi_object_add, cspi_object_unref): upd.
607 (spi_object_release, get_live_refs): impl.
608 (cspi_cleanup): simplify.
610 * *.[ch]: s/boolean/SpiBoolean/
612 * cspi/spi_accessible.c (role_names): actualy order so it
613 corresponds with the enum !
615 * test/test-simple.c (test_roles): check some role strings
616 vs. enums to detect offset errors.
618 2001-12-01 Michael Meeks <michael@ximian.com>
620 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
622 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
624 (Accessible_getChildAtIndex): use cspi_add_check so we
625 check the ev before using a (possibly) invalid value.
627 * libspi/accessible.c
628 (impl_accessibility_accessible_get_parent): don't segv
631 * at-bridge/bridge.c (gtk_module_init): upd.
632 (bridge_property_event_listener): don't leak strings
634 (bridge_state_event_listener),
635 (bridge_property_event_listener): don't use a static
636 buffer in case of recursive event emission &
637 re-enterancy - split out the swathe of cut and paste
639 (emit_eventv): and fix 2 ref leaks here & comply to the
641 (bridge_register_app): rename to
642 (bridge_idle_init): this and kill arg parsing, split
643 various inits & bonobo-activation registration to module
644 init time, kill referencing error.
645 (bridge_exit_func): fix the same leak.
646 (bridge_focus_tracker): don't leak event structures
648 (bridge_signal_listener): more leakage and cut & paste
650 (bridge_key_listener): return the result - FIXME is
651 this polarity correct ?
652 (accessibility_keystroke_from_atk_key_event): rename
653 (accessibility_init_keystroke_from_atk_key_event): and stop
655 (gtk_module_init): return a value - not that it is checked by
657 (bridge_key_listener): register my horror at casting between
659 (bridge_get_registry): kill - not used.
661 * cspi/spi_accessible.c (Accessible_getRole): make return const.
663 * test/test-simple.c (test_roles): impl.
664 (test_desktop, validate_accessible, validate_tree): impl.
666 * cspi/spi_accessible.c (role_names): fixup bogus
667 MAX_ROLES setup, make constants const for efficient linkage
668 (AccessibleRole_getName): conform to coding style, make
671 2001-11-30 Michael Meeks <michael@ximian.com>
673 * cspi/spi.h: add missing prototype.
675 * libspi/registry.c (spi_listener_struct_new): fix sig.
677 * test/Makefile.am: add test-simple
679 * test/test-simple.c: add
683 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
685 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
686 do it straight - since otherwise we often get an activation race.
688 [ work before Bill duplicated a chunk of it ... ]
689 2001-11-30 Michael Meeks <michael@ximian.com>
691 * libspi/keystrokelistener.c
692 (spi_keystroke_listener_class_init): fixup arg
695 * libspi/eventlistener.c
696 (spi_event_listener_class_init): ditto.
698 * tests/test.sh: add.
700 * cspi/spi-listener-impl.h: update macros.
702 * cspi/spi-listener-impl.c
703 (cspi_event_listener_remove_callback): add
704 correct pre-conditions.
706 * cspi/spi_main.c (SPI_exit): guard vs. double
707 exits, exit the mainloop nicely.
708 (SPI_event_main): make more sense.
709 (SPI_init): move the atexit evilness here so we
711 (SPI_event_main): upd.
713 * test/simple-at.c: update for listener changes.
715 * registryd/registryd.c (main): prune kruft.
717 * libspi/libspi.h: upd.
719 * libspi/eventlistener.[ch]: rename broken macros.
721 * libspi/accessibleeventlistener.[ch]: remove.
723 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
725 * test/test-simple.c: Add - automated tests.
727 * cspi/spi-listener-impl.c (cspi_event),
728 (cspi_key_event): add user_data to invoke.
729 (cspi_keystroke_listener_finalize): impl.
730 (cspi_keystroke_listener_class_init): upd.
733 (createAccessibleEventListener),
734 (AccessibleEventListener_addCallback),
735 (createAccessibleKeystrokeListener),
736 (AccessibleKeystrokeListener_addCallback): upd.
738 * libspi/deviceeventcontroller.c
739 (spi_device_event_controller_check_key_event): add public proto.
742 (impl_accessibility_registry_deregister_global_event_listener):
743 always init listeners.
744 (_registry_notify_listeners): yes it is.
746 * cspi/spi-listener-impl.c (cspi_key_event):
748 (cspi_event_listener_finalize): impl.
749 (cspi_event_listener_class_init): hook up.
750 (event_handler_new, event_handler_free),
751 (event_list_remove_by_callback): impl.
752 (cspi_event_listener_remove_callback),
753 (cspi_keystroke_listener_remove_callback),
754 (cspi_keystroke_listener_add_callback),
755 (cspi_event_listener_add_callback): upd.
757 * libspi/keystrokelistener.c
758 (keystroke_listener_object_finalize): kill
759 (spi_keystroke_listener_class_init): upd.
760 (spi_keystroke_listener_add_callback),
761 (spi_keystroke_listener_remove_callback): kill,
763 (impl_key_event): prune drasticaly.
765 * libspi/eventlistener.c
766 (spi_event_listener_add_callback),
767 (spi_event_listener_remove_callback): kill, use
769 (impl_accessible_event_notify_event): upd.
770 (spi_event_listener_object_finalize): remove.
772 * libspi/Makefile.am: use eventlistener.[ch]
774 2001-12-04 Bill Haneman <bill.haneman@sun.com>
776 * libspi/registry.c (_registry_notify_listeners):
777 Changed listener loop iteration to use preferred convention.
778 Got rid of string memory leaks caused be calling g_strconcat
779 inside function calls.
781 * libspi/registry.c (parse_event_type):
782 Stopped g_strconcat memory leaks, free the g_strsplit return,
783 g_strdup the split pieces when used, etc.
785 2001-12-04 Bill Haneman <bill.haneman@sun.com>
788 Change method 'compare' to return a 'difference set' rather than
789 taking a StateSet as an out parameter (more Java-friendly).
791 * idl/Accessible.idl:
792 Added CORBA struct 'BoundingBox', to faciliate API changes below:
796 Changed methods 'getExtents' and 'getImageExtents' in these
797 interfaces to return a BoundingBox structure.
798 (getPosition and getSize are redundant and possibly should be
799 removed, rather than creating a corresponding Point struct.)
801 * cspi/spi_component.c:
802 Modify implementation of getExtents to reflect the above IDL
807 Add (missing) AccessibleImage_getExtents () API.
809 * docs/reference/cspi/at-spi-cspi-sections.txt:
810 Added AccessibleImage_getImageExtents () to docs.
812 2001-12-03 Bill Haneman <bill.haneman@sun.com>
815 Added two methods, getLayer () and getMDIZOrder (), to reflect
816 the new ATK methods atk_object_get_layer and
817 atk_object_get_mdi_z_order. (Which arguably should be part of the
818 AtkComponent API and AtkObject). Also added an enum,
819 ComponentLayer, for the first method's return value.
821 * libspi/component.c:
822 Added implementations for these methods.
824 * cspi/spi_component.c:
826 Added cspi binding methods for above,
827 AccessibleComponent_getLayer() and
828 AccessibleComponent_getMDIZOrder().
829 Added cspi enum 'AccessibleComponentLayer'.
831 * docs/reference/cspi/at-spi-cspi-sections.txt:
832 Added above methods to docs.
836 Changed typedef for 'boolean' type (and all references to it) to
837 SPIBoolean, to avoid keyword clashes with C++.
840 Changed usages of 'boolean' to SPIBoolean.
842 * test/keysynth-demo.c:
843 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
844 app), except where SPIBoolean is required by the callbacks API.
846 2001-12-02 Bill Haneman <bill.haneman@sun.com>
848 * cspi/spi_registry.c:
849 Removed obsolete X event loop for passive keygrabs (which now
852 * registryd/registryd.c:
853 Removed unnecessary call to gdk_init() [cruft]. This also allows
854 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
857 2001-11-28 Bill Haneman <bill.haneman@sun.com>
859 * docs/reference/cspi:
860 Included docs for SPI_freeString in generated documentation.
863 Renamed spi_freeString to SPI_freeString, for consistency. Added
864 documentation for this function.
867 Renamed spi_freeString to SPI_freeString, for consistency.
868 Removed obsolete method declaration string_from_corba_string.
870 * test/keysynth-demo.c:
871 Small tweak to comments.
874 Stopped leaking the strings returned from CSPI.
876 2001-11-28 Bill Haneman <bill.haneman@sun.com>
878 Merged Michael's branch (see his ChangeLog entries below).
880 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
881 bridge is alive, release on exit.
883 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
884 Fix type check macro.
887 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
890 Added is_gnome_app static, and method cspi_is_gnome_app(),
891 so we can call the appropriate shutdown routine at exit in SPI_exit.
893 * cspi/spi_main.c (cspi_object_ref):
894 Duplicate the corba object passed in, since we're keeping it around.
896 * cspi/SPI_exit.c, cspi_cleanup:
897 Moved the releasing of the live refs to its own function, so we
898 can put it in g_atexit (). Call the appropriate shutdown API
899 depending on whethe calling client is a gnome app or not
900 (bonobo_main_quit or CORBA_ORB_shutdown).
902 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
903 Unref the listener when this method is called, after
904 deregistration. Updated the API docs to note this behavior.
906 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
907 Bugfixes: Ref the bonobo object when returning a parent or child
908 reference, or an AccessibleRelation. Generally made sure
909 BonoboObject refcount is incremented whenever we return an
912 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
913 Fixed typo/bug in signal declaration.
915 * libspi/accessibleeventlistener.h:
918 * libspi/application.c (spi_application_new):
919 Fixed leak in initialization.
922 Remembered to increment bonobo-object refcount when returning
923 children (applications) from desktop object.
924 Added (empty) finalize method.
926 * libspi/deviceeventcontroller.c:
927 Hold a ref to listeners inside DEControllerKeyListeners.
928 Added dec_key_listener_free() method. Use prepend instead of
929 append in key_listener list. Fixed some refcount madness and
930 leaks in the listener registration/deregistration - deregistration
931 now calls dec_key_listener_free() on listeners, and on the
932 temporarily constructed dec_key_listener() used to perform the search/match.
934 * libspi/hypertext.c (spi_hypertest_finalize):
935 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
936 class. Also fixed spi_hypertext_interface_new() and
937 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
939 * libspi/hypertext.h:
940 Removed pointless and duplicate AtkObject pointer from
943 * libspi/keystrokelistener.c:
944 Fixed incorrect type of keystroke_listener_parent_class,
945 renamed keystroke_listener_object_finalize to
946 spi_keystroke_listener_object_finalize.
947 Fixed typo in signal declaration
948 (spi_keystroke_listener_class_init).
951 Added funcsions spi_listener_struct_new() and
952 spi_listener_struct_free() to help with memory management issues.
953 We also now use these methods instead of gnew + poking stuff into
954 the struct, and to decrement listener counts/free the listeners
955 when deregistering them.
956 Fix more refcount bugs in getDesktop() and
957 getDeviceEventController().
960 De-ref the desktop after enumerating the applications. Explicitly
961 decrement the refcounts on the created listeners on exit (using
962 _unref for keystroke listeners, and via the
963 deregisterGlobalEventListenerAll command for other event
966 2001-11-27 Michael Meeks <michael@ximian.com>
968 * cspi/spi-listener.h: fixup enum.
970 2001-11-27 Michael Meeks <michael@ximian.com>
972 * cspi/spi-listener-impl.c (cspi_event_listener_new),
973 (cspi_keystroke_listener_new): Use the cspi variants.
975 2001-11-26 Michael Meeks <michael@ximian.com>
977 * test/keysynth-demo.c: fix 2 compile warnings, missing
980 * test/simple-at.c (report_focussed_accessible),
981 (report_focus_event, report_button_press),
982 (check_property_change, is_command_key),
983 (report_ordinary_key_event, report_command_key_event): upd.
985 * util/mag_client.h: include pre-requisites.
987 * libspi/accessibleeventlistener.c
988 (spi_event_listener_object_finalize): free any lingering
991 * libspi/keystrokelistener.c
992 (keystroke_listener_object_finalize): ditto.
994 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
995 callbacks, with cspi types.
997 * cspi/spi_event.c (createAccessibleEventListener): chain to
998 (AccessibleEventListener_addCallback): here.
999 (createAccessibleKeystrokeListener): chain to
1000 (AccessibleKeystrokeListener_addCallback): here.
1002 * libspi/keystrokelistener.c
1003 (spi_keystroke_listener_class_init): add signal.
1004 (impl_key_event): emit the event.
1005 (boolean_handled_accumulator): impl.
1006 (marshal_BOOLEAN__POINTER): add, gack.
1008 * libspi/accessibleeventlistener.c
1009 (spi_event_listener_class_init): add signal.
1010 (impl_accessible_event_notify_event): emit the signal &
1011 make the loop efficient.
1012 (spi_event_listener_add_callback): prepend the callback.
1014 * libspi/accessibleeventlistener.h: add an 'event' signal,
1015 decl type on callback.
1017 * libspi/keystrokelistener.h: ditto.
1019 * cspi/spi-listener.h: make methods typesafe and
1020 make them use the new event typedefs.
1022 * test/simple-at.c (report_focussed_accessible):
1023 include mag_client.h
1024 Use *(void *)text_interface not the other thing.
1026 * configure.in: add gtk to registryd bits - since we use
1029 * util/magnifier.c: include libbonobo.h
1031 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1033 * test/keysynth-demo.c:
1034 Turned this into a simple scanning keyboard, to demonstrate the
1035 use of g_timeout_add () as a means of creating timers for
1036 scanning, and the use of GtkStyle for visually indicating when
1037 virtual keyboard elements are selected.
1039 keysynth-demo now listens to any keyboard keys with zero-valued
1040 keycodes (i.e. 'unused' keys) and interprets them as
1043 Reworked the shiftlatch code so that shift-down state isn't held
1044 for long periods (it's only synthesized immediately prior to
1045 the keysynth event it's modifying). Note that shiftlatch in this
1046 demo is a convenience, not intended to take the place of AccessX
1047 which is the better choice for getting 'sticky' modifier keys.
1049 * libspi/deviceeventcontroller.c:
1050 * at-bridge/bridge.c:
1051 * cspi/spi_registry.c:
1052 Removed some debug print stuff, and put other verbosity in #ifdef
1057 Implemented some more of the magnifier IDL for the simple
1058 magnifier: namely, getZoomRegionParams.
1059 Added mag_x and mag_y members to MagnifierData struct, aid of this
1061 Added GtkWindow::realize signal handler to magnifier, to keep it
1062 from receiving keyboard focus from the WM.
1064 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1066 * cspi/spi-private.h: my guess at what michael forgot
1067 before he ran off to NZ :-)
1069 2001-11-23 Michael Meeks <michael@ximian.com>
1071 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1072 comment out non existant method invoke so we link.
1074 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1075 use bonobo_exception_get_text for more friendly warnings.
1077 * cspi/spi.c (Obj_Add): move into spi_main & rename
1078 spi_object_add; kill spi.c
1080 * cspi/spi_registry.c
1081 (deregisterGlobalEventListener),
1082 (deregisterGlobalEventListenerAll),
1083 (registerGlobalEventListener): fix exception leaks.
1085 * cspi/spi_main.c (spi_exception): impl. helper, so we
1086 don't leak exceptions.
1088 * cspi/spi_selection.c
1089 (AccessibleSelection_deselectSelectedChild): return the
1092 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1093 (spi_registry): ditto.
1094 (SPI_init): guard against double inits.
1096 * cspi/*.c: use spi_ev (), and spi_registry () where
1097 appropriate - a temporary hack until we have something
1098 better. Use spi_object_add
1100 2001-11-22 Michael Meeks <michael@ximian.com>
1102 * cspi/Makefile.am: re organise, install the headers.
1104 * cspi/*.h: add G_BEGIN/END_DECLS
1106 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1109 Added non-preemptive keylistener for key events with no modifiers
1110 and shift-only modifier.
1112 * libspi/keystrokelistener.c:
1113 Removed some verbose diagnostics printout.
1115 * cspi/spi_registry.c:
1116 Fixed a bug that caused all key listeners to be registered as
1119 * libspi/deviceeventcontroller.c:
1120 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1121 for non-preemptive key masks.
1124 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1126 * docs/reference/idl/at-spi-idl-docs.sgml:
1127 * docs/reference/idl/at-spi-idl-sections.txt:
1128 * docs/reference/idl/at-spi-idl-overrides.txt:
1129 Added missing files.
1131 * docs/reference/Makefile.am:
1132 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1133 to scan the IDL files :-(
1138 Added .cvsignore files.
1140 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1142 * libspi/deviceeventcontroller.c:
1143 * libspi/keystrokelistener.c:
1145 * cspi/spi_registry.c:
1146 Added filters for KeySets, KeyEventSeq, and event types to key
1147 event dispatching, so listeners should only receive those events
1148 that they requested :-)
1150 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1155 * docs/reference:Makefile.am:
1156 * docs/reference/cspi:
1157 * docs/reference/cspi:Makefile.am:
1158 * docs/reference/cspi:tmpl:
1159 * docs/reference/cspi:tmpl:*.sgml:
1160 * docs/reference/idl:
1161 * docs/reference/idl:Makefile.am:
1162 * docs/reference/idl:at-spi-idl-sections.txt:
1163 * docs/reference/idl:at-spi-idl-docs.sgml:
1164 * docs/reference/idl:tmpl:
1165 * docs/reference/idl:tmpl:*.sgml:
1167 Restructured docs directory to allow separate 'reference' docs
1168 section, and forked idl and cspi docs. Added the sgml template
1169 files to CVS. Added the first sections/structural sgml for the
1172 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1174 * configure.in, libspi/Makefile.am: find libXtst.
1176 2001-11-21 Michael Meeks <michael@ximian.com>
1178 * test/accessx-gui.c: s/spi_value/value/ - doh.
1180 * libspi/base.[ch]: add.
1182 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1184 * idl/Accessible.idl:
1185 * idl/Application.idl:
1188 Started gtk-doc cleanup on IDL.
1190 * libspi/deviceeventcontroller.c:
1191 Added and connected non-preemptive key notification from the
1192 toolkits (in addition to the pre-emptive support from XServer
1193 which we had before, but which causes 'focus flashing'). Filters
1194 are presently limited to key modifiers and global/non-global,
1195 KeySets are presently ignored, as are KeyEvent masks.
1197 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1198 structs into the persistant structure rather than just storing
1199 pointers to things that might not persist across servant
1202 The XGrabKey call now does async keygrabs, because synchronous
1203 ones were deadlocking with GDK_event code in a very nasty way.
1205 Added boolean to internal method notify_keylisteners, to indicate
1206 whether the event came from the 'toolkit source' or the 'global
1207 (XServer) source' - this is used in the notification process to
1208 determine which listeners to send the event to.
1210 deviceeventcontroller.c is now warning-free.
1212 * libspi/registry.c:
1213 Fixed regression in application de-registration.
1214 Also fixed some really brain-dead weirdness having to do with
1215 event dispatching - event structs are now duplicated before being
1216 re-marshalled in the dispatch to listeners. This also fixes a
1217 Solaris build problem.
1220 2001-20-11 Michael Meeks <michael@ximian.com>
1223 (impl_accessibility_registry_deregister_global_event_listener):
1226 * libspi/deviceeventcontroller.c
1227 (spi_device_event_controller_check_key_event): return
1228 FALSE on no virtual method.
1230 * libspi/*..h: make includes work on a correctly pathed install.
1232 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1234 * libspi/application.h: kill unused ( and whacked out )
1235 gboolean *spi_application_set_id (AtkObject *app, long id);
1237 2001-20-11 Michael Meeks <michael@ximian.com>
1239 * libspi/*.[ch]: further convert to bonobo's type func
1240 macros, remove redundnant casts etc.
1242 * libspi/text.c s/accessibility_text/spi_text/g,
1243 re-order to de-cruft.
1245 * libspi/hypertext.c: re-order to kill a huge slew
1246 of redundant forward decls.
1248 * libspi/relation.c: ditto.
1250 * libspi/image.c: ditto.
1252 * */.cvsignore: update
1254 2001-20-11 Michael Meeks <michael@ximian.com>
1256 * libspi/deviceeventcontroller.c
1257 (_controller_register_with_devices): use g_getenv,
1258 kill stdlib.h include.
1260 * libspi/keystrokelistener.c
1261 (spi_keystroke_listener_get_type): kill
1262 (spi_keystroke_listener_class_init),
1263 (spi_keystroke_listener_init): rename to this.
1265 * libspi/text.c (impl_getAttributes): fix warning / bug.
1267 * libspi/*.[ch]: more headers, includes and over commenting.
1269 2001-20-11 Michael Meeks <michael@ximian.com>
1271 * libspi/*.[ch]: fixup headers, includes and over commenting.
1273 * libspi/image.c (impl__get_imageDescription): const
1274 correctness warning fix. remove redundant casting.
1276 * libspi/table.c (impl_getRowDescription): ditto.
1277 (impl_getColumnDescription): ditto.
1279 * libspi/libspi.h: add.
1281 2001-19-11 Michael Meeks <michael@ximian.com>
1283 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1285 * libspi/component.c (accessibility_component_get_type):
1286 rename to (spi_component_get_type): and macroify.
1287 (accessibility_component_init): rename to
1288 (spi_component_init): this
1289 (accessibility_component_class_init): rename to
1290 (spi_component_class_init): this
1292 * libspi/action.c (spi_action_get_type): kill, use the macro.
1294 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1297 * libspi/application.c (spi_application_object_event_listener),
1298 (impl_accessibility_application_register_object_event_listener):
1299 warning fixes / const understanding updates.
1301 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1304 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1306 * libspi/spi_accessible.c: Added docs and C bindings for
1307 AccessibleStateSet. (No implementations yet). Documentation
1308 coverage for C bindings now 100%. Made docs for event listeners
1313 boolean notifyListenersSync (in DeviceEventListener listener,
1314 in DeviceEvent event);
1316 oneway void notifyListenersAsync (in DeviceEventListener listener,
1317 in DeviceEvent event);
1319 Added DeviceEventListener and DeviceEvent structs (may deprecate
1320 KeyStroke and KeystrokeListener in favor of this generic
1321 event/listener framework for devices).
1323 * libspi/deviceeventcontroller.c:
1325 Changed some key listener code to take masks, etc., and paved the
1326 way for integration of toolkit/non-preemptive key events. Changed
1327 signatures of some internal methods.
1329 * at-bridge/bridge.c:
1330 Fixed regression connecting to interface signals, apparently
1331 caused by GTK+ changes.
1333 Added an internal bridge_state_listener to deal with
1334 property-change:accessible-state signals.
1336 Changed the key_listeners GList to store structs (including masks,
1337 etc.) instead of just CORBA_Objects (required for full
1338 implementation of key listener API).
1340 Connected the bridge to all currently supported Atk signals.
1341 Events now supported:
1342 object:property-change
1343 object:property-change:accessible-name
1344 object:property-change:accessible-state
1345 object:property-change:accessible-description
1346 object:property-change:accessible-parent
1347 object:property-change:accessible-value
1348 object:property-change:accessible-role
1349 object:property-change:accessible-table-caption
1350 object:property-change:accessible-table-column-description
1351 object:property-change:accessible-table-column-header
1352 object:property-change:accessible-table-row-description
1353 object:property-change:accessible-table-row-header
1354 object:property-change:accessible-table-summary
1355 object:children-changed
1356 object:visible-data-changed
1357 object:selection-changed
1358 object:text-selection-changed
1360 object:text-caret-moved
1362 object:row-reordered
1364 object:column-inserted
1365 object:column-reordered
1366 object:column-deleted
1367 object:model-changed
1369 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1371 * libspi/hyperlink.c,h:
1372 Fixed some broken stuff in hyperlink.
1374 * libspi/relation.h:
1375 * libspi/relation.c:
1376 * cspi/spi_accessible.c:
1377 Initial implementations of AccessibleRelation methods, and docs.
1379 * libspi/accessible.c:
1380 Fixed a bug that caused SEGV if an accessible
1381 object's description is NULL, and a client
1382 requests it. An empty string is now returned.
1384 * cspi/spi_editabletext.c:
1385 * cspi/spi_hypertext.c:
1387 * cspi/spi_hyperlink.c:
1391 Doc coverage now 95%.
1393 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1395 One last namespacing revision:
1396 * libspi/accessibleeventlistener.[ch]:
1397 Renamed SpiAccessibleEventListener to SpiEventListener,
1398 (no need for two namespaces ;-)
1400 And lots of documentation fixes:
1402 * docs/at-spi-docs.sgml:
1403 Fixed 'underscore vs. hyphen' bug that was preventing
1404 the gtk-doc API docs from being automatically generated.
1407 * cspi/spi-listener.h
1409 * cspi/spi_accessible.c
1411 * cspi/spi_application.c
1412 * cspi/spi_component.c
1413 * cspi/spi_editabletext.c
1415 * cspi/spi_hypertext.c
1417 * cspi/spi_registry.c
1418 * cspi/spi_selection.c
1422 * docs/at-spi-docs.sgml
1423 * docs/at-spi-sections.txt
1425 Added and fixed up gtk-doc documentation in cspi.
1427 Interfaces now (fully) documented (subject to revision and enhancement):
1429 Event Listener Support
1431 AccessibleApplication
1435 AccessibleEditableText
1442 AccessibleRelationSet
1447 2001-14-11 Bill Haneman <bill.haneman@sun.com>
1449 * at-bridge/bridge.c:
1450 Initial work for toolkit-level key snooper connection by bridge.
1455 New typedefs and fixes to support new namespacing, and cleaner
1456 separation of cspi bindings from libspi bonobo implementation.
1457 Removed inconsistent and extraneous Spi* namespace prefix that
1458 had crept into cspi headers.
1459 Lots of comment fixes that sed had missed.
1461 * cspi/spi-roletypes.h:
1462 * cspi/spi-statetypes.h:
1463 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
1464 to AccessibleRoleType.
1466 * libspi/accessibleeventlistener.h:
1467 Fixed minor namespacing weirdness.
1469 * libspi/deviceeventcontroller.c:
1470 Reordered some internal API for device listeners.
1471 Changed the key registry final boolean to 'is_system_global'
1472 rather than 'is_synchronous', which is more descriptive of its
1474 Added spi_device_event_controller_new().
1475 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
1477 * libspi/keystrokelistener.[ch]:
1478 Namespaced KeystrokeListener to SpiKeystrokeListener.
1479 Changed uses of keymasks to use SPI_ prefix, and did other
1482 * libspi/keymasks.h:
1483 Namespaced keymask constants with SPI_ prefix.
1485 * libspi/registry.c:
1486 Some warning fixes, and knock-on fixes from namespace changes.
1489 Added rules for accessx-gui test program.
1491 * test/accessx-gui.c:
1492 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
1493 utility. It doesn't actually use at-spi, but it's still cool and
1496 * test/keysynth-demo.c:
1500 Fixes so that these test clients work properly with the namespaced
1501 libraries. (Incompletely tested for technical reasons, fixes may follow)
1504 2001-13-11 Michael Meeks <michael@ximian.com>
1506 * libspi/application.c
1507 (impl_accessibility_application_get_version),
1508 (impl_accessibility_application_get_toolkit_name):
1510 (impl_accessibility_application_set_id),
1511 (impl_accessibility_application_get_id): remove
1512 redundant casting code.
1514 * libspi/action.c (impl_getDescription): fix warnings.
1516 * libspi/accessible.c
1517 (impl_accessibility_accessible_get_parent),
1518 (impl_accessibility_accessible_get_child_at_index),
1519 (impl_accessibility_accessible_get_state),
1520 (impl_accessibility_accessible_get_relation_set):
1521 warning fixes & include action.h
1523 2001-13-11 Michael Meeks <michael@ximian.com>
1525 * *.[ch] fix bits I screwed up:
1527 s/([^ \tb(\*\&\?\",])spi_/\1/g;
1528 s/([^ \tb(\*\&\?\",])Spi/\1/g;
1530 2001-13-11 Michael Meeks <michael@ximian.com>
1532 * *.[ch] Namespace libspi into spi_ and Spi.
1534 2001-13-11 Michael Meeks <michael@ximian.com>
1536 * Makefile.am: dist & install at-spi-1.0.pc
1538 * libspi/Makefile.am: install into at-spi-1.0
1540 * idl/Makefile.am (idldir): install into at-spi-1.0
1542 * at-spi-1.0.pc.in: add.
1544 * configure.in: build it.
1546 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1548 * test/keysynth-demo.c:
1549 Use a 'realize' signal-handler to set the WM properties for
1550 the virtual keyboard, rather than making it a "POPUP" type
1551 override-redirect window (thanks to anders carlsson for that
1554 2001-11-11 Bill Haneman <bill.haneman@sun.com>
1557 * test/keysynth-demo.c:
1558 Added new test of key synthesis, which creates a simple
1559 (mouse-operated) onscreen keyboard. It inserts key events into
1560 the currently-focused window, thus it does not grab keyboard focus
1563 * cspi/spi_registry.c:
1564 Added C binding for AT-SPI generateKeyEvent.
1566 * libspi/deviceeventcontroller.c:
1567 Added call to XFilterEvent so that key listener works with XIM (we
1568 hope). Added event_synth_type to generateKeyEvent, so that we can
1569 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
1570 synthesize a press/release pair for KeySyms.
1572 2001-11-09 Bill Haneman <bill.haneman@sun.com>
1574 * libspi/Makefile.am:
1575 * registryd/Makefile.am:
1576 (temporary) hack to include libXtst in libspi and registryd.
1577 (Needed for keystroke synthesis, see below).
1580 Improved API for registerKeystrokeListener, in accordance with
1581 discussions with Gnopernicus team and X server research.
1583 * libspi/registry.c:
1584 * libspi/deviceeventcontroller.c:
1585 * libspi/accessible.c:
1586 * libspi/keystrokelistener.c:
1587 Changes and fixes to support keylisteners for potentially
1588 consumed key events (that is, 'passive grabs').
1589 Added implementation for generateKeyEvent() [untested].
1592 Changes to registerKeystrokeListener() API, as above.
1593 Added deregisterGlobalEventListenerAll(), and
1594 deregisterKeystrokeListener(), which are needed for clean exit of
1596 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
1597 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
1599 * cspi/spi_registry.c:
1600 Added implementations of function prototypes mentioned above.
1602 * registryd/registryd.c:
1603 Added the key listener event source as a g_timeout(), to allow
1604 receipt of key events that are not caught by GDK (since GDK
1605 doesn't support passive keygrabs, this was necessary).
1608 Changed to attach a keylistener to 'Alt' keys, and
1609 respond to the following keycommands: Alt-M (toggle magnifier);
1610 Alt-F (toggle speech); Alt-Q (quit).
1611 Added an exit routine to deregister the listeners, and a key
1612 listener that prints some key info to the console when a key
1613 matches the listener mask (and is thus received by the listener).
1615 * util/idl/Magnifier.idl:
1616 Changes to magnifier API to support multiple zoom regions,
1617 non-uniform scaling in x and y, markDirty, and a host of other
1618 features that would be useful to magnification.
1621 * util/mag_client.c:
1622 * util/mag_client.h:
1623 * util/mag_control.c:
1625 Source code changes to support the above IDL changes.
1628 As above, and also changes to use a (slower) generic conversion
1629 path for colormap conversions, since the fast RGB conversions have been
1630 reported to fail for 16-bit displays.
1632 2001-10-26 Michael Meeks <michael@ximian.com>
1634 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
1636 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
1638 * at-bridge/Makefile.am: fix LDFLAGS.
1640 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1642 * at-bridge/bridge.c:
1643 Re-worked listeners for toolkit events, now we have signal
1644 and property listeners. Added a private method
1645 register_atk_event_listeners(), which registers with the
1646 various atk and gtk signals we need to monitor in order to emit
1648 Added emission hook for AtkObject:property-change events, to
1649 support the 'property listeners'.
1650 Fixed some alloc()s of Accessibility_Event structs to use CORBA
1653 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
1654 which emit warnings and exit, respectively, if CORBA errors occur
1655 during remote calls, and we now use these methods to check most of
1656 our CORBA calls in the C bindings.
1658 * cspi/spi_accessible.c:
1659 Changed AccessibleSelection_refSelectedChild() to
1660 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
1661 now increment refcounts.
1663 * cspi/spi_component.c:
1664 Fixed some long pointer casts (dangerous!) to pass pointers to
1665 CORBA_longs of the proper type to the CORBA stubs, and copy the
1666 data into the longs that were passed into the C bindings code.
1668 * at-bridge/bridge.c:
1670 * libspi/accessible.c:
1671 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
1672 hyperlinks, AtkHyperlink is an object type.
1674 * libspi/application.c:
1675 Added various conversions to and from "generic" event types and
1676 atk-specific types; this is really part of the 'bridge'
1677 implementation but is valid for all AtkObject-based accessibility
1680 * libspi/editabletext.c:
1681 Fixed nasty bug wherein editable text's finalize method was
1682 unref'ing tha AtkObject reference that the text parent class was
1683 about to unref _again_. There was also a nasty inheritance bug
1684 that meant that the AccessibleEditableText class was corrupt.
1686 * libspi/selection.c:
1687 Provided implementations for some selection API that was broken.
1689 * idl/Application.idl:
1690 Added registerObjectEventListener () method.
1693 Fixed a number of return values that were Bonobo_Unknowns from
1694 bonobo_object_corba_objref(), which I
1695 forgot to dup before returning. Changed instances of
1696 bonobo_object_corba_objref (bonobo_object(o)) to
1697 BONOBO_OBJREF(o), for concision and clarity.
1699 <2001-10-13 Louise Miller <louise.miller@sun.com>
1701 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
1702 idl/Event.idl, idl/Registry.idl
1703 Changed these files to include Bonobo_Unknown.idl instead
1706 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
1708 * libspi/component.c libspi/component.h:
1709 Fixed typo. Added assertions for object checks in
1710 AccessibleComponent code.
1712 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1714 * idl/Accessible.idl:
1715 Added 'isEqual (Accessible *object)'
1716 method for Accessible. (Not Yet Implemented).
1719 Changed signature of registerKeystrokeListener() to
1720 take a KeySet and KeyEventSeq so that specific keys and event
1721 types could be requested for monitoring, and added a flag
1722 is_synchronous so that either synchronous or asynchronous
1723 notification could be requested. (However this is not all
1724 implemented yet). This also meant adding two new typedefs,
1725 KeyEventSeq and KeySet.
1728 Added two new relations, RELATION_TOOLTIP_FOR and
1729 RELATION_LEAFNODE_OF.
1732 Added new state, STATE_HAS_TOOLTIP.
1734 * libspi/text.c, editabletext.c:
1735 Added new assertions to all casts of bonobo-objects from
1736 CORBA servants, to prevent Text API calls on non-text objects.
1737 Changed suspect casts of int-pointer types, so that we
1738 always send a valid CORBA_long pointer to the CORBA APIs that use
1739 in/out long parameters. We then have to copy from the CORBA_long
1740 into the regular long or int for return to the C bindings, or
1741 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
1744 * libspi/deviceeventcontroller.c:
1745 Cleaned these sources up.
1747 Changed return type for getCharacterAtOffset to
1748 CORBA_unsigned_long, to allow for 32-bit characters.
1751 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
1755 Fixed 'make dist' so that distro compiles...
1756 * libspi/keymasks.h:
1758 * cspi/spi-listener.c:
1759 KeystrokeListenerCB now returns a boolean.
1761 Added KeyEventType struct, and KeyStroke.
1762 Also added createKeystrokeListener(),
1763 KeystrokeListener_addCallback(),
1764 KeystrokeListener_removeCallback(), and added a keymask to
1765 registerKeystrokeListener().
1766 * cspi/spi_accessible.c:
1767 Changed numerous return types for interfaces from
1768 AccessibleComponent to Accessible<InterfaceName>; this was
1769 probably a cut-and-paste error.
1771 Implementations of new KeystrokeListener api (from spi.h,
1774 Changes to key modifier mapping.
1775 Created ControllerEventMask struct.
1776 Made DeviceEventController derive from Bonobo::Unknown.
1778 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
1779 * libspi/deviceeventcontroller.c:
1780 Added a number of new internal (private) methods.
1781 * libspi/editabletext.c:
1782 * libspi/editabletext.h:
1783 Fixed a number of bugs related to the fact that
1784 editabletext inherits from text. Fixed the EditableText struct,
1785 the init() call, and use correct casts when calling Text methods
1786 from an EditableText object. Removed (duplicate) atko from the
1787 EditableText structure, we use the one in the parent Text
1788 structure via the casts mentioned above.
1789 * libspi/keystrokelistener.[ch]:
1790 * libspi/registry.c:
1791 Changes in support of keyboard handling (above).
1793 Keyboard handling, though partly functional, is still not
1794 recommended for at-spi client use as there is considerable
1795 work yet to be done.
1798 Changed some places where pointers to various int types
1799 are cast to be pointers to CORBA_long types and vice-versa:
1800 pointer casting is not safe so we pass pointers of the correct
1801 types and then cast the result before putting it into the target
1804 * libspi/text.h: minor typos corrected.
1806 We now speak not only the name of a Text element, but the
1807 first sentence of its content, when it receives focus.
1808 I also changed the text compression to 75% from 50%.
1809 * util/Accessibility_Util.server.in:
1810 Changed the default magnifier type to be a 3x vertical
1811 splitscreen magnifier (was previously a 2x horizontal one).
1813 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
1815 * libspi/keystrokelistener.h:
1816 * libspi/keystrokelistener.c:
1817 Initial functional implementations of KeystrokeListener.
1820 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
1822 Fixed string handling for NULL strings in libspi.
1823 Added spi_freeString to free strings returned by C bindings.
1825 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
1827 * libspi/keystrokelistener.h:
1828 * libspi/keystrokelistener.c:
1829 Began (no-op) implementations of KeystrokeListener
1831 * libspi/deviceeventcontroller.c:
1832 * libspi/deviceeventcontroller.h:
1833 Began creating implementations of DeviceEventController,
1834 to handle keystroke and mouse event listening and
1836 * libspi/accessible.c:
1837 Stubbed-in the implementations for
1838 Accessibility_Accessible_getState and
1839 Accessibility_Accessible_getRelationSet.
1840 * libspi/registry.c:
1841 Improved de-registration process and fixed some bugs,
1842 deregistration now works correctly.
1844 Added initialization of applications list (to NULL).
1846 Reduced speech compression from 0.5 to 0.7, for demo.
1847 Changed call to gdk_window_set_decorations()
1848 to gtk_window_set_decorated().
1849 * at-bridge/bridge.c:
1850 Bridge now deregisters when app exits, via
1851 registration of a cleanup function
1852 with the g_atexit() call.
1853 Required making 'app' static, renamed 'this_app'.
1854 Fixed broken use of bonobo_init, passing argv wrongly.
1856 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
1860 Created a new directory for
1861 accessibility-related utilities, primarily for
1862 testing and demo purposes, but with possible
1869 Onscreen magnifier utility that
1870 is implemented as a bonobo service.
1872 * util/mag_client.c:
1873 * util/mag_client.h:
1874 Client-side support (simple C bindings)
1875 for Magnification service
1877 * util/mag_control.c:
1878 Client program example for
1879 Magnification service
1881 * util/Accessibility_Magnifier.server.in:
1882 Bonobo-activation file for the
1883 Magnification service.
1886 * util/idl/Magnifier.idl:
1887 IDL defining the bonobo Magnification
1891 Modifications to use the bonobo-activated magnifier
1892 above, in place of trying to connect to an existing
1893 magnifier that uses socket-listening IPC.
1895 If env variable MAGNIFIER is set, a magnifier service
1896 will be started if one does not exist.
1898 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
1899 * at-bridge/bridge.c:
1900 applied patch from Marc to build and run
1901 against new glib and gtk+ (seemed like a change
1902 to bonobo_init signature was made ?)
1904 made festival-server support turned off by default.
1905 Added support for a simple magnifier (off by default)
1906 which will be added to a 'util' directory later.
1907 * at-bridge/Makefile.am:
1908 Changed "application.h" header from a 'source'
1909 to a 'dependency' of libat-bridge.
1911 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
1919 Added interface implementation c files to list of
1920 includes so they are included in libcspi.
1923 Changed prototype of AccessibleAction_doAction to return a
1925 Changed prototype of AccessibleTable_getCaption to
1926 return an Accessible.
1927 Changed prototype of AccessibleTable_getSelectedRows
1928 and AccessibleTable_getSelectedColumns to
1929 return a long (returns the number of selected rows
1930 or columns respectively).
1931 Changed name of AccessibleText_refRunAttributes to
1932 AccessibleText_getAttributes.
1933 Changed prototype of AccessibleText_getCharacterExtents to
1934 return a void rather than a boolean.
1935 Added support for a AccessibleCoordType parameter
1936 specifying what type of coordinates are desired.
1937 Added an AccessibleCordType parameter to
1938 AccessibleText_getPointAtOffset.
1940 * cspi/spi_accessible.c:
1941 Added code to return the outstanding interfaces from
1942 Accessible_queryInterface.
1944 * cspi/spi_action.c:
1946 Corrected call to getNActions to call the c binding
1949 * cspi/spi_editabletext.c:
1951 Changed name from setRunAttributes to setAttributes.
1953 * cspi/spi_hyperlink.c:
1955 Changed call to getNAnchors to correctly call the c
1956 binding for an attribute.
1958 * cspi/spi_hypertext.c:
1960 Changed getImageDescription to correctly call the
1961 binding for an attribute.
1963 * cspi/spi_selection.c:
1964 Changed getNSelectedChildren to correctly call the c
1965 binding for the attribute.
1966 Changed refSelectedChild to getSelectedChild.
1970 Changed getCaption to return an Accessible.
1971 Fixed calls which retrieve attributes.
1972 Changed refAt to getAccessibleAt.
1973 Changed getNSelectedRows and getNSelectedColumns to
1977 Changed getCharacterExtents and getPointAtOffset to accept an
1978 AccessibleCoordType.
1980 Changed calls which retrieve attributes.
1981 Changed refRunAttributes to getAttributes.
1986 * idl/Hyperlink.idl:
1987 Changed n_anchors attribute to nAnchors to keep naming
1988 convention consistent.
1991 Made Table inherit from Bonobo::Unknown.
1992 Added nSelectedColumns and nSelectedRows attributes.
1995 Made Value inherit from Bonobo::Unknown.
1997 * libspi/hyperlink.c:
1998 Change for nAnchors attributte name change.
2000 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2008 Added interface implementation c files to list of
2009 includes so they are included in libcspi.
2012 Changed prototype of AccessibleAction_doAction to return a
2014 Changed prototype of AccessibleTable_getCaption to
2015 return an Accessible.
2016 Changed prototype of AccessibleTable_getSelectedRows
2017 and AccessibleTable_getSelectedColumns to
2018 return a long (returns the number of selected rows
2019 or columns respectively).
2020 Changed name of AccessibleText_refRunAttributes to
2021 AccessibleText_getAttributes.
2022 Changed prototype of AccessibleText_getCharacterExtents to
2023 return a void rather than a boolean.
2024 Added support for a AccessibleCoordType parameter
2025 specifying what type of coordinates are desired.
2026 Added an AccessibleCordType parameter to
2027 AccessibleText_getPointAtOffset.
2029 * cspi/spi_accessible.c:
2030 Added code to return the outstanding interfaces from
2031 Accessible_queryInterface.
2033 * cspi/spi_action.c:
2035 Corrected call to getNActions to call the c binding
2038 * cspi/spi_editabletext.c:
2040 Changed name from setRunAttributes to setAttributes.
2042 * cspi/spi_hyperlink.c:
2044 Changed call to getNAnchors to correctly call the c
2045 binding for an attribute.
2047 * cspi/spi_hypertext.c:
2049 Changed getImageDescription to correctly call the
2050 binding for an attribute.
2052 * cspi/spi_selection.c:
2053 Changed getNSelectedChildren to correctly call the c
2054 binding for the attribute.
2055 Changed refSelectedChild to getSelectedChild.
2059 Changed getCaption to return an Accessible.
2060 Fixed calls which retrieve attributes.
2061 Changed refAt to getAccessibleAt.
2062 Changed getNSelectedRows and getNSelectedColumns to
2066 Changed getCharacterExtents and getPointAtOffset to accept an
2067 AccessibleCoordType.
2069 Changed calls which retrieve attributes.
2070 Changed refRunAttributes to getAttributes.
2075 * idl/Hyperlink.idl:
2076 Changed n_anchors attribute to nAnchors to keep naming
2077 convention consistent.
2080 Made Table inherit from Bonobo::Unknown.
2081 Added nSelectedColumns and nSelectedRows attributes.
2084 Made Value inherit from Bonobo::Unknown.
2086 * libspi/hyperlink.c:
2087 Change for nAnchors attributte name change.
2090 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2092 implementations-- made server implementations own AtkObject pointers
2093 rather than their respective AtkInterrface pointers to fix
2094 refcounting. AtkHyperlink is still broken.
2096 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2097 * cspi/spi_accessible.c:
2098 Added method Accessible_Role_getName(),
2099 and requisite string array (role_names).
2100 Added conversion string_from_corba_strin() call
2101 to Accessible_getName and _getDescription.
2102 * libspi/accessible.c:
2103 Added implementation for Accessible_getRole()
2105 Added festival support, used if environment variable
2108 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2110 * at-bridge/bridge.c:
2111 Now allocate Accessibility_Event using
2112 Accessibility_Event__alloc() instead of g_new0().
2113 * libspi/accessibleeventlistener.c:
2114 Initialize AccessibleEventListener->callbacks to NULL.
2115 Fixed accessible__event_listener_init() param, changed to
2116 "AccessibleEventListener *" type.
2117 Changed a bonobo_object_release_unref() call to
2118 Accessibility_Accessible_unref().
2119 * libspi/listener.c:
2120 Changed Bonobo_Unknown_unref to (equivalent)
2121 Accessibility_Accessible_unref.
2122 * libspi/registry.c:
2123 Changed bonobo_object_release_unref to
2124 Accessibility_Accessible_unref.
2126 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2129 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2130 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2131 spi-util.c spi-util.h
2132 Implementations for C bindings to remaining accessibility
2135 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2138 changed return value of Action from void to boolean to
2139 bring in line with ATK.
2142 Changed getText funcions to return "out" start and end offsets.
2143 Changed getAttributes to take and offset and return the start
2144 and end offset of the attribute run.
2145 Changed getOffsetAtPoint and getCharacterExtents to take an
2146 enum describing whether coordinates are window or screen.
2149 libspi/action.c libspi/action.h libspi/editabletext.c
2150 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2151 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2152 libspi/image.h libspi/selection.c libspi/selection.h
2153 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2154 libspi/value.c libspi/value.h
2155 Added server implementations for outstanding ATK interfaces
2156 not yet implemented.
2158 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2161 Added (missing) getName() method.
2162 Made nActions an attribute.
2163 * idl/EditableText.idl:
2164 Changed order of params in setAttributes.
2165 * idl/Hyperlink.idl:
2166 Removed getAnchor, added getURI.
2168 Changed attributes to methods, for efficiency
2169 (so that getting extents can be done in one call)
2170 * idl/Selection.idl:
2171 Changed nSelectedChildren to attribute, and re-indented.
2172 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2174 * idl/Text.idl: reformatted to match our coding style.
2175 (temporarily?) removed getRowColumnAtOffset().
2176 Changed text selection API to support multi-select and
2177 non-contiguous selections, as in ATK.
2178 * idl/Value.idl: changed some methods to attributes.
2180 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2182 * libspi/listener.c(impl_notify_event):
2183 BonoboUnkown_unref the source instead
2184 of bonobo_object_release_unref - the ORB
2185 handles the releasing.
2187 * configure.in: require ORBit-2.3.94 for
2190 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2192 Tagged CVS repository 'EA_1_0'.
2193 * README.EARLY_ACCESS:
2194 Alphabetized acknowledgements list, and
2196 Listed some known dependencies of at-spi.
2198 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2200 * docs/at-spi-docs.sgml:
2201 * docs/at-spi-sections.txt:
2202 * docs/at-spi-overrides.txt: (Added zero-length file)
2203 Documentation improvements - gtk-doc should build
2204 docs for all implemented C bindings now.
2207 * cspi/spi.c: (New file)
2208 * cspi/spi_event.c: (New file)
2209 * cspi/spi_registry.c: (New file)
2210 * cspi/spi_accessible.c: (New file)
2211 * cspi/spi_application.c: (New file)
2212 * cspi/spi_component.c: (New file)
2213 Split spi_main.c into six parts, and included them from
2214 "spi.c". This is a bit of a hack, probably temporary,
2215 but required by gtk-doc, apparently.
2217 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2220 * docs/at-spi-docs.sgml:
2221 * docs/at-spi-sections.txt:
2223 Initial checkins/modifications for gtk-doc generation.
2226 Added (missing) interface query methods to Accessible's C binding.
2228 Added GenericInterface type definition.
2230 Added query for AccessibleComponent interface to focus event handler.
2231 Added printout of bounding box for focussed component.
2232 * libspi/component.c:
2233 Added partial implementation for AccessibleComponent to C binding.
2234 * idl/Application.idl:
2235 * libspi/registry.c:
2236 * libspi/listener.c:
2237 * libspi/application.c:
2238 * libspi/application.h:
2239 Changed "ID" attribute type from string to long.
2241 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2245 Made method naming consistent: methods taking object args
2246 start with uppercase, other methods (except those using
2247 acronyms) start with lowercase. Underscores delimit between
2248 object names and method names:
2249 SPI_init() - uppercase since it starts with an acronym.
2250 getDesktopCount () - lowercase start since no object param0.
2251 Accessible_getName() - uppercase object type name, studlyCaps method
2255 Added gtk-doc documentation for all currently implemented
2256 methods in the C bindings API.
2258 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2260 * Makefile.am : changed build order to build test last.
2263 Changed "createEventListener" to "CreateEventListener".
2264 * libspi/accessibleeventlistener.c :
2265 Bugfix for addition of callbacks.
2266 * test/Makefile.am :
2267 * test/simple-at.c :
2268 Added new test that uses the C bindings API.
2270 * libspi/listener.c :
2271 * libspi/registry.c :
2272 * libspi/accessibleeventlistener.c :
2273 * at-bridge/bridge.c :
2274 Renamed member "target" of Accessibility_Event to "source",
2275 which is more descriptive.
2278 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2282 * cspi/Makefile.am :
2283 Added makefile support for at-spi/cspi directory.
2286 * cspi/spi-listener.h : (NEW FILE)
2287 Added support for/use of spi-listener.h.
2289 C bindings now build successfully, with no warnings.
2290 * libspi/accessibleeventlistener.h : (NEW FILE)
2291 * libspi/accessibleeventlistener.c : (NEW FILE)
2292 * libspi/Makefile.am :
2293 Added new object type "AccessibleEventListener"
2294 which inherits from Listener, and allows attachment
2295 of in-process callbacks (so that a client with a listening
2296 object instance can add functionality to the local
2297 implementation, dynamically).
2299 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2301 * libspi/accessible.c:
2302 Add implementation for get_index_in_parent().
2304 Added #include of "spi-roletypes.h", and
2305 added enumerated type AccessibleCoordType.
2306 Added definition for KeystrokeListener (function type).
2309 * cspi/spi-statetypes.h :
2310 * cspi/spi-roletypes.h :
2312 Added these headers, used by spi.h.
2314 Added code (NOTE: not yet built by make).
2316 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2318 * libspi/Makefile.am: generate imodule
2319 at the same time as other idl compiler
2322 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2323 * libspi/registry.c :
2324 * libspi/application.c :
2325 * idl/Application.idl :
2326 Made registration with toolkit an application method,
2327 which is required since each app has its own toolkit static
2328 environment. Thus the bridge must register for
2329 notification of toolkit events from each application in turn.
2330 Toolkit notifications are now successfully registered for, and
2331 sent to the listening at client.
2333 Changed toolkit event string to use hyphens rather than underscores.
2334 * libspi/listener.c :
2335 listner now gives more info in debug mode - it reports the
2336 name of the event received, as well as the name of the source.
2339 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2341 * libspi/registry.c :
2342 added more implementation for toolkit events.
2343 Fixed bug such that toolkit event registrations
2344 (via atk) use the whole event name string, not
2346 Removed a useless call to an ORBit_ method.
2347 * at-bridge/bridge.c :
2348 Removed unused local sbuf[] variable.
2350 We now register for Gtk:GtkWidget:button_press_event
2351 events as well as "focus:" events.
2353 Add some more API from Registry.idl that was missing,
2354 for keystroke listening, keystroke and mouse event
2355 synthesis, and enumeration of accessible desktops.
2357 2001-08-16 Michael Meeks <michael@ximian.com>
2359 * configure.in: use AM_GLIB_GNU_GETTEXT.
2361 * Makefile.am (SUBDIRS): kill intl.
2363 2001-08-15 Michael Meeks <michael@ximian.com>
2365 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2367 * configure.in: upd.
2369 * configure.in: depend on a recent bonobo-activation that
2370 will find our server files ...
2372 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2374 * libspi/accessible.c : accessible_new() :
2375 Now we add the Component interface via bonobo_object_add_interface,
2376 if the contained AtkObject implements AtkComponent.
2377 * libspi/accessible.h : now include "component.h"
2378 * libspi/component.h :
2379 * libspi/component.c : added files - implementation of
2380 bonobo wrapper object for Accessibility/Component
2381 * libspi/listener.c :
2382 Added test code to check for Accessibility/Component:1.0
2383 interface and report whether it is implemented by the
2385 * libspi/registry.c :
2386 Now we check for not only the hash of the whole event
2387 string before relaying the event, we also check the
2388 "minor" event string (without the detail string).
2389 This allows event listeners to be registered against
2390 all events of a certain major+minor type, or just
2391 against a specific major+minor+detail type.
2392 * libspi/accessible.c :
2393 Added implementations for Accessible:get_parent(),
2394 Accessible:getChildCount(), and Accessible:getChildAtIndex().
2395 * libspi/registry.c :
2396 * libspi/listener.c :
2397 Replaced calls to Accessibility_Accessible_ref() and
2398 Accessibility_Accessible_unref() with
2399 calls to bonobo_object_dup_ref() and
2400 bonobo_object_release_unref(), so that the CORBA object
2401 is dup-ed and released when relayed, as well as the bonobo object.
2403 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2405 * libspi/Makefile.am,
2406 registryd/Makefile.am,
2407 at-bridge/Makefile.am.
2408 test/Makefile.am, configure.in:
2409 reverse previous changes.
2411 * /idl/Image.idl: fix typo.
2413 * test/Makefile.am: put DEBUG_FLAGS
2416 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2418 * test/app.c: use argv[0] instead of
2421 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2423 * libspi/Makefile.am,
2424 registryd/Makefile.am,
2425 at-bridge/Makefile.am.
2426 test/Makefile.am, configure.in:
2427 cleanup, replace individual LIBS/CFLAGS with
2428 AT_COMMON_{LIBS|CFLAGS}.
2432 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2434 * configure.in, libspi/Makefile.am:
2435 Change IDL path checking for bonobo-activation
2438 2001-08-15 Bill Haneman <bill.haneman@sun.com>
2440 * registryd/registry.c : separated event listeners to use
2441 3 separate lists (focus, window, toolkit). Began testing
2442 event names against hashes before relaying events.
2443 * test/at.c : now register for events of type "focus:"
2444 * test/app.c : now generate events of type "focus:"
2445 * at-bridge/bridge.c : register with ATK for focus events,
2446 and we now relay those focus events to any "focus:" listeners.
2447 This now works with the bridge as a GTK_MODULE when running test/at.
2448 * libspi/registry.c :
2449 * libspi/listener.c :
2450 now we ref event sources before propagating, and unref on receipt.
2451 * libspi/registry.c :
2452 some changes to internal structs, to support event typestring hashes.
2453 * text/app.c : changed the way the appname is generated.
2454 * cspi : added directory that will hold the C bindings library for
2455 non-CORBA/bonobo-savvy clients.
2456 * cspi/spi.h : header file that contains the function prototypes for the C binding.
2457 * idl/Component.idl : added in parameter to indicate coord system for
2458 geometry-related calls.
2459 * idl/Hyperlink.idl : added readonly n_links attribute
2460 * idl/Image.idl : changed methods to attributes.
2462 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2464 * at-bridge/Makefile.am: link against
2465 ../libspi/libspi.la instead of -lspi.
2467 * at-spi/test/app.c: include
2468 bonobo-activation.h. Use a default appname
2469 if one is not provided.
2471 2001-08-14 Bill Haneman <bill.haneman@sun.com>
2473 * idl/Registry.idl : temporarily changed register_Application
2474 to oneway, to work around issue with initial registration
2476 * idl/Application.idl : changed attribute "id" from readonly
2477 to read-write, since it needs to be assigned by Registry.
2478 * registryd/registryd.c : added call to set application id
2480 * registryd/registry.c : changed de-registration procedure to
2481 use CORBA_Object_hash() to find matching object ref in application
2482 lists and listener lists.
2483 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
2484 began distinguishing between event types (work in progress).
2486 2001-08-13 Bill Haneman <bill.haneman@sun.com>
2489 * libspi/application.c:
2490 Added implementations for get/set id, get_toolkitName,
2492 * registryd/registryd.c :
2496 Converted from use of OAF to bonobo-activation.
2497 * libspi/desktop.h :
2498 * libspi/desktop.c :
2500 Removed references to atksimpleobject, since base atkobject
2501 implementation now provides functionality we need.
2502 * libspi/atksimpleobject.c :
2503 * libspi/atksimpleobject.h :
2508 * at-bridge/Makefile.am
2509 * at-bridge/bridge.c
2512 Added directory "bridge" and contents, and added dependencies
2513 in Makefile.am/configure.in.
2514 Initial checkin of "at-bridge".
2515 This code is a GTK_MODULE which automatically registers
2516 GTK+ apps with the accessibility registry, using an object
2517 reference to the root ATK object.
2519 2001-08-10 Mark McLoughlin <mark@skynet.ie>
2521 * po/Makefile.in.in: Remove. Again. If this
2522 doesn't get autogenerated - you need to update
2525 2001-08-07 Mark McLoughlin <mark@skynet.ie>
2527 * po/Makefile.in.in: Add. Again.
2529 2001-07-31 Bill Haneman <bill.haneman@sun.com>
2531 * libspi/accessible.c : added support for 'description' property.
2532 * libspi/accessible.c
2534 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
2535 (since the two are now equivalent in libbonobo)
2543 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
2544 Bonobo::Unknown as does Accessibility::Accessible.
2545 * idl/StreamableContent.idl : as above, and replaced internal InputStream
2546 interface with Bonobo::Stream, since it was redundant with it.
2547 (The Stream returned by a StreamableContext object is expected to
2548 implement only a subset of Bonobo::Stream)
2550 2001-07-28 Anders Carlsson <andersca@gnome.org>
2552 * libspi/accessible.c (accessible_object_finalize): Change
2553 g_free to g_object_unref since the AtkObject is a GObject.
2555 2001-07-30 Bill Haneman <bill.haneman@sun.com>
2557 * idl/Accessibility.idl: add new IDL files
2560 * idl/Action.idl: Definitions of actionable UI object
2561 * idl/Component.idl: Definitions of UI component geometry, etc.
2562 * idl/Hyperlink.idl: Defs of hyperlink behavior
2563 * idl/Image.idl: Def of accessible image
2564 * idl/Selection.idl: Definition of UI object with selectable children
2565 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
2566 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
2567 * idl/Text.idl: Interface defs for UI elements with complex textual content
2568 * idl/Value.idl: Definition of UI element that is a value controller or display
2570 2001-07-27 Michael Meeks <michael@ximian.com>
2572 * po/Makefile.in.in: remove autogenerated file from CVS.
2574 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
2577 * idl/Registry.idl: include guard.
2579 * idl/Accessibility.idl: Add, and include all the other IDL
2582 * idl/*.idl: remove mass of pragmas etc.
2584 2001-07-26 Michael Meeks <michael@ximian.com>
2586 * registryd/Makefile.am (registryd_SOURCES): remove
2589 2001-07-27 Mark McLoughlin <mark@skynet.ie>
2591 * libspi/.cvsignore, registryd/.cvsignore,
2592 test/.cvsignore: updated.
2594 * po/Makefile.in.in: gettext update.
2596 2001-07-25 Bill Haneman <bill.haneman@sun.com>
2598 * initial CVS checkin
2600 2001-06-29 Michael Meeks <michael@ximian.com>
2602 * configure.in: add AM_CONFIG_HEADER to gen config.h