1 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
4 (atk_bridge_init): If application is Bonobo component wait until top
5 level is added before registering
6 (spi_atk_bridge_do_registration): New function which contains code,
7 formerly in atk_bridge_init, to do application registration.
8 (spi_atk_bridge_toplevel_added): Signal called when top level
9 added to Bonobo component
11 This fixes bug #83134.
13 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
15 * registryd/deviceeventcontroller.c
16 Fixed compilation error caused by calling gettimeofday()
19 2002-10-18 Bill Haneman <bill.haneman@sun.com>
24 Added template for HAVE_XKB.
27 Changes to check for XKB, and to set the HAVE_XKB #define if it
31 ()impl_notify_event): Make failure to get event source name
34 * registryd/deviceeventcontroller.c:
35 (#include): include X11/XKBlib.h.
36 (DEControllerPrivateData) : New struct.
37 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
39 (dec_synth_keycode_press) (dec_synth_keycode_release):
40 New methods; split the key synthesis code into these methods.
41 They check XKB settings before determining the "time" values to
42 pass to Xtest; this fixes bug #95828.
43 (impl_generate_keyboard_event): Changed to use methods above,
44 instead of callng Xtest directly.
45 (spi_device_event_controller_init): Initialize new privae struct s
47 (spi_device_event_controllr_object_finalize):
48 Free the (new) private data.
50 * registryd/deviceeventcontroller.h:
51 Add new gpointer to end of struct data.
53 2002-10-16 Bill Haneman <bill.haneman@sun.com>
56 Incremented revision to 1.1.2, SONAME is still '.so', library
57 extensions are ".so.0.0.2".
59 * registryd/deviceeventcontroller.c:
60 FIXES FOR #93592 and #95940.
61 (statics): renamed mouse_button_state to mouse_mask_state,
62 added key_modifier_mask.
63 (spi_dec_poll_mouse_moved):
64 Added key modifier checks, and emit "keyboard:modifiers"
65 events when the key modifiers currently in use change.
66 Also generate "mouse:abs" events periodically, even if the mouse
67 is stationary (should we?).
68 Alternatively we could generate "mouse:abs" events for either all
69 mouse movements, or every 'nth' mouse movement, or at the
70 beginning and end of every "active" mouse period.
72 * test/event-listener-test.c:
73 (main): Added listener for "keyboard:modifiers" events.
75 2002-10-15 Bill Haneman <bill.haneman@sun.com>
78 Added key mask #defines for mouse buttons; e.g.
79 SPI_KEYMASK_BUTTON1, etc.
82 Incremented dependency on ATK to version 1.1.0. (This dependency
83 is probably premature but will soon be real enough).
85 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
87 * libspi/hyperlink.[ch]
88 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
89 (get_hyperlink_from_servant): Check object is AtkHyperlink not
92 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
97 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
99 * registryd/deviceeventcontroller.c
100 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
101 events to be ignored.
102 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
103 keyboard_mode so that XAllowEvents() can be called.
107 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
109 * cspi/spi-accessible.c: Correct names of roles returned by
110 AccessibleRole_getName(). Fixes bug #95055.
112 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
114 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
117 * registryd/registry.c
118 (desktop_remove_application: Write diagnostic message to stderr for
121 (impl_accessibility_registry_deregister_global_event_listener):
122 Correct size of lists array. This addresses bug #94555).
124 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
126 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
129 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
131 * registryd/Makefile: Add CLEANFILES so that .server file is removed
134 * registryd/registry.c (impl_registry_notify_event): Remove
135 unnecessary call to parser_event_type().
137 * docs/reference/cspi/tmpl/spi_component.sgml:
138 Add reference to SPI_LAYER_WINDOW.
140 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
142 * registryd/registry.c
143 (desktop_add_application): Remove leak.
144 (desktop_remove_application): Remove leak.
145 (parser_event_type): Remove leak.
147 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
149 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
150 bogus call to CORBA_string_dup(). Also removed unnecessary
151 g_string_dup/g_free calls.
153 2002-09-13 Bill Haneman <bill.haneman@sun.com>
155 * registryd/deviceeventcontroller.c:
156 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
158 * test/event-listener-test.c:
159 main: commented out three redundant listeners, to reduce output
160 noise. (They still are potentially useful for testing).
163 2002-09-13 Michael Meeks <michael@ximian.com>
165 * Update all the copyrights to include Ximian.
167 2002-09-06 Mark McLoughlin <mark@skynet.ie>
169 * cspi/spi.h: add SPI_LAYER_WINDOW.
171 * cspi/spi_component.c: (AccessibleComponent_getLayer):
172 add Accessibility_LAYER_WINDOW case.
174 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
176 * libspi/component.c: (impl_accessibility_component_get_layer):
177 add ATK_LAYER_WINDOW case.
179 2002-08-28 Bill Haneman <bill.haneman@sun.com>
181 * configure.in: incremented micro version.
183 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
185 2002-08-20 Bill Haneman <bill.haneman@sun.com>
188 Clarified and reworded our commit policy.
191 Started an API "todo" addition list for 2.2.
195 Free char pointer from atk_text_get_selection, which was being leaked.
197 2002-08-19 Bill Haneman <bill.haneman@sun.com>
200 Small revision to author acknowledgement.
202 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
204 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
205 If signal has detail add it to the type of the event.
208 2002-08-12 Michael Meeks <michael@ximian.com>
210 * test/test-simple.c (global_listener_cb): bin bogosity.
211 (test_keylisteners): disable, still doesn't work reliably,
212 certainly not on my system anyway.
214 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
215 don't leak a reference on the DEC. This round-trip
216 fetching of the DEC per keystroke sucks, it should be
219 * cspi/spi-private.h,
220 * cspi/cspi-lowlevel.h,
221 * cspi/bonobo/cspi-bonobo-listener.[ch],
222 * cspi/bonobo/cspi-bonobo.c: get the copyright
223 notices better - there is still a large amount of
224 work in at-spi falsely attributed solely to Sun.
226 * cspi/spi_main.c (cspi_object_ref): kill bogus
227 hash lookup, just increment the ref.
228 (SPI_freeString): make explicit the fact that we
229 handle NULL strings just fine.
230 (report_leaked_ref): obey coding standards.
231 (cspi_object_hash, cspi_object_equal): kill retval.
232 (cspi_object_release): only release if not on loan.
233 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
234 (cspi_object_borrow, cspi_object_return): impl.
236 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
237 use cspi_object_borrow / return.
239 2002-08-12 Darren Kenny <darren.kenny@sun.com>
241 * cspi/bonobo/cspi-bonobo-listener.c:
243 Don't call cspi_oject_new() because this is creating a new Accessible
244 every single time that an event is fired. This causes ATs like at-poke
245 to nolonger recognise the source of the event and thus ignore it.
246 Re-use the object from the cache, ref it and then unref it after the
247 listeners have been called.
249 2002-08-06 Darren Kenny <darren.kenny@sun.com>
251 * test/event-listener-test.c:
252 Added command-line options to disable mouse events (m) and
255 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
257 * configure.in: Update required versions of ATK, GTK+ and GAIL
259 * cspi-1.0.pc.in: Add dependency for X include files
262 * cspi/bonobo/Makefile.am:
263 Add $(X_CFLAGS) so that X include files
264 are picked up even if not in standard place (bug #71686)
266 2002-06-25 Bill Haneman <bill.haneman@sun.com>
268 * registryd/deviceeventcontroller.c: fix for 84261
269 (spi_dec_mouse_moved):
270 Added test of mouse button mask, so that we can detect mouse
271 button release. Unfortunately we can't otherwise detect mouse
272 button release events without consuming the mouse press event,
273 because of the way XGrabButton works. This means that our mouse
274 release events have a latency dependent on the polling period
275 while the mouse button is down. At least in this case we only
276 have to poll while the button is down, and not at other times.
277 If the button masks don't match with what the last press event
278 reported, we report the appropriate button release event.
279 (spi_dec_ungrab_mouse):
280 New method (not yet called).
281 (spi_device_event_controller_forward_mouse_event):
282 New method, sends mouse press event from GdkFilter.
283 (spi_dec_init_mouse_listener):
284 Added code to call XGrabButton, redirecting mouse button events to
285 the root window and our Gdk event loop.
287 Added code to filter mouse button events, and reordered.
289 * test/event-listener-test.c:
291 Added registration for mouse events of type "mouse:button".
293 2002-06-25 Bill Haneman <bill.haneman@sun.com>
295 * registryd/deviceeventcontroller.c: partial fix for 84261
296 (spi_dec_poll_mouse_idle):
297 New method, a timeout which checks to see if the mouse
299 (spi_dec_poll_mouse_moving):
300 A timeout to be called when mouse motion is underway.
301 (spi_dec_poll_mouse_moved):
302 A method which fires an event if the mouse has moved, and reports
303 whether or not it did so.
304 (spi_dec_init_mouse_listener):
305 A method which sets up the timeouts above.
306 (spi_device_event_controller_new):
307 Now calls spi_dec_init_mouse_listener.
309 * registryd/registry.c:
311 Now we initialize the device event controller when the registry is
312 initialized, instead of waiting until a client has requested a key
313 event notification; this is because we need the event controller
314 for mouse events, but the mouse event registration API is a
315 "registry" call and doesn't explicitly call the
316 deviceeventcontroller.
317 We now report mouse motion events with a 100 ms idle latency and
318 a 20 ms granularity when motion is in progress.
320 * test/event-listener-test.c:
322 We now register the "detail listener" for events of type
323 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
324 delivered only for the first mouse event received, and thereafter
325 "mouse:abs" events are delivered.)
327 * cspi/spi_registry.c:
328 DOCS: Documented the above mouse event typestrings.
330 2002-06-21 Bill Haneman <bill.haneman@sun.com>
332 Happy Summer Solstice...
334 * registryd/deviceeventcontroller.c: [fix for bug 84100]
335 (spi_controller_notify_keylisteners):
336 Changes to remove a listener from the listener list, freeing its
337 open keygrabs, if a notification to that listener fails. This
338 means that although a dead listener can continue to hold a passive
339 keygrab, a maximum of one dispatch to such a listener can fail
340 before the listener is removed from the list, thus the keygrab
341 will be released on the next occurrence.
343 (spi_notify_keylisteners):
344 Renamed to spi_controller_notify_keylisteners, as the controller
345 instance must now be passed as an argument.
346 The copied 'notify' GList is now a list of DEControllerKeyListener
347 objects, since we need more than just the CORBA reference if a
348 notify fails and we need to deregister the listener.
349 (impl_notify_listeners_sync):
350 (impl_notify_listeners_async):
351 (spi_device_event_controller_forward_key_event):
352 Modify use of notify_keylisteners in accordance with above
354 (spi_deregister_controller_key_listener):
355 New method introduced by refactoring, from
356 impl_deregister_keystroke_listener.
357 (impl_deregister_keystroke_listener):
358 Call spi_deregister_controller_key_listener.
359 (spi_key_listener_clone):
360 New method to copy a key listner without doing a 'ref' on the
361 remote object instance; used to create a notifier list.
362 (spi_key_listener_data_free):
363 New method, frees data without unreffing the source.
365 (spi_key_listener_clone_free): new method.
366 (spi_key_listener_free):
367 refactored to call spi_key_listener_data_free.
369 2002-06-20 Bill Haneman <bill.haneman@sun.com>
371 * registryd/registry.c: [fix for bug 86048]
372 (notify_listeners_cb):
373 Clear CORBA system exceptions which occur when notifying
374 listeners, before returning to the source of the original event,
375 since the event source doesn't care if the relayed notify failed.
376 In other words, don't complain to the atk-bridge if the registry
377 could not notify all its listeners, that's no fault of the
378 application and thus should not appear to be an error from the
379 application's perspective.
381 * cspi/spi_main.c: [fix for bug 85980]
383 Replaced use of bonobo_object_dup_ref with call to the wrapper
384 method, csou_dup_ref (); this silences a compiler warning and
385 provided more portability.
387 Ping the registry before return, and restart if necessary.
389 * cspi/bonobo/cspi-bonobo.c:
393 Fixed this method to return an object reference, as it should have
396 * cspi/cspi-lowlevel.h:
397 Added internal definition for cspi_ping() and fixed
398 return type of cspi_dup_ref().
401 2002-06-19 Bill Haneman <bill.haneman@sun.com>
403 * atk-bridge/bridge.c: [fix for bug 85305]
404 (spi_atk_bridge_register_application):
405 New method where the initial application registry calls have been
406 moved; it allows an application to re-register in response to
407 certain error conditions (such as a registry restart, see below).
409 Moved some initialization code to the method
410 spi_atk_bridge_get_registry, below.
411 (spi_atk_bridge_get_registry):
412 New, private accessor function for the Accessibility_Registry
413 instance. If the registry has not been started before, or has
414 died (as detected by failure of a CORBA exception), it is
415 restarted before return, and spi_atk_bridge_register_application
416 is called again to register with the new bridge instance.
417 (spi_atk_emit_eventv):
418 Set registry_died on error; use spi_atk_bridge_get_registry () to
421 * registryd/registry.c:
422 (impl_accessibility_registry_register_global_event_listener):
423 Set listener's event_type_quark to etype.minor instead of
424 etype.major (fix for bug 84856).
426 * test/event-listener-test.c:
427 (report_detail_event):
428 Change the output string so that user/tester can tell that the
429 'detail listener' was called instead of the 'generic listener'.
431 2002-06-18 Bill Haneman <bill.haneman@sun.com>
433 Fixes for bugs 84900, 84908, 84897, 84898.
438 Revved version to 1.1.0
439 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
440 version is going to HEAD which will be used for gnome-2-0-1 and later.)
442 * idl/Accessibility_Registry.idl:
443 (EventListener::notifyEvent):
444 Removed 'oneway' directive after extensive consulation with
445 ORBit2 team and others. This means also that unref() of the event
446 source can and should be done synchronously after emission, rather
447 than remotely in the client, after servicing the notify call on
450 NOTE: This change speeds up listener performance considerably, but
451 introduces new latency on the application side. We may want to
452 add an event queue to the atk-bridge.
454 * atk-bridge/bridge.c:
455 (spi_atk_bridge_focus_tracker):
456 Do a local unref() on the event source after emission.
458 * registryd/registry.c:
459 (desktop_remove_application):
460 Do an unref() on the event source after emission.
461 (desktop_add_application):
462 Do an unref() on the event source after emission.
463 (notify_listeners_cb):
464 When relaying an event, don't automatically add the event source
465 to the local object cache, just CORBA_dup it instead. Likewise,
466 if this method reenters, release the ref rather than calling
468 (impl_registry_notify_event):
469 No longer call remote unref() on the event source after dispatch.
471 * libspi/eventlistener.c:
472 (impl_accessible_event_notify_event):
473 Removed remote unref ()
475 * cspi/bonobo/cspi-bonobo-listener.c:
477 We now call cspi_object_new() instead of cspi_object_add() on
478 receipt of an event; thus we only have an implicit object ref
479 while the cspi_event method is being executed. If we need to keep
480 a reference to the object, the listener must call ref() on the
481 object. Thus also we don't need to call cspi_object_unref() after
482 invoking the listener callbacks in this method.
486 New internal API for creating a new cspi object, without adding it
489 Now uses cspi_object_new() to create the cspi object instance.
491 Now checks to see if the object is in the internal object cache,
492 and adds it if necessary before incrementing its refcount (note
493 that new objects are added with a refcount of 1).
495 New method which gives some information on leaked object instances
496 if leak detection is turned on.
498 * test/event-listener-test.c:
500 New method, used for testing event delivery timing for special
501 events of type "object:test". It reports elapsed time and
502 events/sec every 500 events.
504 Added a new listener, 'test listener', to check timing of event
505 receipt as noted above.
507 Added some timing output here also, reports elapsed time every 100
510 * test/stress-test.c:
511 Emit events of type "object:test", for use with "event-listener-test".
513 * test/test-simple.c:
514 (global_listener_cb):
515 Call Accessible_ref() on the event source before calling
516 validate_accessible, since the validation process does pointer
517 comparisons on the event source, meaning that the event source
518 needs to be added to the local object cache first. Any use of
519 such pointer comparisons between Accessible objects requires that
520 the caller hold an explicit reference to those objects.
521 We also must therefore call Accessible_unref() when leaving this method.
523 2002-06-13 Bill Haneman <bill.haneman@sun.com>
525 * registryd/deviceeventcontroller.c:
526 (spi_controller_update_key_grabs):
527 Fix for #84735, subsequent keygrab listeners not informed of
528 registration failure.
531 (spi_base_construct):
532 Add an assertion on construct, to make sure the GObject passed in
535 Explicitly initialize object->gobj pointer to NULL;
537 * cspi/bonobo/cspi-bonobo-listener.c:
538 (cspi_object_add_ref):
539 New method, can specify whether to dup-ref a bonobo object passed
540 in if it's newly added to the object cache.
542 Now calls cspi_object_add_ref with second param of "FALSE". This
543 prevents us from doing a pointless dup-ref followed by
544 release-unref for all those cases where the object is already in
545 our object cache (fix for #85205).
547 * atk-bridge/bridge.c:
548 (spi_atk_bridge_idle_init):
549 Removed this method, we don't need to initialize in an idle
552 Changed to call spi_atk_register_event_listeners directly, not via an
553 idle handler. (fix for #81139)
554 (gnome_accessibility_module_shutdown):
555 Removed conditional around deregistration of listeners, since we
556 don't use the idle handler and thus have always registered when
558 (spi_init_keystroke_from_atk_key_event):
559 Changed references to Accessibility_KEY_PRESSED to
560 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
562 2002-06-12 Bill Haneman <bill.haneman@sun.com>
564 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
569 * test/stress-test.c:
572 (may have been an incomplete commit yesterday?)
574 2002-06-12 Bill Haneman <bill.haneman@sun.com>
577 Added target for new stress-test.
579 * test/stress-test.c:
580 New test, sends 1000 focus notifies in quick succession.
582 * test/key-listener-test.c:
583 Now we report whether a keylistener registration
584 request succeeded or failed.
586 * test/event-listener-test.c:
587 Uncommented some listeners which are now implemented.
590 2002-06-06 Bill Haneman <bill.haneman@sun.com>
592 * registryd/deviceeventcontroller.c:
593 (spi_controller_update_key_grabs):
594 Fix for #82509, lack of failure notification when
595 ALL_WINDOWS keygrabs fail due to XGrabKey
596 failure: we synchronize the server when
597 registering a passive grab, to make sure we get the
598 error message before the call returns.
600 2002-06-03 Bill Haneman <bill.haneman@sun.com>
602 * test/test-simple.c:
604 Removed #ifdef KEY_IMPL_WORKS guards.
606 Removed #ifdef KEY_IMPL_WORKS guards.
607 Fixed bug which was causing a hang waiting for a
608 "press" event (which was already overwritten by a "release"
609 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
611 Added code to set globals 'key_press_received' and
612 'key_release_received'.
615 Added section "1.1 API Proposed Additions" which
616 lists API additions desired for at-spi-1.1 (only one so far).
617 Updated TODO list a little.
619 2002-06-02 Bill Haneman <bill.haneman@sun.com>
621 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
624 * configure.in: Revved to 1.0.0.
626 * idl/Accessibility_Registry.idl:
627 (registerKeystrokeListener):
628 Added boolean return value.
630 * registryd/registry.c:
631 (notify_listeners_cb): Minor fix to debug output.
633 * registryd/Accessibility_Registry.server.in.in:
634 Revved version number in OAFIID to 1.0.
636 * registryd/registryd.c:
638 Use new OAFIID version.
640 * cspi/bonobo/cspi-bonobo.c:
642 Use new OAFIID version.
648 * atk-bridge/bridge.c:
650 Use new OAFIID version.
652 * registryd/deviceeventcontroller.c:
653 (impl_register_keystroke_listener):
654 Added CORBA_boolean return value.
655 (spi_controller_register_device_listener):
656 Added gboolean return value.
657 (spi_controller_register_global_keygrabs):
658 Added gboolean return value.
659 (spi_key_set_contains_key):
660 Added implementation for many more control keys,
661 for instance F1-F12, arrow keys, End, Home, Page_Up,
663 [TODO: some still not implemented].
665 * text/screen-review-test.c:
666 (text_chunk_pad_string):
667 New function: it provides mapping between coordinate
668 positions of text chunks and character positions in the
669 screen-review-line output string.
670 (text_chunk_to_string):
671 New function, calls text_chunk_pad_string with various
672 pad/delimiter characters. Pushbuttons are delimited with
673 square brackets, Frames with vertical 'pipe' lines, and
674 other text with double quotes.
675 (text_chunk_list_to_string):
676 Calls new function text_chunk_to_string.
677 (toplevel_composite):
678 New function to composite layers CANVAS through
679 POPUP in each toplevel (other layers are composited
680 across toplevels, i.e. BACKGROUND and OVERLAY).
681 (review_buffer_composite):
682 Revise to use new methods.
688 2002-05-31 Laszlo Peter <laca@sun.com>
690 * configure.in: add the Xtst libdir to the runpath on Solaris,
691 since it's not in the default library search path.
693 2002-05-29 jacob berkman <jacob@ximian.com>
695 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
697 2002-05-29 Bill Haneman <bill.haneman@sun.com>
699 * test/screen-review-test.c:
700 (text_chunk_pad_string):
701 Added method, which pads the string according to the
702 text bounds of the chunk. It also takes a 3-character
703 string as a param which indicates the characters to be
704 used for start, padding, and end delimitation of the chunk.
705 (text_chunk_to_string):
706 Changed to use text_chunk_pad_string.
708 * configure.in: Fixed bug in AC_OUTPUT that was
709 causing path substitution in Accessibility_Registry.server
712 2002-05-23 Bill Haneman <bill.haneman@sun.com>
714 * text/screen-review-test.c:
716 New method which attempts a best-guess at clipping
717 text from components (like Java labels) which don't
718 actually implement AccessibleText. This inaccurate
719 clip is based on the assumption that the label is
720 justified left-and-right, and monospaced.
721 (text_chunk_get_clipped_string):
722 We now call guess_string_clip() for text-containing
723 components that don't implement AccessibleText.
725 * test/screen-review-test.c:
726 (review_buffer_get_text_chunk):
727 We now pull "name" from labels if they do not implement
728 AccessibleText (i.e. for Java labels).
729 (get_screen_review_line_at):
730 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
733 Replaceded AC_OUTPUT target
734 registryd/Accessibility_Registry.server with
735 registryd/Accessibility_Registry.server.in.
737 * registryd/Accessibility_Registry.server.in:
738 Removed (this is now a Makefile target).
740 * registryd/Accessibility_Registry.server.in.in:
741 Added (source for target above). We now use $(libexecdir) as
742 prefix for the executable at-spi-registryd.
744 * registry/Makefile.am:
745 Now install at-spi-registryd into $(libexecdir), and build .server
746 file with path (see above).
748 2002-05-22 Bill Haneman <bill.haneman@sun.com>
750 * test/screen-review-test.c:
751 (text_chunk_get_clipped_string):
752 We now check to see if words fall within clip bounds
753 before resorting to character-by-character clip bounds testing.
755 * TODO: Added a section for "2.2 Proposed API Additions".
757 2002-05-21 Bill Haneman <bill.haneman@sun.com>
759 * test/screen-review-test.c:
761 Added a screen review benchmarking and test program to test
764 * cspi/spi_accessible.c:
766 Made some of the debug strings passed to cspi_check_ev a
767 little more specific.
769 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
771 * test/screen-review-test.c: Fix crashes in debug statements
773 2002-05-20 Bill Haneman <bill.haneman@sun.com>
775 * test/screen-review-test.c: Added this file.
777 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
779 * atk-bridge/bridge.c: changed "object:state-change" to
780 "object:state-changed" to match docs.
782 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
784 * atk-bridge/bridge.c: Hooked up state-change event details.
786 2002-05-11 Bill Haneman <bill.haneman@sun.com>
788 * registryd/registry.c:
789 Fixed quarking bug in event string parsing; now events with
790 detail parameters get matched correctly to listeners.
793 * util/idl/Magnifier.idl: remove.
795 * util/*.[ch]: Remove.
796 Magnification utilities and IDL are now in module gnome-mag.
798 2002-05-10 Bill Haneman <bill.haneman@sun.com>
800 * registryd/deviceeventcontroller.c:
801 Fixed bug in grab key conversion which was causing keycode grabs
802 to be converted to AnyKey grabs.
805 updated NEWS file to reflect recent spin-off of gnome-mag.
807 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
809 * cspi/spi_accessible.c: Added exception checks. Fixed completely
810 busted AccessibleStateSet_compare. Removed redundant casts.
812 * cspi/spi-action.c: Removed redundant casts.
814 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
816 * cspi/spi_component.c: Fixed typos and casting error.
818 * cspi/spi_editabletext.c: Removed redundant casts.
820 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
822 * cspi/spi_hypertext.c: Eliminated redundant casts.
824 * cspi/spi_image.c: Eliminated redundant casts.
826 * cspi/spi_registry.c: Eliminated redundant casts.
827 SPI_deregisterGlobalEventListenerAll () removed retval variable.
828 * cspi/spi_selection.c: Removed redundant casts.
829 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
830 handling. Screen geometry and text offsets were being returned as 0
831 on error which is technically valid-- changed these to return -1.
832 Added marshaller for text boundary types to fix bug with boundary
833 types being passed incorrectly to atk.
835 2002-05-09 Bill Haneman <bill.haneman@sun.com>
838 * cspi/spi_registry.c:
839 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
840 which was uncovered by the recent key changes.
842 2002-05-09 Bill Haneman <bill.haneman@sun.com>
844 * test/event-listener-test.c:
846 Added new test, "event-listener-test";
847 this code does two things; it benchmarks traversal time
848 for the accessible hierarchy for the first running accessible
849 app, and it connects listeners for all supported event types.
850 It is thus useful as an example event listener and for
851 diagnostics/debugging of event generation.
853 2002-05-08 Bill Haneman <bill.haneman@sun.com>
856 Removed unnecessary dependency on libutil.
859 Revved micro version: 0.13.1
861 2002-05-08 Bill Haneman <bill.haneman@sun.com>
864 Removed util/Makefile from targets.
867 Removed util subdir from SUBDIRS (temporarily,
868 pending removal of magnifier-only code
872 #ifdef-ed out magnifier dependencies, since
873 magnifier IDL, headers, and binary now live in
874 module gnome-mag and we don't want at-spi to depend
875 on gnome-mag. A magnifier demo which can run alongside
876 simple-at is forthcoming in the gnome-mag module.
878 NOTE: Split magnifier binary, IDL, and magnification
879 activation code from at-spi into module gnome-mag.
881 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
883 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
884 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
886 2002-05-03 Bill Haneman <bill.haneman@sun.com>
889 Revved to version 0.13.0
891 * idl/Accessibility_Registry.idl:
892 Changed definition of KeySet from sequence of longs to sequence of
893 KeyDefinitions, and added KeyDefinition struct.
894 Required for fix to bug 80616.
896 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
897 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
898 to use new definition (see above).
900 * registryd/deviceeventcontroller.c: handle_keygrab(),
901 spi_keyset_contains_key():
902 Changed to make use of new struct; this allows matching based on
903 string key-name, for instance "Tab". This also allows matching of
904 composed characters, non-alphanumeric characters in a way that
905 doesn't involve dependencies on X keysym codes directly, etc.
907 * test/key-listener-test.c:
908 Added test for Alt-Tab key using "string" specification of keyset,
909 and modified one of the tests to use a keycode-based keyset.
910 Thus this test both tests and demonstrates the creation and use of
911 keysets of three forms: specified via keycode array,
912 keysym array, and string array. (The string case only contains a
913 single string, i.e. a string array of length 1).
916 Turned on PRINT_TREE option by default. Also fixed a
917 string-freeing bug in the PRINT_TREE code.
918 Added a listener to window:minimize events.
920 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
922 * atk-bridge/bridge.c:
923 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
924 for window:activate and window:deactiveate
925 (atk_bridge_property_event_listener atk_bridge_signal_listener
926 atk_bridge_window_event_listener) Tidy debug code
928 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
930 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
931 Fixed handling for NULL return value from ATK.
933 * libspi/action.c libspi/component.c libspi/editabletext.
934 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
935 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
936 Removed redundant casts.
938 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
939 Fixed off by one bug.
941 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
942 function not present in idl)
944 2002-05-02 jacob berkman <jacob@ximian.com>
946 * atk-bridge/Makefile.am: make atk-bridge a real module
948 2002-04-26 Radek Doulik <rodo@ximian.com>
950 * libspi/stateset.c (spi_init_state_type_tables): fix size of
951 atk_state_types table
953 2002-04-22 jacob berkman <jacob@ximian.com>
956 * libspi/Makefile.am: add deps on the built files to help
957 automake, and don't version the ORBit typelib
959 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
961 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
962 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
963 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
964 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
965 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
966 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
967 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
968 libspi/accessible.h libspi/accessible.h libspi/base.h
969 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
970 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
971 libspi/relation.h libspi/remoteobject.h libspi/selection.h
972 libspi/spi-private.h libspi/statetset.h libspi/table.h
973 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
974 util/mag_client.h util/mag_control.c util/mag_image.c
975 util/mag_image.h util/magnifier.c util/magnifier.h:
976 Add missing file headers; standardize existing ones
978 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
980 * atk-bridge/bridge.c: Added window event support.
982 2002-04-18 Michael Meeks <michael@ximian.com>
984 * libspi/relation.c (impl_getNTargets): impl.
985 (impl_getTarget): impl.
987 * libspi/Makefile.am: fix stateset install.
989 2002-04-17 Bill Haneman <bill.haneman@sun.com>
992 Started putting useful info in this file.
994 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
996 * atk-bridge/bridge.c:
997 Propagate state-changed notifications to ATs
999 * cspi/spi_registry.c: update docs to reflect actual behavior of
1000 state-change events.
1002 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1005 Incremented version to 0.12.1
1007 * util/mag_client.h:
1008 Add missing declaration for magnifier_exit,
1009 used by mag_control.c - Forte compiler didn't like
1010 the implicit redeclaration of the function :-(
1013 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1016 Revved version to 0.12 due to API change (see below).
1018 * cspi/spi-roletypes.h:
1019 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
1020 definition from the inline docs, and added docs
1021 for SPI_ROLE_LAST_DEFINED.
1024 * cspi/spi_streamablecontent.c:
1025 Added missing seek_type parameter to
1026 (so far unused) method,
1027 AccessibleStreamableContent_seek().
1028 [ RT approval JodyG. ]
1031 Fixed docs for SPI_createAccessibleKeystrokeListener.
1033 * cspi/spi_registry.c:
1034 Fixed docs for SPI_KEYSET_ALL_KEYS.
1036 * docs/reference/cspi/at-spi-cspi-sections.txt:
1037 Added a number of missing APIs to SECTIONS.
1039 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1041 * registryd/Makefile.am:
1043 * cspi/bonobo/Makefile.am:
1044 Add $(X_LIBS) to makefiles.
1046 2002-04-15 Bill Haneman <bill.haneman@sun.com>
1049 Revved version to 0.11.
1051 * libspi/component.c:
1052 Added implementation for grabFocus.
1054 * idl/Accessibility_Component.idl
1055 (Accessibility_Component_grabFocus):
1056 Made this method return boolean to indicate success or failure, to
1057 be consistent with cspi and the corresponding ATK method.
1059 * idl/Accessibility_Selection.idl
1060 (Accessibility_Selection_selectAll) :
1061 Made these methods return boolean to indicate success or
1062 failure, to be consistent with cspi and the corresponding ATK methods.
1064 * idl/Accessibility_EditableText.idl
1065 (Accessibility_EditableText_setTextContents,
1066 Accessibility_EditableText_insertText,
1067 Accessibility_EditableText_cutText,
1068 Accessibility_EditableText_deleteText,
1069 Accessibility_EditableText_pasteText):
1070 Made these methods return boolean to indicate
1073 * cspi/spi_editabletext.c:
1074 Made these methods return booleans.
1076 * libspi/selection.c:
1077 * libspi/component.c:
1078 * libspi/editabletext.c:
1079 Connected the boolean returns from ATK
1080 to the server-side code referenced above.
1082 2002-04-14 Bill Haneman <bill.haneman@sun.com>
1084 * idl/Accessibility_Table.idl: Added missing methods,
1085 Accessibility_Table_addRowSelection,
1086 Accessibility_Table_addColumnSelection,
1087 Accessibility_Table_removeRowSelection,
1088 Accessibility_Table_removeColumnSelection.
1091 Added C wrappers for above IDL:
1092 AccessibleTable_addRowSelection,
1093 AccessibleTable_addColumnSelection,
1094 AccessibleTable_removeRowSelection,
1095 AccessibleTable_removeColumnSelection.
1098 Added server-side implementation code for IDL above, connecting
1099 to pre-existing ATK api.
1101 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
1103 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
1105 * libspi/accessible.c: Added implementation fo
1106 Accessibility_Accessible_get_state.
1108 * libspi/libspi.h: Added stateset.h to the list of includes.
1110 * libspi/stateset.c: Fixed broken implementation.
1112 2002-04-13 Bill Haneman <bill.haneman@sun.com>
1115 Added implementation code for Accessibility_Magnifier_exit ().
1117 * util/mag_control.c:
1118 Added test code for above method; you can
1119 now kill an existing magnifier via
1120 ./mag_control q, from the util directory.
1122 * test/key-listener-test.c:
1124 Added a new test, for our key listener API.
1126 2002-04-11 Bill Haneman <bill.haneman@sun.com>
1128 * test/app.c, test/keysynth-demo.c:
1130 Replace use of snprintf with g_snprintf.
1131 (fix for bugzilla 78249)
1133 2002-03-27 Michael Meeks <michael@ximian.com>
1137 * util/Makefile.am (INCLUDES): fix.
1138 (DONT_DIST_SOURCE): don't distribute the
1141 * libspi/Makefile.am (dist-hook): ditto.
1143 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
1145 * libspi/hypertext.c:
1146 Fix warnings when yelp is used with atk-bridge
1148 2002-03-21 Michael Meeks <michael@ximian.com>
1150 * libspi/application.c (spi_application_new):
1151 use spi_accessible_construct so we use the AtkObject
1154 2002-03-19 Michael Meeks <michael@ximian.com>
1156 * registryd/registry.c (desktop_remove_application),
1157 (desktop_add_application): clean coding style.
1159 * registryd/desktop.c (spi_desktop_remove_application),
1160 (spi_desktop_add_application): kill re-enterency hazards.
1161 (spi_desktop_dispose): remove bogus redundant cast
1162 obscuring bug; fix bug too.
1163 (spi_desktop_init): make the desktop object immortal.
1165 2002-03-16 Bill Haneman <bill.haneman@sun.com>
1168 Added a #define-guarded tree-traversal step
1169 when enumerating the apps (diagnostic tool).
1171 2002-03-15 Bill Haneman <bill.haneman@sun.com>
1173 * idl/Accessibility_Role.idl:
1174 Added ROLE_DRAWING_AREA which seemed to be missing from the
1177 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1179 * cspi/spi-roletypes.h cspi/spi_accessible.c
1180 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
1183 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
1184 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
1185 AT when applications are added and removed from the desktop. This
1186 reverts the previous broken implementation using the backing
1187 AtkObject for the SpiDesktop.
1189 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1191 * registryd/desktop.c: emit the "children-changed::add" and
1192 "children-changed::remove" signals on the backing ATK object for
1193 the desktop so AT can tell when applications are started and shut
1196 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1198 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
1200 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1202 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
1204 * cspi/spi_accessible.c: Implemented c bindings for stateset support
1206 * cspi/state-types.h: synched with IDL and ATK
1208 2002-03-13 Bill Haneman <bill.haneman@sun.com>
1210 * libspi/accessible.c
1211 (impl_accessibility_accessible_get_child_at_index):
1212 Change return value for g_return_if_fail ()
1213 to CORBA_OBJECT_NIL instead of "0" (!)
1215 * registryd/Makefile.am:
1216 * registryd/Accessibility_Register.server.in:
1217 Changed name of executable, "registryd",
1218 to something more informative:
1221 2002-03-13 Michael Meeks <michael@ximian.com>
1223 * atk-bridge/bridge.c (atk_bridge_init): don't register
1224 if we're in a bonobo-component, rather than a bonobo app.
1226 2002-03-13 Michael Meeks <michael@ximian.com>
1228 * atk-bridge/bridge.c (gtk_module_init): split
1229 out body to (atk_bridge_init): here, since otherwise
1230 we get symbol conflicts and oddness when invoked
1231 from (gnome_accessibility_module_init): here (upd.)
1233 2002-03-11 Bill Haneman <bill.haneman@sun.com>
1236 New file. Explicitly allow "build sheriff" putbacks provided
1237 they are tested on Solaris.
1239 * docs/reference/cspi/Makefile.am:
1240 Added '-' to the "cp" command for index.sgml.
1241 ("patch by thomasvs, soon coming to a GUADEC near you")
1244 Incremented version number (0.9.0) for new release.
1245 Changed macro that checks for popt, to better detect
1246 obsolete versions of popt.
1249 Added X_LIBS to AC_SUBST, for applications
1250 that call Xlib API directly.
1253 2002-03-07 Bill Haneman <bill.haneman@sun.com>
1256 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
1259 Fix regression caused by hard-coding major
1260 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
1263 * test/test-simple.c (test_editable_text),
1264 (test_test): revert previous change (error was
1265 a regression in gail which is now fixed).
1267 2002-03-04 Michael Meeks <michael@ximian.com>
1269 * test/test-simple.c (test_editable_text),
1270 (test_text): pass G_MAXINT instead of '-1' for
1271 whole string - is this a good thing !?
1273 * cspi/spi_accessible.c
1274 (Accessible_getRelationSet): fix crasher bug
1275 overwriting the end of the array.
1277 * test/test-simple.c (validate_accessible): free,
1278 not g_free returned relation set.
1280 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
1282 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
1283 implemented stateset support
1285 * idl/Accessibility_State.idl: Made necessary changes to
1286 the IDL to support state sets.
1288 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1290 * registryd/deviceeventcontroller.c:
1291 Added implementation for generateMouseEvent.
1293 * cspi/spi_registry.c:
1294 Connected new implementation for generateMouseEvent
1297 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1300 Incremented revision (but no change in public API
1301 outside of 'utils', which are not installed public yet.)
1303 * libspi/component.c:
1304 Changed to use atk_component API for layers and
1305 mdi_zorder, instead of deprecated atk_object API.
1307 Magnification Utility Enhancements:
1310 Added implementation of createZoomRegion, clearAllZoomRegions,
1311 resizeZoomRegion. Added new commandline argument
1312 "--no-initial-region". Note that clearAllZoomRegions doesn't
1313 unmap the old '0' region as it should (yet), and the other
1314 methods only work when creating/resizing a single region,
1315 which is "region 0".
1316 (Code for multiple region support will be added later.)
1319 Now we raise the magnifier window each time it's refreshed;
1320 this will help keep it on top.
1322 * util/mag_client.h:
1323 Added simple wrappers for above, used by mag_control.
1324 For general use, it's recommended to use the bonobo magnifier
1325 control API directly instead of using these wrappers.
1328 Moved ZoomRegionData from magnifier.c to this file.
1330 * util/mag_control.c:
1331 Added some code to exercise new IDL implementations.
1333 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
1335 * libspi/text.c: Provide implementation for getAttributes.
1337 2002-02-04 Bill Haneman <bill.haneman@sun.com>
1340 Incremented revision.
1342 * test/test-simple.c:
1343 Replaced use of deprecated g_main_iteration with
1344 g_main_context_iteration.
1346 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
1349 Incremented revision for desktop alpha 2.
1351 2002-01-28 Mark McLoughlin <mark@skynet.ie>
1353 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
1356 * test/simple-at.c: include netinet/in.h.
1358 2002-01-24 Mark McLoughlin <mark@skynet.ie>
1360 * cspi/spi_accessible.c: (Accessible_getRelationSet):
1361 use NULL, not CORBA_OBJECT_NIL.
1363 * libspi/accessible.c:
1364 (impl_accessibility_accessible_get_relation_set):
1365 allocate the sequence correctly.
1367 * libspi/remoteobject.h: kill spi_remote_object_new.
1369 * test/test-simple.c: (validate_accessible): add code
1370 to test relation sets, now all we need is to figure
1371 out how to excercise this code path :/
1373 2002-01-18 Michael Meeks <michael@ximian.com>
1375 * test/test-simple.c
1376 (key_listener_cb): consume the key.
1377 (test_keylisteners): update.
1378 (main): wait for any pending unrefs on events.
1380 * registryd/deviceeventcontroller.c
1381 (spi_controller_update_key_grabs): only re-issue the
1382 grab on a key release.
1383 (spi_device_event_controller_forward_key_event):
1384 refresh the keygrabs before we notify the listeners,
1385 to reduce the X ungrab / re-grab race.
1386 (spi_controller_register_with_devices): remove
1387 XSelectInput - we do that with the gdk_window_ call.
1388 (_spi_controller_device_error_handler): return a value.
1389 s/GDK_DISPLAY/spi_get_display/
1391 2002-01-17 Michael Meeks <michael@ximian.com>
1393 * registryd/deviceeventcontroller.c
1394 (_deregister_keygrab): don't blow out the later
1397 * test/test-simple.c (test_keylisteners): do a
1398 more intelligent validation.
1400 2002-01-14 Michael Meeks <michael@ximian.com>
1402 * atk-bridge/bridge.c
1403 (gnome_accessibility_module_init),
1404 (gnome_accessibility_module_shutdown): impl.
1405 (gtk_module_init): protect vs. double inits.
1406 (add_signal_listener): impl.
1407 (spi_atk_bridge_state_event_listener): kill
1408 (deregister_application): split out of
1409 (spi_atk_bridge_exit_func): here.
1411 2002-01-18 Bill Haneman <bill.haneman@sun.com>
1414 Added caret tracking when using magnifier, and
1415 now use text bounds for focus tracking of text elements, rather than
1416 the component bounds - this is helpful for short text fields in long
1417 table cells, at high magnification.
1419 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1421 * registryd/deviceeventcontroller.c:
1422 Regression fix for keylistener de-registration; global keygrabs
1423 were not being released when deregisterKeystrokeListener was
1424 called in cspi, since
1425 Accessibility_DeviceEventController_deregisterKeystrokeListener
1426 was called with a zero-length keyset. That is because the cspi
1427 method, SPI_deregisterKeystrokeListener, does not take a keyset
1428 parameter but instead should remove all the key grabs held be a
1430 The code in impl_deregister_keystroke_listener was changed to copy
1431 the keylist from the listener instance previously registered with
1432 the DeviceEventController before releasing the grabs.
1434 * registryd/registry.c:
1435 * registryd/deviceeventcontroller.c:
1436 * libspi/spi-private.h:
1438 Changed spelling of "re-enterant" to "re-entrant" globally.
1440 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1442 * test/test-simple.c:
1443 Changed key listeners test - the test was slightly mis-using the
1444 (admittedly poorly documented) SPI_generateKeyboardEvent API.
1445 It now uses '=' as the key event listened to and generated,
1446 relying on a keysym match rather than assuming that keycode 33
1447 is always equal to keysym '!'.
1449 2002-01-15 Bill Haneman <bill.haneman@sun.com>
1452 Changed simple-at to use a specific keyset, rather than
1453 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
1454 manager, desktop, etc.
1456 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1458 * registryd/deviceeventcontroller.c:
1459 Replaced standard X error handler with a special handler that
1460 is non-fatal for failed keygrabs. This works around
1461 problems with keygrab clashes sometimes observed on
1463 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
1464 mouse handling code as yet).
1466 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1469 Incremented revision for desktop alpha release.
1472 Fixed a couple of the more glaring errors (still not
1475 2002-01-11 Michael Meeks <michael@ximian.com>
1477 * registryd/deviceeventcontroller.c
1478 (spi_device_event_controller_forward_key_event): kill
1479 XUngrabKey / XKeyGrab race.
1480 (spi_controller_grab_keyboard): rename to
1481 (spi_controller_update_key_grabs): this, and deal
1482 with incremental adding / removing grabs more
1484 (_register_keygrab): ensure we're not pending a remove.
1485 (spi_grab_mask_free): impl.
1486 (spi_controller_register_global_keygrabs): split out
1488 (handle_keygrab): impl.
1489 (_deregister_keygrab): impl.
1490 (spi_controller_deregister_global_keygrabs): impl.
1491 (spi_controller_update_key_grabs): re-issue the grab if
1492 we just recieved a notification.
1494 * test/test-simple.c (key_listener_cb): remove debug.
1496 * registryd/deviceeventcontroller.c
1497 (spi_controller_register_device_listener): after
1498 registering a global keygrab, actualy register it !
1499 don't wait for a timeout; doh !
1501 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
1502 to make it more readable / manipulable.
1503 s/grabmask/grab_mask/ s/refcount/ref_count/
1504 s/keyval/key_val/ s/modmask/mod_mask
1506 2002-01-08 Michael Meeks <michael@ximian.com>
1508 * registryd/deviceeventcontroller.c
1509 (spi_controller_register_with_devices): use gdk calls to
1511 (global_filter_fn): implement the filter.
1512 (spi_device_event_controller_check_key_event): rename to
1513 (spi_device_event_controller_forward_key_event): this & upd.
1514 (spi_get_display): replace with GDK_DISPLAY.
1516 * registryd/deviceeventcontroller.c
1517 (spi_controller_deregister_device_listener): unroll into
1518 (impl_deregister_keystroke_listener): here to simplify.
1519 (spi_controller_register_global_keygrabs): split cut and
1520 paste (!) out into (_register_keygrab): here, shorter & sweeter.
1521 (spi_controller_deregister_device_listener): remove.
1522 (impl_register_mouse_listener): remove, no mouse listener
1523 support in at-spi-1.0
1525 * registryd/registry.c
1526 (_device_event_controller_hook): kill.
1527 (spi_registry_init): upd.
1529 * registryd/deviceeventcontroller.c
1530 (spi_device_event_controller_class_init): upd.
1531 (spi_check_key_event): merge into.
1532 (spi_device_event_controller_check_key_event):
1533 here and kill strange static ev init, don't leak
1534 the x_event - nor dynamicaly allocate it.
1536 * registryd/registry-main.c (main): re-direct
1537 timeout to remove strange vtable mess.
1539 * registryd/deviceeventcontroller.c
1540 (remove_listener_cb): impl.
1541 (spi_controller_deregister_device_listener):
1542 fix re-enterancy hazard.
1544 2002-01-07 Michael Meeks <michael@ximian.com>
1546 * registryd/deviceeventcontroller.c
1547 (spi_device_event_controller_new): upd.
1548 (impl_notify_listeners_sync): upd. debug.
1549 (spi_notify_keylisteners): fix re-enterancy hazards,
1550 prettify, remove O(n*n) iteration.
1551 (spi_controller_grab_keyboard): fix iteration.
1552 (spi_check_key_event): re-format to suit coding style.
1553 Clean all the warnings - we're warning free.
1555 * registryd/deviceeventcontroller.h:
1556 * registryd/registry.h: make mutualy referential with
1557 typesafe forward references instead of (!) void pointer
1560 2002-01-11 Michael Meeks <michael@ximian.com>
1562 * cspi/spi_accessible.c (role_names): add a role name
1563 to sync this array with the enum; and make the regression
1566 2002-01-10 Michael Meeks <michael@ximian.com>
1568 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
1569 allow expansion of enumeration & kill warning.
1571 * test/test-simple.c (key_listener_cb): impl.
1572 (test_keylisteners): impl.
1574 * cspi/spi-listener.h: make listener signatures const
1575 on the provided (const) events.
1577 * test/keysynth-demo.c: upd. to const events.
1579 * test/simple-at.c: ditto.
1581 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1584 Rev the version to 0.5 (the previous tarball was named 0.4,
1585 even though the micro number was 3), so we need to rev upwards
1586 again for beta2/"desktop-alpha"
1589 Checked in a demo script, which requires editing before use!
1590 Proceed with caution.
1593 Fixed typo in header which was redefining SPI_ACTION_CLASS.
1595 * cspi/spi_accessible.c:
1596 Add a couple of missing enum initializations, and fix some enum
1599 * cspi/spi_registry.c:
1600 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
1602 * docs/reference/cspi/at-spi-cspi-sections.txt:
1603 Remove/fix a couple of broken document references.
1606 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
1607 as Alt-Control to listen for commands, since on some systems
1608 Control-Alt may already be grabbed.
1610 2002-01-10 Bill Haneman <bill.haneman@sun.com>
1613 Update version number to 0.4 for Beta2.
1615 * libspi/accessible.c, libspi/accessible.h:
1616 Expose spi_accessible_construct, to enable libgail-gnome
1617 construction from spi_accessible subtype.
1619 * utils/magnifier.c:
1620 Workaround for bug in some non-gnome-compliant window managers
1621 which made magnifier resize improperly.
1623 2002-01-09 Bill Haneman <bill.haneman@sun.com>
1625 * libspi/accessible.c: (spi_accessible_new) :
1626 Move the test for SPI_IS_REMOTE_OBJECT to
1627 spi_accessible_new_return, fixing a bug and compile time warning.
1629 2002-01-08 Michael Meeks <michael@ximian.com>
1631 * registryd/registry.c (parse_event_type): remove strndup.
1633 * libspi/Makefile.am (libspi_la_SOURCES): remove
1634 sources already included in the headers section.
1636 * libspi/util.c: add.
1638 * libspi/spi-private.h: add.
1640 * registryd/registry.c: update to moved list iterators.
1642 2002-01-05 Michael Meeks <michael@ximian.com>
1644 * test/simple-at.c (main): upd. auto-module set to atk-bridge
1646 * test/test-simple.c (main): ditto.
1648 2002-01-04 Michael Meeks <michael@ximian.com>
1650 * libspi/accessible.c (spi_accessible_new): remove 2nd,
1651 redundant construct.
1653 * registryd/registry.c
1654 (get_listener_list): impl.
1655 (impl_accessibility_registry_register_global_event_listener):
1656 re-impl. to simplify using ~, remove dodgy const cast off.
1657 (parse_event_type): constify.
1658 (impl_accessibility_registry_deregister_global_event_listener_all):
1659 re-write, more efficiency and simplicity, kill re-enterancy
1661 (compare_listener_corbaref, compare_corba_objects),
1662 (compare_listener_quarks): define out.
1663 (impl_accessibility_registry_deregister_global_event_listener):
1664 re-write for effiency, and nail re-enterancy hazard.
1665 (impl_accessibility_registry_get_desktop_list): impl.
1666 (re_enterant_list_delete_link): impl.
1667 (re_enterant_list_foreach): impl.
1668 (remove_listener_cb): impl.
1669 (_registry_notify_listeners): kill.
1670 (notify_listeners_cb): impl.
1672 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
1673 (SPI_getDesktopList): impl.
1675 * test/test-simple.c (test_desktop): test the methods.
1677 2002-01-03 Michael Meeks <michael@ximian.com>
1679 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
1680 keystrings since we free them
1681 (SPI_freeAccessibleKeySet): in here.
1683 * libspi/accessible.c (spi_accessible_new): kill warning,
1684 wonder what is going on with the constructor here.
1686 2002-03-01 Bill Haneman <bill.haneman@sun.com>
1688 * libspi/accessible.c (spi_accessible_new ()) :
1689 Added check to see if AtkObject is an SpiRemoteObject before
1690 creating an SpiAccessible.
1692 2002-05-01 Bill Haneman <bill.haneman@sun.com>
1694 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
1695 Enable keygrabs using the Control modifier, now that they are
1696 working properly (they were previously disabled).
1699 Change the command keygrab for this demo to "Control+Alt", so as
1700 to conflict with fewer other key commands on the system; this
1701 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1703 Removed a pointlessly-chatty keylistener for unshifted keys
1704 (shifted keys are still reported).
1706 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1708 * libspi/remoteobject.h:
1709 * libspi/remoteobject.c:
1710 Added definitions for special AtkObject subtype, required for
1711 support of remote components (specifically, used by BonoboControl
1712 accessibility implementation).
1714 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1716 * cspi/spi.h: synched relation types with ATK
1718 * cspi/spi_accessible.c: Added implementations of
1719 AcccessibleRelation_* methods
1721 * idl/Accessibility_Relation.idl: added getRelationTypeName
1722 method. Synched known relation types with ATK. Allowed for
1723 relation type extension with the RELATION_EXTENDED type.
1725 * libspi/relation.c: Provided implementations for
1726 AccessibleRelation methods.
1728 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1730 API tweaks for today's API 'freeze'.
1733 Added placeholder functions to allow future compatible expansion
1734 of the IDL interfaces.
1736 * idl/Accessibility_Registry.idl:
1737 Changed generateKeyEvent to generateKeyboardEvent. Changed
1738 signature of this method to accept an optional keystring in
1739 parameter (for complex text input synthesis) and changed use of
1740 simple 'boolean' parameter in registerKeystrokeListener to a
1741 struct, EventListenerMode.
1743 * cspi/spi_accessible.c:
1745 * cspi/spi_streamablecontent.c:
1746 Added references to AccessibleStreamableContent interface, and
1747 definition and implementation of AccessibleStreamableContent
1750 * cspi/spi_registry.c:
1752 Changed generateKeyEvent API to generateKeyboardEvent,
1753 taking a new (optional) keystring parameter to support complex
1758 Renamed directory (to better reflect its actual purpose, bridging
1759 from at-spi to ATK). The .so module is also now named
1762 * idl/Accessibility_Hypertext.idl:
1763 * libspi/accessible.c:
1764 * libspi/hypertext.h:
1765 * libspi/hypertext.c:
1766 Changed Accessibility_Hypertext to *not* derive from
1769 * cspi/spi_registry.c:
1770 Added list of legal event type names for 'window' events, which
1771 completes the registry event API.
1773 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
1775 * at-bridge/bridge.c: Added registration for separate
1776 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1777 signals. If either of the first two parameters to the generic
1778 bridge signal handler are ints, they are passed on as event
1779 details. This allows an AT to determine what text was inserted.
1781 2001-12-21 Bill Haneman <bill.haneman@sun.com>
1783 * registryd/deviceeventcontroller.c:
1784 Fixed regressions in generateKeyEvent caused by the removal of
1785 gdk_init from registryd; we now use pure X calls to connect to the
1786 display, which makes sense because deviceeventcontroller already
1787 uses a fair bit of X API (should eventually be migrated to a
1788 'portability layer').
1790 * registryd/desktop.c:
1791 Fixed minor regression in spi_desktop_init, changed the way the
1792 desktop name is being set to work with new spi_base API
1793 (gobject-based, rather than AtkObject-based).
1795 * registryd/Makefile.am:
1796 Minor revision of makefile to use XTST_LIBS variable rather than
1797 hard-wiring the Xtst LD_ADD element.
1799 * test/keysynth-demo.c:
1800 Tweaked an output message; added initialization of the
1801 'keystrings' member of the "switch listener" key_set.
1803 * libspi/relation.c:
1804 Squashed compile-time warning.
1806 * libspi/accessible.c:
1807 Cosmetic and formatting fixes, renamed a static method.
1809 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1811 * libspi/accessible.c
1813 * libspi/application.c
1816 * libspi/component.c
1817 * libspi/editabletext.c
1818 * libspi/hyperlink.c
1819 * libspi/hypertext.c
1821 * libspi/selection.c
1825 * registryd/desktop.c:
1826 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1828 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1830 * idl/Accessibility_Registry.idl:
1831 Added boolean member 'is_text' to DeviceEvent. This is for the
1832 use of key events, and helps prevent ambiguity between composed
1833 key strings and keysym names, since both may potentially be
1834 returned in the 'event_string' member.
1836 * at-bridge/bridge.c:
1837 * registryd/deviceeventcontroller.c:
1838 Use the 'is_text' member when notifying device event listeners.
1839 Knon issue: composed characters are not dealt with correctly by
1840 the global key listener implementation yet.
1842 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1844 * at-bridge/bridge.c:
1845 Namespaced local static methods to spi_atk_bridge_* where
1846 previously named bridge_*, and spi_* elsewhere.
1848 * at-bridge/bridge.c:
1849 * cspi/bonobo/cspi-bonobo-listener.c:
1850 Added demarshalling/conversion for string member of
1851 Accessibility_DeviceEvent to AccessibleKeystroke.
1853 * registryd/deviceeventcontroller.c:
1854 Added code to fill the Accessibility_DeviceEvent key string value
1855 member for global key events (i.e. from XGrabKey), to match
1856 behavior of Accessibility_DeviceEvent from the toolkit key events
1857 from the bridge. Fixed timestamp in global key event notifications.
1860 Added printout of key event's string value to
1861 report_ordinary_key_event, for demo/debugging purposes.
1863 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1865 * idl/Accessibility_Registry.idl:
1866 Removed Accessibility_KeyStroke structure in favor of generic
1867 Accessibility_DeviceEvent structure.
1868 Changed Accessibility_ControllerEventMask from a struct to an
1871 * at-bridge/bridge.c:
1872 Changed APIs to use DeviceEvent structure as above, and removed
1873 bogus casting between these event structures.
1875 * cspi/spi-listener.h:
1876 Added keystring member of AccessibleKeystroke structure, to enable
1877 matching on event "names" rather than only hardware codes and
1881 Added keystrings member of AccessibleKeySet struct, to allow
1882 matching on event names (as above).
1883 Added declarations for SPI_createAccessibleKeySet and
1884 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1885 event modmasks directly as unsigned ints rather than structs with
1886 refcounts, in the DeviceEventController methods.
1888 * cspi/spi_registry.c:
1889 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1891 * cspi/spi-roletypes.h:
1892 Added documentation of newly added SPI Roles.
1894 * cspi/bonobo/cspi-bonobo-listener.c:
1895 Changes in support of API changes above.
1897 * libspi/accessible.c:
1898 Converted APIs to use DeviceEvent structure (see IDL changes
1901 * registryd/deviceeventcontroller.c:
1902 Added DEControllerGrabMask structure to track keygrabs not only by
1903 modmask but by keyset as well; this allows us to do "global"
1904 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1905 grabbing on AnyKey and then filtering after-the-fact.
1906 Bugfixes for event filtration mean that we don't get false matches
1907 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1909 * registryd/deviceeventcontroller.c:
1910 Namespaced a number of static methods to use spi_ prefix. Major
1911 revision to internals of global (i.e. X) key grabs.
1913 * registryd/deviceeventcontroller.h:
1914 Removed keymask_list and added keygrabs_list to
1915 SpiDeviceEventController struct.
1918 Added use of SPI_createAccessibleKeySet API when creating a
1919 listener for only one key. Attach a listener to "shift spacebar
1920 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1921 X key event names to SPI key event names, so that listeners are
1922 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1924 * test/keysynth-demo.c:
1925 Changed (incorrect) use of X key event names (KeyPressed,
1926 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1929 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1931 * libspi/accessible.c:
1932 Convert all AtkRole enumerations to Accessibility_Role enums when
1933 getting a role from an AtkObject.
1935 * cspi/spi_accessible.c:
1936 Complete the conversion of Accessibility_Role enums at runtime to
1937 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1938 role enums correctly match those given in spi-roletypes.h.
1939 Re-synchronize the local names list for AccessibleRole_getName ().
1940 AccessibleRole_getName is now deprecated, since it duplicates the
1941 more reliable Accessible_getRoleName.
1942 Added some role types from Accessibility_Role.idl.
1944 * idl/Accessibility_Role.idl:
1945 Added some role types used by AtkRole.
1947 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1950 * cspi/spi_registry.c:
1952 * cspi/cspi-bonobo-listener.c:
1953 Namespaced all methods that did not begin with an "SPI_" or
1954 "Accessible" prefix to "SPI_".
1957 Homogenized internal function namespace to "cspi_" for statics.
1960 Patched tests to use the new CSPI API.
1962 * docs/reference/cspi/at-spi-cspi-sections.txt:
1963 Updated docs to reflect namespace changes, and added a number of
1964 methods to the documentation.
1966 * registryd/registry.c:
1967 Changed use of strings and string hashes in listener event
1968 matching and parse_event_string to use GQuark, which is guaranteed
1971 * registryd/registry.h:
1972 Squashed annoying warning.
1974 * idl/Accessibility_Role.idl:
1975 Extended range of available Accessibility_Role values.
1977 * cspi/spi_accessible.c:
1978 Re-ordered role names.
1980 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1982 * idl/Accessibility_Value.idl:
1983 Revert use of union back to CORBA_double, since the double type is
1984 more efficient and can contain the other types without loss of
1987 * idl/Accessibility_Accessible.idl:
1988 Added method Accessibility:Accessible:getRoleName, to complement
1989 Accessibility:Accessible:getRole.
1991 * cspi/spi_accessible.c:
1993 Added C binding for above, Accessible_getRoleName (), and changed
1994 signature of Accessible_getRole () to return an AccessibleRole.
1996 * cspi/spi-roletypes.h:
1997 Changed AccessibleRole_getName to return a char * instead of a
1998 const char *. This method is now at least temporarily deprecated
1999 in favor of asking Accessibles for their RoleNames directly.
2002 Revert to match Accessibility_Value.idl;
2006 Change signature of AccessibleValue methods to use double rather
2010 * cspi/spi_accessible.c:
2011 Changed Accessible_getRole to return an AccessibleRole enum rather
2012 than a UTF-8 string. The UTF-8 string can still be obtained via
2013 AccessibleRole_getName ().
2015 * test/test-simple.c:
2016 Add test_action. Small fixup to match API change to Accessible_getRole.
2019 Bugfix for get_action_from_servant ().
2021 2001-12-11 Michael Meeks <michael@ximian.com>
2023 * libspi/libspi.h: remove registry.h and
2024 desktop.h, deviceeventcontroller.h
2026 * libspi/Makefile.am: remove registry.[ch],
2027 desktop.[ch], deviceeventcontroller.[ch]
2029 * registryd/Makefile.am: add registry.[ch],
2030 desktop.[ch], rename registryd.c to registry-main.c.
2031 add deviceeventcontroller.[ch]
2033 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2036 Replace setenv() call with putenv ().
2038 * libspi/component.c:
2039 Bugfix in AccessibleComponent_getExtents (),
2042 2001-12-11 Michael Meeks <michael@ximian.com>
2044 * libspi/image.c (impl_getImageExtents): impl.
2045 (spi_image_class_init): upd.
2048 (AccessibleImage_getImageDescription): fix daft bug
2051 * test/test-simple.c (global_listener_cb): update
2052 to only quit if not --poke
2053 (main): catch --poke.
2054 (validate_accessible): upd. dumping, call test_image
2057 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
2060 * idl/Accessibility.idl: update all IDL includes.
2062 * idl/*.idl - rename to namespace - this sucks, blame
2063 mjs' bad decision for oafd.
2065 * test/test-simple.c (create_test_window): add more tests.
2066 (create_tree): split this out.
2067 (validate_accessible): bugfix.
2069 2001-12-11 Michael Meeks <michael@ximian.com>
2071 * cspi/bonobo/cspi-bonobo-listener.c:
2072 (cspi_kestroke_listener_unref),
2073 (cspi_event_listener_unref): impl. undoing previous
2074 homenous environment - for Bill.
2076 * cspi/spi_table.c (long_seq_to_array): use
2079 * cspi/spi_main.c: split out all bonoboish bits into
2082 * cspi/spi-impl.h: upd. typedefs.
2084 * cspi/spi_registry.c: update to lowlevel API,
2085 return booleans to indicate success in some places.
2087 * cspi/spi_event.c: update to lowlevel API.
2089 * cspi/bonobo/Makefile.am: add.
2091 * cspi/bonobo/cspi-lowlevel.h: add
2093 * cspi/bonobo/cspi-bonobo.c: add
2095 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
2097 * cspi/Makefile.am: remove spi-listener-impl.[ch],
2098 (SUBDIRS): add bonobo, link in the libs.
2100 * cspi/spi-util.c: kill this file.
2102 * TODO: merge in my bits.
2104 2001-12-11 Michael Meeks <michael@ximian.com>
2106 * test/test-simple.c (test_value, test_table, main):
2107 remove unused variables causing warnings.
2109 * configure.in: cleanup checks - require gail.
2111 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2114 Changed Value interface to use SValue (scalars) rather than
2115 assuming all values are floats. This allows floats, doubles,
2116 longs, shorts, and unsigned values to be manipulated.
2117 Introduced Accessibility:SValue union.
2120 Updated to use new API above, and to work correctly with GValues
2121 of different types in AtkValue.
2124 Updated to use new API above. cspi's API is as yet unchanged.
2127 Updated the Value revision action item.
2129 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2131 * test/test-simple.c:
2132 Added test_table (GtkTreeView widget in test window to follow).
2133 Un-commented test_value, added GtkRange widget.
2134 Added GtkTreeView widget with GtkListStore. It passes regression
2135 test but leaks one SPI object for some reason.
2138 Fixed bug in impl__set_currentValue.
2140 2001-12-10 Michael Meeks <michael@ximian.com>
2142 * cspi/spi_text.c: audit for exception handling,
2143 tolerating NULL object references safely etc.
2145 * cspi/spi_value.c: ditto.
2147 * cspi/spi_table.c (AccessibleTable_getSummary),
2148 (AccessibleTable_getAccessibleAt),
2149 (AccessibleTable_getRowHeader),
2150 (AccessibleTable_getColumnHeader),
2151 (AccessibleTable_getCaption): fix bugs hidden by
2153 (long_seq_to_array): impl.
2154 (AccessibleTable_getSelectedRows),
2155 (AccessibleTable_getSelectedColumns): use it.
2157 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2160 Added a TODO list (rough and short for now).
2162 * cspi/spi_hyperlink.c:
2163 * cspi/spi_hypertext.c:
2164 Fixed macro name typos, and remove use of obsolete macro in
2165 AccessibleHyperlink_getLink.
2167 * cspi/spi_action.c:
2168 * cspi/spi_accessible.c:
2169 * cspi/spi_application.c:
2170 * cspi/spi_component.c:
2171 * cspi/spi_selection.c:
2174 Documentation fixes (removed return values from ref/unref methods).
2176 2001-12-10 Michael Meeks <michael@ximian.com>
2178 * cspi/spi_action.c: audit for exception handling,
2179 tolerating NULL object references safely etc.
2181 * cspi/spi_accessible.c: ditto.
2183 * cspi/spi_component.c: ditto.
2185 * cspi/spi_editabletext.c: ditto.
2187 * cspi/spi_hyperlink.c: ditto.
2189 * cspi/spi_hypertext.c: ditto.
2191 * cspi/spi_image.c: ditto.
2193 * cspi/spi_selection.c: ditto.
2195 2001-12-10 Michael Meeks <michael@ximian.com>
2197 * configure.in: use cspi/libspi.pc.in instead.
2199 * Makefile.am (pkgconfig_DATA): upd. to match.
2201 * test/simple-at.c (report_focus_event): kill hacks around
2202 bad return values, use putenv not setenv
2204 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
2205 fire ChildGone - I killed it.
2207 * libspi/component.c
2208 (impl_accessibility_component_get_extents): remove
2211 * idl/Accessible.idl: kill ChildGone exception.
2213 * cspi/*.[ch]: kill int return from ref / unref.
2215 * cspi/spi_main.c (cspi_object_add_check): fold into
2216 (cspi_object_add): here.
2218 * cspi/spi_component.c (AccessibleComponent_getExtents):
2219 handle exceptions elegantly.
2221 * cspi/spi-private.h (cspi_check_ev_return),
2222 (cspi_return_if_fail): impl.
2224 * cspi/spi_accessible.c: use extensively.
2225 (AccessibleStateSet_equals): add direct compare check.
2227 * cspi/spi_selection.c: tolerate NULL objs, and check
2228 exceptions before return.
2230 * cspi/spi-util.c (cspi_warn_ev): rename to
2231 (cspi_check_ev): this & don't pass ev in; no point.
2233 2001-12-10 Michael Meeks <michael@ximian.com>
2235 * test/test-simple.c: use putenv not setenv
2236 (get_environment_vars): more chatty if you're not using
2239 * test/simple-at.c: do the setenv so more people see the
2242 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2244 * libspi/registry.c:
2245 Changed check of CORBA_environment on notification to be a warning
2246 instead of an error for the moment, since we can recover from this
2247 error when caused by a queued notification from a dead app.
2250 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
2251 used by all current implementors of AtkValue), and coerce to
2252 CORBA_float. (Proper general case fix may require change to Value.idl).
2254 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2258 * cspi/spi_accessible.c:
2259 Documentation fixes: added user_data params to documentation for
2260 listeners and callbacks.
2262 * cspi/spi_accessible.c:
2263 Changed AccessibleStateSet_compare to return a
2264 StateSet rather than return the difference set into a third parameter.
2267 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2270 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
2271 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
2275 Remove subdirectory po from SUBDIRS for now.
2277 * at-bridge/bridge.c:
2278 Beefed up a couple of debug printouts.
2279 One-line fix for signal notification name formatting.
2281 * libspi/accessible.c:
2282 Added assertion to spi_accessible_new ().
2284 * libspi/application.c:
2285 Put #ifdef qualifiers around a printf.
2288 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
2290 * registryd/Makefile.am:
2292 Replaces use of XML_I18N_MERGE_SERVER_RULE with
2293 INTLTOOL_SERVER_RULE macro.
2296 Added an event listener for several ATK signals, for
2297 testing and debugging. Removed a few g_warnings.
2298 Added test output if focussed item implements the Value interface.
2300 * test/test-simple.c:
2301 Added test_value () function (known not to pass at the moment, so
2302 not actually called yet.
2304 2001-12-08 Michael Meeks <michael@ximian.com>
2306 * at-bridge/bridge.c (bridge_focus_tracker),
2307 (emit_eventv): fix the same ref. leak.
2308 (register_atk_event_listeners): don't leak.
2310 * cspi/spi-listener-impl.c (cspi_event): more
2311 protection from client code.
2313 * test/test-simple.c (test_desktop): unref the app.
2315 * test/Makefile.am: upd. TESTS.
2317 * at-bridge/bridge.c (bridge_exit_func): release the registry.
2319 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
2321 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
2323 * cspi/spi_registry.c: constify in strings.
2324 (deregisterGlobalEventListenerAll): don't release the ref.
2326 * cspi/spi.h: start removing redundant / conflicting
2327 gtkdoc comments, making the API readable at a glance :-)
2329 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
2331 * test/keysynth-demo.c (keysynth_exit, main): upd.
2333 * test/simple-at.c (main, simple_at_exit): upd.
2335 * test/test-simple.c (unutterable_horror): kill.
2336 (utterable_normal_derefs): kill.
2337 (main): upd & do a setenv before gtk_init, so that we
2338 can use memprof - and to save the pain of remembering
2339 this, if we're running under memprof - don't exit.
2341 * cspi/spi_main.c (SPI_exit): return exit status
2343 (SPI_event_quit): impl.
2344 (SPI_event_main): simplify.
2345 (cspi_is_gnome_app): kill.
2346 (SPI_init): kill isGNOMEapp arg.
2348 * at-bridge/bridge.c (register_atk_event_listeners):
2349 re-instate the unref.
2350 (bridge_exit_func): don't re-activate the registry,
2351 protect vs. theoretical re-entry, use the
2352 AT_BRIDGE_SHUTDOWN env. var to determine whether to
2353 assert a clean shutdown - for regression tests.
2355 2001-12-08 Abel Cheung <maddog@linux.org.hk>
2357 * configure.in: Comment out dummy i18n support for now,
2358 otherwise it fails to build.
2359 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
2360 EXTRA_DIST. They are missing in tarball.
2362 2001-12-07 Michael Meeks <michael@ximian.com>
2364 * util/magnifier.c: kill bonobo activation reg. race.
2366 * libspi/component.c
2367 (impl_accessibility_component_get_extents): make it match
2370 * libspi/registry.c (_registry_notify_listeners):
2371 re-remove X headers & reconcile conflicts.
2372 (spi_listener_struct_free): bad conflict resolve.
2373 (impl_accessibility_registry_register_application):
2374 more bad merging fixed.
2375 (impl_accessibility_registry_deregister_application): ditto.
2376 (spi_registry_new): ditto.
2377 (spi_registry_init): don't have an applications field.
2379 [ merge fixups2 branch to here ]
2380 2001-12-07 Michael Meeks <michael@ximian.com>
2382 * test/simple-at.c (report_focus_event),
2383 (report_focussed_accessible): remove g_warning debug.
2385 2001-12-07 Michael Meeks <michael@ximian.com>
2387 * test/test-simple.c (validate_tree): comment out some checks.
2388 (test_desktop): app now not registered idly - horay.
2390 2001-12-07 Michael Meeks <michael@ximian.com>
2392 * cspi/spi_registry.c
2393 (registerAccessibleKeystrokeListener): clean, stop it leaking
2394 great swathes of memory, and device event controller references.
2395 ensure we always pass valid sequences.
2396 (deregisterAccessibleKeystrokeListener): ditto.
2397 (generateKeyEvent): upd.
2399 * at-bridge/bridge.c (bridge_key_listener): handle
2400 registry dead exception gracefully.
2401 (bridge_focus_tracker, emit_eventv): free ev.
2403 * test/simple-at.c (report_focus_event): fix polarity.
2405 * libspi/application.c (notify_listeners): kill the ev
2406 argument, and make sure we init the ev we use.
2407 (spi_application_object_event_listener): split out a chunk
2408 (get_atk_object_ref): here & fixup.
2409 (reverse_lookup_name_for_toolkit_event): make const.
2410 (spi_application_toolkit_event_listener): fixup, kill leaks
2413 * at-bridge/bridge.c (register_atk_event_listeners):
2414 don't unref the noop object - causes grief.
2416 * libspi/registry.c: remove the X headers.
2417 turn off the debug churn.
2419 * libspi/accessible.c (spi_accessible_new_return): only
2420 release the ref if we are supposed to [doh]
2422 * test/simple-at.c (report_button_press, report_focus_event):
2423 guard vs. unexpected exit.
2425 * at-bridge/bridge.c (gtk_module_init): prune printf.
2426 (bridge_exit_func): fix app unref.
2428 * libspi/Makefile.am: don't install registry or desktop.h
2430 * libspi/*.h: update includes.
2432 * libspi/application.h: don't include ourself, or
2433 other redundant headers.
2435 2001-12-06 Michael Meeks <michael@ximian.com>
2437 * libspi/accessible.c
2438 (get_accessible_from_servant): impl.
2439 Upd. all CORBA impl.s to use it killing cut and paste.
2441 * cspi/spi_main.c (cspi_cleanup): guard vs. double
2443 (SPI_init): register atexit cleanup handler here.
2445 2001-12-06 Michael Meeks <michael@ximian.com>
2447 * at-bridge/bridge.c (gtk_module_init): g_error on
2448 activation exception
2450 2001-12-06 Michael Meeks <michael@ximian.com>
2452 * at-bridge/bridge.c (gtk_module_init): some sort of
2453 confusing merge clash - reverted.
2454 (bridge_idle_init): ditto.
2456 * test/test-simple.c (main, utterable_normal_derefs):
2457 merge from Bill - somehow not committed.
2459 2001-12-06 Michael Meeks <michael@ximian.com>
2461 * libspi/value.c (spi_value_class_init): upd.
2462 (spi_value_finalize): kill.
2464 * libspi/table.c (spi_table_finalize): kill.
2465 (spi_table_interface_new): upd.
2466 (spi_table_class_init): upd.
2467 (get_table_from_servant): impl.
2468 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2470 * libspi/selection.c (spi_selection_finalize): kill.
2471 (spi_selection_interface_new): upd.
2472 (spi_selection_class_init): upd.
2473 (get_selection_from_servant): impl.
2474 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2476 * libspi/relation.c (spi_relation_finalize): kill.
2477 (spi_relation_class_init, spi_relation_new): upd
2479 * libspi/image.c (spi_image_finalize): kill.
2480 (spi_image_class_init): upd.
2481 (spi_image_interface_new): upd.
2482 (get_image_from_servant): impl.
2483 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2485 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
2486 (spi_hyperlink_finalize): kill.
2487 (spi_hyperlink_new): upd.
2488 (get_hyperlink_from_servant): impl.
2489 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2491 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
2492 (spi_hypertext_finalize): kill.
2493 (spi_hypertext_class_init): upd.
2494 (get_hypertext_from_servant): impl.
2495 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2497 * libspi/editabletext.c (spi_editable_text_finalize): kill.
2498 (spi_editable_text_interface_new): upd.
2499 (get_editable_text_from_servant): impl.
2500 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2502 * libspi/text.c (get_text_from_servant): impl.
2503 All impls - update to use it killing more cut and paste,
2504 also fix bad string returns on duff args ( a somewhat
2505 impossible case to handle - but hey ).
2506 (spi_text_construct): impl.
2507 (spi_text_interface_new): upd.
2508 (spi_text_object_finalize): kill.
2510 * libspi/component.c
2511 (accessibility_component_object_finalize): kill.
2512 (spi_component_class_init): upd.
2513 (get_component_from_servant): impl. helper to kill cut & paste.
2514 (impl_accessibility_component_contains):
2515 (impl_accessibility_component_get_accessible_at_point):
2516 (impl_accessibility_component_get_position):
2517 (impl_accessibility_component_get_extents):
2518 (impl_accessibility_component_get_mdi_z_order):
2519 (impl_accessibility_component_get_layer):
2520 (spi_component_interface_new): upd.
2522 * libspi/action.c (spi_action_finalize): kill.
2523 (spi_action_class_init): upd. inherit from SpiObject.
2524 (spi_action_interface_new): upd.
2525 (get_action_from_servant): impl. helper to reduce cut & paste.
2526 (impl_getKeyBinding, impl_getName, impl_doAction),
2527 (impl_getDescription): Use it everywhere.
2529 * cspi/spi_main.c (get_live_refs): a pointer hash.
2530 (spi_object_hash, spi_object_equal): comment out.
2531 There are issues with CORBA object hashing that need
2534 * libspi/application.c (spi_application_init),
2535 (spi_application_new): upd.
2537 * libspi/accessible.c (spi_accessible_object_finalize): kill.
2538 (spi_accessible_class_init): upd.
2539 s/accessible/object/ in epv methods.
2541 2001-12-05 Bill Haneman <bill.haneman@sun.com>
2543 * at-bridge/bridge.c:
2544 Reorder the bridge initialization into the bridge gtk_module_init,
2545 an immediate call to bridge_register_app, and an idle_add for
2546 register_atk_event_listeners (the only code that *must* wait until
2547 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
2548 the activation, creates the application's Accessible object, and
2549 queues the bridge_idle_init function. Restored call to
2550 Accessibility_Registry_deregisterApplication().
2551 Prior to making this call we obtain a new reference to the
2552 registry, which is a temporary hack that helps us handle apps that
2553 shut down the bonobo mainloop before we get there.
2555 * libspi/registry.c:
2556 Fix string leakage in debug block, and don't segv if a an app
2557 dies before its event notifications have been propagated.
2560 Modify cspi_check_ev() to call g_warning() rather than g_error(),
2561 as stopgap measure until we get proper exception handling when
2562 objects die during or before interrogation.
2566 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
2567 Also changed default value of is_gnome_app to TRUE.
2570 * test/keysynth-demo.c:
2571 Changed use of SPI_init and SPI_event_main to reflect API change above.
2574 Made report_focus_event check the warning value from getName
2575 before reporting on focussed accessible; simplifies handling of
2576 notifications from dead objects.
2578 * test/test-simple.c: (Changes not in this patch since source is
2581 2001-12-05 Michael Meeks <michael@ximian.com>
2583 * registryd/registryd.c (main): protect against
2584 bonobo-activation startup race condition.
2586 * cspi/spi_main.c (cspi_object_add_check): cope
2587 with the exception elegantly.
2589 * idl/Accessible.idl: decl. ChildGone
2591 * libspi/desktop.c (spi_desktop_dispose): impl.
2592 (spi_desktop_class_init): upd.
2593 (spi_desktop_add_application),
2594 (spi_desktop_remove_application),
2595 (abnormal_application_termination): impl.
2596 (impl_desktop_get_child_at_index): re-impl.
2599 (impl_accessibility_registry_deregister_application),
2600 (impl_accessibility_registry_register_application):
2601 kill excessive debug clutter.
2603 * test/test-simple.c (test_misc): test some NULL
2604 tolerance. (main): upd.
2606 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
2607 implements no interfaces - so let's not crash.
2609 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
2611 * libspi/accessible.c (spi_accessible_new_return): impl.
2612 helper to calm the cut and paste, to cope with
2613 NULL AtkObjects effectively and efficiently, and to kill
2614 the referencing bugs.
2616 * libspi/table.c (impl_getAccessibleAt),
2617 (impl_getRowHeader, impl_getColumnHeader): upd.
2619 * libspi/hyperlink.c (impl_getObject): upd.
2621 * libspi/accessible.c
2622 (impl_accessibility_accessible_get_child_at_index): upd.
2624 * libspi/component.c
2625 (impl_accessibility_component_get_accessible_at_point): upd.
2627 * test/test-simple.c (test_editable_text, test_text): impl.
2630 * cspi/spi_editabletext.c
2631 (AccessibleEditableText_insertText): constify.
2633 * test/test-simple.c (focus_me): make more robust.
2635 * libspi/accessible.c: remove some printfs in methods that
2636 we test and work fine, so we can get a clean tree dump.
2638 * test/test-simple.c (validate_accessible),
2639 (validate_tree): make tree dumping pretty too.
2641 * at-bridge/bridge.c (bridge_signal_listener): upd. so
2642 it builds without debug on.
2644 * test/test-simple.c (validate_accessible): fix the most
2647 * cspi/spi_main.c (spi_object_release): leave the nicely
2648 blanked memory around if in debug mode.
2650 * cspi/spi-listener-impl.c (cspi_event): use add_check.
2652 [committed to fixups2]
2653 2001-12-05 Michael Meeks <michael@ximian.com>
2655 * libspi/editabletext.c
2656 (spi_editable_text_class_init): g_type_class_peek_parent,
2657 not interface peek - so we finalize cleanly.
2659 * libspi/accessible.c (spi_accessible_new): kill debug.
2661 * test/test-simple.c (validate_accessible): fix ref.
2662 leak, print strings before freeing them; sigh, comment a
2663 chunk out due to strangeness.
2664 (validate_tree): unref the child after use.
2666 * cspi/spi_component.c (AccessibleComponent_getLayer):
2667 add missing break statement, switch on zlayer not the
2668 uninitialized retval.
2670 * cspi/spi_main.c (cspi_object_add): add assert, local ref
2671 before (possibly re-entering) remote unref.
2673 * test/simple-at.c (main): unref the desktop.
2675 * cspi/spi_accessible.c (cspi_accessible_is_a): move
2678 * cspi/spi_main.c (cspi_accessible_is_a): here to
2679 isolate bonobo API usage more.
2681 * libspi/registry.c (impl_accessibility_registry_register_application):
2682 prune bogus comment.
2684 2001-12-04 Michael Meeks <michael@ximian.com>
2686 * test/test-simple.c (validate_tree): upd.
2687 IndexInParent check to make it more lucid.
2688 (validate_accessible): dump the tree.
2690 * libspi/accessible.c (de_register_public_ref),
2691 (get_public_refs): impl.
2692 (spi_accessible_new): make more efficient & intuitive.
2693 Now IndexInParent check works.
2695 2001-12-04 Michael Meeks <michael@ximian.com>
2697 * cspi/spi-util.h: remove.
2699 * cspi/spi.h: move SPI_freeString here
2701 * libspi/component.c (impl_accessibility_component_get_layer):
2703 (impl_accessibility_component_get_mdi_z_order): ditto,
2704 return -1 on error - is this ok ?
2706 * test/test-simple.c (test_application): impl.
2708 * cspi/spi_accessible.c (Accessible_getApplication),
2709 (Accessible_isApplication): impl.
2711 * libspi/registry.c (spi_listener_struct_free): release
2712 the CORBA reference too.
2714 * libspi/accessible.c
2715 (impl_accessibility_accessible_get_parent): fix ref leak.
2717 * libspi/registry.c (spi_registry_new): make the registry
2718 immortal - we don't want it to go away ever.
2720 * libspi/application.c
2721 (spi_accessible_application_finalize): impl. cleanup.
2723 * cspi/spi_registry.c
2724 (deregisterGlobalEventListenerAll),
2725 (deregisterGlobalEventListener),
2726 (deregisterAccessibleKeystrokeListener): fix ref leak.
2728 * cspi/spi_main.c (SPI_init): remove redundant ref.
2730 * test/test-simple.c (unutterable_horror): impl. to force a
2735 (impl_accessibility_registry_deregister_application): release
2736 the application when we de-register it.
2738 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2739 until we have the infastructure to get it right.
2741 2001-12-03 Michael Meeks <michael@ximian.com>
2743 * libspi/Makefile.am: only build eventlistener.[ch]
2745 * libspi/accessible.c
2746 (impl_accessibility_accessible_get_child_at_index): don't leak.
2748 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2749 before we hit the idle handler.
2751 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2752 debugging than exit.
2754 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2756 * libspi/listener.c (impl_notify_event): check source
2757 not NIL before unref.
2759 * libspi/registry.c (impl_registry_notify_event): ditto.
2761 * libspi/eventlistener.c
2762 (impl_accessible_event_notify_event): unref the source.
2764 * libspi/accessibleeventlistener.c
2765 (impl_accessible_event_notify_event): unref the source.
2767 * idl/Event.idl: remove 'hash_id' attribute - of no
2770 * libspi/application.c (notify_listeners): upd list
2772 (spi_application_object_event_listener),
2773 (spi_application_toolkit_event_listener): upd to do correct
2777 (_registry_notify_listeners): update.
2778 (parse_event_type): this method also leaks like a sieve.
2779 (impl_accessibility_registry_deregister_global_event_listener):
2780 fix ETYPE_WINDOW case.
2782 * libspi/application.c
2783 (impl_accessibility_application_register_object_event_listener):
2786 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2788 * libspi/hypertext.c (impl_getLink): ditto.
2790 * cspi/spi_main.c (cspi_object_add): remove
2791 bogus CORBA_Object_duplicate.
2793 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2796 * cspi/spi_accessible.c
2797 (Accessible_getRelationSet): fix leak / referencing issue.
2799 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2800 (cspi_object_add, cspi_object_unref): upd.
2801 (spi_object_release, get_live_refs): impl.
2802 (cspi_cleanup): simplify.
2804 * *.[ch]: s/boolean/SpiBoolean/
2806 * cspi/spi_accessible.c (role_names): actualy order so it
2807 corresponds with the enum !
2809 * test/test-simple.c (test_roles): check some role strings
2810 vs. enums to detect offset errors.
2812 2001-12-01 Michael Meeks <michael@ximian.com>
2814 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2816 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2818 (Accessible_getChildAtIndex): use cspi_add_check so we
2819 check the ev before using a (possibly) invalid value.
2821 * libspi/accessible.c
2822 (impl_accessibility_accessible_get_parent): don't segv
2825 * at-bridge/bridge.c (gtk_module_init): upd.
2826 (bridge_property_event_listener): don't leak strings
2828 (bridge_state_event_listener),
2829 (bridge_property_event_listener): don't use a static
2830 buffer in case of recursive event emission &
2831 re-enterancy - split out the swathe of cut and paste
2833 (emit_eventv): and fix 2 ref leaks here & comply to the
2835 (bridge_register_app): rename to
2836 (bridge_idle_init): this and kill arg parsing, split
2837 various inits & bonobo-activation registration to module
2838 init time, kill referencing error.
2839 (bridge_exit_func): fix the same leak.
2840 (bridge_focus_tracker): don't leak event structures
2842 (bridge_signal_listener): more leakage and cut & paste
2844 (bridge_key_listener): return the result - FIXME is
2845 this polarity correct ?
2846 (accessibility_keystroke_from_atk_key_event): rename
2847 (accessibility_init_keystroke_from_atk_key_event): and stop
2849 (gtk_module_init): return a value - not that it is checked by
2851 (bridge_key_listener): register my horror at casting between
2852 IDL defined structs.
2853 (bridge_get_registry): kill - not used.
2855 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2857 * test/test-simple.c (test_roles): impl.
2858 (test_desktop, validate_accessible, validate_tree): impl.
2860 * cspi/spi_accessible.c (role_names): fixup bogus
2861 MAX_ROLES setup, make constants const for efficient linkage
2862 (AccessibleRole_getName): conform to coding style, make
2865 2001-11-30 Michael Meeks <michael@ximian.com>
2867 * cspi/spi.h: add missing prototype.
2869 * libspi/registry.c (spi_listener_struct_new): fix sig.
2871 * test/Makefile.am: add test-simple
2873 * test/test-simple.c: add
2875 * test/test.sh: add.
2877 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2879 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2880 do it straight - since otherwise we often get an activation race.
2882 [ work before Bill duplicated a chunk of it ... ]
2883 2001-11-30 Michael Meeks <michael@ximian.com>
2885 * libspi/keystrokelistener.c
2886 (spi_keystroke_listener_class_init): fixup arg
2889 * libspi/eventlistener.c
2890 (spi_event_listener_class_init): ditto.
2892 * tests/test.sh: add.
2894 * cspi/spi-listener-impl.h: update macros.
2896 * cspi/spi-listener-impl.c
2897 (cspi_event_listener_remove_callback): add
2898 correct pre-conditions.
2900 * cspi/spi_main.c (SPI_exit): guard vs. double
2901 exits, exit the mainloop nicely.
2902 (SPI_event_main): make more sense.
2903 (SPI_init): move the atexit evilness here so we
2904 always do it (yuck).
2905 (SPI_event_main): upd.
2907 * test/simple-at.c: update for listener changes.
2909 * registryd/registryd.c (main): prune kruft.
2911 * libspi/libspi.h: upd.
2913 * libspi/eventlistener.[ch]: rename broken macros.
2915 * libspi/accessibleeventlistener.[ch]: remove.
2917 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2919 * test/test-simple.c: Add - automated tests.
2921 * cspi/spi-listener-impl.c (cspi_event),
2922 (cspi_key_event): add user_data to invoke.
2923 (cspi_keystroke_listener_finalize): impl.
2924 (cspi_keystroke_listener_class_init): upd.
2927 (createAccessibleEventListener),
2928 (AccessibleEventListener_addCallback),
2929 (createAccessibleKeystrokeListener),
2930 (AccessibleKeystrokeListener_addCallback): upd.
2932 * libspi/deviceeventcontroller.c
2933 (spi_device_event_controller_check_key_event): add public proto.
2936 (impl_accessibility_registry_deregister_global_event_listener):
2937 always init listeners.
2938 (_registry_notify_listeners): yes it is.
2940 * cspi/spi-listener-impl.c (cspi_key_event):
2942 (cspi_event_listener_finalize): impl.
2943 (cspi_event_listener_class_init): hook up.
2944 (event_handler_new, event_handler_free),
2945 (event_list_remove_by_callback): impl.
2946 (cspi_event_listener_remove_callback),
2947 (cspi_keystroke_listener_remove_callback),
2948 (cspi_keystroke_listener_add_callback),
2949 (cspi_event_listener_add_callback): upd.
2951 * libspi/keystrokelistener.c
2952 (keystroke_listener_object_finalize): kill
2953 (spi_keystroke_listener_class_init): upd.
2954 (spi_keystroke_listener_add_callback),
2955 (spi_keystroke_listener_remove_callback): kill,
2957 (impl_key_event): prune drasticaly.
2959 * libspi/eventlistener.c
2960 (spi_event_listener_add_callback),
2961 (spi_event_listener_remove_callback): kill, use
2963 (impl_accessible_event_notify_event): upd.
2964 (spi_event_listener_object_finalize): remove.
2966 * libspi/Makefile.am: use eventlistener.[ch]
2968 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2970 * libspi/registry.c (_registry_notify_listeners):
2971 Changed listener loop iteration to use preferred convention.
2972 Got rid of string memory leaks caused be calling g_strconcat
2973 inside function calls.
2975 * libspi/registry.c (parse_event_type):
2976 Stopped g_strconcat memory leaks, free the g_strsplit return,
2977 g_strdup the split pieces when used, etc.
2979 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2982 Change method 'compare' to return a 'difference set' rather than
2983 taking a StateSet as an out parameter (more Java-friendly).
2985 * idl/Accessible.idl:
2986 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2988 * idl/Component.idl:
2990 Changed methods 'getExtents' and 'getImageExtents' in these
2991 interfaces to return a BoundingBox structure.
2992 (getPosition and getSize are redundant and possibly should be
2993 removed, rather than creating a corresponding Point struct.)
2995 * cspi/spi_component.c:
2996 Modify implementation of getExtents to reflect the above IDL
3001 Add (missing) AccessibleImage_getExtents () API.
3003 * docs/reference/cspi/at-spi-cspi-sections.txt:
3004 Added AccessibleImage_getImageExtents () to docs.
3006 2001-12-03 Bill Haneman <bill.haneman@sun.com>
3008 * idl/Component.idl:
3009 Added two methods, getLayer () and getMDIZOrder (), to reflect
3010 the new ATK methods atk_object_get_layer and
3011 atk_object_get_mdi_z_order. (Which arguably should be part of the
3012 AtkComponent API and AtkObject). Also added an enum,
3013 ComponentLayer, for the first method's return value.
3015 * libspi/component.c:
3016 Added implementations for these methods.
3018 * cspi/spi_component.c:
3020 Added cspi binding methods for above,
3021 AccessibleComponent_getLayer() and
3022 AccessibleComponent_getMDIZOrder().
3023 Added cspi enum 'AccessibleComponentLayer'.
3025 * docs/reference/cspi/at-spi-cspi-sections.txt:
3026 Added above methods to docs.
3030 Changed typedef for 'boolean' type (and all references to it) to
3031 SPIBoolean, to avoid keyword clashes with C++.
3034 Changed usages of 'boolean' to SPIBoolean.
3036 * test/keysynth-demo.c:
3037 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
3038 app), except where SPIBoolean is required by the callbacks API.
3040 2001-12-02 Bill Haneman <bill.haneman@sun.com>
3042 * cspi/spi_registry.c:
3043 Removed obsolete X event loop for passive keygrabs (which now
3046 * registryd/registryd.c:
3047 Removed unnecessary call to gdk_init() [cruft]. This also allows
3048 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
3051 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3053 * docs/reference/cspi:
3054 Included docs for SPI_freeString in generated documentation.
3057 Renamed spi_freeString to SPI_freeString, for consistency. Added
3058 documentation for this function.
3061 Renamed spi_freeString to SPI_freeString, for consistency.
3062 Removed obsolete method declaration string_from_corba_string.
3064 * test/keysynth-demo.c:
3065 Small tweak to comments.
3068 Stopped leaking the strings returned from CSPI.
3070 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3072 Merged Michael's branch (see his ChangeLog entries below).
3074 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
3075 bridge is alive, release on exit.
3077 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
3078 Fix type check macro.
3081 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
3084 Added is_gnome_app static, and method cspi_is_gnome_app(),
3085 so we can call the appropriate shutdown routine at exit in SPI_exit.
3087 * cspi/spi_main.c (cspi_object_ref):
3088 Duplicate the corba object passed in, since we're keeping it around.
3090 * cspi/SPI_exit.c, cspi_cleanup:
3091 Moved the releasing of the live refs to its own function, so we
3092 can put it in g_atexit (). Call the appropriate shutdown API
3093 depending on whethe calling client is a gnome app or not
3094 (bonobo_main_quit or CORBA_ORB_shutdown).
3096 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
3097 Unref the listener when this method is called, after
3098 deregistration. Updated the API docs to note this behavior.
3100 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
3101 Bugfixes: Ref the bonobo object when returning a parent or child
3102 reference, or an AccessibleRelation. Generally made sure
3103 BonoboObject refcount is incremented whenever we return an
3106 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
3107 Fixed typo/bug in signal declaration.
3109 * libspi/accessibleeventlistener.h:
3112 * libspi/application.c (spi_application_new):
3113 Fixed leak in initialization.
3116 Remembered to increment bonobo-object refcount when returning
3117 children (applications) from desktop object.
3118 Added (empty) finalize method.
3120 * libspi/deviceeventcontroller.c:
3121 Hold a ref to listeners inside DEControllerKeyListeners.
3122 Added dec_key_listener_free() method. Use prepend instead of
3123 append in key_listener list. Fixed some refcount madness and
3124 leaks in the listener registration/deregistration - deregistration
3125 now calls dec_key_listener_free() on listeners, and on the
3126 temporarily constructed dec_key_listener() used to perform the search/match.
3128 * libspi/hypertext.c (spi_hypertest_finalize):
3129 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
3130 class. Also fixed spi_hypertext_interface_new() and
3131 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
3133 * libspi/hypertext.h:
3134 Removed pointless and duplicate AtkObject pointer from
3137 * libspi/keystrokelistener.c:
3138 Fixed incorrect type of keystroke_listener_parent_class,
3139 renamed keystroke_listener_object_finalize to
3140 spi_keystroke_listener_object_finalize.
3141 Fixed typo in signal declaration
3142 (spi_keystroke_listener_class_init).
3144 * libspi/registry.c:
3145 Added funcsions spi_listener_struct_new() and
3146 spi_listener_struct_free() to help with memory management issues.
3147 We also now use these methods instead of gnew + poking stuff into
3148 the struct, and to decrement listener counts/free the listeners
3149 when deregistering them.
3150 Fix more refcount bugs in getDesktop() and
3151 getDeviceEventController().
3154 De-ref the desktop after enumerating the applications. Explicitly
3155 decrement the refcounts on the created listeners on exit (using
3156 _unref for keystroke listeners, and via the
3157 deregisterGlobalEventListenerAll command for other event
3160 2001-11-27 Michael Meeks <michael@ximian.com>
3162 * cspi/spi-listener.h: fixup enum.
3164 2001-11-27 Michael Meeks <michael@ximian.com>
3166 * cspi/spi-listener-impl.c (cspi_event_listener_new),
3167 (cspi_keystroke_listener_new): Use the cspi variants.
3169 2001-11-26 Michael Meeks <michael@ximian.com>
3171 * test/keysynth-demo.c: fix 2 compile warnings, missing
3174 * test/simple-at.c (report_focussed_accessible),
3175 (report_focus_event, report_button_press),
3176 (check_property_change, is_command_key),
3177 (report_ordinary_key_event, report_command_key_event): upd.
3179 * util/mag_client.h: include pre-requisites.
3181 * libspi/accessibleeventlistener.c
3182 (spi_event_listener_object_finalize): free any lingering
3185 * libspi/keystrokelistener.c
3186 (keystroke_listener_object_finalize): ditto.
3188 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
3189 callbacks, with cspi types.
3191 * cspi/spi_event.c (createAccessibleEventListener): chain to
3192 (AccessibleEventListener_addCallback): here.
3193 (createAccessibleKeystrokeListener): chain to
3194 (AccessibleKeystrokeListener_addCallback): here.
3196 * libspi/keystrokelistener.c
3197 (spi_keystroke_listener_class_init): add signal.
3198 (impl_key_event): emit the event.
3199 (boolean_handled_accumulator): impl.
3200 (marshal_BOOLEAN__POINTER): add, gack.
3202 * libspi/accessibleeventlistener.c
3203 (spi_event_listener_class_init): add signal.
3204 (impl_accessible_event_notify_event): emit the signal &
3205 make the loop efficient.
3206 (spi_event_listener_add_callback): prepend the callback.
3208 * libspi/accessibleeventlistener.h: add an 'event' signal,
3209 decl type on callback.
3211 * libspi/keystrokelistener.h: ditto.
3213 * cspi/spi-listener.h: make methods typesafe and
3214 make them use the new event typedefs.
3216 * test/simple-at.c (report_focussed_accessible):
3217 include mag_client.h
3218 Use *(void *)text_interface not the other thing.
3220 * configure.in: add gtk to registryd bits - since we use
3223 * util/magnifier.c: include libbonobo.h
3225 2001-11-25 Bill Haneman <bill.haneman@sun.com>
3227 * test/keysynth-demo.c:
3228 Turned this into a simple scanning keyboard, to demonstrate the
3229 use of g_timeout_add () as a means of creating timers for
3230 scanning, and the use of GtkStyle for visually indicating when
3231 virtual keyboard elements are selected.
3233 keysynth-demo now listens to any keyboard keys with zero-valued
3234 keycodes (i.e. 'unused' keys) and interprets them as
3237 Reworked the shiftlatch code so that shift-down state isn't held
3238 for long periods (it's only synthesized immediately prior to
3239 the keysynth event it's modifying). Note that shiftlatch in this
3240 demo is a convenience, not intended to take the place of AccessX
3241 which is the better choice for getting 'sticky' modifier keys.
3243 * libspi/deviceeventcontroller.c:
3244 * at-bridge/bridge.c:
3245 * cspi/spi_registry.c:
3246 Removed some debug print stuff, and put other verbosity in #ifdef
3251 Implemented some more of the magnifier IDL for the simple
3252 magnifier: namely, getZoomRegionParams.
3253 Added mag_x and mag_y members to MagnifierData struct, aid of this
3255 Added GtkWindow::realize signal handler to magnifier, to keep it
3256 from receiving keyboard focus from the WM.
3258 2001-11-23 Mark McLoughlin <mark@skynet.ie>
3260 * cspi/spi-private.h: my guess at what michael forgot
3261 before he ran off to NZ :-)
3263 2001-11-23 Michael Meeks <michael@ximian.com>
3265 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
3266 comment out non existant method invoke so we link.
3268 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
3269 use bonobo_exception_get_text for more friendly warnings.
3271 * cspi/spi.c (Obj_Add): move into spi_main & rename
3272 spi_object_add; kill spi.c
3274 * cspi/spi_registry.c
3275 (deregisterGlobalEventListener),
3276 (deregisterGlobalEventListenerAll),
3277 (registerGlobalEventListener): fix exception leaks.
3279 * cspi/spi_main.c (spi_exception): impl. helper, so we
3280 don't leak exceptions.
3282 * cspi/spi_selection.c
3283 (AccessibleSelection_deselectSelectedChild): return the
3286 * cspi/spi_main.c (spi_ev): impl; hack - gack.
3287 (spi_registry): ditto.
3288 (SPI_init): guard against double inits.
3290 * cspi/*.c: use spi_ev (), and spi_registry () where
3291 appropriate - a temporary hack until we have something
3292 better. Use spi_object_add
3294 2001-11-22 Michael Meeks <michael@ximian.com>
3296 * cspi/Makefile.am: re organise, install the headers.
3298 * cspi/*.h: add G_BEGIN/END_DECLS
3300 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3303 Added non-preemptive keylistener for key events with no modifiers
3304 and shift-only modifier.
3306 * libspi/keystrokelistener.c:
3307 Removed some verbose diagnostics printout.
3309 * cspi/spi_registry.c:
3310 Fixed a bug that caused all key listeners to be registered as
3313 * libspi/deviceeventcontroller.c:
3314 Fixed bug that caused XGrabKey (preemptive key grab) to be called
3315 for non-preemptive key masks.
3318 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3320 * docs/reference/idl/at-spi-idl-docs.sgml:
3321 * docs/reference/idl/at-spi-idl-sections.txt:
3322 * docs/reference/idl/at-spi-idl-overrides.txt:
3323 Added missing files.
3325 * docs/reference/Makefile.am:
3326 removed idl from SUBDIRS until we can figure a way to get gtk-doc
3327 to scan the IDL files :-(
3332 Added .cvsignore files.
3334 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3336 * libspi/deviceeventcontroller.c:
3337 * libspi/keystrokelistener.c:
3339 * cspi/spi_registry.c:
3340 Added filters for KeySets, KeyEventSeq, and event types to key
3341 event dispatching, so listeners should only receive those events
3342 that they requested :-)
3344 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3349 * docs/reference:Makefile.am:
3350 * docs/reference/cspi:
3351 * docs/reference/cspi:Makefile.am:
3352 * docs/reference/cspi:tmpl:
3353 * docs/reference/cspi:tmpl:*.sgml:
3354 * docs/reference/idl:
3355 * docs/reference/idl:Makefile.am:
3356 * docs/reference/idl:at-spi-idl-sections.txt:
3357 * docs/reference/idl:at-spi-idl-docs.sgml:
3358 * docs/reference/idl:tmpl:
3359 * docs/reference/idl:tmpl:*.sgml:
3361 Restructured docs directory to allow separate 'reference' docs
3362 section, and forked idl and cspi docs. Added the sgml template
3363 files to CVS. Added the first sections/structural sgml for the
3366 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
3368 * configure.in, libspi/Makefile.am: find libXtst.
3370 2001-11-21 Michael Meeks <michael@ximian.com>
3372 * test/accessx-gui.c: s/spi_value/value/ - doh.
3374 * libspi/base.[ch]: add.
3376 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3378 * idl/Accessible.idl:
3379 * idl/Application.idl:
3382 Started gtk-doc cleanup on IDL.
3384 * libspi/deviceeventcontroller.c:
3385 Added and connected non-preemptive key notification from the
3386 toolkits (in addition to the pre-emptive support from XServer
3387 which we had before, but which causes 'focus flashing'). Filters
3388 are presently limited to key modifiers and global/non-global,
3389 KeySets are presently ignored, as are KeyEvent masks.
3391 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
3392 structs into the persistant structure rather than just storing
3393 pointers to things that might not persist across servant
3396 The XGrabKey call now does async keygrabs, because synchronous
3397 ones were deadlocking with GDK_event code in a very nasty way.
3399 Added boolean to internal method notify_keylisteners, to indicate
3400 whether the event came from the 'toolkit source' or the 'global
3401 (XServer) source' - this is used in the notification process to
3402 determine which listeners to send the event to.
3404 deviceeventcontroller.c is now warning-free.
3406 * libspi/registry.c:
3407 Fixed regression in application de-registration.
3408 Also fixed some really brain-dead weirdness having to do with
3409 event dispatching - event structs are now duplicated before being
3410 re-marshalled in the dispatch to listeners. This also fixes a
3411 Solaris build problem.
3414 2001-11-20 Michael Meeks <michael@ximian.com>
3417 (impl_accessibility_registry_deregister_global_event_listener):
3420 * libspi/deviceeventcontroller.c
3421 (spi_device_event_controller_check_key_event): return
3422 FALSE on no virtual method.
3424 * libspi/*..h: make includes work on a correctly pathed install.
3426 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
3428 * libspi/application.h: kill unused ( and whacked out )
3429 gboolean *spi_application_set_id (AtkObject *app, long id);
3431 2001-11-20 Michael Meeks <michael@ximian.com>
3433 * libspi/*.[ch]: further convert to bonobo's type func
3434 macros, remove redundnant casts etc.
3436 * libspi/text.c s/accessibility_text/spi_text/g,
3437 re-order to de-cruft.
3439 * libspi/hypertext.c: re-order to kill a huge slew
3440 of redundant forward decls.
3442 * libspi/relation.c: ditto.
3444 * libspi/image.c: ditto.
3446 * */.cvsignore: update
3448 2001-11-20 Michael Meeks <michael@ximian.com>
3450 * libspi/deviceeventcontroller.c
3451 (_controller_register_with_devices): use g_getenv,
3452 kill stdlib.h include.
3454 * libspi/keystrokelistener.c
3455 (spi_keystroke_listener_get_type): kill
3456 (spi_keystroke_listener_class_init),
3457 (spi_keystroke_listener_init): rename to this.
3459 * libspi/text.c (impl_getAttributes): fix warning / bug.
3461 * libspi/*.[ch]: more headers, includes and over commenting.
3463 2001-11-20 Michael Meeks <michael@ximian.com>
3465 * libspi/*.[ch]: fixup headers, includes and over commenting.
3467 * libspi/image.c (impl__get_imageDescription): const
3468 correctness warning fix. remove redundant casting.
3470 * libspi/table.c (impl_getRowDescription): ditto.
3471 (impl_getColumnDescription): ditto.
3473 * libspi/libspi.h: add.
3475 2001-11-19 Michael Meeks <michael@ximian.com>
3477 * libspi/editabletext.c (impl_setAttributes): fix warnings.
3479 * libspi/component.c (accessibility_component_get_type):
3480 rename to (spi_component_get_type): and macroify.
3481 (accessibility_component_init): rename to
3482 (spi_component_init): this
3483 (accessibility_component_class_init): rename to
3484 (spi_component_class_init): this
3486 * libspi/action.c (spi_action_get_type): kill, use the macro.
3488 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
3491 * libspi/application.c (spi_application_object_event_listener),
3492 (impl_accessibility_application_register_object_event_listener):
3493 warning fixes / const understanding updates.
3495 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
3498 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3500 * libspi/spi_accessible.c: Added docs and C bindings for
3501 AccessibleStateSet. (No implementations yet). Documentation
3502 coverage for C bindings now 100%. Made docs for event listeners
3507 boolean notifyListenersSync (in DeviceEventListener listener,
3508 in DeviceEvent event);
3510 oneway void notifyListenersAsync (in DeviceEventListener listener,
3511 in DeviceEvent event);
3513 Added DeviceEventListener and DeviceEvent structs (may deprecate
3514 KeyStroke and KeystrokeListener in favor of this generic
3515 event/listener framework for devices).
3517 * libspi/deviceeventcontroller.c:
3519 Changed some key listener code to take masks, etc., and paved the
3520 way for integration of toolkit/non-preemptive key events. Changed
3521 signatures of some internal methods.
3523 * at-bridge/bridge.c:
3524 Fixed regression connecting to interface signals, apparently
3525 caused by GTK+ changes.
3527 Added an internal bridge_state_listener to deal with
3528 property-change:accessible-state signals.
3530 Changed the key_listeners GList to store structs (including masks,
3531 etc.) instead of just CORBA_Objects (required for full
3532 implementation of key listener API).
3534 Connected the bridge to all currently supported Atk signals.
3535 Events now supported:
3536 object:property-change
3537 object:property-change:accessible-name
3538 object:property-change:accessible-state
3539 object:property-change:accessible-description
3540 object:property-change:accessible-parent
3541 object:property-change:accessible-value
3542 object:property-change:accessible-role
3543 object:property-change:accessible-table-caption
3544 object:property-change:accessible-table-column-description
3545 object:property-change:accessible-table-column-header
3546 object:property-change:accessible-table-row-description
3547 object:property-change:accessible-table-row-header
3548 object:property-change:accessible-table-summary
3549 object:children-changed
3550 object:visible-data-changed
3551 object:selection-changed
3552 object:text-selection-changed
3554 object:text-caret-moved
3556 object:row-reordered
3558 object:column-inserted
3559 object:column-reordered
3560 object:column-deleted
3561 object:model-changed
3563 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3565 * libspi/hyperlink.c,h:
3566 Fixed some broken stuff in hyperlink.
3568 * libspi/relation.h:
3569 * libspi/relation.c:
3570 * cspi/spi_accessible.c:
3571 Initial implementations of AccessibleRelation methods, and docs.
3573 * libspi/accessible.c:
3574 Fixed a bug that caused SEGV if an accessible
3575 object's description is NULL, and a client
3576 requests it. An empty string is now returned.
3578 * cspi/spi_editabletext.c:
3579 * cspi/spi_hypertext.c:
3581 * cspi/spi_hyperlink.c:
3585 Doc coverage now 95%.
3587 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3589 One last namespacing revision:
3590 * libspi/accessibleeventlistener.[ch]:
3591 Renamed SpiAccessibleEventListener to SpiEventListener,
3592 (no need for two namespaces ;-)
3594 And lots of documentation fixes:
3596 * docs/at-spi-docs.sgml:
3597 Fixed 'underscore vs. hyphen' bug that was preventing
3598 the gtk-doc API docs from being automatically generated.
3601 * cspi/spi-listener.h
3603 * cspi/spi_accessible.c
3605 * cspi/spi_application.c
3606 * cspi/spi_component.c
3607 * cspi/spi_editabletext.c
3609 * cspi/spi_hypertext.c
3611 * cspi/spi_registry.c
3612 * cspi/spi_selection.c
3616 * docs/at-spi-docs.sgml
3617 * docs/at-spi-sections.txt
3619 Added and fixed up gtk-doc documentation in cspi.
3621 Interfaces now (fully) documented (subject to revision and enhancement):
3623 Event Listener Support
3625 AccessibleApplication
3629 AccessibleEditableText
3636 AccessibleRelationSet
3641 2001-11-14 Bill Haneman <bill.haneman@sun.com>
3643 * at-bridge/bridge.c:
3644 Initial work for toolkit-level key snooper connection by bridge.
3649 New typedefs and fixes to support new namespacing, and cleaner
3650 separation of cspi bindings from libspi bonobo implementation.
3651 Removed inconsistent and extraneous Spi* namespace prefix that
3652 had crept into cspi headers.
3653 Lots of comment fixes that sed had missed.
3655 * cspi/spi-roletypes.h:
3656 * cspi/spi-statetypes.h:
3657 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
3658 to AccessibleRoleType.
3660 * libspi/accessibleeventlistener.h:
3661 Fixed minor namespacing weirdness.
3663 * libspi/deviceeventcontroller.c:
3664 Reordered some internal API for device listeners.
3665 Changed the key registry final boolean to 'is_system_global'
3666 rather than 'is_synchronous', which is more descriptive of its
3668 Added spi_device_event_controller_new().
3669 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
3671 * libspi/keystrokelistener.[ch]:
3672 Namespaced KeystrokeListener to SpiKeystrokeListener.
3673 Changed uses of keymasks to use SPI_ prefix, and did other
3676 * libspi/keymasks.h:
3677 Namespaced keymask constants with SPI_ prefix.
3679 * libspi/registry.c:
3680 Some warning fixes, and knock-on fixes from namespace changes.
3683 Added rules for accessx-gui test program.
3685 * test/accessx-gui.c:
3686 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
3687 utility. It doesn't actually use at-spi, but it's still cool and
3690 * test/keysynth-demo.c:
3694 Fixes so that these test clients work properly with the namespaced
3695 libraries. (Incompletely tested for technical reasons, fixes may follow)
3698 2001-11-13 Michael Meeks <michael@ximian.com>
3700 * libspi/application.c
3701 (impl_accessibility_application_get_version),
3702 (impl_accessibility_application_get_toolkit_name):
3704 (impl_accessibility_application_set_id),
3705 (impl_accessibility_application_get_id): remove
3706 redundant casting code.
3708 * libspi/action.c (impl_getDescription): fix warnings.
3710 * libspi/accessible.c
3711 (impl_accessibility_accessible_get_parent),
3712 (impl_accessibility_accessible_get_child_at_index),
3713 (impl_accessibility_accessible_get_state),
3714 (impl_accessibility_accessible_get_relation_set):
3715 warning fixes & include action.h
3717 2001-11-13 Michael Meeks <michael@ximian.com>
3719 * *.[ch] fix bits I screwed up:
3721 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3722 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3724 2001-11-13 Michael Meeks <michael@ximian.com>
3726 * *.[ch] Namespace libspi into spi_ and Spi.
3728 2001-13-11 Michael Meeks <michael@ximian.com>
3730 * Makefile.am: dist & install at-spi-1.0.pc
3732 * libspi/Makefile.am: install into at-spi-1.0
3734 * idl/Makefile.am (idldir): install into at-spi-1.0
3736 * at-spi-1.0.pc.in: add.
3738 * configure.in: build it.
3740 2001-11-12 Bill Haneman <bill.haneman@sun.com>
3742 * test/keysynth-demo.c:
3743 Use a 'realize' signal-handler to set the WM properties for
3744 the virtual keyboard, rather than making it a "POPUP" type
3745 override-redirect window (thanks to anders carlsson for that
3748 2001-11-11 Bill Haneman <bill.haneman@sun.com>
3751 * test/keysynth-demo.c:
3752 Added new test of key synthesis, which creates a simple
3753 (mouse-operated) onscreen keyboard. It inserts key events into
3754 the currently-focused window, thus it does not grab keyboard focus
3757 * cspi/spi_registry.c:
3758 Added C binding for AT-SPI generateKeyEvent.
3760 * libspi/deviceeventcontroller.c:
3761 Added call to XFilterEvent so that key listener works with XIM (we
3762 hope). Added event_synth_type to generateKeyEvent, so that we can
3763 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3764 synthesize a press/release pair for KeySyms.
3766 2001-11-09 Bill Haneman <bill.haneman@sun.com>
3768 * libspi/Makefile.am:
3769 * registryd/Makefile.am:
3770 (temporary) hack to include libXtst in libspi and registryd.
3771 (Needed for keystroke synthesis, see below).
3774 Improved API for registerKeystrokeListener, in accordance with
3775 discussions with Gnopernicus team and X server research.
3777 * libspi/registry.c:
3778 * libspi/deviceeventcontroller.c:
3779 * libspi/accessible.c:
3780 * libspi/keystrokelistener.c:
3781 Changes and fixes to support keylisteners for potentially
3782 consumed key events (that is, 'passive grabs').
3783 Added implementation for generateKeyEvent() [untested].
3786 Changes to registerKeystrokeListener() API, as above.
3787 Added deregisterGlobalEventListenerAll(), and
3788 deregisterKeystrokeListener(), which are needed for clean exit of
3790 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3791 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3793 * cspi/spi_registry.c:
3794 Added implementations of function prototypes mentioned above.
3796 * registryd/registryd.c:
3797 Added the key listener event source as a g_timeout(), to allow
3798 receipt of key events that are not caught by GDK (since GDK
3799 doesn't support passive keygrabs, this was necessary).
3802 Changed to attach a keylistener to 'Alt' keys, and
3803 respond to the following keycommands: Alt-M (toggle magnifier);
3804 Alt-F (toggle speech); Alt-Q (quit).
3805 Added an exit routine to deregister the listeners, and a key
3806 listener that prints some key info to the console when a key
3807 matches the listener mask (and is thus received by the listener).
3809 * util/idl/Magnifier.idl:
3810 Changes to magnifier API to support multiple zoom regions,
3811 non-uniform scaling in x and y, markDirty, and a host of other
3812 features that would be useful to magnification.
3815 * util/mag_client.c:
3816 * util/mag_client.h:
3817 * util/mag_control.c:
3819 Source code changes to support the above IDL changes.
3822 As above, and also changes to use a (slower) generic conversion
3823 path for colormap conversions, since the fast RGB conversions have been
3824 reported to fail for 16-bit displays.
3826 2001-10-26 Michael Meeks <michael@ximian.com>
3828 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3830 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3832 * at-bridge/Makefile.am: fix LDFLAGS.
3834 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3836 * at-bridge/bridge.c:
3837 Re-worked listeners for toolkit events, now we have signal
3838 and property listeners. Added a private method
3839 register_atk_event_listeners(), which registers with the
3840 various atk and gtk signals we need to monitor in order to emit
3842 Added emission hook for AtkObject:property-change events, to
3843 support the 'property listeners'.
3844 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3847 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3848 which emit warnings and exit, respectively, if CORBA errors occur
3849 during remote calls, and we now use these methods to check most of
3850 our CORBA calls in the C bindings.
3852 * cspi/spi_accessible.c:
3853 Changed AccessibleSelection_refSelectedChild() to
3854 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3855 now increment refcounts.
3857 * cspi/spi_component.c:
3858 Fixed some long pointer casts (dangerous!) to pass pointers to
3859 CORBA_longs of the proper type to the CORBA stubs, and copy the
3860 data into the longs that were passed into the C bindings code.
3862 * at-bridge/bridge.c:
3864 * libspi/accessible.c:
3865 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3866 hyperlinks, AtkHyperlink is an object type.
3868 * libspi/application.c:
3869 Added various conversions to and from "generic" event types and
3870 atk-specific types; this is really part of the 'bridge'
3871 implementation but is valid for all AtkObject-based accessibility
3874 * libspi/editabletext.c:
3875 Fixed nasty bug wherein editable text's finalize method was
3876 unref'ing tha AtkObject reference that the text parent class was
3877 about to unref _again_. There was also a nasty inheritance bug
3878 that meant that the AccessibleEditableText class was corrupt.
3880 * libspi/selection.c:
3881 Provided implementations for some selection API that was broken.
3883 * idl/Application.idl:
3884 Added registerObjectEventListener () method.
3887 Fixed a number of return values that were Bonobo_Unknowns from
3888 bonobo_object_corba_objref(), which I
3889 forgot to dup before returning. Changed instances of
3890 bonobo_object_corba_objref (bonobo_object(o)) to
3891 BONOBO_OBJREF(o), for concision and clarity.
3893 2001-10-13 Louise Miller <louise.miller@sun.com>
3895 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3896 idl/Event.idl, idl/Registry.idl
3897 Changed these files to include Bonobo_Unknown.idl instead
3900 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3902 * libspi/component.c libspi/component.h:
3903 Fixed typo. Added assertions for object checks in
3904 AccessibleComponent code.
3906 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3908 * idl/Accessible.idl:
3909 Added 'isEqual (Accessible *object)'
3910 method for Accessible. (Not Yet Implemented).
3913 Changed signature of registerKeystrokeListener() to
3914 take a KeySet and KeyEventSeq so that specific keys and event
3915 types could be requested for monitoring, and added a flag
3916 is_synchronous so that either synchronous or asynchronous
3917 notification could be requested. (However this is not all
3918 implemented yet). This also meant adding two new typedefs,
3919 KeyEventSeq and KeySet.
3922 Added two new relations, RELATION_TOOLTIP_FOR and
3923 RELATION_LEAFNODE_OF.
3926 Added new state, STATE_HAS_TOOLTIP.
3928 * libspi/text.c, editabletext.c:
3929 Added new assertions to all casts of bonobo-objects from
3930 CORBA servants, to prevent Text API calls on non-text objects.
3931 Changed suspect casts of int-pointer types, so that we
3932 always send a valid CORBA_long pointer to the CORBA APIs that use
3933 in/out long parameters. We then have to copy from the CORBA_long
3934 into the regular long or int for return to the C bindings, or
3935 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3938 * libspi/deviceeventcontroller.c:
3939 Cleaned these sources up.
3941 Changed return type for getCharacterAtOffset to
3942 CORBA_unsigned_long, to allow for 32-bit characters.
3945 2001-10-08 Bill Haneman <bill.haneman@sun.com>
3949 Fixed 'make dist' so that distro compiles...
3950 * libspi/keymasks.h:
3952 * cspi/spi-listener.c:
3953 KeystrokeListenerCB now returns a boolean.
3955 Added KeyEventType struct, and KeyStroke.
3956 Also added createKeystrokeListener(),
3957 KeystrokeListener_addCallback(),
3958 KeystrokeListener_removeCallback(), and added a keymask to
3959 registerKeystrokeListener().
3960 * cspi/spi_accessible.c:
3961 Changed numerous return types for interfaces from
3962 AccessibleComponent to Accessible<InterfaceName>; this was
3963 probably a cut-and-paste error.
3965 Implementations of new KeystrokeListener api (from spi.h,
3968 Changes to key modifier mapping.
3969 Created ControllerEventMask struct.
3970 Made DeviceEventController derive from Bonobo::Unknown.
3972 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3973 * libspi/deviceeventcontroller.c:
3974 Added a number of new internal (private) methods.
3975 * libspi/editabletext.c:
3976 * libspi/editabletext.h:
3977 Fixed a number of bugs related to the fact that
3978 editabletext inherits from text. Fixed the EditableText struct,
3979 the init() call, and use correct casts when calling Text methods
3980 from an EditableText object. Removed (duplicate) atko from the
3981 EditableText structure, we use the one in the parent Text
3982 structure via the casts mentioned above.
3983 * libspi/keystrokelistener.[ch]:
3984 * libspi/registry.c:
3985 Changes in support of keyboard handling (above).
3987 Keyboard handling, though partly functional, is still not
3988 recommended for at-spi client use as there is considerable
3989 work yet to be done.
3992 Changed some places where pointers to various int types
3993 are cast to be pointers to CORBA_long types and vice-versa:
3994 pointer casting is not safe so we pass pointers of the correct
3995 types and then cast the result before putting it into the target
3998 * libspi/text.h: minor typos corrected.
4000 We now speak not only the name of a Text element, but the
4001 first sentence of its content, when it receives focus.
4002 I also changed the text compression to 75% from 50%.
4003 * util/Accessibility_Util.server.in:
4004 Changed the default magnifier type to be a 3x vertical
4005 splitscreen magnifier (was previously a 2x horizontal one).
4007 2001-10-03 Bill Haneman <bill.haneman@sun.com>
4009 * libspi/keystrokelistener.h:
4010 * libspi/keystrokelistener.c:
4011 Initial functional implementations of KeystrokeListener.
4014 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
4016 Fixed string handling for NULL strings in libspi.
4017 Added spi_freeString to free strings returned by C bindings.
4019 2001-09-30 Bill Haneman <bill.haneman@sun.com>
4021 * libspi/keystrokelistener.h:
4022 * libspi/keystrokelistener.c:
4023 Began (no-op) implementations of KeystrokeListener
4025 * libspi/deviceeventcontroller.c:
4026 * libspi/deviceeventcontroller.h:
4027 Began creating implementations of DeviceEventController,
4028 to handle keystroke and mouse event listening and
4030 * libspi/accessible.c:
4031 Stubbed-in the implementations for
4032 Accessibility_Accessible_getState and
4033 Accessibility_Accessible_getRelationSet.
4034 * libspi/registry.c:
4035 Improved de-registration process and fixed some bugs,
4036 deregistration now works correctly.
4038 Added initialization of applications list (to NULL).
4040 Reduced speech compression from 0.5 to 0.7, for demo.
4041 Changed call to gdk_window_set_decorations()
4042 to gtk_window_set_decorated().
4043 * at-bridge/bridge.c:
4044 Bridge now deregisters when app exits, via
4045 registration of a cleanup function
4046 with the g_atexit() call.
4047 Required making 'app' static, renamed 'this_app'.
4048 Fixed broken use of bonobo_init, passing argv wrongly.
4050 2001-09-27 Bill Haneman <bill.haneman@sun.com>
4054 Created a new directory for
4055 accessibility-related utilities, primarily for
4056 testing and demo purposes, but with possible
4063 Onscreen magnifier utility that
4064 is implemented as a bonobo service.
4066 * util/mag_client.c:
4067 * util/mag_client.h:
4068 Client-side support (simple C bindings)
4069 for Magnification service
4071 * util/mag_control.c:
4072 Client program example for
4073 Magnification service
4075 * util/Accessibility_Magnifier.server.in:
4076 Bonobo-activation file for the
4077 Magnification service.
4080 * util/idl/Magnifier.idl:
4081 IDL defining the bonobo Magnification
4085 Modifications to use the bonobo-activated magnifier
4086 above, in place of trying to connect to an existing
4087 magnifier that uses socket-listening IPC.
4089 If env variable MAGNIFIER is set, a magnifier service
4090 will be started if one does not exist.
4092 2001-09-25 Bill Haneman <bill.haneman@sun.com>
4094 * at-bridge/bridge.c:
4095 applied patch from Marc to build and run
4096 against new glib and gtk+ (seemed like a change
4097 to bonobo_init signature was made ?)
4099 made festival-server support turned off by default.
4100 Added support for a simple magnifier (off by default)
4101 which will be added to a 'util' directory later.
4102 * at-bridge/Makefile.am:
4103 Changed "application.h" header from a 'source'
4104 to a 'dependency' of libat-bridge.
4106 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4115 Added interface implementation c files to list of
4116 includes so they are included in libcspi.
4119 Changed prototype of AccessibleAction_doAction to return a
4121 Changed prototype of AccessibleTable_getCaption to
4122 return an Accessible.
4123 Changed prototype of AccessibleTable_getSelectedRows
4124 and AccessibleTable_getSelectedColumns to
4125 return a long (returns the number of selected rows
4126 or columns respectively).
4127 Changed name of AccessibleText_refRunAttributes to
4128 AccessibleText_getAttributes.
4129 Changed prototype of AccessibleText_getCharacterExtents to
4130 return a void rather than a boolean.
4131 Added support for a AccessibleCoordType parameter
4132 specifying what type of coordinates are desired.
4133 Added an AccessibleCordType parameter to
4134 AccessibleText_getPointAtOffset.
4136 * cspi/spi_accessible.c:
4137 Added code to return the outstanding interfaces from
4138 Accessible_queryInterface.
4140 * cspi/spi_action.c:
4142 Corrected call to getNActions to call the c binding
4145 * cspi/spi_editabletext.c:
4147 Changed name from setRunAttributes to setAttributes.
4149 * cspi/spi_hyperlink.c:
4151 Changed call to getNAnchors to correctly call the c
4152 binding for an attribute.
4154 * cspi/spi_hypertext.c:
4156 Changed getImageDescription to correctly call the
4157 binding for an attribute.
4159 * cspi/spi_selection.c:
4160 Changed getNSelectedChildren to correctly call the c
4161 binding for the attribute.
4162 Changed refSelectedChild to getSelectedChild.
4166 Changed getCaption to return an Accessible.
4167 Fixed calls which retrieve attributes.
4168 Changed refAt to getAccessibleAt.
4169 Changed getNSelectedRows and getNSelectedColumns to
4173 Changed getCharacterExtents and getPointAtOffset to accept an
4174 AccessibleCoordType.
4176 Changed calls which retrieve attributes.
4177 Changed refRunAttributes to getAttributes.
4182 * idl/Hyperlink.idl:
4183 Changed n_anchors attribute to nAnchors to keep naming
4184 convention consistent.
4187 Made Table inherit from Bonobo::Unknown.
4188 Added nSelectedColumns and nSelectedRows attributes.
4191 Made Value inherit from Bonobo::Unknown.
4193 * libspi/hyperlink.c:
4194 Change for nAnchors attributte name change.
4196 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4204 Added interface implementation c files to list of
4205 includes so they are included in libcspi.
4208 Changed prototype of AccessibleAction_doAction to return a
4210 Changed prototype of AccessibleTable_getCaption to
4211 return an Accessible.
4212 Changed prototype of AccessibleTable_getSelectedRows
4213 and AccessibleTable_getSelectedColumns to
4214 return a long (returns the number of selected rows
4215 or columns respectively).
4216 Changed name of AccessibleText_refRunAttributes to
4217 AccessibleText_getAttributes.
4218 Changed prototype of AccessibleText_getCharacterExtents to
4219 return a void rather than a boolean.
4220 Added support for a AccessibleCoordType parameter
4221 specifying what type of coordinates are desired.
4222 Added an AccessibleCordType parameter to
4223 AccessibleText_getPointAtOffset.
4225 * cspi/spi_accessible.c:
4226 Added code to return the outstanding interfaces from
4227 Accessible_queryInterface.
4229 * cspi/spi_action.c:
4231 Corrected call to getNActions to call the c binding
4234 * cspi/spi_editabletext.c:
4236 Changed name from setRunAttributes to setAttributes.
4238 * cspi/spi_hyperlink.c:
4240 Changed call to getNAnchors to correctly call the c
4241 binding for an attribute.
4243 * cspi/spi_hypertext.c:
4245 Changed getImageDescription to correctly call the
4246 binding for an attribute.
4248 * cspi/spi_selection.c:
4249 Changed getNSelectedChildren to correctly call the c
4250 binding for the attribute.
4251 Changed refSelectedChild to getSelectedChild.
4255 Changed getCaption to return an Accessible.
4256 Fixed calls which retrieve attributes.
4257 Changed refAt to getAccessibleAt.
4258 Changed getNSelectedRows and getNSelectedColumns to
4262 Changed getCharacterExtents and getPointAtOffset to accept an
4263 AccessibleCoordType.
4265 Changed calls which retrieve attributes.
4266 Changed refRunAttributes to getAttributes.
4271 * idl/Hyperlink.idl:
4272 Changed n_anchors attribute to nAnchors to keep naming
4273 convention consistent.
4276 Made Table inherit from Bonobo::Unknown.
4277 Added nSelectedColumns and nSelectedRows attributes.
4280 Made Value inherit from Bonobo::Unknown.
4282 * libspi/hyperlink.c:
4283 Change for nAnchors attributte name change.
4286 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
4288 implementations-- made server implementations own AtkObject pointers
4289 rather than their respective AtkInterrface pointers to fix
4290 refcounting. AtkHyperlink is still broken.
4292 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4293 * cspi/spi_accessible.c:
4294 Added method Accessible_Role_getName(),
4295 and requisite string array (role_names).
4296 Added conversion string_from_corba_strin() call
4297 to Accessible_getName and _getDescription.
4298 * libspi/accessible.c:
4299 Added implementation for Accessible_getRole()
4301 Added festival support, used if environment variable
4304 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4306 * at-bridge/bridge.c:
4307 Now allocate Accessibility_Event using
4308 Accessibility_Event__alloc() instead of g_new0().
4309 * libspi/accessibleeventlistener.c:
4310 Initialize AccessibleEventListener->callbacks to NULL.
4311 Fixed accessible__event_listener_init() param, changed to
4312 "AccessibleEventListener *" type.
4313 Changed a bonobo_object_release_unref() call to
4314 Accessibility_Accessible_unref().
4315 * libspi/listener.c:
4316 Changed Bonobo_Unknown_unref to (equivalent)
4317 Accessibility_Accessible_unref.
4318 * libspi/registry.c:
4319 Changed bonobo_object_release_unref to
4320 Accessibility_Accessible_unref.
4322 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4325 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
4326 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
4327 spi-util.c spi-util.h
4328 Implementations for C bindings to remaining accessibility
4331 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4334 changed return value of Action from void to boolean to
4335 bring in line with ATK.
4338 Changed getText funcions to return "out" start and end offsets.
4339 Changed getAttributes to take and offset and return the start
4340 and end offset of the attribute run.
4341 Changed getOffsetAtPoint and getCharacterExtents to take an
4342 enum describing whether coordinates are window or screen.
4345 libspi/action.c libspi/action.h libspi/editabletext.c
4346 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
4347 libspi/hypertext.c libspi/hypertext.h libspi/image.c
4348 libspi/image.h libspi/selection.c libspi/selection.h
4349 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
4350 libspi/value.c libspi/value.h
4351 Added server implementations for outstanding ATK interfaces
4352 not yet implemented.
4354 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4357 Added (missing) getName() method.
4358 Made nActions an attribute.
4359 * idl/EditableText.idl:
4360 Changed order of params in setAttributes.
4361 * idl/Hyperlink.idl:
4362 Removed getAnchor, added getURI.
4364 Changed attributes to methods, for efficiency
4365 (so that getting extents can be done in one call)
4366 * idl/Selection.idl:
4367 Changed nSelectedChildren to attribute, and re-indented.
4368 * idl/Table.idl: changed nrows, ncolumns, caption, summary
4370 * idl/Text.idl: reformatted to match our coding style.
4371 (temporarily?) removed getRowColumnAtOffset().
4372 Changed text selection API to support multi-select and
4373 non-contiguous selections, as in ATK.
4374 * idl/Value.idl: changed some methods to attributes.
4376 2001-08-24 Mark McLoughlin <mark@skynet.ie>
4378 * libspi/listener.c(impl_notify_event):
4379 BonoboUnkown_unref the source instead
4380 of bonobo_object_release_unref - the ORB
4381 handles the releasing.
4383 * configure.in: require ORBit-2.3.94 for
4386 2001-08-21 Bill Haneman <bill.haneman@sun.com>
4388 Tagged CVS repository 'EA_1_0'.
4389 * README.EARLY_ACCESS:
4390 Alphabetized acknowledgements list, and
4392 Listed some known dependencies of at-spi.
4394 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4396 * docs/at-spi-docs.sgml:
4397 * docs/at-spi-sections.txt:
4398 * docs/at-spi-overrides.txt: (Added zero-length file)
4399 Documentation improvements - gtk-doc should build
4400 docs for all implemented C bindings now.
4403 * cspi/spi.c: (New file)
4404 * cspi/spi_event.c: (New file)
4405 * cspi/spi_registry.c: (New file)
4406 * cspi/spi_accessible.c: (New file)
4407 * cspi/spi_application.c: (New file)
4408 * cspi/spi_component.c: (New file)
4409 Split spi_main.c into six parts, and included them from
4410 "spi.c". This is a bit of a hack, probably temporary,
4411 but required by gtk-doc, apparently.
4413 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4416 * docs/at-spi-docs.sgml:
4417 * docs/at-spi-sections.txt:
4419 Initial checkins/modifications for gtk-doc generation.
4422 Added (missing) interface query methods to Accessible's C binding.
4424 Added GenericInterface type definition.
4426 Added query for AccessibleComponent interface to focus event handler.
4427 Added printout of bounding box for focussed component.
4428 * libspi/component.c:
4429 Added partial implementation for AccessibleComponent to C binding.
4430 * idl/Application.idl:
4431 * libspi/registry.c:
4432 * libspi/listener.c:
4433 * libspi/application.c:
4434 * libspi/application.h:
4435 Changed "ID" attribute type from string to long.
4437 2001-08-19 Bill Haneman <bill.haneman@sun.com>
4441 Made method naming consistent: methods taking object args
4442 start with uppercase, other methods (except those using
4443 acronyms) start with lowercase. Underscores delimit between
4444 object names and method names:
4445 SPI_init() - uppercase since it starts with an acronym.
4446 getDesktopCount () - lowercase start since no object param0.
4447 Accessible_getName() - uppercase object type name, studlyCaps method
4451 Added gtk-doc documentation for all currently implemented
4452 methods in the C bindings API.
4454 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4456 * Makefile.am : changed build order to build test last.
4459 Changed "createEventListener" to "CreateEventListener".
4460 * libspi/accessibleeventlistener.c :
4461 Bugfix for addition of callbacks.
4462 * test/Makefile.am :
4463 * test/simple-at.c :
4464 Added new test that uses the C bindings API.
4466 * libspi/listener.c :
4467 * libspi/registry.c :
4468 * libspi/accessibleeventlistener.c :
4469 * at-bridge/bridge.c :
4470 Renamed member "target" of Accessibility_Event to "source",
4471 which is more descriptive.
4474 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4478 * cspi/Makefile.am :
4479 Added makefile support for at-spi/cspi directory.
4482 * cspi/spi-listener.h : (NEW FILE)
4483 Added support for/use of spi-listener.h.
4485 C bindings now build successfully, with no warnings.
4486 * libspi/accessibleeventlistener.h : (NEW FILE)
4487 * libspi/accessibleeventlistener.c : (NEW FILE)
4488 * libspi/Makefile.am :
4489 Added new object type "AccessibleEventListener"
4490 which inherits from Listener, and allows attachment
4491 of in-process callbacks (so that a client with a listening
4492 object instance can add functionality to the local
4493 implementation, dynamically).
4495 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4497 * libspi/accessible.c:
4498 Add implementation for get_index_in_parent().
4500 Added #include of "spi-roletypes.h", and
4501 added enumerated type AccessibleCoordType.
4502 Added definition for KeystrokeListener (function type).
4505 * cspi/spi-statetypes.h :
4506 * cspi/spi-roletypes.h :
4508 Added these headers, used by spi.h.
4510 Added code (NOTE: not yet built by make).
4512 2001-08-18 Mark McLoughlin <mark@skynet.ie>
4514 * libspi/Makefile.am: generate imodule
4515 at the same time as other idl compiler
4518 2001-08-17 Bill Haneman <bill.haneman@sun.com>
4519 * libspi/registry.c :
4520 * libspi/application.c :
4521 * idl/Application.idl :
4522 Made registration with toolkit an application method,
4523 which is required since each app has its own toolkit static
4524 environment. Thus the bridge must register for
4525 notification of toolkit events from each application in turn.
4526 Toolkit notifications are now successfully registered for, and
4527 sent to the listening at client.
4529 Changed toolkit event string to use hyphens rather than underscores.
4530 * libspi/listener.c :
4531 listner now gives more info in debug mode - it reports the
4532 name of the event received, as well as the name of the source.
4535 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4537 * libspi/registry.c :
4538 added more implementation for toolkit events.
4539 Fixed bug such that toolkit event registrations
4540 (via atk) use the whole event name string, not
4542 Removed a useless call to an ORBit_ method.
4543 * at-bridge/bridge.c :
4544 Removed unused local sbuf[] variable.
4546 We now register for Gtk:GtkWidget:button_press_event
4547 events as well as "focus:" events.
4549 Add some more API from Registry.idl that was missing,
4550 for keystroke listening, keystroke and mouse event
4551 synthesis, and enumeration of accessible desktops.
4553 2001-08-16 Michael Meeks <michael@ximian.com>
4555 * configure.in: use AM_GLIB_GNU_GETTEXT.
4557 * Makefile.am (SUBDIRS): kill intl.
4559 2001-08-15 Michael Meeks <michael@ximian.com>
4561 * registryd/Makefile.am: s/oaf/server/ relocate info file.
4563 * configure.in: upd.
4565 * configure.in: depend on a recent bonobo-activation that
4566 will find our server files ...
4568 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4570 * libspi/accessible.c : accessible_new() :
4571 Now we add the Component interface via bonobo_object_add_interface,
4572 if the contained AtkObject implements AtkComponent.
4573 * libspi/accessible.h : now include "component.h"
4574 * libspi/component.h :
4575 * libspi/component.c : added files - implementation of
4576 bonobo wrapper object for Accessibility/Component
4577 * libspi/listener.c :
4578 Added test code to check for Accessibility/Component:1.0
4579 interface and report whether it is implemented by the
4581 * libspi/registry.c :
4582 Now we check for not only the hash of the whole event
4583 string before relaying the event, we also check the
4584 "minor" event string (without the detail string).
4585 This allows event listeners to be registered against
4586 all events of a certain major+minor type, or just
4587 against a specific major+minor+detail type.
4588 * libspi/accessible.c :
4589 Added implementations for Accessible:get_parent(),
4590 Accessible:getChildCount(), and Accessible:getChildAtIndex().
4591 * libspi/registry.c :
4592 * libspi/listener.c :
4593 Replaced calls to Accessibility_Accessible_ref() and
4594 Accessibility_Accessible_unref() with
4595 calls to bonobo_object_dup_ref() and
4596 bonobo_object_release_unref(), so that the CORBA object
4597 is dup-ed and released when relayed, as well as the bonobo object.
4599 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4601 * libspi/Makefile.am,
4602 registryd/Makefile.am,
4603 at-bridge/Makefile.am.
4604 test/Makefile.am, configure.in:
4605 reverse previous changes.
4607 * /idl/Image.idl: fix typo.
4609 * test/Makefile.am: put DEBUG_FLAGS
4612 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4614 * test/app.c: use argv[0] instead of
4617 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4619 * libspi/Makefile.am,
4620 registryd/Makefile.am,
4621 at-bridge/Makefile.am.
4622 test/Makefile.am, configure.in:
4623 cleanup, replace individual LIBS/CFLAGS with
4624 AT_COMMON_{LIBS|CFLAGS}.
4628 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4630 * configure.in, libspi/Makefile.am:
4631 Change IDL path checking for bonobo-activation
4634 2001-08-15 Bill Haneman <bill.haneman@sun.com>
4636 * registryd/registry.c : separated event listeners to use
4637 3 separate lists (focus, window, toolkit). Began testing
4638 event names against hashes before relaying events.
4639 * test/at.c : now register for events of type "focus:"
4640 * test/app.c : now generate events of type "focus:"
4641 * at-bridge/bridge.c : register with ATK for focus events,
4642 and we now relay those focus events to any "focus:" listeners.
4643 This now works with the bridge as a GTK_MODULE when running test/at.
4644 * libspi/registry.c :
4645 * libspi/listener.c :
4646 now we ref event sources before propagating, and unref on receipt.
4647 * libspi/registry.c :
4648 some changes to internal structs, to support event typestring hashes.
4649 * text/app.c : changed the way the appname is generated.
4650 * cspi : added directory that will hold the C bindings library for
4651 non-CORBA/bonobo-savvy clients.
4652 * cspi/spi.h : header file that contains the function prototypes for the C binding.
4653 * idl/Component.idl : added in parameter to indicate coord system for
4654 geometry-related calls.
4655 * idl/Hyperlink.idl : added readonly n_links attribute
4656 * idl/Image.idl : changed methods to attributes.
4658 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4660 * at-bridge/Makefile.am: link against
4661 ../libspi/libspi.la instead of -lspi.
4663 * at-spi/test/app.c: include
4664 bonobo-activation.h. Use a default appname
4665 if one is not provided.
4667 2001-08-14 Bill Haneman <bill.haneman@sun.com>
4669 * idl/Registry.idl : temporarily changed register_Application
4670 to oneway, to work around issue with initial registration
4672 * idl/Application.idl : changed attribute "id" from readonly
4673 to read-write, since it needs to be assigned by Registry.
4674 * registryd/registryd.c : added call to set application id
4676 * registryd/registry.c : changed de-registration procedure to
4677 use CORBA_Object_hash() to find matching object ref in application
4678 lists and listener lists.
4679 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
4680 began distinguishing between event types (work in progress).
4682 2001-08-13 Bill Haneman <bill.haneman@sun.com>
4685 * libspi/application.c:
4686 Added implementations for get/set id, get_toolkitName,
4688 * registryd/registryd.c :
4692 Converted from use of OAF to bonobo-activation.
4693 * libspi/desktop.h :
4694 * libspi/desktop.c :
4696 Removed references to atksimpleobject, since base atkobject
4697 implementation now provides functionality we need.
4698 * libspi/atksimpleobject.c :
4699 * libspi/atksimpleobject.h :
4704 * at-bridge/Makefile.am
4705 * at-bridge/bridge.c
4708 Added directory "bridge" and contents, and added dependencies
4709 in Makefile.am/configure.in.
4710 Initial checkin of "at-bridge".
4711 This code is a GTK_MODULE which automatically registers
4712 GTK+ apps with the accessibility registry, using an object
4713 reference to the root ATK object.
4715 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4717 * po/Makefile.in.in: Remove. Again. If this
4718 doesn't get autogenerated - you need to update
4721 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4723 * po/Makefile.in.in: Add. Again.
4725 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4727 * libspi/accessible.c : added support for 'description' property.
4728 * libspi/accessible.c
4730 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4731 (since the two are now equivalent in libbonobo)
4739 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4740 Bonobo::Unknown as does Accessibility::Accessible.
4741 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4742 interface with Bonobo::Stream, since it was redundant with it.
4743 (The Stream returned by a StreamableContext object is expected to
4744 implement only a subset of Bonobo::Stream)
4746 2001-07-28 Anders Carlsson <andersca@gnome.org>
4748 * libspi/accessible.c (accessible_object_finalize): Change
4749 g_free to g_object_unref since the AtkObject is a GObject.
4751 2001-07-30 Bill Haneman <bill.haneman@sun.com>
4753 * idl/Accessibility.idl: add new IDL files
4756 * idl/Action.idl: Definitions of actionable UI object
4757 * idl/Component.idl: Definitions of UI component geometry, etc.
4758 * idl/Hyperlink.idl: Defs of hyperlink behavior
4759 * idl/Image.idl: Def of accessible image
4760 * idl/Selection.idl: Definition of UI object with selectable children
4761 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4762 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4763 * idl/Text.idl: Interface defs for UI elements with complex textual content
4764 * idl/Value.idl: Definition of UI element that is a value controller or display
4766 2001-07-27 Michael Meeks <michael@ximian.com>
4768 * po/Makefile.in.in: remove autogenerated file from CVS.
4770 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4773 * idl/Registry.idl: include guard.
4775 * idl/Accessibility.idl: Add, and include all the other IDL
4778 * idl/*.idl: remove mass of pragmas etc.
4780 2001-07-26 Michael Meeks <michael@ximian.com>
4782 * registryd/Makefile.am (registryd_SOURCES): remove
4785 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4787 * libspi/.cvsignore, registryd/.cvsignore,
4788 test/.cvsignore: updated.
4790 * po/Makefile.in.in: gettext update.
4792 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4794 * initial CVS checkin
4796 2001-06-29 Michael Meeks <michael@ximian.com>
4798 * configure.in: add AM_CONFIG_HEADER to gen config.h