1 2001-12-11 Bill Haneman <bill.haneman@sun.com>
7 Bugfix for get_action_from_servant ().
9 2001-12-11 Michael Meeks <michael@ximian.com>
11 * libspi/libspi.h: remove registry.h and
12 desktop.h, deviceeventcontroller.h
14 * libspi/Makefile.am: remove registry.[ch],
15 desktop.[ch], deviceeventcontroller.[ch]
17 * registryd/Makefile.am: add registry.[ch],
18 desktop.[ch], rename registryd.c to registry-main.c.
19 add deviceeventcontroller.[ch]
21 2001-12-11 Bill Haneman <bill.haneman@sun.com>
24 Replace setenv() call with putenv ().
27 Bugfix in AccessibleComponent_getExtents (),
30 2001-12-11 Michael Meeks <michael@ximian.com>
32 * libspi/image.c (impl_getImageExtents): impl.
33 (spi_image_class_init): upd.
36 (AccessibleImage_getImageDescription): fix daft bug
39 * test/test-simple.c (global_listener_cb): update
40 to only quit if not --poke
42 (validate_accessible): upd. dumping, call test_image
45 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
48 * idl/Accessibility.idl: update all IDL includes.
50 * idl/*.idl - rename to namespace - this sucks, blame
51 mjs' bad decision for oafd.
53 * test/test-simple.c (create_test_window): add more tests.
54 (create_tree): split this out.
55 (validate_accessible): bugfix.
57 2001-12-11 Michael Meeks <michael@ximian.com>
59 * cspi/bonobo/cspi-bonobo-listener.c:
60 (cspi_kestroke_listener_unref),
61 (cspi_event_listener_unref): impl. undoing previous
62 homenous environment - for Bill.
64 * cspi/spi_table.c (long_seq_to_array): use
67 * cspi/spi_main.c: split out all bonoboish bits into
70 * cspi/spi-impl.h: upd. typedefs.
72 * cspi/spi_registry.c: update to lowlevel API,
73 return booleans to indicate success in some places.
75 * cspi/spi_event.c: update to lowlevel API.
77 * cspi/bonobo/Makefile.am: add.
79 * cspi/bonobo/cspi-lowlevel.h: add
81 * cspi/bonobo/cspi-bonobo.c: add
83 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
85 * cspi/Makefile.am: remove spi-listener-impl.[ch],
86 (SUBDIRS): add bonobo, link in the libs.
88 * cspi/spi-util.c: kill this file.
90 * TODO: merge in my bits.
92 2001-12-11 Michael Meeks <michael@ximian.com>
94 * test/test-simple.c (test_value, test_table, main):
95 remove unused variables causing warnings.
97 * configure.in: cleanup checks - require gail.
99 2001-12-11 Bill Haneman <bill.haneman@sun.com>
102 Changed Value interface to use SValue (scalars) rather than
103 assuming all values are floats. This allows floats, doubles,
104 longs, shorts, and unsigned values to be manipulated.
105 Introduced Accessibility:SValue union.
108 Updated to use new API above, and to work correctly with GValues
109 of different types in AtkValue.
112 Updated to use new API above. cspi's API is as yet unchanged.
115 Updated the Value revision action item.
117 2001-12-10 Bill Haneman <bill.haneman@sun.com>
119 * test/test-simple.c:
120 Added test_table (GtkTreeView widget in test window to follow).
121 Un-commented test_value, added GtkRange widget.
122 Added GtkTreeView widget with GtkListStore. It passes regression
123 test but leaks one SPI object for some reason.
126 Fixed bug in impl__set_currentValue.
128 2001-12-10 Michael Meeks <michael@ximian.com>
130 * cspi/spi_text.c: audit for exception handling,
131 tolerating NULL object references safely etc.
133 * cspi/spi_value.c: ditto.
135 * cspi/spi_table.c (AccessibleTable_getSummary),
136 (AccessibleTable_getAccessibleAt),
137 (AccessibleTable_getRowHeader),
138 (AccessibleTable_getColumnHeader),
139 (AccessibleTable_getCaption): fix bugs hidden by
141 (long_seq_to_array): impl.
142 (AccessibleTable_getSelectedRows),
143 (AccessibleTable_getSelectedColumns): use it.
145 2001-12-10 Bill Haneman <bill.haneman@sun.com>
148 Added a TODO list (rough and short for now).
150 * cspi/spi_hyperlink.c:
151 * cspi/spi_hypertext.c:
152 Fixed macro name typos, and remove use of obsolete macro in
153 AccessibleHyperlink_getLink.
156 * cspi/spi_accessible.c:
157 * cspi/spi_application.c:
158 * cspi/spi_component.c:
159 * cspi/spi_selection.c:
162 Documentation fixes (removed return values from ref/unref methods).
164 2001-12-10 Michael Meeks <michael@ximian.com>
166 * cspi/spi_action.c: audit for exception handling,
167 tolerating NULL object references safely etc.
169 * cspi/spi_accessible.c: ditto.
171 * cspi/spi_component.c: ditto.
173 * cspi/spi_editabletext.c: ditto.
175 * cspi/spi_hyperlink.c: ditto.
177 * cspi/spi_hypertext.c: ditto.
179 * cspi/spi_image.c: ditto.
181 * cspi/spi_selection.c: ditto.
183 2001-12-10 Michael Meeks <michael@ximian.com>
185 * configure.in: use cspi/libspi.pc.in instead.
187 * Makefile.am (pkgconfig_DATA): upd. to match.
189 * test/simple-at.c (report_focus_event): kill hacks around
190 bad return values, use putenv not setenv
192 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
193 fire ChildGone - I killed it.
196 (impl_accessibility_component_get_extents): remove
199 * idl/Accessible.idl: kill ChildGone exception.
201 * cspi/*.[ch]: kill int return from ref / unref.
203 * cspi/spi_main.c (cspi_object_add_check): fold into
204 (cspi_object_add): here.
206 * cspi/spi_component.c (AccessibleComponent_getExtents):
207 handle exceptions elegantly.
209 * cspi/spi-private.h (cspi_check_ev_return),
210 (cspi_return_if_fail): impl.
212 * cspi/spi_accessible.c: use extensively.
213 (AccessibleStateSet_equals): add direct compare check.
215 * cspi/spi_selection.c: tolerate NULL objs, and check
216 exceptions before return.
218 * cspi/spi-util.c (cspi_warn_ev): rename to
219 (cspi_check_ev): this & don't pass ev in; no point.
221 2001-12-10 Michael Meeks <michael@ximian.com>
223 * test/test-simple.c: use putenv not setenv
224 (get_environment_vars): more chatty if you're not using
227 * test/simple-at.c: do the setenv so more people see the
230 2001-12-10 Bill Haneman <bill.haneman@sun.com>
233 Changed check of CORBA_environment on notification to be a warning
234 instead of an error for the moment, since we can recover from this
235 error when caused by a queued notification from a dead app.
238 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
239 used by all current implementors of AtkValue), and coerce to
240 CORBA_float. (Proper general case fix may require change to Value.idl).
242 2001-12-09 Bill Haneman <bill.haneman@sun.com>
246 * cspi/spi_accessible.c:
247 Documentation fixes: added user_data params to documentation for
248 listeners and callbacks.
250 * cspi/spi_accessible.c:
251 Changed AccessibleStateSet_compare to return a
252 StateSet rather than return the difference set into a third parameter.
255 2001-12-09 Bill Haneman <bill.haneman@sun.com>
258 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
259 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
263 Remove subdirectory po from SUBDIRS for now.
265 * at-bridge/bridge.c:
266 Beefed up a couple of debug printouts.
267 One-line fix for signal notification name formatting.
269 * libspi/accessible.c:
270 Added assertion to spi_accessible_new ().
272 * libspi/application.c:
273 Put #ifdef qualifiers around a printf.
276 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
278 * registryd/Makefile.am:
280 Replaces use of XML_I18N_MERGE_SERVER_RULE with
281 INTLTOOL_SERVER_RULE macro.
284 Added an event listener for several ATK signals, for
285 testing and debugging. Removed a few g_warnings.
286 Added test output if focussed item implements the Value interface.
288 * test/test-simple.c:
289 Added test_value () function (known not to pass at the moment, so
290 not actually called yet.
292 2001-12-08 Michael Meeks <michael@ximian.com>
294 * at-bridge/bridge.c (bridge_focus_tracker),
295 (emit_eventv): fix the same ref. leak.
296 (register_atk_event_listeners): don't leak.
298 * cspi/spi-listener-impl.c (cspi_event): more
299 protection from client code.
301 * test/test-simple.c (test_desktop): unref the app.
303 * test/Makefile.am: upd. TESTS.
305 * at-bridge/bridge.c (bridge_exit_func): release the registry.
307 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
309 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
311 * cspi/spi_registry.c: constify in strings.
312 (deregisterGlobalEventListenerAll): don't release the ref.
314 * cspi/spi.h: start removing redundant / conflicting
315 gtkdoc comments, making the API readable at a glance :-)
317 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
319 * test/keysynth-demo.c (keysynth_exit, main): upd.
321 * test/simple-at.c (main, simple_at_exit): upd.
323 * test/test-simple.c (unutterable_horror): kill.
324 (utterable_normal_derefs): kill.
325 (main): upd & do a setenv before gtk_init, so that we
326 can use memprof - and to save the pain of remembering
327 this, if we're running under memprof - don't exit.
329 * cspi/spi_main.c (SPI_exit): return exit status
331 (SPI_event_quit): impl.
332 (SPI_event_main): simplify.
333 (cspi_is_gnome_app): kill.
334 (SPI_init): kill isGNOMEapp arg.
336 * at-bridge/bridge.c (register_atk_event_listeners):
337 re-instate the unref.
338 (bridge_exit_func): don't re-activate the registry,
339 protect vs. theoretical re-entry, use the
340 AT_BRIDGE_SHUTDOWN env. var to determine whether to
341 assert a clean shutdown - for regression tests.
343 2001-12-08 Abel Cheung <maddog@linux.org.hk>
345 * configure.in: Comment out dummy i18n support for now,
346 otherwise it fails to build.
347 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
348 EXTRA_DIST. They are missing in tarball.
350 2001-12-07 Michael Meeks <michael@ximian.com>
352 * util/magnifier.c: kill bonobo activation reg. race.
355 (impl_accessibility_component_get_extents): make it match
358 * libspi/registry.c (_registry_notify_listeners):
359 re-remove X headers & reconcile conflicts.
360 (spi_listener_struct_free): bad conflict resolve.
361 (impl_accessibility_registry_register_application):
362 more bad merging fixed.
363 (impl_accessibility_registry_deregister_application): ditto.
364 (spi_registry_new): ditto.
365 (spi_registry_init): don't have an applications field.
367 [ merge fixups2 branch to here ]
368 2001-12-07 Michael Meeks <michael@ximian.com>
370 * test/simple-at.c (report_focus_event),
371 (report_focussed_accessible): remove g_warning debug.
373 2001-12-07 Michael Meeks <michael@ximian.com>
375 * test/test-simple.c (validate_tree): comment out some checks.
376 (test_desktop): app now not registered idly - horay.
378 2001-12-07 Michael Meeks <michael@ximian.com>
380 * cspi/spi_registry.c
381 (registerAccessibleKeystrokeListener): clean, stop it leaking
382 great swathes of memory, and device event controller references.
383 ensure we always pass valid sequences.
384 (deregisterAccessibleKeystrokeListener): ditto.
385 (generateKeyEvent): upd.
387 * at-bridge/bridge.c (bridge_key_listener): handle
388 registry dead exception gracefully.
389 (bridge_focus_tracker, emit_eventv): free ev.
391 * test/simple-at.c (report_focus_event): fix polarity.
393 * libspi/application.c (notify_listeners): kill the ev
394 argument, and make sure we init the ev we use.
395 (spi_application_object_event_listener): split out a chunk
396 (get_atk_object_ref): here & fixup.
397 (reverse_lookup_name_for_toolkit_event): make const.
398 (spi_application_toolkit_event_listener): fixup, kill leaks
401 * at-bridge/bridge.c (register_atk_event_listeners):
402 don't unref the noop object - causes grief.
404 * libspi/registry.c: remove the X headers.
405 turn off the debug churn.
407 * libspi/accessible.c (spi_accessible_new_return): only
408 release the ref if we are supposed to [doh]
410 * test/simple-at.c (report_button_press, report_focus_event):
411 guard vs. unexpected exit.
413 * at-bridge/bridge.c (gtk_module_init): prune printf.
414 (bridge_exit_func): fix app unref.
416 * libspi/Makefile.am: don't install registry or desktop.h
418 * libspi/*.h: update includes.
420 * libspi/application.h: don't include ourself, or
421 other redundant headers.
423 2001-12-06 Michael Meeks <michael@ximian.com>
425 * libspi/accessible.c
426 (get_accessible_from_servant): impl.
427 Upd. all CORBA impl.s to use it killing cut and paste.
429 * cspi/spi_main.c (cspi_cleanup): guard vs. double
431 (SPI_init): register atexit cleanup handler here.
433 2001-12-06 Michael Meeks <michael@ximian.com>
435 * at-bridge/bridge.c (gtk_module_init): g_error on
438 2001-12-06 Michael Meeks <michael@ximian.com>
440 * at-bridge/bridge.c (gtk_module_init): some sort of
441 confusing merge clash - reverted.
442 (bridge_idle_init): ditto.
444 * test/test-simple.c (main, utterable_normal_derefs):
445 merge from Bill - somehow not committed.
447 2001-12-06 Michael Meeks <michael@ximian.com>
449 * libspi/value.c (spi_value_class_init): upd.
450 (spi_value_finalize): kill.
452 * libspi/table.c (spi_table_finalize): kill.
453 (spi_table_interface_new): upd.
454 (spi_table_class_init): upd.
455 (get_table_from_servant): impl.
456 Upd. all CORBA impl.s to use it killing yet more cut and paste.
458 * libspi/selection.c (spi_selection_finalize): kill.
459 (spi_selection_interface_new): upd.
460 (spi_selection_class_init): upd.
461 (get_selection_from_servant): impl.
462 Upd. all CORBA impl.s to use it killing yet more cut and paste.
464 * libspi/relation.c (spi_relation_finalize): kill.
465 (spi_relation_class_init, spi_relation_new): upd
467 * libspi/image.c (spi_image_finalize): kill.
468 (spi_image_class_init): upd.
469 (spi_image_interface_new): upd.
470 (get_image_from_servant): impl.
471 Upd. all CORBA impl.s to use it killing yet more cut and paste.
473 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
474 (spi_hyperlink_finalize): kill.
475 (spi_hyperlink_new): upd.
476 (get_hyperlink_from_servant): impl.
477 Upd. all CORBA impl.s to use it killing yet more cut and paste.
479 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
480 (spi_hypertext_finalize): kill.
481 (spi_hypertext_class_init): upd.
482 (get_hypertext_from_servant): impl.
483 Upd. all CORBA impl.s to use it killing yet more cut and paste.
485 * libspi/editabletext.c (spi_editable_text_finalize): kill.
486 (spi_editable_text_interface_new): upd.
487 (get_editable_text_from_servant): impl.
488 Upd. all CORBA impl.s to use it killing yet more cut and paste.
490 * libspi/text.c (get_text_from_servant): impl.
491 All impls - update to use it killing more cut and paste,
492 also fix bad string returns on duff args ( a somewhat
493 impossible case to handle - but hey ).
494 (spi_text_construct): impl.
495 (spi_text_interface_new): upd.
496 (spi_text_object_finalize): kill.
499 (accessibility_component_object_finalize): kill.
500 (spi_component_class_init): upd.
501 (get_component_from_servant): impl. helper to kill cut & paste.
502 (impl_accessibility_component_contains):
503 (impl_accessibility_component_get_accessible_at_point):
504 (impl_accessibility_component_get_position):
505 (impl_accessibility_component_get_extents):
506 (impl_accessibility_component_get_mdi_z_order):
507 (impl_accessibility_component_get_layer):
508 (spi_component_interface_new): upd.
510 * libspi/action.c (spi_action_finalize): kill.
511 (spi_action_class_init): upd. inherit from SpiObject.
512 (spi_action_interface_new): upd.
513 (get_action_from_servant): impl. helper to reduce cut & paste.
514 (impl_getKeyBinding, impl_getName, impl_doAction),
515 (impl_getDescription): Use it everywhere.
517 * cspi/spi_main.c (get_live_refs): a pointer hash.
518 (spi_object_hash, spi_object_equal): comment out.
519 There are issues with CORBA object hashing that need
522 * libspi/application.c (spi_application_init),
523 (spi_application_new): upd.
525 * libspi/accessible.c (spi_accessible_object_finalize): kill.
526 (spi_accessible_class_init): upd.
527 s/accessible/object/ in epv methods.
529 2001-12-05 Bill Haneman <bill.haneman@sun.com>
531 * at-bridge/bridge.c:
532 Reorder the bridge initialization into the bridge gtk_module_init,
533 an immediate call to bridge_register_app, and an idle_add for
534 register_atk_event_listeners (the only code that *must* wait until
535 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
536 the activation, creates the application's Accessible object, and
537 queues the bridge_idle_init function. Restored call to
538 Accessibility_Registry_deregisterApplication().
539 Prior to making this call we obtain a new reference to the
540 registry, which is a temporary hack that helps us handle apps that
541 shut down the bonobo mainloop before we get there.
544 Fix string leakage in debug block, and don't segv if a an app
545 dies before its event notifications have been propagated.
548 Modify cspi_check_ev() to call g_warning() rather than g_error(),
549 as stopgap measure until we get proper exception handling when
550 objects die during or before interrogation.
554 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
555 Also changed default value of is_gnome_app to TRUE.
558 * test/keysynth-demo.c:
559 Changed use of SPI_init and SPI_event_main to reflect API change above.
562 Made report_focus_event check the warning value from getName
563 before reporting on focussed accessible; simplifies handling of
564 notifications from dead objects.
566 * test/test-simple.c: (Changes not in this patch since source is
569 2001-12-05 Michael Meeks <michael@ximian.com>
571 * registryd/registryd.c (main): protect against
572 bonobo-activation startup race condition.
574 * cspi/spi_main.c (cspi_object_add_check): cope
575 with the exception elegantly.
577 * idl/Accessible.idl: decl. ChildGone
579 * libspi/desktop.c (spi_desktop_dispose): impl.
580 (spi_desktop_class_init): upd.
581 (spi_desktop_add_application),
582 (spi_desktop_remove_application),
583 (abnormal_application_termination): impl.
584 (impl_desktop_get_child_at_index): re-impl.
587 (impl_accessibility_registry_deregister_application),
588 (impl_accessibility_registry_register_application):
589 kill excessive debug clutter.
591 * test/test-simple.c (test_misc): test some NULL
592 tolerance. (main): upd.
594 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
595 implements no interfaces - so let's not crash.
597 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
599 * libspi/accessible.c (spi_accessible_new_return): impl.
600 helper to calm the cut and paste, to cope with
601 NULL AtkObjects effectively and efficiently, and to kill
602 the referencing bugs.
604 * libspi/table.c (impl_getAccessibleAt),
605 (impl_getRowHeader, impl_getColumnHeader): upd.
607 * libspi/hyperlink.c (impl_getObject): upd.
609 * libspi/accessible.c
610 (impl_accessibility_accessible_get_child_at_index): upd.
613 (impl_accessibility_component_get_accessible_at_point): upd.
615 * test/test-simple.c (test_editable_text, test_text): impl.
618 * cspi/spi_editabletext.c
619 (AccessibleEditableText_insertText): constify.
621 * test/test-simple.c (focus_me): make more robust.
623 * libspi/accessible.c: remove some printfs in methods that
624 we test and work fine, so we can get a clean tree dump.
626 * test/test-simple.c (validate_accessible),
627 (validate_tree): make tree dumping pretty too.
629 * at-bridge/bridge.c (bridge_signal_listener): upd. so
630 it builds without debug on.
632 * test/test-simple.c (validate_accessible): fix the most
635 * cspi/spi_main.c (spi_object_release): leave the nicely
636 blanked memory around if in debug mode.
638 * cspi/spi-listener-impl.c (cspi_event): use add_check.
640 [committed to fixups2]
641 2001-12-05 Michael Meeks <michael@ximian.com>
643 * libspi/editabletext.c
644 (spi_editable_text_class_init): g_type_class_peek_parent,
645 not interface peek - so we finalize cleanly.
647 * libspi/accessible.c (spi_accessible_new): kill debug.
649 * test/test-simple.c (validate_accessible): fix ref.
650 leak, print strings before freeing them; sigh, comment a
651 chunk out due to strangeness.
652 (validate_tree): unref the child after use.
654 * cspi/spi_component.c (AccessibleComponent_getLayer):
655 add missing break statement, switch on zlayer not the
656 uninitialized retval.
658 * cspi/spi_main.c (cspi_object_add): add assert, local ref
659 before (possibly re-entering) remote unref.
661 * test/simple-at.c (main): unref the desktop.
663 * cspi/spi_accessible.c (cspi_accessible_is_a): move
666 * cspi/spi_main.c (cspi_accessible_is_a): here to
667 isolate bonobo API usage more.
669 * libspi/registry.c (impl_accessibility_registry_register_application):
672 2001-12-04 Michael Meeks <michael@ximian.com>
674 * test/test-simple.c (validate_tree): upd.
675 IndexInParent check to make it more lucid.
676 (validate_accessible): dump the tree.
678 * libspi/accessible.c (de_register_public_ref),
679 (get_public_refs): impl.
680 (spi_accessible_new): make more efficient & intuitive.
681 Now IndexInParent check works.
683 2001-12-04 Michael Meeks <michael@ximian.com>
685 * cspi/spi-util.h: remove.
687 * cspi/spi.h: move SPI_freeString here
689 * libspi/component.c (impl_accessibility_component_get_layer):
691 (impl_accessibility_component_get_mdi_z_order): ditto,
692 return -1 on error - is this ok ?
694 * test/test-simple.c (test_application): impl.
696 * cspi/spi_accessible.c (Accessible_getApplication),
697 (Accessible_isApplication): impl.
699 * libspi/registry.c (spi_listener_struct_free): release
700 the CORBA reference too.
702 * libspi/accessible.c
703 (impl_accessibility_accessible_get_parent): fix ref leak.
705 * libspi/registry.c (spi_registry_new): make the registry
706 immortal - we don't want it to go away ever.
708 * libspi/application.c
709 (spi_accessible_application_finalize): impl. cleanup.
711 * cspi/spi_registry.c
712 (deregisterGlobalEventListenerAll),
713 (deregisterGlobalEventListener),
714 (deregisterAccessibleKeystrokeListener): fix ref leak.
716 * cspi/spi_main.c (SPI_init): remove redundant ref.
718 * test/test-simple.c (unutterable_horror): impl. to force a
723 (impl_accessibility_registry_deregister_application): release
724 the application when we de-register it.
726 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
727 until we have the infastructure to get it right.
729 2001-12-03 Michael Meeks <michael@ximian.com>
731 * libspi/Makefile.am: only build eventlistener.[ch]
733 * libspi/accessible.c
734 (impl_accessibility_accessible_get_child_at_index): don't leak.
736 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
737 before we hit the idle handler.
739 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
742 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
744 * libspi/listener.c (impl_notify_event): check source
745 not NIL before unref.
747 * libspi/registry.c (impl_registry_notify_event): ditto.
749 * libspi/eventlistener.c
750 (impl_accessible_event_notify_event): unref the source.
752 * libspi/accessibleeventlistener.c
753 (impl_accessible_event_notify_event): unref the source.
755 * idl/Event.idl: remove 'hash_id' attribute - of no
758 * libspi/application.c (notify_listeners): upd list
760 (spi_application_object_event_listener),
761 (spi_application_toolkit_event_listener): upd to do correct
765 (_registry_notify_listeners): update.
766 (parse_event_type): this method also leaks like a sieve.
767 (impl_accessibility_registry_deregister_global_event_listener):
768 fix ETYPE_WINDOW case.
770 * libspi/application.c
771 (impl_accessibility_application_register_object_event_listener):
774 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
776 * libspi/hypertext.c (impl_getLink): ditto.
778 * cspi/spi_main.c (cspi_object_add): remove
779 bogus CORBA_Object_duplicate.
781 * cspi/spi-listener-impl.c (cspi_event): dup/ref
784 * cspi/spi_accessible.c
785 (Accessible_getRelationSet): fix leak / referencing issue.
787 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
788 (cspi_object_add, cspi_object_unref): upd.
789 (spi_object_release, get_live_refs): impl.
790 (cspi_cleanup): simplify.
792 * *.[ch]: s/boolean/SpiBoolean/
794 * cspi/spi_accessible.c (role_names): actualy order so it
795 corresponds with the enum !
797 * test/test-simple.c (test_roles): check some role strings
798 vs. enums to detect offset errors.
800 2001-12-01 Michael Meeks <michael@ximian.com>
802 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
804 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
806 (Accessible_getChildAtIndex): use cspi_add_check so we
807 check the ev before using a (possibly) invalid value.
809 * libspi/accessible.c
810 (impl_accessibility_accessible_get_parent): don't segv
813 * at-bridge/bridge.c (gtk_module_init): upd.
814 (bridge_property_event_listener): don't leak strings
816 (bridge_state_event_listener),
817 (bridge_property_event_listener): don't use a static
818 buffer in case of recursive event emission &
819 re-enterancy - split out the swathe of cut and paste
821 (emit_eventv): and fix 2 ref leaks here & comply to the
823 (bridge_register_app): rename to
824 (bridge_idle_init): this and kill arg parsing, split
825 various inits & bonobo-activation registration to module
826 init time, kill referencing error.
827 (bridge_exit_func): fix the same leak.
828 (bridge_focus_tracker): don't leak event structures
830 (bridge_signal_listener): more leakage and cut & paste
832 (bridge_key_listener): return the result - FIXME is
833 this polarity correct ?
834 (accessibility_keystroke_from_atk_key_event): rename
835 (accessibility_init_keystroke_from_atk_key_event): and stop
837 (gtk_module_init): return a value - not that it is checked by
839 (bridge_key_listener): register my horror at casting between
841 (bridge_get_registry): kill - not used.
843 * cspi/spi_accessible.c (Accessible_getRole): make return const.
845 * test/test-simple.c (test_roles): impl.
846 (test_desktop, validate_accessible, validate_tree): impl.
848 * cspi/spi_accessible.c (role_names): fixup bogus
849 MAX_ROLES setup, make constants const for efficient linkage
850 (AccessibleRole_getName): conform to coding style, make
853 2001-11-30 Michael Meeks <michael@ximian.com>
855 * cspi/spi.h: add missing prototype.
857 * libspi/registry.c (spi_listener_struct_new): fix sig.
859 * test/Makefile.am: add test-simple
861 * test/test-simple.c: add
865 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
867 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
868 do it straight - since otherwise we often get an activation race.
870 [ work before Bill duplicated a chunk of it ... ]
871 2001-11-30 Michael Meeks <michael@ximian.com>
873 * libspi/keystrokelistener.c
874 (spi_keystroke_listener_class_init): fixup arg
877 * libspi/eventlistener.c
878 (spi_event_listener_class_init): ditto.
880 * tests/test.sh: add.
882 * cspi/spi-listener-impl.h: update macros.
884 * cspi/spi-listener-impl.c
885 (cspi_event_listener_remove_callback): add
886 correct pre-conditions.
888 * cspi/spi_main.c (SPI_exit): guard vs. double
889 exits, exit the mainloop nicely.
890 (SPI_event_main): make more sense.
891 (SPI_init): move the atexit evilness here so we
893 (SPI_event_main): upd.
895 * test/simple-at.c: update for listener changes.
897 * registryd/registryd.c (main): prune kruft.
899 * libspi/libspi.h: upd.
901 * libspi/eventlistener.[ch]: rename broken macros.
903 * libspi/accessibleeventlistener.[ch]: remove.
905 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
907 * test/test-simple.c: Add - automated tests.
909 * cspi/spi-listener-impl.c (cspi_event),
910 (cspi_key_event): add user_data to invoke.
911 (cspi_keystroke_listener_finalize): impl.
912 (cspi_keystroke_listener_class_init): upd.
915 (createAccessibleEventListener),
916 (AccessibleEventListener_addCallback),
917 (createAccessibleKeystrokeListener),
918 (AccessibleKeystrokeListener_addCallback): upd.
920 * libspi/deviceeventcontroller.c
921 (spi_device_event_controller_check_key_event): add public proto.
924 (impl_accessibility_registry_deregister_global_event_listener):
925 always init listeners.
926 (_registry_notify_listeners): yes it is.
928 * cspi/spi-listener-impl.c (cspi_key_event):
930 (cspi_event_listener_finalize): impl.
931 (cspi_event_listener_class_init): hook up.
932 (event_handler_new, event_handler_free),
933 (event_list_remove_by_callback): impl.
934 (cspi_event_listener_remove_callback),
935 (cspi_keystroke_listener_remove_callback),
936 (cspi_keystroke_listener_add_callback),
937 (cspi_event_listener_add_callback): upd.
939 * libspi/keystrokelistener.c
940 (keystroke_listener_object_finalize): kill
941 (spi_keystroke_listener_class_init): upd.
942 (spi_keystroke_listener_add_callback),
943 (spi_keystroke_listener_remove_callback): kill,
945 (impl_key_event): prune drasticaly.
947 * libspi/eventlistener.c
948 (spi_event_listener_add_callback),
949 (spi_event_listener_remove_callback): kill, use
951 (impl_accessible_event_notify_event): upd.
952 (spi_event_listener_object_finalize): remove.
954 * libspi/Makefile.am: use eventlistener.[ch]
956 2001-12-04 Bill Haneman <bill.haneman@sun.com>
958 * libspi/registry.c (_registry_notify_listeners):
959 Changed listener loop iteration to use preferred convention.
960 Got rid of string memory leaks caused be calling g_strconcat
961 inside function calls.
963 * libspi/registry.c (parse_event_type):
964 Stopped g_strconcat memory leaks, free the g_strsplit return,
965 g_strdup the split pieces when used, etc.
967 2001-12-04 Bill Haneman <bill.haneman@sun.com>
970 Change method 'compare' to return a 'difference set' rather than
971 taking a StateSet as an out parameter (more Java-friendly).
973 * idl/Accessible.idl:
974 Added CORBA struct 'BoundingBox', to faciliate API changes below:
978 Changed methods 'getExtents' and 'getImageExtents' in these
979 interfaces to return a BoundingBox structure.
980 (getPosition and getSize are redundant and possibly should be
981 removed, rather than creating a corresponding Point struct.)
983 * cspi/spi_component.c:
984 Modify implementation of getExtents to reflect the above IDL
989 Add (missing) AccessibleImage_getExtents () API.
991 * docs/reference/cspi/at-spi-cspi-sections.txt:
992 Added AccessibleImage_getImageExtents () to docs.
994 2001-12-03 Bill Haneman <bill.haneman@sun.com>
997 Added two methods, getLayer () and getMDIZOrder (), to reflect
998 the new ATK methods atk_object_get_layer and
999 atk_object_get_mdi_z_order. (Which arguably should be part of the
1000 AtkComponent API and AtkObject). Also added an enum,
1001 ComponentLayer, for the first method's return value.
1003 * libspi/component.c:
1004 Added implementations for these methods.
1006 * cspi/spi_component.c:
1008 Added cspi binding methods for above,
1009 AccessibleComponent_getLayer() and
1010 AccessibleComponent_getMDIZOrder().
1011 Added cspi enum 'AccessibleComponentLayer'.
1013 * docs/reference/cspi/at-spi-cspi-sections.txt:
1014 Added above methods to docs.
1018 Changed typedef for 'boolean' type (and all references to it) to
1019 SPIBoolean, to avoid keyword clashes with C++.
1022 Changed usages of 'boolean' to SPIBoolean.
1024 * test/keysynth-demo.c:
1025 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1026 app), except where SPIBoolean is required by the callbacks API.
1028 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1030 * cspi/spi_registry.c:
1031 Removed obsolete X event loop for passive keygrabs (which now
1034 * registryd/registryd.c:
1035 Removed unnecessary call to gdk_init() [cruft]. This also allows
1036 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1039 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1041 * docs/reference/cspi:
1042 Included docs for SPI_freeString in generated documentation.
1045 Renamed spi_freeString to SPI_freeString, for consistency. Added
1046 documentation for this function.
1049 Renamed spi_freeString to SPI_freeString, for consistency.
1050 Removed obsolete method declaration string_from_corba_string.
1052 * test/keysynth-demo.c:
1053 Small tweak to comments.
1056 Stopped leaking the strings returned from CSPI.
1058 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1060 Merged Michael's branch (see his ChangeLog entries below).
1062 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1063 bridge is alive, release on exit.
1065 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1066 Fix type check macro.
1069 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1072 Added is_gnome_app static, and method cspi_is_gnome_app(),
1073 so we can call the appropriate shutdown routine at exit in SPI_exit.
1075 * cspi/spi_main.c (cspi_object_ref):
1076 Duplicate the corba object passed in, since we're keeping it around.
1078 * cspi/SPI_exit.c, cspi_cleanup:
1079 Moved the releasing of the live refs to its own function, so we
1080 can put it in g_atexit (). Call the appropriate shutdown API
1081 depending on whethe calling client is a gnome app or not
1082 (bonobo_main_quit or CORBA_ORB_shutdown).
1084 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1085 Unref the listener when this method is called, after
1086 deregistration. Updated the API docs to note this behavior.
1088 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1089 Bugfixes: Ref the bonobo object when returning a parent or child
1090 reference, or an AccessibleRelation. Generally made sure
1091 BonoboObject refcount is incremented whenever we return an
1094 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1095 Fixed typo/bug in signal declaration.
1097 * libspi/accessibleeventlistener.h:
1100 * libspi/application.c (spi_application_new):
1101 Fixed leak in initialization.
1104 Remembered to increment bonobo-object refcount when returning
1105 children (applications) from desktop object.
1106 Added (empty) finalize method.
1108 * libspi/deviceeventcontroller.c:
1109 Hold a ref to listeners inside DEControllerKeyListeners.
1110 Added dec_key_listener_free() method. Use prepend instead of
1111 append in key_listener list. Fixed some refcount madness and
1112 leaks in the listener registration/deregistration - deregistration
1113 now calls dec_key_listener_free() on listeners, and on the
1114 temporarily constructed dec_key_listener() used to perform the search/match.
1116 * libspi/hypertext.c (spi_hypertest_finalize):
1117 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1118 class. Also fixed spi_hypertext_interface_new() and
1119 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1121 * libspi/hypertext.h:
1122 Removed pointless and duplicate AtkObject pointer from
1125 * libspi/keystrokelistener.c:
1126 Fixed incorrect type of keystroke_listener_parent_class,
1127 renamed keystroke_listener_object_finalize to
1128 spi_keystroke_listener_object_finalize.
1129 Fixed typo in signal declaration
1130 (spi_keystroke_listener_class_init).
1132 * libspi/registry.c:
1133 Added funcsions spi_listener_struct_new() and
1134 spi_listener_struct_free() to help with memory management issues.
1135 We also now use these methods instead of gnew + poking stuff into
1136 the struct, and to decrement listener counts/free the listeners
1137 when deregistering them.
1138 Fix more refcount bugs in getDesktop() and
1139 getDeviceEventController().
1142 De-ref the desktop after enumerating the applications. Explicitly
1143 decrement the refcounts on the created listeners on exit (using
1144 _unref for keystroke listeners, and via the
1145 deregisterGlobalEventListenerAll command for other event
1148 2001-11-27 Michael Meeks <michael@ximian.com>
1150 * cspi/spi-listener.h: fixup enum.
1152 2001-11-27 Michael Meeks <michael@ximian.com>
1154 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1155 (cspi_keystroke_listener_new): Use the cspi variants.
1157 2001-11-26 Michael Meeks <michael@ximian.com>
1159 * test/keysynth-demo.c: fix 2 compile warnings, missing
1162 * test/simple-at.c (report_focussed_accessible),
1163 (report_focus_event, report_button_press),
1164 (check_property_change, is_command_key),
1165 (report_ordinary_key_event, report_command_key_event): upd.
1167 * util/mag_client.h: include pre-requisites.
1169 * libspi/accessibleeventlistener.c
1170 (spi_event_listener_object_finalize): free any lingering
1173 * libspi/keystrokelistener.c
1174 (keystroke_listener_object_finalize): ditto.
1176 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1177 callbacks, with cspi types.
1179 * cspi/spi_event.c (createAccessibleEventListener): chain to
1180 (AccessibleEventListener_addCallback): here.
1181 (createAccessibleKeystrokeListener): chain to
1182 (AccessibleKeystrokeListener_addCallback): here.
1184 * libspi/keystrokelistener.c
1185 (spi_keystroke_listener_class_init): add signal.
1186 (impl_key_event): emit the event.
1187 (boolean_handled_accumulator): impl.
1188 (marshal_BOOLEAN__POINTER): add, gack.
1190 * libspi/accessibleeventlistener.c
1191 (spi_event_listener_class_init): add signal.
1192 (impl_accessible_event_notify_event): emit the signal &
1193 make the loop efficient.
1194 (spi_event_listener_add_callback): prepend the callback.
1196 * libspi/accessibleeventlistener.h: add an 'event' signal,
1197 decl type on callback.
1199 * libspi/keystrokelistener.h: ditto.
1201 * cspi/spi-listener.h: make methods typesafe and
1202 make them use the new event typedefs.
1204 * test/simple-at.c (report_focussed_accessible):
1205 include mag_client.h
1206 Use *(void *)text_interface not the other thing.
1208 * configure.in: add gtk to registryd bits - since we use
1211 * util/magnifier.c: include libbonobo.h
1213 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1215 * test/keysynth-demo.c:
1216 Turned this into a simple scanning keyboard, to demonstrate the
1217 use of g_timeout_add () as a means of creating timers for
1218 scanning, and the use of GtkStyle for visually indicating when
1219 virtual keyboard elements are selected.
1221 keysynth-demo now listens to any keyboard keys with zero-valued
1222 keycodes (i.e. 'unused' keys) and interprets them as
1225 Reworked the shiftlatch code so that shift-down state isn't held
1226 for long periods (it's only synthesized immediately prior to
1227 the keysynth event it's modifying). Note that shiftlatch in this
1228 demo is a convenience, not intended to take the place of AccessX
1229 which is the better choice for getting 'sticky' modifier keys.
1231 * libspi/deviceeventcontroller.c:
1232 * at-bridge/bridge.c:
1233 * cspi/spi_registry.c:
1234 Removed some debug print stuff, and put other verbosity in #ifdef
1239 Implemented some more of the magnifier IDL for the simple
1240 magnifier: namely, getZoomRegionParams.
1241 Added mag_x and mag_y members to MagnifierData struct, aid of this
1243 Added GtkWindow::realize signal handler to magnifier, to keep it
1244 from receiving keyboard focus from the WM.
1246 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1248 * cspi/spi-private.h: my guess at what michael forgot
1249 before he ran off to NZ :-)
1251 2001-11-23 Michael Meeks <michael@ximian.com>
1253 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1254 comment out non existant method invoke so we link.
1256 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1257 use bonobo_exception_get_text for more friendly warnings.
1259 * cspi/spi.c (Obj_Add): move into spi_main & rename
1260 spi_object_add; kill spi.c
1262 * cspi/spi_registry.c
1263 (deregisterGlobalEventListener),
1264 (deregisterGlobalEventListenerAll),
1265 (registerGlobalEventListener): fix exception leaks.
1267 * cspi/spi_main.c (spi_exception): impl. helper, so we
1268 don't leak exceptions.
1270 * cspi/spi_selection.c
1271 (AccessibleSelection_deselectSelectedChild): return the
1274 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1275 (spi_registry): ditto.
1276 (SPI_init): guard against double inits.
1278 * cspi/*.c: use spi_ev (), and spi_registry () where
1279 appropriate - a temporary hack until we have something
1280 better. Use spi_object_add
1282 2001-11-22 Michael Meeks <michael@ximian.com>
1284 * cspi/Makefile.am: re organise, install the headers.
1286 * cspi/*.h: add G_BEGIN/END_DECLS
1288 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1291 Added non-preemptive keylistener for key events with no modifiers
1292 and shift-only modifier.
1294 * libspi/keystrokelistener.c:
1295 Removed some verbose diagnostics printout.
1297 * cspi/spi_registry.c:
1298 Fixed a bug that caused all key listeners to be registered as
1301 * libspi/deviceeventcontroller.c:
1302 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1303 for non-preemptive key masks.
1306 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1308 * docs/reference/idl/at-spi-idl-docs.sgml:
1309 * docs/reference/idl/at-spi-idl-sections.txt:
1310 * docs/reference/idl/at-spi-idl-overrides.txt:
1311 Added missing files.
1313 * docs/reference/Makefile.am:
1314 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1315 to scan the IDL files :-(
1320 Added .cvsignore files.
1322 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1324 * libspi/deviceeventcontroller.c:
1325 * libspi/keystrokelistener.c:
1327 * cspi/spi_registry.c:
1328 Added filters for KeySets, KeyEventSeq, and event types to key
1329 event dispatching, so listeners should only receive those events
1330 that they requested :-)
1332 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1337 * docs/reference:Makefile.am:
1338 * docs/reference/cspi:
1339 * docs/reference/cspi:Makefile.am:
1340 * docs/reference/cspi:tmpl:
1341 * docs/reference/cspi:tmpl:*.sgml:
1342 * docs/reference/idl:
1343 * docs/reference/idl:Makefile.am:
1344 * docs/reference/idl:at-spi-idl-sections.txt:
1345 * docs/reference/idl:at-spi-idl-docs.sgml:
1346 * docs/reference/idl:tmpl:
1347 * docs/reference/idl:tmpl:*.sgml:
1349 Restructured docs directory to allow separate 'reference' docs
1350 section, and forked idl and cspi docs. Added the sgml template
1351 files to CVS. Added the first sections/structural sgml for the
1354 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1356 * configure.in, libspi/Makefile.am: find libXtst.
1358 2001-11-21 Michael Meeks <michael@ximian.com>
1360 * test/accessx-gui.c: s/spi_value/value/ - doh.
1362 * libspi/base.[ch]: add.
1364 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1366 * idl/Accessible.idl:
1367 * idl/Application.idl:
1370 Started gtk-doc cleanup on IDL.
1372 * libspi/deviceeventcontroller.c:
1373 Added and connected non-preemptive key notification from the
1374 toolkits (in addition to the pre-emptive support from XServer
1375 which we had before, but which causes 'focus flashing'). Filters
1376 are presently limited to key modifiers and global/non-global,
1377 KeySets are presently ignored, as are KeyEvent masks.
1379 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1380 structs into the persistant structure rather than just storing
1381 pointers to things that might not persist across servant
1384 The XGrabKey call now does async keygrabs, because synchronous
1385 ones were deadlocking with GDK_event code in a very nasty way.
1387 Added boolean to internal method notify_keylisteners, to indicate
1388 whether the event came from the 'toolkit source' or the 'global
1389 (XServer) source' - this is used in the notification process to
1390 determine which listeners to send the event to.
1392 deviceeventcontroller.c is now warning-free.
1394 * libspi/registry.c:
1395 Fixed regression in application de-registration.
1396 Also fixed some really brain-dead weirdness having to do with
1397 event dispatching - event structs are now duplicated before being
1398 re-marshalled in the dispatch to listeners. This also fixes a
1399 Solaris build problem.
1402 2001-20-11 Michael Meeks <michael@ximian.com>
1405 (impl_accessibility_registry_deregister_global_event_listener):
1408 * libspi/deviceeventcontroller.c
1409 (spi_device_event_controller_check_key_event): return
1410 FALSE on no virtual method.
1412 * libspi/*..h: make includes work on a correctly pathed install.
1414 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1416 * libspi/application.h: kill unused ( and whacked out )
1417 gboolean *spi_application_set_id (AtkObject *app, long id);
1419 2001-20-11 Michael Meeks <michael@ximian.com>
1421 * libspi/*.[ch]: further convert to bonobo's type func
1422 macros, remove redundnant casts etc.
1424 * libspi/text.c s/accessibility_text/spi_text/g,
1425 re-order to de-cruft.
1427 * libspi/hypertext.c: re-order to kill a huge slew
1428 of redundant forward decls.
1430 * libspi/relation.c: ditto.
1432 * libspi/image.c: ditto.
1434 * */.cvsignore: update
1436 2001-20-11 Michael Meeks <michael@ximian.com>
1438 * libspi/deviceeventcontroller.c
1439 (_controller_register_with_devices): use g_getenv,
1440 kill stdlib.h include.
1442 * libspi/keystrokelistener.c
1443 (spi_keystroke_listener_get_type): kill
1444 (spi_keystroke_listener_class_init),
1445 (spi_keystroke_listener_init): rename to this.
1447 * libspi/text.c (impl_getAttributes): fix warning / bug.
1449 * libspi/*.[ch]: more headers, includes and over commenting.
1451 2001-20-11 Michael Meeks <michael@ximian.com>
1453 * libspi/*.[ch]: fixup headers, includes and over commenting.
1455 * libspi/image.c (impl__get_imageDescription): const
1456 correctness warning fix. remove redundant casting.
1458 * libspi/table.c (impl_getRowDescription): ditto.
1459 (impl_getColumnDescription): ditto.
1461 * libspi/libspi.h: add.
1463 2001-19-11 Michael Meeks <michael@ximian.com>
1465 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1467 * libspi/component.c (accessibility_component_get_type):
1468 rename to (spi_component_get_type): and macroify.
1469 (accessibility_component_init): rename to
1470 (spi_component_init): this
1471 (accessibility_component_class_init): rename to
1472 (spi_component_class_init): this
1474 * libspi/action.c (spi_action_get_type): kill, use the macro.
1476 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1479 * libspi/application.c (spi_application_object_event_listener),
1480 (impl_accessibility_application_register_object_event_listener):
1481 warning fixes / const understanding updates.
1483 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1486 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1488 * libspi/spi_accessible.c: Added docs and C bindings for
1489 AccessibleStateSet. (No implementations yet). Documentation
1490 coverage for C bindings now 100%. Made docs for event listeners
1495 boolean notifyListenersSync (in DeviceEventListener listener,
1496 in DeviceEvent event);
1498 oneway void notifyListenersAsync (in DeviceEventListener listener,
1499 in DeviceEvent event);
1501 Added DeviceEventListener and DeviceEvent structs (may deprecate
1502 KeyStroke and KeystrokeListener in favor of this generic
1503 event/listener framework for devices).
1505 * libspi/deviceeventcontroller.c:
1507 Changed some key listener code to take masks, etc., and paved the
1508 way for integration of toolkit/non-preemptive key events. Changed
1509 signatures of some internal methods.
1511 * at-bridge/bridge.c:
1512 Fixed regression connecting to interface signals, apparently
1513 caused by GTK+ changes.
1515 Added an internal bridge_state_listener to deal with
1516 property-change:accessible-state signals.
1518 Changed the key_listeners GList to store structs (including masks,
1519 etc.) instead of just CORBA_Objects (required for full
1520 implementation of key listener API).
1522 Connected the bridge to all currently supported Atk signals.
1523 Events now supported:
1524 object:property-change
1525 object:property-change:accessible-name
1526 object:property-change:accessible-state
1527 object:property-change:accessible-description
1528 object:property-change:accessible-parent
1529 object:property-change:accessible-value
1530 object:property-change:accessible-role
1531 object:property-change:accessible-table-caption
1532 object:property-change:accessible-table-column-description
1533 object:property-change:accessible-table-column-header
1534 object:property-change:accessible-table-row-description
1535 object:property-change:accessible-table-row-header
1536 object:property-change:accessible-table-summary
1537 object:children-changed
1538 object:visible-data-changed
1539 object:selection-changed
1540 object:text-selection-changed
1542 object:text-caret-moved
1544 object:row-reordered
1546 object:column-inserted
1547 object:column-reordered
1548 object:column-deleted
1549 object:model-changed
1551 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1553 * libspi/hyperlink.c,h:
1554 Fixed some broken stuff in hyperlink.
1556 * libspi/relation.h:
1557 * libspi/relation.c:
1558 * cspi/spi_accessible.c:
1559 Initial implementations of AccessibleRelation methods, and docs.
1561 * libspi/accessible.c:
1562 Fixed a bug that caused SEGV if an accessible
1563 object's description is NULL, and a client
1564 requests it. An empty string is now returned.
1566 * cspi/spi_editabletext.c:
1567 * cspi/spi_hypertext.c:
1569 * cspi/spi_hyperlink.c:
1573 Doc coverage now 95%.
1575 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1577 One last namespacing revision:
1578 * libspi/accessibleeventlistener.[ch]:
1579 Renamed SpiAccessibleEventListener to SpiEventListener,
1580 (no need for two namespaces ;-)
1582 And lots of documentation fixes:
1584 * docs/at-spi-docs.sgml:
1585 Fixed 'underscore vs. hyphen' bug that was preventing
1586 the gtk-doc API docs from being automatically generated.
1589 * cspi/spi-listener.h
1591 * cspi/spi_accessible.c
1593 * cspi/spi_application.c
1594 * cspi/spi_component.c
1595 * cspi/spi_editabletext.c
1597 * cspi/spi_hypertext.c
1599 * cspi/spi_registry.c
1600 * cspi/spi_selection.c
1604 * docs/at-spi-docs.sgml
1605 * docs/at-spi-sections.txt
1607 Added and fixed up gtk-doc documentation in cspi.
1609 Interfaces now (fully) documented (subject to revision and enhancement):
1611 Event Listener Support
1613 AccessibleApplication
1617 AccessibleEditableText
1624 AccessibleRelationSet
1629 2001-14-11 Bill Haneman <bill.haneman@sun.com>
1631 * at-bridge/bridge.c:
1632 Initial work for toolkit-level key snooper connection by bridge.
1637 New typedefs and fixes to support new namespacing, and cleaner
1638 separation of cspi bindings from libspi bonobo implementation.
1639 Removed inconsistent and extraneous Spi* namespace prefix that
1640 had crept into cspi headers.
1641 Lots of comment fixes that sed had missed.
1643 * cspi/spi-roletypes.h:
1644 * cspi/spi-statetypes.h:
1645 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
1646 to AccessibleRoleType.
1648 * libspi/accessibleeventlistener.h:
1649 Fixed minor namespacing weirdness.
1651 * libspi/deviceeventcontroller.c:
1652 Reordered some internal API for device listeners.
1653 Changed the key registry final boolean to 'is_system_global'
1654 rather than 'is_synchronous', which is more descriptive of its
1656 Added spi_device_event_controller_new().
1657 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
1659 * libspi/keystrokelistener.[ch]:
1660 Namespaced KeystrokeListener to SpiKeystrokeListener.
1661 Changed uses of keymasks to use SPI_ prefix, and did other
1664 * libspi/keymasks.h:
1665 Namespaced keymask constants with SPI_ prefix.
1667 * libspi/registry.c:
1668 Some warning fixes, and knock-on fixes from namespace changes.
1671 Added rules for accessx-gui test program.
1673 * test/accessx-gui.c:
1674 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
1675 utility. It doesn't actually use at-spi, but it's still cool and
1678 * test/keysynth-demo.c:
1682 Fixes so that these test clients work properly with the namespaced
1683 libraries. (Incompletely tested for technical reasons, fixes may follow)
1686 2001-13-11 Michael Meeks <michael@ximian.com>
1688 * libspi/application.c
1689 (impl_accessibility_application_get_version),
1690 (impl_accessibility_application_get_toolkit_name):
1692 (impl_accessibility_application_set_id),
1693 (impl_accessibility_application_get_id): remove
1694 redundant casting code.
1696 * libspi/action.c (impl_getDescription): fix warnings.
1698 * libspi/accessible.c
1699 (impl_accessibility_accessible_get_parent),
1700 (impl_accessibility_accessible_get_child_at_index),
1701 (impl_accessibility_accessible_get_state),
1702 (impl_accessibility_accessible_get_relation_set):
1703 warning fixes & include action.h
1705 2001-13-11 Michael Meeks <michael@ximian.com>
1707 * *.[ch] fix bits I screwed up:
1709 s/([^ \tb(\*\&\?\",])spi_/\1/g;
1710 s/([^ \tb(\*\&\?\",])Spi/\1/g;
1712 2001-13-11 Michael Meeks <michael@ximian.com>
1714 * *.[ch] Namespace libspi into spi_ and Spi.
1716 2001-13-11 Michael Meeks <michael@ximian.com>
1718 * Makefile.am: dist & install at-spi-1.0.pc
1720 * libspi/Makefile.am: install into at-spi-1.0
1722 * idl/Makefile.am (idldir): install into at-spi-1.0
1724 * at-spi-1.0.pc.in: add.
1726 * configure.in: build it.
1728 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1730 * test/keysynth-demo.c:
1731 Use a 'realize' signal-handler to set the WM properties for
1732 the virtual keyboard, rather than making it a "POPUP" type
1733 override-redirect window (thanks to anders carlsson for that
1736 2001-11-11 Bill Haneman <bill.haneman@sun.com>
1739 * test/keysynth-demo.c:
1740 Added new test of key synthesis, which creates a simple
1741 (mouse-operated) onscreen keyboard. It inserts key events into
1742 the currently-focused window, thus it does not grab keyboard focus
1745 * cspi/spi_registry.c:
1746 Added C binding for AT-SPI generateKeyEvent.
1748 * libspi/deviceeventcontroller.c:
1749 Added call to XFilterEvent so that key listener works with XIM (we
1750 hope). Added event_synth_type to generateKeyEvent, so that we can
1751 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
1752 synthesize a press/release pair for KeySyms.
1754 2001-11-09 Bill Haneman <bill.haneman@sun.com>
1756 * libspi/Makefile.am:
1757 * registryd/Makefile.am:
1758 (temporary) hack to include libXtst in libspi and registryd.
1759 (Needed for keystroke synthesis, see below).
1762 Improved API for registerKeystrokeListener, in accordance with
1763 discussions with Gnopernicus team and X server research.
1765 * libspi/registry.c:
1766 * libspi/deviceeventcontroller.c:
1767 * libspi/accessible.c:
1768 * libspi/keystrokelistener.c:
1769 Changes and fixes to support keylisteners for potentially
1770 consumed key events (that is, 'passive grabs').
1771 Added implementation for generateKeyEvent() [untested].
1774 Changes to registerKeystrokeListener() API, as above.
1775 Added deregisterGlobalEventListenerAll(), and
1776 deregisterKeystrokeListener(), which are needed for clean exit of
1778 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
1779 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
1781 * cspi/spi_registry.c:
1782 Added implementations of function prototypes mentioned above.
1784 * registryd/registryd.c:
1785 Added the key listener event source as a g_timeout(), to allow
1786 receipt of key events that are not caught by GDK (since GDK
1787 doesn't support passive keygrabs, this was necessary).
1790 Changed to attach a keylistener to 'Alt' keys, and
1791 respond to the following keycommands: Alt-M (toggle magnifier);
1792 Alt-F (toggle speech); Alt-Q (quit).
1793 Added an exit routine to deregister the listeners, and a key
1794 listener that prints some key info to the console when a key
1795 matches the listener mask (and is thus received by the listener).
1797 * util/idl/Magnifier.idl:
1798 Changes to magnifier API to support multiple zoom regions,
1799 non-uniform scaling in x and y, markDirty, and a host of other
1800 features that would be useful to magnification.
1803 * util/mag_client.c:
1804 * util/mag_client.h:
1805 * util/mag_control.c:
1807 Source code changes to support the above IDL changes.
1810 As above, and also changes to use a (slower) generic conversion
1811 path for colormap conversions, since the fast RGB conversions have been
1812 reported to fail for 16-bit displays.
1814 2001-10-26 Michael Meeks <michael@ximian.com>
1816 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
1818 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
1820 * at-bridge/Makefile.am: fix LDFLAGS.
1822 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1824 * at-bridge/bridge.c:
1825 Re-worked listeners for toolkit events, now we have signal
1826 and property listeners. Added a private method
1827 register_atk_event_listeners(), which registers with the
1828 various atk and gtk signals we need to monitor in order to emit
1830 Added emission hook for AtkObject:property-change events, to
1831 support the 'property listeners'.
1832 Fixed some alloc()s of Accessibility_Event structs to use CORBA
1835 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
1836 which emit warnings and exit, respectively, if CORBA errors occur
1837 during remote calls, and we now use these methods to check most of
1838 our CORBA calls in the C bindings.
1840 * cspi/spi_accessible.c:
1841 Changed AccessibleSelection_refSelectedChild() to
1842 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
1843 now increment refcounts.
1845 * cspi/spi_component.c:
1846 Fixed some long pointer casts (dangerous!) to pass pointers to
1847 CORBA_longs of the proper type to the CORBA stubs, and copy the
1848 data into the longs that were passed into the C bindings code.
1850 * at-bridge/bridge.c:
1852 * libspi/accessible.c:
1853 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
1854 hyperlinks, AtkHyperlink is an object type.
1856 * libspi/application.c:
1857 Added various conversions to and from "generic" event types and
1858 atk-specific types; this is really part of the 'bridge'
1859 implementation but is valid for all AtkObject-based accessibility
1862 * libspi/editabletext.c:
1863 Fixed nasty bug wherein editable text's finalize method was
1864 unref'ing tha AtkObject reference that the text parent class was
1865 about to unref _again_. There was also a nasty inheritance bug
1866 that meant that the AccessibleEditableText class was corrupt.
1868 * libspi/selection.c:
1869 Provided implementations for some selection API that was broken.
1871 * idl/Application.idl:
1872 Added registerObjectEventListener () method.
1875 Fixed a number of return values that were Bonobo_Unknowns from
1876 bonobo_object_corba_objref(), which I
1877 forgot to dup before returning. Changed instances of
1878 bonobo_object_corba_objref (bonobo_object(o)) to
1879 BONOBO_OBJREF(o), for concision and clarity.
1881 <2001-10-13 Louise Miller <louise.miller@sun.com>
1883 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
1884 idl/Event.idl, idl/Registry.idl
1885 Changed these files to include Bonobo_Unknown.idl instead
1888 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
1890 * libspi/component.c libspi/component.h:
1891 Fixed typo. Added assertions for object checks in
1892 AccessibleComponent code.
1894 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1896 * idl/Accessible.idl:
1897 Added 'isEqual (Accessible *object)'
1898 method for Accessible. (Not Yet Implemented).
1901 Changed signature of registerKeystrokeListener() to
1902 take a KeySet and KeyEventSeq so that specific keys and event
1903 types could be requested for monitoring, and added a flag
1904 is_synchronous so that either synchronous or asynchronous
1905 notification could be requested. (However this is not all
1906 implemented yet). This also meant adding two new typedefs,
1907 KeyEventSeq and KeySet.
1910 Added two new relations, RELATION_TOOLTIP_FOR and
1911 RELATION_LEAFNODE_OF.
1914 Added new state, STATE_HAS_TOOLTIP.
1916 * libspi/text.c, editabletext.c:
1917 Added new assertions to all casts of bonobo-objects from
1918 CORBA servants, to prevent Text API calls on non-text objects.
1919 Changed suspect casts of int-pointer types, so that we
1920 always send a valid CORBA_long pointer to the CORBA APIs that use
1921 in/out long parameters. We then have to copy from the CORBA_long
1922 into the regular long or int for return to the C bindings, or
1923 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
1926 * libspi/deviceeventcontroller.c:
1927 Cleaned these sources up.
1929 Changed return type for getCharacterAtOffset to
1930 CORBA_unsigned_long, to allow for 32-bit characters.
1933 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
1937 Fixed 'make dist' so that distro compiles...
1938 * libspi/keymasks.h:
1940 * cspi/spi-listener.c:
1941 KeystrokeListenerCB now returns a boolean.
1943 Added KeyEventType struct, and KeyStroke.
1944 Also added createKeystrokeListener(),
1945 KeystrokeListener_addCallback(),
1946 KeystrokeListener_removeCallback(), and added a keymask to
1947 registerKeystrokeListener().
1948 * cspi/spi_accessible.c:
1949 Changed numerous return types for interfaces from
1950 AccessibleComponent to Accessible<InterfaceName>; this was
1951 probably a cut-and-paste error.
1953 Implementations of new KeystrokeListener api (from spi.h,
1956 Changes to key modifier mapping.
1957 Created ControllerEventMask struct.
1958 Made DeviceEventController derive from Bonobo::Unknown.
1960 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
1961 * libspi/deviceeventcontroller.c:
1962 Added a number of new internal (private) methods.
1963 * libspi/editabletext.c:
1964 * libspi/editabletext.h:
1965 Fixed a number of bugs related to the fact that
1966 editabletext inherits from text. Fixed the EditableText struct,
1967 the init() call, and use correct casts when calling Text methods
1968 from an EditableText object. Removed (duplicate) atko from the
1969 EditableText structure, we use the one in the parent Text
1970 structure via the casts mentioned above.
1971 * libspi/keystrokelistener.[ch]:
1972 * libspi/registry.c:
1973 Changes in support of keyboard handling (above).
1975 Keyboard handling, though partly functional, is still not
1976 recommended for at-spi client use as there is considerable
1977 work yet to be done.
1980 Changed some places where pointers to various int types
1981 are cast to be pointers to CORBA_long types and vice-versa:
1982 pointer casting is not safe so we pass pointers of the correct
1983 types and then cast the result before putting it into the target
1986 * libspi/text.h: minor typos corrected.
1988 We now speak not only the name of a Text element, but the
1989 first sentence of its content, when it receives focus.
1990 I also changed the text compression to 75% from 50%.
1991 * util/Accessibility_Util.server.in:
1992 Changed the default magnifier type to be a 3x vertical
1993 splitscreen magnifier (was previously a 2x horizontal one).
1995 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
1997 * libspi/keystrokelistener.h:
1998 * libspi/keystrokelistener.c:
1999 Initial functional implementations of KeystrokeListener.
2002 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2004 Fixed string handling for NULL strings in libspi.
2005 Added spi_freeString to free strings returned by C bindings.
2007 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2009 * libspi/keystrokelistener.h:
2010 * libspi/keystrokelistener.c:
2011 Began (no-op) implementations of KeystrokeListener
2013 * libspi/deviceeventcontroller.c:
2014 * libspi/deviceeventcontroller.h:
2015 Began creating implementations of DeviceEventController,
2016 to handle keystroke and mouse event listening and
2018 * libspi/accessible.c:
2019 Stubbed-in the implementations for
2020 Accessibility_Accessible_getState and
2021 Accessibility_Accessible_getRelationSet.
2022 * libspi/registry.c:
2023 Improved de-registration process and fixed some bugs,
2024 deregistration now works correctly.
2026 Added initialization of applications list (to NULL).
2028 Reduced speech compression from 0.5 to 0.7, for demo.
2029 Changed call to gdk_window_set_decorations()
2030 to gtk_window_set_decorated().
2031 * at-bridge/bridge.c:
2032 Bridge now deregisters when app exits, via
2033 registration of a cleanup function
2034 with the g_atexit() call.
2035 Required making 'app' static, renamed 'this_app'.
2036 Fixed broken use of bonobo_init, passing argv wrongly.
2038 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2042 Created a new directory for
2043 accessibility-related utilities, primarily for
2044 testing and demo purposes, but with possible
2051 Onscreen magnifier utility that
2052 is implemented as a bonobo service.
2054 * util/mag_client.c:
2055 * util/mag_client.h:
2056 Client-side support (simple C bindings)
2057 for Magnification service
2059 * util/mag_control.c:
2060 Client program example for
2061 Magnification service
2063 * util/Accessibility_Magnifier.server.in:
2064 Bonobo-activation file for the
2065 Magnification service.
2068 * util/idl/Magnifier.idl:
2069 IDL defining the bonobo Magnification
2073 Modifications to use the bonobo-activated magnifier
2074 above, in place of trying to connect to an existing
2075 magnifier that uses socket-listening IPC.
2077 If env variable MAGNIFIER is set, a magnifier service
2078 will be started if one does not exist.
2080 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2081 * at-bridge/bridge.c:
2082 applied patch from Marc to build and run
2083 against new glib and gtk+ (seemed like a change
2084 to bonobo_init signature was made ?)
2086 made festival-server support turned off by default.
2087 Added support for a simple magnifier (off by default)
2088 which will be added to a 'util' directory later.
2089 * at-bridge/Makefile.am:
2090 Changed "application.h" header from a 'source'
2091 to a 'dependency' of libat-bridge.
2093 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2101 Added interface implementation c files to list of
2102 includes so they are included in libcspi.
2105 Changed prototype of AccessibleAction_doAction to return a
2107 Changed prototype of AccessibleTable_getCaption to
2108 return an Accessible.
2109 Changed prototype of AccessibleTable_getSelectedRows
2110 and AccessibleTable_getSelectedColumns to
2111 return a long (returns the number of selected rows
2112 or columns respectively).
2113 Changed name of AccessibleText_refRunAttributes to
2114 AccessibleText_getAttributes.
2115 Changed prototype of AccessibleText_getCharacterExtents to
2116 return a void rather than a boolean.
2117 Added support for a AccessibleCoordType parameter
2118 specifying what type of coordinates are desired.
2119 Added an AccessibleCordType parameter to
2120 AccessibleText_getPointAtOffset.
2122 * cspi/spi_accessible.c:
2123 Added code to return the outstanding interfaces from
2124 Accessible_queryInterface.
2126 * cspi/spi_action.c:
2128 Corrected call to getNActions to call the c binding
2131 * cspi/spi_editabletext.c:
2133 Changed name from setRunAttributes to setAttributes.
2135 * cspi/spi_hyperlink.c:
2137 Changed call to getNAnchors to correctly call the c
2138 binding for an attribute.
2140 * cspi/spi_hypertext.c:
2142 Changed getImageDescription to correctly call the
2143 binding for an attribute.
2145 * cspi/spi_selection.c:
2146 Changed getNSelectedChildren to correctly call the c
2147 binding for the attribute.
2148 Changed refSelectedChild to getSelectedChild.
2152 Changed getCaption to return an Accessible.
2153 Fixed calls which retrieve attributes.
2154 Changed refAt to getAccessibleAt.
2155 Changed getNSelectedRows and getNSelectedColumns to
2159 Changed getCharacterExtents and getPointAtOffset to accept an
2160 AccessibleCoordType.
2162 Changed calls which retrieve attributes.
2163 Changed refRunAttributes to getAttributes.
2168 * idl/Hyperlink.idl:
2169 Changed n_anchors attribute to nAnchors to keep naming
2170 convention consistent.
2173 Made Table inherit from Bonobo::Unknown.
2174 Added nSelectedColumns and nSelectedRows attributes.
2177 Made Value inherit from Bonobo::Unknown.
2179 * libspi/hyperlink.c:
2180 Change for nAnchors attributte name change.
2182 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2190 Added interface implementation c files to list of
2191 includes so they are included in libcspi.
2194 Changed prototype of AccessibleAction_doAction to return a
2196 Changed prototype of AccessibleTable_getCaption to
2197 return an Accessible.
2198 Changed prototype of AccessibleTable_getSelectedRows
2199 and AccessibleTable_getSelectedColumns to
2200 return a long (returns the number of selected rows
2201 or columns respectively).
2202 Changed name of AccessibleText_refRunAttributes to
2203 AccessibleText_getAttributes.
2204 Changed prototype of AccessibleText_getCharacterExtents to
2205 return a void rather than a boolean.
2206 Added support for a AccessibleCoordType parameter
2207 specifying what type of coordinates are desired.
2208 Added an AccessibleCordType parameter to
2209 AccessibleText_getPointAtOffset.
2211 * cspi/spi_accessible.c:
2212 Added code to return the outstanding interfaces from
2213 Accessible_queryInterface.
2215 * cspi/spi_action.c:
2217 Corrected call to getNActions to call the c binding
2220 * cspi/spi_editabletext.c:
2222 Changed name from setRunAttributes to setAttributes.
2224 * cspi/spi_hyperlink.c:
2226 Changed call to getNAnchors to correctly call the c
2227 binding for an attribute.
2229 * cspi/spi_hypertext.c:
2231 Changed getImageDescription to correctly call the
2232 binding for an attribute.
2234 * cspi/spi_selection.c:
2235 Changed getNSelectedChildren to correctly call the c
2236 binding for the attribute.
2237 Changed refSelectedChild to getSelectedChild.
2241 Changed getCaption to return an Accessible.
2242 Fixed calls which retrieve attributes.
2243 Changed refAt to getAccessibleAt.
2244 Changed getNSelectedRows and getNSelectedColumns to
2248 Changed getCharacterExtents and getPointAtOffset to accept an
2249 AccessibleCoordType.
2251 Changed calls which retrieve attributes.
2252 Changed refRunAttributes to getAttributes.
2257 * idl/Hyperlink.idl:
2258 Changed n_anchors attribute to nAnchors to keep naming
2259 convention consistent.
2262 Made Table inherit from Bonobo::Unknown.
2263 Added nSelectedColumns and nSelectedRows attributes.
2266 Made Value inherit from Bonobo::Unknown.
2268 * libspi/hyperlink.c:
2269 Change for nAnchors attributte name change.
2272 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2274 implementations-- made server implementations own AtkObject pointers
2275 rather than their respective AtkInterrface pointers to fix
2276 refcounting. AtkHyperlink is still broken.
2278 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2279 * cspi/spi_accessible.c:
2280 Added method Accessible_Role_getName(),
2281 and requisite string array (role_names).
2282 Added conversion string_from_corba_strin() call
2283 to Accessible_getName and _getDescription.
2284 * libspi/accessible.c:
2285 Added implementation for Accessible_getRole()
2287 Added festival support, used if environment variable
2290 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2292 * at-bridge/bridge.c:
2293 Now allocate Accessibility_Event using
2294 Accessibility_Event__alloc() instead of g_new0().
2295 * libspi/accessibleeventlistener.c:
2296 Initialize AccessibleEventListener->callbacks to NULL.
2297 Fixed accessible__event_listener_init() param, changed to
2298 "AccessibleEventListener *" type.
2299 Changed a bonobo_object_release_unref() call to
2300 Accessibility_Accessible_unref().
2301 * libspi/listener.c:
2302 Changed Bonobo_Unknown_unref to (equivalent)
2303 Accessibility_Accessible_unref.
2304 * libspi/registry.c:
2305 Changed bonobo_object_release_unref to
2306 Accessibility_Accessible_unref.
2308 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2311 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2312 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2313 spi-util.c spi-util.h
2314 Implementations for C bindings to remaining accessibility
2317 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2320 changed return value of Action from void to boolean to
2321 bring in line with ATK.
2324 Changed getText funcions to return "out" start and end offsets.
2325 Changed getAttributes to take and offset and return the start
2326 and end offset of the attribute run.
2327 Changed getOffsetAtPoint and getCharacterExtents to take an
2328 enum describing whether coordinates are window or screen.
2331 libspi/action.c libspi/action.h libspi/editabletext.c
2332 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2333 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2334 libspi/image.h libspi/selection.c libspi/selection.h
2335 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2336 libspi/value.c libspi/value.h
2337 Added server implementations for outstanding ATK interfaces
2338 not yet implemented.
2340 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2343 Added (missing) getName() method.
2344 Made nActions an attribute.
2345 * idl/EditableText.idl:
2346 Changed order of params in setAttributes.
2347 * idl/Hyperlink.idl:
2348 Removed getAnchor, added getURI.
2350 Changed attributes to methods, for efficiency
2351 (so that getting extents can be done in one call)
2352 * idl/Selection.idl:
2353 Changed nSelectedChildren to attribute, and re-indented.
2354 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2356 * idl/Text.idl: reformatted to match our coding style.
2357 (temporarily?) removed getRowColumnAtOffset().
2358 Changed text selection API to support multi-select and
2359 non-contiguous selections, as in ATK.
2360 * idl/Value.idl: changed some methods to attributes.
2362 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2364 * libspi/listener.c(impl_notify_event):
2365 BonoboUnkown_unref the source instead
2366 of bonobo_object_release_unref - the ORB
2367 handles the releasing.
2369 * configure.in: require ORBit-2.3.94 for
2372 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2374 Tagged CVS repository 'EA_1_0'.
2375 * README.EARLY_ACCESS:
2376 Alphabetized acknowledgements list, and
2378 Listed some known dependencies of at-spi.
2380 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2382 * docs/at-spi-docs.sgml:
2383 * docs/at-spi-sections.txt:
2384 * docs/at-spi-overrides.txt: (Added zero-length file)
2385 Documentation improvements - gtk-doc should build
2386 docs for all implemented C bindings now.
2389 * cspi/spi.c: (New file)
2390 * cspi/spi_event.c: (New file)
2391 * cspi/spi_registry.c: (New file)
2392 * cspi/spi_accessible.c: (New file)
2393 * cspi/spi_application.c: (New file)
2394 * cspi/spi_component.c: (New file)
2395 Split spi_main.c into six parts, and included them from
2396 "spi.c". This is a bit of a hack, probably temporary,
2397 but required by gtk-doc, apparently.
2399 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2402 * docs/at-spi-docs.sgml:
2403 * docs/at-spi-sections.txt:
2405 Initial checkins/modifications for gtk-doc generation.
2408 Added (missing) interface query methods to Accessible's C binding.
2410 Added GenericInterface type definition.
2412 Added query for AccessibleComponent interface to focus event handler.
2413 Added printout of bounding box for focussed component.
2414 * libspi/component.c:
2415 Added partial implementation for AccessibleComponent to C binding.
2416 * idl/Application.idl:
2417 * libspi/registry.c:
2418 * libspi/listener.c:
2419 * libspi/application.c:
2420 * libspi/application.h:
2421 Changed "ID" attribute type from string to long.
2423 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2427 Made method naming consistent: methods taking object args
2428 start with uppercase, other methods (except those using
2429 acronyms) start with lowercase. Underscores delimit between
2430 object names and method names:
2431 SPI_init() - uppercase since it starts with an acronym.
2432 getDesktopCount () - lowercase start since no object param0.
2433 Accessible_getName() - uppercase object type name, studlyCaps method
2437 Added gtk-doc documentation for all currently implemented
2438 methods in the C bindings API.
2440 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2442 * Makefile.am : changed build order to build test last.
2445 Changed "createEventListener" to "CreateEventListener".
2446 * libspi/accessibleeventlistener.c :
2447 Bugfix for addition of callbacks.
2448 * test/Makefile.am :
2449 * test/simple-at.c :
2450 Added new test that uses the C bindings API.
2452 * libspi/listener.c :
2453 * libspi/registry.c :
2454 * libspi/accessibleeventlistener.c :
2455 * at-bridge/bridge.c :
2456 Renamed member "target" of Accessibility_Event to "source",
2457 which is more descriptive.
2460 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2464 * cspi/Makefile.am :
2465 Added makefile support for at-spi/cspi directory.
2468 * cspi/spi-listener.h : (NEW FILE)
2469 Added support for/use of spi-listener.h.
2471 C bindings now build successfully, with no warnings.
2472 * libspi/accessibleeventlistener.h : (NEW FILE)
2473 * libspi/accessibleeventlistener.c : (NEW FILE)
2474 * libspi/Makefile.am :
2475 Added new object type "AccessibleEventListener"
2476 which inherits from Listener, and allows attachment
2477 of in-process callbacks (so that a client with a listening
2478 object instance can add functionality to the local
2479 implementation, dynamically).
2481 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2483 * libspi/accessible.c:
2484 Add implementation for get_index_in_parent().
2486 Added #include of "spi-roletypes.h", and
2487 added enumerated type AccessibleCoordType.
2488 Added definition for KeystrokeListener (function type).
2491 * cspi/spi-statetypes.h :
2492 * cspi/spi-roletypes.h :
2494 Added these headers, used by spi.h.
2496 Added code (NOTE: not yet built by make).
2498 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2500 * libspi/Makefile.am: generate imodule
2501 at the same time as other idl compiler
2504 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2505 * libspi/registry.c :
2506 * libspi/application.c :
2507 * idl/Application.idl :
2508 Made registration with toolkit an application method,
2509 which is required since each app has its own toolkit static
2510 environment. Thus the bridge must register for
2511 notification of toolkit events from each application in turn.
2512 Toolkit notifications are now successfully registered for, and
2513 sent to the listening at client.
2515 Changed toolkit event string to use hyphens rather than underscores.
2516 * libspi/listener.c :
2517 listner now gives more info in debug mode - it reports the
2518 name of the event received, as well as the name of the source.
2521 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2523 * libspi/registry.c :
2524 added more implementation for toolkit events.
2525 Fixed bug such that toolkit event registrations
2526 (via atk) use the whole event name string, not
2528 Removed a useless call to an ORBit_ method.
2529 * at-bridge/bridge.c :
2530 Removed unused local sbuf[] variable.
2532 We now register for Gtk:GtkWidget:button_press_event
2533 events as well as "focus:" events.
2535 Add some more API from Registry.idl that was missing,
2536 for keystroke listening, keystroke and mouse event
2537 synthesis, and enumeration of accessible desktops.
2539 2001-08-16 Michael Meeks <michael@ximian.com>
2541 * configure.in: use AM_GLIB_GNU_GETTEXT.
2543 * Makefile.am (SUBDIRS): kill intl.
2545 2001-08-15 Michael Meeks <michael@ximian.com>
2547 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2549 * configure.in: upd.
2551 * configure.in: depend on a recent bonobo-activation that
2552 will find our server files ...
2554 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2556 * libspi/accessible.c : accessible_new() :
2557 Now we add the Component interface via bonobo_object_add_interface,
2558 if the contained AtkObject implements AtkComponent.
2559 * libspi/accessible.h : now include "component.h"
2560 * libspi/component.h :
2561 * libspi/component.c : added files - implementation of
2562 bonobo wrapper object for Accessibility/Component
2563 * libspi/listener.c :
2564 Added test code to check for Accessibility/Component:1.0
2565 interface and report whether it is implemented by the
2567 * libspi/registry.c :
2568 Now we check for not only the hash of the whole event
2569 string before relaying the event, we also check the
2570 "minor" event string (without the detail string).
2571 This allows event listeners to be registered against
2572 all events of a certain major+minor type, or just
2573 against a specific major+minor+detail type.
2574 * libspi/accessible.c :
2575 Added implementations for Accessible:get_parent(),
2576 Accessible:getChildCount(), and Accessible:getChildAtIndex().
2577 * libspi/registry.c :
2578 * libspi/listener.c :
2579 Replaced calls to Accessibility_Accessible_ref() and
2580 Accessibility_Accessible_unref() with
2581 calls to bonobo_object_dup_ref() and
2582 bonobo_object_release_unref(), so that the CORBA object
2583 is dup-ed and released when relayed, as well as the bonobo object.
2585 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2587 * libspi/Makefile.am,
2588 registryd/Makefile.am,
2589 at-bridge/Makefile.am.
2590 test/Makefile.am, configure.in:
2591 reverse previous changes.
2593 * /idl/Image.idl: fix typo.
2595 * test/Makefile.am: put DEBUG_FLAGS
2598 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2600 * test/app.c: use argv[0] instead of
2603 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2605 * libspi/Makefile.am,
2606 registryd/Makefile.am,
2607 at-bridge/Makefile.am.
2608 test/Makefile.am, configure.in:
2609 cleanup, replace individual LIBS/CFLAGS with
2610 AT_COMMON_{LIBS|CFLAGS}.
2614 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2616 * configure.in, libspi/Makefile.am:
2617 Change IDL path checking for bonobo-activation
2620 2001-08-15 Bill Haneman <bill.haneman@sun.com>
2622 * registryd/registry.c : separated event listeners to use
2623 3 separate lists (focus, window, toolkit). Began testing
2624 event names against hashes before relaying events.
2625 * test/at.c : now register for events of type "focus:"
2626 * test/app.c : now generate events of type "focus:"
2627 * at-bridge/bridge.c : register with ATK for focus events,
2628 and we now relay those focus events to any "focus:" listeners.
2629 This now works with the bridge as a GTK_MODULE when running test/at.
2630 * libspi/registry.c :
2631 * libspi/listener.c :
2632 now we ref event sources before propagating, and unref on receipt.
2633 * libspi/registry.c :
2634 some changes to internal structs, to support event typestring hashes.
2635 * text/app.c : changed the way the appname is generated.
2636 * cspi : added directory that will hold the C bindings library for
2637 non-CORBA/bonobo-savvy clients.
2638 * cspi/spi.h : header file that contains the function prototypes for the C binding.
2639 * idl/Component.idl : added in parameter to indicate coord system for
2640 geometry-related calls.
2641 * idl/Hyperlink.idl : added readonly n_links attribute
2642 * idl/Image.idl : changed methods to attributes.
2644 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2646 * at-bridge/Makefile.am: link against
2647 ../libspi/libspi.la instead of -lspi.
2649 * at-spi/test/app.c: include
2650 bonobo-activation.h. Use a default appname
2651 if one is not provided.
2653 2001-08-14 Bill Haneman <bill.haneman@sun.com>
2655 * idl/Registry.idl : temporarily changed register_Application
2656 to oneway, to work around issue with initial registration
2658 * idl/Application.idl : changed attribute "id" from readonly
2659 to read-write, since it needs to be assigned by Registry.
2660 * registryd/registryd.c : added call to set application id
2662 * registryd/registry.c : changed de-registration procedure to
2663 use CORBA_Object_hash() to find matching object ref in application
2664 lists and listener lists.
2665 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
2666 began distinguishing between event types (work in progress).
2668 2001-08-13 Bill Haneman <bill.haneman@sun.com>
2671 * libspi/application.c:
2672 Added implementations for get/set id, get_toolkitName,
2674 * registryd/registryd.c :
2678 Converted from use of OAF to bonobo-activation.
2679 * libspi/desktop.h :
2680 * libspi/desktop.c :
2682 Removed references to atksimpleobject, since base atkobject
2683 implementation now provides functionality we need.
2684 * libspi/atksimpleobject.c :
2685 * libspi/atksimpleobject.h :
2690 * at-bridge/Makefile.am
2691 * at-bridge/bridge.c
2694 Added directory "bridge" and contents, and added dependencies
2695 in Makefile.am/configure.in.
2696 Initial checkin of "at-bridge".
2697 This code is a GTK_MODULE which automatically registers
2698 GTK+ apps with the accessibility registry, using an object
2699 reference to the root ATK object.
2701 2001-08-10 Mark McLoughlin <mark@skynet.ie>
2703 * po/Makefile.in.in: Remove. Again. If this
2704 doesn't get autogenerated - you need to update
2707 2001-08-07 Mark McLoughlin <mark@skynet.ie>
2709 * po/Makefile.in.in: Add. Again.
2711 2001-07-31 Bill Haneman <bill.haneman@sun.com>
2713 * libspi/accessible.c : added support for 'description' property.
2714 * libspi/accessible.c
2716 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
2717 (since the two are now equivalent in libbonobo)
2725 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
2726 Bonobo::Unknown as does Accessibility::Accessible.
2727 * idl/StreamableContent.idl : as above, and replaced internal InputStream
2728 interface with Bonobo::Stream, since it was redundant with it.
2729 (The Stream returned by a StreamableContext object is expected to
2730 implement only a subset of Bonobo::Stream)
2732 2001-07-28 Anders Carlsson <andersca@gnome.org>
2734 * libspi/accessible.c (accessible_object_finalize): Change
2735 g_free to g_object_unref since the AtkObject is a GObject.
2737 2001-07-30 Bill Haneman <bill.haneman@sun.com>
2739 * idl/Accessibility.idl: add new IDL files
2742 * idl/Action.idl: Definitions of actionable UI object
2743 * idl/Component.idl: Definitions of UI component geometry, etc.
2744 * idl/Hyperlink.idl: Defs of hyperlink behavior
2745 * idl/Image.idl: Def of accessible image
2746 * idl/Selection.idl: Definition of UI object with selectable children
2747 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
2748 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
2749 * idl/Text.idl: Interface defs for UI elements with complex textual content
2750 * idl/Value.idl: Definition of UI element that is a value controller or display
2752 2001-07-27 Michael Meeks <michael@ximian.com>
2754 * po/Makefile.in.in: remove autogenerated file from CVS.
2756 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
2759 * idl/Registry.idl: include guard.
2761 * idl/Accessibility.idl: Add, and include all the other IDL
2764 * idl/*.idl: remove mass of pragmas etc.
2766 2001-07-26 Michael Meeks <michael@ximian.com>
2768 * registryd/Makefile.am (registryd_SOURCES): remove
2771 2001-07-27 Mark McLoughlin <mark@skynet.ie>
2773 * libspi/.cvsignore, registryd/.cvsignore,
2774 test/.cvsignore: updated.
2776 * po/Makefile.in.in: gettext update.
2778 2001-07-25 Bill Haneman <bill.haneman@sun.com>
2780 * initial CVS checkin
2782 2001-06-29 Michael Meeks <michael@ximian.com>
2784 * configure.in: add AM_CONFIG_HEADER to gen config.h