2 2001-12-10 Bill Haneman <bill.haneman@sun.com>
5 Added test_table (GtkTreeView widget in test window to follow).
6 Un-commented test_value, added GtkRange widget.
7 Added GtkTreeView widget with GtkListStore. It passes regression
8 test but leaks one SPI object for some reason.
11 Fixed bug in impl__set_currentValue.
13 2001-12-10 Michael Meeks <michael@ximian.com>
15 * cspi/spi_text.c: audit for exception handling,
16 tolerating NULL object references safely etc.
18 * cspi/spi_value.c: ditto.
20 * cspi/spi_table.c (AccessibleTable_getSummary),
21 (AccessibleTable_getAccessibleAt),
22 (AccessibleTable_getRowHeader),
23 (AccessibleTable_getColumnHeader),
24 (AccessibleTable_getCaption): fix bugs hidden by
26 (long_seq_to_array): impl.
27 (AccessibleTable_getSelectedRows),
28 (AccessibleTable_getSelectedColumns): use it.
30 2001-12-10 Bill Haneman <bill.haneman@sun.com>
33 Added a TODO list (rough and short for now).
35 * cspi/spi_hyperlink.c:
36 * cspi/spi_hypertext.c:
37 Fixed macro name typos, and remove use of obsolete macro in
38 AccessibleHyperlink_getLink.
41 * cspi/spi_accessible.c:
42 * cspi/spi_application.c:
43 * cspi/spi_component.c:
44 * cspi/spi_selection.c:
47 Documentation fixes (removed return values from ref/unref methods).
49 2001-12-10 Michael Meeks <michael@ximian.com>
51 * cspi/spi_action.c: audit for exception handling,
52 tolerating NULL object references safely etc.
54 * cspi/spi_accessible.c: ditto.
56 * cspi/spi_component.c: ditto.
58 * cspi/spi_editabletext.c: ditto.
60 * cspi/spi_hyperlink.c: ditto.
62 * cspi/spi_hypertext.c: ditto.
64 * cspi/spi_image.c: ditto.
66 * cspi/spi_selection.c: ditto.
68 2001-12-10 Michael Meeks <michael@ximian.com>
70 * configure.in: use cspi/libspi.pc.in instead.
72 * Makefile.am (pkgconfig_DATA): upd. to match.
74 * test/simple-at.c (report_focus_event): kill hacks around
75 bad return values, use putenv not setenv
77 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
78 fire ChildGone - I killed it.
81 (impl_accessibility_component_get_extents): remove
84 * idl/Accessible.idl: kill ChildGone exception.
86 * cspi/*.[ch]: kill int return from ref / unref.
88 * cspi/spi_main.c (cspi_object_add_check): fold into
89 (cspi_object_add): here.
91 * cspi/spi_component.c (AccessibleComponent_getExtents):
92 handle exceptions elegantly.
94 * cspi/spi-private.h (cspi_check_ev_return),
95 (cspi_return_if_fail): impl.
97 * cspi/spi_accessible.c: use extensively.
98 (AccessibleStateSet_equals): add direct compare check.
100 * cspi/spi_selection.c: tolerate NULL objs, and check
101 exceptions before return.
103 * cspi/spi-util.c (cspi_warn_ev): rename to
104 (cspi_check_ev): this & don't pass ev in; no point.
106 2001-12-10 Michael Meeks <michael@ximian.com>
108 * test/test-simple.c: use putenv not setenv
109 (get_environment_vars): more chatty if you're not using
112 * test/simple-at.c: do the setenv so more people see the
115 2001-12-10 Bill Haneman <bill.haneman@sun.com>
118 Changed check of CORBA_environment on notification to be a warning
119 instead of an error for the moment, since we can recover from this
120 error when caused by a queued notification from a dead app.
123 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
124 used by all current implementors of AtkValue), and coerce to
125 CORBA_float. (Proper general case fix may require change to Value.idl).
127 2001-12-09 Bill Haneman <bill.haneman@sun.com>
131 * cspi/spi_accessible.c:
132 Documentation fixes: added user_data params to documentation for
133 listeners and callbacks.
135 * cspi/spi_accessible.c:
136 Changed AccessibleStateSet_compare to return a
137 StateSet rather than return the difference set into a third parameter.
140 2001-12-09 Bill Haneman <bill.haneman@sun.com>
143 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
144 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
148 Remove subdirectory po from SUBDIRS for now.
150 * at-bridge/bridge.c:
151 Beefed up a couple of debug printouts.
152 One-line fix for signal notification name formatting.
154 * libspi/accessible.c:
155 Added assertion to spi_accessible_new ().
157 * libspi/application.c:
158 Put #ifdef qualifiers around a printf.
161 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
163 * registryd/Makefile.am:
165 Replaces use of XML_I18N_MERGE_SERVER_RULE with
166 INTLTOOL_SERVER_RULE macro.
169 Added an event listener for several ATK signals, for
170 testing and debugging. Removed a few g_warnings.
171 Added test output if focussed item implements the Value interface.
173 * test/test-simple.c:
174 Added test_value () function (known not to pass at the moment, so
175 not actually called yet.
177 2001-12-08 Michael Meeks <michael@ximian.com>
179 * at-bridge/bridge.c (bridge_focus_tracker),
180 (emit_eventv): fix the same ref. leak.
181 (register_atk_event_listeners): don't leak.
183 * cspi/spi-listener-impl.c (cspi_event): more
184 protection from client code.
186 * test/test-simple.c (test_desktop): unref the app.
188 * test/Makefile.am: upd. TESTS.
190 * at-bridge/bridge.c (bridge_exit_func): release the registry.
192 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
194 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
196 * cspi/spi_registry.c: constify in strings.
197 (deregisterGlobalEventListenerAll): don't release the ref.
199 * cspi/spi.h: start removing redundant / conflicting
200 gtkdoc comments, making the API readable at a glance :-)
202 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
204 * test/keysynth-demo.c (keysynth_exit, main): upd.
206 * test/simple-at.c (main, simple_at_exit): upd.
208 * test/test-simple.c (unutterable_horror): kill.
209 (utterable_normal_derefs): kill.
210 (main): upd & do a setenv before gtk_init, so that we
211 can use memprof - and to save the pain of remembering
212 this, if we're running under memprof - don't exit.
214 * cspi/spi_main.c (SPI_exit): return exit status
216 (SPI_event_quit): impl.
217 (SPI_event_main): simplify.
218 (cspi_is_gnome_app): kill.
219 (SPI_init): kill isGNOMEapp arg.
221 * at-bridge/bridge.c (register_atk_event_listeners):
222 re-instate the unref.
223 (bridge_exit_func): don't re-activate the registry,
224 protect vs. theoretical re-entry, use the
225 AT_BRIDGE_SHUTDOWN env. var to determine whether to
226 assert a clean shutdown - for regression tests.
228 2001-12-08 Abel Cheung <maddog@linux.org.hk>
230 * configure.in: Comment out dummy i18n support for now,
231 otherwise it fails to build.
232 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
233 EXTRA_DIST. They are missing in tarball.
235 2001-12-07 Michael Meeks <michael@ximian.com>
237 * util/magnifier.c: kill bonobo activation reg. race.
240 (impl_accessibility_component_get_extents): make it match
243 * libspi/registry.c (_registry_notify_listeners):
244 re-remove X headers & reconcile conflicts.
245 (spi_listener_struct_free): bad conflict resolve.
246 (impl_accessibility_registry_register_application):
247 more bad merging fixed.
248 (impl_accessibility_registry_deregister_application): ditto.
249 (spi_registry_new): ditto.
250 (spi_registry_init): don't have an applications field.
252 [ merge fixups2 branch to here ]
253 2001-12-07 Michael Meeks <michael@ximian.com>
255 * test/simple-at.c (report_focus_event),
256 (report_focussed_accessible): remove g_warning debug.
258 2001-12-07 Michael Meeks <michael@ximian.com>
260 * test/test-simple.c (validate_tree): comment out some checks.
261 (test_desktop): app now not registered idly - horay.
263 2001-12-07 Michael Meeks <michael@ximian.com>
265 * cspi/spi_registry.c
266 (registerAccessibleKeystrokeListener): clean, stop it leaking
267 great swathes of memory, and device event controller references.
268 ensure we always pass valid sequences.
269 (deregisterAccessibleKeystrokeListener): ditto.
270 (generateKeyEvent): upd.
272 * at-bridge/bridge.c (bridge_key_listener): handle
273 registry dead exception gracefully.
274 (bridge_focus_tracker, emit_eventv): free ev.
276 * test/simple-at.c (report_focus_event): fix polarity.
278 * libspi/application.c (notify_listeners): kill the ev
279 argument, and make sure we init the ev we use.
280 (spi_application_object_event_listener): split out a chunk
281 (get_atk_object_ref): here & fixup.
282 (reverse_lookup_name_for_toolkit_event): make const.
283 (spi_application_toolkit_event_listener): fixup, kill leaks
286 * at-bridge/bridge.c (register_atk_event_listeners):
287 don't unref the noop object - causes grief.
289 * libspi/registry.c: remove the X headers.
290 turn off the debug churn.
292 * libspi/accessible.c (spi_accessible_new_return): only
293 release the ref if we are supposed to [doh]
295 * test/simple-at.c (report_button_press, report_focus_event):
296 guard vs. unexpected exit.
298 * at-bridge/bridge.c (gtk_module_init): prune printf.
299 (bridge_exit_func): fix app unref.
301 * libspi/Makefile.am: don't install registry or desktop.h
303 * libspi/*.h: update includes.
305 * libspi/application.h: don't include ourself, or
306 other redundant headers.
308 2001-12-06 Michael Meeks <michael@ximian.com>
310 * libspi/accessible.c
311 (get_accessible_from_servant): impl.
312 Upd. all CORBA impl.s to use it killing cut and paste.
314 * cspi/spi_main.c (cspi_cleanup): guard vs. double
316 (SPI_init): register atexit cleanup handler here.
318 2001-12-06 Michael Meeks <michael@ximian.com>
320 * at-bridge/bridge.c (gtk_module_init): g_error on
323 2001-12-06 Michael Meeks <michael@ximian.com>
325 * at-bridge/bridge.c (gtk_module_init): some sort of
326 confusing merge clash - reverted.
327 (bridge_idle_init): ditto.
329 * test/test-simple.c (main, utterable_normal_derefs):
330 merge from Bill - somehow not committed.
332 2001-12-06 Michael Meeks <michael@ximian.com>
334 * libspi/value.c (spi_value_class_init): upd.
335 (spi_value_finalize): kill.
337 * libspi/table.c (spi_table_finalize): kill.
338 (spi_table_interface_new): upd.
339 (spi_table_class_init): upd.
340 (get_table_from_servant): impl.
341 Upd. all CORBA impl.s to use it killing yet more cut and paste.
343 * libspi/selection.c (spi_selection_finalize): kill.
344 (spi_selection_interface_new): upd.
345 (spi_selection_class_init): upd.
346 (get_selection_from_servant): impl.
347 Upd. all CORBA impl.s to use it killing yet more cut and paste.
349 * libspi/relation.c (spi_relation_finalize): kill.
350 (spi_relation_class_init, spi_relation_new): upd
352 * libspi/image.c (spi_image_finalize): kill.
353 (spi_image_class_init): upd.
354 (spi_image_interface_new): upd.
355 (get_image_from_servant): impl.
356 Upd. all CORBA impl.s to use it killing yet more cut and paste.
358 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
359 (spi_hyperlink_finalize): kill.
360 (spi_hyperlink_new): upd.
361 (get_hyperlink_from_servant): impl.
362 Upd. all CORBA impl.s to use it killing yet more cut and paste.
364 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
365 (spi_hypertext_finalize): kill.
366 (spi_hypertext_class_init): upd.
367 (get_hypertext_from_servant): impl.
368 Upd. all CORBA impl.s to use it killing yet more cut and paste.
370 * libspi/editabletext.c (spi_editable_text_finalize): kill.
371 (spi_editable_text_interface_new): upd.
372 (get_editable_text_from_servant): impl.
373 Upd. all CORBA impl.s to use it killing yet more cut and paste.
375 * libspi/text.c (get_text_from_servant): impl.
376 All impls - update to use it killing more cut and paste,
377 also fix bad string returns on duff args ( a somewhat
378 impossible case to handle - but hey ).
379 (spi_text_construct): impl.
380 (spi_text_interface_new): upd.
381 (spi_text_object_finalize): kill.
384 (accessibility_component_object_finalize): kill.
385 (spi_component_class_init): upd.
386 (get_component_from_servant): impl. helper to kill cut & paste.
387 (impl_accessibility_component_contains):
388 (impl_accessibility_component_get_accessible_at_point):
389 (impl_accessibility_component_get_position):
390 (impl_accessibility_component_get_extents):
391 (impl_accessibility_component_get_mdi_z_order):
392 (impl_accessibility_component_get_layer):
393 (spi_component_interface_new): upd.
395 * libspi/action.c (spi_action_finalize): kill.
396 (spi_action_class_init): upd. inherit from SpiObject.
397 (spi_action_interface_new): upd.
398 (get_action_from_servant): impl. helper to reduce cut & paste.
399 (impl_getKeyBinding, impl_getName, impl_doAction),
400 (impl_getDescription): Use it everywhere.
402 * cspi/spi_main.c (get_live_refs): a pointer hash.
403 (spi_object_hash, spi_object_equal): comment out.
404 There are issues with CORBA object hashing that need
407 * libspi/application.c (spi_application_init),
408 (spi_application_new): upd.
410 * libspi/accessible.c (spi_accessible_object_finalize): kill.
411 (spi_accessible_class_init): upd.
412 s/accessible/object/ in epv methods.
414 2001-12-05 Bill Haneman <bill.haneman@sun.com>
416 * at-bridge/bridge.c:
417 Reorder the bridge initialization into the bridge gtk_module_init,
418 an immediate call to bridge_register_app, and an idle_add for
419 register_atk_event_listeners (the only code that *must* wait until
420 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
421 the activation, creates the application's Accessible object, and
422 queues the bridge_idle_init function. Restored call to
423 Accessibility_Registry_deregisterApplication().
424 Prior to making this call we obtain a new reference to the
425 registry, which is a temporary hack that helps us handle apps that
426 shut down the bonobo mainloop before we get there.
429 Fix string leakage in debug block, and don't segv if a an app
430 dies before its event notifications have been propagated.
433 Modify cspi_check_ev() to call g_warning() rather than g_error(),
434 as stopgap measure until we get proper exception handling when
435 objects die during or before interrogation.
439 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
440 Also changed default value of is_gnome_app to TRUE.
443 * test/keysynth-demo.c:
444 Changed use of SPI_init and SPI_event_main to reflect API change above.
447 Made report_focus_event check the warning value from getName
448 before reporting on focussed accessible; simplifies handling of
449 notifications from dead objects.
451 * test/test-simple.c: (Changes not in this patch since source is
454 2001-12-05 Michael Meeks <michael@ximian.com>
456 * registryd/registryd.c (main): protect against
457 bonobo-activation startup race condition.
459 * cspi/spi_main.c (cspi_object_add_check): cope
460 with the exception elegantly.
462 * idl/Accessible.idl: decl. ChildGone
464 * libspi/desktop.c (spi_desktop_dispose): impl.
465 (spi_desktop_class_init): upd.
466 (spi_desktop_add_application),
467 (spi_desktop_remove_application),
468 (abnormal_application_termination): impl.
469 (impl_desktop_get_child_at_index): re-impl.
472 (impl_accessibility_registry_deregister_application),
473 (impl_accessibility_registry_register_application):
474 kill excessive debug clutter.
476 * test/test-simple.c (test_misc): test some NULL
477 tolerance. (main): upd.
479 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
480 implements no interfaces - so let's not crash.
482 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
484 * libspi/accessible.c (spi_accessible_new_return): impl.
485 helper to calm the cut and paste, to cope with
486 NULL AtkObjects effectively and efficiently, and to kill
487 the referencing bugs.
489 * libspi/table.c (impl_getAccessibleAt),
490 (impl_getRowHeader, impl_getColumnHeader): upd.
492 * libspi/hyperlink.c (impl_getObject): upd.
494 * libspi/accessible.c
495 (impl_accessibility_accessible_get_child_at_index): upd.
498 (impl_accessibility_component_get_accessible_at_point): upd.
500 * test/test-simple.c (test_editable_text, test_text): impl.
503 * cspi/spi_editabletext.c
504 (AccessibleEditableText_insertText): constify.
506 * test/test-simple.c (focus_me): make more robust.
508 * libspi/accessible.c: remove some printfs in methods that
509 we test and work fine, so we can get a clean tree dump.
511 * test/test-simple.c (validate_accessible),
512 (validate_tree): make tree dumping pretty too.
514 * at-bridge/bridge.c (bridge_signal_listener): upd. so
515 it builds without debug on.
517 * test/test-simple.c (validate_accessible): fix the most
520 * cspi/spi_main.c (spi_object_release): leave the nicely
521 blanked memory around if in debug mode.
523 * cspi/spi-listener-impl.c (cspi_event): use add_check.
525 [committed to fixups2]
526 2001-12-05 Michael Meeks <michael@ximian.com>
528 * libspi/editabletext.c
529 (spi_editable_text_class_init): g_type_class_peek_parent,
530 not interface peek - so we finalize cleanly.
532 * libspi/accessible.c (spi_accessible_new): kill debug.
534 * test/test-simple.c (validate_accessible): fix ref.
535 leak, print strings before freeing them; sigh, comment a
536 chunk out due to strangeness.
537 (validate_tree): unref the child after use.
539 * cspi/spi_component.c (AccessibleComponent_getLayer):
540 add missing break statement, switch on zlayer not the
541 uninitialized retval.
543 * cspi/spi_main.c (cspi_object_add): add assert, local ref
544 before (possibly re-entering) remote unref.
546 * test/simple-at.c (main): unref the desktop.
548 * cspi/spi_accessible.c (cspi_accessible_is_a): move
551 * cspi/spi_main.c (cspi_accessible_is_a): here to
552 isolate bonobo API usage more.
554 * libspi/registry.c (impl_accessibility_registry_register_application):
557 2001-12-04 Michael Meeks <michael@ximian.com>
559 * test/test-simple.c (validate_tree): upd.
560 IndexInParent check to make it more lucid.
561 (validate_accessible): dump the tree.
563 * libspi/accessible.c (de_register_public_ref),
564 (get_public_refs): impl.
565 (spi_accessible_new): make more efficient & intuitive.
566 Now IndexInParent check works.
568 2001-12-04 Michael Meeks <michael@ximian.com>
570 * cspi/spi-util.h: remove.
572 * cspi/spi.h: move SPI_freeString here
574 * libspi/component.c (impl_accessibility_component_get_layer):
576 (impl_accessibility_component_get_mdi_z_order): ditto,
577 return -1 on error - is this ok ?
579 * test/test-simple.c (test_application): impl.
581 * cspi/spi_accessible.c (Accessible_getApplication),
582 (Accessible_isApplication): impl.
584 * libspi/registry.c (spi_listener_struct_free): release
585 the CORBA reference too.
587 * libspi/accessible.c
588 (impl_accessibility_accessible_get_parent): fix ref leak.
590 * libspi/registry.c (spi_registry_new): make the registry
591 immortal - we don't want it to go away ever.
593 * libspi/application.c
594 (spi_accessible_application_finalize): impl. cleanup.
596 * cspi/spi_registry.c
597 (deregisterGlobalEventListenerAll),
598 (deregisterGlobalEventListener),
599 (deregisterAccessibleKeystrokeListener): fix ref leak.
601 * cspi/spi_main.c (SPI_init): remove redundant ref.
603 * test/test-simple.c (unutterable_horror): impl. to force a
608 (impl_accessibility_registry_deregister_application): release
609 the application when we de-register it.
611 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
612 until we have the infastructure to get it right.
614 2001-12-03 Michael Meeks <michael@ximian.com>
616 * libspi/Makefile.am: only build eventlistener.[ch]
618 * libspi/accessible.c
619 (impl_accessibility_accessible_get_child_at_index): don't leak.
621 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
622 before we hit the idle handler.
624 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
627 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
629 * libspi/listener.c (impl_notify_event): check source
630 not NIL before unref.
632 * libspi/registry.c (impl_registry_notify_event): ditto.
634 * libspi/eventlistener.c
635 (impl_accessible_event_notify_event): unref the source.
637 * libspi/accessibleeventlistener.c
638 (impl_accessible_event_notify_event): unref the source.
640 * idl/Event.idl: remove 'hash_id' attribute - of no
643 * libspi/application.c (notify_listeners): upd list
645 (spi_application_object_event_listener),
646 (spi_application_toolkit_event_listener): upd to do correct
650 (_registry_notify_listeners): update.
651 (parse_event_type): this method also leaks like a sieve.
652 (impl_accessibility_registry_deregister_global_event_listener):
653 fix ETYPE_WINDOW case.
655 * libspi/application.c
656 (impl_accessibility_application_register_object_event_listener):
659 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
661 * libspi/hypertext.c (impl_getLink): ditto.
663 * cspi/spi_main.c (cspi_object_add): remove
664 bogus CORBA_Object_duplicate.
666 * cspi/spi-listener-impl.c (cspi_event): dup/ref
669 * cspi/spi_accessible.c
670 (Accessible_getRelationSet): fix leak / referencing issue.
672 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
673 (cspi_object_add, cspi_object_unref): upd.
674 (spi_object_release, get_live_refs): impl.
675 (cspi_cleanup): simplify.
677 * *.[ch]: s/boolean/SpiBoolean/
679 * cspi/spi_accessible.c (role_names): actualy order so it
680 corresponds with the enum !
682 * test/test-simple.c (test_roles): check some role strings
683 vs. enums to detect offset errors.
685 2001-12-01 Michael Meeks <michael@ximian.com>
687 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
689 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
691 (Accessible_getChildAtIndex): use cspi_add_check so we
692 check the ev before using a (possibly) invalid value.
694 * libspi/accessible.c
695 (impl_accessibility_accessible_get_parent): don't segv
698 * at-bridge/bridge.c (gtk_module_init): upd.
699 (bridge_property_event_listener): don't leak strings
701 (bridge_state_event_listener),
702 (bridge_property_event_listener): don't use a static
703 buffer in case of recursive event emission &
704 re-enterancy - split out the swathe of cut and paste
706 (emit_eventv): and fix 2 ref leaks here & comply to the
708 (bridge_register_app): rename to
709 (bridge_idle_init): this and kill arg parsing, split
710 various inits & bonobo-activation registration to module
711 init time, kill referencing error.
712 (bridge_exit_func): fix the same leak.
713 (bridge_focus_tracker): don't leak event structures
715 (bridge_signal_listener): more leakage and cut & paste
717 (bridge_key_listener): return the result - FIXME is
718 this polarity correct ?
719 (accessibility_keystroke_from_atk_key_event): rename
720 (accessibility_init_keystroke_from_atk_key_event): and stop
722 (gtk_module_init): return a value - not that it is checked by
724 (bridge_key_listener): register my horror at casting between
726 (bridge_get_registry): kill - not used.
728 * cspi/spi_accessible.c (Accessible_getRole): make return const.
730 * test/test-simple.c (test_roles): impl.
731 (test_desktop, validate_accessible, validate_tree): impl.
733 * cspi/spi_accessible.c (role_names): fixup bogus
734 MAX_ROLES setup, make constants const for efficient linkage
735 (AccessibleRole_getName): conform to coding style, make
738 2001-11-30 Michael Meeks <michael@ximian.com>
740 * cspi/spi.h: add missing prototype.
742 * libspi/registry.c (spi_listener_struct_new): fix sig.
744 * test/Makefile.am: add test-simple
746 * test/test-simple.c: add
750 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
752 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
753 do it straight - since otherwise we often get an activation race.
755 [ work before Bill duplicated a chunk of it ... ]
756 2001-11-30 Michael Meeks <michael@ximian.com>
758 * libspi/keystrokelistener.c
759 (spi_keystroke_listener_class_init): fixup arg
762 * libspi/eventlistener.c
763 (spi_event_listener_class_init): ditto.
765 * tests/test.sh: add.
767 * cspi/spi-listener-impl.h: update macros.
769 * cspi/spi-listener-impl.c
770 (cspi_event_listener_remove_callback): add
771 correct pre-conditions.
773 * cspi/spi_main.c (SPI_exit): guard vs. double
774 exits, exit the mainloop nicely.
775 (SPI_event_main): make more sense.
776 (SPI_init): move the atexit evilness here so we
778 (SPI_event_main): upd.
780 * test/simple-at.c: update for listener changes.
782 * registryd/registryd.c (main): prune kruft.
784 * libspi/libspi.h: upd.
786 * libspi/eventlistener.[ch]: rename broken macros.
788 * libspi/accessibleeventlistener.[ch]: remove.
790 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
792 * test/test-simple.c: Add - automated tests.
794 * cspi/spi-listener-impl.c (cspi_event),
795 (cspi_key_event): add user_data to invoke.
796 (cspi_keystroke_listener_finalize): impl.
797 (cspi_keystroke_listener_class_init): upd.
800 (createAccessibleEventListener),
801 (AccessibleEventListener_addCallback),
802 (createAccessibleKeystrokeListener),
803 (AccessibleKeystrokeListener_addCallback): upd.
805 * libspi/deviceeventcontroller.c
806 (spi_device_event_controller_check_key_event): add public proto.
809 (impl_accessibility_registry_deregister_global_event_listener):
810 always init listeners.
811 (_registry_notify_listeners): yes it is.
813 * cspi/spi-listener-impl.c (cspi_key_event):
815 (cspi_event_listener_finalize): impl.
816 (cspi_event_listener_class_init): hook up.
817 (event_handler_new, event_handler_free),
818 (event_list_remove_by_callback): impl.
819 (cspi_event_listener_remove_callback),
820 (cspi_keystroke_listener_remove_callback),
821 (cspi_keystroke_listener_add_callback),
822 (cspi_event_listener_add_callback): upd.
824 * libspi/keystrokelistener.c
825 (keystroke_listener_object_finalize): kill
826 (spi_keystroke_listener_class_init): upd.
827 (spi_keystroke_listener_add_callback),
828 (spi_keystroke_listener_remove_callback): kill,
830 (impl_key_event): prune drasticaly.
832 * libspi/eventlistener.c
833 (spi_event_listener_add_callback),
834 (spi_event_listener_remove_callback): kill, use
836 (impl_accessible_event_notify_event): upd.
837 (spi_event_listener_object_finalize): remove.
839 * libspi/Makefile.am: use eventlistener.[ch]
841 2001-12-04 Bill Haneman <bill.haneman@sun.com>
843 * libspi/registry.c (_registry_notify_listeners):
844 Changed listener loop iteration to use preferred convention.
845 Got rid of string memory leaks caused be calling g_strconcat
846 inside function calls.
848 * libspi/registry.c (parse_event_type):
849 Stopped g_strconcat memory leaks, free the g_strsplit return,
850 g_strdup the split pieces when used, etc.
852 2001-12-04 Bill Haneman <bill.haneman@sun.com>
855 Change method 'compare' to return a 'difference set' rather than
856 taking a StateSet as an out parameter (more Java-friendly).
858 * idl/Accessible.idl:
859 Added CORBA struct 'BoundingBox', to faciliate API changes below:
863 Changed methods 'getExtents' and 'getImageExtents' in these
864 interfaces to return a BoundingBox structure.
865 (getPosition and getSize are redundant and possibly should be
866 removed, rather than creating a corresponding Point struct.)
868 * cspi/spi_component.c:
869 Modify implementation of getExtents to reflect the above IDL
874 Add (missing) AccessibleImage_getExtents () API.
876 * docs/reference/cspi/at-spi-cspi-sections.txt:
877 Added AccessibleImage_getImageExtents () to docs.
879 2001-12-03 Bill Haneman <bill.haneman@sun.com>
882 Added two methods, getLayer () and getMDIZOrder (), to reflect
883 the new ATK methods atk_object_get_layer and
884 atk_object_get_mdi_z_order. (Which arguably should be part of the
885 AtkComponent API and AtkObject). Also added an enum,
886 ComponentLayer, for the first method's return value.
888 * libspi/component.c:
889 Added implementations for these methods.
891 * cspi/spi_component.c:
893 Added cspi binding methods for above,
894 AccessibleComponent_getLayer() and
895 AccessibleComponent_getMDIZOrder().
896 Added cspi enum 'AccessibleComponentLayer'.
898 * docs/reference/cspi/at-spi-cspi-sections.txt:
899 Added above methods to docs.
903 Changed typedef for 'boolean' type (and all references to it) to
904 SPIBoolean, to avoid keyword clashes with C++.
907 Changed usages of 'boolean' to SPIBoolean.
909 * test/keysynth-demo.c:
910 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
911 app), except where SPIBoolean is required by the callbacks API.
913 2001-12-02 Bill Haneman <bill.haneman@sun.com>
915 * cspi/spi_registry.c:
916 Removed obsolete X event loop for passive keygrabs (which now
919 * registryd/registryd.c:
920 Removed unnecessary call to gdk_init() [cruft]. This also allows
921 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
924 2001-11-28 Bill Haneman <bill.haneman@sun.com>
926 * docs/reference/cspi:
927 Included docs for SPI_freeString in generated documentation.
930 Renamed spi_freeString to SPI_freeString, for consistency. Added
931 documentation for this function.
934 Renamed spi_freeString to SPI_freeString, for consistency.
935 Removed obsolete method declaration string_from_corba_string.
937 * test/keysynth-demo.c:
938 Small tweak to comments.
941 Stopped leaking the strings returned from CSPI.
943 2001-11-28 Bill Haneman <bill.haneman@sun.com>
945 Merged Michael's branch (see his ChangeLog entries below).
947 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
948 bridge is alive, release on exit.
950 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
951 Fix type check macro.
954 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
957 Added is_gnome_app static, and method cspi_is_gnome_app(),
958 so we can call the appropriate shutdown routine at exit in SPI_exit.
960 * cspi/spi_main.c (cspi_object_ref):
961 Duplicate the corba object passed in, since we're keeping it around.
963 * cspi/SPI_exit.c, cspi_cleanup:
964 Moved the releasing of the live refs to its own function, so we
965 can put it in g_atexit (). Call the appropriate shutdown API
966 depending on whethe calling client is a gnome app or not
967 (bonobo_main_quit or CORBA_ORB_shutdown).
969 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
970 Unref the listener when this method is called, after
971 deregistration. Updated the API docs to note this behavior.
973 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
974 Bugfixes: Ref the bonobo object when returning a parent or child
975 reference, or an AccessibleRelation. Generally made sure
976 BonoboObject refcount is incremented whenever we return an
979 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
980 Fixed typo/bug in signal declaration.
982 * libspi/accessibleeventlistener.h:
985 * libspi/application.c (spi_application_new):
986 Fixed leak in initialization.
989 Remembered to increment bonobo-object refcount when returning
990 children (applications) from desktop object.
991 Added (empty) finalize method.
993 * libspi/deviceeventcontroller.c:
994 Hold a ref to listeners inside DEControllerKeyListeners.
995 Added dec_key_listener_free() method. Use prepend instead of
996 append in key_listener list. Fixed some refcount madness and
997 leaks in the listener registration/deregistration - deregistration
998 now calls dec_key_listener_free() on listeners, and on the
999 temporarily constructed dec_key_listener() used to perform the search/match.
1001 * libspi/hypertext.c (spi_hypertest_finalize):
1002 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1003 class. Also fixed spi_hypertext_interface_new() and
1004 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1006 * libspi/hypertext.h:
1007 Removed pointless and duplicate AtkObject pointer from
1010 * libspi/keystrokelistener.c:
1011 Fixed incorrect type of keystroke_listener_parent_class,
1012 renamed keystroke_listener_object_finalize to
1013 spi_keystroke_listener_object_finalize.
1014 Fixed typo in signal declaration
1015 (spi_keystroke_listener_class_init).
1017 * libspi/registry.c:
1018 Added funcsions spi_listener_struct_new() and
1019 spi_listener_struct_free() to help with memory management issues.
1020 We also now use these methods instead of gnew + poking stuff into
1021 the struct, and to decrement listener counts/free the listeners
1022 when deregistering them.
1023 Fix more refcount bugs in getDesktop() and
1024 getDeviceEventController().
1027 De-ref the desktop after enumerating the applications. Explicitly
1028 decrement the refcounts on the created listeners on exit (using
1029 _unref for keystroke listeners, and via the
1030 deregisterGlobalEventListenerAll command for other event
1033 2001-11-27 Michael Meeks <michael@ximian.com>
1035 * cspi/spi-listener.h: fixup enum.
1037 2001-11-27 Michael Meeks <michael@ximian.com>
1039 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1040 (cspi_keystroke_listener_new): Use the cspi variants.
1042 2001-11-26 Michael Meeks <michael@ximian.com>
1044 * test/keysynth-demo.c: fix 2 compile warnings, missing
1047 * test/simple-at.c (report_focussed_accessible),
1048 (report_focus_event, report_button_press),
1049 (check_property_change, is_command_key),
1050 (report_ordinary_key_event, report_command_key_event): upd.
1052 * util/mag_client.h: include pre-requisites.
1054 * libspi/accessibleeventlistener.c
1055 (spi_event_listener_object_finalize): free any lingering
1058 * libspi/keystrokelistener.c
1059 (keystroke_listener_object_finalize): ditto.
1061 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1062 callbacks, with cspi types.
1064 * cspi/spi_event.c (createAccessibleEventListener): chain to
1065 (AccessibleEventListener_addCallback): here.
1066 (createAccessibleKeystrokeListener): chain to
1067 (AccessibleKeystrokeListener_addCallback): here.
1069 * libspi/keystrokelistener.c
1070 (spi_keystroke_listener_class_init): add signal.
1071 (impl_key_event): emit the event.
1072 (boolean_handled_accumulator): impl.
1073 (marshal_BOOLEAN__POINTER): add, gack.
1075 * libspi/accessibleeventlistener.c
1076 (spi_event_listener_class_init): add signal.
1077 (impl_accessible_event_notify_event): emit the signal &
1078 make the loop efficient.
1079 (spi_event_listener_add_callback): prepend the callback.
1081 * libspi/accessibleeventlistener.h: add an 'event' signal,
1082 decl type on callback.
1084 * libspi/keystrokelistener.h: ditto.
1086 * cspi/spi-listener.h: make methods typesafe and
1087 make them use the new event typedefs.
1089 * test/simple-at.c (report_focussed_accessible):
1090 include mag_client.h
1091 Use *(void *)text_interface not the other thing.
1093 * configure.in: add gtk to registryd bits - since we use
1096 * util/magnifier.c: include libbonobo.h
1098 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1100 * test/keysynth-demo.c:
1101 Turned this into a simple scanning keyboard, to demonstrate the
1102 use of g_timeout_add () as a means of creating timers for
1103 scanning, and the use of GtkStyle for visually indicating when
1104 virtual keyboard elements are selected.
1106 keysynth-demo now listens to any keyboard keys with zero-valued
1107 keycodes (i.e. 'unused' keys) and interprets them as
1110 Reworked the shiftlatch code so that shift-down state isn't held
1111 for long periods (it's only synthesized immediately prior to
1112 the keysynth event it's modifying). Note that shiftlatch in this
1113 demo is a convenience, not intended to take the place of AccessX
1114 which is the better choice for getting 'sticky' modifier keys.
1116 * libspi/deviceeventcontroller.c:
1117 * at-bridge/bridge.c:
1118 * cspi/spi_registry.c:
1119 Removed some debug print stuff, and put other verbosity in #ifdef
1124 Implemented some more of the magnifier IDL for the simple
1125 magnifier: namely, getZoomRegionParams.
1126 Added mag_x and mag_y members to MagnifierData struct, aid of this
1128 Added GtkWindow::realize signal handler to magnifier, to keep it
1129 from receiving keyboard focus from the WM.
1131 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1133 * cspi/spi-private.h: my guess at what michael forgot
1134 before he ran off to NZ :-)
1136 2001-11-23 Michael Meeks <michael@ximian.com>
1138 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1139 comment out non existant method invoke so we link.
1141 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1142 use bonobo_exception_get_text for more friendly warnings.
1144 * cspi/spi.c (Obj_Add): move into spi_main & rename
1145 spi_object_add; kill spi.c
1147 * cspi/spi_registry.c
1148 (deregisterGlobalEventListener),
1149 (deregisterGlobalEventListenerAll),
1150 (registerGlobalEventListener): fix exception leaks.
1152 * cspi/spi_main.c (spi_exception): impl. helper, so we
1153 don't leak exceptions.
1155 * cspi/spi_selection.c
1156 (AccessibleSelection_deselectSelectedChild): return the
1159 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1160 (spi_registry): ditto.
1161 (SPI_init): guard against double inits.
1163 * cspi/*.c: use spi_ev (), and spi_registry () where
1164 appropriate - a temporary hack until we have something
1165 better. Use spi_object_add
1167 2001-11-22 Michael Meeks <michael@ximian.com>
1169 * cspi/Makefile.am: re organise, install the headers.
1171 * cspi/*.h: add G_BEGIN/END_DECLS
1173 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1176 Added non-preemptive keylistener for key events with no modifiers
1177 and shift-only modifier.
1179 * libspi/keystrokelistener.c:
1180 Removed some verbose diagnostics printout.
1182 * cspi/spi_registry.c:
1183 Fixed a bug that caused all key listeners to be registered as
1186 * libspi/deviceeventcontroller.c:
1187 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1188 for non-preemptive key masks.
1191 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1193 * docs/reference/idl/at-spi-idl-docs.sgml:
1194 * docs/reference/idl/at-spi-idl-sections.txt:
1195 * docs/reference/idl/at-spi-idl-overrides.txt:
1196 Added missing files.
1198 * docs/reference/Makefile.am:
1199 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1200 to scan the IDL files :-(
1205 Added .cvsignore files.
1207 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1209 * libspi/deviceeventcontroller.c:
1210 * libspi/keystrokelistener.c:
1212 * cspi/spi_registry.c:
1213 Added filters for KeySets, KeyEventSeq, and event types to key
1214 event dispatching, so listeners should only receive those events
1215 that they requested :-)
1217 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1222 * docs/reference:Makefile.am:
1223 * docs/reference/cspi:
1224 * docs/reference/cspi:Makefile.am:
1225 * docs/reference/cspi:tmpl:
1226 * docs/reference/cspi:tmpl:*.sgml:
1227 * docs/reference/idl:
1228 * docs/reference/idl:Makefile.am:
1229 * docs/reference/idl:at-spi-idl-sections.txt:
1230 * docs/reference/idl:at-spi-idl-docs.sgml:
1231 * docs/reference/idl:tmpl:
1232 * docs/reference/idl:tmpl:*.sgml:
1234 Restructured docs directory to allow separate 'reference' docs
1235 section, and forked idl and cspi docs. Added the sgml template
1236 files to CVS. Added the first sections/structural sgml for the
1239 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1241 * configure.in, libspi/Makefile.am: find libXtst.
1243 2001-11-21 Michael Meeks <michael@ximian.com>
1245 * test/accessx-gui.c: s/spi_value/value/ - doh.
1247 * libspi/base.[ch]: add.
1249 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1251 * idl/Accessible.idl:
1252 * idl/Application.idl:
1255 Started gtk-doc cleanup on IDL.
1257 * libspi/deviceeventcontroller.c:
1258 Added and connected non-preemptive key notification from the
1259 toolkits (in addition to the pre-emptive support from XServer
1260 which we had before, but which causes 'focus flashing'). Filters
1261 are presently limited to key modifiers and global/non-global,
1262 KeySets are presently ignored, as are KeyEvent masks.
1264 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1265 structs into the persistant structure rather than just storing
1266 pointers to things that might not persist across servant
1269 The XGrabKey call now does async keygrabs, because synchronous
1270 ones were deadlocking with GDK_event code in a very nasty way.
1272 Added boolean to internal method notify_keylisteners, to indicate
1273 whether the event came from the 'toolkit source' or the 'global
1274 (XServer) source' - this is used in the notification process to
1275 determine which listeners to send the event to.
1277 deviceeventcontroller.c is now warning-free.
1279 * libspi/registry.c:
1280 Fixed regression in application de-registration.
1281 Also fixed some really brain-dead weirdness having to do with
1282 event dispatching - event structs are now duplicated before being
1283 re-marshalled in the dispatch to listeners. This also fixes a
1284 Solaris build problem.
1287 2001-20-11 Michael Meeks <michael@ximian.com>
1290 (impl_accessibility_registry_deregister_global_event_listener):
1293 * libspi/deviceeventcontroller.c
1294 (spi_device_event_controller_check_key_event): return
1295 FALSE on no virtual method.
1297 * libspi/*..h: make includes work on a correctly pathed install.
1299 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1301 * libspi/application.h: kill unused ( and whacked out )
1302 gboolean *spi_application_set_id (AtkObject *app, long id);
1304 2001-20-11 Michael Meeks <michael@ximian.com>
1306 * libspi/*.[ch]: further convert to bonobo's type func
1307 macros, remove redundnant casts etc.
1309 * libspi/text.c s/accessibility_text/spi_text/g,
1310 re-order to de-cruft.
1312 * libspi/hypertext.c: re-order to kill a huge slew
1313 of redundant forward decls.
1315 * libspi/relation.c: ditto.
1317 * libspi/image.c: ditto.
1319 * */.cvsignore: update
1321 2001-20-11 Michael Meeks <michael@ximian.com>
1323 * libspi/deviceeventcontroller.c
1324 (_controller_register_with_devices): use g_getenv,
1325 kill stdlib.h include.
1327 * libspi/keystrokelistener.c
1328 (spi_keystroke_listener_get_type): kill
1329 (spi_keystroke_listener_class_init),
1330 (spi_keystroke_listener_init): rename to this.
1332 * libspi/text.c (impl_getAttributes): fix warning / bug.
1334 * libspi/*.[ch]: more headers, includes and over commenting.
1336 2001-20-11 Michael Meeks <michael@ximian.com>
1338 * libspi/*.[ch]: fixup headers, includes and over commenting.
1340 * libspi/image.c (impl__get_imageDescription): const
1341 correctness warning fix. remove redundant casting.
1343 * libspi/table.c (impl_getRowDescription): ditto.
1344 (impl_getColumnDescription): ditto.
1346 * libspi/libspi.h: add.
1348 2001-19-11 Michael Meeks <michael@ximian.com>
1350 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1352 * libspi/component.c (accessibility_component_get_type):
1353 rename to (spi_component_get_type): and macroify.
1354 (accessibility_component_init): rename to
1355 (spi_component_init): this
1356 (accessibility_component_class_init): rename to
1357 (spi_component_class_init): this
1359 * libspi/action.c (spi_action_get_type): kill, use the macro.
1361 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1364 * libspi/application.c (spi_application_object_event_listener),
1365 (impl_accessibility_application_register_object_event_listener):
1366 warning fixes / const understanding updates.
1368 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1371 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1373 * libspi/spi_accessible.c: Added docs and C bindings for
1374 AccessibleStateSet. (No implementations yet). Documentation
1375 coverage for C bindings now 100%. Made docs for event listeners
1380 boolean notifyListenersSync (in DeviceEventListener listener,
1381 in DeviceEvent event);
1383 oneway void notifyListenersAsync (in DeviceEventListener listener,
1384 in DeviceEvent event);
1386 Added DeviceEventListener and DeviceEvent structs (may deprecate
1387 KeyStroke and KeystrokeListener in favor of this generic
1388 event/listener framework for devices).
1390 * libspi/deviceeventcontroller.c:
1392 Changed some key listener code to take masks, etc., and paved the
1393 way for integration of toolkit/non-preemptive key events. Changed
1394 signatures of some internal methods.
1396 * at-bridge/bridge.c:
1397 Fixed regression connecting to interface signals, apparently
1398 caused by GTK+ changes.
1400 Added an internal bridge_state_listener to deal with
1401 property-change:accessible-state signals.
1403 Changed the key_listeners GList to store structs (including masks,
1404 etc.) instead of just CORBA_Objects (required for full
1405 implementation of key listener API).
1407 Connected the bridge to all currently supported Atk signals.
1408 Events now supported:
1409 object:property-change
1410 object:property-change:accessible-name
1411 object:property-change:accessible-state
1412 object:property-change:accessible-description
1413 object:property-change:accessible-parent
1414 object:property-change:accessible-value
1415 object:property-change:accessible-role
1416 object:property-change:accessible-table-caption
1417 object:property-change:accessible-table-column-description
1418 object:property-change:accessible-table-column-header
1419 object:property-change:accessible-table-row-description
1420 object:property-change:accessible-table-row-header
1421 object:property-change:accessible-table-summary
1422 object:children-changed
1423 object:visible-data-changed
1424 object:selection-changed
1425 object:text-selection-changed
1427 object:text-caret-moved
1429 object:row-reordered
1431 object:column-inserted
1432 object:column-reordered
1433 object:column-deleted
1434 object:model-changed
1436 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1438 * libspi/hyperlink.c,h:
1439 Fixed some broken stuff in hyperlink.
1441 * libspi/relation.h:
1442 * libspi/relation.c:
1443 * cspi/spi_accessible.c:
1444 Initial implementations of AccessibleRelation methods, and docs.
1446 * libspi/accessible.c:
1447 Fixed a bug that caused SEGV if an accessible
1448 object's description is NULL, and a client
1449 requests it. An empty string is now returned.
1451 * cspi/spi_editabletext.c:
1452 * cspi/spi_hypertext.c:
1454 * cspi/spi_hyperlink.c:
1458 Doc coverage now 95%.
1460 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1462 One last namespacing revision:
1463 * libspi/accessibleeventlistener.[ch]:
1464 Renamed SpiAccessibleEventListener to SpiEventListener,
1465 (no need for two namespaces ;-)
1467 And lots of documentation fixes:
1469 * docs/at-spi-docs.sgml:
1470 Fixed 'underscore vs. hyphen' bug that was preventing
1471 the gtk-doc API docs from being automatically generated.
1474 * cspi/spi-listener.h
1476 * cspi/spi_accessible.c
1478 * cspi/spi_application.c
1479 * cspi/spi_component.c
1480 * cspi/spi_editabletext.c
1482 * cspi/spi_hypertext.c
1484 * cspi/spi_registry.c
1485 * cspi/spi_selection.c
1489 * docs/at-spi-docs.sgml
1490 * docs/at-spi-sections.txt
1492 Added and fixed up gtk-doc documentation in cspi.
1494 Interfaces now (fully) documented (subject to revision and enhancement):
1496 Event Listener Support
1498 AccessibleApplication
1502 AccessibleEditableText
1509 AccessibleRelationSet
1514 2001-14-11 Bill Haneman <bill.haneman@sun.com>
1516 * at-bridge/bridge.c:
1517 Initial work for toolkit-level key snooper connection by bridge.
1522 New typedefs and fixes to support new namespacing, and cleaner
1523 separation of cspi bindings from libspi bonobo implementation.
1524 Removed inconsistent and extraneous Spi* namespace prefix that
1525 had crept into cspi headers.
1526 Lots of comment fixes that sed had missed.
1528 * cspi/spi-roletypes.h:
1529 * cspi/spi-statetypes.h:
1530 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
1531 to AccessibleRoleType.
1533 * libspi/accessibleeventlistener.h:
1534 Fixed minor namespacing weirdness.
1536 * libspi/deviceeventcontroller.c:
1537 Reordered some internal API for device listeners.
1538 Changed the key registry final boolean to 'is_system_global'
1539 rather than 'is_synchronous', which is more descriptive of its
1541 Added spi_device_event_controller_new().
1542 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
1544 * libspi/keystrokelistener.[ch]:
1545 Namespaced KeystrokeListener to SpiKeystrokeListener.
1546 Changed uses of keymasks to use SPI_ prefix, and did other
1549 * libspi/keymasks.h:
1550 Namespaced keymask constants with SPI_ prefix.
1552 * libspi/registry.c:
1553 Some warning fixes, and knock-on fixes from namespace changes.
1556 Added rules for accessx-gui test program.
1558 * test/accessx-gui.c:
1559 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
1560 utility. It doesn't actually use at-spi, but it's still cool and
1563 * test/keysynth-demo.c:
1567 Fixes so that these test clients work properly with the namespaced
1568 libraries. (Incompletely tested for technical reasons, fixes may follow)
1571 2001-13-11 Michael Meeks <michael@ximian.com>
1573 * libspi/application.c
1574 (impl_accessibility_application_get_version),
1575 (impl_accessibility_application_get_toolkit_name):
1577 (impl_accessibility_application_set_id),
1578 (impl_accessibility_application_get_id): remove
1579 redundant casting code.
1581 * libspi/action.c (impl_getDescription): fix warnings.
1583 * libspi/accessible.c
1584 (impl_accessibility_accessible_get_parent),
1585 (impl_accessibility_accessible_get_child_at_index),
1586 (impl_accessibility_accessible_get_state),
1587 (impl_accessibility_accessible_get_relation_set):
1588 warning fixes & include action.h
1590 2001-13-11 Michael Meeks <michael@ximian.com>
1592 * *.[ch] fix bits I screwed up:
1594 s/([^ \tb(\*\&\?\",])spi_/\1/g;
1595 s/([^ \tb(\*\&\?\",])Spi/\1/g;
1597 2001-13-11 Michael Meeks <michael@ximian.com>
1599 * *.[ch] Namespace libspi into spi_ and Spi.
1601 2001-13-11 Michael Meeks <michael@ximian.com>
1603 * Makefile.am: dist & install at-spi-1.0.pc
1605 * libspi/Makefile.am: install into at-spi-1.0
1607 * idl/Makefile.am (idldir): install into at-spi-1.0
1609 * at-spi-1.0.pc.in: add.
1611 * configure.in: build it.
1613 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1615 * test/keysynth-demo.c:
1616 Use a 'realize' signal-handler to set the WM properties for
1617 the virtual keyboard, rather than making it a "POPUP" type
1618 override-redirect window (thanks to anders carlsson for that
1621 2001-11-11 Bill Haneman <bill.haneman@sun.com>
1624 * test/keysynth-demo.c:
1625 Added new test of key synthesis, which creates a simple
1626 (mouse-operated) onscreen keyboard. It inserts key events into
1627 the currently-focused window, thus it does not grab keyboard focus
1630 * cspi/spi_registry.c:
1631 Added C binding for AT-SPI generateKeyEvent.
1633 * libspi/deviceeventcontroller.c:
1634 Added call to XFilterEvent so that key listener works with XIM (we
1635 hope). Added event_synth_type to generateKeyEvent, so that we can
1636 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
1637 synthesize a press/release pair for KeySyms.
1639 2001-11-09 Bill Haneman <bill.haneman@sun.com>
1641 * libspi/Makefile.am:
1642 * registryd/Makefile.am:
1643 (temporary) hack to include libXtst in libspi and registryd.
1644 (Needed for keystroke synthesis, see below).
1647 Improved API for registerKeystrokeListener, in accordance with
1648 discussions with Gnopernicus team and X server research.
1650 * libspi/registry.c:
1651 * libspi/deviceeventcontroller.c:
1652 * libspi/accessible.c:
1653 * libspi/keystrokelistener.c:
1654 Changes and fixes to support keylisteners for potentially
1655 consumed key events (that is, 'passive grabs').
1656 Added implementation for generateKeyEvent() [untested].
1659 Changes to registerKeystrokeListener() API, as above.
1660 Added deregisterGlobalEventListenerAll(), and
1661 deregisterKeystrokeListener(), which are needed for clean exit of
1663 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
1664 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
1666 * cspi/spi_registry.c:
1667 Added implementations of function prototypes mentioned above.
1669 * registryd/registryd.c:
1670 Added the key listener event source as a g_timeout(), to allow
1671 receipt of key events that are not caught by GDK (since GDK
1672 doesn't support passive keygrabs, this was necessary).
1675 Changed to attach a keylistener to 'Alt' keys, and
1676 respond to the following keycommands: Alt-M (toggle magnifier);
1677 Alt-F (toggle speech); Alt-Q (quit).
1678 Added an exit routine to deregister the listeners, and a key
1679 listener that prints some key info to the console when a key
1680 matches the listener mask (and is thus received by the listener).
1682 * util/idl/Magnifier.idl:
1683 Changes to magnifier API to support multiple zoom regions,
1684 non-uniform scaling in x and y, markDirty, and a host of other
1685 features that would be useful to magnification.
1688 * util/mag_client.c:
1689 * util/mag_client.h:
1690 * util/mag_control.c:
1692 Source code changes to support the above IDL changes.
1695 As above, and also changes to use a (slower) generic conversion
1696 path for colormap conversions, since the fast RGB conversions have been
1697 reported to fail for 16-bit displays.
1699 2001-10-26 Michael Meeks <michael@ximian.com>
1701 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
1703 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
1705 * at-bridge/Makefile.am: fix LDFLAGS.
1707 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1709 * at-bridge/bridge.c:
1710 Re-worked listeners for toolkit events, now we have signal
1711 and property listeners. Added a private method
1712 register_atk_event_listeners(), which registers with the
1713 various atk and gtk signals we need to monitor in order to emit
1715 Added emission hook for AtkObject:property-change events, to
1716 support the 'property listeners'.
1717 Fixed some alloc()s of Accessibility_Event structs to use CORBA
1720 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
1721 which emit warnings and exit, respectively, if CORBA errors occur
1722 during remote calls, and we now use these methods to check most of
1723 our CORBA calls in the C bindings.
1725 * cspi/spi_accessible.c:
1726 Changed AccessibleSelection_refSelectedChild() to
1727 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
1728 now increment refcounts.
1730 * cspi/spi_component.c:
1731 Fixed some long pointer casts (dangerous!) to pass pointers to
1732 CORBA_longs of the proper type to the CORBA stubs, and copy the
1733 data into the longs that were passed into the C bindings code.
1735 * at-bridge/bridge.c:
1737 * libspi/accessible.c:
1738 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
1739 hyperlinks, AtkHyperlink is an object type.
1741 * libspi/application.c:
1742 Added various conversions to and from "generic" event types and
1743 atk-specific types; this is really part of the 'bridge'
1744 implementation but is valid for all AtkObject-based accessibility
1747 * libspi/editabletext.c:
1748 Fixed nasty bug wherein editable text's finalize method was
1749 unref'ing tha AtkObject reference that the text parent class was
1750 about to unref _again_. There was also a nasty inheritance bug
1751 that meant that the AccessibleEditableText class was corrupt.
1753 * libspi/selection.c:
1754 Provided implementations for some selection API that was broken.
1756 * idl/Application.idl:
1757 Added registerObjectEventListener () method.
1760 Fixed a number of return values that were Bonobo_Unknowns from
1761 bonobo_object_corba_objref(), which I
1762 forgot to dup before returning. Changed instances of
1763 bonobo_object_corba_objref (bonobo_object(o)) to
1764 BONOBO_OBJREF(o), for concision and clarity.
1766 <2001-10-13 Louise Miller <louise.miller@sun.com>
1768 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
1769 idl/Event.idl, idl/Registry.idl
1770 Changed these files to include Bonobo_Unknown.idl instead
1773 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
1775 * libspi/component.c libspi/component.h:
1776 Fixed typo. Added assertions for object checks in
1777 AccessibleComponent code.
1779 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
1781 * idl/Accessible.idl:
1782 Added 'isEqual (Accessible *object)'
1783 method for Accessible. (Not Yet Implemented).
1786 Changed signature of registerKeystrokeListener() to
1787 take a KeySet and KeyEventSeq so that specific keys and event
1788 types could be requested for monitoring, and added a flag
1789 is_synchronous so that either synchronous or asynchronous
1790 notification could be requested. (However this is not all
1791 implemented yet). This also meant adding two new typedefs,
1792 KeyEventSeq and KeySet.
1795 Added two new relations, RELATION_TOOLTIP_FOR and
1796 RELATION_LEAFNODE_OF.
1799 Added new state, STATE_HAS_TOOLTIP.
1801 * libspi/text.c, editabletext.c:
1802 Added new assertions to all casts of bonobo-objects from
1803 CORBA servants, to prevent Text API calls on non-text objects.
1804 Changed suspect casts of int-pointer types, so that we
1805 always send a valid CORBA_long pointer to the CORBA APIs that use
1806 in/out long parameters. We then have to copy from the CORBA_long
1807 into the regular long or int for return to the C bindings, or
1808 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
1811 * libspi/deviceeventcontroller.c:
1812 Cleaned these sources up.
1814 Changed return type for getCharacterAtOffset to
1815 CORBA_unsigned_long, to allow for 32-bit characters.
1818 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
1822 Fixed 'make dist' so that distro compiles...
1823 * libspi/keymasks.h:
1825 * cspi/spi-listener.c:
1826 KeystrokeListenerCB now returns a boolean.
1828 Added KeyEventType struct, and KeyStroke.
1829 Also added createKeystrokeListener(),
1830 KeystrokeListener_addCallback(),
1831 KeystrokeListener_removeCallback(), and added a keymask to
1832 registerKeystrokeListener().
1833 * cspi/spi_accessible.c:
1834 Changed numerous return types for interfaces from
1835 AccessibleComponent to Accessible<InterfaceName>; this was
1836 probably a cut-and-paste error.
1838 Implementations of new KeystrokeListener api (from spi.h,
1841 Changes to key modifier mapping.
1842 Created ControllerEventMask struct.
1843 Made DeviceEventController derive from Bonobo::Unknown.
1845 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
1846 * libspi/deviceeventcontroller.c:
1847 Added a number of new internal (private) methods.
1848 * libspi/editabletext.c:
1849 * libspi/editabletext.h:
1850 Fixed a number of bugs related to the fact that
1851 editabletext inherits from text. Fixed the EditableText struct,
1852 the init() call, and use correct casts when calling Text methods
1853 from an EditableText object. Removed (duplicate) atko from the
1854 EditableText structure, we use the one in the parent Text
1855 structure via the casts mentioned above.
1856 * libspi/keystrokelistener.[ch]:
1857 * libspi/registry.c:
1858 Changes in support of keyboard handling (above).
1860 Keyboard handling, though partly functional, is still not
1861 recommended for at-spi client use as there is considerable
1862 work yet to be done.
1865 Changed some places where pointers to various int types
1866 are cast to be pointers to CORBA_long types and vice-versa:
1867 pointer casting is not safe so we pass pointers of the correct
1868 types and then cast the result before putting it into the target
1871 * libspi/text.h: minor typos corrected.
1873 We now speak not only the name of a Text element, but the
1874 first sentence of its content, when it receives focus.
1875 I also changed the text compression to 75% from 50%.
1876 * util/Accessibility_Util.server.in:
1877 Changed the default magnifier type to be a 3x vertical
1878 splitscreen magnifier (was previously a 2x horizontal one).
1880 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
1882 * libspi/keystrokelistener.h:
1883 * libspi/keystrokelistener.c:
1884 Initial functional implementations of KeystrokeListener.
1887 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
1889 Fixed string handling for NULL strings in libspi.
1890 Added spi_freeString to free strings returned by C bindings.
1892 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
1894 * libspi/keystrokelistener.h:
1895 * libspi/keystrokelistener.c:
1896 Began (no-op) implementations of KeystrokeListener
1898 * libspi/deviceeventcontroller.c:
1899 * libspi/deviceeventcontroller.h:
1900 Began creating implementations of DeviceEventController,
1901 to handle keystroke and mouse event listening and
1903 * libspi/accessible.c:
1904 Stubbed-in the implementations for
1905 Accessibility_Accessible_getState and
1906 Accessibility_Accessible_getRelationSet.
1907 * libspi/registry.c:
1908 Improved de-registration process and fixed some bugs,
1909 deregistration now works correctly.
1911 Added initialization of applications list (to NULL).
1913 Reduced speech compression from 0.5 to 0.7, for demo.
1914 Changed call to gdk_window_set_decorations()
1915 to gtk_window_set_decorated().
1916 * at-bridge/bridge.c:
1917 Bridge now deregisters when app exits, via
1918 registration of a cleanup function
1919 with the g_atexit() call.
1920 Required making 'app' static, renamed 'this_app'.
1921 Fixed broken use of bonobo_init, passing argv wrongly.
1923 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
1927 Created a new directory for
1928 accessibility-related utilities, primarily for
1929 testing and demo purposes, but with possible
1936 Onscreen magnifier utility that
1937 is implemented as a bonobo service.
1939 * util/mag_client.c:
1940 * util/mag_client.h:
1941 Client-side support (simple C bindings)
1942 for Magnification service
1944 * util/mag_control.c:
1945 Client program example for
1946 Magnification service
1948 * util/Accessibility_Magnifier.server.in:
1949 Bonobo-activation file for the
1950 Magnification service.
1953 * util/idl/Magnifier.idl:
1954 IDL defining the bonobo Magnification
1958 Modifications to use the bonobo-activated magnifier
1959 above, in place of trying to connect to an existing
1960 magnifier that uses socket-listening IPC.
1962 If env variable MAGNIFIER is set, a magnifier service
1963 will be started if one does not exist.
1965 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
1966 * at-bridge/bridge.c:
1967 applied patch from Marc to build and run
1968 against new glib and gtk+ (seemed like a change
1969 to bonobo_init signature was made ?)
1971 made festival-server support turned off by default.
1972 Added support for a simple magnifier (off by default)
1973 which will be added to a 'util' directory later.
1974 * at-bridge/Makefile.am:
1975 Changed "application.h" header from a 'source'
1976 to a 'dependency' of libat-bridge.
1978 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
1986 Added interface implementation c files to list of
1987 includes so they are included in libcspi.
1990 Changed prototype of AccessibleAction_doAction to return a
1992 Changed prototype of AccessibleTable_getCaption to
1993 return an Accessible.
1994 Changed prototype of AccessibleTable_getSelectedRows
1995 and AccessibleTable_getSelectedColumns to
1996 return a long (returns the number of selected rows
1997 or columns respectively).
1998 Changed name of AccessibleText_refRunAttributes to
1999 AccessibleText_getAttributes.
2000 Changed prototype of AccessibleText_getCharacterExtents to
2001 return a void rather than a boolean.
2002 Added support for a AccessibleCoordType parameter
2003 specifying what type of coordinates are desired.
2004 Added an AccessibleCordType parameter to
2005 AccessibleText_getPointAtOffset.
2007 * cspi/spi_accessible.c:
2008 Added code to return the outstanding interfaces from
2009 Accessible_queryInterface.
2011 * cspi/spi_action.c:
2013 Corrected call to getNActions to call the c binding
2016 * cspi/spi_editabletext.c:
2018 Changed name from setRunAttributes to setAttributes.
2020 * cspi/spi_hyperlink.c:
2022 Changed call to getNAnchors to correctly call the c
2023 binding for an attribute.
2025 * cspi/spi_hypertext.c:
2027 Changed getImageDescription to correctly call the
2028 binding for an attribute.
2030 * cspi/spi_selection.c:
2031 Changed getNSelectedChildren to correctly call the c
2032 binding for the attribute.
2033 Changed refSelectedChild to getSelectedChild.
2037 Changed getCaption to return an Accessible.
2038 Fixed calls which retrieve attributes.
2039 Changed refAt to getAccessibleAt.
2040 Changed getNSelectedRows and getNSelectedColumns to
2044 Changed getCharacterExtents and getPointAtOffset to accept an
2045 AccessibleCoordType.
2047 Changed calls which retrieve attributes.
2048 Changed refRunAttributes to getAttributes.
2053 * idl/Hyperlink.idl:
2054 Changed n_anchors attribute to nAnchors to keep naming
2055 convention consistent.
2058 Made Table inherit from Bonobo::Unknown.
2059 Added nSelectedColumns and nSelectedRows attributes.
2062 Made Value inherit from Bonobo::Unknown.
2064 * libspi/hyperlink.c:
2065 Change for nAnchors attributte name change.
2067 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2075 Added interface implementation c files to list of
2076 includes so they are included in libcspi.
2079 Changed prototype of AccessibleAction_doAction to return a
2081 Changed prototype of AccessibleTable_getCaption to
2082 return an Accessible.
2083 Changed prototype of AccessibleTable_getSelectedRows
2084 and AccessibleTable_getSelectedColumns to
2085 return a long (returns the number of selected rows
2086 or columns respectively).
2087 Changed name of AccessibleText_refRunAttributes to
2088 AccessibleText_getAttributes.
2089 Changed prototype of AccessibleText_getCharacterExtents to
2090 return a void rather than a boolean.
2091 Added support for a AccessibleCoordType parameter
2092 specifying what type of coordinates are desired.
2093 Added an AccessibleCordType parameter to
2094 AccessibleText_getPointAtOffset.
2096 * cspi/spi_accessible.c:
2097 Added code to return the outstanding interfaces from
2098 Accessible_queryInterface.
2100 * cspi/spi_action.c:
2102 Corrected call to getNActions to call the c binding
2105 * cspi/spi_editabletext.c:
2107 Changed name from setRunAttributes to setAttributes.
2109 * cspi/spi_hyperlink.c:
2111 Changed call to getNAnchors to correctly call the c
2112 binding for an attribute.
2114 * cspi/spi_hypertext.c:
2116 Changed getImageDescription to correctly call the
2117 binding for an attribute.
2119 * cspi/spi_selection.c:
2120 Changed getNSelectedChildren to correctly call the c
2121 binding for the attribute.
2122 Changed refSelectedChild to getSelectedChild.
2126 Changed getCaption to return an Accessible.
2127 Fixed calls which retrieve attributes.
2128 Changed refAt to getAccessibleAt.
2129 Changed getNSelectedRows and getNSelectedColumns to
2133 Changed getCharacterExtents and getPointAtOffset to accept an
2134 AccessibleCoordType.
2136 Changed calls which retrieve attributes.
2137 Changed refRunAttributes to getAttributes.
2142 * idl/Hyperlink.idl:
2143 Changed n_anchors attribute to nAnchors to keep naming
2144 convention consistent.
2147 Made Table inherit from Bonobo::Unknown.
2148 Added nSelectedColumns and nSelectedRows attributes.
2151 Made Value inherit from Bonobo::Unknown.
2153 * libspi/hyperlink.c:
2154 Change for nAnchors attributte name change.
2157 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2159 implementations-- made server implementations own AtkObject pointers
2160 rather than their respective AtkInterrface pointers to fix
2161 refcounting. AtkHyperlink is still broken.
2163 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2164 * cspi/spi_accessible.c:
2165 Added method Accessible_Role_getName(),
2166 and requisite string array (role_names).
2167 Added conversion string_from_corba_strin() call
2168 to Accessible_getName and _getDescription.
2169 * libspi/accessible.c:
2170 Added implementation for Accessible_getRole()
2172 Added festival support, used if environment variable
2175 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2177 * at-bridge/bridge.c:
2178 Now allocate Accessibility_Event using
2179 Accessibility_Event__alloc() instead of g_new0().
2180 * libspi/accessibleeventlistener.c:
2181 Initialize AccessibleEventListener->callbacks to NULL.
2182 Fixed accessible__event_listener_init() param, changed to
2183 "AccessibleEventListener *" type.
2184 Changed a bonobo_object_release_unref() call to
2185 Accessibility_Accessible_unref().
2186 * libspi/listener.c:
2187 Changed Bonobo_Unknown_unref to (equivalent)
2188 Accessibility_Accessible_unref.
2189 * libspi/registry.c:
2190 Changed bonobo_object_release_unref to
2191 Accessibility_Accessible_unref.
2193 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2196 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2197 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2198 spi-util.c spi-util.h
2199 Implementations for C bindings to remaining accessibility
2202 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2205 changed return value of Action from void to boolean to
2206 bring in line with ATK.
2209 Changed getText funcions to return "out" start and end offsets.
2210 Changed getAttributes to take and offset and return the start
2211 and end offset of the attribute run.
2212 Changed getOffsetAtPoint and getCharacterExtents to take an
2213 enum describing whether coordinates are window or screen.
2216 libspi/action.c libspi/action.h libspi/editabletext.c
2217 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2218 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2219 libspi/image.h libspi/selection.c libspi/selection.h
2220 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2221 libspi/value.c libspi/value.h
2222 Added server implementations for outstanding ATK interfaces
2223 not yet implemented.
2225 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2228 Added (missing) getName() method.
2229 Made nActions an attribute.
2230 * idl/EditableText.idl:
2231 Changed order of params in setAttributes.
2232 * idl/Hyperlink.idl:
2233 Removed getAnchor, added getURI.
2235 Changed attributes to methods, for efficiency
2236 (so that getting extents can be done in one call)
2237 * idl/Selection.idl:
2238 Changed nSelectedChildren to attribute, and re-indented.
2239 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2241 * idl/Text.idl: reformatted to match our coding style.
2242 (temporarily?) removed getRowColumnAtOffset().
2243 Changed text selection API to support multi-select and
2244 non-contiguous selections, as in ATK.
2245 * idl/Value.idl: changed some methods to attributes.
2247 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2249 * libspi/listener.c(impl_notify_event):
2250 BonoboUnkown_unref the source instead
2251 of bonobo_object_release_unref - the ORB
2252 handles the releasing.
2254 * configure.in: require ORBit-2.3.94 for
2257 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2259 Tagged CVS repository 'EA_1_0'.
2260 * README.EARLY_ACCESS:
2261 Alphabetized acknowledgements list, and
2263 Listed some known dependencies of at-spi.
2265 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2267 * docs/at-spi-docs.sgml:
2268 * docs/at-spi-sections.txt:
2269 * docs/at-spi-overrides.txt: (Added zero-length file)
2270 Documentation improvements - gtk-doc should build
2271 docs for all implemented C bindings now.
2274 * cspi/spi.c: (New file)
2275 * cspi/spi_event.c: (New file)
2276 * cspi/spi_registry.c: (New file)
2277 * cspi/spi_accessible.c: (New file)
2278 * cspi/spi_application.c: (New file)
2279 * cspi/spi_component.c: (New file)
2280 Split spi_main.c into six parts, and included them from
2281 "spi.c". This is a bit of a hack, probably temporary,
2282 but required by gtk-doc, apparently.
2284 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2287 * docs/at-spi-docs.sgml:
2288 * docs/at-spi-sections.txt:
2290 Initial checkins/modifications for gtk-doc generation.
2293 Added (missing) interface query methods to Accessible's C binding.
2295 Added GenericInterface type definition.
2297 Added query for AccessibleComponent interface to focus event handler.
2298 Added printout of bounding box for focussed component.
2299 * libspi/component.c:
2300 Added partial implementation for AccessibleComponent to C binding.
2301 * idl/Application.idl:
2302 * libspi/registry.c:
2303 * libspi/listener.c:
2304 * libspi/application.c:
2305 * libspi/application.h:
2306 Changed "ID" attribute type from string to long.
2308 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2312 Made method naming consistent: methods taking object args
2313 start with uppercase, other methods (except those using
2314 acronyms) start with lowercase. Underscores delimit between
2315 object names and method names:
2316 SPI_init() - uppercase since it starts with an acronym.
2317 getDesktopCount () - lowercase start since no object param0.
2318 Accessible_getName() - uppercase object type name, studlyCaps method
2322 Added gtk-doc documentation for all currently implemented
2323 methods in the C bindings API.
2325 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2327 * Makefile.am : changed build order to build test last.
2330 Changed "createEventListener" to "CreateEventListener".
2331 * libspi/accessibleeventlistener.c :
2332 Bugfix for addition of callbacks.
2333 * test/Makefile.am :
2334 * test/simple-at.c :
2335 Added new test that uses the C bindings API.
2337 * libspi/listener.c :
2338 * libspi/registry.c :
2339 * libspi/accessibleeventlistener.c :
2340 * at-bridge/bridge.c :
2341 Renamed member "target" of Accessibility_Event to "source",
2342 which is more descriptive.
2345 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2349 * cspi/Makefile.am :
2350 Added makefile support for at-spi/cspi directory.
2353 * cspi/spi-listener.h : (NEW FILE)
2354 Added support for/use of spi-listener.h.
2356 C bindings now build successfully, with no warnings.
2357 * libspi/accessibleeventlistener.h : (NEW FILE)
2358 * libspi/accessibleeventlistener.c : (NEW FILE)
2359 * libspi/Makefile.am :
2360 Added new object type "AccessibleEventListener"
2361 which inherits from Listener, and allows attachment
2362 of in-process callbacks (so that a client with a listening
2363 object instance can add functionality to the local
2364 implementation, dynamically).
2366 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2368 * libspi/accessible.c:
2369 Add implementation for get_index_in_parent().
2371 Added #include of "spi-roletypes.h", and
2372 added enumerated type AccessibleCoordType.
2373 Added definition for KeystrokeListener (function type).
2376 * cspi/spi-statetypes.h :
2377 * cspi/spi-roletypes.h :
2379 Added these headers, used by spi.h.
2381 Added code (NOTE: not yet built by make).
2383 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2385 * libspi/Makefile.am: generate imodule
2386 at the same time as other idl compiler
2389 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2390 * libspi/registry.c :
2391 * libspi/application.c :
2392 * idl/Application.idl :
2393 Made registration with toolkit an application method,
2394 which is required since each app has its own toolkit static
2395 environment. Thus the bridge must register for
2396 notification of toolkit events from each application in turn.
2397 Toolkit notifications are now successfully registered for, and
2398 sent to the listening at client.
2400 Changed toolkit event string to use hyphens rather than underscores.
2401 * libspi/listener.c :
2402 listner now gives more info in debug mode - it reports the
2403 name of the event received, as well as the name of the source.
2406 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2408 * libspi/registry.c :
2409 added more implementation for toolkit events.
2410 Fixed bug such that toolkit event registrations
2411 (via atk) use the whole event name string, not
2413 Removed a useless call to an ORBit_ method.
2414 * at-bridge/bridge.c :
2415 Removed unused local sbuf[] variable.
2417 We now register for Gtk:GtkWidget:button_press_event
2418 events as well as "focus:" events.
2420 Add some more API from Registry.idl that was missing,
2421 for keystroke listening, keystroke and mouse event
2422 synthesis, and enumeration of accessible desktops.
2424 2001-08-16 Michael Meeks <michael@ximian.com>
2426 * configure.in: use AM_GLIB_GNU_GETTEXT.
2428 * Makefile.am (SUBDIRS): kill intl.
2430 2001-08-15 Michael Meeks <michael@ximian.com>
2432 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2434 * configure.in: upd.
2436 * configure.in: depend on a recent bonobo-activation that
2437 will find our server files ...
2439 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2441 * libspi/accessible.c : accessible_new() :
2442 Now we add the Component interface via bonobo_object_add_interface,
2443 if the contained AtkObject implements AtkComponent.
2444 * libspi/accessible.h : now include "component.h"
2445 * libspi/component.h :
2446 * libspi/component.c : added files - implementation of
2447 bonobo wrapper object for Accessibility/Component
2448 * libspi/listener.c :
2449 Added test code to check for Accessibility/Component:1.0
2450 interface and report whether it is implemented by the
2452 * libspi/registry.c :
2453 Now we check for not only the hash of the whole event
2454 string before relaying the event, we also check the
2455 "minor" event string (without the detail string).
2456 This allows event listeners to be registered against
2457 all events of a certain major+minor type, or just
2458 against a specific major+minor+detail type.
2459 * libspi/accessible.c :
2460 Added implementations for Accessible:get_parent(),
2461 Accessible:getChildCount(), and Accessible:getChildAtIndex().
2462 * libspi/registry.c :
2463 * libspi/listener.c :
2464 Replaced calls to Accessibility_Accessible_ref() and
2465 Accessibility_Accessible_unref() with
2466 calls to bonobo_object_dup_ref() and
2467 bonobo_object_release_unref(), so that the CORBA object
2468 is dup-ed and released when relayed, as well as the bonobo object.
2470 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2472 * libspi/Makefile.am,
2473 registryd/Makefile.am,
2474 at-bridge/Makefile.am.
2475 test/Makefile.am, configure.in:
2476 reverse previous changes.
2478 * /idl/Image.idl: fix typo.
2480 * test/Makefile.am: put DEBUG_FLAGS
2483 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2485 * test/app.c: use argv[0] instead of
2488 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2490 * libspi/Makefile.am,
2491 registryd/Makefile.am,
2492 at-bridge/Makefile.am.
2493 test/Makefile.am, configure.in:
2494 cleanup, replace individual LIBS/CFLAGS with
2495 AT_COMMON_{LIBS|CFLAGS}.
2499 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2501 * configure.in, libspi/Makefile.am:
2502 Change IDL path checking for bonobo-activation
2505 2001-08-15 Bill Haneman <bill.haneman@sun.com>
2507 * registryd/registry.c : separated event listeners to use
2508 3 separate lists (focus, window, toolkit). Began testing
2509 event names against hashes before relaying events.
2510 * test/at.c : now register for events of type "focus:"
2511 * test/app.c : now generate events of type "focus:"
2512 * at-bridge/bridge.c : register with ATK for focus events,
2513 and we now relay those focus events to any "focus:" listeners.
2514 This now works with the bridge as a GTK_MODULE when running test/at.
2515 * libspi/registry.c :
2516 * libspi/listener.c :
2517 now we ref event sources before propagating, and unref on receipt.
2518 * libspi/registry.c :
2519 some changes to internal structs, to support event typestring hashes.
2520 * text/app.c : changed the way the appname is generated.
2521 * cspi : added directory that will hold the C bindings library for
2522 non-CORBA/bonobo-savvy clients.
2523 * cspi/spi.h : header file that contains the function prototypes for the C binding.
2524 * idl/Component.idl : added in parameter to indicate coord system for
2525 geometry-related calls.
2526 * idl/Hyperlink.idl : added readonly n_links attribute
2527 * idl/Image.idl : changed methods to attributes.
2529 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2531 * at-bridge/Makefile.am: link against
2532 ../libspi/libspi.la instead of -lspi.
2534 * at-spi/test/app.c: include
2535 bonobo-activation.h. Use a default appname
2536 if one is not provided.
2538 2001-08-14 Bill Haneman <bill.haneman@sun.com>
2540 * idl/Registry.idl : temporarily changed register_Application
2541 to oneway, to work around issue with initial registration
2543 * idl/Application.idl : changed attribute "id" from readonly
2544 to read-write, since it needs to be assigned by Registry.
2545 * registryd/registryd.c : added call to set application id
2547 * registryd/registry.c : changed de-registration procedure to
2548 use CORBA_Object_hash() to find matching object ref in application
2549 lists and listener lists.
2550 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
2551 began distinguishing between event types (work in progress).
2553 2001-08-13 Bill Haneman <bill.haneman@sun.com>
2556 * libspi/application.c:
2557 Added implementations for get/set id, get_toolkitName,
2559 * registryd/registryd.c :
2563 Converted from use of OAF to bonobo-activation.
2564 * libspi/desktop.h :
2565 * libspi/desktop.c :
2567 Removed references to atksimpleobject, since base atkobject
2568 implementation now provides functionality we need.
2569 * libspi/atksimpleobject.c :
2570 * libspi/atksimpleobject.h :
2575 * at-bridge/Makefile.am
2576 * at-bridge/bridge.c
2579 Added directory "bridge" and contents, and added dependencies
2580 in Makefile.am/configure.in.
2581 Initial checkin of "at-bridge".
2582 This code is a GTK_MODULE which automatically registers
2583 GTK+ apps with the accessibility registry, using an object
2584 reference to the root ATK object.
2586 2001-08-10 Mark McLoughlin <mark@skynet.ie>
2588 * po/Makefile.in.in: Remove. Again. If this
2589 doesn't get autogenerated - you need to update
2592 2001-08-07 Mark McLoughlin <mark@skynet.ie>
2594 * po/Makefile.in.in: Add. Again.
2596 2001-07-31 Bill Haneman <bill.haneman@sun.com>
2598 * libspi/accessible.c : added support for 'description' property.
2599 * libspi/accessible.c
2601 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
2602 (since the two are now equivalent in libbonobo)
2610 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
2611 Bonobo::Unknown as does Accessibility::Accessible.
2612 * idl/StreamableContent.idl : as above, and replaced internal InputStream
2613 interface with Bonobo::Stream, since it was redundant with it.
2614 (The Stream returned by a StreamableContext object is expected to
2615 implement only a subset of Bonobo::Stream)
2617 2001-07-28 Anders Carlsson <andersca@gnome.org>
2619 * libspi/accessible.c (accessible_object_finalize): Change
2620 g_free to g_object_unref since the AtkObject is a GObject.
2622 2001-07-30 Bill Haneman <bill.haneman@sun.com>
2624 * idl/Accessibility.idl: add new IDL files
2627 * idl/Action.idl: Definitions of actionable UI object
2628 * idl/Component.idl: Definitions of UI component geometry, etc.
2629 * idl/Hyperlink.idl: Defs of hyperlink behavior
2630 * idl/Image.idl: Def of accessible image
2631 * idl/Selection.idl: Definition of UI object with selectable children
2632 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
2633 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
2634 * idl/Text.idl: Interface defs for UI elements with complex textual content
2635 * idl/Value.idl: Definition of UI element that is a value controller or display
2637 2001-07-27 Michael Meeks <michael@ximian.com>
2639 * po/Makefile.in.in: remove autogenerated file from CVS.
2641 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
2644 * idl/Registry.idl: include guard.
2646 * idl/Accessibility.idl: Add, and include all the other IDL
2649 * idl/*.idl: remove mass of pragmas etc.
2651 2001-07-26 Michael Meeks <michael@ximian.com>
2653 * registryd/Makefile.am (registryd_SOURCES): remove
2656 2001-07-27 Mark McLoughlin <mark@skynet.ie>
2658 * libspi/.cvsignore, registryd/.cvsignore,
2659 test/.cvsignore: updated.
2661 * po/Makefile.in.in: gettext update.
2663 2001-07-25 Bill Haneman <bill.haneman@sun.com>
2665 * initial CVS checkin
2667 2001-06-29 Michael Meeks <michael@ximian.com>
2669 * configure.in: add AM_CONFIG_HEADER to gen config.h