1 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
3 * registryd/deviceeventcontroller.c
4 Fixed compilation error caused by calling gettimeofday()
7 2002-10-18 Bill Haneman <bill.haneman@sun.com>
12 Added template for HAVE_XKB.
15 Changes to check for XKB, and to set the HAVE_XKB #define if it
19 ()impl_notify_event): Make failure to get event source name
22 * registryd/deviceeventcontroller.c:
23 (#include): include X11/XKBlib.h.
24 (DEControllerPrivateData) : New struct.
25 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
27 (dec_synth_keycode_press) (dec_synth_keycode_release):
28 New methods; split the key synthesis code into these methods.
29 They check XKB settings before determining the "time" values to
30 pass to Xtest; this fixes bug #95828.
31 (impl_generate_keyboard_event): Changed to use methods above,
32 instead of callng Xtest directly.
33 (spi_device_event_controller_init): Initialize new privae struct s
35 (spi_device_event_controllr_object_finalize):
36 Free the (new) private data.
38 * registryd/deviceeventcontroller.h:
39 Add new gpointer to end of struct data.
41 2002-10-16 Bill Haneman <bill.haneman@sun.com>
44 Incremented revision to 1.1.2, SONAME is still '.so', library
45 extensions are ".so.0.0.2".
47 * registryd/deviceeventcontroller.c:
48 FIXES FOR #93592 and #95940.
49 (statics): renamed mouse_button_state to mouse_mask_state,
50 added key_modifier_mask.
51 (spi_dec_poll_mouse_moved):
52 Added key modifier checks, and emit "keyboard:modifiers"
53 events when the key modifiers currently in use change.
54 Also generate "mouse:abs" events periodically, even if the mouse
55 is stationary (should we?).
56 Alternatively we could generate "mouse:abs" events for either all
57 mouse movements, or every 'nth' mouse movement, or at the
58 beginning and end of every "active" mouse period.
60 * test/event-listener-test.c:
61 (main): Added listener for "keyboard:modifiers" events.
63 2002-10-15 Bill Haneman <bill.haneman@sun.com>
66 Added key mask #defines for mouse buttons; e.g.
67 SPI_KEYMASK_BUTTON1, etc.
70 Incremented dependency on ATK to version 1.1.0. (This dependency
71 is probably premature but will soon be real enough).
73 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
75 * libspi/hyperlink.[ch]
76 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
77 (get_hyperlink_from_servant): Check object is AtkHyperlink not
80 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
85 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
87 * registryd/deviceeventcontroller.c
88 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
90 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
91 keyboard_mode so that XAllowEvents() can be called.
95 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
97 * cspi/spi-accessible.c: Correct names of roles returned by
98 AccessibleRole_getName(). Fixes bug #95055.
100 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
102 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
105 * registryd/registry.c
106 (desktop_remove_application: Write diagnostic message to stderr for
109 (impl_accessibility_registry_deregister_global_event_listener):
110 Correct size of lists array. This addresses bug #94555).
112 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
114 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
117 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
119 * registryd/Makefile: Add CLEANFILES so that .server file is removed
122 * registryd/registry.c (impl_registry_notify_event): Remove
123 unnecessary call to parser_event_type().
125 * docs/reference/cspi/tmpl/spi_component.sgml:
126 Add reference to SPI_LAYER_WINDOW.
128 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
130 * registryd/registry.c
131 (desktop_add_application): Remove leak.
132 (desktop_remove_application): Remove leak.
133 (parser_event_type): Remove leak.
135 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
137 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
138 bogus call to CORBA_string_dup(). Also removed unnecessary
139 g_string_dup/g_free calls.
141 2002-09-13 Bill Haneman <bill.haneman@sun.com>
143 * registryd/deviceeventcontroller.c:
144 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
146 * test/event-listener-test.c:
147 main: commented out three redundant listeners, to reduce output
148 noise. (They still are potentially useful for testing).
151 2002-09-13 Michael Meeks <michael@ximian.com>
153 * Update all the copyrights to include Ximian.
155 2002-09-06 Mark McLoughlin <mark@skynet.ie>
157 * cspi/spi.h: add SPI_LAYER_WINDOW.
159 * cspi/spi_component.c: (AccessibleComponent_getLayer):
160 add Accessibility_LAYER_WINDOW case.
162 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
164 * libspi/component.c: (impl_accessibility_component_get_layer):
165 add ATK_LAYER_WINDOW case.
167 2002-08-28 Bill Haneman <bill.haneman@sun.com>
169 * configure.in: incremented micro version.
171 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
173 2002-08-20 Bill Haneman <bill.haneman@sun.com>
176 Clarified and reworded our commit policy.
179 Started an API "todo" addition list for 2.2.
183 Free char pointer from atk_text_get_selection, which was being leaked.
185 2002-08-19 Bill Haneman <bill.haneman@sun.com>
188 Small revision to author acknowledgement.
190 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
192 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
193 If signal has detail add it to the type of the event.
196 2002-08-12 Michael Meeks <michael@ximian.com>
198 * test/test-simple.c (global_listener_cb): bin bogosity.
199 (test_keylisteners): disable, still doesn't work reliably,
200 certainly not on my system anyway.
202 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
203 don't leak a reference on the DEC. This round-trip
204 fetching of the DEC per keystroke sucks, it should be
207 * cspi/spi-private.h,
208 * cspi/cspi-lowlevel.h,
209 * cspi/bonobo/cspi-bonobo-listener.[ch],
210 * cspi/bonobo/cspi-bonobo.c: get the copyright
211 notices better - there is still a large amount of
212 work in at-spi falsely attributed solely to Sun.
214 * cspi/spi_main.c (cspi_object_ref): kill bogus
215 hash lookup, just increment the ref.
216 (SPI_freeString): make explicit the fact that we
217 handle NULL strings just fine.
218 (report_leaked_ref): obey coding standards.
219 (cspi_object_hash, cspi_object_equal): kill retval.
220 (cspi_object_release): only release if not on loan.
221 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
222 (cspi_object_borrow, cspi_object_return): impl.
224 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
225 use cspi_object_borrow / return.
227 2002-08-12 Darren Kenny <darren.kenny@sun.com>
229 * cspi/bonobo/cspi-bonobo-listener.c:
231 Don't call cspi_oject_new() because this is creating a new Accessible
232 every single time that an event is fired. This causes ATs like at-poke
233 to nolonger recognise the source of the event and thus ignore it.
234 Re-use the object from the cache, ref it and then unref it after the
235 listeners have been called.
237 2002-08-06 Darren Kenny <darren.kenny@sun.com>
239 * test/event-listener-test.c:
240 Added command-line options to disable mouse events (m) and
243 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
245 * configure.in: Update required versions of ATK, GTK+ and GAIL
247 * cspi-1.0.pc.in: Add dependency for X include files
250 * cspi/bonobo/Makefile.am:
251 Add $(X_CFLAGS) so that X include files
252 are picked up even if not in standard place (bug #71686)
254 2002-06-25 Bill Haneman <bill.haneman@sun.com>
256 * registryd/deviceeventcontroller.c: fix for 84261
257 (spi_dec_mouse_moved):
258 Added test of mouse button mask, so that we can detect mouse
259 button release. Unfortunately we can't otherwise detect mouse
260 button release events without consuming the mouse press event,
261 because of the way XGrabButton works. This means that our mouse
262 release events have a latency dependent on the polling period
263 while the mouse button is down. At least in this case we only
264 have to poll while the button is down, and not at other times.
265 If the button masks don't match with what the last press event
266 reported, we report the appropriate button release event.
267 (spi_dec_ungrab_mouse):
268 New method (not yet called).
269 (spi_device_event_controller_forward_mouse_event):
270 New method, sends mouse press event from GdkFilter.
271 (spi_dec_init_mouse_listener):
272 Added code to call XGrabButton, redirecting mouse button events to
273 the root window and our Gdk event loop.
275 Added code to filter mouse button events, and reordered.
277 * test/event-listener-test.c:
279 Added registration for mouse events of type "mouse:button".
281 2002-06-25 Bill Haneman <bill.haneman@sun.com>
283 * registryd/deviceeventcontroller.c: partial fix for 84261
284 (spi_dec_poll_mouse_idle):
285 New method, a timeout which checks to see if the mouse
287 (spi_dec_poll_mouse_moving):
288 A timeout to be called when mouse motion is underway.
289 (spi_dec_poll_mouse_moved):
290 A method which fires an event if the mouse has moved, and reports
291 whether or not it did so.
292 (spi_dec_init_mouse_listener):
293 A method which sets up the timeouts above.
294 (spi_device_event_controller_new):
295 Now calls spi_dec_init_mouse_listener.
297 * registryd/registry.c:
299 Now we initialize the device event controller when the registry is
300 initialized, instead of waiting until a client has requested a key
301 event notification; this is because we need the event controller
302 for mouse events, but the mouse event registration API is a
303 "registry" call and doesn't explicitly call the
304 deviceeventcontroller.
305 We now report mouse motion events with a 100 ms idle latency and
306 a 20 ms granularity when motion is in progress.
308 * test/event-listener-test.c:
310 We now register the "detail listener" for events of type
311 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
312 delivered only for the first mouse event received, and thereafter
313 "mouse:abs" events are delivered.)
315 * cspi/spi_registry.c:
316 DOCS: Documented the above mouse event typestrings.
318 2002-06-21 Bill Haneman <bill.haneman@sun.com>
320 Happy Summer Solstice...
322 * registryd/deviceeventcontroller.c: [fix for bug 84100]
323 (spi_controller_notify_keylisteners):
324 Changes to remove a listener from the listener list, freeing its
325 open keygrabs, if a notification to that listener fails. This
326 means that although a dead listener can continue to hold a passive
327 keygrab, a maximum of one dispatch to such a listener can fail
328 before the listener is removed from the list, thus the keygrab
329 will be released on the next occurrence.
331 (spi_notify_keylisteners):
332 Renamed to spi_controller_notify_keylisteners, as the controller
333 instance must now be passed as an argument.
334 The copied 'notify' GList is now a list of DEControllerKeyListener
335 objects, since we need more than just the CORBA reference if a
336 notify fails and we need to deregister the listener.
337 (impl_notify_listeners_sync):
338 (impl_notify_listeners_async):
339 (spi_device_event_controller_forward_key_event):
340 Modify use of notify_keylisteners in accordance with above
342 (spi_deregister_controller_key_listener):
343 New method introduced by refactoring, from
344 impl_deregister_keystroke_listener.
345 (impl_deregister_keystroke_listener):
346 Call spi_deregister_controller_key_listener.
347 (spi_key_listener_clone):
348 New method to copy a key listner without doing a 'ref' on the
349 remote object instance; used to create a notifier list.
350 (spi_key_listener_data_free):
351 New method, frees data without unreffing the source.
353 (spi_key_listener_clone_free): new method.
354 (spi_key_listener_free):
355 refactored to call spi_key_listener_data_free.
357 2002-06-20 Bill Haneman <bill.haneman@sun.com>
359 * registryd/registry.c: [fix for bug 86048]
360 (notify_listeners_cb):
361 Clear CORBA system exceptions which occur when notifying
362 listeners, before returning to the source of the original event,
363 since the event source doesn't care if the relayed notify failed.
364 In other words, don't complain to the atk-bridge if the registry
365 could not notify all its listeners, that's no fault of the
366 application and thus should not appear to be an error from the
367 application's perspective.
369 * cspi/spi_main.c: [fix for bug 85980]
371 Replaced use of bonobo_object_dup_ref with call to the wrapper
372 method, csou_dup_ref (); this silences a compiler warning and
373 provided more portability.
375 Ping the registry before return, and restart if necessary.
377 * cspi/bonobo/cspi-bonobo.c:
381 Fixed this method to return an object reference, as it should have
384 * cspi/cspi-lowlevel.h:
385 Added internal definition for cspi_ping() and fixed
386 return type of cspi_dup_ref().
389 2002-06-19 Bill Haneman <bill.haneman@sun.com>
391 * atk-bridge/bridge.c: [fix for bug 85305]
392 (spi_atk_bridge_register_application):
393 New method where the initial application registry calls have been
394 moved; it allows an application to re-register in response to
395 certain error conditions (such as a registry restart, see below).
397 Moved some initialization code to the method
398 spi_atk_bridge_get_registry, below.
399 (spi_atk_bridge_get_registry):
400 New, private accessor function for the Accessibility_Registry
401 instance. If the registry has not been started before, or has
402 died (as detected by failure of a CORBA exception), it is
403 restarted before return, and spi_atk_bridge_register_application
404 is called again to register with the new bridge instance.
405 (spi_atk_emit_eventv):
406 Set registry_died on error; use spi_atk_bridge_get_registry () to
409 * registryd/registry.c:
410 (impl_accessibility_registry_register_global_event_listener):
411 Set listener's event_type_quark to etype.minor instead of
412 etype.major (fix for bug 84856).
414 * test/event-listener-test.c:
415 (report_detail_event):
416 Change the output string so that user/tester can tell that the
417 'detail listener' was called instead of the 'generic listener'.
419 2002-06-18 Bill Haneman <bill.haneman@sun.com>
421 Fixes for bugs 84900, 84908, 84897, 84898.
426 Revved version to 1.1.0
427 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
428 version is going to HEAD which will be used for gnome-2-0-1 and later.)
430 * idl/Accessibility_Registry.idl:
431 (EventListener::notifyEvent):
432 Removed 'oneway' directive after extensive consulation with
433 ORBit2 team and others. This means also that unref() of the event
434 source can and should be done synchronously after emission, rather
435 than remotely in the client, after servicing the notify call on
438 NOTE: This change speeds up listener performance considerably, but
439 introduces new latency on the application side. We may want to
440 add an event queue to the atk-bridge.
442 * atk-bridge/bridge.c:
443 (spi_atk_bridge_focus_tracker):
444 Do a local unref() on the event source after emission.
446 * registryd/registry.c:
447 (desktop_remove_application):
448 Do an unref() on the event source after emission.
449 (desktop_add_application):
450 Do an unref() on the event source after emission.
451 (notify_listeners_cb):
452 When relaying an event, don't automatically add the event source
453 to the local object cache, just CORBA_dup it instead. Likewise,
454 if this method reenters, release the ref rather than calling
456 (impl_registry_notify_event):
457 No longer call remote unref() on the event source after dispatch.
459 * libspi/eventlistener.c:
460 (impl_accessible_event_notify_event):
461 Removed remote unref ()
463 * cspi/bonobo/cspi-bonobo-listener.c:
465 We now call cspi_object_new() instead of cspi_object_add() on
466 receipt of an event; thus we only have an implicit object ref
467 while the cspi_event method is being executed. If we need to keep
468 a reference to the object, the listener must call ref() on the
469 object. Thus also we don't need to call cspi_object_unref() after
470 invoking the listener callbacks in this method.
474 New internal API for creating a new cspi object, without adding it
477 Now uses cspi_object_new() to create the cspi object instance.
479 Now checks to see if the object is in the internal object cache,
480 and adds it if necessary before incrementing its refcount (note
481 that new objects are added with a refcount of 1).
483 New method which gives some information on leaked object instances
484 if leak detection is turned on.
486 * test/event-listener-test.c:
488 New method, used for testing event delivery timing for special
489 events of type "object:test". It reports elapsed time and
490 events/sec every 500 events.
492 Added a new listener, 'test listener', to check timing of event
493 receipt as noted above.
495 Added some timing output here also, reports elapsed time every 100
498 * test/stress-test.c:
499 Emit events of type "object:test", for use with "event-listener-test".
501 * test/test-simple.c:
502 (global_listener_cb):
503 Call Accessible_ref() on the event source before calling
504 validate_accessible, since the validation process does pointer
505 comparisons on the event source, meaning that the event source
506 needs to be added to the local object cache first. Any use of
507 such pointer comparisons between Accessible objects requires that
508 the caller hold an explicit reference to those objects.
509 We also must therefore call Accessible_unref() when leaving this method.
511 2002-06-13 Bill Haneman <bill.haneman@sun.com>
513 * registryd/deviceeventcontroller.c:
514 (spi_controller_update_key_grabs):
515 Fix for #84735, subsequent keygrab listeners not informed of
516 registration failure.
519 (spi_base_construct):
520 Add an assertion on construct, to make sure the GObject passed in
523 Explicitly initialize object->gobj pointer to NULL;
525 * cspi/bonobo/cspi-bonobo-listener.c:
526 (cspi_object_add_ref):
527 New method, can specify whether to dup-ref a bonobo object passed
528 in if it's newly added to the object cache.
530 Now calls cspi_object_add_ref with second param of "FALSE". This
531 prevents us from doing a pointless dup-ref followed by
532 release-unref for all those cases where the object is already in
533 our object cache (fix for #85205).
535 * atk-bridge/bridge.c:
536 (spi_atk_bridge_idle_init):
537 Removed this method, we don't need to initialize in an idle
540 Changed to call spi_atk_register_event_listeners directly, not via an
541 idle handler. (fix for #81139)
542 (gnome_accessibility_module_shutdown):
543 Removed conditional around deregistration of listeners, since we
544 don't use the idle handler and thus have always registered when
546 (spi_init_keystroke_from_atk_key_event):
547 Changed references to Accessibility_KEY_PRESSED to
548 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
550 2002-06-12 Bill Haneman <bill.haneman@sun.com>
552 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
557 * test/stress-test.c:
560 (may have been an incomplete commit yesterday?)
562 2002-06-12 Bill Haneman <bill.haneman@sun.com>
565 Added target for new stress-test.
567 * test/stress-test.c:
568 New test, sends 1000 focus notifies in quick succession.
570 * test/key-listener-test.c:
571 Now we report whether a keylistener registration
572 request succeeded or failed.
574 * test/event-listener-test.c:
575 Uncommented some listeners which are now implemented.
578 2002-06-06 Bill Haneman <bill.haneman@sun.com>
580 * registryd/deviceeventcontroller.c:
581 (spi_controller_update_key_grabs):
582 Fix for #82509, lack of failure notification when
583 ALL_WINDOWS keygrabs fail due to XGrabKey
584 failure: we synchronize the server when
585 registering a passive grab, to make sure we get the
586 error message before the call returns.
588 2002-06-03 Bill Haneman <bill.haneman@sun.com>
590 * test/test-simple.c:
592 Removed #ifdef KEY_IMPL_WORKS guards.
594 Removed #ifdef KEY_IMPL_WORKS guards.
595 Fixed bug which was causing a hang waiting for a
596 "press" event (which was already overwritten by a "release"
597 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
599 Added code to set globals 'key_press_received' and
600 'key_release_received'.
603 Added section "1.1 API Proposed Additions" which
604 lists API additions desired for at-spi-1.1 (only one so far).
605 Updated TODO list a little.
607 2002-06-02 Bill Haneman <bill.haneman@sun.com>
609 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
612 * configure.in: Revved to 1.0.0.
614 * idl/Accessibility_Registry.idl:
615 (registerKeystrokeListener):
616 Added boolean return value.
618 * registryd/registry.c:
619 (notify_listeners_cb): Minor fix to debug output.
621 * registryd/Accessibility_Registry.server.in.in:
622 Revved version number in OAFIID to 1.0.
624 * registryd/registryd.c:
626 Use new OAFIID version.
628 * cspi/bonobo/cspi-bonobo.c:
630 Use new OAFIID version.
636 * atk-bridge/bridge.c:
638 Use new OAFIID version.
640 * registryd/deviceeventcontroller.c:
641 (impl_register_keystroke_listener):
642 Added CORBA_boolean return value.
643 (spi_controller_register_device_listener):
644 Added gboolean return value.
645 (spi_controller_register_global_keygrabs):
646 Added gboolean return value.
647 (spi_key_set_contains_key):
648 Added implementation for many more control keys,
649 for instance F1-F12, arrow keys, End, Home, Page_Up,
651 [TODO: some still not implemented].
653 * text/screen-review-test.c:
654 (text_chunk_pad_string):
655 New function: it provides mapping between coordinate
656 positions of text chunks and character positions in the
657 screen-review-line output string.
658 (text_chunk_to_string):
659 New function, calls text_chunk_pad_string with various
660 pad/delimiter characters. Pushbuttons are delimited with
661 square brackets, Frames with vertical 'pipe' lines, and
662 other text with double quotes.
663 (text_chunk_list_to_string):
664 Calls new function text_chunk_to_string.
665 (toplevel_composite):
666 New function to composite layers CANVAS through
667 POPUP in each toplevel (other layers are composited
668 across toplevels, i.e. BACKGROUND and OVERLAY).
669 (review_buffer_composite):
670 Revise to use new methods.
676 2002-05-31 Laszlo Peter <laca@sun.com>
678 * configure.in: add the Xtst libdir to the runpath on Solaris,
679 since it's not in the default library search path.
681 2002-05-29 jacob berkman <jacob@ximian.com>
683 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
685 2002-05-29 Bill Haneman <bill.haneman@sun.com>
687 * test/screen-review-test.c:
688 (text_chunk_pad_string):
689 Added method, which pads the string according to the
690 text bounds of the chunk. It also takes a 3-character
691 string as a param which indicates the characters to be
692 used for start, padding, and end delimitation of the chunk.
693 (text_chunk_to_string):
694 Changed to use text_chunk_pad_string.
696 * configure.in: Fixed bug in AC_OUTPUT that was
697 causing path substitution in Accessibility_Registry.server
700 2002-05-23 Bill Haneman <bill.haneman@sun.com>
702 * text/screen-review-test.c:
704 New method which attempts a best-guess at clipping
705 text from components (like Java labels) which don't
706 actually implement AccessibleText. This inaccurate
707 clip is based on the assumption that the label is
708 justified left-and-right, and monospaced.
709 (text_chunk_get_clipped_string):
710 We now call guess_string_clip() for text-containing
711 components that don't implement AccessibleText.
713 * test/screen-review-test.c:
714 (review_buffer_get_text_chunk):
715 We now pull "name" from labels if they do not implement
716 AccessibleText (i.e. for Java labels).
717 (get_screen_review_line_at):
718 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
721 Replaceded AC_OUTPUT target
722 registryd/Accessibility_Registry.server with
723 registryd/Accessibility_Registry.server.in.
725 * registryd/Accessibility_Registry.server.in:
726 Removed (this is now a Makefile target).
728 * registryd/Accessibility_Registry.server.in.in:
729 Added (source for target above). We now use $(libexecdir) as
730 prefix for the executable at-spi-registryd.
732 * registry/Makefile.am:
733 Now install at-spi-registryd into $(libexecdir), and build .server
734 file with path (see above).
736 2002-05-22 Bill Haneman <bill.haneman@sun.com>
738 * test/screen-review-test.c:
739 (text_chunk_get_clipped_string):
740 We now check to see if words fall within clip bounds
741 before resorting to character-by-character clip bounds testing.
743 * TODO: Added a section for "2.2 Proposed API Additions".
745 2002-05-21 Bill Haneman <bill.haneman@sun.com>
747 * test/screen-review-test.c:
749 Added a screen review benchmarking and test program to test
752 * cspi/spi_accessible.c:
754 Made some of the debug strings passed to cspi_check_ev a
755 little more specific.
757 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
759 * test/screen-review-test.c: Fix crashes in debug statements
761 2002-05-20 Bill Haneman <bill.haneman@sun.com>
763 * test/screen-review-test.c: Added this file.
765 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
767 * atk-bridge/bridge.c: changed "object:state-change" to
768 "object:state-changed" to match docs.
770 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
772 * atk-bridge/bridge.c: Hooked up state-change event details.
774 2002-05-11 Bill Haneman <bill.haneman@sun.com>
776 * registryd/registry.c:
777 Fixed quarking bug in event string parsing; now events with
778 detail parameters get matched correctly to listeners.
781 * util/idl/Magnifier.idl: remove.
783 * util/*.[ch]: Remove.
784 Magnification utilities and IDL are now in module gnome-mag.
786 2002-05-10 Bill Haneman <bill.haneman@sun.com>
788 * registryd/deviceeventcontroller.c:
789 Fixed bug in grab key conversion which was causing keycode grabs
790 to be converted to AnyKey grabs.
793 updated NEWS file to reflect recent spin-off of gnome-mag.
795 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
797 * cspi/spi_accessible.c: Added exception checks. Fixed completely
798 busted AccessibleStateSet_compare. Removed redundant casts.
800 * cspi/spi-action.c: Removed redundant casts.
802 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
804 * cspi/spi_component.c: Fixed typos and casting error.
806 * cspi/spi_editabletext.c: Removed redundant casts.
808 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
810 * cspi/spi_hypertext.c: Eliminated redundant casts.
812 * cspi/spi_image.c: Eliminated redundant casts.
814 * cspi/spi_registry.c: Eliminated redundant casts.
815 SPI_deregisterGlobalEventListenerAll () removed retval variable.
816 * cspi/spi_selection.c: Removed redundant casts.
817 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
818 handling. Screen geometry and text offsets were being returned as 0
819 on error which is technically valid-- changed these to return -1.
820 Added marshaller for text boundary types to fix bug with boundary
821 types being passed incorrectly to atk.
823 2002-05-09 Bill Haneman <bill.haneman@sun.com>
826 * cspi/spi_registry.c:
827 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
828 which was uncovered by the recent key changes.
830 2002-05-09 Bill Haneman <bill.haneman@sun.com>
832 * test/event-listener-test.c:
834 Added new test, "event-listener-test";
835 this code does two things; it benchmarks traversal time
836 for the accessible hierarchy for the first running accessible
837 app, and it connects listeners for all supported event types.
838 It is thus useful as an example event listener and for
839 diagnostics/debugging of event generation.
841 2002-05-08 Bill Haneman <bill.haneman@sun.com>
844 Removed unnecessary dependency on libutil.
847 Revved micro version: 0.13.1
849 2002-05-08 Bill Haneman <bill.haneman@sun.com>
852 Removed util/Makefile from targets.
855 Removed util subdir from SUBDIRS (temporarily,
856 pending removal of magnifier-only code
860 #ifdef-ed out magnifier dependencies, since
861 magnifier IDL, headers, and binary now live in
862 module gnome-mag and we don't want at-spi to depend
863 on gnome-mag. A magnifier demo which can run alongside
864 simple-at is forthcoming in the gnome-mag module.
866 NOTE: Split magnifier binary, IDL, and magnification
867 activation code from at-spi into module gnome-mag.
869 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
871 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
872 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
874 2002-05-03 Bill Haneman <bill.haneman@sun.com>
877 Revved to version 0.13.0
879 * idl/Accessibility_Registry.idl:
880 Changed definition of KeySet from sequence of longs to sequence of
881 KeyDefinitions, and added KeyDefinition struct.
882 Required for fix to bug 80616.
884 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
885 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
886 to use new definition (see above).
888 * registryd/deviceeventcontroller.c: handle_keygrab(),
889 spi_keyset_contains_key():
890 Changed to make use of new struct; this allows matching based on
891 string key-name, for instance "Tab". This also allows matching of
892 composed characters, non-alphanumeric characters in a way that
893 doesn't involve dependencies on X keysym codes directly, etc.
895 * test/key-listener-test.c:
896 Added test for Alt-Tab key using "string" specification of keyset,
897 and modified one of the tests to use a keycode-based keyset.
898 Thus this test both tests and demonstrates the creation and use of
899 keysets of three forms: specified via keycode array,
900 keysym array, and string array. (The string case only contains a
901 single string, i.e. a string array of length 1).
904 Turned on PRINT_TREE option by default. Also fixed a
905 string-freeing bug in the PRINT_TREE code.
906 Added a listener to window:minimize events.
908 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
910 * atk-bridge/bridge.c:
911 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
912 for window:activate and window:deactiveate
913 (atk_bridge_property_event_listener atk_bridge_signal_listener
914 atk_bridge_window_event_listener) Tidy debug code
916 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
918 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
919 Fixed handling for NULL return value from ATK.
921 * libspi/action.c libspi/component.c libspi/editabletext.
922 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
923 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
924 Removed redundant casts.
926 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
927 Fixed off by one bug.
929 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
930 function not present in idl)
932 2002-05-02 jacob berkman <jacob@ximian.com>
934 * atk-bridge/Makefile.am: make atk-bridge a real module
936 2002-04-26 Radek Doulik <rodo@ximian.com>
938 * libspi/stateset.c (spi_init_state_type_tables): fix size of
939 atk_state_types table
941 2002-04-22 jacob berkman <jacob@ximian.com>
944 * libspi/Makefile.am: add deps on the built files to help
945 automake, and don't version the ORBit typelib
947 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
949 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
950 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
951 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
952 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
953 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
954 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
955 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
956 libspi/accessible.h libspi/accessible.h libspi/base.h
957 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
958 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
959 libspi/relation.h libspi/remoteobject.h libspi/selection.h
960 libspi/spi-private.h libspi/statetset.h libspi/table.h
961 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
962 util/mag_client.h util/mag_control.c util/mag_image.c
963 util/mag_image.h util/magnifier.c util/magnifier.h:
964 Add missing file headers; standardize existing ones
966 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
968 * atk-bridge/bridge.c: Added window event support.
970 2002-04-18 Michael Meeks <michael@ximian.com>
972 * libspi/relation.c (impl_getNTargets): impl.
973 (impl_getTarget): impl.
975 * libspi/Makefile.am: fix stateset install.
977 2002-04-17 Bill Haneman <bill.haneman@sun.com>
980 Started putting useful info in this file.
982 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
984 * atk-bridge/bridge.c:
985 Propagate state-changed notifications to ATs
987 * cspi/spi_registry.c: update docs to reflect actual behavior of
990 2002-04-17 Bill Haneman <bill.haneman@sun.com>
993 Incremented version to 0.12.1
996 Add missing declaration for magnifier_exit,
997 used by mag_control.c - Forte compiler didn't like
998 the implicit redeclaration of the function :-(
1001 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1004 Revved version to 0.12 due to API change (see below).
1006 * cspi/spi-roletypes.h:
1007 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
1008 definition from the inline docs, and added docs
1009 for SPI_ROLE_LAST_DEFINED.
1012 * cspi/spi_streamablecontent.c:
1013 Added missing seek_type parameter to
1014 (so far unused) method,
1015 AccessibleStreamableContent_seek().
1016 [ RT approval JodyG. ]
1019 Fixed docs for SPI_createAccessibleKeystrokeListener.
1021 * cspi/spi_registry.c:
1022 Fixed docs for SPI_KEYSET_ALL_KEYS.
1024 * docs/reference/cspi/at-spi-cspi-sections.txt:
1025 Added a number of missing APIs to SECTIONS.
1027 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1029 * registryd/Makefile.am:
1031 * cspi/bonobo/Makefile.am:
1032 Add $(X_LIBS) to makefiles.
1034 2002-04-15 Bill Haneman <bill.haneman@sun.com>
1037 Revved version to 0.11.
1039 * libspi/component.c:
1040 Added implementation for grabFocus.
1042 * idl/Accessibility_Component.idl
1043 (Accessibility_Component_grabFocus):
1044 Made this method return boolean to indicate success or failure, to
1045 be consistent with cspi and the corresponding ATK method.
1047 * idl/Accessibility_Selection.idl
1048 (Accessibility_Selection_selectAll) :
1049 Made these methods return boolean to indicate success or
1050 failure, to be consistent with cspi and the corresponding ATK methods.
1052 * idl/Accessibility_EditableText.idl
1053 (Accessibility_EditableText_setTextContents,
1054 Accessibility_EditableText_insertText,
1055 Accessibility_EditableText_cutText,
1056 Accessibility_EditableText_deleteText,
1057 Accessibility_EditableText_pasteText):
1058 Made these methods return boolean to indicate
1061 * cspi/spi_editabletext.c:
1062 Made these methods return booleans.
1064 * libspi/selection.c:
1065 * libspi/component.c:
1066 * libspi/editabletext.c:
1067 Connected the boolean returns from ATK
1068 to the server-side code referenced above.
1070 2002-04-14 Bill Haneman <bill.haneman@sun.com>
1072 * idl/Accessibility_Table.idl: Added missing methods,
1073 Accessibility_Table_addRowSelection,
1074 Accessibility_Table_addColumnSelection,
1075 Accessibility_Table_removeRowSelection,
1076 Accessibility_Table_removeColumnSelection.
1079 Added C wrappers for above IDL:
1080 AccessibleTable_addRowSelection,
1081 AccessibleTable_addColumnSelection,
1082 AccessibleTable_removeRowSelection,
1083 AccessibleTable_removeColumnSelection.
1086 Added server-side implementation code for IDL above, connecting
1087 to pre-existing ATK api.
1089 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
1091 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
1093 * libspi/accessible.c: Added implementation fo
1094 Accessibility_Accessible_get_state.
1096 * libspi/libspi.h: Added stateset.h to the list of includes.
1098 * libspi/stateset.c: Fixed broken implementation.
1100 2002-04-13 Bill Haneman <bill.haneman@sun.com>
1103 Added implementation code for Accessibility_Magnifier_exit ().
1105 * util/mag_control.c:
1106 Added test code for above method; you can
1107 now kill an existing magnifier via
1108 ./mag_control q, from the util directory.
1110 * test/key-listener-test.c:
1112 Added a new test, for our key listener API.
1114 2002-04-11 Bill Haneman <bill.haneman@sun.com>
1116 * test/app.c, test/keysynth-demo.c:
1118 Replace use of snprintf with g_snprintf.
1119 (fix for bugzilla 78249)
1121 2002-03-27 Michael Meeks <michael@ximian.com>
1125 * util/Makefile.am (INCLUDES): fix.
1126 (DONT_DIST_SOURCE): don't distribute the
1129 * libspi/Makefile.am (dist-hook): ditto.
1131 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
1133 * libspi/hypertext.c:
1134 Fix warnings when yelp is used with atk-bridge
1136 2002-03-21 Michael Meeks <michael@ximian.com>
1138 * libspi/application.c (spi_application_new):
1139 use spi_accessible_construct so we use the AtkObject
1142 2002-03-19 Michael Meeks <michael@ximian.com>
1144 * registryd/registry.c (desktop_remove_application),
1145 (desktop_add_application): clean coding style.
1147 * registryd/desktop.c (spi_desktop_remove_application),
1148 (spi_desktop_add_application): kill re-enterency hazards.
1149 (spi_desktop_dispose): remove bogus redundant cast
1150 obscuring bug; fix bug too.
1151 (spi_desktop_init): make the desktop object immortal.
1153 2002-03-16 Bill Haneman <bill.haneman@sun.com>
1156 Added a #define-guarded tree-traversal step
1157 when enumerating the apps (diagnostic tool).
1159 2002-03-15 Bill Haneman <bill.haneman@sun.com>
1161 * idl/Accessibility_Role.idl:
1162 Added ROLE_DRAWING_AREA which seemed to be missing from the
1165 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1167 * cspi/spi-roletypes.h cspi/spi_accessible.c
1168 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
1171 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
1172 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
1173 AT when applications are added and removed from the desktop. This
1174 reverts the previous broken implementation using the backing
1175 AtkObject for the SpiDesktop.
1177 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1179 * registryd/desktop.c: emit the "children-changed::add" and
1180 "children-changed::remove" signals on the backing ATK object for
1181 the desktop so AT can tell when applications are started and shut
1184 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1186 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
1188 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1190 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
1192 * cspi/spi_accessible.c: Implemented c bindings for stateset support
1194 * cspi/state-types.h: synched with IDL and ATK
1196 2002-03-13 Bill Haneman <bill.haneman@sun.com>
1198 * libspi/accessible.c
1199 (impl_accessibility_accessible_get_child_at_index):
1200 Change return value for g_return_if_fail ()
1201 to CORBA_OBJECT_NIL instead of "0" (!)
1203 * registryd/Makefile.am:
1204 * registryd/Accessibility_Register.server.in:
1205 Changed name of executable, "registryd",
1206 to something more informative:
1209 2002-03-13 Michael Meeks <michael@ximian.com>
1211 * atk-bridge/bridge.c (atk_bridge_init): don't register
1212 if we're in a bonobo-component, rather than a bonobo app.
1214 2002-03-13 Michael Meeks <michael@ximian.com>
1216 * atk-bridge/bridge.c (gtk_module_init): split
1217 out body to (atk_bridge_init): here, since otherwise
1218 we get symbol conflicts and oddness when invoked
1219 from (gnome_accessibility_module_init): here (upd.)
1221 2002-03-11 Bill Haneman <bill.haneman@sun.com>
1224 New file. Explicitly allow "build sheriff" putbacks provided
1225 they are tested on Solaris.
1227 * docs/reference/cspi/Makefile.am:
1228 Added '-' to the "cp" command for index.sgml.
1229 ("patch by thomasvs, soon coming to a GUADEC near you")
1232 Incremented version number (0.9.0) for new release.
1233 Changed macro that checks for popt, to better detect
1234 obsolete versions of popt.
1237 Added X_LIBS to AC_SUBST, for applications
1238 that call Xlib API directly.
1241 2002-03-07 Bill Haneman <bill.haneman@sun.com>
1244 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
1247 Fix regression caused by hard-coding major
1248 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
1251 * test/test-simple.c (test_editable_text),
1252 (test_test): revert previous change (error was
1253 a regression in gail which is now fixed).
1255 2002-03-04 Michael Meeks <michael@ximian.com>
1257 * test/test-simple.c (test_editable_text),
1258 (test_text): pass G_MAXINT instead of '-1' for
1259 whole string - is this a good thing !?
1261 * cspi/spi_accessible.c
1262 (Accessible_getRelationSet): fix crasher bug
1263 overwriting the end of the array.
1265 * test/test-simple.c (validate_accessible): free,
1266 not g_free returned relation set.
1268 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
1270 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
1271 implemented stateset support
1273 * idl/Accessibility_State.idl: Made necessary changes to
1274 the IDL to support state sets.
1276 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1278 * registryd/deviceeventcontroller.c:
1279 Added implementation for generateMouseEvent.
1281 * cspi/spi_registry.c:
1282 Connected new implementation for generateMouseEvent
1285 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1288 Incremented revision (but no change in public API
1289 outside of 'utils', which are not installed public yet.)
1291 * libspi/component.c:
1292 Changed to use atk_component API for layers and
1293 mdi_zorder, instead of deprecated atk_object API.
1295 Magnification Utility Enhancements:
1298 Added implementation of createZoomRegion, clearAllZoomRegions,
1299 resizeZoomRegion. Added new commandline argument
1300 "--no-initial-region". Note that clearAllZoomRegions doesn't
1301 unmap the old '0' region as it should (yet), and the other
1302 methods only work when creating/resizing a single region,
1303 which is "region 0".
1304 (Code for multiple region support will be added later.)
1307 Now we raise the magnifier window each time it's refreshed;
1308 this will help keep it on top.
1310 * util/mag_client.h:
1311 Added simple wrappers for above, used by mag_control.
1312 For general use, it's recommended to use the bonobo magnifier
1313 control API directly instead of using these wrappers.
1316 Moved ZoomRegionData from magnifier.c to this file.
1318 * util/mag_control.c:
1319 Added some code to exercise new IDL implementations.
1321 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
1323 * libspi/text.c: Provide implementation for getAttributes.
1325 2002-02-04 Bill Haneman <bill.haneman@sun.com>
1328 Incremented revision.
1330 * test/test-simple.c:
1331 Replaced use of deprecated g_main_iteration with
1332 g_main_context_iteration.
1334 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
1337 Incremented revision for desktop alpha 2.
1339 2002-01-28 Mark McLoughlin <mark@skynet.ie>
1341 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
1344 * test/simple-at.c: include netinet/in.h.
1346 2002-01-24 Mark McLoughlin <mark@skynet.ie>
1348 * cspi/spi_accessible.c: (Accessible_getRelationSet):
1349 use NULL, not CORBA_OBJECT_NIL.
1351 * libspi/accessible.c:
1352 (impl_accessibility_accessible_get_relation_set):
1353 allocate the sequence correctly.
1355 * libspi/remoteobject.h: kill spi_remote_object_new.
1357 * test/test-simple.c: (validate_accessible): add code
1358 to test relation sets, now all we need is to figure
1359 out how to excercise this code path :/
1361 2002-01-18 Michael Meeks <michael@ximian.com>
1363 * test/test-simple.c
1364 (key_listener_cb): consume the key.
1365 (test_keylisteners): update.
1366 (main): wait for any pending unrefs on events.
1368 * registryd/deviceeventcontroller.c
1369 (spi_controller_update_key_grabs): only re-issue the
1370 grab on a key release.
1371 (spi_device_event_controller_forward_key_event):
1372 refresh the keygrabs before we notify the listeners,
1373 to reduce the X ungrab / re-grab race.
1374 (spi_controller_register_with_devices): remove
1375 XSelectInput - we do that with the gdk_window_ call.
1376 (_spi_controller_device_error_handler): return a value.
1377 s/GDK_DISPLAY/spi_get_display/
1379 2002-01-17 Michael Meeks <michael@ximian.com>
1381 * registryd/deviceeventcontroller.c
1382 (_deregister_keygrab): don't blow out the later
1385 * test/test-simple.c (test_keylisteners): do a
1386 more intelligent validation.
1388 2002-01-14 Michael Meeks <michael@ximian.com>
1390 * atk-bridge/bridge.c
1391 (gnome_accessibility_module_init),
1392 (gnome_accessibility_module_shutdown): impl.
1393 (gtk_module_init): protect vs. double inits.
1394 (add_signal_listener): impl.
1395 (spi_atk_bridge_state_event_listener): kill
1396 (deregister_application): split out of
1397 (spi_atk_bridge_exit_func): here.
1399 2002-01-18 Bill Haneman <bill.haneman@sun.com>
1402 Added caret tracking when using magnifier, and
1403 now use text bounds for focus tracking of text elements, rather than
1404 the component bounds - this is helpful for short text fields in long
1405 table cells, at high magnification.
1407 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1409 * registryd/deviceeventcontroller.c:
1410 Regression fix for keylistener de-registration; global keygrabs
1411 were not being released when deregisterKeystrokeListener was
1412 called in cspi, since
1413 Accessibility_DeviceEventController_deregisterKeystrokeListener
1414 was called with a zero-length keyset. That is because the cspi
1415 method, SPI_deregisterKeystrokeListener, does not take a keyset
1416 parameter but instead should remove all the key grabs held be a
1418 The code in impl_deregister_keystroke_listener was changed to copy
1419 the keylist from the listener instance previously registered with
1420 the DeviceEventController before releasing the grabs.
1422 * registryd/registry.c:
1423 * registryd/deviceeventcontroller.c:
1424 * libspi/spi-private.h:
1426 Changed spelling of "re-enterant" to "re-entrant" globally.
1428 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1430 * test/test-simple.c:
1431 Changed key listeners test - the test was slightly mis-using the
1432 (admittedly poorly documented) SPI_generateKeyboardEvent API.
1433 It now uses '=' as the key event listened to and generated,
1434 relying on a keysym match rather than assuming that keycode 33
1435 is always equal to keysym '!'.
1437 2002-01-15 Bill Haneman <bill.haneman@sun.com>
1440 Changed simple-at to use a specific keyset, rather than
1441 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
1442 manager, desktop, etc.
1444 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1446 * registryd/deviceeventcontroller.c:
1447 Replaced standard X error handler with a special handler that
1448 is non-fatal for failed keygrabs. This works around
1449 problems with keygrab clashes sometimes observed on
1451 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
1452 mouse handling code as yet).
1454 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1457 Incremented revision for desktop alpha release.
1460 Fixed a couple of the more glaring errors (still not
1463 2002-01-11 Michael Meeks <michael@ximian.com>
1465 * registryd/deviceeventcontroller.c
1466 (spi_device_event_controller_forward_key_event): kill
1467 XUngrabKey / XKeyGrab race.
1468 (spi_controller_grab_keyboard): rename to
1469 (spi_controller_update_key_grabs): this, and deal
1470 with incremental adding / removing grabs more
1472 (_register_keygrab): ensure we're not pending a remove.
1473 (spi_grab_mask_free): impl.
1474 (spi_controller_register_global_keygrabs): split out
1476 (handle_keygrab): impl.
1477 (_deregister_keygrab): impl.
1478 (spi_controller_deregister_global_keygrabs): impl.
1479 (spi_controller_update_key_grabs): re-issue the grab if
1480 we just recieved a notification.
1482 * test/test-simple.c (key_listener_cb): remove debug.
1484 * registryd/deviceeventcontroller.c
1485 (spi_controller_register_device_listener): after
1486 registering a global keygrab, actualy register it !
1487 don't wait for a timeout; doh !
1489 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
1490 to make it more readable / manipulable.
1491 s/grabmask/grab_mask/ s/refcount/ref_count/
1492 s/keyval/key_val/ s/modmask/mod_mask
1494 2002-01-08 Michael Meeks <michael@ximian.com>
1496 * registryd/deviceeventcontroller.c
1497 (spi_controller_register_with_devices): use gdk calls to
1499 (global_filter_fn): implement the filter.
1500 (spi_device_event_controller_check_key_event): rename to
1501 (spi_device_event_controller_forward_key_event): this & upd.
1502 (spi_get_display): replace with GDK_DISPLAY.
1504 * registryd/deviceeventcontroller.c
1505 (spi_controller_deregister_device_listener): unroll into
1506 (impl_deregister_keystroke_listener): here to simplify.
1507 (spi_controller_register_global_keygrabs): split cut and
1508 paste (!) out into (_register_keygrab): here, shorter & sweeter.
1509 (spi_controller_deregister_device_listener): remove.
1510 (impl_register_mouse_listener): remove, no mouse listener
1511 support in at-spi-1.0
1513 * registryd/registry.c
1514 (_device_event_controller_hook): kill.
1515 (spi_registry_init): upd.
1517 * registryd/deviceeventcontroller.c
1518 (spi_device_event_controller_class_init): upd.
1519 (spi_check_key_event): merge into.
1520 (spi_device_event_controller_check_key_event):
1521 here and kill strange static ev init, don't leak
1522 the x_event - nor dynamicaly allocate it.
1524 * registryd/registry-main.c (main): re-direct
1525 timeout to remove strange vtable mess.
1527 * registryd/deviceeventcontroller.c
1528 (remove_listener_cb): impl.
1529 (spi_controller_deregister_device_listener):
1530 fix re-enterancy hazard.
1532 2002-01-07 Michael Meeks <michael@ximian.com>
1534 * registryd/deviceeventcontroller.c
1535 (spi_device_event_controller_new): upd.
1536 (impl_notify_listeners_sync): upd. debug.
1537 (spi_notify_keylisteners): fix re-enterancy hazards,
1538 prettify, remove O(n*n) iteration.
1539 (spi_controller_grab_keyboard): fix iteration.
1540 (spi_check_key_event): re-format to suit coding style.
1541 Clean all the warnings - we're warning free.
1543 * registryd/deviceeventcontroller.h:
1544 * registryd/registry.h: make mutualy referential with
1545 typesafe forward references instead of (!) void pointer
1548 2002-01-11 Michael Meeks <michael@ximian.com>
1550 * cspi/spi_accessible.c (role_names): add a role name
1551 to sync this array with the enum; and make the regression
1554 2002-01-10 Michael Meeks <michael@ximian.com>
1556 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
1557 allow expansion of enumeration & kill warning.
1559 * test/test-simple.c (key_listener_cb): impl.
1560 (test_keylisteners): impl.
1562 * cspi/spi-listener.h: make listener signatures const
1563 on the provided (const) events.
1565 * test/keysynth-demo.c: upd. to const events.
1567 * test/simple-at.c: ditto.
1569 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1572 Rev the version to 0.5 (the previous tarball was named 0.4,
1573 even though the micro number was 3), so we need to rev upwards
1574 again for beta2/"desktop-alpha"
1577 Checked in a demo script, which requires editing before use!
1578 Proceed with caution.
1581 Fixed typo in header which was redefining SPI_ACTION_CLASS.
1583 * cspi/spi_accessible.c:
1584 Add a couple of missing enum initializations, and fix some enum
1587 * cspi/spi_registry.c:
1588 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
1590 * docs/reference/cspi/at-spi-cspi-sections.txt:
1591 Remove/fix a couple of broken document references.
1594 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
1595 as Alt-Control to listen for commands, since on some systems
1596 Control-Alt may already be grabbed.
1598 2002-01-10 Bill Haneman <bill.haneman@sun.com>
1601 Update version number to 0.4 for Beta2.
1603 * libspi/accessible.c, libspi/accessible.h:
1604 Expose spi_accessible_construct, to enable libgail-gnome
1605 construction from spi_accessible subtype.
1607 * utils/magnifier.c:
1608 Workaround for bug in some non-gnome-compliant window managers
1609 which made magnifier resize improperly.
1611 2002-01-09 Bill Haneman <bill.haneman@sun.com>
1613 * libspi/accessible.c: (spi_accessible_new) :
1614 Move the test for SPI_IS_REMOTE_OBJECT to
1615 spi_accessible_new_return, fixing a bug and compile time warning.
1617 2002-01-08 Michael Meeks <michael@ximian.com>
1619 * registryd/registry.c (parse_event_type): remove strndup.
1621 * libspi/Makefile.am (libspi_la_SOURCES): remove
1622 sources already included in the headers section.
1624 * libspi/util.c: add.
1626 * libspi/spi-private.h: add.
1628 * registryd/registry.c: update to moved list iterators.
1630 2002-01-05 Michael Meeks <michael@ximian.com>
1632 * test/simple-at.c (main): upd. auto-module set to atk-bridge
1634 * test/test-simple.c (main): ditto.
1636 2002-01-04 Michael Meeks <michael@ximian.com>
1638 * libspi/accessible.c (spi_accessible_new): remove 2nd,
1639 redundant construct.
1641 * registryd/registry.c
1642 (get_listener_list): impl.
1643 (impl_accessibility_registry_register_global_event_listener):
1644 re-impl. to simplify using ~, remove dodgy const cast off.
1645 (parse_event_type): constify.
1646 (impl_accessibility_registry_deregister_global_event_listener_all):
1647 re-write, more efficiency and simplicity, kill re-enterancy
1649 (compare_listener_corbaref, compare_corba_objects),
1650 (compare_listener_quarks): define out.
1651 (impl_accessibility_registry_deregister_global_event_listener):
1652 re-write for effiency, and nail re-enterancy hazard.
1653 (impl_accessibility_registry_get_desktop_list): impl.
1654 (re_enterant_list_delete_link): impl.
1655 (re_enterant_list_foreach): impl.
1656 (remove_listener_cb): impl.
1657 (_registry_notify_listeners): kill.
1658 (notify_listeners_cb): impl.
1660 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
1661 (SPI_getDesktopList): impl.
1663 * test/test-simple.c (test_desktop): test the methods.
1665 2002-01-03 Michael Meeks <michael@ximian.com>
1667 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
1668 keystrings since we free them
1669 (SPI_freeAccessibleKeySet): in here.
1671 * libspi/accessible.c (spi_accessible_new): kill warning,
1672 wonder what is going on with the constructor here.
1674 2002-03-01 Bill Haneman <bill.haneman@sun.com>
1676 * libspi/accessible.c (spi_accessible_new ()) :
1677 Added check to see if AtkObject is an SpiRemoteObject before
1678 creating an SpiAccessible.
1680 2002-05-01 Bill Haneman <bill.haneman@sun.com>
1682 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
1683 Enable keygrabs using the Control modifier, now that they are
1684 working properly (they were previously disabled).
1687 Change the command keygrab for this demo to "Control+Alt", so as
1688 to conflict with fewer other key commands on the system; this
1689 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1691 Removed a pointlessly-chatty keylistener for unshifted keys
1692 (shifted keys are still reported).
1694 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1696 * libspi/remoteobject.h:
1697 * libspi/remoteobject.c:
1698 Added definitions for special AtkObject subtype, required for
1699 support of remote components (specifically, used by BonoboControl
1700 accessibility implementation).
1702 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1704 * cspi/spi.h: synched relation types with ATK
1706 * cspi/spi_accessible.c: Added implementations of
1707 AcccessibleRelation_* methods
1709 * idl/Accessibility_Relation.idl: added getRelationTypeName
1710 method. Synched known relation types with ATK. Allowed for
1711 relation type extension with the RELATION_EXTENDED type.
1713 * libspi/relation.c: Provided implementations for
1714 AccessibleRelation methods.
1716 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1718 API tweaks for today's API 'freeze'.
1721 Added placeholder functions to allow future compatible expansion
1722 of the IDL interfaces.
1724 * idl/Accessibility_Registry.idl:
1725 Changed generateKeyEvent to generateKeyboardEvent. Changed
1726 signature of this method to accept an optional keystring in
1727 parameter (for complex text input synthesis) and changed use of
1728 simple 'boolean' parameter in registerKeystrokeListener to a
1729 struct, EventListenerMode.
1731 * cspi/spi_accessible.c:
1733 * cspi/spi_streamablecontent.c:
1734 Added references to AccessibleStreamableContent interface, and
1735 definition and implementation of AccessibleStreamableContent
1738 * cspi/spi_registry.c:
1740 Changed generateKeyEvent API to generateKeyboardEvent,
1741 taking a new (optional) keystring parameter to support complex
1746 Renamed directory (to better reflect its actual purpose, bridging
1747 from at-spi to ATK). The .so module is also now named
1750 * idl/Accessibility_Hypertext.idl:
1751 * libspi/accessible.c:
1752 * libspi/hypertext.h:
1753 * libspi/hypertext.c:
1754 Changed Accessibility_Hypertext to *not* derive from
1757 * cspi/spi_registry.c:
1758 Added list of legal event type names for 'window' events, which
1759 completes the registry event API.
1761 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
1763 * at-bridge/bridge.c: Added registration for separate
1764 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1765 signals. If either of the first two parameters to the generic
1766 bridge signal handler are ints, they are passed on as event
1767 details. This allows an AT to determine what text was inserted.
1769 2001-12-21 Bill Haneman <bill.haneman@sun.com>
1771 * registryd/deviceeventcontroller.c:
1772 Fixed regressions in generateKeyEvent caused by the removal of
1773 gdk_init from registryd; we now use pure X calls to connect to the
1774 display, which makes sense because deviceeventcontroller already
1775 uses a fair bit of X API (should eventually be migrated to a
1776 'portability layer').
1778 * registryd/desktop.c:
1779 Fixed minor regression in spi_desktop_init, changed the way the
1780 desktop name is being set to work with new spi_base API
1781 (gobject-based, rather than AtkObject-based).
1783 * registryd/Makefile.am:
1784 Minor revision of makefile to use XTST_LIBS variable rather than
1785 hard-wiring the Xtst LD_ADD element.
1787 * test/keysynth-demo.c:
1788 Tweaked an output message; added initialization of the
1789 'keystrings' member of the "switch listener" key_set.
1791 * libspi/relation.c:
1792 Squashed compile-time warning.
1794 * libspi/accessible.c:
1795 Cosmetic and formatting fixes, renamed a static method.
1797 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1799 * libspi/accessible.c
1801 * libspi/application.c
1804 * libspi/component.c
1805 * libspi/editabletext.c
1806 * libspi/hyperlink.c
1807 * libspi/hypertext.c
1809 * libspi/selection.c
1813 * registryd/desktop.c:
1814 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1816 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1818 * idl/Accessibility_Registry.idl:
1819 Added boolean member 'is_text' to DeviceEvent. This is for the
1820 use of key events, and helps prevent ambiguity between composed
1821 key strings and keysym names, since both may potentially be
1822 returned in the 'event_string' member.
1824 * at-bridge/bridge.c:
1825 * registryd/deviceeventcontroller.c:
1826 Use the 'is_text' member when notifying device event listeners.
1827 Knon issue: composed characters are not dealt with correctly by
1828 the global key listener implementation yet.
1830 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1832 * at-bridge/bridge.c:
1833 Namespaced local static methods to spi_atk_bridge_* where
1834 previously named bridge_*, and spi_* elsewhere.
1836 * at-bridge/bridge.c:
1837 * cspi/bonobo/cspi-bonobo-listener.c:
1838 Added demarshalling/conversion for string member of
1839 Accessibility_DeviceEvent to AccessibleKeystroke.
1841 * registryd/deviceeventcontroller.c:
1842 Added code to fill the Accessibility_DeviceEvent key string value
1843 member for global key events (i.e. from XGrabKey), to match
1844 behavior of Accessibility_DeviceEvent from the toolkit key events
1845 from the bridge. Fixed timestamp in global key event notifications.
1848 Added printout of key event's string value to
1849 report_ordinary_key_event, for demo/debugging purposes.
1851 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1853 * idl/Accessibility_Registry.idl:
1854 Removed Accessibility_KeyStroke structure in favor of generic
1855 Accessibility_DeviceEvent structure.
1856 Changed Accessibility_ControllerEventMask from a struct to an
1859 * at-bridge/bridge.c:
1860 Changed APIs to use DeviceEvent structure as above, and removed
1861 bogus casting between these event structures.
1863 * cspi/spi-listener.h:
1864 Added keystring member of AccessibleKeystroke structure, to enable
1865 matching on event "names" rather than only hardware codes and
1869 Added keystrings member of AccessibleKeySet struct, to allow
1870 matching on event names (as above).
1871 Added declarations for SPI_createAccessibleKeySet and
1872 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1873 event modmasks directly as unsigned ints rather than structs with
1874 refcounts, in the DeviceEventController methods.
1876 * cspi/spi_registry.c:
1877 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1879 * cspi/spi-roletypes.h:
1880 Added documentation of newly added SPI Roles.
1882 * cspi/bonobo/cspi-bonobo-listener.c:
1883 Changes in support of API changes above.
1885 * libspi/accessible.c:
1886 Converted APIs to use DeviceEvent structure (see IDL changes
1889 * registryd/deviceeventcontroller.c:
1890 Added DEControllerGrabMask structure to track keygrabs not only by
1891 modmask but by keyset as well; this allows us to do "global"
1892 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1893 grabbing on AnyKey and then filtering after-the-fact.
1894 Bugfixes for event filtration mean that we don't get false matches
1895 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1897 * registryd/deviceeventcontroller.c:
1898 Namespaced a number of static methods to use spi_ prefix. Major
1899 revision to internals of global (i.e. X) key grabs.
1901 * registryd/deviceeventcontroller.h:
1902 Removed keymask_list and added keygrabs_list to
1903 SpiDeviceEventController struct.
1906 Added use of SPI_createAccessibleKeySet API when creating a
1907 listener for only one key. Attach a listener to "shift spacebar
1908 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1909 X key event names to SPI key event names, so that listeners are
1910 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1912 * test/keysynth-demo.c:
1913 Changed (incorrect) use of X key event names (KeyPressed,
1914 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1917 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1919 * libspi/accessible.c:
1920 Convert all AtkRole enumerations to Accessibility_Role enums when
1921 getting a role from an AtkObject.
1923 * cspi/spi_accessible.c:
1924 Complete the conversion of Accessibility_Role enums at runtime to
1925 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1926 role enums correctly match those given in spi-roletypes.h.
1927 Re-synchronize the local names list for AccessibleRole_getName ().
1928 AccessibleRole_getName is now deprecated, since it duplicates the
1929 more reliable Accessible_getRoleName.
1930 Added some role types from Accessibility_Role.idl.
1932 * idl/Accessibility_Role.idl:
1933 Added some role types used by AtkRole.
1935 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1938 * cspi/spi_registry.c:
1940 * cspi/cspi-bonobo-listener.c:
1941 Namespaced all methods that did not begin with an "SPI_" or
1942 "Accessible" prefix to "SPI_".
1945 Homogenized internal function namespace to "cspi_" for statics.
1948 Patched tests to use the new CSPI API.
1950 * docs/reference/cspi/at-spi-cspi-sections.txt:
1951 Updated docs to reflect namespace changes, and added a number of
1952 methods to the documentation.
1954 * registryd/registry.c:
1955 Changed use of strings and string hashes in listener event
1956 matching and parse_event_string to use GQuark, which is guaranteed
1959 * registryd/registry.h:
1960 Squashed annoying warning.
1962 * idl/Accessibility_Role.idl:
1963 Extended range of available Accessibility_Role values.
1965 * cspi/spi_accessible.c:
1966 Re-ordered role names.
1968 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1970 * idl/Accessibility_Value.idl:
1971 Revert use of union back to CORBA_double, since the double type is
1972 more efficient and can contain the other types without loss of
1975 * idl/Accessibility_Accessible.idl:
1976 Added method Accessibility:Accessible:getRoleName, to complement
1977 Accessibility:Accessible:getRole.
1979 * cspi/spi_accessible.c:
1981 Added C binding for above, Accessible_getRoleName (), and changed
1982 signature of Accessible_getRole () to return an AccessibleRole.
1984 * cspi/spi-roletypes.h:
1985 Changed AccessibleRole_getName to return a char * instead of a
1986 const char *. This method is now at least temporarily deprecated
1987 in favor of asking Accessibles for their RoleNames directly.
1990 Revert to match Accessibility_Value.idl;
1994 Change signature of AccessibleValue methods to use double rather
1998 * cspi/spi_accessible.c:
1999 Changed Accessible_getRole to return an AccessibleRole enum rather
2000 than a UTF-8 string. The UTF-8 string can still be obtained via
2001 AccessibleRole_getName ().
2003 * test/test-simple.c:
2004 Add test_action. Small fixup to match API change to Accessible_getRole.
2007 Bugfix for get_action_from_servant ().
2009 2001-12-11 Michael Meeks <michael@ximian.com>
2011 * libspi/libspi.h: remove registry.h and
2012 desktop.h, deviceeventcontroller.h
2014 * libspi/Makefile.am: remove registry.[ch],
2015 desktop.[ch], deviceeventcontroller.[ch]
2017 * registryd/Makefile.am: add registry.[ch],
2018 desktop.[ch], rename registryd.c to registry-main.c.
2019 add deviceeventcontroller.[ch]
2021 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2024 Replace setenv() call with putenv ().
2026 * libspi/component.c:
2027 Bugfix in AccessibleComponent_getExtents (),
2030 2001-12-11 Michael Meeks <michael@ximian.com>
2032 * libspi/image.c (impl_getImageExtents): impl.
2033 (spi_image_class_init): upd.
2036 (AccessibleImage_getImageDescription): fix daft bug
2039 * test/test-simple.c (global_listener_cb): update
2040 to only quit if not --poke
2041 (main): catch --poke.
2042 (validate_accessible): upd. dumping, call test_image
2045 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
2048 * idl/Accessibility.idl: update all IDL includes.
2050 * idl/*.idl - rename to namespace - this sucks, blame
2051 mjs' bad decision for oafd.
2053 * test/test-simple.c (create_test_window): add more tests.
2054 (create_tree): split this out.
2055 (validate_accessible): bugfix.
2057 2001-12-11 Michael Meeks <michael@ximian.com>
2059 * cspi/bonobo/cspi-bonobo-listener.c:
2060 (cspi_kestroke_listener_unref),
2061 (cspi_event_listener_unref): impl. undoing previous
2062 homenous environment - for Bill.
2064 * cspi/spi_table.c (long_seq_to_array): use
2067 * cspi/spi_main.c: split out all bonoboish bits into
2070 * cspi/spi-impl.h: upd. typedefs.
2072 * cspi/spi_registry.c: update to lowlevel API,
2073 return booleans to indicate success in some places.
2075 * cspi/spi_event.c: update to lowlevel API.
2077 * cspi/bonobo/Makefile.am: add.
2079 * cspi/bonobo/cspi-lowlevel.h: add
2081 * cspi/bonobo/cspi-bonobo.c: add
2083 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
2085 * cspi/Makefile.am: remove spi-listener-impl.[ch],
2086 (SUBDIRS): add bonobo, link in the libs.
2088 * cspi/spi-util.c: kill this file.
2090 * TODO: merge in my bits.
2092 2001-12-11 Michael Meeks <michael@ximian.com>
2094 * test/test-simple.c (test_value, test_table, main):
2095 remove unused variables causing warnings.
2097 * configure.in: cleanup checks - require gail.
2099 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2102 Changed Value interface to use SValue (scalars) rather than
2103 assuming all values are floats. This allows floats, doubles,
2104 longs, shorts, and unsigned values to be manipulated.
2105 Introduced Accessibility:SValue union.
2108 Updated to use new API above, and to work correctly with GValues
2109 of different types in AtkValue.
2112 Updated to use new API above. cspi's API is as yet unchanged.
2115 Updated the Value revision action item.
2117 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2119 * test/test-simple.c:
2120 Added test_table (GtkTreeView widget in test window to follow).
2121 Un-commented test_value, added GtkRange widget.
2122 Added GtkTreeView widget with GtkListStore. It passes regression
2123 test but leaks one SPI object for some reason.
2126 Fixed bug in impl__set_currentValue.
2128 2001-12-10 Michael Meeks <michael@ximian.com>
2130 * cspi/spi_text.c: audit for exception handling,
2131 tolerating NULL object references safely etc.
2133 * cspi/spi_value.c: ditto.
2135 * cspi/spi_table.c (AccessibleTable_getSummary),
2136 (AccessibleTable_getAccessibleAt),
2137 (AccessibleTable_getRowHeader),
2138 (AccessibleTable_getColumnHeader),
2139 (AccessibleTable_getCaption): fix bugs hidden by
2141 (long_seq_to_array): impl.
2142 (AccessibleTable_getSelectedRows),
2143 (AccessibleTable_getSelectedColumns): use it.
2145 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2148 Added a TODO list (rough and short for now).
2150 * cspi/spi_hyperlink.c:
2151 * cspi/spi_hypertext.c:
2152 Fixed macro name typos, and remove use of obsolete macro in
2153 AccessibleHyperlink_getLink.
2155 * cspi/spi_action.c:
2156 * cspi/spi_accessible.c:
2157 * cspi/spi_application.c:
2158 * cspi/spi_component.c:
2159 * cspi/spi_selection.c:
2162 Documentation fixes (removed return values from ref/unref methods).
2164 2001-12-10 Michael Meeks <michael@ximian.com>
2166 * cspi/spi_action.c: audit for exception handling,
2167 tolerating NULL object references safely etc.
2169 * cspi/spi_accessible.c: ditto.
2171 * cspi/spi_component.c: ditto.
2173 * cspi/spi_editabletext.c: ditto.
2175 * cspi/spi_hyperlink.c: ditto.
2177 * cspi/spi_hypertext.c: ditto.
2179 * cspi/spi_image.c: ditto.
2181 * cspi/spi_selection.c: ditto.
2183 2001-12-10 Michael Meeks <michael@ximian.com>
2185 * configure.in: use cspi/libspi.pc.in instead.
2187 * Makefile.am (pkgconfig_DATA): upd. to match.
2189 * test/simple-at.c (report_focus_event): kill hacks around
2190 bad return values, use putenv not setenv
2192 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
2193 fire ChildGone - I killed it.
2195 * libspi/component.c
2196 (impl_accessibility_component_get_extents): remove
2199 * idl/Accessible.idl: kill ChildGone exception.
2201 * cspi/*.[ch]: kill int return from ref / unref.
2203 * cspi/spi_main.c (cspi_object_add_check): fold into
2204 (cspi_object_add): here.
2206 * cspi/spi_component.c (AccessibleComponent_getExtents):
2207 handle exceptions elegantly.
2209 * cspi/spi-private.h (cspi_check_ev_return),
2210 (cspi_return_if_fail): impl.
2212 * cspi/spi_accessible.c: use extensively.
2213 (AccessibleStateSet_equals): add direct compare check.
2215 * cspi/spi_selection.c: tolerate NULL objs, and check
2216 exceptions before return.
2218 * cspi/spi-util.c (cspi_warn_ev): rename to
2219 (cspi_check_ev): this & don't pass ev in; no point.
2221 2001-12-10 Michael Meeks <michael@ximian.com>
2223 * test/test-simple.c: use putenv not setenv
2224 (get_environment_vars): more chatty if you're not using
2227 * test/simple-at.c: do the setenv so more people see the
2230 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2232 * libspi/registry.c:
2233 Changed check of CORBA_environment on notification to be a warning
2234 instead of an error for the moment, since we can recover from this
2235 error when caused by a queued notification from a dead app.
2238 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
2239 used by all current implementors of AtkValue), and coerce to
2240 CORBA_float. (Proper general case fix may require change to Value.idl).
2242 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2246 * cspi/spi_accessible.c:
2247 Documentation fixes: added user_data params to documentation for
2248 listeners and callbacks.
2250 * cspi/spi_accessible.c:
2251 Changed AccessibleStateSet_compare to return a
2252 StateSet rather than return the difference set into a third parameter.
2255 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2258 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
2259 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
2263 Remove subdirectory po from SUBDIRS for now.
2265 * at-bridge/bridge.c:
2266 Beefed up a couple of debug printouts.
2267 One-line fix for signal notification name formatting.
2269 * libspi/accessible.c:
2270 Added assertion to spi_accessible_new ().
2272 * libspi/application.c:
2273 Put #ifdef qualifiers around a printf.
2276 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
2278 * registryd/Makefile.am:
2280 Replaces use of XML_I18N_MERGE_SERVER_RULE with
2281 INTLTOOL_SERVER_RULE macro.
2284 Added an event listener for several ATK signals, for
2285 testing and debugging. Removed a few g_warnings.
2286 Added test output if focussed item implements the Value interface.
2288 * test/test-simple.c:
2289 Added test_value () function (known not to pass at the moment, so
2290 not actually called yet.
2292 2001-12-08 Michael Meeks <michael@ximian.com>
2294 * at-bridge/bridge.c (bridge_focus_tracker),
2295 (emit_eventv): fix the same ref. leak.
2296 (register_atk_event_listeners): don't leak.
2298 * cspi/spi-listener-impl.c (cspi_event): more
2299 protection from client code.
2301 * test/test-simple.c (test_desktop): unref the app.
2303 * test/Makefile.am: upd. TESTS.
2305 * at-bridge/bridge.c (bridge_exit_func): release the registry.
2307 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
2309 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
2311 * cspi/spi_registry.c: constify in strings.
2312 (deregisterGlobalEventListenerAll): don't release the ref.
2314 * cspi/spi.h: start removing redundant / conflicting
2315 gtkdoc comments, making the API readable at a glance :-)
2317 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
2319 * test/keysynth-demo.c (keysynth_exit, main): upd.
2321 * test/simple-at.c (main, simple_at_exit): upd.
2323 * test/test-simple.c (unutterable_horror): kill.
2324 (utterable_normal_derefs): kill.
2325 (main): upd & do a setenv before gtk_init, so that we
2326 can use memprof - and to save the pain of remembering
2327 this, if we're running under memprof - don't exit.
2329 * cspi/spi_main.c (SPI_exit): return exit status
2331 (SPI_event_quit): impl.
2332 (SPI_event_main): simplify.
2333 (cspi_is_gnome_app): kill.
2334 (SPI_init): kill isGNOMEapp arg.
2336 * at-bridge/bridge.c (register_atk_event_listeners):
2337 re-instate the unref.
2338 (bridge_exit_func): don't re-activate the registry,
2339 protect vs. theoretical re-entry, use the
2340 AT_BRIDGE_SHUTDOWN env. var to determine whether to
2341 assert a clean shutdown - for regression tests.
2343 2001-12-08 Abel Cheung <maddog@linux.org.hk>
2345 * configure.in: Comment out dummy i18n support for now,
2346 otherwise it fails to build.
2347 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
2348 EXTRA_DIST. They are missing in tarball.
2350 2001-12-07 Michael Meeks <michael@ximian.com>
2352 * util/magnifier.c: kill bonobo activation reg. race.
2354 * libspi/component.c
2355 (impl_accessibility_component_get_extents): make it match
2358 * libspi/registry.c (_registry_notify_listeners):
2359 re-remove X headers & reconcile conflicts.
2360 (spi_listener_struct_free): bad conflict resolve.
2361 (impl_accessibility_registry_register_application):
2362 more bad merging fixed.
2363 (impl_accessibility_registry_deregister_application): ditto.
2364 (spi_registry_new): ditto.
2365 (spi_registry_init): don't have an applications field.
2367 [ merge fixups2 branch to here ]
2368 2001-12-07 Michael Meeks <michael@ximian.com>
2370 * test/simple-at.c (report_focus_event),
2371 (report_focussed_accessible): remove g_warning debug.
2373 2001-12-07 Michael Meeks <michael@ximian.com>
2375 * test/test-simple.c (validate_tree): comment out some checks.
2376 (test_desktop): app now not registered idly - horay.
2378 2001-12-07 Michael Meeks <michael@ximian.com>
2380 * cspi/spi_registry.c
2381 (registerAccessibleKeystrokeListener): clean, stop it leaking
2382 great swathes of memory, and device event controller references.
2383 ensure we always pass valid sequences.
2384 (deregisterAccessibleKeystrokeListener): ditto.
2385 (generateKeyEvent): upd.
2387 * at-bridge/bridge.c (bridge_key_listener): handle
2388 registry dead exception gracefully.
2389 (bridge_focus_tracker, emit_eventv): free ev.
2391 * test/simple-at.c (report_focus_event): fix polarity.
2393 * libspi/application.c (notify_listeners): kill the ev
2394 argument, and make sure we init the ev we use.
2395 (spi_application_object_event_listener): split out a chunk
2396 (get_atk_object_ref): here & fixup.
2397 (reverse_lookup_name_for_toolkit_event): make const.
2398 (spi_application_toolkit_event_listener): fixup, kill leaks
2401 * at-bridge/bridge.c (register_atk_event_listeners):
2402 don't unref the noop object - causes grief.
2404 * libspi/registry.c: remove the X headers.
2405 turn off the debug churn.
2407 * libspi/accessible.c (spi_accessible_new_return): only
2408 release the ref if we are supposed to [doh]
2410 * test/simple-at.c (report_button_press, report_focus_event):
2411 guard vs. unexpected exit.
2413 * at-bridge/bridge.c (gtk_module_init): prune printf.
2414 (bridge_exit_func): fix app unref.
2416 * libspi/Makefile.am: don't install registry or desktop.h
2418 * libspi/*.h: update includes.
2420 * libspi/application.h: don't include ourself, or
2421 other redundant headers.
2423 2001-12-06 Michael Meeks <michael@ximian.com>
2425 * libspi/accessible.c
2426 (get_accessible_from_servant): impl.
2427 Upd. all CORBA impl.s to use it killing cut and paste.
2429 * cspi/spi_main.c (cspi_cleanup): guard vs. double
2431 (SPI_init): register atexit cleanup handler here.
2433 2001-12-06 Michael Meeks <michael@ximian.com>
2435 * at-bridge/bridge.c (gtk_module_init): g_error on
2436 activation exception
2438 2001-12-06 Michael Meeks <michael@ximian.com>
2440 * at-bridge/bridge.c (gtk_module_init): some sort of
2441 confusing merge clash - reverted.
2442 (bridge_idle_init): ditto.
2444 * test/test-simple.c (main, utterable_normal_derefs):
2445 merge from Bill - somehow not committed.
2447 2001-12-06 Michael Meeks <michael@ximian.com>
2449 * libspi/value.c (spi_value_class_init): upd.
2450 (spi_value_finalize): kill.
2452 * libspi/table.c (spi_table_finalize): kill.
2453 (spi_table_interface_new): upd.
2454 (spi_table_class_init): upd.
2455 (get_table_from_servant): impl.
2456 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2458 * libspi/selection.c (spi_selection_finalize): kill.
2459 (spi_selection_interface_new): upd.
2460 (spi_selection_class_init): upd.
2461 (get_selection_from_servant): impl.
2462 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2464 * libspi/relation.c (spi_relation_finalize): kill.
2465 (spi_relation_class_init, spi_relation_new): upd
2467 * libspi/image.c (spi_image_finalize): kill.
2468 (spi_image_class_init): upd.
2469 (spi_image_interface_new): upd.
2470 (get_image_from_servant): impl.
2471 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2473 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
2474 (spi_hyperlink_finalize): kill.
2475 (spi_hyperlink_new): upd.
2476 (get_hyperlink_from_servant): impl.
2477 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2479 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
2480 (spi_hypertext_finalize): kill.
2481 (spi_hypertext_class_init): upd.
2482 (get_hypertext_from_servant): impl.
2483 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2485 * libspi/editabletext.c (spi_editable_text_finalize): kill.
2486 (spi_editable_text_interface_new): upd.
2487 (get_editable_text_from_servant): impl.
2488 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2490 * libspi/text.c (get_text_from_servant): impl.
2491 All impls - update to use it killing more cut and paste,
2492 also fix bad string returns on duff args ( a somewhat
2493 impossible case to handle - but hey ).
2494 (spi_text_construct): impl.
2495 (spi_text_interface_new): upd.
2496 (spi_text_object_finalize): kill.
2498 * libspi/component.c
2499 (accessibility_component_object_finalize): kill.
2500 (spi_component_class_init): upd.
2501 (get_component_from_servant): impl. helper to kill cut & paste.
2502 (impl_accessibility_component_contains):
2503 (impl_accessibility_component_get_accessible_at_point):
2504 (impl_accessibility_component_get_position):
2505 (impl_accessibility_component_get_extents):
2506 (impl_accessibility_component_get_mdi_z_order):
2507 (impl_accessibility_component_get_layer):
2508 (spi_component_interface_new): upd.
2510 * libspi/action.c (spi_action_finalize): kill.
2511 (spi_action_class_init): upd. inherit from SpiObject.
2512 (spi_action_interface_new): upd.
2513 (get_action_from_servant): impl. helper to reduce cut & paste.
2514 (impl_getKeyBinding, impl_getName, impl_doAction),
2515 (impl_getDescription): Use it everywhere.
2517 * cspi/spi_main.c (get_live_refs): a pointer hash.
2518 (spi_object_hash, spi_object_equal): comment out.
2519 There are issues with CORBA object hashing that need
2522 * libspi/application.c (spi_application_init),
2523 (spi_application_new): upd.
2525 * libspi/accessible.c (spi_accessible_object_finalize): kill.
2526 (spi_accessible_class_init): upd.
2527 s/accessible/object/ in epv methods.
2529 2001-12-05 Bill Haneman <bill.haneman@sun.com>
2531 * at-bridge/bridge.c:
2532 Reorder the bridge initialization into the bridge gtk_module_init,
2533 an immediate call to bridge_register_app, and an idle_add for
2534 register_atk_event_listeners (the only code that *must* wait until
2535 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
2536 the activation, creates the application's Accessible object, and
2537 queues the bridge_idle_init function. Restored call to
2538 Accessibility_Registry_deregisterApplication().
2539 Prior to making this call we obtain a new reference to the
2540 registry, which is a temporary hack that helps us handle apps that
2541 shut down the bonobo mainloop before we get there.
2543 * libspi/registry.c:
2544 Fix string leakage in debug block, and don't segv if a an app
2545 dies before its event notifications have been propagated.
2548 Modify cspi_check_ev() to call g_warning() rather than g_error(),
2549 as stopgap measure until we get proper exception handling when
2550 objects die during or before interrogation.
2554 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
2555 Also changed default value of is_gnome_app to TRUE.
2558 * test/keysynth-demo.c:
2559 Changed use of SPI_init and SPI_event_main to reflect API change above.
2562 Made report_focus_event check the warning value from getName
2563 before reporting on focussed accessible; simplifies handling of
2564 notifications from dead objects.
2566 * test/test-simple.c: (Changes not in this patch since source is
2569 2001-12-05 Michael Meeks <michael@ximian.com>
2571 * registryd/registryd.c (main): protect against
2572 bonobo-activation startup race condition.
2574 * cspi/spi_main.c (cspi_object_add_check): cope
2575 with the exception elegantly.
2577 * idl/Accessible.idl: decl. ChildGone
2579 * libspi/desktop.c (spi_desktop_dispose): impl.
2580 (spi_desktop_class_init): upd.
2581 (spi_desktop_add_application),
2582 (spi_desktop_remove_application),
2583 (abnormal_application_termination): impl.
2584 (impl_desktop_get_child_at_index): re-impl.
2587 (impl_accessibility_registry_deregister_application),
2588 (impl_accessibility_registry_register_application):
2589 kill excessive debug clutter.
2591 * test/test-simple.c (test_misc): test some NULL
2592 tolerance. (main): upd.
2594 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
2595 implements no interfaces - so let's not crash.
2597 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
2599 * libspi/accessible.c (spi_accessible_new_return): impl.
2600 helper to calm the cut and paste, to cope with
2601 NULL AtkObjects effectively and efficiently, and to kill
2602 the referencing bugs.
2604 * libspi/table.c (impl_getAccessibleAt),
2605 (impl_getRowHeader, impl_getColumnHeader): upd.
2607 * libspi/hyperlink.c (impl_getObject): upd.
2609 * libspi/accessible.c
2610 (impl_accessibility_accessible_get_child_at_index): upd.
2612 * libspi/component.c
2613 (impl_accessibility_component_get_accessible_at_point): upd.
2615 * test/test-simple.c (test_editable_text, test_text): impl.
2618 * cspi/spi_editabletext.c
2619 (AccessibleEditableText_insertText): constify.
2621 * test/test-simple.c (focus_me): make more robust.
2623 * libspi/accessible.c: remove some printfs in methods that
2624 we test and work fine, so we can get a clean tree dump.
2626 * test/test-simple.c (validate_accessible),
2627 (validate_tree): make tree dumping pretty too.
2629 * at-bridge/bridge.c (bridge_signal_listener): upd. so
2630 it builds without debug on.
2632 * test/test-simple.c (validate_accessible): fix the most
2635 * cspi/spi_main.c (spi_object_release): leave the nicely
2636 blanked memory around if in debug mode.
2638 * cspi/spi-listener-impl.c (cspi_event): use add_check.
2640 [committed to fixups2]
2641 2001-12-05 Michael Meeks <michael@ximian.com>
2643 * libspi/editabletext.c
2644 (spi_editable_text_class_init): g_type_class_peek_parent,
2645 not interface peek - so we finalize cleanly.
2647 * libspi/accessible.c (spi_accessible_new): kill debug.
2649 * test/test-simple.c (validate_accessible): fix ref.
2650 leak, print strings before freeing them; sigh, comment a
2651 chunk out due to strangeness.
2652 (validate_tree): unref the child after use.
2654 * cspi/spi_component.c (AccessibleComponent_getLayer):
2655 add missing break statement, switch on zlayer not the
2656 uninitialized retval.
2658 * cspi/spi_main.c (cspi_object_add): add assert, local ref
2659 before (possibly re-entering) remote unref.
2661 * test/simple-at.c (main): unref the desktop.
2663 * cspi/spi_accessible.c (cspi_accessible_is_a): move
2666 * cspi/spi_main.c (cspi_accessible_is_a): here to
2667 isolate bonobo API usage more.
2669 * libspi/registry.c (impl_accessibility_registry_register_application):
2670 prune bogus comment.
2672 2001-12-04 Michael Meeks <michael@ximian.com>
2674 * test/test-simple.c (validate_tree): upd.
2675 IndexInParent check to make it more lucid.
2676 (validate_accessible): dump the tree.
2678 * libspi/accessible.c (de_register_public_ref),
2679 (get_public_refs): impl.
2680 (spi_accessible_new): make more efficient & intuitive.
2681 Now IndexInParent check works.
2683 2001-12-04 Michael Meeks <michael@ximian.com>
2685 * cspi/spi-util.h: remove.
2687 * cspi/spi.h: move SPI_freeString here
2689 * libspi/component.c (impl_accessibility_component_get_layer):
2691 (impl_accessibility_component_get_mdi_z_order): ditto,
2692 return -1 on error - is this ok ?
2694 * test/test-simple.c (test_application): impl.
2696 * cspi/spi_accessible.c (Accessible_getApplication),
2697 (Accessible_isApplication): impl.
2699 * libspi/registry.c (spi_listener_struct_free): release
2700 the CORBA reference too.
2702 * libspi/accessible.c
2703 (impl_accessibility_accessible_get_parent): fix ref leak.
2705 * libspi/registry.c (spi_registry_new): make the registry
2706 immortal - we don't want it to go away ever.
2708 * libspi/application.c
2709 (spi_accessible_application_finalize): impl. cleanup.
2711 * cspi/spi_registry.c
2712 (deregisterGlobalEventListenerAll),
2713 (deregisterGlobalEventListener),
2714 (deregisterAccessibleKeystrokeListener): fix ref leak.
2716 * cspi/spi_main.c (SPI_init): remove redundant ref.
2718 * test/test-simple.c (unutterable_horror): impl. to force a
2723 (impl_accessibility_registry_deregister_application): release
2724 the application when we de-register it.
2726 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2727 until we have the infastructure to get it right.
2729 2001-12-03 Michael Meeks <michael@ximian.com>
2731 * libspi/Makefile.am: only build eventlistener.[ch]
2733 * libspi/accessible.c
2734 (impl_accessibility_accessible_get_child_at_index): don't leak.
2736 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2737 before we hit the idle handler.
2739 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2740 debugging than exit.
2742 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2744 * libspi/listener.c (impl_notify_event): check source
2745 not NIL before unref.
2747 * libspi/registry.c (impl_registry_notify_event): ditto.
2749 * libspi/eventlistener.c
2750 (impl_accessible_event_notify_event): unref the source.
2752 * libspi/accessibleeventlistener.c
2753 (impl_accessible_event_notify_event): unref the source.
2755 * idl/Event.idl: remove 'hash_id' attribute - of no
2758 * libspi/application.c (notify_listeners): upd list
2760 (spi_application_object_event_listener),
2761 (spi_application_toolkit_event_listener): upd to do correct
2765 (_registry_notify_listeners): update.
2766 (parse_event_type): this method also leaks like a sieve.
2767 (impl_accessibility_registry_deregister_global_event_listener):
2768 fix ETYPE_WINDOW case.
2770 * libspi/application.c
2771 (impl_accessibility_application_register_object_event_listener):
2774 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2776 * libspi/hypertext.c (impl_getLink): ditto.
2778 * cspi/spi_main.c (cspi_object_add): remove
2779 bogus CORBA_Object_duplicate.
2781 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2784 * cspi/spi_accessible.c
2785 (Accessible_getRelationSet): fix leak / referencing issue.
2787 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2788 (cspi_object_add, cspi_object_unref): upd.
2789 (spi_object_release, get_live_refs): impl.
2790 (cspi_cleanup): simplify.
2792 * *.[ch]: s/boolean/SpiBoolean/
2794 * cspi/spi_accessible.c (role_names): actualy order so it
2795 corresponds with the enum !
2797 * test/test-simple.c (test_roles): check some role strings
2798 vs. enums to detect offset errors.
2800 2001-12-01 Michael Meeks <michael@ximian.com>
2802 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2804 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2806 (Accessible_getChildAtIndex): use cspi_add_check so we
2807 check the ev before using a (possibly) invalid value.
2809 * libspi/accessible.c
2810 (impl_accessibility_accessible_get_parent): don't segv
2813 * at-bridge/bridge.c (gtk_module_init): upd.
2814 (bridge_property_event_listener): don't leak strings
2816 (bridge_state_event_listener),
2817 (bridge_property_event_listener): don't use a static
2818 buffer in case of recursive event emission &
2819 re-enterancy - split out the swathe of cut and paste
2821 (emit_eventv): and fix 2 ref leaks here & comply to the
2823 (bridge_register_app): rename to
2824 (bridge_idle_init): this and kill arg parsing, split
2825 various inits & bonobo-activation registration to module
2826 init time, kill referencing error.
2827 (bridge_exit_func): fix the same leak.
2828 (bridge_focus_tracker): don't leak event structures
2830 (bridge_signal_listener): more leakage and cut & paste
2832 (bridge_key_listener): return the result - FIXME is
2833 this polarity correct ?
2834 (accessibility_keystroke_from_atk_key_event): rename
2835 (accessibility_init_keystroke_from_atk_key_event): and stop
2837 (gtk_module_init): return a value - not that it is checked by
2839 (bridge_key_listener): register my horror at casting between
2840 IDL defined structs.
2841 (bridge_get_registry): kill - not used.
2843 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2845 * test/test-simple.c (test_roles): impl.
2846 (test_desktop, validate_accessible, validate_tree): impl.
2848 * cspi/spi_accessible.c (role_names): fixup bogus
2849 MAX_ROLES setup, make constants const for efficient linkage
2850 (AccessibleRole_getName): conform to coding style, make
2853 2001-11-30 Michael Meeks <michael@ximian.com>
2855 * cspi/spi.h: add missing prototype.
2857 * libspi/registry.c (spi_listener_struct_new): fix sig.
2859 * test/Makefile.am: add test-simple
2861 * test/test-simple.c: add
2863 * test/test.sh: add.
2865 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2867 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2868 do it straight - since otherwise we often get an activation race.
2870 [ work before Bill duplicated a chunk of it ... ]
2871 2001-11-30 Michael Meeks <michael@ximian.com>
2873 * libspi/keystrokelistener.c
2874 (spi_keystroke_listener_class_init): fixup arg
2877 * libspi/eventlistener.c
2878 (spi_event_listener_class_init): ditto.
2880 * tests/test.sh: add.
2882 * cspi/spi-listener-impl.h: update macros.
2884 * cspi/spi-listener-impl.c
2885 (cspi_event_listener_remove_callback): add
2886 correct pre-conditions.
2888 * cspi/spi_main.c (SPI_exit): guard vs. double
2889 exits, exit the mainloop nicely.
2890 (SPI_event_main): make more sense.
2891 (SPI_init): move the atexit evilness here so we
2892 always do it (yuck).
2893 (SPI_event_main): upd.
2895 * test/simple-at.c: update for listener changes.
2897 * registryd/registryd.c (main): prune kruft.
2899 * libspi/libspi.h: upd.
2901 * libspi/eventlistener.[ch]: rename broken macros.
2903 * libspi/accessibleeventlistener.[ch]: remove.
2905 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2907 * test/test-simple.c: Add - automated tests.
2909 * cspi/spi-listener-impl.c (cspi_event),
2910 (cspi_key_event): add user_data to invoke.
2911 (cspi_keystroke_listener_finalize): impl.
2912 (cspi_keystroke_listener_class_init): upd.
2915 (createAccessibleEventListener),
2916 (AccessibleEventListener_addCallback),
2917 (createAccessibleKeystrokeListener),
2918 (AccessibleKeystrokeListener_addCallback): upd.
2920 * libspi/deviceeventcontroller.c
2921 (spi_device_event_controller_check_key_event): add public proto.
2924 (impl_accessibility_registry_deregister_global_event_listener):
2925 always init listeners.
2926 (_registry_notify_listeners): yes it is.
2928 * cspi/spi-listener-impl.c (cspi_key_event):
2930 (cspi_event_listener_finalize): impl.
2931 (cspi_event_listener_class_init): hook up.
2932 (event_handler_new, event_handler_free),
2933 (event_list_remove_by_callback): impl.
2934 (cspi_event_listener_remove_callback),
2935 (cspi_keystroke_listener_remove_callback),
2936 (cspi_keystroke_listener_add_callback),
2937 (cspi_event_listener_add_callback): upd.
2939 * libspi/keystrokelistener.c
2940 (keystroke_listener_object_finalize): kill
2941 (spi_keystroke_listener_class_init): upd.
2942 (spi_keystroke_listener_add_callback),
2943 (spi_keystroke_listener_remove_callback): kill,
2945 (impl_key_event): prune drasticaly.
2947 * libspi/eventlistener.c
2948 (spi_event_listener_add_callback),
2949 (spi_event_listener_remove_callback): kill, use
2951 (impl_accessible_event_notify_event): upd.
2952 (spi_event_listener_object_finalize): remove.
2954 * libspi/Makefile.am: use eventlistener.[ch]
2956 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2958 * libspi/registry.c (_registry_notify_listeners):
2959 Changed listener loop iteration to use preferred convention.
2960 Got rid of string memory leaks caused be calling g_strconcat
2961 inside function calls.
2963 * libspi/registry.c (parse_event_type):
2964 Stopped g_strconcat memory leaks, free the g_strsplit return,
2965 g_strdup the split pieces when used, etc.
2967 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2970 Change method 'compare' to return a 'difference set' rather than
2971 taking a StateSet as an out parameter (more Java-friendly).
2973 * idl/Accessible.idl:
2974 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2976 * idl/Component.idl:
2978 Changed methods 'getExtents' and 'getImageExtents' in these
2979 interfaces to return a BoundingBox structure.
2980 (getPosition and getSize are redundant and possibly should be
2981 removed, rather than creating a corresponding Point struct.)
2983 * cspi/spi_component.c:
2984 Modify implementation of getExtents to reflect the above IDL
2989 Add (missing) AccessibleImage_getExtents () API.
2991 * docs/reference/cspi/at-spi-cspi-sections.txt:
2992 Added AccessibleImage_getImageExtents () to docs.
2994 2001-12-03 Bill Haneman <bill.haneman@sun.com>
2996 * idl/Component.idl:
2997 Added two methods, getLayer () and getMDIZOrder (), to reflect
2998 the new ATK methods atk_object_get_layer and
2999 atk_object_get_mdi_z_order. (Which arguably should be part of the
3000 AtkComponent API and AtkObject). Also added an enum,
3001 ComponentLayer, for the first method's return value.
3003 * libspi/component.c:
3004 Added implementations for these methods.
3006 * cspi/spi_component.c:
3008 Added cspi binding methods for above,
3009 AccessibleComponent_getLayer() and
3010 AccessibleComponent_getMDIZOrder().
3011 Added cspi enum 'AccessibleComponentLayer'.
3013 * docs/reference/cspi/at-spi-cspi-sections.txt:
3014 Added above methods to docs.
3018 Changed typedef for 'boolean' type (and all references to it) to
3019 SPIBoolean, to avoid keyword clashes with C++.
3022 Changed usages of 'boolean' to SPIBoolean.
3024 * test/keysynth-demo.c:
3025 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
3026 app), except where SPIBoolean is required by the callbacks API.
3028 2001-12-02 Bill Haneman <bill.haneman@sun.com>
3030 * cspi/spi_registry.c:
3031 Removed obsolete X event loop for passive keygrabs (which now
3034 * registryd/registryd.c:
3035 Removed unnecessary call to gdk_init() [cruft]. This also allows
3036 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
3039 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3041 * docs/reference/cspi:
3042 Included docs for SPI_freeString in generated documentation.
3045 Renamed spi_freeString to SPI_freeString, for consistency. Added
3046 documentation for this function.
3049 Renamed spi_freeString to SPI_freeString, for consistency.
3050 Removed obsolete method declaration string_from_corba_string.
3052 * test/keysynth-demo.c:
3053 Small tweak to comments.
3056 Stopped leaking the strings returned from CSPI.
3058 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3060 Merged Michael's branch (see his ChangeLog entries below).
3062 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
3063 bridge is alive, release on exit.
3065 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
3066 Fix type check macro.
3069 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
3072 Added is_gnome_app static, and method cspi_is_gnome_app(),
3073 so we can call the appropriate shutdown routine at exit in SPI_exit.
3075 * cspi/spi_main.c (cspi_object_ref):
3076 Duplicate the corba object passed in, since we're keeping it around.
3078 * cspi/SPI_exit.c, cspi_cleanup:
3079 Moved the releasing of the live refs to its own function, so we
3080 can put it in g_atexit (). Call the appropriate shutdown API
3081 depending on whethe calling client is a gnome app or not
3082 (bonobo_main_quit or CORBA_ORB_shutdown).
3084 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
3085 Unref the listener when this method is called, after
3086 deregistration. Updated the API docs to note this behavior.
3088 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
3089 Bugfixes: Ref the bonobo object when returning a parent or child
3090 reference, or an AccessibleRelation. Generally made sure
3091 BonoboObject refcount is incremented whenever we return an
3094 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
3095 Fixed typo/bug in signal declaration.
3097 * libspi/accessibleeventlistener.h:
3100 * libspi/application.c (spi_application_new):
3101 Fixed leak in initialization.
3104 Remembered to increment bonobo-object refcount when returning
3105 children (applications) from desktop object.
3106 Added (empty) finalize method.
3108 * libspi/deviceeventcontroller.c:
3109 Hold a ref to listeners inside DEControllerKeyListeners.
3110 Added dec_key_listener_free() method. Use prepend instead of
3111 append in key_listener list. Fixed some refcount madness and
3112 leaks in the listener registration/deregistration - deregistration
3113 now calls dec_key_listener_free() on listeners, and on the
3114 temporarily constructed dec_key_listener() used to perform the search/match.
3116 * libspi/hypertext.c (spi_hypertest_finalize):
3117 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
3118 class. Also fixed spi_hypertext_interface_new() and
3119 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
3121 * libspi/hypertext.h:
3122 Removed pointless and duplicate AtkObject pointer from
3125 * libspi/keystrokelistener.c:
3126 Fixed incorrect type of keystroke_listener_parent_class,
3127 renamed keystroke_listener_object_finalize to
3128 spi_keystroke_listener_object_finalize.
3129 Fixed typo in signal declaration
3130 (spi_keystroke_listener_class_init).
3132 * libspi/registry.c:
3133 Added funcsions spi_listener_struct_new() and
3134 spi_listener_struct_free() to help with memory management issues.
3135 We also now use these methods instead of gnew + poking stuff into
3136 the struct, and to decrement listener counts/free the listeners
3137 when deregistering them.
3138 Fix more refcount bugs in getDesktop() and
3139 getDeviceEventController().
3142 De-ref the desktop after enumerating the applications. Explicitly
3143 decrement the refcounts on the created listeners on exit (using
3144 _unref for keystroke listeners, and via the
3145 deregisterGlobalEventListenerAll command for other event
3148 2001-11-27 Michael Meeks <michael@ximian.com>
3150 * cspi/spi-listener.h: fixup enum.
3152 2001-11-27 Michael Meeks <michael@ximian.com>
3154 * cspi/spi-listener-impl.c (cspi_event_listener_new),
3155 (cspi_keystroke_listener_new): Use the cspi variants.
3157 2001-11-26 Michael Meeks <michael@ximian.com>
3159 * test/keysynth-demo.c: fix 2 compile warnings, missing
3162 * test/simple-at.c (report_focussed_accessible),
3163 (report_focus_event, report_button_press),
3164 (check_property_change, is_command_key),
3165 (report_ordinary_key_event, report_command_key_event): upd.
3167 * util/mag_client.h: include pre-requisites.
3169 * libspi/accessibleeventlistener.c
3170 (spi_event_listener_object_finalize): free any lingering
3173 * libspi/keystrokelistener.c
3174 (keystroke_listener_object_finalize): ditto.
3176 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
3177 callbacks, with cspi types.
3179 * cspi/spi_event.c (createAccessibleEventListener): chain to
3180 (AccessibleEventListener_addCallback): here.
3181 (createAccessibleKeystrokeListener): chain to
3182 (AccessibleKeystrokeListener_addCallback): here.
3184 * libspi/keystrokelistener.c
3185 (spi_keystroke_listener_class_init): add signal.
3186 (impl_key_event): emit the event.
3187 (boolean_handled_accumulator): impl.
3188 (marshal_BOOLEAN__POINTER): add, gack.
3190 * libspi/accessibleeventlistener.c
3191 (spi_event_listener_class_init): add signal.
3192 (impl_accessible_event_notify_event): emit the signal &
3193 make the loop efficient.
3194 (spi_event_listener_add_callback): prepend the callback.
3196 * libspi/accessibleeventlistener.h: add an 'event' signal,
3197 decl type on callback.
3199 * libspi/keystrokelistener.h: ditto.
3201 * cspi/spi-listener.h: make methods typesafe and
3202 make them use the new event typedefs.
3204 * test/simple-at.c (report_focussed_accessible):
3205 include mag_client.h
3206 Use *(void *)text_interface not the other thing.
3208 * configure.in: add gtk to registryd bits - since we use
3211 * util/magnifier.c: include libbonobo.h
3213 2001-11-25 Bill Haneman <bill.haneman@sun.com>
3215 * test/keysynth-demo.c:
3216 Turned this into a simple scanning keyboard, to demonstrate the
3217 use of g_timeout_add () as a means of creating timers for
3218 scanning, and the use of GtkStyle for visually indicating when
3219 virtual keyboard elements are selected.
3221 keysynth-demo now listens to any keyboard keys with zero-valued
3222 keycodes (i.e. 'unused' keys) and interprets them as
3225 Reworked the shiftlatch code so that shift-down state isn't held
3226 for long periods (it's only synthesized immediately prior to
3227 the keysynth event it's modifying). Note that shiftlatch in this
3228 demo is a convenience, not intended to take the place of AccessX
3229 which is the better choice for getting 'sticky' modifier keys.
3231 * libspi/deviceeventcontroller.c:
3232 * at-bridge/bridge.c:
3233 * cspi/spi_registry.c:
3234 Removed some debug print stuff, and put other verbosity in #ifdef
3239 Implemented some more of the magnifier IDL for the simple
3240 magnifier: namely, getZoomRegionParams.
3241 Added mag_x and mag_y members to MagnifierData struct, aid of this
3243 Added GtkWindow::realize signal handler to magnifier, to keep it
3244 from receiving keyboard focus from the WM.
3246 2001-11-23 Mark McLoughlin <mark@skynet.ie>
3248 * cspi/spi-private.h: my guess at what michael forgot
3249 before he ran off to NZ :-)
3251 2001-11-23 Michael Meeks <michael@ximian.com>
3253 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
3254 comment out non existant method invoke so we link.
3256 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
3257 use bonobo_exception_get_text for more friendly warnings.
3259 * cspi/spi.c (Obj_Add): move into spi_main & rename
3260 spi_object_add; kill spi.c
3262 * cspi/spi_registry.c
3263 (deregisterGlobalEventListener),
3264 (deregisterGlobalEventListenerAll),
3265 (registerGlobalEventListener): fix exception leaks.
3267 * cspi/spi_main.c (spi_exception): impl. helper, so we
3268 don't leak exceptions.
3270 * cspi/spi_selection.c
3271 (AccessibleSelection_deselectSelectedChild): return the
3274 * cspi/spi_main.c (spi_ev): impl; hack - gack.
3275 (spi_registry): ditto.
3276 (SPI_init): guard against double inits.
3278 * cspi/*.c: use spi_ev (), and spi_registry () where
3279 appropriate - a temporary hack until we have something
3280 better. Use spi_object_add
3282 2001-11-22 Michael Meeks <michael@ximian.com>
3284 * cspi/Makefile.am: re organise, install the headers.
3286 * cspi/*.h: add G_BEGIN/END_DECLS
3288 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3291 Added non-preemptive keylistener for key events with no modifiers
3292 and shift-only modifier.
3294 * libspi/keystrokelistener.c:
3295 Removed some verbose diagnostics printout.
3297 * cspi/spi_registry.c:
3298 Fixed a bug that caused all key listeners to be registered as
3301 * libspi/deviceeventcontroller.c:
3302 Fixed bug that caused XGrabKey (preemptive key grab) to be called
3303 for non-preemptive key masks.
3306 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3308 * docs/reference/idl/at-spi-idl-docs.sgml:
3309 * docs/reference/idl/at-spi-idl-sections.txt:
3310 * docs/reference/idl/at-spi-idl-overrides.txt:
3311 Added missing files.
3313 * docs/reference/Makefile.am:
3314 removed idl from SUBDIRS until we can figure a way to get gtk-doc
3315 to scan the IDL files :-(
3320 Added .cvsignore files.
3322 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3324 * libspi/deviceeventcontroller.c:
3325 * libspi/keystrokelistener.c:
3327 * cspi/spi_registry.c:
3328 Added filters for KeySets, KeyEventSeq, and event types to key
3329 event dispatching, so listeners should only receive those events
3330 that they requested :-)
3332 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3337 * docs/reference:Makefile.am:
3338 * docs/reference/cspi:
3339 * docs/reference/cspi:Makefile.am:
3340 * docs/reference/cspi:tmpl:
3341 * docs/reference/cspi:tmpl:*.sgml:
3342 * docs/reference/idl:
3343 * docs/reference/idl:Makefile.am:
3344 * docs/reference/idl:at-spi-idl-sections.txt:
3345 * docs/reference/idl:at-spi-idl-docs.sgml:
3346 * docs/reference/idl:tmpl:
3347 * docs/reference/idl:tmpl:*.sgml:
3349 Restructured docs directory to allow separate 'reference' docs
3350 section, and forked idl and cspi docs. Added the sgml template
3351 files to CVS. Added the first sections/structural sgml for the
3354 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
3356 * configure.in, libspi/Makefile.am: find libXtst.
3358 2001-11-21 Michael Meeks <michael@ximian.com>
3360 * test/accessx-gui.c: s/spi_value/value/ - doh.
3362 * libspi/base.[ch]: add.
3364 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3366 * idl/Accessible.idl:
3367 * idl/Application.idl:
3370 Started gtk-doc cleanup on IDL.
3372 * libspi/deviceeventcontroller.c:
3373 Added and connected non-preemptive key notification from the
3374 toolkits (in addition to the pre-emptive support from XServer
3375 which we had before, but which causes 'focus flashing'). Filters
3376 are presently limited to key modifiers and global/non-global,
3377 KeySets are presently ignored, as are KeyEvent masks.
3379 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
3380 structs into the persistant structure rather than just storing
3381 pointers to things that might not persist across servant
3384 The XGrabKey call now does async keygrabs, because synchronous
3385 ones were deadlocking with GDK_event code in a very nasty way.
3387 Added boolean to internal method notify_keylisteners, to indicate
3388 whether the event came from the 'toolkit source' or the 'global
3389 (XServer) source' - this is used in the notification process to
3390 determine which listeners to send the event to.
3392 deviceeventcontroller.c is now warning-free.
3394 * libspi/registry.c:
3395 Fixed regression in application de-registration.
3396 Also fixed some really brain-dead weirdness having to do with
3397 event dispatching - event structs are now duplicated before being
3398 re-marshalled in the dispatch to listeners. This also fixes a
3399 Solaris build problem.
3402 2001-11-20 Michael Meeks <michael@ximian.com>
3405 (impl_accessibility_registry_deregister_global_event_listener):
3408 * libspi/deviceeventcontroller.c
3409 (spi_device_event_controller_check_key_event): return
3410 FALSE on no virtual method.
3412 * libspi/*..h: make includes work on a correctly pathed install.
3414 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
3416 * libspi/application.h: kill unused ( and whacked out )
3417 gboolean *spi_application_set_id (AtkObject *app, long id);
3419 2001-11-20 Michael Meeks <michael@ximian.com>
3421 * libspi/*.[ch]: further convert to bonobo's type func
3422 macros, remove redundnant casts etc.
3424 * libspi/text.c s/accessibility_text/spi_text/g,
3425 re-order to de-cruft.
3427 * libspi/hypertext.c: re-order to kill a huge slew
3428 of redundant forward decls.
3430 * libspi/relation.c: ditto.
3432 * libspi/image.c: ditto.
3434 * */.cvsignore: update
3436 2001-11-20 Michael Meeks <michael@ximian.com>
3438 * libspi/deviceeventcontroller.c
3439 (_controller_register_with_devices): use g_getenv,
3440 kill stdlib.h include.
3442 * libspi/keystrokelistener.c
3443 (spi_keystroke_listener_get_type): kill
3444 (spi_keystroke_listener_class_init),
3445 (spi_keystroke_listener_init): rename to this.
3447 * libspi/text.c (impl_getAttributes): fix warning / bug.
3449 * libspi/*.[ch]: more headers, includes and over commenting.
3451 2001-11-20 Michael Meeks <michael@ximian.com>
3453 * libspi/*.[ch]: fixup headers, includes and over commenting.
3455 * libspi/image.c (impl__get_imageDescription): const
3456 correctness warning fix. remove redundant casting.
3458 * libspi/table.c (impl_getRowDescription): ditto.
3459 (impl_getColumnDescription): ditto.
3461 * libspi/libspi.h: add.
3463 2001-11-19 Michael Meeks <michael@ximian.com>
3465 * libspi/editabletext.c (impl_setAttributes): fix warnings.
3467 * libspi/component.c (accessibility_component_get_type):
3468 rename to (spi_component_get_type): and macroify.
3469 (accessibility_component_init): rename to
3470 (spi_component_init): this
3471 (accessibility_component_class_init): rename to
3472 (spi_component_class_init): this
3474 * libspi/action.c (spi_action_get_type): kill, use the macro.
3476 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
3479 * libspi/application.c (spi_application_object_event_listener),
3480 (impl_accessibility_application_register_object_event_listener):
3481 warning fixes / const understanding updates.
3483 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
3486 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3488 * libspi/spi_accessible.c: Added docs and C bindings for
3489 AccessibleStateSet. (No implementations yet). Documentation
3490 coverage for C bindings now 100%. Made docs for event listeners
3495 boolean notifyListenersSync (in DeviceEventListener listener,
3496 in DeviceEvent event);
3498 oneway void notifyListenersAsync (in DeviceEventListener listener,
3499 in DeviceEvent event);
3501 Added DeviceEventListener and DeviceEvent structs (may deprecate
3502 KeyStroke and KeystrokeListener in favor of this generic
3503 event/listener framework for devices).
3505 * libspi/deviceeventcontroller.c:
3507 Changed some key listener code to take masks, etc., and paved the
3508 way for integration of toolkit/non-preemptive key events. Changed
3509 signatures of some internal methods.
3511 * at-bridge/bridge.c:
3512 Fixed regression connecting to interface signals, apparently
3513 caused by GTK+ changes.
3515 Added an internal bridge_state_listener to deal with
3516 property-change:accessible-state signals.
3518 Changed the key_listeners GList to store structs (including masks,
3519 etc.) instead of just CORBA_Objects (required for full
3520 implementation of key listener API).
3522 Connected the bridge to all currently supported Atk signals.
3523 Events now supported:
3524 object:property-change
3525 object:property-change:accessible-name
3526 object:property-change:accessible-state
3527 object:property-change:accessible-description
3528 object:property-change:accessible-parent
3529 object:property-change:accessible-value
3530 object:property-change:accessible-role
3531 object:property-change:accessible-table-caption
3532 object:property-change:accessible-table-column-description
3533 object:property-change:accessible-table-column-header
3534 object:property-change:accessible-table-row-description
3535 object:property-change:accessible-table-row-header
3536 object:property-change:accessible-table-summary
3537 object:children-changed
3538 object:visible-data-changed
3539 object:selection-changed
3540 object:text-selection-changed
3542 object:text-caret-moved
3544 object:row-reordered
3546 object:column-inserted
3547 object:column-reordered
3548 object:column-deleted
3549 object:model-changed
3551 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3553 * libspi/hyperlink.c,h:
3554 Fixed some broken stuff in hyperlink.
3556 * libspi/relation.h:
3557 * libspi/relation.c:
3558 * cspi/spi_accessible.c:
3559 Initial implementations of AccessibleRelation methods, and docs.
3561 * libspi/accessible.c:
3562 Fixed a bug that caused SEGV if an accessible
3563 object's description is NULL, and a client
3564 requests it. An empty string is now returned.
3566 * cspi/spi_editabletext.c:
3567 * cspi/spi_hypertext.c:
3569 * cspi/spi_hyperlink.c:
3573 Doc coverage now 95%.
3575 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3577 One last namespacing revision:
3578 * libspi/accessibleeventlistener.[ch]:
3579 Renamed SpiAccessibleEventListener to SpiEventListener,
3580 (no need for two namespaces ;-)
3582 And lots of documentation fixes:
3584 * docs/at-spi-docs.sgml:
3585 Fixed 'underscore vs. hyphen' bug that was preventing
3586 the gtk-doc API docs from being automatically generated.
3589 * cspi/spi-listener.h
3591 * cspi/spi_accessible.c
3593 * cspi/spi_application.c
3594 * cspi/spi_component.c
3595 * cspi/spi_editabletext.c
3597 * cspi/spi_hypertext.c
3599 * cspi/spi_registry.c
3600 * cspi/spi_selection.c
3604 * docs/at-spi-docs.sgml
3605 * docs/at-spi-sections.txt
3607 Added and fixed up gtk-doc documentation in cspi.
3609 Interfaces now (fully) documented (subject to revision and enhancement):
3611 Event Listener Support
3613 AccessibleApplication
3617 AccessibleEditableText
3624 AccessibleRelationSet
3629 2001-11-14 Bill Haneman <bill.haneman@sun.com>
3631 * at-bridge/bridge.c:
3632 Initial work for toolkit-level key snooper connection by bridge.
3637 New typedefs and fixes to support new namespacing, and cleaner
3638 separation of cspi bindings from libspi bonobo implementation.
3639 Removed inconsistent and extraneous Spi* namespace prefix that
3640 had crept into cspi headers.
3641 Lots of comment fixes that sed had missed.
3643 * cspi/spi-roletypes.h:
3644 * cspi/spi-statetypes.h:
3645 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
3646 to AccessibleRoleType.
3648 * libspi/accessibleeventlistener.h:
3649 Fixed minor namespacing weirdness.
3651 * libspi/deviceeventcontroller.c:
3652 Reordered some internal API for device listeners.
3653 Changed the key registry final boolean to 'is_system_global'
3654 rather than 'is_synchronous', which is more descriptive of its
3656 Added spi_device_event_controller_new().
3657 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
3659 * libspi/keystrokelistener.[ch]:
3660 Namespaced KeystrokeListener to SpiKeystrokeListener.
3661 Changed uses of keymasks to use SPI_ prefix, and did other
3664 * libspi/keymasks.h:
3665 Namespaced keymask constants with SPI_ prefix.
3667 * libspi/registry.c:
3668 Some warning fixes, and knock-on fixes from namespace changes.
3671 Added rules for accessx-gui test program.
3673 * test/accessx-gui.c:
3674 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
3675 utility. It doesn't actually use at-spi, but it's still cool and
3678 * test/keysynth-demo.c:
3682 Fixes so that these test clients work properly with the namespaced
3683 libraries. (Incompletely tested for technical reasons, fixes may follow)
3686 2001-11-13 Michael Meeks <michael@ximian.com>
3688 * libspi/application.c
3689 (impl_accessibility_application_get_version),
3690 (impl_accessibility_application_get_toolkit_name):
3692 (impl_accessibility_application_set_id),
3693 (impl_accessibility_application_get_id): remove
3694 redundant casting code.
3696 * libspi/action.c (impl_getDescription): fix warnings.
3698 * libspi/accessible.c
3699 (impl_accessibility_accessible_get_parent),
3700 (impl_accessibility_accessible_get_child_at_index),
3701 (impl_accessibility_accessible_get_state),
3702 (impl_accessibility_accessible_get_relation_set):
3703 warning fixes & include action.h
3705 2001-11-13 Michael Meeks <michael@ximian.com>
3707 * *.[ch] fix bits I screwed up:
3709 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3710 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3712 2001-11-13 Michael Meeks <michael@ximian.com>
3714 * *.[ch] Namespace libspi into spi_ and Spi.
3716 2001-13-11 Michael Meeks <michael@ximian.com>
3718 * Makefile.am: dist & install at-spi-1.0.pc
3720 * libspi/Makefile.am: install into at-spi-1.0
3722 * idl/Makefile.am (idldir): install into at-spi-1.0
3724 * at-spi-1.0.pc.in: add.
3726 * configure.in: build it.
3728 2001-11-12 Bill Haneman <bill.haneman@sun.com>
3730 * test/keysynth-demo.c:
3731 Use a 'realize' signal-handler to set the WM properties for
3732 the virtual keyboard, rather than making it a "POPUP" type
3733 override-redirect window (thanks to anders carlsson for that
3736 2001-11-11 Bill Haneman <bill.haneman@sun.com>
3739 * test/keysynth-demo.c:
3740 Added new test of key synthesis, which creates a simple
3741 (mouse-operated) onscreen keyboard. It inserts key events into
3742 the currently-focused window, thus it does not grab keyboard focus
3745 * cspi/spi_registry.c:
3746 Added C binding for AT-SPI generateKeyEvent.
3748 * libspi/deviceeventcontroller.c:
3749 Added call to XFilterEvent so that key listener works with XIM (we
3750 hope). Added event_synth_type to generateKeyEvent, so that we can
3751 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3752 synthesize a press/release pair for KeySyms.
3754 2001-11-09 Bill Haneman <bill.haneman@sun.com>
3756 * libspi/Makefile.am:
3757 * registryd/Makefile.am:
3758 (temporary) hack to include libXtst in libspi and registryd.
3759 (Needed for keystroke synthesis, see below).
3762 Improved API for registerKeystrokeListener, in accordance with
3763 discussions with Gnopernicus team and X server research.
3765 * libspi/registry.c:
3766 * libspi/deviceeventcontroller.c:
3767 * libspi/accessible.c:
3768 * libspi/keystrokelistener.c:
3769 Changes and fixes to support keylisteners for potentially
3770 consumed key events (that is, 'passive grabs').
3771 Added implementation for generateKeyEvent() [untested].
3774 Changes to registerKeystrokeListener() API, as above.
3775 Added deregisterGlobalEventListenerAll(), and
3776 deregisterKeystrokeListener(), which are needed for clean exit of
3778 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3779 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3781 * cspi/spi_registry.c:
3782 Added implementations of function prototypes mentioned above.
3784 * registryd/registryd.c:
3785 Added the key listener event source as a g_timeout(), to allow
3786 receipt of key events that are not caught by GDK (since GDK
3787 doesn't support passive keygrabs, this was necessary).
3790 Changed to attach a keylistener to 'Alt' keys, and
3791 respond to the following keycommands: Alt-M (toggle magnifier);
3792 Alt-F (toggle speech); Alt-Q (quit).
3793 Added an exit routine to deregister the listeners, and a key
3794 listener that prints some key info to the console when a key
3795 matches the listener mask (and is thus received by the listener).
3797 * util/idl/Magnifier.idl:
3798 Changes to magnifier API to support multiple zoom regions,
3799 non-uniform scaling in x and y, markDirty, and a host of other
3800 features that would be useful to magnification.
3803 * util/mag_client.c:
3804 * util/mag_client.h:
3805 * util/mag_control.c:
3807 Source code changes to support the above IDL changes.
3810 As above, and also changes to use a (slower) generic conversion
3811 path for colormap conversions, since the fast RGB conversions have been
3812 reported to fail for 16-bit displays.
3814 2001-10-26 Michael Meeks <michael@ximian.com>
3816 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3818 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3820 * at-bridge/Makefile.am: fix LDFLAGS.
3822 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3824 * at-bridge/bridge.c:
3825 Re-worked listeners for toolkit events, now we have signal
3826 and property listeners. Added a private method
3827 register_atk_event_listeners(), which registers with the
3828 various atk and gtk signals we need to monitor in order to emit
3830 Added emission hook for AtkObject:property-change events, to
3831 support the 'property listeners'.
3832 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3835 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3836 which emit warnings and exit, respectively, if CORBA errors occur
3837 during remote calls, and we now use these methods to check most of
3838 our CORBA calls in the C bindings.
3840 * cspi/spi_accessible.c:
3841 Changed AccessibleSelection_refSelectedChild() to
3842 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3843 now increment refcounts.
3845 * cspi/spi_component.c:
3846 Fixed some long pointer casts (dangerous!) to pass pointers to
3847 CORBA_longs of the proper type to the CORBA stubs, and copy the
3848 data into the longs that were passed into the C bindings code.
3850 * at-bridge/bridge.c:
3852 * libspi/accessible.c:
3853 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3854 hyperlinks, AtkHyperlink is an object type.
3856 * libspi/application.c:
3857 Added various conversions to and from "generic" event types and
3858 atk-specific types; this is really part of the 'bridge'
3859 implementation but is valid for all AtkObject-based accessibility
3862 * libspi/editabletext.c:
3863 Fixed nasty bug wherein editable text's finalize method was
3864 unref'ing tha AtkObject reference that the text parent class was
3865 about to unref _again_. There was also a nasty inheritance bug
3866 that meant that the AccessibleEditableText class was corrupt.
3868 * libspi/selection.c:
3869 Provided implementations for some selection API that was broken.
3871 * idl/Application.idl:
3872 Added registerObjectEventListener () method.
3875 Fixed a number of return values that were Bonobo_Unknowns from
3876 bonobo_object_corba_objref(), which I
3877 forgot to dup before returning. Changed instances of
3878 bonobo_object_corba_objref (bonobo_object(o)) to
3879 BONOBO_OBJREF(o), for concision and clarity.
3881 2001-10-13 Louise Miller <louise.miller@sun.com>
3883 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3884 idl/Event.idl, idl/Registry.idl
3885 Changed these files to include Bonobo_Unknown.idl instead
3888 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3890 * libspi/component.c libspi/component.h:
3891 Fixed typo. Added assertions for object checks in
3892 AccessibleComponent code.
3894 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3896 * idl/Accessible.idl:
3897 Added 'isEqual (Accessible *object)'
3898 method for Accessible. (Not Yet Implemented).
3901 Changed signature of registerKeystrokeListener() to
3902 take a KeySet and KeyEventSeq so that specific keys and event
3903 types could be requested for monitoring, and added a flag
3904 is_synchronous so that either synchronous or asynchronous
3905 notification could be requested. (However this is not all
3906 implemented yet). This also meant adding two new typedefs,
3907 KeyEventSeq and KeySet.
3910 Added two new relations, RELATION_TOOLTIP_FOR and
3911 RELATION_LEAFNODE_OF.
3914 Added new state, STATE_HAS_TOOLTIP.
3916 * libspi/text.c, editabletext.c:
3917 Added new assertions to all casts of bonobo-objects from
3918 CORBA servants, to prevent Text API calls on non-text objects.
3919 Changed suspect casts of int-pointer types, so that we
3920 always send a valid CORBA_long pointer to the CORBA APIs that use
3921 in/out long parameters. We then have to copy from the CORBA_long
3922 into the regular long or int for return to the C bindings, or
3923 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3926 * libspi/deviceeventcontroller.c:
3927 Cleaned these sources up.
3929 Changed return type for getCharacterAtOffset to
3930 CORBA_unsigned_long, to allow for 32-bit characters.
3933 2001-10-08 Bill Haneman <bill.haneman@sun.com>
3937 Fixed 'make dist' so that distro compiles...
3938 * libspi/keymasks.h:
3940 * cspi/spi-listener.c:
3941 KeystrokeListenerCB now returns a boolean.
3943 Added KeyEventType struct, and KeyStroke.
3944 Also added createKeystrokeListener(),
3945 KeystrokeListener_addCallback(),
3946 KeystrokeListener_removeCallback(), and added a keymask to
3947 registerKeystrokeListener().
3948 * cspi/spi_accessible.c:
3949 Changed numerous return types for interfaces from
3950 AccessibleComponent to Accessible<InterfaceName>; this was
3951 probably a cut-and-paste error.
3953 Implementations of new KeystrokeListener api (from spi.h,
3956 Changes to key modifier mapping.
3957 Created ControllerEventMask struct.
3958 Made DeviceEventController derive from Bonobo::Unknown.
3960 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3961 * libspi/deviceeventcontroller.c:
3962 Added a number of new internal (private) methods.
3963 * libspi/editabletext.c:
3964 * libspi/editabletext.h:
3965 Fixed a number of bugs related to the fact that
3966 editabletext inherits from text. Fixed the EditableText struct,
3967 the init() call, and use correct casts when calling Text methods
3968 from an EditableText object. Removed (duplicate) atko from the
3969 EditableText structure, we use the one in the parent Text
3970 structure via the casts mentioned above.
3971 * libspi/keystrokelistener.[ch]:
3972 * libspi/registry.c:
3973 Changes in support of keyboard handling (above).
3975 Keyboard handling, though partly functional, is still not
3976 recommended for at-spi client use as there is considerable
3977 work yet to be done.
3980 Changed some places where pointers to various int types
3981 are cast to be pointers to CORBA_long types and vice-versa:
3982 pointer casting is not safe so we pass pointers of the correct
3983 types and then cast the result before putting it into the target
3986 * libspi/text.h: minor typos corrected.
3988 We now speak not only the name of a Text element, but the
3989 first sentence of its content, when it receives focus.
3990 I also changed the text compression to 75% from 50%.
3991 * util/Accessibility_Util.server.in:
3992 Changed the default magnifier type to be a 3x vertical
3993 splitscreen magnifier (was previously a 2x horizontal one).
3995 2001-10-03 Bill Haneman <bill.haneman@sun.com>
3997 * libspi/keystrokelistener.h:
3998 * libspi/keystrokelistener.c:
3999 Initial functional implementations of KeystrokeListener.
4002 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
4004 Fixed string handling for NULL strings in libspi.
4005 Added spi_freeString to free strings returned by C bindings.
4007 2001-09-30 Bill Haneman <bill.haneman@sun.com>
4009 * libspi/keystrokelistener.h:
4010 * libspi/keystrokelistener.c:
4011 Began (no-op) implementations of KeystrokeListener
4013 * libspi/deviceeventcontroller.c:
4014 * libspi/deviceeventcontroller.h:
4015 Began creating implementations of DeviceEventController,
4016 to handle keystroke and mouse event listening and
4018 * libspi/accessible.c:
4019 Stubbed-in the implementations for
4020 Accessibility_Accessible_getState and
4021 Accessibility_Accessible_getRelationSet.
4022 * libspi/registry.c:
4023 Improved de-registration process and fixed some bugs,
4024 deregistration now works correctly.
4026 Added initialization of applications list (to NULL).
4028 Reduced speech compression from 0.5 to 0.7, for demo.
4029 Changed call to gdk_window_set_decorations()
4030 to gtk_window_set_decorated().
4031 * at-bridge/bridge.c:
4032 Bridge now deregisters when app exits, via
4033 registration of a cleanup function
4034 with the g_atexit() call.
4035 Required making 'app' static, renamed 'this_app'.
4036 Fixed broken use of bonobo_init, passing argv wrongly.
4038 2001-09-27 Bill Haneman <bill.haneman@sun.com>
4042 Created a new directory for
4043 accessibility-related utilities, primarily for
4044 testing and demo purposes, but with possible
4051 Onscreen magnifier utility that
4052 is implemented as a bonobo service.
4054 * util/mag_client.c:
4055 * util/mag_client.h:
4056 Client-side support (simple C bindings)
4057 for Magnification service
4059 * util/mag_control.c:
4060 Client program example for
4061 Magnification service
4063 * util/Accessibility_Magnifier.server.in:
4064 Bonobo-activation file for the
4065 Magnification service.
4068 * util/idl/Magnifier.idl:
4069 IDL defining the bonobo Magnification
4073 Modifications to use the bonobo-activated magnifier
4074 above, in place of trying to connect to an existing
4075 magnifier that uses socket-listening IPC.
4077 If env variable MAGNIFIER is set, a magnifier service
4078 will be started if one does not exist.
4080 2001-09-25 Bill Haneman <bill.haneman@sun.com>
4082 * at-bridge/bridge.c:
4083 applied patch from Marc to build and run
4084 against new glib and gtk+ (seemed like a change
4085 to bonobo_init signature was made ?)
4087 made festival-server support turned off by default.
4088 Added support for a simple magnifier (off by default)
4089 which will be added to a 'util' directory later.
4090 * at-bridge/Makefile.am:
4091 Changed "application.h" header from a 'source'
4092 to a 'dependency' of libat-bridge.
4094 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4103 Added interface implementation c files to list of
4104 includes so they are included in libcspi.
4107 Changed prototype of AccessibleAction_doAction to return a
4109 Changed prototype of AccessibleTable_getCaption to
4110 return an Accessible.
4111 Changed prototype of AccessibleTable_getSelectedRows
4112 and AccessibleTable_getSelectedColumns to
4113 return a long (returns the number of selected rows
4114 or columns respectively).
4115 Changed name of AccessibleText_refRunAttributes to
4116 AccessibleText_getAttributes.
4117 Changed prototype of AccessibleText_getCharacterExtents to
4118 return a void rather than a boolean.
4119 Added support for a AccessibleCoordType parameter
4120 specifying what type of coordinates are desired.
4121 Added an AccessibleCordType parameter to
4122 AccessibleText_getPointAtOffset.
4124 * cspi/spi_accessible.c:
4125 Added code to return the outstanding interfaces from
4126 Accessible_queryInterface.
4128 * cspi/spi_action.c:
4130 Corrected call to getNActions to call the c binding
4133 * cspi/spi_editabletext.c:
4135 Changed name from setRunAttributes to setAttributes.
4137 * cspi/spi_hyperlink.c:
4139 Changed call to getNAnchors to correctly call the c
4140 binding for an attribute.
4142 * cspi/spi_hypertext.c:
4144 Changed getImageDescription to correctly call the
4145 binding for an attribute.
4147 * cspi/spi_selection.c:
4148 Changed getNSelectedChildren to correctly call the c
4149 binding for the attribute.
4150 Changed refSelectedChild to getSelectedChild.
4154 Changed getCaption to return an Accessible.
4155 Fixed calls which retrieve attributes.
4156 Changed refAt to getAccessibleAt.
4157 Changed getNSelectedRows and getNSelectedColumns to
4161 Changed getCharacterExtents and getPointAtOffset to accept an
4162 AccessibleCoordType.
4164 Changed calls which retrieve attributes.
4165 Changed refRunAttributes to getAttributes.
4170 * idl/Hyperlink.idl:
4171 Changed n_anchors attribute to nAnchors to keep naming
4172 convention consistent.
4175 Made Table inherit from Bonobo::Unknown.
4176 Added nSelectedColumns and nSelectedRows attributes.
4179 Made Value inherit from Bonobo::Unknown.
4181 * libspi/hyperlink.c:
4182 Change for nAnchors attributte name change.
4184 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4192 Added interface implementation c files to list of
4193 includes so they are included in libcspi.
4196 Changed prototype of AccessibleAction_doAction to return a
4198 Changed prototype of AccessibleTable_getCaption to
4199 return an Accessible.
4200 Changed prototype of AccessibleTable_getSelectedRows
4201 and AccessibleTable_getSelectedColumns to
4202 return a long (returns the number of selected rows
4203 or columns respectively).
4204 Changed name of AccessibleText_refRunAttributes to
4205 AccessibleText_getAttributes.
4206 Changed prototype of AccessibleText_getCharacterExtents to
4207 return a void rather than a boolean.
4208 Added support for a AccessibleCoordType parameter
4209 specifying what type of coordinates are desired.
4210 Added an AccessibleCordType parameter to
4211 AccessibleText_getPointAtOffset.
4213 * cspi/spi_accessible.c:
4214 Added code to return the outstanding interfaces from
4215 Accessible_queryInterface.
4217 * cspi/spi_action.c:
4219 Corrected call to getNActions to call the c binding
4222 * cspi/spi_editabletext.c:
4224 Changed name from setRunAttributes to setAttributes.
4226 * cspi/spi_hyperlink.c:
4228 Changed call to getNAnchors to correctly call the c
4229 binding for an attribute.
4231 * cspi/spi_hypertext.c:
4233 Changed getImageDescription to correctly call the
4234 binding for an attribute.
4236 * cspi/spi_selection.c:
4237 Changed getNSelectedChildren to correctly call the c
4238 binding for the attribute.
4239 Changed refSelectedChild to getSelectedChild.
4243 Changed getCaption to return an Accessible.
4244 Fixed calls which retrieve attributes.
4245 Changed refAt to getAccessibleAt.
4246 Changed getNSelectedRows and getNSelectedColumns to
4250 Changed getCharacterExtents and getPointAtOffset to accept an
4251 AccessibleCoordType.
4253 Changed calls which retrieve attributes.
4254 Changed refRunAttributes to getAttributes.
4259 * idl/Hyperlink.idl:
4260 Changed n_anchors attribute to nAnchors to keep naming
4261 convention consistent.
4264 Made Table inherit from Bonobo::Unknown.
4265 Added nSelectedColumns and nSelectedRows attributes.
4268 Made Value inherit from Bonobo::Unknown.
4270 * libspi/hyperlink.c:
4271 Change for nAnchors attributte name change.
4274 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
4276 implementations-- made server implementations own AtkObject pointers
4277 rather than their respective AtkInterrface pointers to fix
4278 refcounting. AtkHyperlink is still broken.
4280 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4281 * cspi/spi_accessible.c:
4282 Added method Accessible_Role_getName(),
4283 and requisite string array (role_names).
4284 Added conversion string_from_corba_strin() call
4285 to Accessible_getName and _getDescription.
4286 * libspi/accessible.c:
4287 Added implementation for Accessible_getRole()
4289 Added festival support, used if environment variable
4292 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4294 * at-bridge/bridge.c:
4295 Now allocate Accessibility_Event using
4296 Accessibility_Event__alloc() instead of g_new0().
4297 * libspi/accessibleeventlistener.c:
4298 Initialize AccessibleEventListener->callbacks to NULL.
4299 Fixed accessible__event_listener_init() param, changed to
4300 "AccessibleEventListener *" type.
4301 Changed a bonobo_object_release_unref() call to
4302 Accessibility_Accessible_unref().
4303 * libspi/listener.c:
4304 Changed Bonobo_Unknown_unref to (equivalent)
4305 Accessibility_Accessible_unref.
4306 * libspi/registry.c:
4307 Changed bonobo_object_release_unref to
4308 Accessibility_Accessible_unref.
4310 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4313 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
4314 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
4315 spi-util.c spi-util.h
4316 Implementations for C bindings to remaining accessibility
4319 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4322 changed return value of Action from void to boolean to
4323 bring in line with ATK.
4326 Changed getText funcions to return "out" start and end offsets.
4327 Changed getAttributes to take and offset and return the start
4328 and end offset of the attribute run.
4329 Changed getOffsetAtPoint and getCharacterExtents to take an
4330 enum describing whether coordinates are window or screen.
4333 libspi/action.c libspi/action.h libspi/editabletext.c
4334 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
4335 libspi/hypertext.c libspi/hypertext.h libspi/image.c
4336 libspi/image.h libspi/selection.c libspi/selection.h
4337 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
4338 libspi/value.c libspi/value.h
4339 Added server implementations for outstanding ATK interfaces
4340 not yet implemented.
4342 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4345 Added (missing) getName() method.
4346 Made nActions an attribute.
4347 * idl/EditableText.idl:
4348 Changed order of params in setAttributes.
4349 * idl/Hyperlink.idl:
4350 Removed getAnchor, added getURI.
4352 Changed attributes to methods, for efficiency
4353 (so that getting extents can be done in one call)
4354 * idl/Selection.idl:
4355 Changed nSelectedChildren to attribute, and re-indented.
4356 * idl/Table.idl: changed nrows, ncolumns, caption, summary
4358 * idl/Text.idl: reformatted to match our coding style.
4359 (temporarily?) removed getRowColumnAtOffset().
4360 Changed text selection API to support multi-select and
4361 non-contiguous selections, as in ATK.
4362 * idl/Value.idl: changed some methods to attributes.
4364 2001-08-24 Mark McLoughlin <mark@skynet.ie>
4366 * libspi/listener.c(impl_notify_event):
4367 BonoboUnkown_unref the source instead
4368 of bonobo_object_release_unref - the ORB
4369 handles the releasing.
4371 * configure.in: require ORBit-2.3.94 for
4374 2001-08-21 Bill Haneman <bill.haneman@sun.com>
4376 Tagged CVS repository 'EA_1_0'.
4377 * README.EARLY_ACCESS:
4378 Alphabetized acknowledgements list, and
4380 Listed some known dependencies of at-spi.
4382 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4384 * docs/at-spi-docs.sgml:
4385 * docs/at-spi-sections.txt:
4386 * docs/at-spi-overrides.txt: (Added zero-length file)
4387 Documentation improvements - gtk-doc should build
4388 docs for all implemented C bindings now.
4391 * cspi/spi.c: (New file)
4392 * cspi/spi_event.c: (New file)
4393 * cspi/spi_registry.c: (New file)
4394 * cspi/spi_accessible.c: (New file)
4395 * cspi/spi_application.c: (New file)
4396 * cspi/spi_component.c: (New file)
4397 Split spi_main.c into six parts, and included them from
4398 "spi.c". This is a bit of a hack, probably temporary,
4399 but required by gtk-doc, apparently.
4401 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4404 * docs/at-spi-docs.sgml:
4405 * docs/at-spi-sections.txt:
4407 Initial checkins/modifications for gtk-doc generation.
4410 Added (missing) interface query methods to Accessible's C binding.
4412 Added GenericInterface type definition.
4414 Added query for AccessibleComponent interface to focus event handler.
4415 Added printout of bounding box for focussed component.
4416 * libspi/component.c:
4417 Added partial implementation for AccessibleComponent to C binding.
4418 * idl/Application.idl:
4419 * libspi/registry.c:
4420 * libspi/listener.c:
4421 * libspi/application.c:
4422 * libspi/application.h:
4423 Changed "ID" attribute type from string to long.
4425 2001-08-19 Bill Haneman <bill.haneman@sun.com>
4429 Made method naming consistent: methods taking object args
4430 start with uppercase, other methods (except those using
4431 acronyms) start with lowercase. Underscores delimit between
4432 object names and method names:
4433 SPI_init() - uppercase since it starts with an acronym.
4434 getDesktopCount () - lowercase start since no object param0.
4435 Accessible_getName() - uppercase object type name, studlyCaps method
4439 Added gtk-doc documentation for all currently implemented
4440 methods in the C bindings API.
4442 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4444 * Makefile.am : changed build order to build test last.
4447 Changed "createEventListener" to "CreateEventListener".
4448 * libspi/accessibleeventlistener.c :
4449 Bugfix for addition of callbacks.
4450 * test/Makefile.am :
4451 * test/simple-at.c :
4452 Added new test that uses the C bindings API.
4454 * libspi/listener.c :
4455 * libspi/registry.c :
4456 * libspi/accessibleeventlistener.c :
4457 * at-bridge/bridge.c :
4458 Renamed member "target" of Accessibility_Event to "source",
4459 which is more descriptive.
4462 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4466 * cspi/Makefile.am :
4467 Added makefile support for at-spi/cspi directory.
4470 * cspi/spi-listener.h : (NEW FILE)
4471 Added support for/use of spi-listener.h.
4473 C bindings now build successfully, with no warnings.
4474 * libspi/accessibleeventlistener.h : (NEW FILE)
4475 * libspi/accessibleeventlistener.c : (NEW FILE)
4476 * libspi/Makefile.am :
4477 Added new object type "AccessibleEventListener"
4478 which inherits from Listener, and allows attachment
4479 of in-process callbacks (so that a client with a listening
4480 object instance can add functionality to the local
4481 implementation, dynamically).
4483 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4485 * libspi/accessible.c:
4486 Add implementation for get_index_in_parent().
4488 Added #include of "spi-roletypes.h", and
4489 added enumerated type AccessibleCoordType.
4490 Added definition for KeystrokeListener (function type).
4493 * cspi/spi-statetypes.h :
4494 * cspi/spi-roletypes.h :
4496 Added these headers, used by spi.h.
4498 Added code (NOTE: not yet built by make).
4500 2001-08-18 Mark McLoughlin <mark@skynet.ie>
4502 * libspi/Makefile.am: generate imodule
4503 at the same time as other idl compiler
4506 2001-08-17 Bill Haneman <bill.haneman@sun.com>
4507 * libspi/registry.c :
4508 * libspi/application.c :
4509 * idl/Application.idl :
4510 Made registration with toolkit an application method,
4511 which is required since each app has its own toolkit static
4512 environment. Thus the bridge must register for
4513 notification of toolkit events from each application in turn.
4514 Toolkit notifications are now successfully registered for, and
4515 sent to the listening at client.
4517 Changed toolkit event string to use hyphens rather than underscores.
4518 * libspi/listener.c :
4519 listner now gives more info in debug mode - it reports the
4520 name of the event received, as well as the name of the source.
4523 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4525 * libspi/registry.c :
4526 added more implementation for toolkit events.
4527 Fixed bug such that toolkit event registrations
4528 (via atk) use the whole event name string, not
4530 Removed a useless call to an ORBit_ method.
4531 * at-bridge/bridge.c :
4532 Removed unused local sbuf[] variable.
4534 We now register for Gtk:GtkWidget:button_press_event
4535 events as well as "focus:" events.
4537 Add some more API from Registry.idl that was missing,
4538 for keystroke listening, keystroke and mouse event
4539 synthesis, and enumeration of accessible desktops.
4541 2001-08-16 Michael Meeks <michael@ximian.com>
4543 * configure.in: use AM_GLIB_GNU_GETTEXT.
4545 * Makefile.am (SUBDIRS): kill intl.
4547 2001-08-15 Michael Meeks <michael@ximian.com>
4549 * registryd/Makefile.am: s/oaf/server/ relocate info file.
4551 * configure.in: upd.
4553 * configure.in: depend on a recent bonobo-activation that
4554 will find our server files ...
4556 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4558 * libspi/accessible.c : accessible_new() :
4559 Now we add the Component interface via bonobo_object_add_interface,
4560 if the contained AtkObject implements AtkComponent.
4561 * libspi/accessible.h : now include "component.h"
4562 * libspi/component.h :
4563 * libspi/component.c : added files - implementation of
4564 bonobo wrapper object for Accessibility/Component
4565 * libspi/listener.c :
4566 Added test code to check for Accessibility/Component:1.0
4567 interface and report whether it is implemented by the
4569 * libspi/registry.c :
4570 Now we check for not only the hash of the whole event
4571 string before relaying the event, we also check the
4572 "minor" event string (without the detail string).
4573 This allows event listeners to be registered against
4574 all events of a certain major+minor type, or just
4575 against a specific major+minor+detail type.
4576 * libspi/accessible.c :
4577 Added implementations for Accessible:get_parent(),
4578 Accessible:getChildCount(), and Accessible:getChildAtIndex().
4579 * libspi/registry.c :
4580 * libspi/listener.c :
4581 Replaced calls to Accessibility_Accessible_ref() and
4582 Accessibility_Accessible_unref() with
4583 calls to bonobo_object_dup_ref() and
4584 bonobo_object_release_unref(), so that the CORBA object
4585 is dup-ed and released when relayed, as well as the bonobo object.
4587 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4589 * libspi/Makefile.am,
4590 registryd/Makefile.am,
4591 at-bridge/Makefile.am.
4592 test/Makefile.am, configure.in:
4593 reverse previous changes.
4595 * /idl/Image.idl: fix typo.
4597 * test/Makefile.am: put DEBUG_FLAGS
4600 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4602 * test/app.c: use argv[0] instead of
4605 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4607 * libspi/Makefile.am,
4608 registryd/Makefile.am,
4609 at-bridge/Makefile.am.
4610 test/Makefile.am, configure.in:
4611 cleanup, replace individual LIBS/CFLAGS with
4612 AT_COMMON_{LIBS|CFLAGS}.
4616 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4618 * configure.in, libspi/Makefile.am:
4619 Change IDL path checking for bonobo-activation
4622 2001-08-15 Bill Haneman <bill.haneman@sun.com>
4624 * registryd/registry.c : separated event listeners to use
4625 3 separate lists (focus, window, toolkit). Began testing
4626 event names against hashes before relaying events.
4627 * test/at.c : now register for events of type "focus:"
4628 * test/app.c : now generate events of type "focus:"
4629 * at-bridge/bridge.c : register with ATK for focus events,
4630 and we now relay those focus events to any "focus:" listeners.
4631 This now works with the bridge as a GTK_MODULE when running test/at.
4632 * libspi/registry.c :
4633 * libspi/listener.c :
4634 now we ref event sources before propagating, and unref on receipt.
4635 * libspi/registry.c :
4636 some changes to internal structs, to support event typestring hashes.
4637 * text/app.c : changed the way the appname is generated.
4638 * cspi : added directory that will hold the C bindings library for
4639 non-CORBA/bonobo-savvy clients.
4640 * cspi/spi.h : header file that contains the function prototypes for the C binding.
4641 * idl/Component.idl : added in parameter to indicate coord system for
4642 geometry-related calls.
4643 * idl/Hyperlink.idl : added readonly n_links attribute
4644 * idl/Image.idl : changed methods to attributes.
4646 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4648 * at-bridge/Makefile.am: link against
4649 ../libspi/libspi.la instead of -lspi.
4651 * at-spi/test/app.c: include
4652 bonobo-activation.h. Use a default appname
4653 if one is not provided.
4655 2001-08-14 Bill Haneman <bill.haneman@sun.com>
4657 * idl/Registry.idl : temporarily changed register_Application
4658 to oneway, to work around issue with initial registration
4660 * idl/Application.idl : changed attribute "id" from readonly
4661 to read-write, since it needs to be assigned by Registry.
4662 * registryd/registryd.c : added call to set application id
4664 * registryd/registry.c : changed de-registration procedure to
4665 use CORBA_Object_hash() to find matching object ref in application
4666 lists and listener lists.
4667 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
4668 began distinguishing between event types (work in progress).
4670 2001-08-13 Bill Haneman <bill.haneman@sun.com>
4673 * libspi/application.c:
4674 Added implementations for get/set id, get_toolkitName,
4676 * registryd/registryd.c :
4680 Converted from use of OAF to bonobo-activation.
4681 * libspi/desktop.h :
4682 * libspi/desktop.c :
4684 Removed references to atksimpleobject, since base atkobject
4685 implementation now provides functionality we need.
4686 * libspi/atksimpleobject.c :
4687 * libspi/atksimpleobject.h :
4692 * at-bridge/Makefile.am
4693 * at-bridge/bridge.c
4696 Added directory "bridge" and contents, and added dependencies
4697 in Makefile.am/configure.in.
4698 Initial checkin of "at-bridge".
4699 This code is a GTK_MODULE which automatically registers
4700 GTK+ apps with the accessibility registry, using an object
4701 reference to the root ATK object.
4703 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4705 * po/Makefile.in.in: Remove. Again. If this
4706 doesn't get autogenerated - you need to update
4709 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4711 * po/Makefile.in.in: Add. Again.
4713 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4715 * libspi/accessible.c : added support for 'description' property.
4716 * libspi/accessible.c
4718 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4719 (since the two are now equivalent in libbonobo)
4727 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4728 Bonobo::Unknown as does Accessibility::Accessible.
4729 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4730 interface with Bonobo::Stream, since it was redundant with it.
4731 (The Stream returned by a StreamableContext object is expected to
4732 implement only a subset of Bonobo::Stream)
4734 2001-07-28 Anders Carlsson <andersca@gnome.org>
4736 * libspi/accessible.c (accessible_object_finalize): Change
4737 g_free to g_object_unref since the AtkObject is a GObject.
4739 2001-07-30 Bill Haneman <bill.haneman@sun.com>
4741 * idl/Accessibility.idl: add new IDL files
4744 * idl/Action.idl: Definitions of actionable UI object
4745 * idl/Component.idl: Definitions of UI component geometry, etc.
4746 * idl/Hyperlink.idl: Defs of hyperlink behavior
4747 * idl/Image.idl: Def of accessible image
4748 * idl/Selection.idl: Definition of UI object with selectable children
4749 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4750 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4751 * idl/Text.idl: Interface defs for UI elements with complex textual content
4752 * idl/Value.idl: Definition of UI element that is a value controller or display
4754 2001-07-27 Michael Meeks <michael@ximian.com>
4756 * po/Makefile.in.in: remove autogenerated file from CVS.
4758 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4761 * idl/Registry.idl: include guard.
4763 * idl/Accessibility.idl: Add, and include all the other IDL
4766 * idl/*.idl: remove mass of pragmas etc.
4768 2001-07-26 Michael Meeks <michael@ximian.com>
4770 * registryd/Makefile.am (registryd_SOURCES): remove
4773 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4775 * libspi/.cvsignore, registryd/.cvsignore,
4776 test/.cvsignore: updated.
4778 * po/Makefile.in.in: gettext update.
4780 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4782 * initial CVS checkin
4784 2001-06-29 Michael Meeks <michael@ximian.com>
4786 * configure.in: add AM_CONFIG_HEADER to gen config.h