1 2002-11-17 Bill Haneman <bill.haneman@sun.com>
4 Revved to 1.1.3, interface-age=3, binary-age=3.
8 Removed accessx-gui from the tests, since we have a nice
9 keyboard accessibility capplet now :-)
11 * test/keysynth-demo.c:
12 (increment_scan): removed do-nothing default: case,
16 (main) : removed do-nothing default: case,
20 (AccessibleAction_getKeyBinding_):
21 Documented keybinding string format.
25 (AccessibleText_getAttributes):
26 Documented the text attribute string format.
27 It's changed to use semicolon delimiters also,
28 to prevent clashes with CSS attributes, but the old
29 trick of looking for ", " strings will still work
30 (as unreliably as ever). Fix for bug related to 97916.
33 Include <cspi/bonobo/cspi-bonobo-listener.h>
35 (SPI_freeAccessibleKeySet):
36 (AccessibleKeystrokeListener_addCallback):
37 (AccessibleKeystrokeListener_removeCallback):
38 Modify to use AccessibleDeviceListener API internally,
39 instead of AccessibleKeystrokeListener.
41 * idl/Accessibility_Event.idl:
42 Added two more empty slots to EventListener (for a total of four).
44 * idl/Accessibility_Accessible.idl:
45 Added four empty slots to Accessible interface.
47 * idl/Accessibility_Accessible.idl:
48 Added four empty slots to Accessible interface.
50 2002-11-15 Bill Haneman <bill.haneman@sun.com>
52 * idl/Accessibility_Registry.idl:
53 (KeyEventType, EventType):
54 Marked KeyEventType as deprecated; it duplicates
55 functionality of EventType, which has been extended to
56 include Mouse-button events.
57 (KeyEventTypeSeq): defined in terms of EventType.
58 (registerDeviceEventListener, deregisterDeviceEventListener):
59 New methods, for managing listeners to device events,
60 which potentially may consume them.
63 Added definition for AccessibleDeviceListener.
65 * cspi/spi-listener.h:
66 (enum AccessibleDeviceEventType):
67 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
68 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
70 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
71 and typedef'd AccessibleKeystroke to it for back-compat.
72 (AccessibleDeviceListenerCB):
73 New function prototype typedef.
76 (AccessibleDeviceEventMask): New typedef.
77 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
78 (AccessibleKeyMaskType):
79 Set equivalent to AccessibleModifierMaskType for back-compat.
80 (SPI_createAccessibleKeystrokeListener):
81 (AccessibleKeystrokeListener_unref):
82 Deprecated in favor of equivalent (better-named) new API below..
83 keystroke listeners are like all device listeners.
84 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
85 New API names for old features :-).
86 (AccessibleDeviceListener_addCallback):
87 (AccessibleDeviceListener_removeCallback):
88 (SPI_registerDeviceEventListener):
89 (SPI_deregisterDeviceEventListener):
93 (SPI_createAccessibleKeystrokeListener):
94 Use new preferred API, cspi_device_listener_new() and
95 cspi_device_listener_add_cb().
96 (AccessibleKeystrokeListener_removeCallback):
97 Use new preferred API, cspi_device_listener_remove_cb().
98 (AccessibleKeystrokeListener_unref):
99 Use new preferred API, cspi_device_listener_unref().
100 (SPI_createAccessibleDeviceListener):
101 (AccessibleDeviceListener_addCallback):
102 (AccessibleDeviceListener_removeCallback):
103 Implementation of new API.
105 * cspi/spi_registry.c:
106 (SPI_registerDeviceEventListener):
107 (SPI_deregisterDeviceEventListener):
108 Implementation of new API. Fixed memory leak and removed need to
109 allocate EventTypeSeq (thanks Michael for catching this).
110 Squashed a wayward CORBA_exception_free that shouldn't get called.
112 * cspi/bonobo/cspi-bonobo-listener.c:
114 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
115 (cspi_key_event): renamed to cspi_device_event().
116 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
117 Extended to handle mouse button events as well as key events.
118 (CSpiKeystrokeListener):
119 Class superceded by CSpiDeviceListener.
120 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
121 These internal APIs changed to "*device_listener" from "*keystroke_listener".
123 * cspi/bonobo/cspi-bonobo-listener.h:
124 (CSpiKeystrokeListener):
125 Class superceded by CSpiDeviceListener.
126 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
127 These internal APIs changed to "*device_listener" from "*keystroke_listener".
129 * libspi/Makefile.am:
130 Replaced keystrokelistener.h and keystrokelistener.c
131 with devicelistener.h and devicelistener.c; keystrokelisener.h
132 stub retained for back-compat.
134 * libspi/keystrokelistener.c:
138 Replaced inclusion of keystrokelistener.h with devicelistener.h.
140 * registryd/deviceeventcontroller.c:
141 (DEControllerListener): Added Accessibility_EventTypeSeq member.
142 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
143 (DEControllerPrivateData): Added xkb settings data.
144 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
145 button release events (which can't be captured via XGrabButton).
146 Don't dispatch via the 'normal' event mechanism if the device event was
148 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
149 Handle the typeseq data in its new location (see above).
150 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
151 New methods, for "generic" device listeners.
152 (spi_controller_register_device_listener):
153 Now handle mouse event listeners as well as key listeners.
154 (spi_controller_notify_mouselisteners):
156 (spi_device_event_controller_forward_mouse_event):
157 Now we notify mouse device listeners as well as generating the
158 non-consumable "mouse:" events.
160 We must check and restore the XKB
161 modifier map if we consume the event, since the act of triggering
162 a mouse event will normally reset the XKB latch. This is required for
164 (spi_controller_register_with_devices):
165 Load the XKB settings when registering, and register for XKB
167 (spi_key_eventtype_seq_contains_event):
168 Renamed spi_eventtype_seq_contains_event, since it's used
169 internally for all device event types now.
170 (spi_key_event_matches_listener):
171 Uses spi_eventtype_seq_contains_event now.
172 (spi_device_event_controller_object_finalize):
173 Free the private data and the XkbKeyboard struct.
174 (impl_register_device_listener, impl_deregister_device_listener):
175 Implementation of new IDL.
176 (spi_deregister_controller_device_listener):
178 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
179 More efficient implementation, we don't have to create a new
180 XkbControls structure every time we query.
181 (spi_device_event_controller_class_init):
182 Initialize the epv entries for the new IDL. Assign the
183 "spi-dec-private" quark.
184 (spi_device_event_controller_init):
185 Initialize the private data.
186 (spi_device_event_controller_forward_key_event):
187 Removed a bogus CORBA_exception_free() call.
189 * registryd/deviceeventcontroller.h:
190 Replaced inclusion of keystrokelistener.h with
193 * test/event-listener-test.c:
194 (report_mouse_event):
197 Added mouse-event device listener.
199 * test/test-simple.c:
200 (create_test_window):
201 Fixed regression (we were instantiating a GtkRange,
202 which is now an abstract class). Also fixed to match
203 existing AtkRole names, this seems to have changed in ATK
204 awhile ago; too late now I think, and the new
205 mechanism is at least elegant and consistent with the
206 glib enum "nick" APIs.
208 2002-11-15 Darren Kenny <darren.kenny@sun.com>
210 * idl/Accessibility_Relation.idl:
211 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
212 RELATION_EMBEDS,RELATION_EMBEDDED_BY
213 * idl/Accessibility_Role.idl:
214 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
215 * idl/Accessibility_State.idl:
216 add STATE_MANAGES_DESCENDANTS
217 * test/event-listener-test.c:
218 Added a listener for active-descendant events.
220 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
222 * atk-bridge/bridge.c
223 (atk_bridge_init): If application is Bonobo component wait until top
224 level is added before registering
225 (spi_atk_bridge_do_registration): New function which contains code,
226 formerly in atk_bridge_init, to do application registration.
227 (spi_atk_bridge_toplevel_added): Signal called when top level
228 added to Bonobo component
230 This fixes bug #83134.
232 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
234 * registryd/deviceeventcontroller.c
235 Fixed compilation error caused by calling gettimeofday()
238 2002-10-18 Bill Haneman <bill.haneman@sun.com>
243 Added template for HAVE_XKB.
246 Changes to check for XKB, and to set the HAVE_XKB #define if it
250 ()impl_notify_event): Make failure to get event source name
253 * registryd/deviceeventcontroller.c:
254 (#include): include X11/XKBlib.h.
255 (DEControllerPrivateData) : New struct.
256 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
258 (dec_synth_keycode_press) (dec_synth_keycode_release):
259 New methods; split the key synthesis code into these methods.
260 They check XKB settings before determining the "time" values to
261 pass to Xtest; this fixes bug #95828.
262 (impl_generate_keyboard_event): Changed to use methods above,
263 instead of callng Xtest directly.
264 (spi_device_event_controller_init): Initialize new privae struct s
266 (spi_device_event_controllr_object_finalize):
267 Free the (new) private data.
269 * registryd/deviceeventcontroller.h:
270 Add new gpointer to end of struct data.
272 2002-10-16 Bill Haneman <bill.haneman@sun.com>
275 Incremented revision to 1.1.2, SONAME is still '.so', library
276 extensions are ".so.0.0.2".
278 * registryd/deviceeventcontroller.c:
279 FIXES FOR #93592 and #95940.
280 (statics): renamed mouse_button_state to mouse_mask_state,
281 added key_modifier_mask.
282 (spi_dec_poll_mouse_moved):
283 Added key modifier checks, and emit "keyboard:modifiers"
284 events when the key modifiers currently in use change.
285 Also generate "mouse:abs" events periodically, even if the mouse
286 is stationary (should we?).
287 Alternatively we could generate "mouse:abs" events for either all
288 mouse movements, or every 'nth' mouse movement, or at the
289 beginning and end of every "active" mouse period.
291 * test/event-listener-test.c:
292 (main): Added listener for "keyboard:modifiers" events.
294 2002-10-15 Bill Haneman <bill.haneman@sun.com>
297 Added key mask #defines for mouse buttons; e.g.
298 SPI_KEYMASK_BUTTON1, etc.
301 Incremented dependency on ATK to version 1.1.0. (This dependency
302 is probably premature but will soon be real enough).
304 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
306 * libspi/hyperlink.[ch]
307 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
308 (get_hyperlink_from_servant): Check object is AtkHyperlink not
311 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
316 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
318 * registryd/deviceeventcontroller.c
319 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
320 events to be ignored.
321 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
322 keyboard_mode so that XAllowEvents() can be called.
326 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
328 * cspi/spi-accessible.c: Correct names of roles returned by
329 AccessibleRole_getName(). Fixes bug #95055.
331 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
333 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
336 * registryd/registry.c
337 (desktop_remove_application: Write diagnostic message to stderr for
340 (impl_accessibility_registry_deregister_global_event_listener):
341 Correct size of lists array. This addresses bug #94555).
343 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
345 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
348 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
350 * registryd/Makefile: Add CLEANFILES so that .server file is removed
353 * registryd/registry.c (impl_registry_notify_event): Remove
354 unnecessary call to parser_event_type().
356 * docs/reference/cspi/tmpl/spi_component.sgml:
357 Add reference to SPI_LAYER_WINDOW.
359 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
361 * registryd/registry.c
362 (desktop_add_application): Remove leak.
363 (desktop_remove_application): Remove leak.
364 (parser_event_type): Remove leak.
366 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
368 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
369 bogus call to CORBA_string_dup(). Also removed unnecessary
370 g_string_dup/g_free calls.
372 2002-09-13 Bill Haneman <bill.haneman@sun.com>
374 * registryd/deviceeventcontroller.c:
375 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
377 * test/event-listener-test.c:
378 main: commented out three redundant listeners, to reduce output
379 noise. (They still are potentially useful for testing).
382 2002-09-13 Michael Meeks <michael@ximian.com>
384 * Update all the copyrights to include Ximian.
386 2002-09-06 Mark McLoughlin <mark@skynet.ie>
388 * cspi/spi.h: add SPI_LAYER_WINDOW.
390 * cspi/spi_component.c: (AccessibleComponent_getLayer):
391 add Accessibility_LAYER_WINDOW case.
393 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
395 * libspi/component.c: (impl_accessibility_component_get_layer):
396 add ATK_LAYER_WINDOW case.
398 2002-08-28 Bill Haneman <bill.haneman@sun.com>
400 * configure.in: incremented micro version.
402 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
404 2002-08-20 Bill Haneman <bill.haneman@sun.com>
407 Clarified and reworded our commit policy.
410 Started an API "todo" addition list for 2.2.
414 Free char pointer from atk_text_get_selection, which was being leaked.
416 2002-08-19 Bill Haneman <bill.haneman@sun.com>
419 Small revision to author acknowledgement.
421 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
423 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
424 If signal has detail add it to the type of the event.
427 2002-08-12 Michael Meeks <michael@ximian.com>
429 * test/test-simple.c (global_listener_cb): bin bogosity.
430 (test_keylisteners): disable, still doesn't work reliably,
431 certainly not on my system anyway.
433 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
434 don't leak a reference on the DEC. This round-trip
435 fetching of the DEC per keystroke sucks, it should be
438 * cspi/spi-private.h,
439 * cspi/cspi-lowlevel.h,
440 * cspi/bonobo/cspi-bonobo-listener.[ch],
441 * cspi/bonobo/cspi-bonobo.c: get the copyright
442 notices better - there is still a large amount of
443 work in at-spi falsely attributed solely to Sun.
445 * cspi/spi_main.c (cspi_object_ref): kill bogus
446 hash lookup, just increment the ref.
447 (SPI_freeString): make explicit the fact that we
448 handle NULL strings just fine.
449 (report_leaked_ref): obey coding standards.
450 (cspi_object_hash, cspi_object_equal): kill retval.
451 (cspi_object_release): only release if not on loan.
452 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
453 (cspi_object_borrow, cspi_object_return): impl.
455 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
456 use cspi_object_borrow / return.
458 2002-08-12 Darren Kenny <darren.kenny@sun.com>
460 * cspi/bonobo/cspi-bonobo-listener.c:
462 Don't call cspi_oject_new() because this is creating a new Accessible
463 every single time that an event is fired. This causes ATs like at-poke
464 to nolonger recognise the source of the event and thus ignore it.
465 Re-use the object from the cache, ref it and then unref it after the
466 listeners have been called.
468 2002-08-06 Darren Kenny <darren.kenny@sun.com>
470 * test/event-listener-test.c:
471 Added command-line options to disable mouse events (m) and
474 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
476 * configure.in: Update required versions of ATK, GTK+ and GAIL
478 * cspi-1.0.pc.in: Add dependency for X include files
481 * cspi/bonobo/Makefile.am:
482 Add $(X_CFLAGS) so that X include files
483 are picked up even if not in standard place (bug #71686)
485 2002-06-25 Bill Haneman <bill.haneman@sun.com>
487 * registryd/deviceeventcontroller.c: fix for 84261
488 (spi_dec_mouse_moved):
489 Added test of mouse button mask, so that we can detect mouse
490 button release. Unfortunately we can't otherwise detect mouse
491 button release events without consuming the mouse press event,
492 because of the way XGrabButton works. This means that our mouse
493 release events have a latency dependent on the polling period
494 while the mouse button is down. At least in this case we only
495 have to poll while the button is down, and not at other times.
496 If the button masks don't match with what the last press event
497 reported, we report the appropriate button release event.
498 (spi_dec_ungrab_mouse):
499 New method (not yet called).
500 (spi_device_event_controller_forward_mouse_event):
501 New method, sends mouse press event from GdkFilter.
502 (spi_dec_init_mouse_listener):
503 Added code to call XGrabButton, redirecting mouse button events to
504 the root window and our Gdk event loop.
506 Added code to filter mouse button events, and reordered.
508 * test/event-listener-test.c:
510 Added registration for mouse events of type "mouse:button".
512 2002-06-25 Bill Haneman <bill.haneman@sun.com>
514 * registryd/deviceeventcontroller.c: partial fix for 84261
515 (spi_dec_poll_mouse_idle):
516 New method, a timeout which checks to see if the mouse
518 (spi_dec_poll_mouse_moving):
519 A timeout to be called when mouse motion is underway.
520 (spi_dec_poll_mouse_moved):
521 A method which fires an event if the mouse has moved, and reports
522 whether or not it did so.
523 (spi_dec_init_mouse_listener):
524 A method which sets up the timeouts above.
525 (spi_device_event_controller_new):
526 Now calls spi_dec_init_mouse_listener.
528 * registryd/registry.c:
530 Now we initialize the device event controller when the registry is
531 initialized, instead of waiting until a client has requested a key
532 event notification; this is because we need the event controller
533 for mouse events, but the mouse event registration API is a
534 "registry" call and doesn't explicitly call the
535 deviceeventcontroller.
536 We now report mouse motion events with a 100 ms idle latency and
537 a 20 ms granularity when motion is in progress.
539 * test/event-listener-test.c:
541 We now register the "detail listener" for events of type
542 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
543 delivered only for the first mouse event received, and thereafter
544 "mouse:abs" events are delivered.)
546 * cspi/spi_registry.c:
547 DOCS: Documented the above mouse event typestrings.
549 2002-06-21 Bill Haneman <bill.haneman@sun.com>
551 Happy Summer Solstice...
553 * registryd/deviceeventcontroller.c: [fix for bug 84100]
554 (spi_controller_notify_keylisteners):
555 Changes to remove a listener from the listener list, freeing its
556 open keygrabs, if a notification to that listener fails. This
557 means that although a dead listener can continue to hold a passive
558 keygrab, a maximum of one dispatch to such a listener can fail
559 before the listener is removed from the list, thus the keygrab
560 will be released on the next occurrence.
562 (spi_notify_keylisteners):
563 Renamed to spi_controller_notify_keylisteners, as the controller
564 instance must now be passed as an argument.
565 The copied 'notify' GList is now a list of DEControllerKeyListener
566 objects, since we need more than just the CORBA reference if a
567 notify fails and we need to deregister the listener.
568 (impl_notify_listeners_sync):
569 (impl_notify_listeners_async):
570 (spi_device_event_controller_forward_key_event):
571 Modify use of notify_keylisteners in accordance with above
573 (spi_deregister_controller_key_listener):
574 New method introduced by refactoring, from
575 impl_deregister_keystroke_listener.
576 (impl_deregister_keystroke_listener):
577 Call spi_deregister_controller_key_listener.
578 (spi_key_listener_clone):
579 New method to copy a key listner without doing a 'ref' on the
580 remote object instance; used to create a notifier list.
581 (spi_key_listener_data_free):
582 New method, frees data without unreffing the source.
584 (spi_key_listener_clone_free): new method.
585 (spi_key_listener_free):
586 refactored to call spi_key_listener_data_free.
588 2002-06-20 Bill Haneman <bill.haneman@sun.com>
590 * registryd/registry.c: [fix for bug 86048]
591 (notify_listeners_cb):
592 Clear CORBA system exceptions which occur when notifying
593 listeners, before returning to the source of the original event,
594 since the event source doesn't care if the relayed notify failed.
595 In other words, don't complain to the atk-bridge if the registry
596 could not notify all its listeners, that's no fault of the
597 application and thus should not appear to be an error from the
598 application's perspective.
600 * cspi/spi_main.c: [fix for bug 85980]
602 Replaced use of bonobo_object_dup_ref with call to the wrapper
603 method, csou_dup_ref (); this silences a compiler warning and
604 provided more portability.
606 Ping the registry before return, and restart if necessary.
608 * cspi/bonobo/cspi-bonobo.c:
612 Fixed this method to return an object reference, as it should have
615 * cspi/cspi-lowlevel.h:
616 Added internal definition for cspi_ping() and fixed
617 return type of cspi_dup_ref().
620 2002-06-19 Bill Haneman <bill.haneman@sun.com>
622 * atk-bridge/bridge.c: [fix for bug 85305]
623 (spi_atk_bridge_register_application):
624 New method where the initial application registry calls have been
625 moved; it allows an application to re-register in response to
626 certain error conditions (such as a registry restart, see below).
628 Moved some initialization code to the method
629 spi_atk_bridge_get_registry, below.
630 (spi_atk_bridge_get_registry):
631 New, private accessor function for the Accessibility_Registry
632 instance. If the registry has not been started before, or has
633 died (as detected by failure of a CORBA exception), it is
634 restarted before return, and spi_atk_bridge_register_application
635 is called again to register with the new bridge instance.
636 (spi_atk_emit_eventv):
637 Set registry_died on error; use spi_atk_bridge_get_registry () to
640 * registryd/registry.c:
641 (impl_accessibility_registry_register_global_event_listener):
642 Set listener's event_type_quark to etype.minor instead of
643 etype.major (fix for bug 84856).
645 * test/event-listener-test.c:
646 (report_detail_event):
647 Change the output string so that user/tester can tell that the
648 'detail listener' was called instead of the 'generic listener'.
650 2002-06-18 Bill Haneman <bill.haneman@sun.com>
652 Fixes for bugs 84900, 84908, 84897, 84898.
657 Revved version to 1.1.0
658 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
659 version is going to HEAD which will be used for gnome-2-0-1 and later.)
661 * idl/Accessibility_Registry.idl:
662 (EventListener::notifyEvent):
663 Removed 'oneway' directive after extensive consulation with
664 ORBit2 team and others. This means also that unref() of the event
665 source can and should be done synchronously after emission, rather
666 than remotely in the client, after servicing the notify call on
669 NOTE: This change speeds up listener performance considerably, but
670 introduces new latency on the application side. We may want to
671 add an event queue to the atk-bridge.
673 * atk-bridge/bridge.c:
674 (spi_atk_bridge_focus_tracker):
675 Do a local unref() on the event source after emission.
677 * registryd/registry.c:
678 (desktop_remove_application):
679 Do an unref() on the event source after emission.
680 (desktop_add_application):
681 Do an unref() on the event source after emission.
682 (notify_listeners_cb):
683 When relaying an event, don't automatically add the event source
684 to the local object cache, just CORBA_dup it instead. Likewise,
685 if this method reenters, release the ref rather than calling
687 (impl_registry_notify_event):
688 No longer call remote unref() on the event source after dispatch.
690 * libspi/eventlistener.c:
691 (impl_accessible_event_notify_event):
692 Removed remote unref ()
694 * cspi/bonobo/cspi-bonobo-listener.c:
696 We now call cspi_object_new() instead of cspi_object_add() on
697 receipt of an event; thus we only have an implicit object ref
698 while the cspi_event method is being executed. If we need to keep
699 a reference to the object, the listener must call ref() on the
700 object. Thus also we don't need to call cspi_object_unref() after
701 invoking the listener callbacks in this method.
705 New internal API for creating a new cspi object, without adding it
708 Now uses cspi_object_new() to create the cspi object instance.
710 Now checks to see if the object is in the internal object cache,
711 and adds it if necessary before incrementing its refcount (note
712 that new objects are added with a refcount of 1).
714 New method which gives some information on leaked object instances
715 if leak detection is turned on.
717 * test/event-listener-test.c:
719 New method, used for testing event delivery timing for special
720 events of type "object:test". It reports elapsed time and
721 events/sec every 500 events.
723 Added a new listener, 'test listener', to check timing of event
724 receipt as noted above.
726 Added some timing output here also, reports elapsed time every 100
729 * test/stress-test.c:
730 Emit events of type "object:test", for use with "event-listener-test".
732 * test/test-simple.c:
733 (global_listener_cb):
734 Call Accessible_ref() on the event source before calling
735 validate_accessible, since the validation process does pointer
736 comparisons on the event source, meaning that the event source
737 needs to be added to the local object cache first. Any use of
738 such pointer comparisons between Accessible objects requires that
739 the caller hold an explicit reference to those objects.
740 We also must therefore call Accessible_unref() when leaving this method.
742 2002-06-13 Bill Haneman <bill.haneman@sun.com>
744 * registryd/deviceeventcontroller.c:
745 (spi_controller_update_key_grabs):
746 Fix for #84735, subsequent keygrab listeners not informed of
747 registration failure.
750 (spi_base_construct):
751 Add an assertion on construct, to make sure the GObject passed in
754 Explicitly initialize object->gobj pointer to NULL;
756 * cspi/bonobo/cspi-bonobo-listener.c:
757 (cspi_object_add_ref):
758 New method, can specify whether to dup-ref a bonobo object passed
759 in if it's newly added to the object cache.
761 Now calls cspi_object_add_ref with second param of "FALSE". This
762 prevents us from doing a pointless dup-ref followed by
763 release-unref for all those cases where the object is already in
764 our object cache (fix for #85205).
766 * atk-bridge/bridge.c:
767 (spi_atk_bridge_idle_init):
768 Removed this method, we don't need to initialize in an idle
771 Changed to call spi_atk_register_event_listeners directly, not via an
772 idle handler. (fix for #81139)
773 (gnome_accessibility_module_shutdown):
774 Removed conditional around deregistration of listeners, since we
775 don't use the idle handler and thus have always registered when
777 (spi_init_keystroke_from_atk_key_event):
778 Changed references to Accessibility_KEY_PRESSED to
779 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
781 2002-06-12 Bill Haneman <bill.haneman@sun.com>
783 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
788 * test/stress-test.c:
791 (may have been an incomplete commit yesterday?)
793 2002-06-12 Bill Haneman <bill.haneman@sun.com>
796 Added target for new stress-test.
798 * test/stress-test.c:
799 New test, sends 1000 focus notifies in quick succession.
801 * test/key-listener-test.c:
802 Now we report whether a keylistener registration
803 request succeeded or failed.
805 * test/event-listener-test.c:
806 Uncommented some listeners which are now implemented.
809 2002-06-06 Bill Haneman <bill.haneman@sun.com>
811 * registryd/deviceeventcontroller.c:
812 (spi_controller_update_key_grabs):
813 Fix for #82509, lack of failure notification when
814 ALL_WINDOWS keygrabs fail due to XGrabKey
815 failure: we synchronize the server when
816 registering a passive grab, to make sure we get the
817 error message before the call returns.
819 2002-06-03 Bill Haneman <bill.haneman@sun.com>
821 * test/test-simple.c:
823 Removed #ifdef KEY_IMPL_WORKS guards.
825 Removed #ifdef KEY_IMPL_WORKS guards.
826 Fixed bug which was causing a hang waiting for a
827 "press" event (which was already overwritten by a "release"
828 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
830 Added code to set globals 'key_press_received' and
831 'key_release_received'.
834 Added section "1.1 API Proposed Additions" which
835 lists API additions desired for at-spi-1.1 (only one so far).
836 Updated TODO list a little.
838 2002-06-02 Bill Haneman <bill.haneman@sun.com>
840 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
843 * configure.in: Revved to 1.0.0.
845 * idl/Accessibility_Registry.idl:
846 (registerKeystrokeListener):
847 Added boolean return value.
849 * registryd/registry.c:
850 (notify_listeners_cb): Minor fix to debug output.
852 * registryd/Accessibility_Registry.server.in.in:
853 Revved version number in OAFIID to 1.0.
855 * registryd/registryd.c:
857 Use new OAFIID version.
859 * cspi/bonobo/cspi-bonobo.c:
861 Use new OAFIID version.
867 * atk-bridge/bridge.c:
869 Use new OAFIID version.
871 * registryd/deviceeventcontroller.c:
872 (impl_register_keystroke_listener):
873 Added CORBA_boolean return value.
874 (spi_controller_register_device_listener):
875 Added gboolean return value.
876 (spi_controller_register_global_keygrabs):
877 Added gboolean return value.
878 (spi_key_set_contains_key):
879 Added implementation for many more control keys,
880 for instance F1-F12, arrow keys, End, Home, Page_Up,
882 [TODO: some still not implemented].
884 * text/screen-review-test.c:
885 (text_chunk_pad_string):
886 New function: it provides mapping between coordinate
887 positions of text chunks and character positions in the
888 screen-review-line output string.
889 (text_chunk_to_string):
890 New function, calls text_chunk_pad_string with various
891 pad/delimiter characters. Pushbuttons are delimited with
892 square brackets, Frames with vertical 'pipe' lines, and
893 other text with double quotes.
894 (text_chunk_list_to_string):
895 Calls new function text_chunk_to_string.
896 (toplevel_composite):
897 New function to composite layers CANVAS through
898 POPUP in each toplevel (other layers are composited
899 across toplevels, i.e. BACKGROUND and OVERLAY).
900 (review_buffer_composite):
901 Revise to use new methods.
907 2002-05-31 Laszlo Peter <laca@sun.com>
909 * configure.in: add the Xtst libdir to the runpath on Solaris,
910 since it's not in the default library search path.
912 2002-05-29 jacob berkman <jacob@ximian.com>
914 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
916 2002-05-29 Bill Haneman <bill.haneman@sun.com>
918 * test/screen-review-test.c:
919 (text_chunk_pad_string):
920 Added method, which pads the string according to the
921 text bounds of the chunk. It also takes a 3-character
922 string as a param which indicates the characters to be
923 used for start, padding, and end delimitation of the chunk.
924 (text_chunk_to_string):
925 Changed to use text_chunk_pad_string.
927 * configure.in: Fixed bug in AC_OUTPUT that was
928 causing path substitution in Accessibility_Registry.server
931 2002-05-23 Bill Haneman <bill.haneman@sun.com>
933 * text/screen-review-test.c:
935 New method which attempts a best-guess at clipping
936 text from components (like Java labels) which don't
937 actually implement AccessibleText. This inaccurate
938 clip is based on the assumption that the label is
939 justified left-and-right, and monospaced.
940 (text_chunk_get_clipped_string):
941 We now call guess_string_clip() for text-containing
942 components that don't implement AccessibleText.
944 * test/screen-review-test.c:
945 (review_buffer_get_text_chunk):
946 We now pull "name" from labels if they do not implement
947 AccessibleText (i.e. for Java labels).
948 (get_screen_review_line_at):
949 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
952 Replaceded AC_OUTPUT target
953 registryd/Accessibility_Registry.server with
954 registryd/Accessibility_Registry.server.in.
956 * registryd/Accessibility_Registry.server.in:
957 Removed (this is now a Makefile target).
959 * registryd/Accessibility_Registry.server.in.in:
960 Added (source for target above). We now use $(libexecdir) as
961 prefix for the executable at-spi-registryd.
963 * registry/Makefile.am:
964 Now install at-spi-registryd into $(libexecdir), and build .server
965 file with path (see above).
967 2002-05-22 Bill Haneman <bill.haneman@sun.com>
969 * test/screen-review-test.c:
970 (text_chunk_get_clipped_string):
971 We now check to see if words fall within clip bounds
972 before resorting to character-by-character clip bounds testing.
974 * TODO: Added a section for "2.2 Proposed API Additions".
976 2002-05-21 Bill Haneman <bill.haneman@sun.com>
978 * test/screen-review-test.c:
980 Added a screen review benchmarking and test program to test
983 * cspi/spi_accessible.c:
985 Made some of the debug strings passed to cspi_check_ev a
986 little more specific.
988 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
990 * test/screen-review-test.c: Fix crashes in debug statements
992 2002-05-20 Bill Haneman <bill.haneman@sun.com>
994 * test/screen-review-test.c: Added this file.
996 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
998 * atk-bridge/bridge.c: changed "object:state-change" to
999 "object:state-changed" to match docs.
1001 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1003 * atk-bridge/bridge.c: Hooked up state-change event details.
1005 2002-05-11 Bill Haneman <bill.haneman@sun.com>
1007 * registryd/registry.c:
1008 Fixed quarking bug in event string parsing; now events with
1009 detail parameters get matched correctly to listeners.
1012 * util/idl/Magnifier.idl: remove.
1014 * util/*.[ch]: Remove.
1015 Magnification utilities and IDL are now in module gnome-mag.
1017 2002-05-10 Bill Haneman <bill.haneman@sun.com>
1019 * registryd/deviceeventcontroller.c:
1020 Fixed bug in grab key conversion which was causing keycode grabs
1021 to be converted to AnyKey grabs.
1024 updated NEWS file to reflect recent spin-off of gnome-mag.
1026 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
1028 * cspi/spi_accessible.c: Added exception checks. Fixed completely
1029 busted AccessibleStateSet_compare. Removed redundant casts.
1031 * cspi/spi-action.c: Removed redundant casts.
1033 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
1035 * cspi/spi_component.c: Fixed typos and casting error.
1037 * cspi/spi_editabletext.c: Removed redundant casts.
1039 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
1041 * cspi/spi_hypertext.c: Eliminated redundant casts.
1043 * cspi/spi_image.c: Eliminated redundant casts.
1045 * cspi/spi_registry.c: Eliminated redundant casts.
1046 SPI_deregisterGlobalEventListenerAll () removed retval variable.
1047 * cspi/spi_selection.c: Removed redundant casts.
1048 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
1049 handling. Screen geometry and text offsets were being returned as 0
1050 on error which is technically valid-- changed these to return -1.
1051 Added marshaller for text boundary types to fix bug with boundary
1052 types being passed incorrectly to atk.
1054 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1057 * cspi/spi_registry.c:
1058 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
1059 which was uncovered by the recent key changes.
1061 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1063 * test/event-listener-test.c:
1065 Added new test, "event-listener-test";
1066 this code does two things; it benchmarks traversal time
1067 for the accessible hierarchy for the first running accessible
1068 app, and it connects listeners for all supported event types.
1069 It is thus useful as an example event listener and for
1070 diagnostics/debugging of event generation.
1072 2002-05-08 Bill Haneman <bill.haneman@sun.com>
1075 Removed unnecessary dependency on libutil.
1078 Revved micro version: 0.13.1
1080 2002-05-08 Bill Haneman <bill.haneman@sun.com>
1083 Removed util/Makefile from targets.
1086 Removed util subdir from SUBDIRS (temporarily,
1087 pending removal of magnifier-only code
1091 #ifdef-ed out magnifier dependencies, since
1092 magnifier IDL, headers, and binary now live in
1093 module gnome-mag and we don't want at-spi to depend
1094 on gnome-mag. A magnifier demo which can run alongside
1095 simple-at is forthcoming in the gnome-mag module.
1097 NOTE: Split magnifier binary, IDL, and magnification
1098 activation code from at-spi into module gnome-mag.
1100 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
1102 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
1103 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
1105 2002-05-03 Bill Haneman <bill.haneman@sun.com>
1108 Revved to version 0.13.0
1110 * idl/Accessibility_Registry.idl:
1111 Changed definition of KeySet from sequence of longs to sequence of
1112 KeyDefinitions, and added KeyDefinition struct.
1113 Required for fix to bug 80616.
1115 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
1116 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
1117 to use new definition (see above).
1119 * registryd/deviceeventcontroller.c: handle_keygrab(),
1120 spi_keyset_contains_key():
1121 Changed to make use of new struct; this allows matching based on
1122 string key-name, for instance "Tab". This also allows matching of
1123 composed characters, non-alphanumeric characters in a way that
1124 doesn't involve dependencies on X keysym codes directly, etc.
1126 * test/key-listener-test.c:
1127 Added test for Alt-Tab key using "string" specification of keyset,
1128 and modified one of the tests to use a keycode-based keyset.
1129 Thus this test both tests and demonstrates the creation and use of
1130 keysets of three forms: specified via keycode array,
1131 keysym array, and string array. (The string case only contains a
1132 single string, i.e. a string array of length 1).
1135 Turned on PRINT_TREE option by default. Also fixed a
1136 string-freeing bug in the PRINT_TREE code.
1137 Added a listener to window:minimize events.
1139 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
1141 * atk-bridge/bridge.c:
1142 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
1143 for window:activate and window:deactiveate
1144 (atk_bridge_property_event_listener atk_bridge_signal_listener
1145 atk_bridge_window_event_listener) Tidy debug code
1147 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
1149 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
1150 Fixed handling for NULL return value from ATK.
1152 * libspi/action.c libspi/component.c libspi/editabletext.
1153 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
1154 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
1155 Removed redundant casts.
1157 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
1158 Fixed off by one bug.
1160 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
1161 function not present in idl)
1163 2002-05-02 jacob berkman <jacob@ximian.com>
1165 * atk-bridge/Makefile.am: make atk-bridge a real module
1167 2002-04-26 Radek Doulik <rodo@ximian.com>
1169 * libspi/stateset.c (spi_init_state_type_tables): fix size of
1170 atk_state_types table
1172 2002-04-22 jacob berkman <jacob@ximian.com>
1175 * libspi/Makefile.am: add deps on the built files to help
1176 automake, and don't version the ORBit typelib
1178 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
1180 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
1181 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
1182 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
1183 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
1184 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
1185 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
1186 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
1187 libspi/accessible.h libspi/accessible.h libspi/base.h
1188 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
1189 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
1190 libspi/relation.h libspi/remoteobject.h libspi/selection.h
1191 libspi/spi-private.h libspi/statetset.h libspi/table.h
1192 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
1193 util/mag_client.h util/mag_control.c util/mag_image.c
1194 util/mag_image.h util/magnifier.c util/magnifier.h:
1195 Add missing file headers; standardize existing ones
1197 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
1199 * atk-bridge/bridge.c: Added window event support.
1201 2002-04-18 Michael Meeks <michael@ximian.com>
1203 * libspi/relation.c (impl_getNTargets): impl.
1204 (impl_getTarget): impl.
1206 * libspi/Makefile.am: fix stateset install.
1208 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1211 Started putting useful info in this file.
1213 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
1215 * atk-bridge/bridge.c:
1216 Propagate state-changed notifications to ATs
1218 * cspi/spi_registry.c: update docs to reflect actual behavior of
1219 state-change events.
1221 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1224 Incremented version to 0.12.1
1226 * util/mag_client.h:
1227 Add missing declaration for magnifier_exit,
1228 used by mag_control.c - Forte compiler didn't like
1229 the implicit redeclaration of the function :-(
1232 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1235 Revved version to 0.12 due to API change (see below).
1237 * cspi/spi-roletypes.h:
1238 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
1239 definition from the inline docs, and added docs
1240 for SPI_ROLE_LAST_DEFINED.
1243 * cspi/spi_streamablecontent.c:
1244 Added missing seek_type parameter to
1245 (so far unused) method,
1246 AccessibleStreamableContent_seek().
1247 [ RT approval JodyG. ]
1250 Fixed docs for SPI_createAccessibleKeystrokeListener.
1252 * cspi/spi_registry.c:
1253 Fixed docs for SPI_KEYSET_ALL_KEYS.
1255 * docs/reference/cspi/at-spi-cspi-sections.txt:
1256 Added a number of missing APIs to SECTIONS.
1258 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1260 * registryd/Makefile.am:
1262 * cspi/bonobo/Makefile.am:
1263 Add $(X_LIBS) to makefiles.
1265 2002-04-15 Bill Haneman <bill.haneman@sun.com>
1268 Revved version to 0.11.
1270 * libspi/component.c:
1271 Added implementation for grabFocus.
1273 * idl/Accessibility_Component.idl
1274 (Accessibility_Component_grabFocus):
1275 Made this method return boolean to indicate success or failure, to
1276 be consistent with cspi and the corresponding ATK method.
1278 * idl/Accessibility_Selection.idl
1279 (Accessibility_Selection_selectAll) :
1280 Made these methods return boolean to indicate success or
1281 failure, to be consistent with cspi and the corresponding ATK methods.
1283 * idl/Accessibility_EditableText.idl
1284 (Accessibility_EditableText_setTextContents,
1285 Accessibility_EditableText_insertText,
1286 Accessibility_EditableText_cutText,
1287 Accessibility_EditableText_deleteText,
1288 Accessibility_EditableText_pasteText):
1289 Made these methods return boolean to indicate
1292 * cspi/spi_editabletext.c:
1293 Made these methods return booleans.
1295 * libspi/selection.c:
1296 * libspi/component.c:
1297 * libspi/editabletext.c:
1298 Connected the boolean returns from ATK
1299 to the server-side code referenced above.
1301 2002-04-14 Bill Haneman <bill.haneman@sun.com>
1303 * idl/Accessibility_Table.idl: Added missing methods,
1304 Accessibility_Table_addRowSelection,
1305 Accessibility_Table_addColumnSelection,
1306 Accessibility_Table_removeRowSelection,
1307 Accessibility_Table_removeColumnSelection.
1310 Added C wrappers for above IDL:
1311 AccessibleTable_addRowSelection,
1312 AccessibleTable_addColumnSelection,
1313 AccessibleTable_removeRowSelection,
1314 AccessibleTable_removeColumnSelection.
1317 Added server-side implementation code for IDL above, connecting
1318 to pre-existing ATK api.
1320 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
1322 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
1324 * libspi/accessible.c: Added implementation fo
1325 Accessibility_Accessible_get_state.
1327 * libspi/libspi.h: Added stateset.h to the list of includes.
1329 * libspi/stateset.c: Fixed broken implementation.
1331 2002-04-13 Bill Haneman <bill.haneman@sun.com>
1334 Added implementation code for Accessibility_Magnifier_exit ().
1336 * util/mag_control.c:
1337 Added test code for above method; you can
1338 now kill an existing magnifier via
1339 ./mag_control q, from the util directory.
1341 * test/key-listener-test.c:
1343 Added a new test, for our key listener API.
1345 2002-04-11 Bill Haneman <bill.haneman@sun.com>
1347 * test/app.c, test/keysynth-demo.c:
1349 Replace use of snprintf with g_snprintf.
1350 (fix for bugzilla 78249)
1352 2002-03-27 Michael Meeks <michael@ximian.com>
1356 * util/Makefile.am (INCLUDES): fix.
1357 (DONT_DIST_SOURCE): don't distribute the
1360 * libspi/Makefile.am (dist-hook): ditto.
1362 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
1364 * libspi/hypertext.c:
1365 Fix warnings when yelp is used with atk-bridge
1367 2002-03-21 Michael Meeks <michael@ximian.com>
1369 * libspi/application.c (spi_application_new):
1370 use spi_accessible_construct so we use the AtkObject
1373 2002-03-19 Michael Meeks <michael@ximian.com>
1375 * registryd/registry.c (desktop_remove_application),
1376 (desktop_add_application): clean coding style.
1378 * registryd/desktop.c (spi_desktop_remove_application),
1379 (spi_desktop_add_application): kill re-enterency hazards.
1380 (spi_desktop_dispose): remove bogus redundant cast
1381 obscuring bug; fix bug too.
1382 (spi_desktop_init): make the desktop object immortal.
1384 2002-03-16 Bill Haneman <bill.haneman@sun.com>
1387 Added a #define-guarded tree-traversal step
1388 when enumerating the apps (diagnostic tool).
1390 2002-03-15 Bill Haneman <bill.haneman@sun.com>
1392 * idl/Accessibility_Role.idl:
1393 Added ROLE_DRAWING_AREA which seemed to be missing from the
1396 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1398 * cspi/spi-roletypes.h cspi/spi_accessible.c
1399 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
1402 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
1403 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
1404 AT when applications are added and removed from the desktop. This
1405 reverts the previous broken implementation using the backing
1406 AtkObject for the SpiDesktop.
1408 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1410 * registryd/desktop.c: emit the "children-changed::add" and
1411 "children-changed::remove" signals on the backing ATK object for
1412 the desktop so AT can tell when applications are started and shut
1415 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1417 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
1419 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1421 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
1423 * cspi/spi_accessible.c: Implemented c bindings for stateset support
1425 * cspi/state-types.h: synched with IDL and ATK
1427 2002-03-13 Bill Haneman <bill.haneman@sun.com>
1429 * libspi/accessible.c
1430 (impl_accessibility_accessible_get_child_at_index):
1431 Change return value for g_return_if_fail ()
1432 to CORBA_OBJECT_NIL instead of "0" (!)
1434 * registryd/Makefile.am:
1435 * registryd/Accessibility_Register.server.in:
1436 Changed name of executable, "registryd",
1437 to something more informative:
1440 2002-03-13 Michael Meeks <michael@ximian.com>
1442 * atk-bridge/bridge.c (atk_bridge_init): don't register
1443 if we're in a bonobo-component, rather than a bonobo app.
1445 2002-03-13 Michael Meeks <michael@ximian.com>
1447 * atk-bridge/bridge.c (gtk_module_init): split
1448 out body to (atk_bridge_init): here, since otherwise
1449 we get symbol conflicts and oddness when invoked
1450 from (gnome_accessibility_module_init): here (upd.)
1452 2002-03-11 Bill Haneman <bill.haneman@sun.com>
1455 New file. Explicitly allow "build sheriff" putbacks provided
1456 they are tested on Solaris.
1458 * docs/reference/cspi/Makefile.am:
1459 Added '-' to the "cp" command for index.sgml.
1460 ("patch by thomasvs, soon coming to a GUADEC near you")
1463 Incremented version number (0.9.0) for new release.
1464 Changed macro that checks for popt, to better detect
1465 obsolete versions of popt.
1468 Added X_LIBS to AC_SUBST, for applications
1469 that call Xlib API directly.
1472 2002-03-07 Bill Haneman <bill.haneman@sun.com>
1475 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
1478 Fix regression caused by hard-coding major
1479 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
1482 * test/test-simple.c (test_editable_text),
1483 (test_test): revert previous change (error was
1484 a regression in gail which is now fixed).
1486 2002-03-04 Michael Meeks <michael@ximian.com>
1488 * test/test-simple.c (test_editable_text),
1489 (test_text): pass G_MAXINT instead of '-1' for
1490 whole string - is this a good thing !?
1492 * cspi/spi_accessible.c
1493 (Accessible_getRelationSet): fix crasher bug
1494 overwriting the end of the array.
1496 * test/test-simple.c (validate_accessible): free,
1497 not g_free returned relation set.
1499 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
1501 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
1502 implemented stateset support
1504 * idl/Accessibility_State.idl: Made necessary changes to
1505 the IDL to support state sets.
1507 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1509 * registryd/deviceeventcontroller.c:
1510 Added implementation for generateMouseEvent.
1512 * cspi/spi_registry.c:
1513 Connected new implementation for generateMouseEvent
1516 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1519 Incremented revision (but no change in public API
1520 outside of 'utils', which are not installed public yet.)
1522 * libspi/component.c:
1523 Changed to use atk_component API for layers and
1524 mdi_zorder, instead of deprecated atk_object API.
1526 Magnification Utility Enhancements:
1529 Added implementation of createZoomRegion, clearAllZoomRegions,
1530 resizeZoomRegion. Added new commandline argument
1531 "--no-initial-region". Note that clearAllZoomRegions doesn't
1532 unmap the old '0' region as it should (yet), and the other
1533 methods only work when creating/resizing a single region,
1534 which is "region 0".
1535 (Code for multiple region support will be added later.)
1538 Now we raise the magnifier window each time it's refreshed;
1539 this will help keep it on top.
1541 * util/mag_client.h:
1542 Added simple wrappers for above, used by mag_control.
1543 For general use, it's recommended to use the bonobo magnifier
1544 control API directly instead of using these wrappers.
1547 Moved ZoomRegionData from magnifier.c to this file.
1549 * util/mag_control.c:
1550 Added some code to exercise new IDL implementations.
1552 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
1554 * libspi/text.c: Provide implementation for getAttributes.
1556 2002-02-04 Bill Haneman <bill.haneman@sun.com>
1559 Incremented revision.
1561 * test/test-simple.c:
1562 Replaced use of deprecated g_main_iteration with
1563 g_main_context_iteration.
1565 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
1568 Incremented revision for desktop alpha 2.
1570 2002-01-28 Mark McLoughlin <mark@skynet.ie>
1572 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
1575 * test/simple-at.c: include netinet/in.h.
1577 2002-01-24 Mark McLoughlin <mark@skynet.ie>
1579 * cspi/spi_accessible.c: (Accessible_getRelationSet):
1580 use NULL, not CORBA_OBJECT_NIL.
1582 * libspi/accessible.c:
1583 (impl_accessibility_accessible_get_relation_set):
1584 allocate the sequence correctly.
1586 * libspi/remoteobject.h: kill spi_remote_object_new.
1588 * test/test-simple.c: (validate_accessible): add code
1589 to test relation sets, now all we need is to figure
1590 out how to excercise this code path :/
1592 2002-01-18 Michael Meeks <michael@ximian.com>
1594 * test/test-simple.c
1595 (key_listener_cb): consume the key.
1596 (test_keylisteners): update.
1597 (main): wait for any pending unrefs on events.
1599 * registryd/deviceeventcontroller.c
1600 (spi_controller_update_key_grabs): only re-issue the
1601 grab on a key release.
1602 (spi_device_event_controller_forward_key_event):
1603 refresh the keygrabs before we notify the listeners,
1604 to reduce the X ungrab / re-grab race.
1605 (spi_controller_register_with_devices): remove
1606 XSelectInput - we do that with the gdk_window_ call.
1607 (_spi_controller_device_error_handler): return a value.
1608 s/GDK_DISPLAY/spi_get_display/
1610 2002-01-17 Michael Meeks <michael@ximian.com>
1612 * registryd/deviceeventcontroller.c
1613 (_deregister_keygrab): don't blow out the later
1616 * test/test-simple.c (test_keylisteners): do a
1617 more intelligent validation.
1619 2002-01-14 Michael Meeks <michael@ximian.com>
1621 * atk-bridge/bridge.c
1622 (gnome_accessibility_module_init),
1623 (gnome_accessibility_module_shutdown): impl.
1624 (gtk_module_init): protect vs. double inits.
1625 (add_signal_listener): impl.
1626 (spi_atk_bridge_state_event_listener): kill
1627 (deregister_application): split out of
1628 (spi_atk_bridge_exit_func): here.
1630 2002-01-18 Bill Haneman <bill.haneman@sun.com>
1633 Added caret tracking when using magnifier, and
1634 now use text bounds for focus tracking of text elements, rather than
1635 the component bounds - this is helpful for short text fields in long
1636 table cells, at high magnification.
1638 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1640 * registryd/deviceeventcontroller.c:
1641 Regression fix for keylistener de-registration; global keygrabs
1642 were not being released when deregisterKeystrokeListener was
1643 called in cspi, since
1644 Accessibility_DeviceEventController_deregisterKeystrokeListener
1645 was called with a zero-length keyset. That is because the cspi
1646 method, SPI_deregisterKeystrokeListener, does not take a keyset
1647 parameter but instead should remove all the key grabs held be a
1649 The code in impl_deregister_keystroke_listener was changed to copy
1650 the keylist from the listener instance previously registered with
1651 the DeviceEventController before releasing the grabs.
1653 * registryd/registry.c:
1654 * registryd/deviceeventcontroller.c:
1655 * libspi/spi-private.h:
1657 Changed spelling of "re-enterant" to "re-entrant" globally.
1659 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1661 * test/test-simple.c:
1662 Changed key listeners test - the test was slightly mis-using the
1663 (admittedly poorly documented) SPI_generateKeyboardEvent API.
1664 It now uses '=' as the key event listened to and generated,
1665 relying on a keysym match rather than assuming that keycode 33
1666 is always equal to keysym '!'.
1668 2002-01-15 Bill Haneman <bill.haneman@sun.com>
1671 Changed simple-at to use a specific keyset, rather than
1672 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
1673 manager, desktop, etc.
1675 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1677 * registryd/deviceeventcontroller.c:
1678 Replaced standard X error handler with a special handler that
1679 is non-fatal for failed keygrabs. This works around
1680 problems with keygrab clashes sometimes observed on
1682 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
1683 mouse handling code as yet).
1685 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1688 Incremented revision for desktop alpha release.
1691 Fixed a couple of the more glaring errors (still not
1694 2002-01-11 Michael Meeks <michael@ximian.com>
1696 * registryd/deviceeventcontroller.c
1697 (spi_device_event_controller_forward_key_event): kill
1698 XUngrabKey / XKeyGrab race.
1699 (spi_controller_grab_keyboard): rename to
1700 (spi_controller_update_key_grabs): this, and deal
1701 with incremental adding / removing grabs more
1703 (_register_keygrab): ensure we're not pending a remove.
1704 (spi_grab_mask_free): impl.
1705 (spi_controller_register_global_keygrabs): split out
1707 (handle_keygrab): impl.
1708 (_deregister_keygrab): impl.
1709 (spi_controller_deregister_global_keygrabs): impl.
1710 (spi_controller_update_key_grabs): re-issue the grab if
1711 we just recieved a notification.
1713 * test/test-simple.c (key_listener_cb): remove debug.
1715 * registryd/deviceeventcontroller.c
1716 (spi_controller_register_device_listener): after
1717 registering a global keygrab, actualy register it !
1718 don't wait for a timeout; doh !
1720 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
1721 to make it more readable / manipulable.
1722 s/grabmask/grab_mask/ s/refcount/ref_count/
1723 s/keyval/key_val/ s/modmask/mod_mask
1725 2002-01-08 Michael Meeks <michael@ximian.com>
1727 * registryd/deviceeventcontroller.c
1728 (spi_controller_register_with_devices): use gdk calls to
1730 (global_filter_fn): implement the filter.
1731 (spi_device_event_controller_check_key_event): rename to
1732 (spi_device_event_controller_forward_key_event): this & upd.
1733 (spi_get_display): replace with GDK_DISPLAY.
1735 * registryd/deviceeventcontroller.c
1736 (spi_controller_deregister_device_listener): unroll into
1737 (impl_deregister_keystroke_listener): here to simplify.
1738 (spi_controller_register_global_keygrabs): split cut and
1739 paste (!) out into (_register_keygrab): here, shorter & sweeter.
1740 (spi_controller_deregister_device_listener): remove.
1741 (impl_register_mouse_listener): remove, no mouse listener
1742 support in at-spi-1.0
1744 * registryd/registry.c
1745 (_device_event_controller_hook): kill.
1746 (spi_registry_init): upd.
1748 * registryd/deviceeventcontroller.c
1749 (spi_device_event_controller_class_init): upd.
1750 (spi_check_key_event): merge into.
1751 (spi_device_event_controller_check_key_event):
1752 here and kill strange static ev init, don't leak
1753 the x_event - nor dynamicaly allocate it.
1755 * registryd/registry-main.c (main): re-direct
1756 timeout to remove strange vtable mess.
1758 * registryd/deviceeventcontroller.c
1759 (remove_listener_cb): impl.
1760 (spi_controller_deregister_device_listener):
1761 fix re-enterancy hazard.
1763 2002-01-07 Michael Meeks <michael@ximian.com>
1765 * registryd/deviceeventcontroller.c
1766 (spi_device_event_controller_new): upd.
1767 (impl_notify_listeners_sync): upd. debug.
1768 (spi_notify_keylisteners): fix re-enterancy hazards,
1769 prettify, remove O(n*n) iteration.
1770 (spi_controller_grab_keyboard): fix iteration.
1771 (spi_check_key_event): re-format to suit coding style.
1772 Clean all the warnings - we're warning free.
1774 * registryd/deviceeventcontroller.h:
1775 * registryd/registry.h: make mutualy referential with
1776 typesafe forward references instead of (!) void pointer
1779 2002-01-11 Michael Meeks <michael@ximian.com>
1781 * cspi/spi_accessible.c (role_names): add a role name
1782 to sync this array with the enum; and make the regression
1785 2002-01-10 Michael Meeks <michael@ximian.com>
1787 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
1788 allow expansion of enumeration & kill warning.
1790 * test/test-simple.c (key_listener_cb): impl.
1791 (test_keylisteners): impl.
1793 * cspi/spi-listener.h: make listener signatures const
1794 on the provided (const) events.
1796 * test/keysynth-demo.c: upd. to const events.
1798 * test/simple-at.c: ditto.
1800 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1803 Rev the version to 0.5 (the previous tarball was named 0.4,
1804 even though the micro number was 3), so we need to rev upwards
1805 again for beta2/"desktop-alpha"
1808 Checked in a demo script, which requires editing before use!
1809 Proceed with caution.
1812 Fixed typo in header which was redefining SPI_ACTION_CLASS.
1814 * cspi/spi_accessible.c:
1815 Add a couple of missing enum initializations, and fix some enum
1818 * cspi/spi_registry.c:
1819 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
1821 * docs/reference/cspi/at-spi-cspi-sections.txt:
1822 Remove/fix a couple of broken document references.
1825 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
1826 as Alt-Control to listen for commands, since on some systems
1827 Control-Alt may already be grabbed.
1829 2002-01-10 Bill Haneman <bill.haneman@sun.com>
1832 Update version number to 0.4 for Beta2.
1834 * libspi/accessible.c, libspi/accessible.h:
1835 Expose spi_accessible_construct, to enable libgail-gnome
1836 construction from spi_accessible subtype.
1838 * utils/magnifier.c:
1839 Workaround for bug in some non-gnome-compliant window managers
1840 which made magnifier resize improperly.
1842 2002-01-09 Bill Haneman <bill.haneman@sun.com>
1844 * libspi/accessible.c: (spi_accessible_new) :
1845 Move the test for SPI_IS_REMOTE_OBJECT to
1846 spi_accessible_new_return, fixing a bug and compile time warning.
1848 2002-01-08 Michael Meeks <michael@ximian.com>
1850 * registryd/registry.c (parse_event_type): remove strndup.
1852 * libspi/Makefile.am (libspi_la_SOURCES): remove
1853 sources already included in the headers section.
1855 * libspi/util.c: add.
1857 * libspi/spi-private.h: add.
1859 * registryd/registry.c: update to moved list iterators.
1861 2002-01-05 Michael Meeks <michael@ximian.com>
1863 * test/simple-at.c (main): upd. auto-module set to atk-bridge
1865 * test/test-simple.c (main): ditto.
1867 2002-01-04 Michael Meeks <michael@ximian.com>
1869 * libspi/accessible.c (spi_accessible_new): remove 2nd,
1870 redundant construct.
1872 * registryd/registry.c
1873 (get_listener_list): impl.
1874 (impl_accessibility_registry_register_global_event_listener):
1875 re-impl. to simplify using ~, remove dodgy const cast off.
1876 (parse_event_type): constify.
1877 (impl_accessibility_registry_deregister_global_event_listener_all):
1878 re-write, more efficiency and simplicity, kill re-enterancy
1880 (compare_listener_corbaref, compare_corba_objects),
1881 (compare_listener_quarks): define out.
1882 (impl_accessibility_registry_deregister_global_event_listener):
1883 re-write for effiency, and nail re-enterancy hazard.
1884 (impl_accessibility_registry_get_desktop_list): impl.
1885 (re_enterant_list_delete_link): impl.
1886 (re_enterant_list_foreach): impl.
1887 (remove_listener_cb): impl.
1888 (_registry_notify_listeners): kill.
1889 (notify_listeners_cb): impl.
1891 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
1892 (SPI_getDesktopList): impl.
1894 * test/test-simple.c (test_desktop): test the methods.
1896 2002-01-03 Michael Meeks <michael@ximian.com>
1898 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
1899 keystrings since we free them
1900 (SPI_freeAccessibleKeySet): in here.
1902 * libspi/accessible.c (spi_accessible_new): kill warning,
1903 wonder what is going on with the constructor here.
1905 2002-03-01 Bill Haneman <bill.haneman@sun.com>
1907 * libspi/accessible.c (spi_accessible_new ()) :
1908 Added check to see if AtkObject is an SpiRemoteObject before
1909 creating an SpiAccessible.
1911 2002-05-01 Bill Haneman <bill.haneman@sun.com>
1913 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
1914 Enable keygrabs using the Control modifier, now that they are
1915 working properly (they were previously disabled).
1918 Change the command keygrab for this demo to "Control+Alt", so as
1919 to conflict with fewer other key commands on the system; this
1920 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1922 Removed a pointlessly-chatty keylistener for unshifted keys
1923 (shifted keys are still reported).
1925 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1927 * libspi/remoteobject.h:
1928 * libspi/remoteobject.c:
1929 Added definitions for special AtkObject subtype, required for
1930 support of remote components (specifically, used by BonoboControl
1931 accessibility implementation).
1933 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1935 * cspi/spi.h: synched relation types with ATK
1937 * cspi/spi_accessible.c: Added implementations of
1938 AcccessibleRelation_* methods
1940 * idl/Accessibility_Relation.idl: added getRelationTypeName
1941 method. Synched known relation types with ATK. Allowed for
1942 relation type extension with the RELATION_EXTENDED type.
1944 * libspi/relation.c: Provided implementations for
1945 AccessibleRelation methods.
1947 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1949 API tweaks for today's API 'freeze'.
1952 Added placeholder functions to allow future compatible expansion
1953 of the IDL interfaces.
1955 * idl/Accessibility_Registry.idl:
1956 Changed generateKeyEvent to generateKeyboardEvent. Changed
1957 signature of this method to accept an optional keystring in
1958 parameter (for complex text input synthesis) and changed use of
1959 simple 'boolean' parameter in registerKeystrokeListener to a
1960 struct, EventListenerMode.
1962 * cspi/spi_accessible.c:
1964 * cspi/spi_streamablecontent.c:
1965 Added references to AccessibleStreamableContent interface, and
1966 definition and implementation of AccessibleStreamableContent
1969 * cspi/spi_registry.c:
1971 Changed generateKeyEvent API to generateKeyboardEvent,
1972 taking a new (optional) keystring parameter to support complex
1977 Renamed directory (to better reflect its actual purpose, bridging
1978 from at-spi to ATK). The .so module is also now named
1981 * idl/Accessibility_Hypertext.idl:
1982 * libspi/accessible.c:
1983 * libspi/hypertext.h:
1984 * libspi/hypertext.c:
1985 Changed Accessibility_Hypertext to *not* derive from
1988 * cspi/spi_registry.c:
1989 Added list of legal event type names for 'window' events, which
1990 completes the registry event API.
1992 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
1994 * at-bridge/bridge.c: Added registration for separate
1995 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1996 signals. If either of the first two parameters to the generic
1997 bridge signal handler are ints, they are passed on as event
1998 details. This allows an AT to determine what text was inserted.
2000 2001-12-21 Bill Haneman <bill.haneman@sun.com>
2002 * registryd/deviceeventcontroller.c:
2003 Fixed regressions in generateKeyEvent caused by the removal of
2004 gdk_init from registryd; we now use pure X calls to connect to the
2005 display, which makes sense because deviceeventcontroller already
2006 uses a fair bit of X API (should eventually be migrated to a
2007 'portability layer').
2009 * registryd/desktop.c:
2010 Fixed minor regression in spi_desktop_init, changed the way the
2011 desktop name is being set to work with new spi_base API
2012 (gobject-based, rather than AtkObject-based).
2014 * registryd/Makefile.am:
2015 Minor revision of makefile to use XTST_LIBS variable rather than
2016 hard-wiring the Xtst LD_ADD element.
2018 * test/keysynth-demo.c:
2019 Tweaked an output message; added initialization of the
2020 'keystrings' member of the "switch listener" key_set.
2022 * libspi/relation.c:
2023 Squashed compile-time warning.
2025 * libspi/accessible.c:
2026 Cosmetic and formatting fixes, renamed a static method.
2028 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
2030 * libspi/accessible.c
2032 * libspi/application.c
2035 * libspi/component.c
2036 * libspi/editabletext.c
2037 * libspi/hyperlink.c
2038 * libspi/hypertext.c
2040 * libspi/selection.c
2044 * registryd/desktop.c:
2045 Changed SpiBase to contain a GObject pointer rather than an AtkObject
2047 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2049 * idl/Accessibility_Registry.idl:
2050 Added boolean member 'is_text' to DeviceEvent. This is for the
2051 use of key events, and helps prevent ambiguity between composed
2052 key strings and keysym names, since both may potentially be
2053 returned in the 'event_string' member.
2055 * at-bridge/bridge.c:
2056 * registryd/deviceeventcontroller.c:
2057 Use the 'is_text' member when notifying device event listeners.
2058 Knon issue: composed characters are not dealt with correctly by
2059 the global key listener implementation yet.
2061 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2063 * at-bridge/bridge.c:
2064 Namespaced local static methods to spi_atk_bridge_* where
2065 previously named bridge_*, and spi_* elsewhere.
2067 * at-bridge/bridge.c:
2068 * cspi/bonobo/cspi-bonobo-listener.c:
2069 Added demarshalling/conversion for string member of
2070 Accessibility_DeviceEvent to AccessibleKeystroke.
2072 * registryd/deviceeventcontroller.c:
2073 Added code to fill the Accessibility_DeviceEvent key string value
2074 member for global key events (i.e. from XGrabKey), to match
2075 behavior of Accessibility_DeviceEvent from the toolkit key events
2076 from the bridge. Fixed timestamp in global key event notifications.
2079 Added printout of key event's string value to
2080 report_ordinary_key_event, for demo/debugging purposes.
2082 2001-12-15 Bill Haneman <bill.haneman@sun.com>
2084 * idl/Accessibility_Registry.idl:
2085 Removed Accessibility_KeyStroke structure in favor of generic
2086 Accessibility_DeviceEvent structure.
2087 Changed Accessibility_ControllerEventMask from a struct to an
2090 * at-bridge/bridge.c:
2091 Changed APIs to use DeviceEvent structure as above, and removed
2092 bogus casting between these event structures.
2094 * cspi/spi-listener.h:
2095 Added keystring member of AccessibleKeystroke structure, to enable
2096 matching on event "names" rather than only hardware codes and
2100 Added keystrings member of AccessibleKeySet struct, to allow
2101 matching on event names (as above).
2102 Added declarations for SPI_createAccessibleKeySet and
2103 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
2104 event modmasks directly as unsigned ints rather than structs with
2105 refcounts, in the DeviceEventController methods.
2107 * cspi/spi_registry.c:
2108 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
2110 * cspi/spi-roletypes.h:
2111 Added documentation of newly added SPI Roles.
2113 * cspi/bonobo/cspi-bonobo-listener.c:
2114 Changes in support of API changes above.
2116 * libspi/accessible.c:
2117 Converted APIs to use DeviceEvent structure (see IDL changes
2120 * registryd/deviceeventcontroller.c:
2121 Added DEControllerGrabMask structure to track keygrabs not only by
2122 modmask but by keyset as well; this allows us to do "global"
2123 (i.e. X) keygrabs on a per-key or keyset basis rather than always
2124 grabbing on AnyKey and then filtering after-the-fact.
2125 Bugfixes for event filtration mean that we don't get false matches
2126 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
2128 * registryd/deviceeventcontroller.c:
2129 Namespaced a number of static methods to use spi_ prefix. Major
2130 revision to internals of global (i.e. X) key grabs.
2132 * registryd/deviceeventcontroller.h:
2133 Removed keymask_list and added keygrabs_list to
2134 SpiDeviceEventController struct.
2137 Added use of SPI_createAccessibleKeySet API when creating a
2138 listener for only one key. Attach a listener to "shift spacebar
2139 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
2140 X key event names to SPI key event names, so that listeners are
2141 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
2143 * test/keysynth-demo.c:
2144 Changed (incorrect) use of X key event names (KeyPressed,
2145 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
2148 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2150 * libspi/accessible.c:
2151 Convert all AtkRole enumerations to Accessibility_Role enums when
2152 getting a role from an AtkObject.
2154 * cspi/spi_accessible.c:
2155 Complete the conversion of Accessibility_Role enums at runtime to
2156 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
2157 role enums correctly match those given in spi-roletypes.h.
2158 Re-synchronize the local names list for AccessibleRole_getName ().
2159 AccessibleRole_getName is now deprecated, since it duplicates the
2160 more reliable Accessible_getRoleName.
2161 Added some role types from Accessibility_Role.idl.
2163 * idl/Accessibility_Role.idl:
2164 Added some role types used by AtkRole.
2166 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2169 * cspi/spi_registry.c:
2171 * cspi/cspi-bonobo-listener.c:
2172 Namespaced all methods that did not begin with an "SPI_" or
2173 "Accessible" prefix to "SPI_".
2176 Homogenized internal function namespace to "cspi_" for statics.
2179 Patched tests to use the new CSPI API.
2181 * docs/reference/cspi/at-spi-cspi-sections.txt:
2182 Updated docs to reflect namespace changes, and added a number of
2183 methods to the documentation.
2185 * registryd/registry.c:
2186 Changed use of strings and string hashes in listener event
2187 matching and parse_event_string to use GQuark, which is guaranteed
2190 * registryd/registry.h:
2191 Squashed annoying warning.
2193 * idl/Accessibility_Role.idl:
2194 Extended range of available Accessibility_Role values.
2196 * cspi/spi_accessible.c:
2197 Re-ordered role names.
2199 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2201 * idl/Accessibility_Value.idl:
2202 Revert use of union back to CORBA_double, since the double type is
2203 more efficient and can contain the other types without loss of
2206 * idl/Accessibility_Accessible.idl:
2207 Added method Accessibility:Accessible:getRoleName, to complement
2208 Accessibility:Accessible:getRole.
2210 * cspi/spi_accessible.c:
2212 Added C binding for above, Accessible_getRoleName (), and changed
2213 signature of Accessible_getRole () to return an AccessibleRole.
2215 * cspi/spi-roletypes.h:
2216 Changed AccessibleRole_getName to return a char * instead of a
2217 const char *. This method is now at least temporarily deprecated
2218 in favor of asking Accessibles for their RoleNames directly.
2221 Revert to match Accessibility_Value.idl;
2225 Change signature of AccessibleValue methods to use double rather
2229 * cspi/spi_accessible.c:
2230 Changed Accessible_getRole to return an AccessibleRole enum rather
2231 than a UTF-8 string. The UTF-8 string can still be obtained via
2232 AccessibleRole_getName ().
2234 * test/test-simple.c:
2235 Add test_action. Small fixup to match API change to Accessible_getRole.
2238 Bugfix for get_action_from_servant ().
2240 2001-12-11 Michael Meeks <michael@ximian.com>
2242 * libspi/libspi.h: remove registry.h and
2243 desktop.h, deviceeventcontroller.h
2245 * libspi/Makefile.am: remove registry.[ch],
2246 desktop.[ch], deviceeventcontroller.[ch]
2248 * registryd/Makefile.am: add registry.[ch],
2249 desktop.[ch], rename registryd.c to registry-main.c.
2250 add deviceeventcontroller.[ch]
2252 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2255 Replace setenv() call with putenv ().
2257 * libspi/component.c:
2258 Bugfix in AccessibleComponent_getExtents (),
2261 2001-12-11 Michael Meeks <michael@ximian.com>
2263 * libspi/image.c (impl_getImageExtents): impl.
2264 (spi_image_class_init): upd.
2267 (AccessibleImage_getImageDescription): fix daft bug
2270 * test/test-simple.c (global_listener_cb): update
2271 to only quit if not --poke
2272 (main): catch --poke.
2273 (validate_accessible): upd. dumping, call test_image
2276 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
2279 * idl/Accessibility.idl: update all IDL includes.
2281 * idl/*.idl - rename to namespace - this sucks, blame
2282 mjs' bad decision for oafd.
2284 * test/test-simple.c (create_test_window): add more tests.
2285 (create_tree): split this out.
2286 (validate_accessible): bugfix.
2288 2001-12-11 Michael Meeks <michael@ximian.com>
2290 * cspi/bonobo/cspi-bonobo-listener.c:
2291 (cspi_kestroke_listener_unref),
2292 (cspi_event_listener_unref): impl. undoing previous
2293 homenous environment - for Bill.
2295 * cspi/spi_table.c (long_seq_to_array): use
2298 * cspi/spi_main.c: split out all bonoboish bits into
2301 * cspi/spi-impl.h: upd. typedefs.
2303 * cspi/spi_registry.c: update to lowlevel API,
2304 return booleans to indicate success in some places.
2306 * cspi/spi_event.c: update to lowlevel API.
2308 * cspi/bonobo/Makefile.am: add.
2310 * cspi/bonobo/cspi-lowlevel.h: add
2312 * cspi/bonobo/cspi-bonobo.c: add
2314 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
2316 * cspi/Makefile.am: remove spi-listener-impl.[ch],
2317 (SUBDIRS): add bonobo, link in the libs.
2319 * cspi/spi-util.c: kill this file.
2321 * TODO: merge in my bits.
2323 2001-12-11 Michael Meeks <michael@ximian.com>
2325 * test/test-simple.c (test_value, test_table, main):
2326 remove unused variables causing warnings.
2328 * configure.in: cleanup checks - require gail.
2330 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2333 Changed Value interface to use SValue (scalars) rather than
2334 assuming all values are floats. This allows floats, doubles,
2335 longs, shorts, and unsigned values to be manipulated.
2336 Introduced Accessibility:SValue union.
2339 Updated to use new API above, and to work correctly with GValues
2340 of different types in AtkValue.
2343 Updated to use new API above. cspi's API is as yet unchanged.
2346 Updated the Value revision action item.
2348 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2350 * test/test-simple.c:
2351 Added test_table (GtkTreeView widget in test window to follow).
2352 Un-commented test_value, added GtkRange widget.
2353 Added GtkTreeView widget with GtkListStore. It passes regression
2354 test but leaks one SPI object for some reason.
2357 Fixed bug in impl__set_currentValue.
2359 2001-12-10 Michael Meeks <michael@ximian.com>
2361 * cspi/spi_text.c: audit for exception handling,
2362 tolerating NULL object references safely etc.
2364 * cspi/spi_value.c: ditto.
2366 * cspi/spi_table.c (AccessibleTable_getSummary),
2367 (AccessibleTable_getAccessibleAt),
2368 (AccessibleTable_getRowHeader),
2369 (AccessibleTable_getColumnHeader),
2370 (AccessibleTable_getCaption): fix bugs hidden by
2372 (long_seq_to_array): impl.
2373 (AccessibleTable_getSelectedRows),
2374 (AccessibleTable_getSelectedColumns): use it.
2376 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2379 Added a TODO list (rough and short for now).
2381 * cspi/spi_hyperlink.c:
2382 * cspi/spi_hypertext.c:
2383 Fixed macro name typos, and remove use of obsolete macro in
2384 AccessibleHyperlink_getLink.
2386 * cspi/spi_action.c:
2387 * cspi/spi_accessible.c:
2388 * cspi/spi_application.c:
2389 * cspi/spi_component.c:
2390 * cspi/spi_selection.c:
2393 Documentation fixes (removed return values from ref/unref methods).
2395 2001-12-10 Michael Meeks <michael@ximian.com>
2397 * cspi/spi_action.c: audit for exception handling,
2398 tolerating NULL object references safely etc.
2400 * cspi/spi_accessible.c: ditto.
2402 * cspi/spi_component.c: ditto.
2404 * cspi/spi_editabletext.c: ditto.
2406 * cspi/spi_hyperlink.c: ditto.
2408 * cspi/spi_hypertext.c: ditto.
2410 * cspi/spi_image.c: ditto.
2412 * cspi/spi_selection.c: ditto.
2414 2001-12-10 Michael Meeks <michael@ximian.com>
2416 * configure.in: use cspi/libspi.pc.in instead.
2418 * Makefile.am (pkgconfig_DATA): upd. to match.
2420 * test/simple-at.c (report_focus_event): kill hacks around
2421 bad return values, use putenv not setenv
2423 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
2424 fire ChildGone - I killed it.
2426 * libspi/component.c
2427 (impl_accessibility_component_get_extents): remove
2430 * idl/Accessible.idl: kill ChildGone exception.
2432 * cspi/*.[ch]: kill int return from ref / unref.
2434 * cspi/spi_main.c (cspi_object_add_check): fold into
2435 (cspi_object_add): here.
2437 * cspi/spi_component.c (AccessibleComponent_getExtents):
2438 handle exceptions elegantly.
2440 * cspi/spi-private.h (cspi_check_ev_return),
2441 (cspi_return_if_fail): impl.
2443 * cspi/spi_accessible.c: use extensively.
2444 (AccessibleStateSet_equals): add direct compare check.
2446 * cspi/spi_selection.c: tolerate NULL objs, and check
2447 exceptions before return.
2449 * cspi/spi-util.c (cspi_warn_ev): rename to
2450 (cspi_check_ev): this & don't pass ev in; no point.
2452 2001-12-10 Michael Meeks <michael@ximian.com>
2454 * test/test-simple.c: use putenv not setenv
2455 (get_environment_vars): more chatty if you're not using
2458 * test/simple-at.c: do the setenv so more people see the
2461 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2463 * libspi/registry.c:
2464 Changed check of CORBA_environment on notification to be a warning
2465 instead of an error for the moment, since we can recover from this
2466 error when caused by a queued notification from a dead app.
2469 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
2470 used by all current implementors of AtkValue), and coerce to
2471 CORBA_float. (Proper general case fix may require change to Value.idl).
2473 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2477 * cspi/spi_accessible.c:
2478 Documentation fixes: added user_data params to documentation for
2479 listeners and callbacks.
2481 * cspi/spi_accessible.c:
2482 Changed AccessibleStateSet_compare to return a
2483 StateSet rather than return the difference set into a third parameter.
2486 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2489 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
2490 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
2494 Remove subdirectory po from SUBDIRS for now.
2496 * at-bridge/bridge.c:
2497 Beefed up a couple of debug printouts.
2498 One-line fix for signal notification name formatting.
2500 * libspi/accessible.c:
2501 Added assertion to spi_accessible_new ().
2503 * libspi/application.c:
2504 Put #ifdef qualifiers around a printf.
2507 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
2509 * registryd/Makefile.am:
2511 Replaces use of XML_I18N_MERGE_SERVER_RULE with
2512 INTLTOOL_SERVER_RULE macro.
2515 Added an event listener for several ATK signals, for
2516 testing and debugging. Removed a few g_warnings.
2517 Added test output if focussed item implements the Value interface.
2519 * test/test-simple.c:
2520 Added test_value () function (known not to pass at the moment, so
2521 not actually called yet.
2523 2001-12-08 Michael Meeks <michael@ximian.com>
2525 * at-bridge/bridge.c (bridge_focus_tracker),
2526 (emit_eventv): fix the same ref. leak.
2527 (register_atk_event_listeners): don't leak.
2529 * cspi/spi-listener-impl.c (cspi_event): more
2530 protection from client code.
2532 * test/test-simple.c (test_desktop): unref the app.
2534 * test/Makefile.am: upd. TESTS.
2536 * at-bridge/bridge.c (bridge_exit_func): release the registry.
2538 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
2540 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
2542 * cspi/spi_registry.c: constify in strings.
2543 (deregisterGlobalEventListenerAll): don't release the ref.
2545 * cspi/spi.h: start removing redundant / conflicting
2546 gtkdoc comments, making the API readable at a glance :-)
2548 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
2550 * test/keysynth-demo.c (keysynth_exit, main): upd.
2552 * test/simple-at.c (main, simple_at_exit): upd.
2554 * test/test-simple.c (unutterable_horror): kill.
2555 (utterable_normal_derefs): kill.
2556 (main): upd & do a setenv before gtk_init, so that we
2557 can use memprof - and to save the pain of remembering
2558 this, if we're running under memprof - don't exit.
2560 * cspi/spi_main.c (SPI_exit): return exit status
2562 (SPI_event_quit): impl.
2563 (SPI_event_main): simplify.
2564 (cspi_is_gnome_app): kill.
2565 (SPI_init): kill isGNOMEapp arg.
2567 * at-bridge/bridge.c (register_atk_event_listeners):
2568 re-instate the unref.
2569 (bridge_exit_func): don't re-activate the registry,
2570 protect vs. theoretical re-entry, use the
2571 AT_BRIDGE_SHUTDOWN env. var to determine whether to
2572 assert a clean shutdown - for regression tests.
2574 2001-12-08 Abel Cheung <maddog@linux.org.hk>
2576 * configure.in: Comment out dummy i18n support for now,
2577 otherwise it fails to build.
2578 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
2579 EXTRA_DIST. They are missing in tarball.
2581 2001-12-07 Michael Meeks <michael@ximian.com>
2583 * util/magnifier.c: kill bonobo activation reg. race.
2585 * libspi/component.c
2586 (impl_accessibility_component_get_extents): make it match
2589 * libspi/registry.c (_registry_notify_listeners):
2590 re-remove X headers & reconcile conflicts.
2591 (spi_listener_struct_free): bad conflict resolve.
2592 (impl_accessibility_registry_register_application):
2593 more bad merging fixed.
2594 (impl_accessibility_registry_deregister_application): ditto.
2595 (spi_registry_new): ditto.
2596 (spi_registry_init): don't have an applications field.
2598 [ merge fixups2 branch to here ]
2599 2001-12-07 Michael Meeks <michael@ximian.com>
2601 * test/simple-at.c (report_focus_event),
2602 (report_focussed_accessible): remove g_warning debug.
2604 2001-12-07 Michael Meeks <michael@ximian.com>
2606 * test/test-simple.c (validate_tree): comment out some checks.
2607 (test_desktop): app now not registered idly - horay.
2609 2001-12-07 Michael Meeks <michael@ximian.com>
2611 * cspi/spi_registry.c
2612 (registerAccessibleKeystrokeListener): clean, stop it leaking
2613 great swathes of memory, and device event controller references.
2614 ensure we always pass valid sequences.
2615 (deregisterAccessibleKeystrokeListener): ditto.
2616 (generateKeyEvent): upd.
2618 * at-bridge/bridge.c (bridge_key_listener): handle
2619 registry dead exception gracefully.
2620 (bridge_focus_tracker, emit_eventv): free ev.
2622 * test/simple-at.c (report_focus_event): fix polarity.
2624 * libspi/application.c (notify_listeners): kill the ev
2625 argument, and make sure we init the ev we use.
2626 (spi_application_object_event_listener): split out a chunk
2627 (get_atk_object_ref): here & fixup.
2628 (reverse_lookup_name_for_toolkit_event): make const.
2629 (spi_application_toolkit_event_listener): fixup, kill leaks
2632 * at-bridge/bridge.c (register_atk_event_listeners):
2633 don't unref the noop object - causes grief.
2635 * libspi/registry.c: remove the X headers.
2636 turn off the debug churn.
2638 * libspi/accessible.c (spi_accessible_new_return): only
2639 release the ref if we are supposed to [doh]
2641 * test/simple-at.c (report_button_press, report_focus_event):
2642 guard vs. unexpected exit.
2644 * at-bridge/bridge.c (gtk_module_init): prune printf.
2645 (bridge_exit_func): fix app unref.
2647 * libspi/Makefile.am: don't install registry or desktop.h
2649 * libspi/*.h: update includes.
2651 * libspi/application.h: don't include ourself, or
2652 other redundant headers.
2654 2001-12-06 Michael Meeks <michael@ximian.com>
2656 * libspi/accessible.c
2657 (get_accessible_from_servant): impl.
2658 Upd. all CORBA impl.s to use it killing cut and paste.
2660 * cspi/spi_main.c (cspi_cleanup): guard vs. double
2662 (SPI_init): register atexit cleanup handler here.
2664 2001-12-06 Michael Meeks <michael@ximian.com>
2666 * at-bridge/bridge.c (gtk_module_init): g_error on
2667 activation exception
2669 2001-12-06 Michael Meeks <michael@ximian.com>
2671 * at-bridge/bridge.c (gtk_module_init): some sort of
2672 confusing merge clash - reverted.
2673 (bridge_idle_init): ditto.
2675 * test/test-simple.c (main, utterable_normal_derefs):
2676 merge from Bill - somehow not committed.
2678 2001-12-06 Michael Meeks <michael@ximian.com>
2680 * libspi/value.c (spi_value_class_init): upd.
2681 (spi_value_finalize): kill.
2683 * libspi/table.c (spi_table_finalize): kill.
2684 (spi_table_interface_new): upd.
2685 (spi_table_class_init): upd.
2686 (get_table_from_servant): impl.
2687 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2689 * libspi/selection.c (spi_selection_finalize): kill.
2690 (spi_selection_interface_new): upd.
2691 (spi_selection_class_init): upd.
2692 (get_selection_from_servant): impl.
2693 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2695 * libspi/relation.c (spi_relation_finalize): kill.
2696 (spi_relation_class_init, spi_relation_new): upd
2698 * libspi/image.c (spi_image_finalize): kill.
2699 (spi_image_class_init): upd.
2700 (spi_image_interface_new): upd.
2701 (get_image_from_servant): impl.
2702 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2704 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
2705 (spi_hyperlink_finalize): kill.
2706 (spi_hyperlink_new): upd.
2707 (get_hyperlink_from_servant): impl.
2708 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2710 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
2711 (spi_hypertext_finalize): kill.
2712 (spi_hypertext_class_init): upd.
2713 (get_hypertext_from_servant): impl.
2714 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2716 * libspi/editabletext.c (spi_editable_text_finalize): kill.
2717 (spi_editable_text_interface_new): upd.
2718 (get_editable_text_from_servant): impl.
2719 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2721 * libspi/text.c (get_text_from_servant): impl.
2722 All impls - update to use it killing more cut and paste,
2723 also fix bad string returns on duff args ( a somewhat
2724 impossible case to handle - but hey ).
2725 (spi_text_construct): impl.
2726 (spi_text_interface_new): upd.
2727 (spi_text_object_finalize): kill.
2729 * libspi/component.c
2730 (accessibility_component_object_finalize): kill.
2731 (spi_component_class_init): upd.
2732 (get_component_from_servant): impl. helper to kill cut & paste.
2733 (impl_accessibility_component_contains):
2734 (impl_accessibility_component_get_accessible_at_point):
2735 (impl_accessibility_component_get_position):
2736 (impl_accessibility_component_get_extents):
2737 (impl_accessibility_component_get_mdi_z_order):
2738 (impl_accessibility_component_get_layer):
2739 (spi_component_interface_new): upd.
2741 * libspi/action.c (spi_action_finalize): kill.
2742 (spi_action_class_init): upd. inherit from SpiObject.
2743 (spi_action_interface_new): upd.
2744 (get_action_from_servant): impl. helper to reduce cut & paste.
2745 (impl_getKeyBinding, impl_getName, impl_doAction),
2746 (impl_getDescription): Use it everywhere.
2748 * cspi/spi_main.c (get_live_refs): a pointer hash.
2749 (spi_object_hash, spi_object_equal): comment out.
2750 There are issues with CORBA object hashing that need
2753 * libspi/application.c (spi_application_init),
2754 (spi_application_new): upd.
2756 * libspi/accessible.c (spi_accessible_object_finalize): kill.
2757 (spi_accessible_class_init): upd.
2758 s/accessible/object/ in epv methods.
2760 2001-12-05 Bill Haneman <bill.haneman@sun.com>
2762 * at-bridge/bridge.c:
2763 Reorder the bridge initialization into the bridge gtk_module_init,
2764 an immediate call to bridge_register_app, and an idle_add for
2765 register_atk_event_listeners (the only code that *must* wait until
2766 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
2767 the activation, creates the application's Accessible object, and
2768 queues the bridge_idle_init function. Restored call to
2769 Accessibility_Registry_deregisterApplication().
2770 Prior to making this call we obtain a new reference to the
2771 registry, which is a temporary hack that helps us handle apps that
2772 shut down the bonobo mainloop before we get there.
2774 * libspi/registry.c:
2775 Fix string leakage in debug block, and don't segv if a an app
2776 dies before its event notifications have been propagated.
2779 Modify cspi_check_ev() to call g_warning() rather than g_error(),
2780 as stopgap measure until we get proper exception handling when
2781 objects die during or before interrogation.
2785 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
2786 Also changed default value of is_gnome_app to TRUE.
2789 * test/keysynth-demo.c:
2790 Changed use of SPI_init and SPI_event_main to reflect API change above.
2793 Made report_focus_event check the warning value from getName
2794 before reporting on focussed accessible; simplifies handling of
2795 notifications from dead objects.
2797 * test/test-simple.c: (Changes not in this patch since source is
2800 2001-12-05 Michael Meeks <michael@ximian.com>
2802 * registryd/registryd.c (main): protect against
2803 bonobo-activation startup race condition.
2805 * cspi/spi_main.c (cspi_object_add_check): cope
2806 with the exception elegantly.
2808 * idl/Accessible.idl: decl. ChildGone
2810 * libspi/desktop.c (spi_desktop_dispose): impl.
2811 (spi_desktop_class_init): upd.
2812 (spi_desktop_add_application),
2813 (spi_desktop_remove_application),
2814 (abnormal_application_termination): impl.
2815 (impl_desktop_get_child_at_index): re-impl.
2818 (impl_accessibility_registry_deregister_application),
2819 (impl_accessibility_registry_register_application):
2820 kill excessive debug clutter.
2822 * test/test-simple.c (test_misc): test some NULL
2823 tolerance. (main): upd.
2825 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
2826 implements no interfaces - so let's not crash.
2828 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
2830 * libspi/accessible.c (spi_accessible_new_return): impl.
2831 helper to calm the cut and paste, to cope with
2832 NULL AtkObjects effectively and efficiently, and to kill
2833 the referencing bugs.
2835 * libspi/table.c (impl_getAccessibleAt),
2836 (impl_getRowHeader, impl_getColumnHeader): upd.
2838 * libspi/hyperlink.c (impl_getObject): upd.
2840 * libspi/accessible.c
2841 (impl_accessibility_accessible_get_child_at_index): upd.
2843 * libspi/component.c
2844 (impl_accessibility_component_get_accessible_at_point): upd.
2846 * test/test-simple.c (test_editable_text, test_text): impl.
2849 * cspi/spi_editabletext.c
2850 (AccessibleEditableText_insertText): constify.
2852 * test/test-simple.c (focus_me): make more robust.
2854 * libspi/accessible.c: remove some printfs in methods that
2855 we test and work fine, so we can get a clean tree dump.
2857 * test/test-simple.c (validate_accessible),
2858 (validate_tree): make tree dumping pretty too.
2860 * at-bridge/bridge.c (bridge_signal_listener): upd. so
2861 it builds without debug on.
2863 * test/test-simple.c (validate_accessible): fix the most
2866 * cspi/spi_main.c (spi_object_release): leave the nicely
2867 blanked memory around if in debug mode.
2869 * cspi/spi-listener-impl.c (cspi_event): use add_check.
2871 [committed to fixups2]
2872 2001-12-05 Michael Meeks <michael@ximian.com>
2874 * libspi/editabletext.c
2875 (spi_editable_text_class_init): g_type_class_peek_parent,
2876 not interface peek - so we finalize cleanly.
2878 * libspi/accessible.c (spi_accessible_new): kill debug.
2880 * test/test-simple.c (validate_accessible): fix ref.
2881 leak, print strings before freeing them; sigh, comment a
2882 chunk out due to strangeness.
2883 (validate_tree): unref the child after use.
2885 * cspi/spi_component.c (AccessibleComponent_getLayer):
2886 add missing break statement, switch on zlayer not the
2887 uninitialized retval.
2889 * cspi/spi_main.c (cspi_object_add): add assert, local ref
2890 before (possibly re-entering) remote unref.
2892 * test/simple-at.c (main): unref the desktop.
2894 * cspi/spi_accessible.c (cspi_accessible_is_a): move
2897 * cspi/spi_main.c (cspi_accessible_is_a): here to
2898 isolate bonobo API usage more.
2900 * libspi/registry.c (impl_accessibility_registry_register_application):
2901 prune bogus comment.
2903 2001-12-04 Michael Meeks <michael@ximian.com>
2905 * test/test-simple.c (validate_tree): upd.
2906 IndexInParent check to make it more lucid.
2907 (validate_accessible): dump the tree.
2909 * libspi/accessible.c (de_register_public_ref),
2910 (get_public_refs): impl.
2911 (spi_accessible_new): make more efficient & intuitive.
2912 Now IndexInParent check works.
2914 2001-12-04 Michael Meeks <michael@ximian.com>
2916 * cspi/spi-util.h: remove.
2918 * cspi/spi.h: move SPI_freeString here
2920 * libspi/component.c (impl_accessibility_component_get_layer):
2922 (impl_accessibility_component_get_mdi_z_order): ditto,
2923 return -1 on error - is this ok ?
2925 * test/test-simple.c (test_application): impl.
2927 * cspi/spi_accessible.c (Accessible_getApplication),
2928 (Accessible_isApplication): impl.
2930 * libspi/registry.c (spi_listener_struct_free): release
2931 the CORBA reference too.
2933 * libspi/accessible.c
2934 (impl_accessibility_accessible_get_parent): fix ref leak.
2936 * libspi/registry.c (spi_registry_new): make the registry
2937 immortal - we don't want it to go away ever.
2939 * libspi/application.c
2940 (spi_accessible_application_finalize): impl. cleanup.
2942 * cspi/spi_registry.c
2943 (deregisterGlobalEventListenerAll),
2944 (deregisterGlobalEventListener),
2945 (deregisterAccessibleKeystrokeListener): fix ref leak.
2947 * cspi/spi_main.c (SPI_init): remove redundant ref.
2949 * test/test-simple.c (unutterable_horror): impl. to force a
2954 (impl_accessibility_registry_deregister_application): release
2955 the application when we de-register it.
2957 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2958 until we have the infastructure to get it right.
2960 2001-12-03 Michael Meeks <michael@ximian.com>
2962 * libspi/Makefile.am: only build eventlistener.[ch]
2964 * libspi/accessible.c
2965 (impl_accessibility_accessible_get_child_at_index): don't leak.
2967 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2968 before we hit the idle handler.
2970 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2971 debugging than exit.
2973 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2975 * libspi/listener.c (impl_notify_event): check source
2976 not NIL before unref.
2978 * libspi/registry.c (impl_registry_notify_event): ditto.
2980 * libspi/eventlistener.c
2981 (impl_accessible_event_notify_event): unref the source.
2983 * libspi/accessibleeventlistener.c
2984 (impl_accessible_event_notify_event): unref the source.
2986 * idl/Event.idl: remove 'hash_id' attribute - of no
2989 * libspi/application.c (notify_listeners): upd list
2991 (spi_application_object_event_listener),
2992 (spi_application_toolkit_event_listener): upd to do correct
2996 (_registry_notify_listeners): update.
2997 (parse_event_type): this method also leaks like a sieve.
2998 (impl_accessibility_registry_deregister_global_event_listener):
2999 fix ETYPE_WINDOW case.
3001 * libspi/application.c
3002 (impl_accessibility_application_register_object_event_listener):
3005 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
3007 * libspi/hypertext.c (impl_getLink): ditto.
3009 * cspi/spi_main.c (cspi_object_add): remove
3010 bogus CORBA_Object_duplicate.
3012 * cspi/spi-listener-impl.c (cspi_event): dup/ref
3015 * cspi/spi_accessible.c
3016 (Accessible_getRelationSet): fix leak / referencing issue.
3018 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
3019 (cspi_object_add, cspi_object_unref): upd.
3020 (spi_object_release, get_live_refs): impl.
3021 (cspi_cleanup): simplify.
3023 * *.[ch]: s/boolean/SpiBoolean/
3025 * cspi/spi_accessible.c (role_names): actualy order so it
3026 corresponds with the enum !
3028 * test/test-simple.c (test_roles): check some role strings
3029 vs. enums to detect offset errors.
3031 2001-12-01 Michael Meeks <michael@ximian.com>
3033 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
3035 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
3037 (Accessible_getChildAtIndex): use cspi_add_check so we
3038 check the ev before using a (possibly) invalid value.
3040 * libspi/accessible.c
3041 (impl_accessibility_accessible_get_parent): don't segv
3044 * at-bridge/bridge.c (gtk_module_init): upd.
3045 (bridge_property_event_listener): don't leak strings
3047 (bridge_state_event_listener),
3048 (bridge_property_event_listener): don't use a static
3049 buffer in case of recursive event emission &
3050 re-enterancy - split out the swathe of cut and paste
3052 (emit_eventv): and fix 2 ref leaks here & comply to the
3054 (bridge_register_app): rename to
3055 (bridge_idle_init): this and kill arg parsing, split
3056 various inits & bonobo-activation registration to module
3057 init time, kill referencing error.
3058 (bridge_exit_func): fix the same leak.
3059 (bridge_focus_tracker): don't leak event structures
3061 (bridge_signal_listener): more leakage and cut & paste
3063 (bridge_key_listener): return the result - FIXME is
3064 this polarity correct ?
3065 (accessibility_keystroke_from_atk_key_event): rename
3066 (accessibility_init_keystroke_from_atk_key_event): and stop
3068 (gtk_module_init): return a value - not that it is checked by
3070 (bridge_key_listener): register my horror at casting between
3071 IDL defined structs.
3072 (bridge_get_registry): kill - not used.
3074 * cspi/spi_accessible.c (Accessible_getRole): make return const.
3076 * test/test-simple.c (test_roles): impl.
3077 (test_desktop, validate_accessible, validate_tree): impl.
3079 * cspi/spi_accessible.c (role_names): fixup bogus
3080 MAX_ROLES setup, make constants const for efficient linkage
3081 (AccessibleRole_getName): conform to coding style, make
3084 2001-11-30 Michael Meeks <michael@ximian.com>
3086 * cspi/spi.h: add missing prototype.
3088 * libspi/registry.c (spi_listener_struct_new): fix sig.
3090 * test/Makefile.am: add test-simple
3092 * test/test-simple.c: add
3094 * test/test.sh: add.
3096 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
3098 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
3099 do it straight - since otherwise we often get an activation race.
3101 [ work before Bill duplicated a chunk of it ... ]
3102 2001-11-30 Michael Meeks <michael@ximian.com>
3104 * libspi/keystrokelistener.c
3105 (spi_keystroke_listener_class_init): fixup arg
3108 * libspi/eventlistener.c
3109 (spi_event_listener_class_init): ditto.
3111 * tests/test.sh: add.
3113 * cspi/spi-listener-impl.h: update macros.
3115 * cspi/spi-listener-impl.c
3116 (cspi_event_listener_remove_callback): add
3117 correct pre-conditions.
3119 * cspi/spi_main.c (SPI_exit): guard vs. double
3120 exits, exit the mainloop nicely.
3121 (SPI_event_main): make more sense.
3122 (SPI_init): move the atexit evilness here so we
3123 always do it (yuck).
3124 (SPI_event_main): upd.
3126 * test/simple-at.c: update for listener changes.
3128 * registryd/registryd.c (main): prune kruft.
3130 * libspi/libspi.h: upd.
3132 * libspi/eventlistener.[ch]: rename broken macros.
3134 * libspi/accessibleeventlistener.[ch]: remove.
3136 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
3138 * test/test-simple.c: Add - automated tests.
3140 * cspi/spi-listener-impl.c (cspi_event),
3141 (cspi_key_event): add user_data to invoke.
3142 (cspi_keystroke_listener_finalize): impl.
3143 (cspi_keystroke_listener_class_init): upd.
3146 (createAccessibleEventListener),
3147 (AccessibleEventListener_addCallback),
3148 (createAccessibleKeystrokeListener),
3149 (AccessibleKeystrokeListener_addCallback): upd.
3151 * libspi/deviceeventcontroller.c
3152 (spi_device_event_controller_check_key_event): add public proto.
3155 (impl_accessibility_registry_deregister_global_event_listener):
3156 always init listeners.
3157 (_registry_notify_listeners): yes it is.
3159 * cspi/spi-listener-impl.c (cspi_key_event):
3161 (cspi_event_listener_finalize): impl.
3162 (cspi_event_listener_class_init): hook up.
3163 (event_handler_new, event_handler_free),
3164 (event_list_remove_by_callback): impl.
3165 (cspi_event_listener_remove_callback),
3166 (cspi_keystroke_listener_remove_callback),
3167 (cspi_keystroke_listener_add_callback),
3168 (cspi_event_listener_add_callback): upd.
3170 * libspi/keystrokelistener.c
3171 (keystroke_listener_object_finalize): kill
3172 (spi_keystroke_listener_class_init): upd.
3173 (spi_keystroke_listener_add_callback),
3174 (spi_keystroke_listener_remove_callback): kill,
3176 (impl_key_event): prune drasticaly.
3178 * libspi/eventlistener.c
3179 (spi_event_listener_add_callback),
3180 (spi_event_listener_remove_callback): kill, use
3182 (impl_accessible_event_notify_event): upd.
3183 (spi_event_listener_object_finalize): remove.
3185 * libspi/Makefile.am: use eventlistener.[ch]
3187 2001-12-04 Bill Haneman <bill.haneman@sun.com>
3189 * libspi/registry.c (_registry_notify_listeners):
3190 Changed listener loop iteration to use preferred convention.
3191 Got rid of string memory leaks caused be calling g_strconcat
3192 inside function calls.
3194 * libspi/registry.c (parse_event_type):
3195 Stopped g_strconcat memory leaks, free the g_strsplit return,
3196 g_strdup the split pieces when used, etc.
3198 2001-12-04 Bill Haneman <bill.haneman@sun.com>
3201 Change method 'compare' to return a 'difference set' rather than
3202 taking a StateSet as an out parameter (more Java-friendly).
3204 * idl/Accessible.idl:
3205 Added CORBA struct 'BoundingBox', to faciliate API changes below:
3207 * idl/Component.idl:
3209 Changed methods 'getExtents' and 'getImageExtents' in these
3210 interfaces to return a BoundingBox structure.
3211 (getPosition and getSize are redundant and possibly should be
3212 removed, rather than creating a corresponding Point struct.)
3214 * cspi/spi_component.c:
3215 Modify implementation of getExtents to reflect the above IDL
3220 Add (missing) AccessibleImage_getExtents () API.
3222 * docs/reference/cspi/at-spi-cspi-sections.txt:
3223 Added AccessibleImage_getImageExtents () to docs.
3225 2001-12-03 Bill Haneman <bill.haneman@sun.com>
3227 * idl/Component.idl:
3228 Added two methods, getLayer () and getMDIZOrder (), to reflect
3229 the new ATK methods atk_object_get_layer and
3230 atk_object_get_mdi_z_order. (Which arguably should be part of the
3231 AtkComponent API and AtkObject). Also added an enum,
3232 ComponentLayer, for the first method's return value.
3234 * libspi/component.c:
3235 Added implementations for these methods.
3237 * cspi/spi_component.c:
3239 Added cspi binding methods for above,
3240 AccessibleComponent_getLayer() and
3241 AccessibleComponent_getMDIZOrder().
3242 Added cspi enum 'AccessibleComponentLayer'.
3244 * docs/reference/cspi/at-spi-cspi-sections.txt:
3245 Added above methods to docs.
3249 Changed typedef for 'boolean' type (and all references to it) to
3250 SPIBoolean, to avoid keyword clashes with C++.
3253 Changed usages of 'boolean' to SPIBoolean.
3255 * test/keysynth-demo.c:
3256 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
3257 app), except where SPIBoolean is required by the callbacks API.
3259 2001-12-02 Bill Haneman <bill.haneman@sun.com>
3261 * cspi/spi_registry.c:
3262 Removed obsolete X event loop for passive keygrabs (which now
3265 * registryd/registryd.c:
3266 Removed unnecessary call to gdk_init() [cruft]. This also allows
3267 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
3270 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3272 * docs/reference/cspi:
3273 Included docs for SPI_freeString in generated documentation.
3276 Renamed spi_freeString to SPI_freeString, for consistency. Added
3277 documentation for this function.
3280 Renamed spi_freeString to SPI_freeString, for consistency.
3281 Removed obsolete method declaration string_from_corba_string.
3283 * test/keysynth-demo.c:
3284 Small tweak to comments.
3287 Stopped leaking the strings returned from CSPI.
3289 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3291 Merged Michael's branch (see his ChangeLog entries below).
3293 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
3294 bridge is alive, release on exit.
3296 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
3297 Fix type check macro.
3300 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
3303 Added is_gnome_app static, and method cspi_is_gnome_app(),
3304 so we can call the appropriate shutdown routine at exit in SPI_exit.
3306 * cspi/spi_main.c (cspi_object_ref):
3307 Duplicate the corba object passed in, since we're keeping it around.
3309 * cspi/SPI_exit.c, cspi_cleanup:
3310 Moved the releasing of the live refs to its own function, so we
3311 can put it in g_atexit (). Call the appropriate shutdown API
3312 depending on whethe calling client is a gnome app or not
3313 (bonobo_main_quit or CORBA_ORB_shutdown).
3315 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
3316 Unref the listener when this method is called, after
3317 deregistration. Updated the API docs to note this behavior.
3319 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
3320 Bugfixes: Ref the bonobo object when returning a parent or child
3321 reference, or an AccessibleRelation. Generally made sure
3322 BonoboObject refcount is incremented whenever we return an
3325 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
3326 Fixed typo/bug in signal declaration.
3328 * libspi/accessibleeventlistener.h:
3331 * libspi/application.c (spi_application_new):
3332 Fixed leak in initialization.
3335 Remembered to increment bonobo-object refcount when returning
3336 children (applications) from desktop object.
3337 Added (empty) finalize method.
3339 * libspi/deviceeventcontroller.c:
3340 Hold a ref to listeners inside DEControllerKeyListeners.
3341 Added dec_key_listener_free() method. Use prepend instead of
3342 append in key_listener list. Fixed some refcount madness and
3343 leaks in the listener registration/deregistration - deregistration
3344 now calls dec_key_listener_free() on listeners, and on the
3345 temporarily constructed dec_key_listener() used to perform the search/match.
3347 * libspi/hypertext.c (spi_hypertest_finalize):
3348 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
3349 class. Also fixed spi_hypertext_interface_new() and
3350 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
3352 * libspi/hypertext.h:
3353 Removed pointless and duplicate AtkObject pointer from
3356 * libspi/keystrokelistener.c:
3357 Fixed incorrect type of keystroke_listener_parent_class,
3358 renamed keystroke_listener_object_finalize to
3359 spi_keystroke_listener_object_finalize.
3360 Fixed typo in signal declaration
3361 (spi_keystroke_listener_class_init).
3363 * libspi/registry.c:
3364 Added funcsions spi_listener_struct_new() and
3365 spi_listener_struct_free() to help with memory management issues.
3366 We also now use these methods instead of gnew + poking stuff into
3367 the struct, and to decrement listener counts/free the listeners
3368 when deregistering them.
3369 Fix more refcount bugs in getDesktop() and
3370 getDeviceEventController().
3373 De-ref the desktop after enumerating the applications. Explicitly
3374 decrement the refcounts on the created listeners on exit (using
3375 _unref for keystroke listeners, and via the
3376 deregisterGlobalEventListenerAll command for other event
3379 2001-11-27 Michael Meeks <michael@ximian.com>
3381 * cspi/spi-listener.h: fixup enum.
3383 2001-11-27 Michael Meeks <michael@ximian.com>
3385 * cspi/spi-listener-impl.c (cspi_event_listener_new),
3386 (cspi_keystroke_listener_new): Use the cspi variants.
3388 2001-11-26 Michael Meeks <michael@ximian.com>
3390 * test/keysynth-demo.c: fix 2 compile warnings, missing
3393 * test/simple-at.c (report_focussed_accessible),
3394 (report_focus_event, report_button_press),
3395 (check_property_change, is_command_key),
3396 (report_ordinary_key_event, report_command_key_event): upd.
3398 * util/mag_client.h: include pre-requisites.
3400 * libspi/accessibleeventlistener.c
3401 (spi_event_listener_object_finalize): free any lingering
3404 * libspi/keystrokelistener.c
3405 (keystroke_listener_object_finalize): ditto.
3407 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
3408 callbacks, with cspi types.
3410 * cspi/spi_event.c (createAccessibleEventListener): chain to
3411 (AccessibleEventListener_addCallback): here.
3412 (createAccessibleKeystrokeListener): chain to
3413 (AccessibleKeystrokeListener_addCallback): here.
3415 * libspi/keystrokelistener.c
3416 (spi_keystroke_listener_class_init): add signal.
3417 (impl_key_event): emit the event.
3418 (boolean_handled_accumulator): impl.
3419 (marshal_BOOLEAN__POINTER): add, gack.
3421 * libspi/accessibleeventlistener.c
3422 (spi_event_listener_class_init): add signal.
3423 (impl_accessible_event_notify_event): emit the signal &
3424 make the loop efficient.
3425 (spi_event_listener_add_callback): prepend the callback.
3427 * libspi/accessibleeventlistener.h: add an 'event' signal,
3428 decl type on callback.
3430 * libspi/keystrokelistener.h: ditto.
3432 * cspi/spi-listener.h: make methods typesafe and
3433 make them use the new event typedefs.
3435 * test/simple-at.c (report_focussed_accessible):
3436 include mag_client.h
3437 Use *(void *)text_interface not the other thing.
3439 * configure.in: add gtk to registryd bits - since we use
3442 * util/magnifier.c: include libbonobo.h
3444 2001-11-25 Bill Haneman <bill.haneman@sun.com>
3446 * test/keysynth-demo.c:
3447 Turned this into a simple scanning keyboard, to demonstrate the
3448 use of g_timeout_add () as a means of creating timers for
3449 scanning, and the use of GtkStyle for visually indicating when
3450 virtual keyboard elements are selected.
3452 keysynth-demo now listens to any keyboard keys with zero-valued
3453 keycodes (i.e. 'unused' keys) and interprets them as
3456 Reworked the shiftlatch code so that shift-down state isn't held
3457 for long periods (it's only synthesized immediately prior to
3458 the keysynth event it's modifying). Note that shiftlatch in this
3459 demo is a convenience, not intended to take the place of AccessX
3460 which is the better choice for getting 'sticky' modifier keys.
3462 * libspi/deviceeventcontroller.c:
3463 * at-bridge/bridge.c:
3464 * cspi/spi_registry.c:
3465 Removed some debug print stuff, and put other verbosity in #ifdef
3470 Implemented some more of the magnifier IDL for the simple
3471 magnifier: namely, getZoomRegionParams.
3472 Added mag_x and mag_y members to MagnifierData struct, aid of this
3474 Added GtkWindow::realize signal handler to magnifier, to keep it
3475 from receiving keyboard focus from the WM.
3477 2001-11-23 Mark McLoughlin <mark@skynet.ie>
3479 * cspi/spi-private.h: my guess at what michael forgot
3480 before he ran off to NZ :-)
3482 2001-11-23 Michael Meeks <michael@ximian.com>
3484 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
3485 comment out non existant method invoke so we link.
3487 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
3488 use bonobo_exception_get_text for more friendly warnings.
3490 * cspi/spi.c (Obj_Add): move into spi_main & rename
3491 spi_object_add; kill spi.c
3493 * cspi/spi_registry.c
3494 (deregisterGlobalEventListener),
3495 (deregisterGlobalEventListenerAll),
3496 (registerGlobalEventListener): fix exception leaks.
3498 * cspi/spi_main.c (spi_exception): impl. helper, so we
3499 don't leak exceptions.
3501 * cspi/spi_selection.c
3502 (AccessibleSelection_deselectSelectedChild): return the
3505 * cspi/spi_main.c (spi_ev): impl; hack - gack.
3506 (spi_registry): ditto.
3507 (SPI_init): guard against double inits.
3509 * cspi/*.c: use spi_ev (), and spi_registry () where
3510 appropriate - a temporary hack until we have something
3511 better. Use spi_object_add
3513 2001-11-22 Michael Meeks <michael@ximian.com>
3515 * cspi/Makefile.am: re organise, install the headers.
3517 * cspi/*.h: add G_BEGIN/END_DECLS
3519 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3522 Added non-preemptive keylistener for key events with no modifiers
3523 and shift-only modifier.
3525 * libspi/keystrokelistener.c:
3526 Removed some verbose diagnostics printout.
3528 * cspi/spi_registry.c:
3529 Fixed a bug that caused all key listeners to be registered as
3532 * libspi/deviceeventcontroller.c:
3533 Fixed bug that caused XGrabKey (preemptive key grab) to be called
3534 for non-preemptive key masks.
3537 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3539 * docs/reference/idl/at-spi-idl-docs.sgml:
3540 * docs/reference/idl/at-spi-idl-sections.txt:
3541 * docs/reference/idl/at-spi-idl-overrides.txt:
3542 Added missing files.
3544 * docs/reference/Makefile.am:
3545 removed idl from SUBDIRS until we can figure a way to get gtk-doc
3546 to scan the IDL files :-(
3551 Added .cvsignore files.
3553 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3555 * libspi/deviceeventcontroller.c:
3556 * libspi/keystrokelistener.c:
3558 * cspi/spi_registry.c:
3559 Added filters for KeySets, KeyEventSeq, and event types to key
3560 event dispatching, so listeners should only receive those events
3561 that they requested :-)
3563 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3568 * docs/reference:Makefile.am:
3569 * docs/reference/cspi:
3570 * docs/reference/cspi:Makefile.am:
3571 * docs/reference/cspi:tmpl:
3572 * docs/reference/cspi:tmpl:*.sgml:
3573 * docs/reference/idl:
3574 * docs/reference/idl:Makefile.am:
3575 * docs/reference/idl:at-spi-idl-sections.txt:
3576 * docs/reference/idl:at-spi-idl-docs.sgml:
3577 * docs/reference/idl:tmpl:
3578 * docs/reference/idl:tmpl:*.sgml:
3580 Restructured docs directory to allow separate 'reference' docs
3581 section, and forked idl and cspi docs. Added the sgml template
3582 files to CVS. Added the first sections/structural sgml for the
3585 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
3587 * configure.in, libspi/Makefile.am: find libXtst.
3589 2001-11-21 Michael Meeks <michael@ximian.com>
3591 * test/accessx-gui.c: s/spi_value/value/ - doh.
3593 * libspi/base.[ch]: add.
3595 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3597 * idl/Accessible.idl:
3598 * idl/Application.idl:
3601 Started gtk-doc cleanup on IDL.
3603 * libspi/deviceeventcontroller.c:
3604 Added and connected non-preemptive key notification from the
3605 toolkits (in addition to the pre-emptive support from XServer
3606 which we had before, but which causes 'focus flashing'). Filters
3607 are presently limited to key modifiers and global/non-global,
3608 KeySets are presently ignored, as are KeyEvent masks.
3610 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
3611 structs into the persistant structure rather than just storing
3612 pointers to things that might not persist across servant
3615 The XGrabKey call now does async keygrabs, because synchronous
3616 ones were deadlocking with GDK_event code in a very nasty way.
3618 Added boolean to internal method notify_keylisteners, to indicate
3619 whether the event came from the 'toolkit source' or the 'global
3620 (XServer) source' - this is used in the notification process to
3621 determine which listeners to send the event to.
3623 deviceeventcontroller.c is now warning-free.
3625 * libspi/registry.c:
3626 Fixed regression in application de-registration.
3627 Also fixed some really brain-dead weirdness having to do with
3628 event dispatching - event structs are now duplicated before being
3629 re-marshalled in the dispatch to listeners. This also fixes a
3630 Solaris build problem.
3633 2001-11-20 Michael Meeks <michael@ximian.com>
3636 (impl_accessibility_registry_deregister_global_event_listener):
3639 * libspi/deviceeventcontroller.c
3640 (spi_device_event_controller_check_key_event): return
3641 FALSE on no virtual method.
3643 * libspi/*..h: make includes work on a correctly pathed install.
3645 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
3647 * libspi/application.h: kill unused ( and whacked out )
3648 gboolean *spi_application_set_id (AtkObject *app, long id);
3650 2001-11-20 Michael Meeks <michael@ximian.com>
3652 * libspi/*.[ch]: further convert to bonobo's type func
3653 macros, remove redundnant casts etc.
3655 * libspi/text.c s/accessibility_text/spi_text/g,
3656 re-order to de-cruft.
3658 * libspi/hypertext.c: re-order to kill a huge slew
3659 of redundant forward decls.
3661 * libspi/relation.c: ditto.
3663 * libspi/image.c: ditto.
3665 * */.cvsignore: update
3667 2001-11-20 Michael Meeks <michael@ximian.com>
3669 * libspi/deviceeventcontroller.c
3670 (_controller_register_with_devices): use g_getenv,
3671 kill stdlib.h include.
3673 * libspi/keystrokelistener.c
3674 (spi_keystroke_listener_get_type): kill
3675 (spi_keystroke_listener_class_init),
3676 (spi_keystroke_listener_init): rename to this.
3678 * libspi/text.c (impl_getAttributes): fix warning / bug.
3680 * libspi/*.[ch]: more headers, includes and over commenting.
3682 2001-11-20 Michael Meeks <michael@ximian.com>
3684 * libspi/*.[ch]: fixup headers, includes and over commenting.
3686 * libspi/image.c (impl__get_imageDescription): const
3687 correctness warning fix. remove redundant casting.
3689 * libspi/table.c (impl_getRowDescription): ditto.
3690 (impl_getColumnDescription): ditto.
3692 * libspi/libspi.h: add.
3694 2001-11-19 Michael Meeks <michael@ximian.com>
3696 * libspi/editabletext.c (impl_setAttributes): fix warnings.
3698 * libspi/component.c (accessibility_component_get_type):
3699 rename to (spi_component_get_type): and macroify.
3700 (accessibility_component_init): rename to
3701 (spi_component_init): this
3702 (accessibility_component_class_init): rename to
3703 (spi_component_class_init): this
3705 * libspi/action.c (spi_action_get_type): kill, use the macro.
3707 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
3710 * libspi/application.c (spi_application_object_event_listener),
3711 (impl_accessibility_application_register_object_event_listener):
3712 warning fixes / const understanding updates.
3714 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
3717 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3719 * libspi/spi_accessible.c: Added docs and C bindings for
3720 AccessibleStateSet. (No implementations yet). Documentation
3721 coverage for C bindings now 100%. Made docs for event listeners
3726 boolean notifyListenersSync (in DeviceEventListener listener,
3727 in DeviceEvent event);
3729 oneway void notifyListenersAsync (in DeviceEventListener listener,
3730 in DeviceEvent event);
3732 Added DeviceEventListener and DeviceEvent structs (may deprecate
3733 KeyStroke and KeystrokeListener in favor of this generic
3734 event/listener framework for devices).
3736 * libspi/deviceeventcontroller.c:
3738 Changed some key listener code to take masks, etc., and paved the
3739 way for integration of toolkit/non-preemptive key events. Changed
3740 signatures of some internal methods.
3742 * at-bridge/bridge.c:
3743 Fixed regression connecting to interface signals, apparently
3744 caused by GTK+ changes.
3746 Added an internal bridge_state_listener to deal with
3747 property-change:accessible-state signals.
3749 Changed the key_listeners GList to store structs (including masks,
3750 etc.) instead of just CORBA_Objects (required for full
3751 implementation of key listener API).
3753 Connected the bridge to all currently supported Atk signals.
3754 Events now supported:
3755 object:property-change
3756 object:property-change:accessible-name
3757 object:property-change:accessible-state
3758 object:property-change:accessible-description
3759 object:property-change:accessible-parent
3760 object:property-change:accessible-value
3761 object:property-change:accessible-role
3762 object:property-change:accessible-table-caption
3763 object:property-change:accessible-table-column-description
3764 object:property-change:accessible-table-column-header
3765 object:property-change:accessible-table-row-description
3766 object:property-change:accessible-table-row-header
3767 object:property-change:accessible-table-summary
3768 object:children-changed
3769 object:visible-data-changed
3770 object:selection-changed
3771 object:text-selection-changed
3773 object:text-caret-moved
3775 object:row-reordered
3777 object:column-inserted
3778 object:column-reordered
3779 object:column-deleted
3780 object:model-changed
3782 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3784 * libspi/hyperlink.c,h:
3785 Fixed some broken stuff in hyperlink.
3787 * libspi/relation.h:
3788 * libspi/relation.c:
3789 * cspi/spi_accessible.c:
3790 Initial implementations of AccessibleRelation methods, and docs.
3792 * libspi/accessible.c:
3793 Fixed a bug that caused SEGV if an accessible
3794 object's description is NULL, and a client
3795 requests it. An empty string is now returned.
3797 * cspi/spi_editabletext.c:
3798 * cspi/spi_hypertext.c:
3800 * cspi/spi_hyperlink.c:
3804 Doc coverage now 95%.
3806 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3808 One last namespacing revision:
3809 * libspi/accessibleeventlistener.[ch]:
3810 Renamed SpiAccessibleEventListener to SpiEventListener,
3811 (no need for two namespaces ;-)
3813 And lots of documentation fixes:
3815 * docs/at-spi-docs.sgml:
3816 Fixed 'underscore vs. hyphen' bug that was preventing
3817 the gtk-doc API docs from being automatically generated.
3820 * cspi/spi-listener.h
3822 * cspi/spi_accessible.c
3824 * cspi/spi_application.c
3825 * cspi/spi_component.c
3826 * cspi/spi_editabletext.c
3828 * cspi/spi_hypertext.c
3830 * cspi/spi_registry.c
3831 * cspi/spi_selection.c
3835 * docs/at-spi-docs.sgml
3836 * docs/at-spi-sections.txt
3838 Added and fixed up gtk-doc documentation in cspi.
3840 Interfaces now (fully) documented (subject to revision and enhancement):
3842 Event Listener Support
3844 AccessibleApplication
3848 AccessibleEditableText
3855 AccessibleRelationSet
3860 2001-11-14 Bill Haneman <bill.haneman@sun.com>
3862 * at-bridge/bridge.c:
3863 Initial work for toolkit-level key snooper connection by bridge.
3868 New typedefs and fixes to support new namespacing, and cleaner
3869 separation of cspi bindings from libspi bonobo implementation.
3870 Removed inconsistent and extraneous Spi* namespace prefix that
3871 had crept into cspi headers.
3872 Lots of comment fixes that sed had missed.
3874 * cspi/spi-roletypes.h:
3875 * cspi/spi-statetypes.h:
3876 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
3877 to AccessibleRoleType.
3879 * libspi/accessibleeventlistener.h:
3880 Fixed minor namespacing weirdness.
3882 * libspi/deviceeventcontroller.c:
3883 Reordered some internal API for device listeners.
3884 Changed the key registry final boolean to 'is_system_global'
3885 rather than 'is_synchronous', which is more descriptive of its
3887 Added spi_device_event_controller_new().
3888 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
3890 * libspi/keystrokelistener.[ch]:
3891 Namespaced KeystrokeListener to SpiKeystrokeListener.
3892 Changed uses of keymasks to use SPI_ prefix, and did other
3895 * libspi/keymasks.h:
3896 Namespaced keymask constants with SPI_ prefix.
3898 * libspi/registry.c:
3899 Some warning fixes, and knock-on fixes from namespace changes.
3902 Added rules for accessx-gui test program.
3904 * test/accessx-gui.c:
3905 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
3906 utility. It doesn't actually use at-spi, but it's still cool and
3909 * test/keysynth-demo.c:
3913 Fixes so that these test clients work properly with the namespaced
3914 libraries. (Incompletely tested for technical reasons, fixes may follow)
3917 2001-11-13 Michael Meeks <michael@ximian.com>
3919 * libspi/application.c
3920 (impl_accessibility_application_get_version),
3921 (impl_accessibility_application_get_toolkit_name):
3923 (impl_accessibility_application_set_id),
3924 (impl_accessibility_application_get_id): remove
3925 redundant casting code.
3927 * libspi/action.c (impl_getDescription): fix warnings.
3929 * libspi/accessible.c
3930 (impl_accessibility_accessible_get_parent),
3931 (impl_accessibility_accessible_get_child_at_index),
3932 (impl_accessibility_accessible_get_state),
3933 (impl_accessibility_accessible_get_relation_set):
3934 warning fixes & include action.h
3936 2001-11-13 Michael Meeks <michael@ximian.com>
3938 * *.[ch] fix bits I screwed up:
3940 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3941 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3943 2001-11-13 Michael Meeks <michael@ximian.com>
3945 * *.[ch] Namespace libspi into spi_ and Spi.
3947 2001-13-11 Michael Meeks <michael@ximian.com>
3949 * Makefile.am: dist & install at-spi-1.0.pc
3951 * libspi/Makefile.am: install into at-spi-1.0
3953 * idl/Makefile.am (idldir): install into at-spi-1.0
3955 * at-spi-1.0.pc.in: add.
3957 * configure.in: build it.
3959 2001-11-12 Bill Haneman <bill.haneman@sun.com>
3961 * test/keysynth-demo.c:
3962 Use a 'realize' signal-handler to set the WM properties for
3963 the virtual keyboard, rather than making it a "POPUP" type
3964 override-redirect window (thanks to anders carlsson for that
3967 2001-11-11 Bill Haneman <bill.haneman@sun.com>
3970 * test/keysynth-demo.c:
3971 Added new test of key synthesis, which creates a simple
3972 (mouse-operated) onscreen keyboard. It inserts key events into
3973 the currently-focused window, thus it does not grab keyboard focus
3976 * cspi/spi_registry.c:
3977 Added C binding for AT-SPI generateKeyEvent.
3979 * libspi/deviceeventcontroller.c:
3980 Added call to XFilterEvent so that key listener works with XIM (we
3981 hope). Added event_synth_type to generateKeyEvent, so that we can
3982 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3983 synthesize a press/release pair for KeySyms.
3985 2001-11-09 Bill Haneman <bill.haneman@sun.com>
3987 * libspi/Makefile.am:
3988 * registryd/Makefile.am:
3989 (temporary) hack to include libXtst in libspi and registryd.
3990 (Needed for keystroke synthesis, see below).
3993 Improved API for registerKeystrokeListener, in accordance with
3994 discussions with Gnopernicus team and X server research.
3996 * libspi/registry.c:
3997 * libspi/deviceeventcontroller.c:
3998 * libspi/accessible.c:
3999 * libspi/keystrokelistener.c:
4000 Changes and fixes to support keylisteners for potentially
4001 consumed key events (that is, 'passive grabs').
4002 Added implementation for generateKeyEvent() [untested].
4005 Changes to registerKeystrokeListener() API, as above.
4006 Added deregisterGlobalEventListenerAll(), and
4007 deregisterKeystrokeListener(), which are needed for clean exit of
4009 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
4010 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
4012 * cspi/spi_registry.c:
4013 Added implementations of function prototypes mentioned above.
4015 * registryd/registryd.c:
4016 Added the key listener event source as a g_timeout(), to allow
4017 receipt of key events that are not caught by GDK (since GDK
4018 doesn't support passive keygrabs, this was necessary).
4021 Changed to attach a keylistener to 'Alt' keys, and
4022 respond to the following keycommands: Alt-M (toggle magnifier);
4023 Alt-F (toggle speech); Alt-Q (quit).
4024 Added an exit routine to deregister the listeners, and a key
4025 listener that prints some key info to the console when a key
4026 matches the listener mask (and is thus received by the listener).
4028 * util/idl/Magnifier.idl:
4029 Changes to magnifier API to support multiple zoom regions,
4030 non-uniform scaling in x and y, markDirty, and a host of other
4031 features that would be useful to magnification.
4034 * util/mag_client.c:
4035 * util/mag_client.h:
4036 * util/mag_control.c:
4038 Source code changes to support the above IDL changes.
4041 As above, and also changes to use a (slower) generic conversion
4042 path for colormap conversions, since the fast RGB conversions have been
4043 reported to fail for 16-bit displays.
4045 2001-10-26 Michael Meeks <michael@ximian.com>
4047 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
4049 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
4051 * at-bridge/Makefile.am: fix LDFLAGS.
4053 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4055 * at-bridge/bridge.c:
4056 Re-worked listeners for toolkit events, now we have signal
4057 and property listeners. Added a private method
4058 register_atk_event_listeners(), which registers with the
4059 various atk and gtk signals we need to monitor in order to emit
4061 Added emission hook for AtkObject:property-change events, to
4062 support the 'property listeners'.
4063 Fixed some alloc()s of Accessibility_Event structs to use CORBA
4066 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
4067 which emit warnings and exit, respectively, if CORBA errors occur
4068 during remote calls, and we now use these methods to check most of
4069 our CORBA calls in the C bindings.
4071 * cspi/spi_accessible.c:
4072 Changed AccessibleSelection_refSelectedChild() to
4073 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
4074 now increment refcounts.
4076 * cspi/spi_component.c:
4077 Fixed some long pointer casts (dangerous!) to pass pointers to
4078 CORBA_longs of the proper type to the CORBA stubs, and copy the
4079 data into the longs that were passed into the C bindings code.
4081 * at-bridge/bridge.c:
4083 * libspi/accessible.c:
4084 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
4085 hyperlinks, AtkHyperlink is an object type.
4087 * libspi/application.c:
4088 Added various conversions to and from "generic" event types and
4089 atk-specific types; this is really part of the 'bridge'
4090 implementation but is valid for all AtkObject-based accessibility
4093 * libspi/editabletext.c:
4094 Fixed nasty bug wherein editable text's finalize method was
4095 unref'ing tha AtkObject reference that the text parent class was
4096 about to unref _again_. There was also a nasty inheritance bug
4097 that meant that the AccessibleEditableText class was corrupt.
4099 * libspi/selection.c:
4100 Provided implementations for some selection API that was broken.
4102 * idl/Application.idl:
4103 Added registerObjectEventListener () method.
4106 Fixed a number of return values that were Bonobo_Unknowns from
4107 bonobo_object_corba_objref(), which I
4108 forgot to dup before returning. Changed instances of
4109 bonobo_object_corba_objref (bonobo_object(o)) to
4110 BONOBO_OBJREF(o), for concision and clarity.
4112 2001-10-13 Louise Miller <louise.miller@sun.com>
4114 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
4115 idl/Event.idl, idl/Registry.idl
4116 Changed these files to include Bonobo_Unknown.idl instead
4119 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
4121 * libspi/component.c libspi/component.h:
4122 Fixed typo. Added assertions for object checks in
4123 AccessibleComponent code.
4125 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4127 * idl/Accessible.idl:
4128 Added 'isEqual (Accessible *object)'
4129 method for Accessible. (Not Yet Implemented).
4132 Changed signature of registerKeystrokeListener() to
4133 take a KeySet and KeyEventSeq so that specific keys and event
4134 types could be requested for monitoring, and added a flag
4135 is_synchronous so that either synchronous or asynchronous
4136 notification could be requested. (However this is not all
4137 implemented yet). This also meant adding two new typedefs,
4138 KeyEventSeq and KeySet.
4141 Added two new relations, RELATION_TOOLTIP_FOR and
4142 RELATION_LEAFNODE_OF.
4145 Added new state, STATE_HAS_TOOLTIP.
4147 * libspi/text.c, editabletext.c:
4148 Added new assertions to all casts of bonobo-objects from
4149 CORBA servants, to prevent Text API calls on non-text objects.
4150 Changed suspect casts of int-pointer types, so that we
4151 always send a valid CORBA_long pointer to the CORBA APIs that use
4152 in/out long parameters. We then have to copy from the CORBA_long
4153 into the regular long or int for return to the C bindings, or
4154 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
4157 * libspi/deviceeventcontroller.c:
4158 Cleaned these sources up.
4160 Changed return type for getCharacterAtOffset to
4161 CORBA_unsigned_long, to allow for 32-bit characters.
4164 2001-10-08 Bill Haneman <bill.haneman@sun.com>
4168 Fixed 'make dist' so that distro compiles...
4169 * libspi/keymasks.h:
4171 * cspi/spi-listener.c:
4172 KeystrokeListenerCB now returns a boolean.
4174 Added KeyEventType struct, and KeyStroke.
4175 Also added createKeystrokeListener(),
4176 KeystrokeListener_addCallback(),
4177 KeystrokeListener_removeCallback(), and added a keymask to
4178 registerKeystrokeListener().
4179 * cspi/spi_accessible.c:
4180 Changed numerous return types for interfaces from
4181 AccessibleComponent to Accessible<InterfaceName>; this was
4182 probably a cut-and-paste error.
4184 Implementations of new KeystrokeListener api (from spi.h,
4187 Changes to key modifier mapping.
4188 Created ControllerEventMask struct.
4189 Made DeviceEventController derive from Bonobo::Unknown.
4191 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
4192 * libspi/deviceeventcontroller.c:
4193 Added a number of new internal (private) methods.
4194 * libspi/editabletext.c:
4195 * libspi/editabletext.h:
4196 Fixed a number of bugs related to the fact that
4197 editabletext inherits from text. Fixed the EditableText struct,
4198 the init() call, and use correct casts when calling Text methods
4199 from an EditableText object. Removed (duplicate) atko from the
4200 EditableText structure, we use the one in the parent Text
4201 structure via the casts mentioned above.
4202 * libspi/keystrokelistener.[ch]:
4203 * libspi/registry.c:
4204 Changes in support of keyboard handling (above).
4206 Keyboard handling, though partly functional, is still not
4207 recommended for at-spi client use as there is considerable
4208 work yet to be done.
4211 Changed some places where pointers to various int types
4212 are cast to be pointers to CORBA_long types and vice-versa:
4213 pointer casting is not safe so we pass pointers of the correct
4214 types and then cast the result before putting it into the target
4217 * libspi/text.h: minor typos corrected.
4219 We now speak not only the name of a Text element, but the
4220 first sentence of its content, when it receives focus.
4221 I also changed the text compression to 75% from 50%.
4222 * util/Accessibility_Util.server.in:
4223 Changed the default magnifier type to be a 3x vertical
4224 splitscreen magnifier (was previously a 2x horizontal one).
4226 2001-10-03 Bill Haneman <bill.haneman@sun.com>
4228 * libspi/keystrokelistener.h:
4229 * libspi/keystrokelistener.c:
4230 Initial functional implementations of KeystrokeListener.
4233 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
4235 Fixed string handling for NULL strings in libspi.
4236 Added spi_freeString to free strings returned by C bindings.
4238 2001-09-30 Bill Haneman <bill.haneman@sun.com>
4240 * libspi/keystrokelistener.h:
4241 * libspi/keystrokelistener.c:
4242 Began (no-op) implementations of KeystrokeListener
4244 * libspi/deviceeventcontroller.c:
4245 * libspi/deviceeventcontroller.h:
4246 Began creating implementations of DeviceEventController,
4247 to handle keystroke and mouse event listening and
4249 * libspi/accessible.c:
4250 Stubbed-in the implementations for
4251 Accessibility_Accessible_getState and
4252 Accessibility_Accessible_getRelationSet.
4253 * libspi/registry.c:
4254 Improved de-registration process and fixed some bugs,
4255 deregistration now works correctly.
4257 Added initialization of applications list (to NULL).
4259 Reduced speech compression from 0.5 to 0.7, for demo.
4260 Changed call to gdk_window_set_decorations()
4261 to gtk_window_set_decorated().
4262 * at-bridge/bridge.c:
4263 Bridge now deregisters when app exits, via
4264 registration of a cleanup function
4265 with the g_atexit() call.
4266 Required making 'app' static, renamed 'this_app'.
4267 Fixed broken use of bonobo_init, passing argv wrongly.
4269 2001-09-27 Bill Haneman <bill.haneman@sun.com>
4273 Created a new directory for
4274 accessibility-related utilities, primarily for
4275 testing and demo purposes, but with possible
4282 Onscreen magnifier utility that
4283 is implemented as a bonobo service.
4285 * util/mag_client.c:
4286 * util/mag_client.h:
4287 Client-side support (simple C bindings)
4288 for Magnification service
4290 * util/mag_control.c:
4291 Client program example for
4292 Magnification service
4294 * util/Accessibility_Magnifier.server.in:
4295 Bonobo-activation file for the
4296 Magnification service.
4299 * util/idl/Magnifier.idl:
4300 IDL defining the bonobo Magnification
4304 Modifications to use the bonobo-activated magnifier
4305 above, in place of trying to connect to an existing
4306 magnifier that uses socket-listening IPC.
4308 If env variable MAGNIFIER is set, a magnifier service
4309 will be started if one does not exist.
4311 2001-09-25 Bill Haneman <bill.haneman@sun.com>
4313 * at-bridge/bridge.c:
4314 applied patch from Marc to build and run
4315 against new glib and gtk+ (seemed like a change
4316 to bonobo_init signature was made ?)
4318 made festival-server support turned off by default.
4319 Added support for a simple magnifier (off by default)
4320 which will be added to a 'util' directory later.
4321 * at-bridge/Makefile.am:
4322 Changed "application.h" header from a 'source'
4323 to a 'dependency' of libat-bridge.
4325 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4334 Added interface implementation c files to list of
4335 includes so they are included in libcspi.
4338 Changed prototype of AccessibleAction_doAction to return a
4340 Changed prototype of AccessibleTable_getCaption to
4341 return an Accessible.
4342 Changed prototype of AccessibleTable_getSelectedRows
4343 and AccessibleTable_getSelectedColumns to
4344 return a long (returns the number of selected rows
4345 or columns respectively).
4346 Changed name of AccessibleText_refRunAttributes to
4347 AccessibleText_getAttributes.
4348 Changed prototype of AccessibleText_getCharacterExtents to
4349 return a void rather than a boolean.
4350 Added support for a AccessibleCoordType parameter
4351 specifying what type of coordinates are desired.
4352 Added an AccessibleCordType parameter to
4353 AccessibleText_getPointAtOffset.
4355 * cspi/spi_accessible.c:
4356 Added code to return the outstanding interfaces from
4357 Accessible_queryInterface.
4359 * cspi/spi_action.c:
4361 Corrected call to getNActions to call the c binding
4364 * cspi/spi_editabletext.c:
4366 Changed name from setRunAttributes to setAttributes.
4368 * cspi/spi_hyperlink.c:
4370 Changed call to getNAnchors to correctly call the c
4371 binding for an attribute.
4373 * cspi/spi_hypertext.c:
4375 Changed getImageDescription to correctly call the
4376 binding for an attribute.
4378 * cspi/spi_selection.c:
4379 Changed getNSelectedChildren to correctly call the c
4380 binding for the attribute.
4381 Changed refSelectedChild to getSelectedChild.
4385 Changed getCaption to return an Accessible.
4386 Fixed calls which retrieve attributes.
4387 Changed refAt to getAccessibleAt.
4388 Changed getNSelectedRows and getNSelectedColumns to
4392 Changed getCharacterExtents and getPointAtOffset to accept an
4393 AccessibleCoordType.
4395 Changed calls which retrieve attributes.
4396 Changed refRunAttributes to getAttributes.
4401 * idl/Hyperlink.idl:
4402 Changed n_anchors attribute to nAnchors to keep naming
4403 convention consistent.
4406 Made Table inherit from Bonobo::Unknown.
4407 Added nSelectedColumns and nSelectedRows attributes.
4410 Made Value inherit from Bonobo::Unknown.
4412 * libspi/hyperlink.c:
4413 Change for nAnchors attributte name change.
4415 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4423 Added interface implementation c files to list of
4424 includes so they are included in libcspi.
4427 Changed prototype of AccessibleAction_doAction to return a
4429 Changed prototype of AccessibleTable_getCaption to
4430 return an Accessible.
4431 Changed prototype of AccessibleTable_getSelectedRows
4432 and AccessibleTable_getSelectedColumns to
4433 return a long (returns the number of selected rows
4434 or columns respectively).
4435 Changed name of AccessibleText_refRunAttributes to
4436 AccessibleText_getAttributes.
4437 Changed prototype of AccessibleText_getCharacterExtents to
4438 return a void rather than a boolean.
4439 Added support for a AccessibleCoordType parameter
4440 specifying what type of coordinates are desired.
4441 Added an AccessibleCordType parameter to
4442 AccessibleText_getPointAtOffset.
4444 * cspi/spi_accessible.c:
4445 Added code to return the outstanding interfaces from
4446 Accessible_queryInterface.
4448 * cspi/spi_action.c:
4450 Corrected call to getNActions to call the c binding
4453 * cspi/spi_editabletext.c:
4455 Changed name from setRunAttributes to setAttributes.
4457 * cspi/spi_hyperlink.c:
4459 Changed call to getNAnchors to correctly call the c
4460 binding for an attribute.
4462 * cspi/spi_hypertext.c:
4464 Changed getImageDescription to correctly call the
4465 binding for an attribute.
4467 * cspi/spi_selection.c:
4468 Changed getNSelectedChildren to correctly call the c
4469 binding for the attribute.
4470 Changed refSelectedChild to getSelectedChild.
4474 Changed getCaption to return an Accessible.
4475 Fixed calls which retrieve attributes.
4476 Changed refAt to getAccessibleAt.
4477 Changed getNSelectedRows and getNSelectedColumns to
4481 Changed getCharacterExtents and getPointAtOffset to accept an
4482 AccessibleCoordType.
4484 Changed calls which retrieve attributes.
4485 Changed refRunAttributes to getAttributes.
4490 * idl/Hyperlink.idl:
4491 Changed n_anchors attribute to nAnchors to keep naming
4492 convention consistent.
4495 Made Table inherit from Bonobo::Unknown.
4496 Added nSelectedColumns and nSelectedRows attributes.
4499 Made Value inherit from Bonobo::Unknown.
4501 * libspi/hyperlink.c:
4502 Change for nAnchors attributte name change.
4505 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
4507 implementations-- made server implementations own AtkObject pointers
4508 rather than their respective AtkInterrface pointers to fix
4509 refcounting. AtkHyperlink is still broken.
4511 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4512 * cspi/spi_accessible.c:
4513 Added method Accessible_Role_getName(),
4514 and requisite string array (role_names).
4515 Added conversion string_from_corba_strin() call
4516 to Accessible_getName and _getDescription.
4517 * libspi/accessible.c:
4518 Added implementation for Accessible_getRole()
4520 Added festival support, used if environment variable
4523 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4525 * at-bridge/bridge.c:
4526 Now allocate Accessibility_Event using
4527 Accessibility_Event__alloc() instead of g_new0().
4528 * libspi/accessibleeventlistener.c:
4529 Initialize AccessibleEventListener->callbacks to NULL.
4530 Fixed accessible__event_listener_init() param, changed to
4531 "AccessibleEventListener *" type.
4532 Changed a bonobo_object_release_unref() call to
4533 Accessibility_Accessible_unref().
4534 * libspi/listener.c:
4535 Changed Bonobo_Unknown_unref to (equivalent)
4536 Accessibility_Accessible_unref.
4537 * libspi/registry.c:
4538 Changed bonobo_object_release_unref to
4539 Accessibility_Accessible_unref.
4541 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4544 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
4545 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
4546 spi-util.c spi-util.h
4547 Implementations for C bindings to remaining accessibility
4550 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4553 changed return value of Action from void to boolean to
4554 bring in line with ATK.
4557 Changed getText funcions to return "out" start and end offsets.
4558 Changed getAttributes to take and offset and return the start
4559 and end offset of the attribute run.
4560 Changed getOffsetAtPoint and getCharacterExtents to take an
4561 enum describing whether coordinates are window or screen.
4564 libspi/action.c libspi/action.h libspi/editabletext.c
4565 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
4566 libspi/hypertext.c libspi/hypertext.h libspi/image.c
4567 libspi/image.h libspi/selection.c libspi/selection.h
4568 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
4569 libspi/value.c libspi/value.h
4570 Added server implementations for outstanding ATK interfaces
4571 not yet implemented.
4573 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4576 Added (missing) getName() method.
4577 Made nActions an attribute.
4578 * idl/EditableText.idl:
4579 Changed order of params in setAttributes.
4580 * idl/Hyperlink.idl:
4581 Removed getAnchor, added getURI.
4583 Changed attributes to methods, for efficiency
4584 (so that getting extents can be done in one call)
4585 * idl/Selection.idl:
4586 Changed nSelectedChildren to attribute, and re-indented.
4587 * idl/Table.idl: changed nrows, ncolumns, caption, summary
4589 * idl/Text.idl: reformatted to match our coding style.
4590 (temporarily?) removed getRowColumnAtOffset().
4591 Changed text selection API to support multi-select and
4592 non-contiguous selections, as in ATK.
4593 * idl/Value.idl: changed some methods to attributes.
4595 2001-08-24 Mark McLoughlin <mark@skynet.ie>
4597 * libspi/listener.c(impl_notify_event):
4598 BonoboUnkown_unref the source instead
4599 of bonobo_object_release_unref - the ORB
4600 handles the releasing.
4602 * configure.in: require ORBit-2.3.94 for
4605 2001-08-21 Bill Haneman <bill.haneman@sun.com>
4607 Tagged CVS repository 'EA_1_0'.
4608 * README.EARLY_ACCESS:
4609 Alphabetized acknowledgements list, and
4611 Listed some known dependencies of at-spi.
4613 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4615 * docs/at-spi-docs.sgml:
4616 * docs/at-spi-sections.txt:
4617 * docs/at-spi-overrides.txt: (Added zero-length file)
4618 Documentation improvements - gtk-doc should build
4619 docs for all implemented C bindings now.
4622 * cspi/spi.c: (New file)
4623 * cspi/spi_event.c: (New file)
4624 * cspi/spi_registry.c: (New file)
4625 * cspi/spi_accessible.c: (New file)
4626 * cspi/spi_application.c: (New file)
4627 * cspi/spi_component.c: (New file)
4628 Split spi_main.c into six parts, and included them from
4629 "spi.c". This is a bit of a hack, probably temporary,
4630 but required by gtk-doc, apparently.
4632 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4635 * docs/at-spi-docs.sgml:
4636 * docs/at-spi-sections.txt:
4638 Initial checkins/modifications for gtk-doc generation.
4641 Added (missing) interface query methods to Accessible's C binding.
4643 Added GenericInterface type definition.
4645 Added query for AccessibleComponent interface to focus event handler.
4646 Added printout of bounding box for focussed component.
4647 * libspi/component.c:
4648 Added partial implementation for AccessibleComponent to C binding.
4649 * idl/Application.idl:
4650 * libspi/registry.c:
4651 * libspi/listener.c:
4652 * libspi/application.c:
4653 * libspi/application.h:
4654 Changed "ID" attribute type from string to long.
4656 2001-08-19 Bill Haneman <bill.haneman@sun.com>
4660 Made method naming consistent: methods taking object args
4661 start with uppercase, other methods (except those using
4662 acronyms) start with lowercase. Underscores delimit between
4663 object names and method names:
4664 SPI_init() - uppercase since it starts with an acronym.
4665 getDesktopCount () - lowercase start since no object param0.
4666 Accessible_getName() - uppercase object type name, studlyCaps method
4670 Added gtk-doc documentation for all currently implemented
4671 methods in the C bindings API.
4673 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4675 * Makefile.am : changed build order to build test last.
4678 Changed "createEventListener" to "CreateEventListener".
4679 * libspi/accessibleeventlistener.c :
4680 Bugfix for addition of callbacks.
4681 * test/Makefile.am :
4682 * test/simple-at.c :
4683 Added new test that uses the C bindings API.
4685 * libspi/listener.c :
4686 * libspi/registry.c :
4687 * libspi/accessibleeventlistener.c :
4688 * at-bridge/bridge.c :
4689 Renamed member "target" of Accessibility_Event to "source",
4690 which is more descriptive.
4693 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4697 * cspi/Makefile.am :
4698 Added makefile support for at-spi/cspi directory.
4701 * cspi/spi-listener.h : (NEW FILE)
4702 Added support for/use of spi-listener.h.
4704 C bindings now build successfully, with no warnings.
4705 * libspi/accessibleeventlistener.h : (NEW FILE)
4706 * libspi/accessibleeventlistener.c : (NEW FILE)
4707 * libspi/Makefile.am :
4708 Added new object type "AccessibleEventListener"
4709 which inherits from Listener, and allows attachment
4710 of in-process callbacks (so that a client with a listening
4711 object instance can add functionality to the local
4712 implementation, dynamically).
4714 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4716 * libspi/accessible.c:
4717 Add implementation for get_index_in_parent().
4719 Added #include of "spi-roletypes.h", and
4720 added enumerated type AccessibleCoordType.
4721 Added definition for KeystrokeListener (function type).
4724 * cspi/spi-statetypes.h :
4725 * cspi/spi-roletypes.h :
4727 Added these headers, used by spi.h.
4729 Added code (NOTE: not yet built by make).
4731 2001-08-18 Mark McLoughlin <mark@skynet.ie>
4733 * libspi/Makefile.am: generate imodule
4734 at the same time as other idl compiler
4737 2001-08-17 Bill Haneman <bill.haneman@sun.com>
4738 * libspi/registry.c :
4739 * libspi/application.c :
4740 * idl/Application.idl :
4741 Made registration with toolkit an application method,
4742 which is required since each app has its own toolkit static
4743 environment. Thus the bridge must register for
4744 notification of toolkit events from each application in turn.
4745 Toolkit notifications are now successfully registered for, and
4746 sent to the listening at client.
4748 Changed toolkit event string to use hyphens rather than underscores.
4749 * libspi/listener.c :
4750 listner now gives more info in debug mode - it reports the
4751 name of the event received, as well as the name of the source.
4754 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4756 * libspi/registry.c :
4757 added more implementation for toolkit events.
4758 Fixed bug such that toolkit event registrations
4759 (via atk) use the whole event name string, not
4761 Removed a useless call to an ORBit_ method.
4762 * at-bridge/bridge.c :
4763 Removed unused local sbuf[] variable.
4765 We now register for Gtk:GtkWidget:button_press_event
4766 events as well as "focus:" events.
4768 Add some more API from Registry.idl that was missing,
4769 for keystroke listening, keystroke and mouse event
4770 synthesis, and enumeration of accessible desktops.
4772 2001-08-16 Michael Meeks <michael@ximian.com>
4774 * configure.in: use AM_GLIB_GNU_GETTEXT.
4776 * Makefile.am (SUBDIRS): kill intl.
4778 2001-08-15 Michael Meeks <michael@ximian.com>
4780 * registryd/Makefile.am: s/oaf/server/ relocate info file.
4782 * configure.in: upd.
4784 * configure.in: depend on a recent bonobo-activation that
4785 will find our server files ...
4787 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4789 * libspi/accessible.c : accessible_new() :
4790 Now we add the Component interface via bonobo_object_add_interface,
4791 if the contained AtkObject implements AtkComponent.
4792 * libspi/accessible.h : now include "component.h"
4793 * libspi/component.h :
4794 * libspi/component.c : added files - implementation of
4795 bonobo wrapper object for Accessibility/Component
4796 * libspi/listener.c :
4797 Added test code to check for Accessibility/Component:1.0
4798 interface and report whether it is implemented by the
4800 * libspi/registry.c :
4801 Now we check for not only the hash of the whole event
4802 string before relaying the event, we also check the
4803 "minor" event string (without the detail string).
4804 This allows event listeners to be registered against
4805 all events of a certain major+minor type, or just
4806 against a specific major+minor+detail type.
4807 * libspi/accessible.c :
4808 Added implementations for Accessible:get_parent(),
4809 Accessible:getChildCount(), and Accessible:getChildAtIndex().
4810 * libspi/registry.c :
4811 * libspi/listener.c :
4812 Replaced calls to Accessibility_Accessible_ref() and
4813 Accessibility_Accessible_unref() with
4814 calls to bonobo_object_dup_ref() and
4815 bonobo_object_release_unref(), so that the CORBA object
4816 is dup-ed and released when relayed, as well as the bonobo object.
4818 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4820 * libspi/Makefile.am,
4821 registryd/Makefile.am,
4822 at-bridge/Makefile.am.
4823 test/Makefile.am, configure.in:
4824 reverse previous changes.
4826 * /idl/Image.idl: fix typo.
4828 * test/Makefile.am: put DEBUG_FLAGS
4831 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4833 * test/app.c: use argv[0] instead of
4836 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4838 * libspi/Makefile.am,
4839 registryd/Makefile.am,
4840 at-bridge/Makefile.am.
4841 test/Makefile.am, configure.in:
4842 cleanup, replace individual LIBS/CFLAGS with
4843 AT_COMMON_{LIBS|CFLAGS}.
4847 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4849 * configure.in, libspi/Makefile.am:
4850 Change IDL path checking for bonobo-activation
4853 2001-08-15 Bill Haneman <bill.haneman@sun.com>
4855 * registryd/registry.c : separated event listeners to use
4856 3 separate lists (focus, window, toolkit). Began testing
4857 event names against hashes before relaying events.
4858 * test/at.c : now register for events of type "focus:"
4859 * test/app.c : now generate events of type "focus:"
4860 * at-bridge/bridge.c : register with ATK for focus events,
4861 and we now relay those focus events to any "focus:" listeners.
4862 This now works with the bridge as a GTK_MODULE when running test/at.
4863 * libspi/registry.c :
4864 * libspi/listener.c :
4865 now we ref event sources before propagating, and unref on receipt.
4866 * libspi/registry.c :
4867 some changes to internal structs, to support event typestring hashes.
4868 * text/app.c : changed the way the appname is generated.
4869 * cspi : added directory that will hold the C bindings library for
4870 non-CORBA/bonobo-savvy clients.
4871 * cspi/spi.h : header file that contains the function prototypes for the C binding.
4872 * idl/Component.idl : added in parameter to indicate coord system for
4873 geometry-related calls.
4874 * idl/Hyperlink.idl : added readonly n_links attribute
4875 * idl/Image.idl : changed methods to attributes.
4877 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4879 * at-bridge/Makefile.am: link against
4880 ../libspi/libspi.la instead of -lspi.
4882 * at-spi/test/app.c: include
4883 bonobo-activation.h. Use a default appname
4884 if one is not provided.
4886 2001-08-14 Bill Haneman <bill.haneman@sun.com>
4888 * idl/Registry.idl : temporarily changed register_Application
4889 to oneway, to work around issue with initial registration
4891 * idl/Application.idl : changed attribute "id" from readonly
4892 to read-write, since it needs to be assigned by Registry.
4893 * registryd/registryd.c : added call to set application id
4895 * registryd/registry.c : changed de-registration procedure to
4896 use CORBA_Object_hash() to find matching object ref in application
4897 lists and listener lists.
4898 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
4899 began distinguishing between event types (work in progress).
4901 2001-08-13 Bill Haneman <bill.haneman@sun.com>
4904 * libspi/application.c:
4905 Added implementations for get/set id, get_toolkitName,
4907 * registryd/registryd.c :
4911 Converted from use of OAF to bonobo-activation.
4912 * libspi/desktop.h :
4913 * libspi/desktop.c :
4915 Removed references to atksimpleobject, since base atkobject
4916 implementation now provides functionality we need.
4917 * libspi/atksimpleobject.c :
4918 * libspi/atksimpleobject.h :
4923 * at-bridge/Makefile.am
4924 * at-bridge/bridge.c
4927 Added directory "bridge" and contents, and added dependencies
4928 in Makefile.am/configure.in.
4929 Initial checkin of "at-bridge".
4930 This code is a GTK_MODULE which automatically registers
4931 GTK+ apps with the accessibility registry, using an object
4932 reference to the root ATK object.
4934 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4936 * po/Makefile.in.in: Remove. Again. If this
4937 doesn't get autogenerated - you need to update
4940 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4942 * po/Makefile.in.in: Add. Again.
4944 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4946 * libspi/accessible.c : added support for 'description' property.
4947 * libspi/accessible.c
4949 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4950 (since the two are now equivalent in libbonobo)
4958 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4959 Bonobo::Unknown as does Accessibility::Accessible.
4960 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4961 interface with Bonobo::Stream, since it was redundant with it.
4962 (The Stream returned by a StreamableContext object is expected to
4963 implement only a subset of Bonobo::Stream)
4965 2001-07-28 Anders Carlsson <andersca@gnome.org>
4967 * libspi/accessible.c (accessible_object_finalize): Change
4968 g_free to g_object_unref since the AtkObject is a GObject.
4970 2001-07-30 Bill Haneman <bill.haneman@sun.com>
4972 * idl/Accessibility.idl: add new IDL files
4975 * idl/Action.idl: Definitions of actionable UI object
4976 * idl/Component.idl: Definitions of UI component geometry, etc.
4977 * idl/Hyperlink.idl: Defs of hyperlink behavior
4978 * idl/Image.idl: Def of accessible image
4979 * idl/Selection.idl: Definition of UI object with selectable children
4980 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4981 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4982 * idl/Text.idl: Interface defs for UI elements with complex textual content
4983 * idl/Value.idl: Definition of UI element that is a value controller or display
4985 2001-07-27 Michael Meeks <michael@ximian.com>
4987 * po/Makefile.in.in: remove autogenerated file from CVS.
4989 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4992 * idl/Registry.idl: include guard.
4994 * idl/Accessibility.idl: Add, and include all the other IDL
4997 * idl/*.idl: remove mass of pragmas etc.
4999 2001-07-26 Michael Meeks <michael@ximian.com>
5001 * registryd/Makefile.am (registryd_SOURCES): remove
5004 2001-07-27 Mark McLoughlin <mark@skynet.ie>
5006 * libspi/.cvsignore, registryd/.cvsignore,
5007 test/.cvsignore: updated.
5009 * po/Makefile.in.in: gettext update.
5011 2001-07-25 Bill Haneman <bill.haneman@sun.com>
5013 * initial CVS checkin
5015 2001-06-29 Michael Meeks <michael@ximian.com>
5017 * configure.in: add AM_CONFIG_HEADER to gen config.h