1 2001-12-10 Bill Haneman <bill.haneman@sun.com>
3 * cspi/spi_hyperlink.c:
4 * cspi/spi_hypertext.c:
5 Fixed macro name typos, and remove use of obsolete macro in
6 AccessibleHyperlink_getLink.
9 * cspi/spi_accessible.c:
10 * cspi/spi_application.c:
11 * cspi/spi_component.c:
12 * cspi/spi_selection.c:
15 Documentation fixes (removed return values from ref/unref methods).
17 2001-12-10 Michael Meeks <michael@ximian.com>
19 * cspi/spi_action.c: audit for exception handling,
20 tolerating NULL object references safely etc.
22 * cspi/spi_accessible.c: ditto.
24 * cspi/spi_component.c: ditto.
26 * cspi/spi_editabletext.c: ditto.
28 * cspi/spi_hyperlink.c: ditto.
30 * cspi/spi_hypertext.c: ditto.
32 * cspi/spi_image.c: ditto.
34 * cspi/spi_selection.c: ditto.
36 2001-12-10 Michael Meeks <michael@ximian.com>
38 * configure.in: use cspi/libspi.pc.in instead.
40 * Makefile.am (pkgconfig_DATA): upd. to match.
42 * test/simple-at.c (report_focus_event): kill hacks around
43 bad return values, use putenv not setenv
45 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
46 fire ChildGone - I killed it.
49 (impl_accessibility_component_get_extents): remove
52 * idl/Accessible.idl: kill ChildGone exception.
54 * cspi/*.[ch]: kill int return from ref / unref.
56 * cspi/spi_main.c (cspi_object_add_check): fold into
57 (cspi_object_add): here.
59 * cspi/spi_component.c (AccessibleComponent_getExtents):
60 handle exceptions elegantly.
62 * cspi/spi-private.h (cspi_check_ev_return),
63 (cspi_return_if_fail): impl.
65 * cspi/spi_accessible.c: use extensively.
66 (AccessibleStateSet_equals): add direct compare check.
68 * cspi/spi_selection.c: tolerate NULL objs, and check
69 exceptions before return.
71 * cspi/spi-util.c (cspi_warn_ev): rename to
72 (cspi_check_ev): this & don't pass ev in; no point.
74 2001-12-10 Michael Meeks <michael@ximian.com>
76 * test/test-simple.c: use putenv not setenv
77 (get_environment_vars): more chatty if you're not using
80 * test/simple-at.c: do the setenv so more people see the
83 2001-12-10 Bill Haneman <bill.haneman@sun.com>
86 Changed check of CORBA_environment on notification to be a warning
87 instead of an error for the moment, since we can recover from this
88 error when caused by a queued notification from a dead app.
91 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
92 used by all current implementors of AtkValue), and coerce to
93 CORBA_float. (Proper general case fix may require change to Value.idl).
95 2001-12-09 Bill Haneman <bill.haneman@sun.com>
99 * cspi/spi_accessible.c:
100 Documentation fixes: added user_data params to documentation for
101 listeners and callbacks.
103 * cspi/spi_accessible.c:
104 Changed AccessibleStateSet_compare to return a
105 StateSet rather than return the difference set into a third parameter.
108 2001-12-09 Bill Haneman <bill.haneman@sun.com>
111 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
112 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
116 Remove subdirectory po from SUBDIRS for now.
118 * at-bridge/bridge.c:
119 Beefed up a couple of debug printouts.
120 One-line fix for signal notification name formatting.
122 * libspi/accessible.c:
123 Added assertion to spi_accessible_new ().
125 * libspi/application.c:
126 Put #ifdef qualifiers around a printf.
129 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
131 * registryd/Makefile.am:
133 Replaces use of XML_I18N_MERGE_SERVER_RULE with
134 INTLTOOL_SERVER_RULE macro.
137 Added an event listener for several ATK signals, for
138 testing and debugging. Removed a few g_warnings.
139 Added test output if focussed item implements the Value interface.
141 * test/test-simple.c:
142 Added test_value () function (known not to pass at the moment, so
143 not actually called yet.
145 2001-12-08 Michael Meeks <michael@ximian.com>
147 * at-bridge/bridge.c (bridge_focus_tracker),
148 (emit_eventv): fix the same ref. leak.
149 (register_atk_event_listeners): don't leak.
151 * cspi/spi-listener-impl.c (cspi_event): more
152 protection from client code.
154 * test/test-simple.c (test_desktop): unref the app.
156 * test/Makefile.am: upd. TESTS.
158 * at-bridge/bridge.c (bridge_exit_func): release the registry.
160 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
162 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
164 * cspi/spi_registry.c: constify in strings.
165 (deregisterGlobalEventListenerAll): don't release the ref.
167 * cspi/spi.h: start removing redundant / conflicting
168 gtkdoc comments, making the API readable at a glance :-)
170 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
172 * test/keysynth-demo.c (keysynth_exit, main): upd.
174 * test/simple-at.c (main, simple_at_exit): upd.
176 * test/test-simple.c (unutterable_horror): kill.
177 (utterable_normal_derefs): kill.
178 (main): upd & do a setenv before gtk_init, so that we
179 can use memprof - and to save the pain of remembering
180 this, if we're running under memprof - don't exit.
182 * cspi/spi_main.c (SPI_exit): return exit status
184 (SPI_event_quit): impl.
185 (SPI_event_main): simplify.
186 (cspi_is_gnome_app): kill.
187 (SPI_init): kill isGNOMEapp arg.
189 * at-bridge/bridge.c (register_atk_event_listeners):
190 re-instate the unref.
191 (bridge_exit_func): don't re-activate the registry,
192 protect vs. theoretical re-entry, use the
193 AT_BRIDGE_SHUTDOWN env. var to determine whether to
194 assert a clean shutdown - for regression tests.
196 2001-12-08 Abel Cheung <maddog@linux.org.hk>
198 * configure.in: Comment out dummy i18n support for now,
199 otherwise it fails to build.
200 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
201 EXTRA_DIST. They are missing in tarball.
203 2001-12-07 Michael Meeks <michael@ximian.com>
205 * util/magnifier.c: kill bonobo activation reg. race.
208 (impl_accessibility_component_get_extents): make it match
211 * libspi/registry.c (_registry_notify_listeners):
212 re-remove X headers & reconcile conflicts.
213 (spi_listener_struct_free): bad conflict resolve.
214 (impl_accessibility_registry_register_application):
215 more bad merging fixed.
216 (impl_accessibility_registry_deregister_application): ditto.
217 (spi_registry_new): ditto.
218 (spi_registry_init): don't have an applications field.
220 [ merge fixups2 branch to here ]
221 2001-12-07 Michael Meeks <michael@ximian.com>
223 * test/simple-at.c (report_focus_event),
224 (report_focussed_accessible): remove g_warning debug.
226 2001-12-07 Michael Meeks <michael@ximian.com>
228 * test/test-simple.c (validate_tree): comment out some checks.
229 (test_desktop): app now not registered idly - horay.
231 2001-12-07 Michael Meeks <michael@ximian.com>
233 * cspi/spi_registry.c
234 (registerAccessibleKeystrokeListener): clean, stop it leaking
235 great swathes of memory, and device event controller references.
236 ensure we always pass valid sequences.
237 (deregisterAccessibleKeystrokeListener): ditto.
238 (generateKeyEvent): upd.
240 * at-bridge/bridge.c (bridge_key_listener): handle
241 registry dead exception gracefully.
242 (bridge_focus_tracker, emit_eventv): free ev.
244 * test/simple-at.c (report_focus_event): fix polarity.
246 * libspi/application.c (notify_listeners): kill the ev
247 argument, and make sure we init the ev we use.
248 (spi_application_object_event_listener): split out a chunk
249 (get_atk_object_ref): here & fixup.
250 (reverse_lookup_name_for_toolkit_event): make const.
251 (spi_application_toolkit_event_listener): fixup, kill leaks
254 * at-bridge/bridge.c (register_atk_event_listeners):
255 don't unref the noop object - causes grief.
257 * libspi/registry.c: remove the X headers.
258 turn off the debug churn.
260 * libspi/accessible.c (spi_accessible_new_return): only
261 release the ref if we are supposed to [doh]
263 * test/simple-at.c (report_button_press, report_focus_event):
264 guard vs. unexpected exit.
266 * at-bridge/bridge.c (gtk_module_init): prune printf.
267 (bridge_exit_func): fix app unref.
269 * libspi/Makefile.am: don't install registry or desktop.h
271 * libspi/*.h: update includes.
273 * libspi/application.h: don't include ourself, or
274 other redundant headers.
276 2001-12-06 Michael Meeks <michael@ximian.com>
278 * libspi/accessible.c
279 (get_accessible_from_servant): impl.
280 Upd. all CORBA impl.s to use it killing cut and paste.
282 * cspi/spi_main.c (cspi_cleanup): guard vs. double
284 (SPI_init): register atexit cleanup handler here.
286 2001-12-06 Michael Meeks <michael@ximian.com>
288 * at-bridge/bridge.c (gtk_module_init): g_error on
291 2001-12-06 Michael Meeks <michael@ximian.com>
293 * at-bridge/bridge.c (gtk_module_init): some sort of
294 confusing merge clash - reverted.
295 (bridge_idle_init): ditto.
297 * test/test-simple.c (main, utterable_normal_derefs):
298 merge from Bill - somehow not committed.
300 2001-12-06 Michael Meeks <michael@ximian.com>
302 * libspi/value.c (spi_value_class_init): upd.
303 (spi_value_finalize): kill.
305 * libspi/table.c (spi_table_finalize): kill.
306 (spi_table_interface_new): upd.
307 (spi_table_class_init): upd.
308 (get_table_from_servant): impl.
309 Upd. all CORBA impl.s to use it killing yet more cut and paste.
311 * libspi/selection.c (spi_selection_finalize): kill.
312 (spi_selection_interface_new): upd.
313 (spi_selection_class_init): upd.
314 (get_selection_from_servant): impl.
315 Upd. all CORBA impl.s to use it killing yet more cut and paste.
317 * libspi/relation.c (spi_relation_finalize): kill.
318 (spi_relation_class_init, spi_relation_new): upd
320 * libspi/image.c (spi_image_finalize): kill.
321 (spi_image_class_init): upd.
322 (spi_image_interface_new): upd.
323 (get_image_from_servant): impl.
324 Upd. all CORBA impl.s to use it killing yet more cut and paste.
326 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
327 (spi_hyperlink_finalize): kill.
328 (spi_hyperlink_new): upd.
329 (get_hyperlink_from_servant): impl.
330 Upd. all CORBA impl.s to use it killing yet more cut and paste.
332 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
333 (spi_hypertext_finalize): kill.
334 (spi_hypertext_class_init): upd.
335 (get_hypertext_from_servant): impl.
336 Upd. all CORBA impl.s to use it killing yet more cut and paste.
338 * libspi/editabletext.c (spi_editable_text_finalize): kill.
339 (spi_editable_text_interface_new): upd.
340 (get_editable_text_from_servant): impl.
341 Upd. all CORBA impl.s to use it killing yet more cut and paste.
343 * libspi/text.c (get_text_from_servant): impl.
344 All impls - update to use it killing more cut and paste,
345 also fix bad string returns on duff args ( a somewhat
346 impossible case to handle - but hey ).
347 (spi_text_construct): impl.
348 (spi_text_interface_new): upd.
349 (spi_text_object_finalize): kill.
352 (accessibility_component_object_finalize): kill.
353 (spi_component_class_init): upd.
354 (get_component_from_servant): impl. helper to kill cut & paste.
355 (impl_accessibility_component_contains):
356 (impl_accessibility_component_get_accessible_at_point):
357 (impl_accessibility_component_get_position):
358 (impl_accessibility_component_get_extents):
359 (impl_accessibility_component_get_mdi_z_order):
360 (impl_accessibility_component_get_layer):
361 (spi_component_interface_new): upd.
363 * libspi/action.c (spi_action_finalize): kill.
364 (spi_action_class_init): upd. inherit from SpiObject.
365 (spi_action_interface_new): upd.
366 (get_action_from_servant): impl. helper to reduce cut & paste.
367 (impl_getKeyBinding, impl_getName, impl_doAction),
368 (impl_getDescription): Use it everywhere.
370 * cspi/spi_main.c (get_live_refs): a pointer hash.
371 (spi_object_hash, spi_object_equal): comment out.
372 There are issues with CORBA object hashing that need
375 * libspi/application.c (spi_application_init),
376 (spi_application_new): upd.
378 * libspi/accessible.c (spi_accessible_object_finalize): kill.
379 (spi_accessible_class_init): upd.
380 s/accessible/object/ in epv methods.
382 2001-12-05 Bill Haneman <bill.haneman@sun.com>
384 * at-bridge/bridge.c:
385 Reorder the bridge initialization into the bridge gtk_module_init,
386 an immediate call to bridge_register_app, and an idle_add for
387 register_atk_event_listeners (the only code that *must* wait until
388 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
389 the activation, creates the application's Accessible object, and
390 queues the bridge_idle_init function. Restored call to
391 Accessibility_Registry_deregisterApplication().
392 Prior to making this call we obtain a new reference to the
393 registry, which is a temporary hack that helps us handle apps that
394 shut down the bonobo mainloop before we get there.
397 Fix string leakage in debug block, and don't segv if a an app
398 dies before its event notifications have been propagated.
401 Modify cspi_check_ev() to call g_warning() rather than g_error(),
402 as stopgap measure until we get proper exception handling when
403 objects die during or before interrogation.
407 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
408 Also changed default value of is_gnome_app to TRUE.
411 * test/keysynth-demo.c:
412 Changed use of SPI_init and SPI_event_main to reflect API change above.
415 Made report_focus_event check the warning value from getName
416 before reporting on focussed accessible; simplifies handling of
417 notifications from dead objects.
419 * test/test-simple.c: (Changes not in this patch since source is
422 2001-12-05 Michael Meeks <michael@ximian.com>
424 * registryd/registryd.c (main): protect against
425 bonobo-activation startup race condition.
427 * cspi/spi_main.c (cspi_object_add_check): cope
428 with the exception elegantly.
430 * idl/Accessible.idl: decl. ChildGone
432 * libspi/desktop.c (spi_desktop_dispose): impl.
433 (spi_desktop_class_init): upd.
434 (spi_desktop_add_application),
435 (spi_desktop_remove_application),
436 (abnormal_application_termination): impl.
437 (impl_desktop_get_child_at_index): re-impl.
440 (impl_accessibility_registry_deregister_application),
441 (impl_accessibility_registry_register_application):
442 kill excessive debug clutter.
444 * test/test-simple.c (test_misc): test some NULL
445 tolerance. (main): upd.
447 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
448 implements no interfaces - so let's not crash.
450 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
452 * libspi/accessible.c (spi_accessible_new_return): impl.
453 helper to calm the cut and paste, to cope with
454 NULL AtkObjects effectively and efficiently, and to kill
455 the referencing bugs.
457 * libspi/table.c (impl_getAccessibleAt),
458 (impl_getRowHeader, impl_getColumnHeader): upd.
460 * libspi/hyperlink.c (impl_getObject): upd.
462 * libspi/accessible.c
463 (impl_accessibility_accessible_get_child_at_index): upd.
466 (impl_accessibility_component_get_accessible_at_point): upd.
468 * test/test-simple.c (test_editable_text, test_text): impl.
471 * cspi/spi_editabletext.c
472 (AccessibleEditableText_insertText): constify.
474 * test/test-simple.c (focus_me): make more robust.
476 * libspi/accessible.c: remove some printfs in methods that
477 we test and work fine, so we can get a clean tree dump.
479 * test/test-simple.c (validate_accessible),
480 (validate_tree): make tree dumping pretty too.
482 * at-bridge/bridge.c (bridge_signal_listener): upd. so
483 it builds without debug on.
485 * test/test-simple.c (validate_accessible): fix the most
488 * cspi/spi_main.c (spi_object_release): leave the nicely
489 blanked memory around if in debug mode.
491 * cspi/spi-listener-impl.c (cspi_event): use add_check.
493 [committed to fixups2]
494 2001-12-05 Michael Meeks <michael@ximian.com>
496 * libspi/editabletext.c
497 (spi_editable_text_class_init): g_type_class_peek_parent,
498 not interface peek - so we finalize cleanly.
500 * libspi/accessible.c (spi_accessible_new): kill debug.
502 * test/test-simple.c (validate_accessible): fix ref.
503 leak, print strings before freeing them; sigh, comment a
504 chunk out due to strangeness.
505 (validate_tree): unref the child after use.
507 * cspi/spi_component.c (AccessibleComponent_getLayer):
508 add missing break statement, switch on zlayer not the
509 uninitialized retval.
511 * cspi/spi_main.c (cspi_object_add): add assert, local ref
512 before (possibly re-entering) remote unref.
514 * test/simple-at.c (main): unref the desktop.
516 * cspi/spi_accessible.c (cspi_accessible_is_a): move
519 * cspi/spi_main.c (cspi_accessible_is_a): here to
520 isolate bonobo API usage more.
522 * libspi/registry.c (impl_accessibility_registry_register_application):
525 2001-12-04 Michael Meeks <michael@ximian.com>
527 * test/test-simple.c (validate_tree): upd.
528 IndexInParent check to make it more lucid.
529 (validate_accessible): dump the tree.
531 * libspi/accessible.c (de_register_public_ref),
532 (get_public_refs): impl.
533 (spi_accessible_new): make more efficient & intuitive.
534 Now IndexInParent check works.
536 2001-12-04 Michael Meeks <michael@ximian.com>
538 * cspi/spi-util.h: remove.
540 * cspi/spi.h: move SPI_freeString here
542 * libspi/component.c (impl_accessibility_component_get_layer):
544 (impl_accessibility_component_get_mdi_z_order): ditto,
545 return -1 on error - is this ok ?
547 * test/test-simple.c (test_application): impl.
549 * cspi/spi_accessible.c (Accessible_getApplication),
550 (Accessible_isApplication): impl.
552 * libspi/registry.c (spi_listener_struct_free): release
553 the CORBA reference too.
555 * libspi/accessible.c
556 (impl_accessibility_accessible_get_parent): fix ref leak.
558 * libspi/registry.c (spi_registry_new): make the registry
559 immortal - we don't want it to go away ever.
561 * libspi/application.c
562 (spi_accessible_application_finalize): impl. cleanup.
564 * cspi/spi_registry.c
565 (deregisterGlobalEventListenerAll),
566 (deregisterGlobalEventListener),
567 (deregisterAccessibleKeystrokeListener): fix ref leak.
569 * cspi/spi_main.c (SPI_init): remove redundant ref.
571 * test/test-simple.c (unutterable_horror): impl. to force a
576 (impl_accessibility_registry_deregister_application): release
577 the application when we de-register it.
579 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
580 until we have the infastructure to get it right.
582 2001-12-03 Michael Meeks <michael@ximian.com>
584 * libspi/Makefile.am: only build eventlistener.[ch]
586 * libspi/accessible.c
587 (impl_accessibility_accessible_get_child_at_index): don't leak.
589 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
590 before we hit the idle handler.
592 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
595 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
597 * libspi/listener.c (impl_notify_event): check source
598 not NIL before unref.
600 * libspi/registry.c (impl_registry_notify_event): ditto.
602 * libspi/eventlistener.c
603 (impl_accessible_event_notify_event): unref the source.
605 * libspi/accessibleeventlistener.c
606 (impl_accessible_event_notify_event): unref the source.
608 * idl/Event.idl: remove 'hash_id' attribute - of no
611 * libspi/application.c (notify_listeners): upd list
613 (spi_application_object_event_listener),
614 (spi_application_toolkit_event_listener): upd to do correct
618 (_registry_notify_listeners): update.
619 (parse_event_type): this method also leaks like a sieve.
620 (impl_accessibility_registry_deregister_global_event_listener):
621 fix ETYPE_WINDOW case.
623 * libspi/application.c
624 (impl_accessibility_application_register_object_event_listener):
627 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
629 * libspi/hypertext.c (impl_getLink): ditto.
631 * cspi/spi_main.c (cspi_object_add): remove
632 bogus CORBA_Object_duplicate.
634 * cspi/spi-listener-impl.c (cspi_event): dup/ref
637 * cspi/spi_accessible.c
638 (Accessible_getRelationSet): fix leak / referencing issue.
640 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
641 (cspi_object_add, cspi_object_unref): upd.
642 (spi_object_release, get_live_refs): impl.
643 (cspi_cleanup): simplify.
645 * *.[ch]: s/boolean/SpiBoolean/
647 * cspi/spi_accessible.c (role_names): actualy order so it
648 corresponds with the enum !
650 * test/test-simple.c (test_roles): check some role strings
651 vs. enums to detect offset errors.
653 2001-12-01 Michael Meeks <michael@ximian.com>
655 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
657 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
659 (Accessible_getChildAtIndex): use cspi_add_check so we
660 check the ev before using a (possibly) invalid value.
662 * libspi/accessible.c
663 (impl_accessibility_accessible_get_parent): don't segv
666 * at-bridge/bridge.c (gtk_module_init): upd.
667 (bridge_property_event_listener): don't leak strings
669 (bridge_state_event_listener),
670 (bridge_property_event_listener): don't use a static
671 buffer in case of recursive event emission &
672 re-enterancy - split out the swathe of cut and paste
674 (emit_eventv): and fix 2 ref leaks here & comply to the
676 (bridge_register_app): rename to
677 (bridge_idle_init): this and kill arg parsing, split
678 various inits & bonobo-activation registration to module
679 init time, kill referencing error.
680 (bridge_exit_func): fix the same leak.
681 (bridge_focus_tracker): don't leak event structures
683 (bridge_signal_listener): more leakage and cut & paste
685 (bridge_key_listener): return the result - FIXME is
686 this polarity correct ?
687 (accessibility_keystroke_from_atk_key_event): rename
688 (accessibility_init_keystroke_from_atk_key_event): and stop
690 (gtk_module_init): return a value - not that it is checked by
692 (bridge_key_listener): register my horror at casting between
694 (bridge_get_registry): kill - not used.
696 * cspi/spi_accessible.c (Accessible_getRole): make return const.
698 * test/test-simple.c (test_roles): impl.
699 (test_desktop, validate_accessible, validate_tree): impl.
701 * cspi/spi_accessible.c (role_names): fixup bogus
702 MAX_ROLES setup, make constants const for efficient linkage
703 (AccessibleRole_getName): conform to coding style, make
706 2001-11-30 Michael Meeks <michael@ximian.com>
708 * cspi/spi.h: add missing prototype.
710 * libspi/registry.c (spi_listener_struct_new): fix sig.
712 * test/Makefile.am: add test-simple
714 * test/test-simple.c: add
718 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
720 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
721 do it straight - since otherwise we often get an activation race.
723 [ work before Bill duplicated a chunk of it ... ]
724 2001-11-30 Michael Meeks <michael@ximian.com>
726 * libspi/keystrokelistener.c
727 (spi_keystroke_listener_class_init): fixup arg
730 * libspi/eventlistener.c
731 (spi_event_listener_class_init): ditto.
733 * tests/test.sh: add.
735 * cspi/spi-listener-impl.h: update macros.
737 * cspi/spi-listener-impl.c
738 (cspi_event_listener_remove_callback): add
739 correct pre-conditions.
741 * cspi/spi_main.c (SPI_exit): guard vs. double
742 exits, exit the mainloop nicely.
743 (SPI_event_main): make more sense.
744 (SPI_init): move the atexit evilness here so we
746 (SPI_event_main): upd.
748 * test/simple-at.c: update for listener changes.
750 * registryd/registryd.c (main): prune kruft.
752 * libspi/libspi.h: upd.
754 * libspi/eventlistener.[ch]: rename broken macros.
756 * libspi/accessibleeventlistener.[ch]: remove.
758 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
760 * test/test-simple.c: Add - automated tests.
762 * cspi/spi-listener-impl.c (cspi_event),
763 (cspi_key_event): add user_data to invoke.
764 (cspi_keystroke_listener_finalize): impl.
765 (cspi_keystroke_listener_class_init): upd.
768 (createAccessibleEventListener),
769 (AccessibleEventListener_addCallback),
770 (createAccessibleKeystrokeListener),
771 (AccessibleKeystrokeListener_addCallback): upd.
773 * libspi/deviceeventcontroller.c
774 (spi_device_event_controller_check_key_event): add public proto.
777 (impl_accessibility_registry_deregister_global_event_listener):
778 always init listeners.
779 (_registry_notify_listeners): yes it is.
781 * cspi/spi-listener-impl.c (cspi_key_event):
783 (cspi_event_listener_finalize): impl.
784 (cspi_event_listener_class_init): hook up.
785 (event_handler_new, event_handler_free),
786 (event_list_remove_by_callback): impl.
787 (cspi_event_listener_remove_callback),
788 (cspi_keystroke_listener_remove_callback),
789 (cspi_keystroke_listener_add_callback),
790 (cspi_event_listener_add_callback): upd.
792 * libspi/keystrokelistener.c
793 (keystroke_listener_object_finalize): kill
794 (spi_keystroke_listener_class_init): upd.
795 (spi_keystroke_listener_add_callback),
796 (spi_keystroke_listener_remove_callback): kill,
798 (impl_key_event): prune drasticaly.
800 * libspi/eventlistener.c
801 (spi_event_listener_add_callback),
802 (spi_event_listener_remove_callback): kill, use
804 (impl_accessible_event_notify_event): upd.
805 (spi_event_listener_object_finalize): remove.
807 * libspi/Makefile.am: use eventlistener.[ch]
809 2001-12-04 Bill Haneman <bill.haneman@sun.com>
811 * libspi/registry.c (_registry_notify_listeners):
812 Changed listener loop iteration to use preferred convention.
813 Got rid of string memory leaks caused be calling g_strconcat
814 inside function calls.
816 * libspi/registry.c (parse_event_type):
817 Stopped g_strconcat memory leaks, free the g_strsplit return,
818 g_strdup the split pieces when used, etc.
820 2001-12-04 Bill Haneman <bill.haneman@sun.com>
823 Change method 'compare' to return a 'difference set' rather than
824 taking a StateSet as an out parameter (more Java-friendly).
826 * idl/Accessible.idl:
827 Added CORBA struct 'BoundingBox', to faciliate API changes below:
831 Changed methods 'getExtents' and 'getImageExtents' in these
832 interfaces to return a BoundingBox structure.
833 (getPosition and getSize are redundant and possibly should be
834 removed, rather than creating a corresponding Point struct.)
836 * cspi/spi_component.c:
837 Modify implementation of getExtents to reflect the above IDL
842 Add (missing) AccessibleImage_getExtents () API.
844 * docs/reference/cspi/at-spi-cspi-sections.txt:
845 Added AccessibleImage_getImageExtents () to docs.
847 2001-12-03 Bill Haneman <bill.haneman@sun.com>
850 Added two methods, getLayer () and getMDIZOrder (), to reflect
851 the new ATK methods atk_object_get_layer and
852 atk_object_get_mdi_z_order. (Which arguably should be part of the
853 AtkComponent API and AtkObject). Also added an enum,
854 ComponentLayer, for the first method's return value.
856 * libspi/component.c:
857 Added implementations for these methods.
859 * cspi/spi_component.c:
861 Added cspi binding methods for above,
862 AccessibleComponent_getLayer() and
863 AccessibleComponent_getMDIZOrder().
864 Added cspi enum 'AccessibleComponentLayer'.
866 * docs/reference/cspi/at-spi-cspi-sections.txt:
867 Added above methods to docs.
871 Changed typedef for 'boolean' type (and all references to it) to
872 SPIBoolean, to avoid keyword clashes with C++.
875 Changed usages of 'boolean' to SPIBoolean.
877 * test/keysynth-demo.c:
878 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
879 app), except where SPIBoolean is required by the callbacks API.
881 2001-12-02 Bill Haneman <bill.haneman@sun.com>
883 * cspi/spi_registry.c:
884 Removed obsolete X event loop for passive keygrabs (which now
887 * registryd/registryd.c:
888 Removed unnecessary call to gdk_init() [cruft]. This also allows
889 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
892 2001-11-28 Bill Haneman <bill.haneman@sun.com>
894 * docs/reference/cspi:
895 Included docs for SPI_freeString in generated documentation.
898 Renamed spi_freeString to SPI_freeString, for consistency. Added
899 documentation for this function.
902 Renamed spi_freeString to SPI_freeString, for consistency.
903 Removed obsolete method declaration string_from_corba_string.
905 * test/keysynth-demo.c:
906 Small tweak to comments.
909 Stopped leaking the strings returned from CSPI.
911 2001-11-28 Bill Haneman <bill.haneman@sun.com>
913 Merged Michael's branch (see his ChangeLog entries below).
915 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
916 bridge is alive, release on exit.
918 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
919 Fix type check macro.
922 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
925 Added is_gnome_app static, and method cspi_is_gnome_app(),
926 so we can call the appropriate shutdown routine at exit in SPI_exit.
928 * cspi/spi_main.c (cspi_object_ref):
929 Duplicate the corba object passed in, since we're keeping it around.
931 * cspi/SPI_exit.c, cspi_cleanup:
932 Moved the releasing of the live refs to its own function, so we
933 can put it in g_atexit (). Call the appropriate shutdown API
934 depending on whethe calling client is a gnome app or not
935 (bonobo_main_quit or CORBA_ORB_shutdown).
937 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
938 Unref the listener when this method is called, after
939 deregistration. Updated the API docs to note this behavior.
941 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
942 Bugfixes: Ref the bonobo object when returning a parent or child
943 reference, or an AccessibleRelation. Generally made sure
944 BonoboObject refcount is incremented whenever we return an
947 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
948 Fixed typo/bug in signal declaration.
950 * libspi/accessibleeventlistener.h:
953 * libspi/application.c (spi_application_new):
954 Fixed leak in initialization.
957 Remembered to increment bonobo-object refcount when returning
958 children (applications) from desktop object.
959 Added (empty) finalize method.
961 * libspi/deviceeventcontroller.c:
962 Hold a ref to listeners inside DEControllerKeyListeners.
963 Added dec_key_listener_free() method. Use prepend instead of
964 append in key_listener list. Fixed some refcount madness and
965 leaks in the listener registration/deregistration - deregistration
966 now calls dec_key_listener_free() on listeners, and on the
967 temporarily constructed dec_key_listener() used to perform the search/match.
969 * libspi/hypertext.c (spi_hypertest_finalize):
970 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
971 class. Also fixed spi_hypertext_interface_new() and
972 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
974 * libspi/hypertext.h:
975 Removed pointless and duplicate AtkObject pointer from
978 * libspi/keystrokelistener.c:
979 Fixed incorrect type of keystroke_listener_parent_class,
980 renamed keystroke_listener_object_finalize to
981 spi_keystroke_listener_object_finalize.
982 Fixed typo in signal declaration
983 (spi_keystroke_listener_class_init).
986 Added funcsions spi_listener_struct_new() and
987 spi_listener_struct_free() to help with memory management issues.
988 We also now use these methods instead of gnew + poking stuff into
989 the struct, and to decrement listener counts/free the listeners
990 when deregistering them.
991 Fix more refcount bugs in getDesktop() and
992 getDeviceEventController().
995 De-ref the desktop after enumerating the applications. Explicitly
996 decrement the refcounts on the created listeners on exit (using
997 _unref for keystroke listeners, and via the
998 deregisterGlobalEventListenerAll command for other event
1001 2001-11-27 Michael Meeks <michael@ximian.com>
1003 * cspi/spi-listener.h: fixup enum.
1005 2001-11-27 Michael Meeks <michael@ximian.com>
1007 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1008 (cspi_keystroke_listener_new): Use the cspi variants.
1010 2001-11-26 Michael Meeks <michael@ximian.com>
1012 * test/keysynth-demo.c: fix 2 compile warnings, missing
1015 * test/simple-at.c (report_focussed_accessible),
1016 (report_focus_event, report_button_press),
1017 (check_property_change, is_command_key),
1018 (report_ordinary_key_event, report_command_key_event): upd.
1020 * util/mag_client.h: include pre-requisites.
1022 * libspi/accessibleeventlistener.c
1023 (spi_event_listener_object_finalize): free any lingering
1026 * libspi/keystrokelistener.c
1027 (keystroke_listener_object_finalize): ditto.
1029 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1030 callbacks, with cspi types.
1032 * cspi/spi_event.c (createAccessibleEventListener): chain to
1033 (AccessibleEventListener_addCallback): here.
1034 (createAccessibleKeystrokeListener): chain to
1035 (AccessibleKeystrokeListener_addCallback): here.
1037 * libspi/keystrokelistener.c
1038 (spi_keystroke_listener_class_init): add signal.
1039 (impl_key_event): emit the event.
1040 (boolean_handled_accumulator): impl.
1041 (marshal_BOOLEAN__POINTER): add, gack.
1043 * libspi/accessibleeventlistener.c
1044 (spi_event_listener_class_init): add signal.
1045 (impl_accessible_event_notify_event): emit the signal &
1046 make the loop efficient.
1047 (spi_event_listener_add_callback): prepend the callback.
1049 * libspi/accessibleeventlistener.h: add an 'event' signal,
1050 decl type on callback.
1052 * libspi/keystrokelistener.h: ditto.
1054 * cspi/spi-listener.h: make methods typesafe and
1055 make them use the new event typedefs.
1057 * test/simple-at.c (report_focussed_accessible):
1058 include mag_client.h
1059 Use *(void *)text_interface not the other thing.
1061 * configure.in: add gtk to registryd bits - since we use
1064 * util/magnifier.c: include libbonobo.h
1066 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1068 * test/keysynth-demo.c:
1069 Turned this into a simple scanning keyboard, to demonstrate the
1070 use of g_timeout_add () as a means of creating timers for
1071 scanning, and the use of GtkStyle for visually indicating when
1072 virtual keyboard elements are selected.
1074 keysynth-demo now listens to any keyboard keys with zero-valued
1075 keycodes (i.e. 'unused' keys) and interprets them as
1078 Reworked the shiftlatch code so that shift-down state isn't held
1079 for long periods (it's only synthesized immediately prior to
1080 the keysynth event it's modifying). Note that shiftlatch in this
1081 demo is a convenience, not intended to take the place of AccessX
1082 which is the better choice for getting 'sticky' modifier keys.
1084 * libspi/deviceeventcontroller.c:
1085 * at-bridge/bridge.c:
1086 * cspi/spi_registry.c:
1087 Removed some debug print stuff, and put other verbosity in #ifdef
1092 Implemented some more of the magnifier IDL for the simple
1093 magnifier: namely, getZoomRegionParams.
1094 Added mag_x and mag_y members to MagnifierData struct, aid of this
1096 Added GtkWindow::realize signal handler to magnifier, to keep it
1097 from receiving keyboard focus from the WM.
1099 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1101 * cspi/spi-private.h: my guess at what michael forgot
1102 before he ran off to NZ :-)
1104 2001-11-23 Michael Meeks <michael@ximian.com>
1106 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1107 comment out non existant method invoke so we link.
1109 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1110 use bonobo_exception_get_text for more friendly warnings.
1112 * cspi/spi.c (Obj_Add): move into spi_main & rename
1113 spi_object_add; kill spi.c
1115 * cspi/spi_registry.c
1116 (deregisterGlobalEventListener),
1117 (deregisterGlobalEventListenerAll),
1118 (registerGlobalEventListener): fix exception leaks.
1120 * cspi/spi_main.c (spi_exception): impl. helper, so we
1121 don't leak exceptions.
1123 * cspi/spi_selection.c
1124 (AccessibleSelection_deselectSelectedChild): return the
1127 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1128 (spi_registry): ditto.
1129 (SPI_init): guard against double inits.
1131 * cspi/*.c: use spi_ev (), and spi_registry () where
1132 appropriate - a temporary hack until we have something
1133 better. Use spi_object_add
1135 2001-11-22 Michael Meeks <michael@ximian.com>
1137 * cspi/Makefile.am: re organise, install the headers.
1139 * cspi/*.h: add G_BEGIN/END_DECLS
1141 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1144 Added non-preemptive keylistener for key events with no modifiers
1145 and shift-only modifier.
1147 * libspi/keystrokelistener.c:
1148 Removed some verbose diagnostics printout.
1150 * cspi/spi_registry.c:
1151 Fixed a bug that caused all key listeners to be registered as
1154 * libspi/deviceeventcontroller.c:
1155 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1156 for non-preemptive key masks.
1159 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1161 * docs/reference/idl/at-spi-idl-docs.sgml:
1162 * docs/reference/idl/at-spi-idl-sections.txt:
1163 * docs/reference/idl/at-spi-idl-overrides.txt:
1164 Added missing files.
1166 * docs/reference/Makefile.am:
1167 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1168 to scan the IDL files :-(
1173 Added .cvsignore files.
1175 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1177 * libspi/deviceeventcontroller.c:
1178 * libspi/keystrokelistener.c:
1180 * cspi/spi_registry.c:
1181 Added filters for KeySets, KeyEventSeq, and event types to key
1182 event dispatching, so listeners should only receive those events
1183 that they requested :-)
1185 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1190 * docs/reference:Makefile.am:
1191 * docs/reference/cspi:
1192 * docs/reference/cspi:Makefile.am:
1193 * docs/reference/cspi:tmpl:
1194 * docs/reference/cspi:tmpl:*.sgml:
1195 * docs/reference/idl:
1196 * docs/reference/idl:Makefile.am:
1197 * docs/reference/idl:at-spi-idl-sections.txt:
1198 * docs/reference/idl:at-spi-idl-docs.sgml:
1199 * docs/reference/idl:tmpl:
1200 * docs/reference/idl:tmpl:*.sgml:
1202 Restructured docs directory to allow separate 'reference' docs
1203 section, and forked idl and cspi docs. Added the sgml template
1204 files to CVS. Added the first sections/structural sgml for the
1207 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1209 * configure.in, libspi/Makefile.am: find libXtst.
1211 2001-11-21 Michael Meeks <michael@ximian.com>
1213 * test/accessx-gui.c: s/spi_value/value/ - doh.
1215 * libspi/base.[ch]: add.
1217 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1219 * idl/Accessible.idl:
1220 * idl/Application.idl:
1223 Started gtk-doc cleanup on IDL.
1225 * libspi/deviceeventcontroller.c:
1226 Added and connected non-preemptive key notification from the
1227 toolkits (in addition to the pre-emptive support from XServer
1228 which we had before, but which causes 'focus flashing'). Filters
1229 are presently limited to key modifiers and global/non-global,
1230 KeySets are presently ignored, as are KeyEvent masks.
1232 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1233 structs into the persistant structure rather than just storing
1234 pointers to things that might not persist across servant
1237 The XGrabKey call now does async keygrabs, because synchronous
1238 ones were deadlocking with GDK_event code in a very nasty way.
1240 Added boolean to internal method notify_keylisteners, to indicate
1241 whether the event came from the 'toolkit source' or the 'global
1242 (XServer) source' - this is used in the notification process to
1243 determine which listeners to send the event to.
1245 deviceeventcontroller.c is now warning-free.
1247 * libspi/registry.c:
1248 Fixed regression in application de-registration.
1249 Also fixed some really brain-dead weirdness having to do with
1250 event dispatching - event structs are now duplicated before being
1251 re-marshalled in the dispatch to listeners. This also fixes a
1252 Solaris build problem.
1255 2001-20-11 Michael Meeks <michael@ximian.com>
1258 (impl_accessibility_registry_deregister_global_event_listener):
1261 * libspi/deviceeventcontroller.c
1262 (spi_device_event_controller_check_key_event): return
1263 FALSE on no virtual method.
1265 * libspi/*..h: make includes work on a correctly pathed install.
1267 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1269 * libspi/application.h: kill unused ( and whacked out )
1270 gboolean *spi_application_set_id (AtkObject *app, long id);
1272 2001-20-11 Michael Meeks <michael@ximian.com>
1274 * libspi/*.[ch]: further convert to bonobo's type func
1275 macros, remove redundnant casts etc.
1277 * libspi/text.c s/accessibility_text/spi_text/g,
1278 re-order to de-cruft.
1280 * libspi/hypertext.c: re-order to kill a huge slew
1281 of redundant forward decls.
1283 * libspi/relation.c: ditto.
1285 * libspi/image.c: ditto.
1287 * */.cvsignore: update
1289 2001-20-11 Michael Meeks <michael@ximian.com>
1291 * libspi/deviceeventcontroller.c
1292 (_controller_register_with_devices): use g_getenv,
1293 kill stdlib.h include.
1295 * libspi/keystrokelistener.c
1296 (spi_keystroke_listener_get_type): kill
1297 (spi_keystroke_listener_class_init),
1298 (spi_keystroke_listener_init): rename to this.
1300 * libspi/text.c (impl_getAttributes): fix warning / bug.
1302 * libspi/*.[ch]: more headers, includes and over commenting.
1304 2001-20-11 Michael Meeks <michael@ximian.com>
1306 * libspi/*.[ch]: fixup headers, includes and over commenting.
1308 * libspi/image.c (impl__get_imageDescription): const
1309 correctness warning fix. remove redundant casting.
1311 * libspi/table.c (impl_getRowDescription): ditto.
1312 (impl_getColumnDescription): ditto.
1314 * libspi/libspi.h: add.
1316 2001-19-11 Michael Meeks <michael@ximian.com>
1318 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1320 * libspi/component.c (accessibility_component_get_type):
1321 rename to (spi_component_get_type): and macroify.
1322 (accessibility_component_init): rename to
1323 (spi_component_init): this
1324 (accessibility_component_class_init): rename to
1325 (spi_component_class_init): this
1327 * libspi/action.c (spi_action_get_type): kill, use the macro.
1329 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1332 * libspi/application.c (spi_application_object_event_listener),
1333 (impl_accessibility_application_register_object_event_listener):
1334 warning fixes / const understanding updates.
1336 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1339 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1341 * libspi/spi_accessible.c: Added docs and C bindings for
1342 AccessibleStateSet. (No implementations yet). Documentation
1343 coverage for C bindings now 100%. Made docs for event listeners
1348 boolean notifyListenersSync (in DeviceEventListener listener,
1349 in DeviceEvent event);
1351 oneway void notifyListenersAsync (in DeviceEventListener listener,
1352 in DeviceEvent event);
1354 Added DeviceEventListener and DeviceEvent structs (may deprecate
1355 KeyStroke and KeystrokeListener in favor of this generic
1356 event/listener framework for devices).
1358 * libspi/deviceeventcontroller.c:
1360 Changed some key listener code to take masks, etc., and paved the
1361 way for integration of toolkit/non-preemptive key events. Changed
1362 signatures of some internal methods.
1364 * at-bridge/bridge.c:
1365 Fixed regression connecting to interface signals, apparently
1366 caused by GTK+ changes.
1368 Added an internal bridge_state_listener to deal with
1369 property-change:accessible-state signals.
1371 Changed the key_listeners GList to store structs (including masks,
1372 etc.) instead of just CORBA_Objects (required for full
1373 implementation of key listener API).
1375 Connected the bridge to all currently supported Atk signals.
1376 Events now supported:
1377 object:property-change
1378 object:property-change:accessible-name
1379 object:property-change:accessible-state
1380 object:property-change:accessible-description
1381 object:property-change:accessible-parent
1382 object:property-change:accessible-value
1383 object:property-change:accessible-role
1384 object:property-change:accessible-table-caption
1385 object:property-change:accessible-table-column-description
1386 object:property-change:accessible-table-column-header
1387 object:property-change:accessible-table-row-description
1388 object:property-change:accessible-table-row-header
1389 object:property-change:accessible-table-summary
1390 object:children-changed
1391 object:visible-data-changed
1392 object:selection-changed
1393 object:text-selection-changed
1395 object:text-caret-moved
1397 object:row-reordered
1399 object:column-inserted
1400 object:column-reordered
1401 object:column-deleted
1402 object:model-changed
1404 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1406 * libspi/hyperlink.c,h:
1407 Fixed some broken stuff in hyperlink.
1409 * libspi/relation.h:
1410 * libspi/relation.c:
1411 * cspi/spi_accessible.c:
1412 Initial implementations of AccessibleRelation methods, and docs.
1414 * libspi/accessible.c:
1415 Fixed a bug that caused SEGV if an accessible
1416 object's description is NULL, and a client
1417 requests it. An empty string is now returned.
1419 * cspi/spi_editabletext.c:
1420 * cspi/spi_hypertext.c:
1422 * cspi/spi_hyperlink.c:
1426 Doc coverage now 95%.
1428 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1430 One last namespacing revision:
1431 * libspi/accessibleeventlistener.[ch]:
1432 Renamed SpiAccessibleEventListener to SpiEventListener,
1433 (no need for two namespaces ;-)
1435 And lots of documentation fixes:
1437 * docs/at-spi-docs.sgml:
1438 Fixed 'underscore vs. hyphen' bug that was preventing
1439 the gtk-doc API docs from being automatically generated.
1442 * cspi/spi-listener.h
1444 * cspi/spi_accessible.c
1446 * cspi/spi_application.c
1447 * cspi/spi_component.c
1448 * cspi/spi_editabletext.c
1450 * cspi/spi_hypertext.c
1452 * cspi/spi_registry.c
1453 * cspi/spi_selection.c
1457 * docs/at-spi-docs.sgml
1458 * docs/at-spi-sections.txt
1460 Added and fixed up gtk-doc documentation in cspi.
1462 Interfaces now (fully) documented (subject to revision and enhancement):
1464 Event Listener Support
1466 AccessibleApplication
1470 AccessibleEditableText
1477 AccessibleRelationSet
1482 2001-14-11 Bill Haneman <bill.haneman@sun.com>
1484 * at-bridge/bridge.c:
1485 Initial work for toolkit-level key snooper connection by bridge.
1490 New typedefs and fixes to support new namespacing, and cleaner
1491 separation of cspi bindings from libspi bonobo implementation.
1492 Removed inconsistent and extraneous Spi* namespace prefix that
1493 had crept into cspi headers.
1494 Lots of comment fixes that sed had missed.
1496 * cspi/spi-roletypes.h:
1497 * cspi/spi-statetypes.h:
1498 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
1499 to AccessibleRoleType.
1501 * libspi/accessibleeventlistener.h:
1502 Fixed minor namespacing weirdness.
1504 * libspi/deviceeventcontroller.c:
1505 Reordered some internal API for device listeners.
1506 Changed the key registry final boolean to 'is_system_global'
1507 rather than 'is_synchronous', which is more descriptive of its
1509 Added spi_device_event_controller_new().
1510 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
1512 * libspi/keystrokelistener.[ch]:
1513 Namespaced KeystrokeListener to SpiKeystrokeListener.
1514 Changed uses of keymasks to use SPI_ prefix, and did other
1517 * libspi/keymasks.h:
1518 Namespaced keymask constants with SPI_ prefix.
1520 * libspi/registry.c:
1521 Some warning fixes, and knock-on fixes from namespace changes.
1524 Added rules for accessx-gui test program.
1526 * test/accessx-gui.c:
1527 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
1528 utility. It doesn't actually use at-spi, but it's still cool and
1531 * test/keysynth-demo.c:
1535 Fixes so that these test clients work properly with the namespaced
1536 libraries. (Incompletely tested for technical reasons, fixes may follow)
1539 2001-13-11 Michael Meeks <michael@ximian.com>
1541 * libspi/application.c
1542 (impl_accessibility_application_get_version),
1543 (impl_accessibility_application_get_toolkit_name):
1545 (impl_accessibility_application_set_id),
1546 (impl_accessibility_application_get_id): remove
1547 redundant casting code.
1549 * libspi/action.c (impl_getDescription): fix warnings.
1551 * libspi/accessible.c
1552 (impl_accessibility_accessible_get_parent),
1553 (impl_accessibility_accessible_get_child_at_index),
1554 (impl_accessibility_accessible_get_state),
1555 (impl_accessibility_accessible_get_relation_set):
1556 warning fixes & include action.h
1558 2001-13-11 Michael Meeks <michael@ximian.com>
1560 * *.[ch] fix bits I screwed up:
1562 s/([^ \tb(\*\&\?\",])spi_/\1/g;
1563 s/([^ \tb(\*\&\?\",])Spi/\1/g;
1565 2001-13-11 Michael Meeks <michael@ximian.com>
1567 * *.[ch] Namespace libspi into spi_ and Spi.
1569 2001-13-11 Michael Meeks <michael@ximian.com>
1571 * Makefile.am: dist & install at-spi-1.0.pc
1573 * libspi/Makefile.am: install into at-spi-1.0
1575 * idl/Makefile.am (idldir): install into at-spi-1.0
1577 * at-spi-1.0.pc.in: add.
1579 * configure.in: build it.
1581 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1583 * test/keysynth-demo.c:
1584 Use a 'realize' signal-handler to set the WM properties for
1585 the virtual keyboard, rather than making it a "POPUP" type
1586 override-redirect window (thanks to anders carlsson for that
1589 2001-11-11 Bill Haneman <bill.haneman@sun.com>
1592 * test/keysynth-demo.c:
1593 Added new test of key synthesis, which creates a simple
1594 (mouse-operated) onscreen keyboard. It inserts key events into
1595 the currently-focused window, thus it does not grab keyboard focus
1598 * cspi/spi_registry.c:
1599 Added C binding for AT-SPI generateKeyEvent.
1601 * libspi/deviceeventcontroller.c:
1602 Added call to XFilterEvent so that key listener works with XIM (we
1603 hope). Added event_synth_type to generateKeyEvent, so that we can
1604 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
1605 synthesize a press/release pair for KeySyms.
1607 2001-11-09 Bill Haneman <bill.haneman@sun.com>
1609 * libspi/Makefile.am:
1610 * registryd/Makefile.am:
1611 (temporary) hack to include libXtst in libspi and registryd.
1612 (Needed for keystroke synthesis, see below).
1615 Improved API for registerKeystrokeListener, in accordance with
1616 discussions with Gnopernicus team and X server research.
1618 * libspi/registry.c:
1619 * libspi/deviceeventcontroller.c:
1620 * libspi/accessible.c:
1621 * libspi/keystrokelistener.c:
1622 Changes and fixes to support keylisteners for potentially
1623 consumed key events (that is, 'passive grabs').
1624 Added implementation for generateKeyEvent() [untested].
1627 Changes to registerKeystrokeListener() API, as above.
1628 Added deregisterGlobalEventListenerAll(), and
1629 deregisterKeystrokeListener(), which are needed for clean exit of
1631 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
1632 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
1634 * cspi/spi_registry.c:
1635 Added implementations of function prototypes mentioned above.
1637 * registryd/registryd.c:
1638 Added the key listener event source as a g_timeout(), to allow
1639 receipt of key events that are not caught by GDK (since GDK
1640 doesn't support passive keygrabs, this was necessary).
1643 Changed to attach a keylistener to 'Alt' keys, and
1644 respond to the following keycommands: Alt-M (toggle magnifier);
1645 Alt-F (toggle speech); Alt-Q (quit).
1646 Added an exit routine to deregister the listeners, and a key
1647 listener that prints some key info to the console when a key
1648 matches the listener mask (and is thus received by the listener).
1650 * util/idl/Magnifier.idl:
1651 Changes to magnifier API to support multiple zoom regions,
1652 non-uniform scaling in x and y, markDirty, and a host of other
1653 features that would be useful to magnification.
1656 * util/mag_client.c:
1657 * util/mag_client.h:
1658 * util/mag_control.c:
1660 Source code changes to support the above IDL changes.
1663 As above, and also changes to use a (slower) generic conversion
1664 path for colormap conversions, since the fast RGB conversions have been
1665 reported to fail for 16-bit displays.
1667 2001-10-26 Michael Meeks <michael@ximian.com>
1669 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
1671 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
1673 * at-bridge/Makefile.am: fix LDFLAGS.
1675 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1677 * at-bridge/bridge.c:
1678 Re-worked listeners for toolkit events, now we have signal
1679 and property listeners. Added a private method
1680 register_atk_event_listeners(), which registers with the
1681 various atk and gtk signals we need to monitor in order to emit
1683 Added emission hook for AtkObject:property-change events, to
1684 support the 'property listeners'.
1685 Fixed some alloc()s of Accessibility_Event structs to use CORBA
1688 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
1689 which emit warnings and exit, respectively, if CORBA errors occur
1690 during remote calls, and we now use these methods to check most of
1691 our CORBA calls in the C bindings.
1693 * cspi/spi_accessible.c:
1694 Changed AccessibleSelection_refSelectedChild() to
1695 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
1696 now increment refcounts.
1698 * cspi/spi_component.c:
1699 Fixed some long pointer casts (dangerous!) to pass pointers to
1700 CORBA_longs of the proper type to the CORBA stubs, and copy the
1701 data into the longs that were passed into the C bindings code.
1703 * at-bridge/bridge.c:
1705 * libspi/accessible.c:
1706 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
1707 hyperlinks, AtkHyperlink is an object type.
1709 * libspi/application.c:
1710 Added various conversions to and from "generic" event types and
1711 atk-specific types; this is really part of the 'bridge'
1712 implementation but is valid for all AtkObject-based accessibility
1715 * libspi/editabletext.c:
1716 Fixed nasty bug wherein editable text's finalize method was
1717 unref'ing tha AtkObject reference that the text parent class was
1718 about to unref _again_. There was also a nasty inheritance bug
1719 that meant that the AccessibleEditableText class was corrupt.
1721 * libspi/selection.c:
1722 Provided implementations for some selection API that was broken.
1724 * idl/Application.idl:
1725 Added registerObjectEventListener () method.
1728 Fixed a number of return values that were Bonobo_Unknowns from
1729 bonobo_object_corba_objref(), which I
1730 forgot to dup before returning. Changed instances of
1731 bonobo_object_corba_objref (bonobo_object(o)) to
1732 BONOBO_OBJREF(o), for concision and clarity.
1734 <2001-10-13 Louise Miller <louise.miller@sun.com>
1736 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
1737 idl/Event.idl, idl/Registry.idl
1738 Changed these files to include Bonobo_Unknown.idl instead
1741 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
1743 * libspi/component.c libspi/component.h:
1744 Fixed typo. Added assertions for object checks in
1745 AccessibleComponent code.
1747 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1749 * idl/Accessible.idl:
1750 Added 'isEqual (Accessible *object)'
1751 method for Accessible. (Not Yet Implemented).
1754 Changed signature of registerKeystrokeListener() to
1755 take a KeySet and KeyEventSeq so that specific keys and event
1756 types could be requested for monitoring, and added a flag
1757 is_synchronous so that either synchronous or asynchronous
1758 notification could be requested. (However this is not all
1759 implemented yet). This also meant adding two new typedefs,
1760 KeyEventSeq and KeySet.
1763 Added two new relations, RELATION_TOOLTIP_FOR and
1764 RELATION_LEAFNODE_OF.
1767 Added new state, STATE_HAS_TOOLTIP.
1769 * libspi/text.c, editabletext.c:
1770 Added new assertions to all casts of bonobo-objects from
1771 CORBA servants, to prevent Text API calls on non-text objects.
1772 Changed suspect casts of int-pointer types, so that we
1773 always send a valid CORBA_long pointer to the CORBA APIs that use
1774 in/out long parameters. We then have to copy from the CORBA_long
1775 into the regular long or int for return to the C bindings, or
1776 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
1779 * libspi/deviceeventcontroller.c:
1780 Cleaned these sources up.
1782 Changed return type for getCharacterAtOffset to
1783 CORBA_unsigned_long, to allow for 32-bit characters.
1786 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
1790 Fixed 'make dist' so that distro compiles...
1791 * libspi/keymasks.h:
1793 * cspi/spi-listener.c:
1794 KeystrokeListenerCB now returns a boolean.
1796 Added KeyEventType struct, and KeyStroke.
1797 Also added createKeystrokeListener(),
1798 KeystrokeListener_addCallback(),
1799 KeystrokeListener_removeCallback(), and added a keymask to
1800 registerKeystrokeListener().
1801 * cspi/spi_accessible.c:
1802 Changed numerous return types for interfaces from
1803 AccessibleComponent to Accessible<InterfaceName>; this was
1804 probably a cut-and-paste error.
1806 Implementations of new KeystrokeListener api (from spi.h,
1809 Changes to key modifier mapping.
1810 Created ControllerEventMask struct.
1811 Made DeviceEventController derive from Bonobo::Unknown.
1813 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
1814 * libspi/deviceeventcontroller.c:
1815 Added a number of new internal (private) methods.
1816 * libspi/editabletext.c:
1817 * libspi/editabletext.h:
1818 Fixed a number of bugs related to the fact that
1819 editabletext inherits from text. Fixed the EditableText struct,
1820 the init() call, and use correct casts when calling Text methods
1821 from an EditableText object. Removed (duplicate) atko from the
1822 EditableText structure, we use the one in the parent Text
1823 structure via the casts mentioned above.
1824 * libspi/keystrokelistener.[ch]:
1825 * libspi/registry.c:
1826 Changes in support of keyboard handling (above).
1828 Keyboard handling, though partly functional, is still not
1829 recommended for at-spi client use as there is considerable
1830 work yet to be done.
1833 Changed some places where pointers to various int types
1834 are cast to be pointers to CORBA_long types and vice-versa:
1835 pointer casting is not safe so we pass pointers of the correct
1836 types and then cast the result before putting it into the target
1839 * libspi/text.h: minor typos corrected.
1841 We now speak not only the name of a Text element, but the
1842 first sentence of its content, when it receives focus.
1843 I also changed the text compression to 75% from 50%.
1844 * util/Accessibility_Util.server.in:
1845 Changed the default magnifier type to be a 3x vertical
1846 splitscreen magnifier (was previously a 2x horizontal one).
1848 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
1850 * libspi/keystrokelistener.h:
1851 * libspi/keystrokelistener.c:
1852 Initial functional implementations of KeystrokeListener.
1855 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
1857 Fixed string handling for NULL strings in libspi.
1858 Added spi_freeString to free strings returned by C bindings.
1860 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
1862 * libspi/keystrokelistener.h:
1863 * libspi/keystrokelistener.c:
1864 Began (no-op) implementations of KeystrokeListener
1866 * libspi/deviceeventcontroller.c:
1867 * libspi/deviceeventcontroller.h:
1868 Began creating implementations of DeviceEventController,
1869 to handle keystroke and mouse event listening and
1871 * libspi/accessible.c:
1872 Stubbed-in the implementations for
1873 Accessibility_Accessible_getState and
1874 Accessibility_Accessible_getRelationSet.
1875 * libspi/registry.c:
1876 Improved de-registration process and fixed some bugs,
1877 deregistration now works correctly.
1879 Added initialization of applications list (to NULL).
1881 Reduced speech compression from 0.5 to 0.7, for demo.
1882 Changed call to gdk_window_set_decorations()
1883 to gtk_window_set_decorated().
1884 * at-bridge/bridge.c:
1885 Bridge now deregisters when app exits, via
1886 registration of a cleanup function
1887 with the g_atexit() call.
1888 Required making 'app' static, renamed 'this_app'.
1889 Fixed broken use of bonobo_init, passing argv wrongly.
1891 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
1895 Created a new directory for
1896 accessibility-related utilities, primarily for
1897 testing and demo purposes, but with possible
1904 Onscreen magnifier utility that
1905 is implemented as a bonobo service.
1907 * util/mag_client.c:
1908 * util/mag_client.h:
1909 Client-side support (simple C bindings)
1910 for Magnification service
1912 * util/mag_control.c:
1913 Client program example for
1914 Magnification service
1916 * util/Accessibility_Magnifier.server.in:
1917 Bonobo-activation file for the
1918 Magnification service.
1921 * util/idl/Magnifier.idl:
1922 IDL defining the bonobo Magnification
1926 Modifications to use the bonobo-activated magnifier
1927 above, in place of trying to connect to an existing
1928 magnifier that uses socket-listening IPC.
1930 If env variable MAGNIFIER is set, a magnifier service
1931 will be started if one does not exist.
1933 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
1934 * at-bridge/bridge.c:
1935 applied patch from Marc to build and run
1936 against new glib and gtk+ (seemed like a change
1937 to bonobo_init signature was made ?)
1939 made festival-server support turned off by default.
1940 Added support for a simple magnifier (off by default)
1941 which will be added to a 'util' directory later.
1942 * at-bridge/Makefile.am:
1943 Changed "application.h" header from a 'source'
1944 to a 'dependency' of libat-bridge.
1946 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
1954 Added interface implementation c files to list of
1955 includes so they are included in libcspi.
1958 Changed prototype of AccessibleAction_doAction to return a
1960 Changed prototype of AccessibleTable_getCaption to
1961 return an Accessible.
1962 Changed prototype of AccessibleTable_getSelectedRows
1963 and AccessibleTable_getSelectedColumns to
1964 return a long (returns the number of selected rows
1965 or columns respectively).
1966 Changed name of AccessibleText_refRunAttributes to
1967 AccessibleText_getAttributes.
1968 Changed prototype of AccessibleText_getCharacterExtents to
1969 return a void rather than a boolean.
1970 Added support for a AccessibleCoordType parameter
1971 specifying what type of coordinates are desired.
1972 Added an AccessibleCordType parameter to
1973 AccessibleText_getPointAtOffset.
1975 * cspi/spi_accessible.c:
1976 Added code to return the outstanding interfaces from
1977 Accessible_queryInterface.
1979 * cspi/spi_action.c:
1981 Corrected call to getNActions to call the c binding
1984 * cspi/spi_editabletext.c:
1986 Changed name from setRunAttributes to setAttributes.
1988 * cspi/spi_hyperlink.c:
1990 Changed call to getNAnchors to correctly call the c
1991 binding for an attribute.
1993 * cspi/spi_hypertext.c:
1995 Changed getImageDescription to correctly call the
1996 binding for an attribute.
1998 * cspi/spi_selection.c:
1999 Changed getNSelectedChildren to correctly call the c
2000 binding for the attribute.
2001 Changed refSelectedChild to getSelectedChild.
2005 Changed getCaption to return an Accessible.
2006 Fixed calls which retrieve attributes.
2007 Changed refAt to getAccessibleAt.
2008 Changed getNSelectedRows and getNSelectedColumns to
2012 Changed getCharacterExtents and getPointAtOffset to accept an
2013 AccessibleCoordType.
2015 Changed calls which retrieve attributes.
2016 Changed refRunAttributes to getAttributes.
2021 * idl/Hyperlink.idl:
2022 Changed n_anchors attribute to nAnchors to keep naming
2023 convention consistent.
2026 Made Table inherit from Bonobo::Unknown.
2027 Added nSelectedColumns and nSelectedRows attributes.
2030 Made Value inherit from Bonobo::Unknown.
2032 * libspi/hyperlink.c:
2033 Change for nAnchors attributte name change.
2035 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2043 Added interface implementation c files to list of
2044 includes so they are included in libcspi.
2047 Changed prototype of AccessibleAction_doAction to return a
2049 Changed prototype of AccessibleTable_getCaption to
2050 return an Accessible.
2051 Changed prototype of AccessibleTable_getSelectedRows
2052 and AccessibleTable_getSelectedColumns to
2053 return a long (returns the number of selected rows
2054 or columns respectively).
2055 Changed name of AccessibleText_refRunAttributes to
2056 AccessibleText_getAttributes.
2057 Changed prototype of AccessibleText_getCharacterExtents to
2058 return a void rather than a boolean.
2059 Added support for a AccessibleCoordType parameter
2060 specifying what type of coordinates are desired.
2061 Added an AccessibleCordType parameter to
2062 AccessibleText_getPointAtOffset.
2064 * cspi/spi_accessible.c:
2065 Added code to return the outstanding interfaces from
2066 Accessible_queryInterface.
2068 * cspi/spi_action.c:
2070 Corrected call to getNActions to call the c binding
2073 * cspi/spi_editabletext.c:
2075 Changed name from setRunAttributes to setAttributes.
2077 * cspi/spi_hyperlink.c:
2079 Changed call to getNAnchors to correctly call the c
2080 binding for an attribute.
2082 * cspi/spi_hypertext.c:
2084 Changed getImageDescription to correctly call the
2085 binding for an attribute.
2087 * cspi/spi_selection.c:
2088 Changed getNSelectedChildren to correctly call the c
2089 binding for the attribute.
2090 Changed refSelectedChild to getSelectedChild.
2094 Changed getCaption to return an Accessible.
2095 Fixed calls which retrieve attributes.
2096 Changed refAt to getAccessibleAt.
2097 Changed getNSelectedRows and getNSelectedColumns to
2101 Changed getCharacterExtents and getPointAtOffset to accept an
2102 AccessibleCoordType.
2104 Changed calls which retrieve attributes.
2105 Changed refRunAttributes to getAttributes.
2110 * idl/Hyperlink.idl:
2111 Changed n_anchors attribute to nAnchors to keep naming
2112 convention consistent.
2115 Made Table inherit from Bonobo::Unknown.
2116 Added nSelectedColumns and nSelectedRows attributes.
2119 Made Value inherit from Bonobo::Unknown.
2121 * libspi/hyperlink.c:
2122 Change for nAnchors attributte name change.
2125 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2127 implementations-- made server implementations own AtkObject pointers
2128 rather than their respective AtkInterrface pointers to fix
2129 refcounting. AtkHyperlink is still broken.
2131 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2132 * cspi/spi_accessible.c:
2133 Added method Accessible_Role_getName(),
2134 and requisite string array (role_names).
2135 Added conversion string_from_corba_strin() call
2136 to Accessible_getName and _getDescription.
2137 * libspi/accessible.c:
2138 Added implementation for Accessible_getRole()
2140 Added festival support, used if environment variable
2143 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2145 * at-bridge/bridge.c:
2146 Now allocate Accessibility_Event using
2147 Accessibility_Event__alloc() instead of g_new0().
2148 * libspi/accessibleeventlistener.c:
2149 Initialize AccessibleEventListener->callbacks to NULL.
2150 Fixed accessible__event_listener_init() param, changed to
2151 "AccessibleEventListener *" type.
2152 Changed a bonobo_object_release_unref() call to
2153 Accessibility_Accessible_unref().
2154 * libspi/listener.c:
2155 Changed Bonobo_Unknown_unref to (equivalent)
2156 Accessibility_Accessible_unref.
2157 * libspi/registry.c:
2158 Changed bonobo_object_release_unref to
2159 Accessibility_Accessible_unref.
2161 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2164 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2165 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2166 spi-util.c spi-util.h
2167 Implementations for C bindings to remaining accessibility
2170 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2173 changed return value of Action from void to boolean to
2174 bring in line with ATK.
2177 Changed getText funcions to return "out" start and end offsets.
2178 Changed getAttributes to take and offset and return the start
2179 and end offset of the attribute run.
2180 Changed getOffsetAtPoint and getCharacterExtents to take an
2181 enum describing whether coordinates are window or screen.
2184 libspi/action.c libspi/action.h libspi/editabletext.c
2185 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2186 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2187 libspi/image.h libspi/selection.c libspi/selection.h
2188 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2189 libspi/value.c libspi/value.h
2190 Added server implementations for outstanding ATK interfaces
2191 not yet implemented.
2193 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2196 Added (missing) getName() method.
2197 Made nActions an attribute.
2198 * idl/EditableText.idl:
2199 Changed order of params in setAttributes.
2200 * idl/Hyperlink.idl:
2201 Removed getAnchor, added getURI.
2203 Changed attributes to methods, for efficiency
2204 (so that getting extents can be done in one call)
2205 * idl/Selection.idl:
2206 Changed nSelectedChildren to attribute, and re-indented.
2207 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2209 * idl/Text.idl: reformatted to match our coding style.
2210 (temporarily?) removed getRowColumnAtOffset().
2211 Changed text selection API to support multi-select and
2212 non-contiguous selections, as in ATK.
2213 * idl/Value.idl: changed some methods to attributes.
2215 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2217 * libspi/listener.c(impl_notify_event):
2218 BonoboUnkown_unref the source instead
2219 of bonobo_object_release_unref - the ORB
2220 handles the releasing.
2222 * configure.in: require ORBit-2.3.94 for
2225 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2227 Tagged CVS repository 'EA_1_0'.
2228 * README.EARLY_ACCESS:
2229 Alphabetized acknowledgements list, and
2231 Listed some known dependencies of at-spi.
2233 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2235 * docs/at-spi-docs.sgml:
2236 * docs/at-spi-sections.txt:
2237 * docs/at-spi-overrides.txt: (Added zero-length file)
2238 Documentation improvements - gtk-doc should build
2239 docs for all implemented C bindings now.
2242 * cspi/spi.c: (New file)
2243 * cspi/spi_event.c: (New file)
2244 * cspi/spi_registry.c: (New file)
2245 * cspi/spi_accessible.c: (New file)
2246 * cspi/spi_application.c: (New file)
2247 * cspi/spi_component.c: (New file)
2248 Split spi_main.c into six parts, and included them from
2249 "spi.c". This is a bit of a hack, probably temporary,
2250 but required by gtk-doc, apparently.
2252 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2255 * docs/at-spi-docs.sgml:
2256 * docs/at-spi-sections.txt:
2258 Initial checkins/modifications for gtk-doc generation.
2261 Added (missing) interface query methods to Accessible's C binding.
2263 Added GenericInterface type definition.
2265 Added query for AccessibleComponent interface to focus event handler.
2266 Added printout of bounding box for focussed component.
2267 * libspi/component.c:
2268 Added partial implementation for AccessibleComponent to C binding.
2269 * idl/Application.idl:
2270 * libspi/registry.c:
2271 * libspi/listener.c:
2272 * libspi/application.c:
2273 * libspi/application.h:
2274 Changed "ID" attribute type from string to long.
2276 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2280 Made method naming consistent: methods taking object args
2281 start with uppercase, other methods (except those using
2282 acronyms) start with lowercase. Underscores delimit between
2283 object names and method names:
2284 SPI_init() - uppercase since it starts with an acronym.
2285 getDesktopCount () - lowercase start since no object param0.
2286 Accessible_getName() - uppercase object type name, studlyCaps method
2290 Added gtk-doc documentation for all currently implemented
2291 methods in the C bindings API.
2293 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2295 * Makefile.am : changed build order to build test last.
2298 Changed "createEventListener" to "CreateEventListener".
2299 * libspi/accessibleeventlistener.c :
2300 Bugfix for addition of callbacks.
2301 * test/Makefile.am :
2302 * test/simple-at.c :
2303 Added new test that uses the C bindings API.
2305 * libspi/listener.c :
2306 * libspi/registry.c :
2307 * libspi/accessibleeventlistener.c :
2308 * at-bridge/bridge.c :
2309 Renamed member "target" of Accessibility_Event to "source",
2310 which is more descriptive.
2313 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2317 * cspi/Makefile.am :
2318 Added makefile support for at-spi/cspi directory.
2321 * cspi/spi-listener.h : (NEW FILE)
2322 Added support for/use of spi-listener.h.
2324 C bindings now build successfully, with no warnings.
2325 * libspi/accessibleeventlistener.h : (NEW FILE)
2326 * libspi/accessibleeventlistener.c : (NEW FILE)
2327 * libspi/Makefile.am :
2328 Added new object type "AccessibleEventListener"
2329 which inherits from Listener, and allows attachment
2330 of in-process callbacks (so that a client with a listening
2331 object instance can add functionality to the local
2332 implementation, dynamically).
2334 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2336 * libspi/accessible.c:
2337 Add implementation for get_index_in_parent().
2339 Added #include of "spi-roletypes.h", and
2340 added enumerated type AccessibleCoordType.
2341 Added definition for KeystrokeListener (function type).
2344 * cspi/spi-statetypes.h :
2345 * cspi/spi-roletypes.h :
2347 Added these headers, used by spi.h.
2349 Added code (NOTE: not yet built by make).
2351 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2353 * libspi/Makefile.am: generate imodule
2354 at the same time as other idl compiler
2357 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2358 * libspi/registry.c :
2359 * libspi/application.c :
2360 * idl/Application.idl :
2361 Made registration with toolkit an application method,
2362 which is required since each app has its own toolkit static
2363 environment. Thus the bridge must register for
2364 notification of toolkit events from each application in turn.
2365 Toolkit notifications are now successfully registered for, and
2366 sent to the listening at client.
2368 Changed toolkit event string to use hyphens rather than underscores.
2369 * libspi/listener.c :
2370 listner now gives more info in debug mode - it reports the
2371 name of the event received, as well as the name of the source.
2374 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2376 * libspi/registry.c :
2377 added more implementation for toolkit events.
2378 Fixed bug such that toolkit event registrations
2379 (via atk) use the whole event name string, not
2381 Removed a useless call to an ORBit_ method.
2382 * at-bridge/bridge.c :
2383 Removed unused local sbuf[] variable.
2385 We now register for Gtk:GtkWidget:button_press_event
2386 events as well as "focus:" events.
2388 Add some more API from Registry.idl that was missing,
2389 for keystroke listening, keystroke and mouse event
2390 synthesis, and enumeration of accessible desktops.
2392 2001-08-16 Michael Meeks <michael@ximian.com>
2394 * configure.in: use AM_GLIB_GNU_GETTEXT.
2396 * Makefile.am (SUBDIRS): kill intl.
2398 2001-08-15 Michael Meeks <michael@ximian.com>
2400 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2402 * configure.in: upd.
2404 * configure.in: depend on a recent bonobo-activation that
2405 will find our server files ...
2407 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2409 * libspi/accessible.c : accessible_new() :
2410 Now we add the Component interface via bonobo_object_add_interface,
2411 if the contained AtkObject implements AtkComponent.
2412 * libspi/accessible.h : now include "component.h"
2413 * libspi/component.h :
2414 * libspi/component.c : added files - implementation of
2415 bonobo wrapper object for Accessibility/Component
2416 * libspi/listener.c :
2417 Added test code to check for Accessibility/Component:1.0
2418 interface and report whether it is implemented by the
2420 * libspi/registry.c :
2421 Now we check for not only the hash of the whole event
2422 string before relaying the event, we also check the
2423 "minor" event string (without the detail string).
2424 This allows event listeners to be registered against
2425 all events of a certain major+minor type, or just
2426 against a specific major+minor+detail type.
2427 * libspi/accessible.c :
2428 Added implementations for Accessible:get_parent(),
2429 Accessible:getChildCount(), and Accessible:getChildAtIndex().
2430 * libspi/registry.c :
2431 * libspi/listener.c :
2432 Replaced calls to Accessibility_Accessible_ref() and
2433 Accessibility_Accessible_unref() with
2434 calls to bonobo_object_dup_ref() and
2435 bonobo_object_release_unref(), so that the CORBA object
2436 is dup-ed and released when relayed, as well as the bonobo object.
2438 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2440 * libspi/Makefile.am,
2441 registryd/Makefile.am,
2442 at-bridge/Makefile.am.
2443 test/Makefile.am, configure.in:
2444 reverse previous changes.
2446 * /idl/Image.idl: fix typo.
2448 * test/Makefile.am: put DEBUG_FLAGS
2451 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2453 * test/app.c: use argv[0] instead of
2456 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2458 * libspi/Makefile.am,
2459 registryd/Makefile.am,
2460 at-bridge/Makefile.am.
2461 test/Makefile.am, configure.in:
2462 cleanup, replace individual LIBS/CFLAGS with
2463 AT_COMMON_{LIBS|CFLAGS}.
2467 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2469 * configure.in, libspi/Makefile.am:
2470 Change IDL path checking for bonobo-activation
2473 2001-08-15 Bill Haneman <bill.haneman@sun.com>
2475 * registryd/registry.c : separated event listeners to use
2476 3 separate lists (focus, window, toolkit). Began testing
2477 event names against hashes before relaying events.
2478 * test/at.c : now register for events of type "focus:"
2479 * test/app.c : now generate events of type "focus:"
2480 * at-bridge/bridge.c : register with ATK for focus events,
2481 and we now relay those focus events to any "focus:" listeners.
2482 This now works with the bridge as a GTK_MODULE when running test/at.
2483 * libspi/registry.c :
2484 * libspi/listener.c :
2485 now we ref event sources before propagating, and unref on receipt.
2486 * libspi/registry.c :
2487 some changes to internal structs, to support event typestring hashes.
2488 * text/app.c : changed the way the appname is generated.
2489 * cspi : added directory that will hold the C bindings library for
2490 non-CORBA/bonobo-savvy clients.
2491 * cspi/spi.h : header file that contains the function prototypes for the C binding.
2492 * idl/Component.idl : added in parameter to indicate coord system for
2493 geometry-related calls.
2494 * idl/Hyperlink.idl : added readonly n_links attribute
2495 * idl/Image.idl : changed methods to attributes.
2497 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2499 * at-bridge/Makefile.am: link against
2500 ../libspi/libspi.la instead of -lspi.
2502 * at-spi/test/app.c: include
2503 bonobo-activation.h. Use a default appname
2504 if one is not provided.
2506 2001-08-14 Bill Haneman <bill.haneman@sun.com>
2508 * idl/Registry.idl : temporarily changed register_Application
2509 to oneway, to work around issue with initial registration
2511 * idl/Application.idl : changed attribute "id" from readonly
2512 to read-write, since it needs to be assigned by Registry.
2513 * registryd/registryd.c : added call to set application id
2515 * registryd/registry.c : changed de-registration procedure to
2516 use CORBA_Object_hash() to find matching object ref in application
2517 lists and listener lists.
2518 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
2519 began distinguishing between event types (work in progress).
2521 2001-08-13 Bill Haneman <bill.haneman@sun.com>
2524 * libspi/application.c:
2525 Added implementations for get/set id, get_toolkitName,
2527 * registryd/registryd.c :
2531 Converted from use of OAF to bonobo-activation.
2532 * libspi/desktop.h :
2533 * libspi/desktop.c :
2535 Removed references to atksimpleobject, since base atkobject
2536 implementation now provides functionality we need.
2537 * libspi/atksimpleobject.c :
2538 * libspi/atksimpleobject.h :
2543 * at-bridge/Makefile.am
2544 * at-bridge/bridge.c
2547 Added directory "bridge" and contents, and added dependencies
2548 in Makefile.am/configure.in.
2549 Initial checkin of "at-bridge".
2550 This code is a GTK_MODULE which automatically registers
2551 GTK+ apps with the accessibility registry, using an object
2552 reference to the root ATK object.
2554 2001-08-10 Mark McLoughlin <mark@skynet.ie>
2556 * po/Makefile.in.in: Remove. Again. If this
2557 doesn't get autogenerated - you need to update
2560 2001-08-07 Mark McLoughlin <mark@skynet.ie>
2562 * po/Makefile.in.in: Add. Again.
2564 2001-07-31 Bill Haneman <bill.haneman@sun.com>
2566 * libspi/accessible.c : added support for 'description' property.
2567 * libspi/accessible.c
2569 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
2570 (since the two are now equivalent in libbonobo)
2578 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
2579 Bonobo::Unknown as does Accessibility::Accessible.
2580 * idl/StreamableContent.idl : as above, and replaced internal InputStream
2581 interface with Bonobo::Stream, since it was redundant with it.
2582 (The Stream returned by a StreamableContext object is expected to
2583 implement only a subset of Bonobo::Stream)
2585 2001-07-28 Anders Carlsson <andersca@gnome.org>
2587 * libspi/accessible.c (accessible_object_finalize): Change
2588 g_free to g_object_unref since the AtkObject is a GObject.
2590 2001-07-30 Bill Haneman <bill.haneman@sun.com>
2592 * idl/Accessibility.idl: add new IDL files
2595 * idl/Action.idl: Definitions of actionable UI object
2596 * idl/Component.idl: Definitions of UI component geometry, etc.
2597 * idl/Hyperlink.idl: Defs of hyperlink behavior
2598 * idl/Image.idl: Def of accessible image
2599 * idl/Selection.idl: Definition of UI object with selectable children
2600 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
2601 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
2602 * idl/Text.idl: Interface defs for UI elements with complex textual content
2603 * idl/Value.idl: Definition of UI element that is a value controller or display
2605 2001-07-27 Michael Meeks <michael@ximian.com>
2607 * po/Makefile.in.in: remove autogenerated file from CVS.
2609 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
2612 * idl/Registry.idl: include guard.
2614 * idl/Accessibility.idl: Add, and include all the other IDL
2617 * idl/*.idl: remove mass of pragmas etc.
2619 2001-07-26 Michael Meeks <michael@ximian.com>
2621 * registryd/Makefile.am (registryd_SOURCES): remove
2624 2001-07-27 Mark McLoughlin <mark@skynet.ie>
2626 * libspi/.cvsignore, registryd/.cvsignore,
2627 test/.cvsignore: updated.
2629 * po/Makefile.in.in: gettext update.
2631 2001-07-25 Bill Haneman <bill.haneman@sun.com>
2633 * initial CVS checkin
2635 2001-06-29 Michael Meeks <michael@ximian.com>
2637 * configure.in: add AM_CONFIG_HEADER to gen config.h