1 2002-11-19 Darren Kenny <darren.kenny@sun.com>
3 Fixes for bugs 98127 and 97914.
4 * cspi/spi-roletypes.h:
5 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
7 * cspi/spi-statetypes.h:
8 Added SPI_STATE_MANAGES_DESCENDANTS
10 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
11 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
12 * cspi/spi_accessible.c:
13 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
14 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
15 Accessibility_STATE_MANAGES_DESCENDANTS
16 * libspi/accessible.c:
17 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
18 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
19 As requested by Bill, I also cleaned up the alignment.
21 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
22 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
24 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
25 Accessibility_STATE_MANAGES_DESCENDANTS
26 * docs/reference/cspi/tmpl/spi_accessible.sgml:
27 Document changes reflecting modifications to roles.
28 * docs/reference/cspi/tmpl/spi_relation.sgml:
29 Document changes reflecting modifications to relations.
30 * docs/reference/cspi/tmpl/spi_stateset.sgml:
31 Document changes reflecting modifications to states.
33 2002-11-17 Bill Haneman <bill.haneman@sun.com>
36 Revved to 1.1.3, interface-age=3, binary-age=3.
40 Removed accessx-gui from the tests, since we have a nice
41 keyboard accessibility capplet now :-)
43 * test/keysynth-demo.c:
44 (increment_scan): removed do-nothing default: case,
48 (main) : removed do-nothing default: case,
52 (AccessibleAction_getKeyBinding_):
53 Documented keybinding string format.
57 (AccessibleText_getAttributes):
58 Documented the text attribute string format.
59 It's changed to use semicolon delimiters also,
60 to prevent clashes with CSS attributes, but the old
61 trick of looking for ", " strings will still work
62 (as unreliably as ever). Fix for bug related to 97916.
65 Include <cspi/bonobo/cspi-bonobo-listener.h>
67 (SPI_freeAccessibleKeySet):
68 (AccessibleKeystrokeListener_addCallback):
69 (AccessibleKeystrokeListener_removeCallback):
70 Modify to use AccessibleDeviceListener API internally,
71 instead of AccessibleKeystrokeListener.
73 * idl/Accessibility_Event.idl:
74 Added two more empty slots to EventListener (for a total of four).
76 * idl/Accessibility_Accessible.idl:
77 Added four empty slots to Accessible interface.
79 * idl/Accessibility_Accessible.idl:
80 Added four empty slots to Accessible interface.
82 2002-11-15 Bill Haneman <bill.haneman@sun.com>
84 * idl/Accessibility_Registry.idl:
85 (KeyEventType, EventType):
86 Marked KeyEventType as deprecated; it duplicates
87 functionality of EventType, which has been extended to
88 include Mouse-button events.
89 (KeyEventTypeSeq): defined in terms of EventType.
90 (registerDeviceEventListener, deregisterDeviceEventListener):
91 New methods, for managing listeners to device events,
92 which potentially may consume them.
95 Added definition for AccessibleDeviceListener.
97 * cspi/spi-listener.h:
98 (enum AccessibleDeviceEventType):
99 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
100 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
101 for backwards compat.
102 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
103 and typedef'd AccessibleKeystroke to it for back-compat.
104 (AccessibleDeviceListenerCB):
105 New function prototype typedef.
108 (AccessibleDeviceEventMask): New typedef.
109 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
110 (AccessibleKeyMaskType):
111 Set equivalent to AccessibleModifierMaskType for back-compat.
112 (SPI_createAccessibleKeystrokeListener):
113 (AccessibleKeystrokeListener_unref):
114 Deprecated in favor of equivalent (better-named) new API below..
115 keystroke listeners are like all device listeners.
116 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
117 New API names for old features :-).
118 (AccessibleDeviceListener_addCallback):
119 (AccessibleDeviceListener_removeCallback):
120 (SPI_registerDeviceEventListener):
121 (SPI_deregisterDeviceEventListener):
125 (SPI_createAccessibleKeystrokeListener):
126 Use new preferred API, cspi_device_listener_new() and
127 cspi_device_listener_add_cb().
128 (AccessibleKeystrokeListener_removeCallback):
129 Use new preferred API, cspi_device_listener_remove_cb().
130 (AccessibleKeystrokeListener_unref):
131 Use new preferred API, cspi_device_listener_unref().
132 (SPI_createAccessibleDeviceListener):
133 (AccessibleDeviceListener_addCallback):
134 (AccessibleDeviceListener_removeCallback):
135 Implementation of new API.
137 * cspi/spi_registry.c:
138 (SPI_registerDeviceEventListener):
139 (SPI_deregisterDeviceEventListener):
140 Implementation of new API. Fixed memory leak and removed need to
141 allocate EventTypeSeq (thanks Michael for catching this).
142 Squashed a wayward CORBA_exception_free that shouldn't get called.
144 * cspi/bonobo/cspi-bonobo-listener.c:
146 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
147 (cspi_key_event): renamed to cspi_device_event().
148 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
149 Extended to handle mouse button events as well as key events.
150 (CSpiKeystrokeListener):
151 Class superceded by CSpiDeviceListener.
152 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
153 These internal APIs changed to "*device_listener" from "*keystroke_listener".
155 * cspi/bonobo/cspi-bonobo-listener.h:
156 (CSpiKeystrokeListener):
157 Class superceded by CSpiDeviceListener.
158 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
159 These internal APIs changed to "*device_listener" from "*keystroke_listener".
161 * libspi/Makefile.am:
162 Replaced keystrokelistener.h and keystrokelistener.c
163 with devicelistener.h and devicelistener.c; keystrokelisener.h
164 stub retained for back-compat.
166 * libspi/keystrokelistener.c:
170 Replaced inclusion of keystrokelistener.h with devicelistener.h.
172 * registryd/deviceeventcontroller.c:
173 (DEControllerListener): Added Accessibility_EventTypeSeq member.
174 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
175 (DEControllerPrivateData): Added xkb settings data.
176 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
177 button release events (which can't be captured via XGrabButton).
178 Don't dispatch via the 'normal' event mechanism if the device event was
180 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
181 Handle the typeseq data in its new location (see above).
182 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
183 New methods, for "generic" device listeners.
184 (spi_controller_register_device_listener):
185 Now handle mouse event listeners as well as key listeners.
186 (spi_controller_notify_mouselisteners):
188 (spi_device_event_controller_forward_mouse_event):
189 Now we notify mouse device listeners as well as generating the
190 non-consumable "mouse:" events.
192 We must check and restore the XKB
193 modifier map if we consume the event, since the act of triggering
194 a mouse event will normally reset the XKB latch. This is required for
196 (spi_controller_register_with_devices):
197 Load the XKB settings when registering, and register for XKB
199 (spi_key_eventtype_seq_contains_event):
200 Renamed spi_eventtype_seq_contains_event, since it's used
201 internally for all device event types now.
202 (spi_key_event_matches_listener):
203 Uses spi_eventtype_seq_contains_event now.
204 (spi_device_event_controller_object_finalize):
205 Free the private data and the XkbKeyboard struct.
206 (impl_register_device_listener, impl_deregister_device_listener):
207 Implementation of new IDL.
208 (spi_deregister_controller_device_listener):
210 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
211 More efficient implementation, we don't have to create a new
212 XkbControls structure every time we query.
213 (spi_device_event_controller_class_init):
214 Initialize the epv entries for the new IDL. Assign the
215 "spi-dec-private" quark.
216 (spi_device_event_controller_init):
217 Initialize the private data.
218 (spi_device_event_controller_forward_key_event):
219 Removed a bogus CORBA_exception_free() call.
221 * registryd/deviceeventcontroller.h:
222 Replaced inclusion of keystrokelistener.h with
225 * test/event-listener-test.c:
226 (report_mouse_event):
229 Added mouse-event device listener.
231 * test/test-simple.c:
232 (create_test_window):
233 Fixed regression (we were instantiating a GtkRange,
234 which is now an abstract class). Also fixed to match
235 existing AtkRole names, this seems to have changed in ATK
236 awhile ago; too late now I think, and the new
237 mechanism is at least elegant and consistent with the
238 glib enum "nick" APIs.
240 2002-11-15 Darren Kenny <darren.kenny@sun.com>
242 * idl/Accessibility_Relation.idl:
243 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
244 RELATION_EMBEDS,RELATION_EMBEDDED_BY
245 * idl/Accessibility_Role.idl:
246 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
247 * idl/Accessibility_State.idl:
248 add STATE_MANAGES_DESCENDANTS
249 * test/event-listener-test.c:
250 Added a listener for active-descendant events.
252 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
254 * atk-bridge/bridge.c
255 (atk_bridge_init): If application is Bonobo component wait until top
256 level is added before registering
257 (spi_atk_bridge_do_registration): New function which contains code,
258 formerly in atk_bridge_init, to do application registration.
259 (spi_atk_bridge_toplevel_added): Signal called when top level
260 added to Bonobo component
262 This fixes bug #83134.
264 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
266 * registryd/deviceeventcontroller.c
267 Fixed compilation error caused by calling gettimeofday()
270 2002-10-18 Bill Haneman <bill.haneman@sun.com>
275 Added template for HAVE_XKB.
278 Changes to check for XKB, and to set the HAVE_XKB #define if it
282 ()impl_notify_event): Make failure to get event source name
285 * registryd/deviceeventcontroller.c:
286 (#include): include X11/XKBlib.h.
287 (DEControllerPrivateData) : New struct.
288 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
290 (dec_synth_keycode_press) (dec_synth_keycode_release):
291 New methods; split the key synthesis code into these methods.
292 They check XKB settings before determining the "time" values to
293 pass to Xtest; this fixes bug #95828.
294 (impl_generate_keyboard_event): Changed to use methods above,
295 instead of callng Xtest directly.
296 (spi_device_event_controller_init): Initialize new privae struct s
298 (spi_device_event_controllr_object_finalize):
299 Free the (new) private data.
301 * registryd/deviceeventcontroller.h:
302 Add new gpointer to end of struct data.
304 2002-10-16 Bill Haneman <bill.haneman@sun.com>
307 Incremented revision to 1.1.2, SONAME is still '.so', library
308 extensions are ".so.0.0.2".
310 * registryd/deviceeventcontroller.c:
311 FIXES FOR #93592 and #95940.
312 (statics): renamed mouse_button_state to mouse_mask_state,
313 added key_modifier_mask.
314 (spi_dec_poll_mouse_moved):
315 Added key modifier checks, and emit "keyboard:modifiers"
316 events when the key modifiers currently in use change.
317 Also generate "mouse:abs" events periodically, even if the mouse
318 is stationary (should we?).
319 Alternatively we could generate "mouse:abs" events for either all
320 mouse movements, or every 'nth' mouse movement, or at the
321 beginning and end of every "active" mouse period.
323 * test/event-listener-test.c:
324 (main): Added listener for "keyboard:modifiers" events.
326 2002-10-15 Bill Haneman <bill.haneman@sun.com>
329 Added key mask #defines for mouse buttons; e.g.
330 SPI_KEYMASK_BUTTON1, etc.
333 Incremented dependency on ATK to version 1.1.0. (This dependency
334 is probably premature but will soon be real enough).
336 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
338 * libspi/hyperlink.[ch]
339 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
340 (get_hyperlink_from_servant): Check object is AtkHyperlink not
343 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
348 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
350 * registryd/deviceeventcontroller.c
351 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
352 events to be ignored.
353 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
354 keyboard_mode so that XAllowEvents() can be called.
358 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
360 * cspi/spi-accessible.c: Correct names of roles returned by
361 AccessibleRole_getName(). Fixes bug #95055.
363 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
365 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
368 * registryd/registry.c
369 (desktop_remove_application: Write diagnostic message to stderr for
372 (impl_accessibility_registry_deregister_global_event_listener):
373 Correct size of lists array. This addresses bug #94555).
375 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
377 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
380 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
382 * registryd/Makefile: Add CLEANFILES so that .server file is removed
385 * registryd/registry.c (impl_registry_notify_event): Remove
386 unnecessary call to parser_event_type().
388 * docs/reference/cspi/tmpl/spi_component.sgml:
389 Add reference to SPI_LAYER_WINDOW.
391 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
393 * registryd/registry.c
394 (desktop_add_application): Remove leak.
395 (desktop_remove_application): Remove leak.
396 (parser_event_type): Remove leak.
398 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
400 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
401 bogus call to CORBA_string_dup(). Also removed unnecessary
402 g_string_dup/g_free calls.
404 2002-09-13 Bill Haneman <bill.haneman@sun.com>
406 * registryd/deviceeventcontroller.c:
407 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
409 * test/event-listener-test.c:
410 main: commented out three redundant listeners, to reduce output
411 noise. (They still are potentially useful for testing).
414 2002-09-13 Michael Meeks <michael@ximian.com>
416 * Update all the copyrights to include Ximian.
418 2002-09-06 Mark McLoughlin <mark@skynet.ie>
420 * cspi/spi.h: add SPI_LAYER_WINDOW.
422 * cspi/spi_component.c: (AccessibleComponent_getLayer):
423 add Accessibility_LAYER_WINDOW case.
425 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
427 * libspi/component.c: (impl_accessibility_component_get_layer):
428 add ATK_LAYER_WINDOW case.
430 2002-08-28 Bill Haneman <bill.haneman@sun.com>
432 * configure.in: incremented micro version.
434 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
436 2002-08-20 Bill Haneman <bill.haneman@sun.com>
439 Clarified and reworded our commit policy.
442 Started an API "todo" addition list for 2.2.
446 Free char pointer from atk_text_get_selection, which was being leaked.
448 2002-08-19 Bill Haneman <bill.haneman@sun.com>
451 Small revision to author acknowledgement.
453 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
455 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
456 If signal has detail add it to the type of the event.
459 2002-08-12 Michael Meeks <michael@ximian.com>
461 * test/test-simple.c (global_listener_cb): bin bogosity.
462 (test_keylisteners): disable, still doesn't work reliably,
463 certainly not on my system anyway.
465 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
466 don't leak a reference on the DEC. This round-trip
467 fetching of the DEC per keystroke sucks, it should be
470 * cspi/spi-private.h,
471 * cspi/cspi-lowlevel.h,
472 * cspi/bonobo/cspi-bonobo-listener.[ch],
473 * cspi/bonobo/cspi-bonobo.c: get the copyright
474 notices better - there is still a large amount of
475 work in at-spi falsely attributed solely to Sun.
477 * cspi/spi_main.c (cspi_object_ref): kill bogus
478 hash lookup, just increment the ref.
479 (SPI_freeString): make explicit the fact that we
480 handle NULL strings just fine.
481 (report_leaked_ref): obey coding standards.
482 (cspi_object_hash, cspi_object_equal): kill retval.
483 (cspi_object_release): only release if not on loan.
484 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
485 (cspi_object_borrow, cspi_object_return): impl.
487 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
488 use cspi_object_borrow / return.
490 2002-08-12 Darren Kenny <darren.kenny@sun.com>
492 * cspi/bonobo/cspi-bonobo-listener.c:
494 Don't call cspi_oject_new() because this is creating a new Accessible
495 every single time that an event is fired. This causes ATs like at-poke
496 to nolonger recognise the source of the event and thus ignore it.
497 Re-use the object from the cache, ref it and then unref it after the
498 listeners have been called.
500 2002-08-06 Darren Kenny <darren.kenny@sun.com>
502 * test/event-listener-test.c:
503 Added command-line options to disable mouse events (m) and
506 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
508 * configure.in: Update required versions of ATK, GTK+ and GAIL
510 * cspi-1.0.pc.in: Add dependency for X include files
513 * cspi/bonobo/Makefile.am:
514 Add $(X_CFLAGS) so that X include files
515 are picked up even if not in standard place (bug #71686)
517 2002-06-25 Bill Haneman <bill.haneman@sun.com>
519 * registryd/deviceeventcontroller.c: fix for 84261
520 (spi_dec_mouse_moved):
521 Added test of mouse button mask, so that we can detect mouse
522 button release. Unfortunately we can't otherwise detect mouse
523 button release events without consuming the mouse press event,
524 because of the way XGrabButton works. This means that our mouse
525 release events have a latency dependent on the polling period
526 while the mouse button is down. At least in this case we only
527 have to poll while the button is down, and not at other times.
528 If the button masks don't match with what the last press event
529 reported, we report the appropriate button release event.
530 (spi_dec_ungrab_mouse):
531 New method (not yet called).
532 (spi_device_event_controller_forward_mouse_event):
533 New method, sends mouse press event from GdkFilter.
534 (spi_dec_init_mouse_listener):
535 Added code to call XGrabButton, redirecting mouse button events to
536 the root window and our Gdk event loop.
538 Added code to filter mouse button events, and reordered.
540 * test/event-listener-test.c:
542 Added registration for mouse events of type "mouse:button".
544 2002-06-25 Bill Haneman <bill.haneman@sun.com>
546 * registryd/deviceeventcontroller.c: partial fix for 84261
547 (spi_dec_poll_mouse_idle):
548 New method, a timeout which checks to see if the mouse
550 (spi_dec_poll_mouse_moving):
551 A timeout to be called when mouse motion is underway.
552 (spi_dec_poll_mouse_moved):
553 A method which fires an event if the mouse has moved, and reports
554 whether or not it did so.
555 (spi_dec_init_mouse_listener):
556 A method which sets up the timeouts above.
557 (spi_device_event_controller_new):
558 Now calls spi_dec_init_mouse_listener.
560 * registryd/registry.c:
562 Now we initialize the device event controller when the registry is
563 initialized, instead of waiting until a client has requested a key
564 event notification; this is because we need the event controller
565 for mouse events, but the mouse event registration API is a
566 "registry" call and doesn't explicitly call the
567 deviceeventcontroller.
568 We now report mouse motion events with a 100 ms idle latency and
569 a 20 ms granularity when motion is in progress.
571 * test/event-listener-test.c:
573 We now register the "detail listener" for events of type
574 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
575 delivered only for the first mouse event received, and thereafter
576 "mouse:abs" events are delivered.)
578 * cspi/spi_registry.c:
579 DOCS: Documented the above mouse event typestrings.
581 2002-06-21 Bill Haneman <bill.haneman@sun.com>
583 Happy Summer Solstice...
585 * registryd/deviceeventcontroller.c: [fix for bug 84100]
586 (spi_controller_notify_keylisteners):
587 Changes to remove a listener from the listener list, freeing its
588 open keygrabs, if a notification to that listener fails. This
589 means that although a dead listener can continue to hold a passive
590 keygrab, a maximum of one dispatch to such a listener can fail
591 before the listener is removed from the list, thus the keygrab
592 will be released on the next occurrence.
594 (spi_notify_keylisteners):
595 Renamed to spi_controller_notify_keylisteners, as the controller
596 instance must now be passed as an argument.
597 The copied 'notify' GList is now a list of DEControllerKeyListener
598 objects, since we need more than just the CORBA reference if a
599 notify fails and we need to deregister the listener.
600 (impl_notify_listeners_sync):
601 (impl_notify_listeners_async):
602 (spi_device_event_controller_forward_key_event):
603 Modify use of notify_keylisteners in accordance with above
605 (spi_deregister_controller_key_listener):
606 New method introduced by refactoring, from
607 impl_deregister_keystroke_listener.
608 (impl_deregister_keystroke_listener):
609 Call spi_deregister_controller_key_listener.
610 (spi_key_listener_clone):
611 New method to copy a key listner without doing a 'ref' on the
612 remote object instance; used to create a notifier list.
613 (spi_key_listener_data_free):
614 New method, frees data without unreffing the source.
616 (spi_key_listener_clone_free): new method.
617 (spi_key_listener_free):
618 refactored to call spi_key_listener_data_free.
620 2002-06-20 Bill Haneman <bill.haneman@sun.com>
622 * registryd/registry.c: [fix for bug 86048]
623 (notify_listeners_cb):
624 Clear CORBA system exceptions which occur when notifying
625 listeners, before returning to the source of the original event,
626 since the event source doesn't care if the relayed notify failed.
627 In other words, don't complain to the atk-bridge if the registry
628 could not notify all its listeners, that's no fault of the
629 application and thus should not appear to be an error from the
630 application's perspective.
632 * cspi/spi_main.c: [fix for bug 85980]
634 Replaced use of bonobo_object_dup_ref with call to the wrapper
635 method, csou_dup_ref (); this silences a compiler warning and
636 provided more portability.
638 Ping the registry before return, and restart if necessary.
640 * cspi/bonobo/cspi-bonobo.c:
644 Fixed this method to return an object reference, as it should have
647 * cspi/cspi-lowlevel.h:
648 Added internal definition for cspi_ping() and fixed
649 return type of cspi_dup_ref().
652 2002-06-19 Bill Haneman <bill.haneman@sun.com>
654 * atk-bridge/bridge.c: [fix for bug 85305]
655 (spi_atk_bridge_register_application):
656 New method where the initial application registry calls have been
657 moved; it allows an application to re-register in response to
658 certain error conditions (such as a registry restart, see below).
660 Moved some initialization code to the method
661 spi_atk_bridge_get_registry, below.
662 (spi_atk_bridge_get_registry):
663 New, private accessor function for the Accessibility_Registry
664 instance. If the registry has not been started before, or has
665 died (as detected by failure of a CORBA exception), it is
666 restarted before return, and spi_atk_bridge_register_application
667 is called again to register with the new bridge instance.
668 (spi_atk_emit_eventv):
669 Set registry_died on error; use spi_atk_bridge_get_registry () to
672 * registryd/registry.c:
673 (impl_accessibility_registry_register_global_event_listener):
674 Set listener's event_type_quark to etype.minor instead of
675 etype.major (fix for bug 84856).
677 * test/event-listener-test.c:
678 (report_detail_event):
679 Change the output string so that user/tester can tell that the
680 'detail listener' was called instead of the 'generic listener'.
682 2002-06-18 Bill Haneman <bill.haneman@sun.com>
684 Fixes for bugs 84900, 84908, 84897, 84898.
689 Revved version to 1.1.0
690 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
691 version is going to HEAD which will be used for gnome-2-0-1 and later.)
693 * idl/Accessibility_Registry.idl:
694 (EventListener::notifyEvent):
695 Removed 'oneway' directive after extensive consulation with
696 ORBit2 team and others. This means also that unref() of the event
697 source can and should be done synchronously after emission, rather
698 than remotely in the client, after servicing the notify call on
701 NOTE: This change speeds up listener performance considerably, but
702 introduces new latency on the application side. We may want to
703 add an event queue to the atk-bridge.
705 * atk-bridge/bridge.c:
706 (spi_atk_bridge_focus_tracker):
707 Do a local unref() on the event source after emission.
709 * registryd/registry.c:
710 (desktop_remove_application):
711 Do an unref() on the event source after emission.
712 (desktop_add_application):
713 Do an unref() on the event source after emission.
714 (notify_listeners_cb):
715 When relaying an event, don't automatically add the event source
716 to the local object cache, just CORBA_dup it instead. Likewise,
717 if this method reenters, release the ref rather than calling
719 (impl_registry_notify_event):
720 No longer call remote unref() on the event source after dispatch.
722 * libspi/eventlistener.c:
723 (impl_accessible_event_notify_event):
724 Removed remote unref ()
726 * cspi/bonobo/cspi-bonobo-listener.c:
728 We now call cspi_object_new() instead of cspi_object_add() on
729 receipt of an event; thus we only have an implicit object ref
730 while the cspi_event method is being executed. If we need to keep
731 a reference to the object, the listener must call ref() on the
732 object. Thus also we don't need to call cspi_object_unref() after
733 invoking the listener callbacks in this method.
737 New internal API for creating a new cspi object, without adding it
740 Now uses cspi_object_new() to create the cspi object instance.
742 Now checks to see if the object is in the internal object cache,
743 and adds it if necessary before incrementing its refcount (note
744 that new objects are added with a refcount of 1).
746 New method which gives some information on leaked object instances
747 if leak detection is turned on.
749 * test/event-listener-test.c:
751 New method, used for testing event delivery timing for special
752 events of type "object:test". It reports elapsed time and
753 events/sec every 500 events.
755 Added a new listener, 'test listener', to check timing of event
756 receipt as noted above.
758 Added some timing output here also, reports elapsed time every 100
761 * test/stress-test.c:
762 Emit events of type "object:test", for use with "event-listener-test".
764 * test/test-simple.c:
765 (global_listener_cb):
766 Call Accessible_ref() on the event source before calling
767 validate_accessible, since the validation process does pointer
768 comparisons on the event source, meaning that the event source
769 needs to be added to the local object cache first. Any use of
770 such pointer comparisons between Accessible objects requires that
771 the caller hold an explicit reference to those objects.
772 We also must therefore call Accessible_unref() when leaving this method.
774 2002-06-13 Bill Haneman <bill.haneman@sun.com>
776 * registryd/deviceeventcontroller.c:
777 (spi_controller_update_key_grabs):
778 Fix for #84735, subsequent keygrab listeners not informed of
779 registration failure.
782 (spi_base_construct):
783 Add an assertion on construct, to make sure the GObject passed in
786 Explicitly initialize object->gobj pointer to NULL;
788 * cspi/bonobo/cspi-bonobo-listener.c:
789 (cspi_object_add_ref):
790 New method, can specify whether to dup-ref a bonobo object passed
791 in if it's newly added to the object cache.
793 Now calls cspi_object_add_ref with second param of "FALSE". This
794 prevents us from doing a pointless dup-ref followed by
795 release-unref for all those cases where the object is already in
796 our object cache (fix for #85205).
798 * atk-bridge/bridge.c:
799 (spi_atk_bridge_idle_init):
800 Removed this method, we don't need to initialize in an idle
803 Changed to call spi_atk_register_event_listeners directly, not via an
804 idle handler. (fix for #81139)
805 (gnome_accessibility_module_shutdown):
806 Removed conditional around deregistration of listeners, since we
807 don't use the idle handler and thus have always registered when
809 (spi_init_keystroke_from_atk_key_event):
810 Changed references to Accessibility_KEY_PRESSED to
811 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
813 2002-06-12 Bill Haneman <bill.haneman@sun.com>
815 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
820 * test/stress-test.c:
823 (may have been an incomplete commit yesterday?)
825 2002-06-12 Bill Haneman <bill.haneman@sun.com>
828 Added target for new stress-test.
830 * test/stress-test.c:
831 New test, sends 1000 focus notifies in quick succession.
833 * test/key-listener-test.c:
834 Now we report whether a keylistener registration
835 request succeeded or failed.
837 * test/event-listener-test.c:
838 Uncommented some listeners which are now implemented.
841 2002-06-06 Bill Haneman <bill.haneman@sun.com>
843 * registryd/deviceeventcontroller.c:
844 (spi_controller_update_key_grabs):
845 Fix for #82509, lack of failure notification when
846 ALL_WINDOWS keygrabs fail due to XGrabKey
847 failure: we synchronize the server when
848 registering a passive grab, to make sure we get the
849 error message before the call returns.
851 2002-06-03 Bill Haneman <bill.haneman@sun.com>
853 * test/test-simple.c:
855 Removed #ifdef KEY_IMPL_WORKS guards.
857 Removed #ifdef KEY_IMPL_WORKS guards.
858 Fixed bug which was causing a hang waiting for a
859 "press" event (which was already overwritten by a "release"
860 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
862 Added code to set globals 'key_press_received' and
863 'key_release_received'.
866 Added section "1.1 API Proposed Additions" which
867 lists API additions desired for at-spi-1.1 (only one so far).
868 Updated TODO list a little.
870 2002-06-02 Bill Haneman <bill.haneman@sun.com>
872 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
875 * configure.in: Revved to 1.0.0.
877 * idl/Accessibility_Registry.idl:
878 (registerKeystrokeListener):
879 Added boolean return value.
881 * registryd/registry.c:
882 (notify_listeners_cb): Minor fix to debug output.
884 * registryd/Accessibility_Registry.server.in.in:
885 Revved version number in OAFIID to 1.0.
887 * registryd/registryd.c:
889 Use new OAFIID version.
891 * cspi/bonobo/cspi-bonobo.c:
893 Use new OAFIID version.
899 * atk-bridge/bridge.c:
901 Use new OAFIID version.
903 * registryd/deviceeventcontroller.c:
904 (impl_register_keystroke_listener):
905 Added CORBA_boolean return value.
906 (spi_controller_register_device_listener):
907 Added gboolean return value.
908 (spi_controller_register_global_keygrabs):
909 Added gboolean return value.
910 (spi_key_set_contains_key):
911 Added implementation for many more control keys,
912 for instance F1-F12, arrow keys, End, Home, Page_Up,
914 [TODO: some still not implemented].
916 * text/screen-review-test.c:
917 (text_chunk_pad_string):
918 New function: it provides mapping between coordinate
919 positions of text chunks and character positions in the
920 screen-review-line output string.
921 (text_chunk_to_string):
922 New function, calls text_chunk_pad_string with various
923 pad/delimiter characters. Pushbuttons are delimited with
924 square brackets, Frames with vertical 'pipe' lines, and
925 other text with double quotes.
926 (text_chunk_list_to_string):
927 Calls new function text_chunk_to_string.
928 (toplevel_composite):
929 New function to composite layers CANVAS through
930 POPUP in each toplevel (other layers are composited
931 across toplevels, i.e. BACKGROUND and OVERLAY).
932 (review_buffer_composite):
933 Revise to use new methods.
939 2002-05-31 Laszlo Peter <laca@sun.com>
941 * configure.in: add the Xtst libdir to the runpath on Solaris,
942 since it's not in the default library search path.
944 2002-05-29 jacob berkman <jacob@ximian.com>
946 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
948 2002-05-29 Bill Haneman <bill.haneman@sun.com>
950 * test/screen-review-test.c:
951 (text_chunk_pad_string):
952 Added method, which pads the string according to the
953 text bounds of the chunk. It also takes a 3-character
954 string as a param which indicates the characters to be
955 used for start, padding, and end delimitation of the chunk.
956 (text_chunk_to_string):
957 Changed to use text_chunk_pad_string.
959 * configure.in: Fixed bug in AC_OUTPUT that was
960 causing path substitution in Accessibility_Registry.server
963 2002-05-23 Bill Haneman <bill.haneman@sun.com>
965 * text/screen-review-test.c:
967 New method which attempts a best-guess at clipping
968 text from components (like Java labels) which don't
969 actually implement AccessibleText. This inaccurate
970 clip is based on the assumption that the label is
971 justified left-and-right, and monospaced.
972 (text_chunk_get_clipped_string):
973 We now call guess_string_clip() for text-containing
974 components that don't implement AccessibleText.
976 * test/screen-review-test.c:
977 (review_buffer_get_text_chunk):
978 We now pull "name" from labels if they do not implement
979 AccessibleText (i.e. for Java labels).
980 (get_screen_review_line_at):
981 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
984 Replaceded AC_OUTPUT target
985 registryd/Accessibility_Registry.server with
986 registryd/Accessibility_Registry.server.in.
988 * registryd/Accessibility_Registry.server.in:
989 Removed (this is now a Makefile target).
991 * registryd/Accessibility_Registry.server.in.in:
992 Added (source for target above). We now use $(libexecdir) as
993 prefix for the executable at-spi-registryd.
995 * registry/Makefile.am:
996 Now install at-spi-registryd into $(libexecdir), and build .server
997 file with path (see above).
999 2002-05-22 Bill Haneman <bill.haneman@sun.com>
1001 * test/screen-review-test.c:
1002 (text_chunk_get_clipped_string):
1003 We now check to see if words fall within clip bounds
1004 before resorting to character-by-character clip bounds testing.
1006 * TODO: Added a section for "2.2 Proposed API Additions".
1008 2002-05-21 Bill Haneman <bill.haneman@sun.com>
1010 * test/screen-review-test.c:
1012 Added a screen review benchmarking and test program to test
1015 * cspi/spi_accessible.c:
1017 Made some of the debug strings passed to cspi_check_ev a
1018 little more specific.
1020 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
1022 * test/screen-review-test.c: Fix crashes in debug statements
1024 2002-05-20 Bill Haneman <bill.haneman@sun.com>
1026 * test/screen-review-test.c: Added this file.
1028 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1030 * atk-bridge/bridge.c: changed "object:state-change" to
1031 "object:state-changed" to match docs.
1033 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
1035 * atk-bridge/bridge.c: Hooked up state-change event details.
1037 2002-05-11 Bill Haneman <bill.haneman@sun.com>
1039 * registryd/registry.c:
1040 Fixed quarking bug in event string parsing; now events with
1041 detail parameters get matched correctly to listeners.
1044 * util/idl/Magnifier.idl: remove.
1046 * util/*.[ch]: Remove.
1047 Magnification utilities and IDL are now in module gnome-mag.
1049 2002-05-10 Bill Haneman <bill.haneman@sun.com>
1051 * registryd/deviceeventcontroller.c:
1052 Fixed bug in grab key conversion which was causing keycode grabs
1053 to be converted to AnyKey grabs.
1056 updated NEWS file to reflect recent spin-off of gnome-mag.
1058 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
1060 * cspi/spi_accessible.c: Added exception checks. Fixed completely
1061 busted AccessibleStateSet_compare. Removed redundant casts.
1063 * cspi/spi-action.c: Removed redundant casts.
1065 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
1067 * cspi/spi_component.c: Fixed typos and casting error.
1069 * cspi/spi_editabletext.c: Removed redundant casts.
1071 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
1073 * cspi/spi_hypertext.c: Eliminated redundant casts.
1075 * cspi/spi_image.c: Eliminated redundant casts.
1077 * cspi/spi_registry.c: Eliminated redundant casts.
1078 SPI_deregisterGlobalEventListenerAll () removed retval variable.
1079 * cspi/spi_selection.c: Removed redundant casts.
1080 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
1081 handling. Screen geometry and text offsets were being returned as 0
1082 on error which is technically valid-- changed these to return -1.
1083 Added marshaller for text boundary types to fix bug with boundary
1084 types being passed incorrectly to atk.
1086 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1089 * cspi/spi_registry.c:
1090 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
1091 which was uncovered by the recent key changes.
1093 2002-05-09 Bill Haneman <bill.haneman@sun.com>
1095 * test/event-listener-test.c:
1097 Added new test, "event-listener-test";
1098 this code does two things; it benchmarks traversal time
1099 for the accessible hierarchy for the first running accessible
1100 app, and it connects listeners for all supported event types.
1101 It is thus useful as an example event listener and for
1102 diagnostics/debugging of event generation.
1104 2002-05-08 Bill Haneman <bill.haneman@sun.com>
1107 Removed unnecessary dependency on libutil.
1110 Revved micro version: 0.13.1
1112 2002-05-08 Bill Haneman <bill.haneman@sun.com>
1115 Removed util/Makefile from targets.
1118 Removed util subdir from SUBDIRS (temporarily,
1119 pending removal of magnifier-only code
1123 #ifdef-ed out magnifier dependencies, since
1124 magnifier IDL, headers, and binary now live in
1125 module gnome-mag and we don't want at-spi to depend
1126 on gnome-mag. A magnifier demo which can run alongside
1127 simple-at is forthcoming in the gnome-mag module.
1129 NOTE: Split magnifier binary, IDL, and magnification
1130 activation code from at-spi into module gnome-mag.
1132 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
1134 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
1135 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
1137 2002-05-03 Bill Haneman <bill.haneman@sun.com>
1140 Revved to version 0.13.0
1142 * idl/Accessibility_Registry.idl:
1143 Changed definition of KeySet from sequence of longs to sequence of
1144 KeyDefinitions, and added KeyDefinition struct.
1145 Required for fix to bug 80616.
1147 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
1148 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
1149 to use new definition (see above).
1151 * registryd/deviceeventcontroller.c: handle_keygrab(),
1152 spi_keyset_contains_key():
1153 Changed to make use of new struct; this allows matching based on
1154 string key-name, for instance "Tab". This also allows matching of
1155 composed characters, non-alphanumeric characters in a way that
1156 doesn't involve dependencies on X keysym codes directly, etc.
1158 * test/key-listener-test.c:
1159 Added test for Alt-Tab key using "string" specification of keyset,
1160 and modified one of the tests to use a keycode-based keyset.
1161 Thus this test both tests and demonstrates the creation and use of
1162 keysets of three forms: specified via keycode array,
1163 keysym array, and string array. (The string case only contains a
1164 single string, i.e. a string array of length 1).
1167 Turned on PRINT_TREE option by default. Also fixed a
1168 string-freeing bug in the PRINT_TREE code.
1169 Added a listener to window:minimize events.
1171 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
1173 * atk-bridge/bridge.c:
1174 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
1175 for window:activate and window:deactiveate
1176 (atk_bridge_property_event_listener atk_bridge_signal_listener
1177 atk_bridge_window_event_listener) Tidy debug code
1179 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
1181 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
1182 Fixed handling for NULL return value from ATK.
1184 * libspi/action.c libspi/component.c libspi/editabletext.
1185 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
1186 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
1187 Removed redundant casts.
1189 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
1190 Fixed off by one bug.
1192 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
1193 function not present in idl)
1195 2002-05-02 jacob berkman <jacob@ximian.com>
1197 * atk-bridge/Makefile.am: make atk-bridge a real module
1199 2002-04-26 Radek Doulik <rodo@ximian.com>
1201 * libspi/stateset.c (spi_init_state_type_tables): fix size of
1202 atk_state_types table
1204 2002-04-22 jacob berkman <jacob@ximian.com>
1207 * libspi/Makefile.am: add deps on the built files to help
1208 automake, and don't version the ORBit typelib
1210 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
1212 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
1213 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
1214 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
1215 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
1216 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
1217 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
1218 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
1219 libspi/accessible.h libspi/accessible.h libspi/base.h
1220 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
1221 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
1222 libspi/relation.h libspi/remoteobject.h libspi/selection.h
1223 libspi/spi-private.h libspi/statetset.h libspi/table.h
1224 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
1225 util/mag_client.h util/mag_control.c util/mag_image.c
1226 util/mag_image.h util/magnifier.c util/magnifier.h:
1227 Add missing file headers; standardize existing ones
1229 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
1231 * atk-bridge/bridge.c: Added window event support.
1233 2002-04-18 Michael Meeks <michael@ximian.com>
1235 * libspi/relation.c (impl_getNTargets): impl.
1236 (impl_getTarget): impl.
1238 * libspi/Makefile.am: fix stateset install.
1240 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1243 Started putting useful info in this file.
1245 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
1247 * atk-bridge/bridge.c:
1248 Propagate state-changed notifications to ATs
1250 * cspi/spi_registry.c: update docs to reflect actual behavior of
1251 state-change events.
1253 2002-04-17 Bill Haneman <bill.haneman@sun.com>
1256 Incremented version to 0.12.1
1258 * util/mag_client.h:
1259 Add missing declaration for magnifier_exit,
1260 used by mag_control.c - Forte compiler didn't like
1261 the implicit redeclaration of the function :-(
1264 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1267 Revved version to 0.12 due to API change (see below).
1269 * cspi/spi-roletypes.h:
1270 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
1271 definition from the inline docs, and added docs
1272 for SPI_ROLE_LAST_DEFINED.
1275 * cspi/spi_streamablecontent.c:
1276 Added missing seek_type parameter to
1277 (so far unused) method,
1278 AccessibleStreamableContent_seek().
1279 [ RT approval JodyG. ]
1282 Fixed docs for SPI_createAccessibleKeystrokeListener.
1284 * cspi/spi_registry.c:
1285 Fixed docs for SPI_KEYSET_ALL_KEYS.
1287 * docs/reference/cspi/at-spi-cspi-sections.txt:
1288 Added a number of missing APIs to SECTIONS.
1290 2002-04-16 Bill Haneman <bill.haneman@sun.com>
1292 * registryd/Makefile.am:
1294 * cspi/bonobo/Makefile.am:
1295 Add $(X_LIBS) to makefiles.
1297 2002-04-15 Bill Haneman <bill.haneman@sun.com>
1300 Revved version to 0.11.
1302 * libspi/component.c:
1303 Added implementation for grabFocus.
1305 * idl/Accessibility_Component.idl
1306 (Accessibility_Component_grabFocus):
1307 Made this method return boolean to indicate success or failure, to
1308 be consistent with cspi and the corresponding ATK method.
1310 * idl/Accessibility_Selection.idl
1311 (Accessibility_Selection_selectAll) :
1312 Made these methods return boolean to indicate success or
1313 failure, to be consistent with cspi and the corresponding ATK methods.
1315 * idl/Accessibility_EditableText.idl
1316 (Accessibility_EditableText_setTextContents,
1317 Accessibility_EditableText_insertText,
1318 Accessibility_EditableText_cutText,
1319 Accessibility_EditableText_deleteText,
1320 Accessibility_EditableText_pasteText):
1321 Made these methods return boolean to indicate
1324 * cspi/spi_editabletext.c:
1325 Made these methods return booleans.
1327 * libspi/selection.c:
1328 * libspi/component.c:
1329 * libspi/editabletext.c:
1330 Connected the boolean returns from ATK
1331 to the server-side code referenced above.
1333 2002-04-14 Bill Haneman <bill.haneman@sun.com>
1335 * idl/Accessibility_Table.idl: Added missing methods,
1336 Accessibility_Table_addRowSelection,
1337 Accessibility_Table_addColumnSelection,
1338 Accessibility_Table_removeRowSelection,
1339 Accessibility_Table_removeColumnSelection.
1342 Added C wrappers for above IDL:
1343 AccessibleTable_addRowSelection,
1344 AccessibleTable_addColumnSelection,
1345 AccessibleTable_removeRowSelection,
1346 AccessibleTable_removeColumnSelection.
1349 Added server-side implementation code for IDL above, connecting
1350 to pre-existing ATK api.
1352 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
1354 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
1356 * libspi/accessible.c: Added implementation fo
1357 Accessibility_Accessible_get_state.
1359 * libspi/libspi.h: Added stateset.h to the list of includes.
1361 * libspi/stateset.c: Fixed broken implementation.
1363 2002-04-13 Bill Haneman <bill.haneman@sun.com>
1366 Added implementation code for Accessibility_Magnifier_exit ().
1368 * util/mag_control.c:
1369 Added test code for above method; you can
1370 now kill an existing magnifier via
1371 ./mag_control q, from the util directory.
1373 * test/key-listener-test.c:
1375 Added a new test, for our key listener API.
1377 2002-04-11 Bill Haneman <bill.haneman@sun.com>
1379 * test/app.c, test/keysynth-demo.c:
1381 Replace use of snprintf with g_snprintf.
1382 (fix for bugzilla 78249)
1384 2002-03-27 Michael Meeks <michael@ximian.com>
1388 * util/Makefile.am (INCLUDES): fix.
1389 (DONT_DIST_SOURCE): don't distribute the
1392 * libspi/Makefile.am (dist-hook): ditto.
1394 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
1396 * libspi/hypertext.c:
1397 Fix warnings when yelp is used with atk-bridge
1399 2002-03-21 Michael Meeks <michael@ximian.com>
1401 * libspi/application.c (spi_application_new):
1402 use spi_accessible_construct so we use the AtkObject
1405 2002-03-19 Michael Meeks <michael@ximian.com>
1407 * registryd/registry.c (desktop_remove_application),
1408 (desktop_add_application): clean coding style.
1410 * registryd/desktop.c (spi_desktop_remove_application),
1411 (spi_desktop_add_application): kill re-enterency hazards.
1412 (spi_desktop_dispose): remove bogus redundant cast
1413 obscuring bug; fix bug too.
1414 (spi_desktop_init): make the desktop object immortal.
1416 2002-03-16 Bill Haneman <bill.haneman@sun.com>
1419 Added a #define-guarded tree-traversal step
1420 when enumerating the apps (diagnostic tool).
1422 2002-03-15 Bill Haneman <bill.haneman@sun.com>
1424 * idl/Accessibility_Role.idl:
1425 Added ROLE_DRAWING_AREA which seemed to be missing from the
1428 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1430 * cspi/spi-roletypes.h cspi/spi_accessible.c
1431 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
1434 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
1435 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
1436 AT when applications are added and removed from the desktop. This
1437 reverts the previous broken implementation using the backing
1438 AtkObject for the SpiDesktop.
1440 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1442 * registryd/desktop.c: emit the "children-changed::add" and
1443 "children-changed::remove" signals on the backing ATK object for
1444 the desktop so AT can tell when applications are started and shut
1447 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1449 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
1451 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1453 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
1455 * cspi/spi_accessible.c: Implemented c bindings for stateset support
1457 * cspi/state-types.h: synched with IDL and ATK
1459 2002-03-13 Bill Haneman <bill.haneman@sun.com>
1461 * libspi/accessible.c
1462 (impl_accessibility_accessible_get_child_at_index):
1463 Change return value for g_return_if_fail ()
1464 to CORBA_OBJECT_NIL instead of "0" (!)
1466 * registryd/Makefile.am:
1467 * registryd/Accessibility_Register.server.in:
1468 Changed name of executable, "registryd",
1469 to something more informative:
1472 2002-03-13 Michael Meeks <michael@ximian.com>
1474 * atk-bridge/bridge.c (atk_bridge_init): don't register
1475 if we're in a bonobo-component, rather than a bonobo app.
1477 2002-03-13 Michael Meeks <michael@ximian.com>
1479 * atk-bridge/bridge.c (gtk_module_init): split
1480 out body to (atk_bridge_init): here, since otherwise
1481 we get symbol conflicts and oddness when invoked
1482 from (gnome_accessibility_module_init): here (upd.)
1484 2002-03-11 Bill Haneman <bill.haneman@sun.com>
1487 New file. Explicitly allow "build sheriff" putbacks provided
1488 they are tested on Solaris.
1490 * docs/reference/cspi/Makefile.am:
1491 Added '-' to the "cp" command for index.sgml.
1492 ("patch by thomasvs, soon coming to a GUADEC near you")
1495 Incremented version number (0.9.0) for new release.
1496 Changed macro that checks for popt, to better detect
1497 obsolete versions of popt.
1500 Added X_LIBS to AC_SUBST, for applications
1501 that call Xlib API directly.
1504 2002-03-07 Bill Haneman <bill.haneman@sun.com>
1507 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
1510 Fix regression caused by hard-coding major
1511 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
1514 * test/test-simple.c (test_editable_text),
1515 (test_test): revert previous change (error was
1516 a regression in gail which is now fixed).
1518 2002-03-04 Michael Meeks <michael@ximian.com>
1520 * test/test-simple.c (test_editable_text),
1521 (test_text): pass G_MAXINT instead of '-1' for
1522 whole string - is this a good thing !?
1524 * cspi/spi_accessible.c
1525 (Accessible_getRelationSet): fix crasher bug
1526 overwriting the end of the array.
1528 * test/test-simple.c (validate_accessible): free,
1529 not g_free returned relation set.
1531 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
1533 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
1534 implemented stateset support
1536 * idl/Accessibility_State.idl: Made necessary changes to
1537 the IDL to support state sets.
1539 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1541 * registryd/deviceeventcontroller.c:
1542 Added implementation for generateMouseEvent.
1544 * cspi/spi_registry.c:
1545 Connected new implementation for generateMouseEvent
1548 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1551 Incremented revision (but no change in public API
1552 outside of 'utils', which are not installed public yet.)
1554 * libspi/component.c:
1555 Changed to use atk_component API for layers and
1556 mdi_zorder, instead of deprecated atk_object API.
1558 Magnification Utility Enhancements:
1561 Added implementation of createZoomRegion, clearAllZoomRegions,
1562 resizeZoomRegion. Added new commandline argument
1563 "--no-initial-region". Note that clearAllZoomRegions doesn't
1564 unmap the old '0' region as it should (yet), and the other
1565 methods only work when creating/resizing a single region,
1566 which is "region 0".
1567 (Code for multiple region support will be added later.)
1570 Now we raise the magnifier window each time it's refreshed;
1571 this will help keep it on top.
1573 * util/mag_client.h:
1574 Added simple wrappers for above, used by mag_control.
1575 For general use, it's recommended to use the bonobo magnifier
1576 control API directly instead of using these wrappers.
1579 Moved ZoomRegionData from magnifier.c to this file.
1581 * util/mag_control.c:
1582 Added some code to exercise new IDL implementations.
1584 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
1586 * libspi/text.c: Provide implementation for getAttributes.
1588 2002-02-04 Bill Haneman <bill.haneman@sun.com>
1591 Incremented revision.
1593 * test/test-simple.c:
1594 Replaced use of deprecated g_main_iteration with
1595 g_main_context_iteration.
1597 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
1600 Incremented revision for desktop alpha 2.
1602 2002-01-28 Mark McLoughlin <mark@skynet.ie>
1604 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
1607 * test/simple-at.c: include netinet/in.h.
1609 2002-01-24 Mark McLoughlin <mark@skynet.ie>
1611 * cspi/spi_accessible.c: (Accessible_getRelationSet):
1612 use NULL, not CORBA_OBJECT_NIL.
1614 * libspi/accessible.c:
1615 (impl_accessibility_accessible_get_relation_set):
1616 allocate the sequence correctly.
1618 * libspi/remoteobject.h: kill spi_remote_object_new.
1620 * test/test-simple.c: (validate_accessible): add code
1621 to test relation sets, now all we need is to figure
1622 out how to excercise this code path :/
1624 2002-01-18 Michael Meeks <michael@ximian.com>
1626 * test/test-simple.c
1627 (key_listener_cb): consume the key.
1628 (test_keylisteners): update.
1629 (main): wait for any pending unrefs on events.
1631 * registryd/deviceeventcontroller.c
1632 (spi_controller_update_key_grabs): only re-issue the
1633 grab on a key release.
1634 (spi_device_event_controller_forward_key_event):
1635 refresh the keygrabs before we notify the listeners,
1636 to reduce the X ungrab / re-grab race.
1637 (spi_controller_register_with_devices): remove
1638 XSelectInput - we do that with the gdk_window_ call.
1639 (_spi_controller_device_error_handler): return a value.
1640 s/GDK_DISPLAY/spi_get_display/
1642 2002-01-17 Michael Meeks <michael@ximian.com>
1644 * registryd/deviceeventcontroller.c
1645 (_deregister_keygrab): don't blow out the later
1648 * test/test-simple.c (test_keylisteners): do a
1649 more intelligent validation.
1651 2002-01-14 Michael Meeks <michael@ximian.com>
1653 * atk-bridge/bridge.c
1654 (gnome_accessibility_module_init),
1655 (gnome_accessibility_module_shutdown): impl.
1656 (gtk_module_init): protect vs. double inits.
1657 (add_signal_listener): impl.
1658 (spi_atk_bridge_state_event_listener): kill
1659 (deregister_application): split out of
1660 (spi_atk_bridge_exit_func): here.
1662 2002-01-18 Bill Haneman <bill.haneman@sun.com>
1665 Added caret tracking when using magnifier, and
1666 now use text bounds for focus tracking of text elements, rather than
1667 the component bounds - this is helpful for short text fields in long
1668 table cells, at high magnification.
1670 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1672 * registryd/deviceeventcontroller.c:
1673 Regression fix for keylistener de-registration; global keygrabs
1674 were not being released when deregisterKeystrokeListener was
1675 called in cspi, since
1676 Accessibility_DeviceEventController_deregisterKeystrokeListener
1677 was called with a zero-length keyset. That is because the cspi
1678 method, SPI_deregisterKeystrokeListener, does not take a keyset
1679 parameter but instead should remove all the key grabs held be a
1681 The code in impl_deregister_keystroke_listener was changed to copy
1682 the keylist from the listener instance previously registered with
1683 the DeviceEventController before releasing the grabs.
1685 * registryd/registry.c:
1686 * registryd/deviceeventcontroller.c:
1687 * libspi/spi-private.h:
1689 Changed spelling of "re-enterant" to "re-entrant" globally.
1691 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1693 * test/test-simple.c:
1694 Changed key listeners test - the test was slightly mis-using the
1695 (admittedly poorly documented) SPI_generateKeyboardEvent API.
1696 It now uses '=' as the key event listened to and generated,
1697 relying on a keysym match rather than assuming that keycode 33
1698 is always equal to keysym '!'.
1700 2002-01-15 Bill Haneman <bill.haneman@sun.com>
1703 Changed simple-at to use a specific keyset, rather than
1704 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
1705 manager, desktop, etc.
1707 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1709 * registryd/deviceeventcontroller.c:
1710 Replaced standard X error handler with a special handler that
1711 is non-fatal for failed keygrabs. This works around
1712 problems with keygrab clashes sometimes observed on
1714 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
1715 mouse handling code as yet).
1717 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1720 Incremented revision for desktop alpha release.
1723 Fixed a couple of the more glaring errors (still not
1726 2002-01-11 Michael Meeks <michael@ximian.com>
1728 * registryd/deviceeventcontroller.c
1729 (spi_device_event_controller_forward_key_event): kill
1730 XUngrabKey / XKeyGrab race.
1731 (spi_controller_grab_keyboard): rename to
1732 (spi_controller_update_key_grabs): this, and deal
1733 with incremental adding / removing grabs more
1735 (_register_keygrab): ensure we're not pending a remove.
1736 (spi_grab_mask_free): impl.
1737 (spi_controller_register_global_keygrabs): split out
1739 (handle_keygrab): impl.
1740 (_deregister_keygrab): impl.
1741 (spi_controller_deregister_global_keygrabs): impl.
1742 (spi_controller_update_key_grabs): re-issue the grab if
1743 we just recieved a notification.
1745 * test/test-simple.c (key_listener_cb): remove debug.
1747 * registryd/deviceeventcontroller.c
1748 (spi_controller_register_device_listener): after
1749 registering a global keygrab, actualy register it !
1750 don't wait for a timeout; doh !
1752 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
1753 to make it more readable / manipulable.
1754 s/grabmask/grab_mask/ s/refcount/ref_count/
1755 s/keyval/key_val/ s/modmask/mod_mask
1757 2002-01-08 Michael Meeks <michael@ximian.com>
1759 * registryd/deviceeventcontroller.c
1760 (spi_controller_register_with_devices): use gdk calls to
1762 (global_filter_fn): implement the filter.
1763 (spi_device_event_controller_check_key_event): rename to
1764 (spi_device_event_controller_forward_key_event): this & upd.
1765 (spi_get_display): replace with GDK_DISPLAY.
1767 * registryd/deviceeventcontroller.c
1768 (spi_controller_deregister_device_listener): unroll into
1769 (impl_deregister_keystroke_listener): here to simplify.
1770 (spi_controller_register_global_keygrabs): split cut and
1771 paste (!) out into (_register_keygrab): here, shorter & sweeter.
1772 (spi_controller_deregister_device_listener): remove.
1773 (impl_register_mouse_listener): remove, no mouse listener
1774 support in at-spi-1.0
1776 * registryd/registry.c
1777 (_device_event_controller_hook): kill.
1778 (spi_registry_init): upd.
1780 * registryd/deviceeventcontroller.c
1781 (spi_device_event_controller_class_init): upd.
1782 (spi_check_key_event): merge into.
1783 (spi_device_event_controller_check_key_event):
1784 here and kill strange static ev init, don't leak
1785 the x_event - nor dynamicaly allocate it.
1787 * registryd/registry-main.c (main): re-direct
1788 timeout to remove strange vtable mess.
1790 * registryd/deviceeventcontroller.c
1791 (remove_listener_cb): impl.
1792 (spi_controller_deregister_device_listener):
1793 fix re-enterancy hazard.
1795 2002-01-07 Michael Meeks <michael@ximian.com>
1797 * registryd/deviceeventcontroller.c
1798 (spi_device_event_controller_new): upd.
1799 (impl_notify_listeners_sync): upd. debug.
1800 (spi_notify_keylisteners): fix re-enterancy hazards,
1801 prettify, remove O(n*n) iteration.
1802 (spi_controller_grab_keyboard): fix iteration.
1803 (spi_check_key_event): re-format to suit coding style.
1804 Clean all the warnings - we're warning free.
1806 * registryd/deviceeventcontroller.h:
1807 * registryd/registry.h: make mutualy referential with
1808 typesafe forward references instead of (!) void pointer
1811 2002-01-11 Michael Meeks <michael@ximian.com>
1813 * cspi/spi_accessible.c (role_names): add a role name
1814 to sync this array with the enum; and make the regression
1817 2002-01-10 Michael Meeks <michael@ximian.com>
1819 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
1820 allow expansion of enumeration & kill warning.
1822 * test/test-simple.c (key_listener_cb): impl.
1823 (test_keylisteners): impl.
1825 * cspi/spi-listener.h: make listener signatures const
1826 on the provided (const) events.
1828 * test/keysynth-demo.c: upd. to const events.
1830 * test/simple-at.c: ditto.
1832 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1835 Rev the version to 0.5 (the previous tarball was named 0.4,
1836 even though the micro number was 3), so we need to rev upwards
1837 again for beta2/"desktop-alpha"
1840 Checked in a demo script, which requires editing before use!
1841 Proceed with caution.
1844 Fixed typo in header which was redefining SPI_ACTION_CLASS.
1846 * cspi/spi_accessible.c:
1847 Add a couple of missing enum initializations, and fix some enum
1850 * cspi/spi_registry.c:
1851 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
1853 * docs/reference/cspi/at-spi-cspi-sections.txt:
1854 Remove/fix a couple of broken document references.
1857 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
1858 as Alt-Control to listen for commands, since on some systems
1859 Control-Alt may already be grabbed.
1861 2002-01-10 Bill Haneman <bill.haneman@sun.com>
1864 Update version number to 0.4 for Beta2.
1866 * libspi/accessible.c, libspi/accessible.h:
1867 Expose spi_accessible_construct, to enable libgail-gnome
1868 construction from spi_accessible subtype.
1870 * utils/magnifier.c:
1871 Workaround for bug in some non-gnome-compliant window managers
1872 which made magnifier resize improperly.
1874 2002-01-09 Bill Haneman <bill.haneman@sun.com>
1876 * libspi/accessible.c: (spi_accessible_new) :
1877 Move the test for SPI_IS_REMOTE_OBJECT to
1878 spi_accessible_new_return, fixing a bug and compile time warning.
1880 2002-01-08 Michael Meeks <michael@ximian.com>
1882 * registryd/registry.c (parse_event_type): remove strndup.
1884 * libspi/Makefile.am (libspi_la_SOURCES): remove
1885 sources already included in the headers section.
1887 * libspi/util.c: add.
1889 * libspi/spi-private.h: add.
1891 * registryd/registry.c: update to moved list iterators.
1893 2002-01-05 Michael Meeks <michael@ximian.com>
1895 * test/simple-at.c (main): upd. auto-module set to atk-bridge
1897 * test/test-simple.c (main): ditto.
1899 2002-01-04 Michael Meeks <michael@ximian.com>
1901 * libspi/accessible.c (spi_accessible_new): remove 2nd,
1902 redundant construct.
1904 * registryd/registry.c
1905 (get_listener_list): impl.
1906 (impl_accessibility_registry_register_global_event_listener):
1907 re-impl. to simplify using ~, remove dodgy const cast off.
1908 (parse_event_type): constify.
1909 (impl_accessibility_registry_deregister_global_event_listener_all):
1910 re-write, more efficiency and simplicity, kill re-enterancy
1912 (compare_listener_corbaref, compare_corba_objects),
1913 (compare_listener_quarks): define out.
1914 (impl_accessibility_registry_deregister_global_event_listener):
1915 re-write for effiency, and nail re-enterancy hazard.
1916 (impl_accessibility_registry_get_desktop_list): impl.
1917 (re_enterant_list_delete_link): impl.
1918 (re_enterant_list_foreach): impl.
1919 (remove_listener_cb): impl.
1920 (_registry_notify_listeners): kill.
1921 (notify_listeners_cb): impl.
1923 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
1924 (SPI_getDesktopList): impl.
1926 * test/test-simple.c (test_desktop): test the methods.
1928 2002-01-03 Michael Meeks <michael@ximian.com>
1930 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
1931 keystrings since we free them
1932 (SPI_freeAccessibleKeySet): in here.
1934 * libspi/accessible.c (spi_accessible_new): kill warning,
1935 wonder what is going on with the constructor here.
1937 2002-03-01 Bill Haneman <bill.haneman@sun.com>
1939 * libspi/accessible.c (spi_accessible_new ()) :
1940 Added check to see if AtkObject is an SpiRemoteObject before
1941 creating an SpiAccessible.
1943 2002-05-01 Bill Haneman <bill.haneman@sun.com>
1945 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
1946 Enable keygrabs using the Control modifier, now that they are
1947 working properly (they were previously disabled).
1950 Change the command keygrab for this demo to "Control+Alt", so as
1951 to conflict with fewer other key commands on the system; this
1952 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1954 Removed a pointlessly-chatty keylistener for unshifted keys
1955 (shifted keys are still reported).
1957 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1959 * libspi/remoteobject.h:
1960 * libspi/remoteobject.c:
1961 Added definitions for special AtkObject subtype, required for
1962 support of remote components (specifically, used by BonoboControl
1963 accessibility implementation).
1965 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1967 * cspi/spi.h: synched relation types with ATK
1969 * cspi/spi_accessible.c: Added implementations of
1970 AcccessibleRelation_* methods
1972 * idl/Accessibility_Relation.idl: added getRelationTypeName
1973 method. Synched known relation types with ATK. Allowed for
1974 relation type extension with the RELATION_EXTENDED type.
1976 * libspi/relation.c: Provided implementations for
1977 AccessibleRelation methods.
1979 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1981 API tweaks for today's API 'freeze'.
1984 Added placeholder functions to allow future compatible expansion
1985 of the IDL interfaces.
1987 * idl/Accessibility_Registry.idl:
1988 Changed generateKeyEvent to generateKeyboardEvent. Changed
1989 signature of this method to accept an optional keystring in
1990 parameter (for complex text input synthesis) and changed use of
1991 simple 'boolean' parameter in registerKeystrokeListener to a
1992 struct, EventListenerMode.
1994 * cspi/spi_accessible.c:
1996 * cspi/spi_streamablecontent.c:
1997 Added references to AccessibleStreamableContent interface, and
1998 definition and implementation of AccessibleStreamableContent
2001 * cspi/spi_registry.c:
2003 Changed generateKeyEvent API to generateKeyboardEvent,
2004 taking a new (optional) keystring parameter to support complex
2009 Renamed directory (to better reflect its actual purpose, bridging
2010 from at-spi to ATK). The .so module is also now named
2013 * idl/Accessibility_Hypertext.idl:
2014 * libspi/accessible.c:
2015 * libspi/hypertext.h:
2016 * libspi/hypertext.c:
2017 Changed Accessibility_Hypertext to *not* derive from
2020 * cspi/spi_registry.c:
2021 Added list of legal event type names for 'window' events, which
2022 completes the registry event API.
2024 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
2026 * at-bridge/bridge.c: Added registration for separate
2027 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
2028 signals. If either of the first two parameters to the generic
2029 bridge signal handler are ints, they are passed on as event
2030 details. This allows an AT to determine what text was inserted.
2032 2001-12-21 Bill Haneman <bill.haneman@sun.com>
2034 * registryd/deviceeventcontroller.c:
2035 Fixed regressions in generateKeyEvent caused by the removal of
2036 gdk_init from registryd; we now use pure X calls to connect to the
2037 display, which makes sense because deviceeventcontroller already
2038 uses a fair bit of X API (should eventually be migrated to a
2039 'portability layer').
2041 * registryd/desktop.c:
2042 Fixed minor regression in spi_desktop_init, changed the way the
2043 desktop name is being set to work with new spi_base API
2044 (gobject-based, rather than AtkObject-based).
2046 * registryd/Makefile.am:
2047 Minor revision of makefile to use XTST_LIBS variable rather than
2048 hard-wiring the Xtst LD_ADD element.
2050 * test/keysynth-demo.c:
2051 Tweaked an output message; added initialization of the
2052 'keystrings' member of the "switch listener" key_set.
2054 * libspi/relation.c:
2055 Squashed compile-time warning.
2057 * libspi/accessible.c:
2058 Cosmetic and formatting fixes, renamed a static method.
2060 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
2062 * libspi/accessible.c
2064 * libspi/application.c
2067 * libspi/component.c
2068 * libspi/editabletext.c
2069 * libspi/hyperlink.c
2070 * libspi/hypertext.c
2072 * libspi/selection.c
2076 * registryd/desktop.c:
2077 Changed SpiBase to contain a GObject pointer rather than an AtkObject
2079 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2081 * idl/Accessibility_Registry.idl:
2082 Added boolean member 'is_text' to DeviceEvent. This is for the
2083 use of key events, and helps prevent ambiguity between composed
2084 key strings and keysym names, since both may potentially be
2085 returned in the 'event_string' member.
2087 * at-bridge/bridge.c:
2088 * registryd/deviceeventcontroller.c:
2089 Use the 'is_text' member when notifying device event listeners.
2090 Knon issue: composed characters are not dealt with correctly by
2091 the global key listener implementation yet.
2093 2001-12-17 Bill Haneman <bill.haneman@sun.com>
2095 * at-bridge/bridge.c:
2096 Namespaced local static methods to spi_atk_bridge_* where
2097 previously named bridge_*, and spi_* elsewhere.
2099 * at-bridge/bridge.c:
2100 * cspi/bonobo/cspi-bonobo-listener.c:
2101 Added demarshalling/conversion for string member of
2102 Accessibility_DeviceEvent to AccessibleKeystroke.
2104 * registryd/deviceeventcontroller.c:
2105 Added code to fill the Accessibility_DeviceEvent key string value
2106 member for global key events (i.e. from XGrabKey), to match
2107 behavior of Accessibility_DeviceEvent from the toolkit key events
2108 from the bridge. Fixed timestamp in global key event notifications.
2111 Added printout of key event's string value to
2112 report_ordinary_key_event, for demo/debugging purposes.
2114 2001-12-15 Bill Haneman <bill.haneman@sun.com>
2116 * idl/Accessibility_Registry.idl:
2117 Removed Accessibility_KeyStroke structure in favor of generic
2118 Accessibility_DeviceEvent structure.
2119 Changed Accessibility_ControllerEventMask from a struct to an
2122 * at-bridge/bridge.c:
2123 Changed APIs to use DeviceEvent structure as above, and removed
2124 bogus casting between these event structures.
2126 * cspi/spi-listener.h:
2127 Added keystring member of AccessibleKeystroke structure, to enable
2128 matching on event "names" rather than only hardware codes and
2132 Added keystrings member of AccessibleKeySet struct, to allow
2133 matching on event names (as above).
2134 Added declarations for SPI_createAccessibleKeySet and
2135 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
2136 event modmasks directly as unsigned ints rather than structs with
2137 refcounts, in the DeviceEventController methods.
2139 * cspi/spi_registry.c:
2140 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
2142 * cspi/spi-roletypes.h:
2143 Added documentation of newly added SPI Roles.
2145 * cspi/bonobo/cspi-bonobo-listener.c:
2146 Changes in support of API changes above.
2148 * libspi/accessible.c:
2149 Converted APIs to use DeviceEvent structure (see IDL changes
2152 * registryd/deviceeventcontroller.c:
2153 Added DEControllerGrabMask structure to track keygrabs not only by
2154 modmask but by keyset as well; this allows us to do "global"
2155 (i.e. X) keygrabs on a per-key or keyset basis rather than always
2156 grabbing on AnyKey and then filtering after-the-fact.
2157 Bugfixes for event filtration mean that we don't get false matches
2158 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
2160 * registryd/deviceeventcontroller.c:
2161 Namespaced a number of static methods to use spi_ prefix. Major
2162 revision to internals of global (i.e. X) key grabs.
2164 * registryd/deviceeventcontroller.h:
2165 Removed keymask_list and added keygrabs_list to
2166 SpiDeviceEventController struct.
2169 Added use of SPI_createAccessibleKeySet API when creating a
2170 listener for only one key. Attach a listener to "shift spacebar
2171 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
2172 X key event names to SPI key event names, so that listeners are
2173 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
2175 * test/keysynth-demo.c:
2176 Changed (incorrect) use of X key event names (KeyPressed,
2177 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
2180 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2182 * libspi/accessible.c:
2183 Convert all AtkRole enumerations to Accessibility_Role enums when
2184 getting a role from an AtkObject.
2186 * cspi/spi_accessible.c:
2187 Complete the conversion of Accessibility_Role enums at runtime to
2188 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
2189 role enums correctly match those given in spi-roletypes.h.
2190 Re-synchronize the local names list for AccessibleRole_getName ().
2191 AccessibleRole_getName is now deprecated, since it duplicates the
2192 more reliable Accessible_getRoleName.
2193 Added some role types from Accessibility_Role.idl.
2195 * idl/Accessibility_Role.idl:
2196 Added some role types used by AtkRole.
2198 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2201 * cspi/spi_registry.c:
2203 * cspi/cspi-bonobo-listener.c:
2204 Namespaced all methods that did not begin with an "SPI_" or
2205 "Accessible" prefix to "SPI_".
2208 Homogenized internal function namespace to "cspi_" for statics.
2211 Patched tests to use the new CSPI API.
2213 * docs/reference/cspi/at-spi-cspi-sections.txt:
2214 Updated docs to reflect namespace changes, and added a number of
2215 methods to the documentation.
2217 * registryd/registry.c:
2218 Changed use of strings and string hashes in listener event
2219 matching and parse_event_string to use GQuark, which is guaranteed
2222 * registryd/registry.h:
2223 Squashed annoying warning.
2225 * idl/Accessibility_Role.idl:
2226 Extended range of available Accessibility_Role values.
2228 * cspi/spi_accessible.c:
2229 Re-ordered role names.
2231 2001-12-12 Bill Haneman <bill.haneman@sun.com>
2233 * idl/Accessibility_Value.idl:
2234 Revert use of union back to CORBA_double, since the double type is
2235 more efficient and can contain the other types without loss of
2238 * idl/Accessibility_Accessible.idl:
2239 Added method Accessibility:Accessible:getRoleName, to complement
2240 Accessibility:Accessible:getRole.
2242 * cspi/spi_accessible.c:
2244 Added C binding for above, Accessible_getRoleName (), and changed
2245 signature of Accessible_getRole () to return an AccessibleRole.
2247 * cspi/spi-roletypes.h:
2248 Changed AccessibleRole_getName to return a char * instead of a
2249 const char *. This method is now at least temporarily deprecated
2250 in favor of asking Accessibles for their RoleNames directly.
2253 Revert to match Accessibility_Value.idl;
2257 Change signature of AccessibleValue methods to use double rather
2261 * cspi/spi_accessible.c:
2262 Changed Accessible_getRole to return an AccessibleRole enum rather
2263 than a UTF-8 string. The UTF-8 string can still be obtained via
2264 AccessibleRole_getName ().
2266 * test/test-simple.c:
2267 Add test_action. Small fixup to match API change to Accessible_getRole.
2270 Bugfix for get_action_from_servant ().
2272 2001-12-11 Michael Meeks <michael@ximian.com>
2274 * libspi/libspi.h: remove registry.h and
2275 desktop.h, deviceeventcontroller.h
2277 * libspi/Makefile.am: remove registry.[ch],
2278 desktop.[ch], deviceeventcontroller.[ch]
2280 * registryd/Makefile.am: add registry.[ch],
2281 desktop.[ch], rename registryd.c to registry-main.c.
2282 add deviceeventcontroller.[ch]
2284 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2287 Replace setenv() call with putenv ().
2289 * libspi/component.c:
2290 Bugfix in AccessibleComponent_getExtents (),
2293 2001-12-11 Michael Meeks <michael@ximian.com>
2295 * libspi/image.c (impl_getImageExtents): impl.
2296 (spi_image_class_init): upd.
2299 (AccessibleImage_getImageDescription): fix daft bug
2302 * test/test-simple.c (global_listener_cb): update
2303 to only quit if not --poke
2304 (main): catch --poke.
2305 (validate_accessible): upd. dumping, call test_image
2308 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
2311 * idl/Accessibility.idl: update all IDL includes.
2313 * idl/*.idl - rename to namespace - this sucks, blame
2314 mjs' bad decision for oafd.
2316 * test/test-simple.c (create_test_window): add more tests.
2317 (create_tree): split this out.
2318 (validate_accessible): bugfix.
2320 2001-12-11 Michael Meeks <michael@ximian.com>
2322 * cspi/bonobo/cspi-bonobo-listener.c:
2323 (cspi_kestroke_listener_unref),
2324 (cspi_event_listener_unref): impl. undoing previous
2325 homenous environment - for Bill.
2327 * cspi/spi_table.c (long_seq_to_array): use
2330 * cspi/spi_main.c: split out all bonoboish bits into
2333 * cspi/spi-impl.h: upd. typedefs.
2335 * cspi/spi_registry.c: update to lowlevel API,
2336 return booleans to indicate success in some places.
2338 * cspi/spi_event.c: update to lowlevel API.
2340 * cspi/bonobo/Makefile.am: add.
2342 * cspi/bonobo/cspi-lowlevel.h: add
2344 * cspi/bonobo/cspi-bonobo.c: add
2346 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
2348 * cspi/Makefile.am: remove spi-listener-impl.[ch],
2349 (SUBDIRS): add bonobo, link in the libs.
2351 * cspi/spi-util.c: kill this file.
2353 * TODO: merge in my bits.
2355 2001-12-11 Michael Meeks <michael@ximian.com>
2357 * test/test-simple.c (test_value, test_table, main):
2358 remove unused variables causing warnings.
2360 * configure.in: cleanup checks - require gail.
2362 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2365 Changed Value interface to use SValue (scalars) rather than
2366 assuming all values are floats. This allows floats, doubles,
2367 longs, shorts, and unsigned values to be manipulated.
2368 Introduced Accessibility:SValue union.
2371 Updated to use new API above, and to work correctly with GValues
2372 of different types in AtkValue.
2375 Updated to use new API above. cspi's API is as yet unchanged.
2378 Updated the Value revision action item.
2380 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2382 * test/test-simple.c:
2383 Added test_table (GtkTreeView widget in test window to follow).
2384 Un-commented test_value, added GtkRange widget.
2385 Added GtkTreeView widget with GtkListStore. It passes regression
2386 test but leaks one SPI object for some reason.
2389 Fixed bug in impl__set_currentValue.
2391 2001-12-10 Michael Meeks <michael@ximian.com>
2393 * cspi/spi_text.c: audit for exception handling,
2394 tolerating NULL object references safely etc.
2396 * cspi/spi_value.c: ditto.
2398 * cspi/spi_table.c (AccessibleTable_getSummary),
2399 (AccessibleTable_getAccessibleAt),
2400 (AccessibleTable_getRowHeader),
2401 (AccessibleTable_getColumnHeader),
2402 (AccessibleTable_getCaption): fix bugs hidden by
2404 (long_seq_to_array): impl.
2405 (AccessibleTable_getSelectedRows),
2406 (AccessibleTable_getSelectedColumns): use it.
2408 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2411 Added a TODO list (rough and short for now).
2413 * cspi/spi_hyperlink.c:
2414 * cspi/spi_hypertext.c:
2415 Fixed macro name typos, and remove use of obsolete macro in
2416 AccessibleHyperlink_getLink.
2418 * cspi/spi_action.c:
2419 * cspi/spi_accessible.c:
2420 * cspi/spi_application.c:
2421 * cspi/spi_component.c:
2422 * cspi/spi_selection.c:
2425 Documentation fixes (removed return values from ref/unref methods).
2427 2001-12-10 Michael Meeks <michael@ximian.com>
2429 * cspi/spi_action.c: audit for exception handling,
2430 tolerating NULL object references safely etc.
2432 * cspi/spi_accessible.c: ditto.
2434 * cspi/spi_component.c: ditto.
2436 * cspi/spi_editabletext.c: ditto.
2438 * cspi/spi_hyperlink.c: ditto.
2440 * cspi/spi_hypertext.c: ditto.
2442 * cspi/spi_image.c: ditto.
2444 * cspi/spi_selection.c: ditto.
2446 2001-12-10 Michael Meeks <michael@ximian.com>
2448 * configure.in: use cspi/libspi.pc.in instead.
2450 * Makefile.am (pkgconfig_DATA): upd. to match.
2452 * test/simple-at.c (report_focus_event): kill hacks around
2453 bad return values, use putenv not setenv
2455 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
2456 fire ChildGone - I killed it.
2458 * libspi/component.c
2459 (impl_accessibility_component_get_extents): remove
2462 * idl/Accessible.idl: kill ChildGone exception.
2464 * cspi/*.[ch]: kill int return from ref / unref.
2466 * cspi/spi_main.c (cspi_object_add_check): fold into
2467 (cspi_object_add): here.
2469 * cspi/spi_component.c (AccessibleComponent_getExtents):
2470 handle exceptions elegantly.
2472 * cspi/spi-private.h (cspi_check_ev_return),
2473 (cspi_return_if_fail): impl.
2475 * cspi/spi_accessible.c: use extensively.
2476 (AccessibleStateSet_equals): add direct compare check.
2478 * cspi/spi_selection.c: tolerate NULL objs, and check
2479 exceptions before return.
2481 * cspi/spi-util.c (cspi_warn_ev): rename to
2482 (cspi_check_ev): this & don't pass ev in; no point.
2484 2001-12-10 Michael Meeks <michael@ximian.com>
2486 * test/test-simple.c: use putenv not setenv
2487 (get_environment_vars): more chatty if you're not using
2490 * test/simple-at.c: do the setenv so more people see the
2493 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2495 * libspi/registry.c:
2496 Changed check of CORBA_environment on notification to be a warning
2497 instead of an error for the moment, since we can recover from this
2498 error when caused by a queued notification from a dead app.
2501 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
2502 used by all current implementors of AtkValue), and coerce to
2503 CORBA_float. (Proper general case fix may require change to Value.idl).
2505 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2509 * cspi/spi_accessible.c:
2510 Documentation fixes: added user_data params to documentation for
2511 listeners and callbacks.
2513 * cspi/spi_accessible.c:
2514 Changed AccessibleStateSet_compare to return a
2515 StateSet rather than return the difference set into a third parameter.
2518 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2521 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
2522 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
2526 Remove subdirectory po from SUBDIRS for now.
2528 * at-bridge/bridge.c:
2529 Beefed up a couple of debug printouts.
2530 One-line fix for signal notification name formatting.
2532 * libspi/accessible.c:
2533 Added assertion to spi_accessible_new ().
2535 * libspi/application.c:
2536 Put #ifdef qualifiers around a printf.
2539 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
2541 * registryd/Makefile.am:
2543 Replaces use of XML_I18N_MERGE_SERVER_RULE with
2544 INTLTOOL_SERVER_RULE macro.
2547 Added an event listener for several ATK signals, for
2548 testing and debugging. Removed a few g_warnings.
2549 Added test output if focussed item implements the Value interface.
2551 * test/test-simple.c:
2552 Added test_value () function (known not to pass at the moment, so
2553 not actually called yet.
2555 2001-12-08 Michael Meeks <michael@ximian.com>
2557 * at-bridge/bridge.c (bridge_focus_tracker),
2558 (emit_eventv): fix the same ref. leak.
2559 (register_atk_event_listeners): don't leak.
2561 * cspi/spi-listener-impl.c (cspi_event): more
2562 protection from client code.
2564 * test/test-simple.c (test_desktop): unref the app.
2566 * test/Makefile.am: upd. TESTS.
2568 * at-bridge/bridge.c (bridge_exit_func): release the registry.
2570 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
2572 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
2574 * cspi/spi_registry.c: constify in strings.
2575 (deregisterGlobalEventListenerAll): don't release the ref.
2577 * cspi/spi.h: start removing redundant / conflicting
2578 gtkdoc comments, making the API readable at a glance :-)
2580 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
2582 * test/keysynth-demo.c (keysynth_exit, main): upd.
2584 * test/simple-at.c (main, simple_at_exit): upd.
2586 * test/test-simple.c (unutterable_horror): kill.
2587 (utterable_normal_derefs): kill.
2588 (main): upd & do a setenv before gtk_init, so that we
2589 can use memprof - and to save the pain of remembering
2590 this, if we're running under memprof - don't exit.
2592 * cspi/spi_main.c (SPI_exit): return exit status
2594 (SPI_event_quit): impl.
2595 (SPI_event_main): simplify.
2596 (cspi_is_gnome_app): kill.
2597 (SPI_init): kill isGNOMEapp arg.
2599 * at-bridge/bridge.c (register_atk_event_listeners):
2600 re-instate the unref.
2601 (bridge_exit_func): don't re-activate the registry,
2602 protect vs. theoretical re-entry, use the
2603 AT_BRIDGE_SHUTDOWN env. var to determine whether to
2604 assert a clean shutdown - for regression tests.
2606 2001-12-08 Abel Cheung <maddog@linux.org.hk>
2608 * configure.in: Comment out dummy i18n support for now,
2609 otherwise it fails to build.
2610 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
2611 EXTRA_DIST. They are missing in tarball.
2613 2001-12-07 Michael Meeks <michael@ximian.com>
2615 * util/magnifier.c: kill bonobo activation reg. race.
2617 * libspi/component.c
2618 (impl_accessibility_component_get_extents): make it match
2621 * libspi/registry.c (_registry_notify_listeners):
2622 re-remove X headers & reconcile conflicts.
2623 (spi_listener_struct_free): bad conflict resolve.
2624 (impl_accessibility_registry_register_application):
2625 more bad merging fixed.
2626 (impl_accessibility_registry_deregister_application): ditto.
2627 (spi_registry_new): ditto.
2628 (spi_registry_init): don't have an applications field.
2630 [ merge fixups2 branch to here ]
2631 2001-12-07 Michael Meeks <michael@ximian.com>
2633 * test/simple-at.c (report_focus_event),
2634 (report_focussed_accessible): remove g_warning debug.
2636 2001-12-07 Michael Meeks <michael@ximian.com>
2638 * test/test-simple.c (validate_tree): comment out some checks.
2639 (test_desktop): app now not registered idly - horay.
2641 2001-12-07 Michael Meeks <michael@ximian.com>
2643 * cspi/spi_registry.c
2644 (registerAccessibleKeystrokeListener): clean, stop it leaking
2645 great swathes of memory, and device event controller references.
2646 ensure we always pass valid sequences.
2647 (deregisterAccessibleKeystrokeListener): ditto.
2648 (generateKeyEvent): upd.
2650 * at-bridge/bridge.c (bridge_key_listener): handle
2651 registry dead exception gracefully.
2652 (bridge_focus_tracker, emit_eventv): free ev.
2654 * test/simple-at.c (report_focus_event): fix polarity.
2656 * libspi/application.c (notify_listeners): kill the ev
2657 argument, and make sure we init the ev we use.
2658 (spi_application_object_event_listener): split out a chunk
2659 (get_atk_object_ref): here & fixup.
2660 (reverse_lookup_name_for_toolkit_event): make const.
2661 (spi_application_toolkit_event_listener): fixup, kill leaks
2664 * at-bridge/bridge.c (register_atk_event_listeners):
2665 don't unref the noop object - causes grief.
2667 * libspi/registry.c: remove the X headers.
2668 turn off the debug churn.
2670 * libspi/accessible.c (spi_accessible_new_return): only
2671 release the ref if we are supposed to [doh]
2673 * test/simple-at.c (report_button_press, report_focus_event):
2674 guard vs. unexpected exit.
2676 * at-bridge/bridge.c (gtk_module_init): prune printf.
2677 (bridge_exit_func): fix app unref.
2679 * libspi/Makefile.am: don't install registry or desktop.h
2681 * libspi/*.h: update includes.
2683 * libspi/application.h: don't include ourself, or
2684 other redundant headers.
2686 2001-12-06 Michael Meeks <michael@ximian.com>
2688 * libspi/accessible.c
2689 (get_accessible_from_servant): impl.
2690 Upd. all CORBA impl.s to use it killing cut and paste.
2692 * cspi/spi_main.c (cspi_cleanup): guard vs. double
2694 (SPI_init): register atexit cleanup handler here.
2696 2001-12-06 Michael Meeks <michael@ximian.com>
2698 * at-bridge/bridge.c (gtk_module_init): g_error on
2699 activation exception
2701 2001-12-06 Michael Meeks <michael@ximian.com>
2703 * at-bridge/bridge.c (gtk_module_init): some sort of
2704 confusing merge clash - reverted.
2705 (bridge_idle_init): ditto.
2707 * test/test-simple.c (main, utterable_normal_derefs):
2708 merge from Bill - somehow not committed.
2710 2001-12-06 Michael Meeks <michael@ximian.com>
2712 * libspi/value.c (spi_value_class_init): upd.
2713 (spi_value_finalize): kill.
2715 * libspi/table.c (spi_table_finalize): kill.
2716 (spi_table_interface_new): upd.
2717 (spi_table_class_init): upd.
2718 (get_table_from_servant): impl.
2719 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2721 * libspi/selection.c (spi_selection_finalize): kill.
2722 (spi_selection_interface_new): upd.
2723 (spi_selection_class_init): upd.
2724 (get_selection_from_servant): impl.
2725 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2727 * libspi/relation.c (spi_relation_finalize): kill.
2728 (spi_relation_class_init, spi_relation_new): upd
2730 * libspi/image.c (spi_image_finalize): kill.
2731 (spi_image_class_init): upd.
2732 (spi_image_interface_new): upd.
2733 (get_image_from_servant): impl.
2734 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2736 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
2737 (spi_hyperlink_finalize): kill.
2738 (spi_hyperlink_new): upd.
2739 (get_hyperlink_from_servant): impl.
2740 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2742 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
2743 (spi_hypertext_finalize): kill.
2744 (spi_hypertext_class_init): upd.
2745 (get_hypertext_from_servant): impl.
2746 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2748 * libspi/editabletext.c (spi_editable_text_finalize): kill.
2749 (spi_editable_text_interface_new): upd.
2750 (get_editable_text_from_servant): impl.
2751 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2753 * libspi/text.c (get_text_from_servant): impl.
2754 All impls - update to use it killing more cut and paste,
2755 also fix bad string returns on duff args ( a somewhat
2756 impossible case to handle - but hey ).
2757 (spi_text_construct): impl.
2758 (spi_text_interface_new): upd.
2759 (spi_text_object_finalize): kill.
2761 * libspi/component.c
2762 (accessibility_component_object_finalize): kill.
2763 (spi_component_class_init): upd.
2764 (get_component_from_servant): impl. helper to kill cut & paste.
2765 (impl_accessibility_component_contains):
2766 (impl_accessibility_component_get_accessible_at_point):
2767 (impl_accessibility_component_get_position):
2768 (impl_accessibility_component_get_extents):
2769 (impl_accessibility_component_get_mdi_z_order):
2770 (impl_accessibility_component_get_layer):
2771 (spi_component_interface_new): upd.
2773 * libspi/action.c (spi_action_finalize): kill.
2774 (spi_action_class_init): upd. inherit from SpiObject.
2775 (spi_action_interface_new): upd.
2776 (get_action_from_servant): impl. helper to reduce cut & paste.
2777 (impl_getKeyBinding, impl_getName, impl_doAction),
2778 (impl_getDescription): Use it everywhere.
2780 * cspi/spi_main.c (get_live_refs): a pointer hash.
2781 (spi_object_hash, spi_object_equal): comment out.
2782 There are issues with CORBA object hashing that need
2785 * libspi/application.c (spi_application_init),
2786 (spi_application_new): upd.
2788 * libspi/accessible.c (spi_accessible_object_finalize): kill.
2789 (spi_accessible_class_init): upd.
2790 s/accessible/object/ in epv methods.
2792 2001-12-05 Bill Haneman <bill.haneman@sun.com>
2794 * at-bridge/bridge.c:
2795 Reorder the bridge initialization into the bridge gtk_module_init,
2796 an immediate call to bridge_register_app, and an idle_add for
2797 register_atk_event_listeners (the only code that *must* wait until
2798 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
2799 the activation, creates the application's Accessible object, and
2800 queues the bridge_idle_init function. Restored call to
2801 Accessibility_Registry_deregisterApplication().
2802 Prior to making this call we obtain a new reference to the
2803 registry, which is a temporary hack that helps us handle apps that
2804 shut down the bonobo mainloop before we get there.
2806 * libspi/registry.c:
2807 Fix string leakage in debug block, and don't segv if a an app
2808 dies before its event notifications have been propagated.
2811 Modify cspi_check_ev() to call g_warning() rather than g_error(),
2812 as stopgap measure until we get proper exception handling when
2813 objects die during or before interrogation.
2817 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
2818 Also changed default value of is_gnome_app to TRUE.
2821 * test/keysynth-demo.c:
2822 Changed use of SPI_init and SPI_event_main to reflect API change above.
2825 Made report_focus_event check the warning value from getName
2826 before reporting on focussed accessible; simplifies handling of
2827 notifications from dead objects.
2829 * test/test-simple.c: (Changes not in this patch since source is
2832 2001-12-05 Michael Meeks <michael@ximian.com>
2834 * registryd/registryd.c (main): protect against
2835 bonobo-activation startup race condition.
2837 * cspi/spi_main.c (cspi_object_add_check): cope
2838 with the exception elegantly.
2840 * idl/Accessible.idl: decl. ChildGone
2842 * libspi/desktop.c (spi_desktop_dispose): impl.
2843 (spi_desktop_class_init): upd.
2844 (spi_desktop_add_application),
2845 (spi_desktop_remove_application),
2846 (abnormal_application_termination): impl.
2847 (impl_desktop_get_child_at_index): re-impl.
2850 (impl_accessibility_registry_deregister_application),
2851 (impl_accessibility_registry_register_application):
2852 kill excessive debug clutter.
2854 * test/test-simple.c (test_misc): test some NULL
2855 tolerance. (main): upd.
2857 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
2858 implements no interfaces - so let's not crash.
2860 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
2862 * libspi/accessible.c (spi_accessible_new_return): impl.
2863 helper to calm the cut and paste, to cope with
2864 NULL AtkObjects effectively and efficiently, and to kill
2865 the referencing bugs.
2867 * libspi/table.c (impl_getAccessibleAt),
2868 (impl_getRowHeader, impl_getColumnHeader): upd.
2870 * libspi/hyperlink.c (impl_getObject): upd.
2872 * libspi/accessible.c
2873 (impl_accessibility_accessible_get_child_at_index): upd.
2875 * libspi/component.c
2876 (impl_accessibility_component_get_accessible_at_point): upd.
2878 * test/test-simple.c (test_editable_text, test_text): impl.
2881 * cspi/spi_editabletext.c
2882 (AccessibleEditableText_insertText): constify.
2884 * test/test-simple.c (focus_me): make more robust.
2886 * libspi/accessible.c: remove some printfs in methods that
2887 we test and work fine, so we can get a clean tree dump.
2889 * test/test-simple.c (validate_accessible),
2890 (validate_tree): make tree dumping pretty too.
2892 * at-bridge/bridge.c (bridge_signal_listener): upd. so
2893 it builds without debug on.
2895 * test/test-simple.c (validate_accessible): fix the most
2898 * cspi/spi_main.c (spi_object_release): leave the nicely
2899 blanked memory around if in debug mode.
2901 * cspi/spi-listener-impl.c (cspi_event): use add_check.
2903 [committed to fixups2]
2904 2001-12-05 Michael Meeks <michael@ximian.com>
2906 * libspi/editabletext.c
2907 (spi_editable_text_class_init): g_type_class_peek_parent,
2908 not interface peek - so we finalize cleanly.
2910 * libspi/accessible.c (spi_accessible_new): kill debug.
2912 * test/test-simple.c (validate_accessible): fix ref.
2913 leak, print strings before freeing them; sigh, comment a
2914 chunk out due to strangeness.
2915 (validate_tree): unref the child after use.
2917 * cspi/spi_component.c (AccessibleComponent_getLayer):
2918 add missing break statement, switch on zlayer not the
2919 uninitialized retval.
2921 * cspi/spi_main.c (cspi_object_add): add assert, local ref
2922 before (possibly re-entering) remote unref.
2924 * test/simple-at.c (main): unref the desktop.
2926 * cspi/spi_accessible.c (cspi_accessible_is_a): move
2929 * cspi/spi_main.c (cspi_accessible_is_a): here to
2930 isolate bonobo API usage more.
2932 * libspi/registry.c (impl_accessibility_registry_register_application):
2933 prune bogus comment.
2935 2001-12-04 Michael Meeks <michael@ximian.com>
2937 * test/test-simple.c (validate_tree): upd.
2938 IndexInParent check to make it more lucid.
2939 (validate_accessible): dump the tree.
2941 * libspi/accessible.c (de_register_public_ref),
2942 (get_public_refs): impl.
2943 (spi_accessible_new): make more efficient & intuitive.
2944 Now IndexInParent check works.
2946 2001-12-04 Michael Meeks <michael@ximian.com>
2948 * cspi/spi-util.h: remove.
2950 * cspi/spi.h: move SPI_freeString here
2952 * libspi/component.c (impl_accessibility_component_get_layer):
2954 (impl_accessibility_component_get_mdi_z_order): ditto,
2955 return -1 on error - is this ok ?
2957 * test/test-simple.c (test_application): impl.
2959 * cspi/spi_accessible.c (Accessible_getApplication),
2960 (Accessible_isApplication): impl.
2962 * libspi/registry.c (spi_listener_struct_free): release
2963 the CORBA reference too.
2965 * libspi/accessible.c
2966 (impl_accessibility_accessible_get_parent): fix ref leak.
2968 * libspi/registry.c (spi_registry_new): make the registry
2969 immortal - we don't want it to go away ever.
2971 * libspi/application.c
2972 (spi_accessible_application_finalize): impl. cleanup.
2974 * cspi/spi_registry.c
2975 (deregisterGlobalEventListenerAll),
2976 (deregisterGlobalEventListener),
2977 (deregisterAccessibleKeystrokeListener): fix ref leak.
2979 * cspi/spi_main.c (SPI_init): remove redundant ref.
2981 * test/test-simple.c (unutterable_horror): impl. to force a
2986 (impl_accessibility_registry_deregister_application): release
2987 the application when we de-register it.
2989 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2990 until we have the infastructure to get it right.
2992 2001-12-03 Michael Meeks <michael@ximian.com>
2994 * libspi/Makefile.am: only build eventlistener.[ch]
2996 * libspi/accessible.c
2997 (impl_accessibility_accessible_get_child_at_index): don't leak.
2999 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
3000 before we hit the idle handler.
3002 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
3003 debugging than exit.
3005 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
3007 * libspi/listener.c (impl_notify_event): check source
3008 not NIL before unref.
3010 * libspi/registry.c (impl_registry_notify_event): ditto.
3012 * libspi/eventlistener.c
3013 (impl_accessible_event_notify_event): unref the source.
3015 * libspi/accessibleeventlistener.c
3016 (impl_accessible_event_notify_event): unref the source.
3018 * idl/Event.idl: remove 'hash_id' attribute - of no
3021 * libspi/application.c (notify_listeners): upd list
3023 (spi_application_object_event_listener),
3024 (spi_application_toolkit_event_listener): upd to do correct
3028 (_registry_notify_listeners): update.
3029 (parse_event_type): this method also leaks like a sieve.
3030 (impl_accessibility_registry_deregister_global_event_listener):
3031 fix ETYPE_WINDOW case.
3033 * libspi/application.c
3034 (impl_accessibility_application_register_object_event_listener):
3037 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
3039 * libspi/hypertext.c (impl_getLink): ditto.
3041 * cspi/spi_main.c (cspi_object_add): remove
3042 bogus CORBA_Object_duplicate.
3044 * cspi/spi-listener-impl.c (cspi_event): dup/ref
3047 * cspi/spi_accessible.c
3048 (Accessible_getRelationSet): fix leak / referencing issue.
3050 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
3051 (cspi_object_add, cspi_object_unref): upd.
3052 (spi_object_release, get_live_refs): impl.
3053 (cspi_cleanup): simplify.
3055 * *.[ch]: s/boolean/SpiBoolean/
3057 * cspi/spi_accessible.c (role_names): actualy order so it
3058 corresponds with the enum !
3060 * test/test-simple.c (test_roles): check some role strings
3061 vs. enums to detect offset errors.
3063 2001-12-01 Michael Meeks <michael@ximian.com>
3065 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
3067 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
3069 (Accessible_getChildAtIndex): use cspi_add_check so we
3070 check the ev before using a (possibly) invalid value.
3072 * libspi/accessible.c
3073 (impl_accessibility_accessible_get_parent): don't segv
3076 * at-bridge/bridge.c (gtk_module_init): upd.
3077 (bridge_property_event_listener): don't leak strings
3079 (bridge_state_event_listener),
3080 (bridge_property_event_listener): don't use a static
3081 buffer in case of recursive event emission &
3082 re-enterancy - split out the swathe of cut and paste
3084 (emit_eventv): and fix 2 ref leaks here & comply to the
3086 (bridge_register_app): rename to
3087 (bridge_idle_init): this and kill arg parsing, split
3088 various inits & bonobo-activation registration to module
3089 init time, kill referencing error.
3090 (bridge_exit_func): fix the same leak.
3091 (bridge_focus_tracker): don't leak event structures
3093 (bridge_signal_listener): more leakage and cut & paste
3095 (bridge_key_listener): return the result - FIXME is
3096 this polarity correct ?
3097 (accessibility_keystroke_from_atk_key_event): rename
3098 (accessibility_init_keystroke_from_atk_key_event): and stop
3100 (gtk_module_init): return a value - not that it is checked by
3102 (bridge_key_listener): register my horror at casting between
3103 IDL defined structs.
3104 (bridge_get_registry): kill - not used.
3106 * cspi/spi_accessible.c (Accessible_getRole): make return const.
3108 * test/test-simple.c (test_roles): impl.
3109 (test_desktop, validate_accessible, validate_tree): impl.
3111 * cspi/spi_accessible.c (role_names): fixup bogus
3112 MAX_ROLES setup, make constants const for efficient linkage
3113 (AccessibleRole_getName): conform to coding style, make
3116 2001-11-30 Michael Meeks <michael@ximian.com>
3118 * cspi/spi.h: add missing prototype.
3120 * libspi/registry.c (spi_listener_struct_new): fix sig.
3122 * test/Makefile.am: add test-simple
3124 * test/test-simple.c: add
3126 * test/test.sh: add.
3128 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
3130 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
3131 do it straight - since otherwise we often get an activation race.
3133 [ work before Bill duplicated a chunk of it ... ]
3134 2001-11-30 Michael Meeks <michael@ximian.com>
3136 * libspi/keystrokelistener.c
3137 (spi_keystroke_listener_class_init): fixup arg
3140 * libspi/eventlistener.c
3141 (spi_event_listener_class_init): ditto.
3143 * tests/test.sh: add.
3145 * cspi/spi-listener-impl.h: update macros.
3147 * cspi/spi-listener-impl.c
3148 (cspi_event_listener_remove_callback): add
3149 correct pre-conditions.
3151 * cspi/spi_main.c (SPI_exit): guard vs. double
3152 exits, exit the mainloop nicely.
3153 (SPI_event_main): make more sense.
3154 (SPI_init): move the atexit evilness here so we
3155 always do it (yuck).
3156 (SPI_event_main): upd.
3158 * test/simple-at.c: update for listener changes.
3160 * registryd/registryd.c (main): prune kruft.
3162 * libspi/libspi.h: upd.
3164 * libspi/eventlistener.[ch]: rename broken macros.
3166 * libspi/accessibleeventlistener.[ch]: remove.
3168 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
3170 * test/test-simple.c: Add - automated tests.
3172 * cspi/spi-listener-impl.c (cspi_event),
3173 (cspi_key_event): add user_data to invoke.
3174 (cspi_keystroke_listener_finalize): impl.
3175 (cspi_keystroke_listener_class_init): upd.
3178 (createAccessibleEventListener),
3179 (AccessibleEventListener_addCallback),
3180 (createAccessibleKeystrokeListener),
3181 (AccessibleKeystrokeListener_addCallback): upd.
3183 * libspi/deviceeventcontroller.c
3184 (spi_device_event_controller_check_key_event): add public proto.
3187 (impl_accessibility_registry_deregister_global_event_listener):
3188 always init listeners.
3189 (_registry_notify_listeners): yes it is.
3191 * cspi/spi-listener-impl.c (cspi_key_event):
3193 (cspi_event_listener_finalize): impl.
3194 (cspi_event_listener_class_init): hook up.
3195 (event_handler_new, event_handler_free),
3196 (event_list_remove_by_callback): impl.
3197 (cspi_event_listener_remove_callback),
3198 (cspi_keystroke_listener_remove_callback),
3199 (cspi_keystroke_listener_add_callback),
3200 (cspi_event_listener_add_callback): upd.
3202 * libspi/keystrokelistener.c
3203 (keystroke_listener_object_finalize): kill
3204 (spi_keystroke_listener_class_init): upd.
3205 (spi_keystroke_listener_add_callback),
3206 (spi_keystroke_listener_remove_callback): kill,
3208 (impl_key_event): prune drasticaly.
3210 * libspi/eventlistener.c
3211 (spi_event_listener_add_callback),
3212 (spi_event_listener_remove_callback): kill, use
3214 (impl_accessible_event_notify_event): upd.
3215 (spi_event_listener_object_finalize): remove.
3217 * libspi/Makefile.am: use eventlistener.[ch]
3219 2001-12-04 Bill Haneman <bill.haneman@sun.com>
3221 * libspi/registry.c (_registry_notify_listeners):
3222 Changed listener loop iteration to use preferred convention.
3223 Got rid of string memory leaks caused be calling g_strconcat
3224 inside function calls.
3226 * libspi/registry.c (parse_event_type):
3227 Stopped g_strconcat memory leaks, free the g_strsplit return,
3228 g_strdup the split pieces when used, etc.
3230 2001-12-04 Bill Haneman <bill.haneman@sun.com>
3233 Change method 'compare' to return a 'difference set' rather than
3234 taking a StateSet as an out parameter (more Java-friendly).
3236 * idl/Accessible.idl:
3237 Added CORBA struct 'BoundingBox', to faciliate API changes below:
3239 * idl/Component.idl:
3241 Changed methods 'getExtents' and 'getImageExtents' in these
3242 interfaces to return a BoundingBox structure.
3243 (getPosition and getSize are redundant and possibly should be
3244 removed, rather than creating a corresponding Point struct.)
3246 * cspi/spi_component.c:
3247 Modify implementation of getExtents to reflect the above IDL
3252 Add (missing) AccessibleImage_getExtents () API.
3254 * docs/reference/cspi/at-spi-cspi-sections.txt:
3255 Added AccessibleImage_getImageExtents () to docs.
3257 2001-12-03 Bill Haneman <bill.haneman@sun.com>
3259 * idl/Component.idl:
3260 Added two methods, getLayer () and getMDIZOrder (), to reflect
3261 the new ATK methods atk_object_get_layer and
3262 atk_object_get_mdi_z_order. (Which arguably should be part of the
3263 AtkComponent API and AtkObject). Also added an enum,
3264 ComponentLayer, for the first method's return value.
3266 * libspi/component.c:
3267 Added implementations for these methods.
3269 * cspi/spi_component.c:
3271 Added cspi binding methods for above,
3272 AccessibleComponent_getLayer() and
3273 AccessibleComponent_getMDIZOrder().
3274 Added cspi enum 'AccessibleComponentLayer'.
3276 * docs/reference/cspi/at-spi-cspi-sections.txt:
3277 Added above methods to docs.
3281 Changed typedef for 'boolean' type (and all references to it) to
3282 SPIBoolean, to avoid keyword clashes with C++.
3285 Changed usages of 'boolean' to SPIBoolean.
3287 * test/keysynth-demo.c:
3288 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
3289 app), except where SPIBoolean is required by the callbacks API.
3291 2001-12-02 Bill Haneman <bill.haneman@sun.com>
3293 * cspi/spi_registry.c:
3294 Removed obsolete X event loop for passive keygrabs (which now
3297 * registryd/registryd.c:
3298 Removed unnecessary call to gdk_init() [cruft]. This also allows
3299 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
3302 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3304 * docs/reference/cspi:
3305 Included docs for SPI_freeString in generated documentation.
3308 Renamed spi_freeString to SPI_freeString, for consistency. Added
3309 documentation for this function.
3312 Renamed spi_freeString to SPI_freeString, for consistency.
3313 Removed obsolete method declaration string_from_corba_string.
3315 * test/keysynth-demo.c:
3316 Small tweak to comments.
3319 Stopped leaking the strings returned from CSPI.
3321 2001-11-28 Bill Haneman <bill.haneman@sun.com>
3323 Merged Michael's branch (see his ChangeLog entries below).
3325 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
3326 bridge is alive, release on exit.
3328 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
3329 Fix type check macro.
3332 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
3335 Added is_gnome_app static, and method cspi_is_gnome_app(),
3336 so we can call the appropriate shutdown routine at exit in SPI_exit.
3338 * cspi/spi_main.c (cspi_object_ref):
3339 Duplicate the corba object passed in, since we're keeping it around.
3341 * cspi/SPI_exit.c, cspi_cleanup:
3342 Moved the releasing of the live refs to its own function, so we
3343 can put it in g_atexit (). Call the appropriate shutdown API
3344 depending on whethe calling client is a gnome app or not
3345 (bonobo_main_quit or CORBA_ORB_shutdown).
3347 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
3348 Unref the listener when this method is called, after
3349 deregistration. Updated the API docs to note this behavior.
3351 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
3352 Bugfixes: Ref the bonobo object when returning a parent or child
3353 reference, or an AccessibleRelation. Generally made sure
3354 BonoboObject refcount is incremented whenever we return an
3357 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
3358 Fixed typo/bug in signal declaration.
3360 * libspi/accessibleeventlistener.h:
3363 * libspi/application.c (spi_application_new):
3364 Fixed leak in initialization.
3367 Remembered to increment bonobo-object refcount when returning
3368 children (applications) from desktop object.
3369 Added (empty) finalize method.
3371 * libspi/deviceeventcontroller.c:
3372 Hold a ref to listeners inside DEControllerKeyListeners.
3373 Added dec_key_listener_free() method. Use prepend instead of
3374 append in key_listener list. Fixed some refcount madness and
3375 leaks in the listener registration/deregistration - deregistration
3376 now calls dec_key_listener_free() on listeners, and on the
3377 temporarily constructed dec_key_listener() used to perform the search/match.
3379 * libspi/hypertext.c (spi_hypertest_finalize):
3380 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
3381 class. Also fixed spi_hypertext_interface_new() and
3382 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
3384 * libspi/hypertext.h:
3385 Removed pointless and duplicate AtkObject pointer from
3388 * libspi/keystrokelistener.c:
3389 Fixed incorrect type of keystroke_listener_parent_class,
3390 renamed keystroke_listener_object_finalize to
3391 spi_keystroke_listener_object_finalize.
3392 Fixed typo in signal declaration
3393 (spi_keystroke_listener_class_init).
3395 * libspi/registry.c:
3396 Added funcsions spi_listener_struct_new() and
3397 spi_listener_struct_free() to help with memory management issues.
3398 We also now use these methods instead of gnew + poking stuff into
3399 the struct, and to decrement listener counts/free the listeners
3400 when deregistering them.
3401 Fix more refcount bugs in getDesktop() and
3402 getDeviceEventController().
3405 De-ref the desktop after enumerating the applications. Explicitly
3406 decrement the refcounts on the created listeners on exit (using
3407 _unref for keystroke listeners, and via the
3408 deregisterGlobalEventListenerAll command for other event
3411 2001-11-27 Michael Meeks <michael@ximian.com>
3413 * cspi/spi-listener.h: fixup enum.
3415 2001-11-27 Michael Meeks <michael@ximian.com>
3417 * cspi/spi-listener-impl.c (cspi_event_listener_new),
3418 (cspi_keystroke_listener_new): Use the cspi variants.
3420 2001-11-26 Michael Meeks <michael@ximian.com>
3422 * test/keysynth-demo.c: fix 2 compile warnings, missing
3425 * test/simple-at.c (report_focussed_accessible),
3426 (report_focus_event, report_button_press),
3427 (check_property_change, is_command_key),
3428 (report_ordinary_key_event, report_command_key_event): upd.
3430 * util/mag_client.h: include pre-requisites.
3432 * libspi/accessibleeventlistener.c
3433 (spi_event_listener_object_finalize): free any lingering
3436 * libspi/keystrokelistener.c
3437 (keystroke_listener_object_finalize): ditto.
3439 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
3440 callbacks, with cspi types.
3442 * cspi/spi_event.c (createAccessibleEventListener): chain to
3443 (AccessibleEventListener_addCallback): here.
3444 (createAccessibleKeystrokeListener): chain to
3445 (AccessibleKeystrokeListener_addCallback): here.
3447 * libspi/keystrokelistener.c
3448 (spi_keystroke_listener_class_init): add signal.
3449 (impl_key_event): emit the event.
3450 (boolean_handled_accumulator): impl.
3451 (marshal_BOOLEAN__POINTER): add, gack.
3453 * libspi/accessibleeventlistener.c
3454 (spi_event_listener_class_init): add signal.
3455 (impl_accessible_event_notify_event): emit the signal &
3456 make the loop efficient.
3457 (spi_event_listener_add_callback): prepend the callback.
3459 * libspi/accessibleeventlistener.h: add an 'event' signal,
3460 decl type on callback.
3462 * libspi/keystrokelistener.h: ditto.
3464 * cspi/spi-listener.h: make methods typesafe and
3465 make them use the new event typedefs.
3467 * test/simple-at.c (report_focussed_accessible):
3468 include mag_client.h
3469 Use *(void *)text_interface not the other thing.
3471 * configure.in: add gtk to registryd bits - since we use
3474 * util/magnifier.c: include libbonobo.h
3476 2001-11-25 Bill Haneman <bill.haneman@sun.com>
3478 * test/keysynth-demo.c:
3479 Turned this into a simple scanning keyboard, to demonstrate the
3480 use of g_timeout_add () as a means of creating timers for
3481 scanning, and the use of GtkStyle for visually indicating when
3482 virtual keyboard elements are selected.
3484 keysynth-demo now listens to any keyboard keys with zero-valued
3485 keycodes (i.e. 'unused' keys) and interprets them as
3488 Reworked the shiftlatch code so that shift-down state isn't held
3489 for long periods (it's only synthesized immediately prior to
3490 the keysynth event it's modifying). Note that shiftlatch in this
3491 demo is a convenience, not intended to take the place of AccessX
3492 which is the better choice for getting 'sticky' modifier keys.
3494 * libspi/deviceeventcontroller.c:
3495 * at-bridge/bridge.c:
3496 * cspi/spi_registry.c:
3497 Removed some debug print stuff, and put other verbosity in #ifdef
3502 Implemented some more of the magnifier IDL for the simple
3503 magnifier: namely, getZoomRegionParams.
3504 Added mag_x and mag_y members to MagnifierData struct, aid of this
3506 Added GtkWindow::realize signal handler to magnifier, to keep it
3507 from receiving keyboard focus from the WM.
3509 2001-11-23 Mark McLoughlin <mark@skynet.ie>
3511 * cspi/spi-private.h: my guess at what michael forgot
3512 before he ran off to NZ :-)
3514 2001-11-23 Michael Meeks <michael@ximian.com>
3516 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
3517 comment out non existant method invoke so we link.
3519 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
3520 use bonobo_exception_get_text for more friendly warnings.
3522 * cspi/spi.c (Obj_Add): move into spi_main & rename
3523 spi_object_add; kill spi.c
3525 * cspi/spi_registry.c
3526 (deregisterGlobalEventListener),
3527 (deregisterGlobalEventListenerAll),
3528 (registerGlobalEventListener): fix exception leaks.
3530 * cspi/spi_main.c (spi_exception): impl. helper, so we
3531 don't leak exceptions.
3533 * cspi/spi_selection.c
3534 (AccessibleSelection_deselectSelectedChild): return the
3537 * cspi/spi_main.c (spi_ev): impl; hack - gack.
3538 (spi_registry): ditto.
3539 (SPI_init): guard against double inits.
3541 * cspi/*.c: use spi_ev (), and spi_registry () where
3542 appropriate - a temporary hack until we have something
3543 better. Use spi_object_add
3545 2001-11-22 Michael Meeks <michael@ximian.com>
3547 * cspi/Makefile.am: re organise, install the headers.
3549 * cspi/*.h: add G_BEGIN/END_DECLS
3551 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3554 Added non-preemptive keylistener for key events with no modifiers
3555 and shift-only modifier.
3557 * libspi/keystrokelistener.c:
3558 Removed some verbose diagnostics printout.
3560 * cspi/spi_registry.c:
3561 Fixed a bug that caused all key listeners to be registered as
3564 * libspi/deviceeventcontroller.c:
3565 Fixed bug that caused XGrabKey (preemptive key grab) to be called
3566 for non-preemptive key masks.
3569 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3571 * docs/reference/idl/at-spi-idl-docs.sgml:
3572 * docs/reference/idl/at-spi-idl-sections.txt:
3573 * docs/reference/idl/at-spi-idl-overrides.txt:
3574 Added missing files.
3576 * docs/reference/Makefile.am:
3577 removed idl from SUBDIRS until we can figure a way to get gtk-doc
3578 to scan the IDL files :-(
3583 Added .cvsignore files.
3585 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3587 * libspi/deviceeventcontroller.c:
3588 * libspi/keystrokelistener.c:
3590 * cspi/spi_registry.c:
3591 Added filters for KeySets, KeyEventSeq, and event types to key
3592 event dispatching, so listeners should only receive those events
3593 that they requested :-)
3595 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3600 * docs/reference:Makefile.am:
3601 * docs/reference/cspi:
3602 * docs/reference/cspi:Makefile.am:
3603 * docs/reference/cspi:tmpl:
3604 * docs/reference/cspi:tmpl:*.sgml:
3605 * docs/reference/idl:
3606 * docs/reference/idl:Makefile.am:
3607 * docs/reference/idl:at-spi-idl-sections.txt:
3608 * docs/reference/idl:at-spi-idl-docs.sgml:
3609 * docs/reference/idl:tmpl:
3610 * docs/reference/idl:tmpl:*.sgml:
3612 Restructured docs directory to allow separate 'reference' docs
3613 section, and forked idl and cspi docs. Added the sgml template
3614 files to CVS. Added the first sections/structural sgml for the
3617 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
3619 * configure.in, libspi/Makefile.am: find libXtst.
3621 2001-11-21 Michael Meeks <michael@ximian.com>
3623 * test/accessx-gui.c: s/spi_value/value/ - doh.
3625 * libspi/base.[ch]: add.
3627 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3629 * idl/Accessible.idl:
3630 * idl/Application.idl:
3633 Started gtk-doc cleanup on IDL.
3635 * libspi/deviceeventcontroller.c:
3636 Added and connected non-preemptive key notification from the
3637 toolkits (in addition to the pre-emptive support from XServer
3638 which we had before, but which causes 'focus flashing'). Filters
3639 are presently limited to key modifiers and global/non-global,
3640 KeySets are presently ignored, as are KeyEvent masks.
3642 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
3643 structs into the persistant structure rather than just storing
3644 pointers to things that might not persist across servant
3647 The XGrabKey call now does async keygrabs, because synchronous
3648 ones were deadlocking with GDK_event code in a very nasty way.
3650 Added boolean to internal method notify_keylisteners, to indicate
3651 whether the event came from the 'toolkit source' or the 'global
3652 (XServer) source' - this is used in the notification process to
3653 determine which listeners to send the event to.
3655 deviceeventcontroller.c is now warning-free.
3657 * libspi/registry.c:
3658 Fixed regression in application de-registration.
3659 Also fixed some really brain-dead weirdness having to do with
3660 event dispatching - event structs are now duplicated before being
3661 re-marshalled in the dispatch to listeners. This also fixes a
3662 Solaris build problem.
3665 2001-11-20 Michael Meeks <michael@ximian.com>
3668 (impl_accessibility_registry_deregister_global_event_listener):
3671 * libspi/deviceeventcontroller.c
3672 (spi_device_event_controller_check_key_event): return
3673 FALSE on no virtual method.
3675 * libspi/*..h: make includes work on a correctly pathed install.
3677 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
3679 * libspi/application.h: kill unused ( and whacked out )
3680 gboolean *spi_application_set_id (AtkObject *app, long id);
3682 2001-11-20 Michael Meeks <michael@ximian.com>
3684 * libspi/*.[ch]: further convert to bonobo's type func
3685 macros, remove redundnant casts etc.
3687 * libspi/text.c s/accessibility_text/spi_text/g,
3688 re-order to de-cruft.
3690 * libspi/hypertext.c: re-order to kill a huge slew
3691 of redundant forward decls.
3693 * libspi/relation.c: ditto.
3695 * libspi/image.c: ditto.
3697 * */.cvsignore: update
3699 2001-11-20 Michael Meeks <michael@ximian.com>
3701 * libspi/deviceeventcontroller.c
3702 (_controller_register_with_devices): use g_getenv,
3703 kill stdlib.h include.
3705 * libspi/keystrokelistener.c
3706 (spi_keystroke_listener_get_type): kill
3707 (spi_keystroke_listener_class_init),
3708 (spi_keystroke_listener_init): rename to this.
3710 * libspi/text.c (impl_getAttributes): fix warning / bug.
3712 * libspi/*.[ch]: more headers, includes and over commenting.
3714 2001-11-20 Michael Meeks <michael@ximian.com>
3716 * libspi/*.[ch]: fixup headers, includes and over commenting.
3718 * libspi/image.c (impl__get_imageDescription): const
3719 correctness warning fix. remove redundant casting.
3721 * libspi/table.c (impl_getRowDescription): ditto.
3722 (impl_getColumnDescription): ditto.
3724 * libspi/libspi.h: add.
3726 2001-11-19 Michael Meeks <michael@ximian.com>
3728 * libspi/editabletext.c (impl_setAttributes): fix warnings.
3730 * libspi/component.c (accessibility_component_get_type):
3731 rename to (spi_component_get_type): and macroify.
3732 (accessibility_component_init): rename to
3733 (spi_component_init): this
3734 (accessibility_component_class_init): rename to
3735 (spi_component_class_init): this
3737 * libspi/action.c (spi_action_get_type): kill, use the macro.
3739 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
3742 * libspi/application.c (spi_application_object_event_listener),
3743 (impl_accessibility_application_register_object_event_listener):
3744 warning fixes / const understanding updates.
3746 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
3749 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3751 * libspi/spi_accessible.c: Added docs and C bindings for
3752 AccessibleStateSet. (No implementations yet). Documentation
3753 coverage for C bindings now 100%. Made docs for event listeners
3758 boolean notifyListenersSync (in DeviceEventListener listener,
3759 in DeviceEvent event);
3761 oneway void notifyListenersAsync (in DeviceEventListener listener,
3762 in DeviceEvent event);
3764 Added DeviceEventListener and DeviceEvent structs (may deprecate
3765 KeyStroke and KeystrokeListener in favor of this generic
3766 event/listener framework for devices).
3768 * libspi/deviceeventcontroller.c:
3770 Changed some key listener code to take masks, etc., and paved the
3771 way for integration of toolkit/non-preemptive key events. Changed
3772 signatures of some internal methods.
3774 * at-bridge/bridge.c:
3775 Fixed regression connecting to interface signals, apparently
3776 caused by GTK+ changes.
3778 Added an internal bridge_state_listener to deal with
3779 property-change:accessible-state signals.
3781 Changed the key_listeners GList to store structs (including masks,
3782 etc.) instead of just CORBA_Objects (required for full
3783 implementation of key listener API).
3785 Connected the bridge to all currently supported Atk signals.
3786 Events now supported:
3787 object:property-change
3788 object:property-change:accessible-name
3789 object:property-change:accessible-state
3790 object:property-change:accessible-description
3791 object:property-change:accessible-parent
3792 object:property-change:accessible-value
3793 object:property-change:accessible-role
3794 object:property-change:accessible-table-caption
3795 object:property-change:accessible-table-column-description
3796 object:property-change:accessible-table-column-header
3797 object:property-change:accessible-table-row-description
3798 object:property-change:accessible-table-row-header
3799 object:property-change:accessible-table-summary
3800 object:children-changed
3801 object:visible-data-changed
3802 object:selection-changed
3803 object:text-selection-changed
3805 object:text-caret-moved
3807 object:row-reordered
3809 object:column-inserted
3810 object:column-reordered
3811 object:column-deleted
3812 object:model-changed
3814 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3816 * libspi/hyperlink.c,h:
3817 Fixed some broken stuff in hyperlink.
3819 * libspi/relation.h:
3820 * libspi/relation.c:
3821 * cspi/spi_accessible.c:
3822 Initial implementations of AccessibleRelation methods, and docs.
3824 * libspi/accessible.c:
3825 Fixed a bug that caused SEGV if an accessible
3826 object's description is NULL, and a client
3827 requests it. An empty string is now returned.
3829 * cspi/spi_editabletext.c:
3830 * cspi/spi_hypertext.c:
3832 * cspi/spi_hyperlink.c:
3836 Doc coverage now 95%.
3838 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3840 One last namespacing revision:
3841 * libspi/accessibleeventlistener.[ch]:
3842 Renamed SpiAccessibleEventListener to SpiEventListener,
3843 (no need for two namespaces ;-)
3845 And lots of documentation fixes:
3847 * docs/at-spi-docs.sgml:
3848 Fixed 'underscore vs. hyphen' bug that was preventing
3849 the gtk-doc API docs from being automatically generated.
3852 * cspi/spi-listener.h
3854 * cspi/spi_accessible.c
3856 * cspi/spi_application.c
3857 * cspi/spi_component.c
3858 * cspi/spi_editabletext.c
3860 * cspi/spi_hypertext.c
3862 * cspi/spi_registry.c
3863 * cspi/spi_selection.c
3867 * docs/at-spi-docs.sgml
3868 * docs/at-spi-sections.txt
3870 Added and fixed up gtk-doc documentation in cspi.
3872 Interfaces now (fully) documented (subject to revision and enhancement):
3874 Event Listener Support
3876 AccessibleApplication
3880 AccessibleEditableText
3887 AccessibleRelationSet
3892 2001-11-14 Bill Haneman <bill.haneman@sun.com>
3894 * at-bridge/bridge.c:
3895 Initial work for toolkit-level key snooper connection by bridge.
3900 New typedefs and fixes to support new namespacing, and cleaner
3901 separation of cspi bindings from libspi bonobo implementation.
3902 Removed inconsistent and extraneous Spi* namespace prefix that
3903 had crept into cspi headers.
3904 Lots of comment fixes that sed had missed.
3906 * cspi/spi-roletypes.h:
3907 * cspi/spi-statetypes.h:
3908 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
3909 to AccessibleRoleType.
3911 * libspi/accessibleeventlistener.h:
3912 Fixed minor namespacing weirdness.
3914 * libspi/deviceeventcontroller.c:
3915 Reordered some internal API for device listeners.
3916 Changed the key registry final boolean to 'is_system_global'
3917 rather than 'is_synchronous', which is more descriptive of its
3919 Added spi_device_event_controller_new().
3920 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
3922 * libspi/keystrokelistener.[ch]:
3923 Namespaced KeystrokeListener to SpiKeystrokeListener.
3924 Changed uses of keymasks to use SPI_ prefix, and did other
3927 * libspi/keymasks.h:
3928 Namespaced keymask constants with SPI_ prefix.
3930 * libspi/registry.c:
3931 Some warning fixes, and knock-on fixes from namespace changes.
3934 Added rules for accessx-gui test program.
3936 * test/accessx-gui.c:
3937 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
3938 utility. It doesn't actually use at-spi, but it's still cool and
3941 * test/keysynth-demo.c:
3945 Fixes so that these test clients work properly with the namespaced
3946 libraries. (Incompletely tested for technical reasons, fixes may follow)
3949 2001-11-13 Michael Meeks <michael@ximian.com>
3951 * libspi/application.c
3952 (impl_accessibility_application_get_version),
3953 (impl_accessibility_application_get_toolkit_name):
3955 (impl_accessibility_application_set_id),
3956 (impl_accessibility_application_get_id): remove
3957 redundant casting code.
3959 * libspi/action.c (impl_getDescription): fix warnings.
3961 * libspi/accessible.c
3962 (impl_accessibility_accessible_get_parent),
3963 (impl_accessibility_accessible_get_child_at_index),
3964 (impl_accessibility_accessible_get_state),
3965 (impl_accessibility_accessible_get_relation_set):
3966 warning fixes & include action.h
3968 2001-11-13 Michael Meeks <michael@ximian.com>
3970 * *.[ch] fix bits I screwed up:
3972 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3973 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3975 2001-11-13 Michael Meeks <michael@ximian.com>
3977 * *.[ch] Namespace libspi into spi_ and Spi.
3979 2001-13-11 Michael Meeks <michael@ximian.com>
3981 * Makefile.am: dist & install at-spi-1.0.pc
3983 * libspi/Makefile.am: install into at-spi-1.0
3985 * idl/Makefile.am (idldir): install into at-spi-1.0
3987 * at-spi-1.0.pc.in: add.
3989 * configure.in: build it.
3991 2001-11-12 Bill Haneman <bill.haneman@sun.com>
3993 * test/keysynth-demo.c:
3994 Use a 'realize' signal-handler to set the WM properties for
3995 the virtual keyboard, rather than making it a "POPUP" type
3996 override-redirect window (thanks to anders carlsson for that
3999 2001-11-11 Bill Haneman <bill.haneman@sun.com>
4002 * test/keysynth-demo.c:
4003 Added new test of key synthesis, which creates a simple
4004 (mouse-operated) onscreen keyboard. It inserts key events into
4005 the currently-focused window, thus it does not grab keyboard focus
4008 * cspi/spi_registry.c:
4009 Added C binding for AT-SPI generateKeyEvent.
4011 * libspi/deviceeventcontroller.c:
4012 Added call to XFilterEvent so that key listener works with XIM (we
4013 hope). Added event_synth_type to generateKeyEvent, so that we can
4014 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
4015 synthesize a press/release pair for KeySyms.
4017 2001-11-09 Bill Haneman <bill.haneman@sun.com>
4019 * libspi/Makefile.am:
4020 * registryd/Makefile.am:
4021 (temporary) hack to include libXtst in libspi and registryd.
4022 (Needed for keystroke synthesis, see below).
4025 Improved API for registerKeystrokeListener, in accordance with
4026 discussions with Gnopernicus team and X server research.
4028 * libspi/registry.c:
4029 * libspi/deviceeventcontroller.c:
4030 * libspi/accessible.c:
4031 * libspi/keystrokelistener.c:
4032 Changes and fixes to support keylisteners for potentially
4033 consumed key events (that is, 'passive grabs').
4034 Added implementation for generateKeyEvent() [untested].
4037 Changes to registerKeystrokeListener() API, as above.
4038 Added deregisterGlobalEventListenerAll(), and
4039 deregisterKeystrokeListener(), which are needed for clean exit of
4041 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
4042 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
4044 * cspi/spi_registry.c:
4045 Added implementations of function prototypes mentioned above.
4047 * registryd/registryd.c:
4048 Added the key listener event source as a g_timeout(), to allow
4049 receipt of key events that are not caught by GDK (since GDK
4050 doesn't support passive keygrabs, this was necessary).
4053 Changed to attach a keylistener to 'Alt' keys, and
4054 respond to the following keycommands: Alt-M (toggle magnifier);
4055 Alt-F (toggle speech); Alt-Q (quit).
4056 Added an exit routine to deregister the listeners, and a key
4057 listener that prints some key info to the console when a key
4058 matches the listener mask (and is thus received by the listener).
4060 * util/idl/Magnifier.idl:
4061 Changes to magnifier API to support multiple zoom regions,
4062 non-uniform scaling in x and y, markDirty, and a host of other
4063 features that would be useful to magnification.
4066 * util/mag_client.c:
4067 * util/mag_client.h:
4068 * util/mag_control.c:
4070 Source code changes to support the above IDL changes.
4073 As above, and also changes to use a (slower) generic conversion
4074 path for colormap conversions, since the fast RGB conversions have been
4075 reported to fail for 16-bit displays.
4077 2001-10-26 Michael Meeks <michael@ximian.com>
4079 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
4081 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
4083 * at-bridge/Makefile.am: fix LDFLAGS.
4085 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4087 * at-bridge/bridge.c:
4088 Re-worked listeners for toolkit events, now we have signal
4089 and property listeners. Added a private method
4090 register_atk_event_listeners(), which registers with the
4091 various atk and gtk signals we need to monitor in order to emit
4093 Added emission hook for AtkObject:property-change events, to
4094 support the 'property listeners'.
4095 Fixed some alloc()s of Accessibility_Event structs to use CORBA
4098 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
4099 which emit warnings and exit, respectively, if CORBA errors occur
4100 during remote calls, and we now use these methods to check most of
4101 our CORBA calls in the C bindings.
4103 * cspi/spi_accessible.c:
4104 Changed AccessibleSelection_refSelectedChild() to
4105 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
4106 now increment refcounts.
4108 * cspi/spi_component.c:
4109 Fixed some long pointer casts (dangerous!) to pass pointers to
4110 CORBA_longs of the proper type to the CORBA stubs, and copy the
4111 data into the longs that were passed into the C bindings code.
4113 * at-bridge/bridge.c:
4115 * libspi/accessible.c:
4116 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
4117 hyperlinks, AtkHyperlink is an object type.
4119 * libspi/application.c:
4120 Added various conversions to and from "generic" event types and
4121 atk-specific types; this is really part of the 'bridge'
4122 implementation but is valid for all AtkObject-based accessibility
4125 * libspi/editabletext.c:
4126 Fixed nasty bug wherein editable text's finalize method was
4127 unref'ing tha AtkObject reference that the text parent class was
4128 about to unref _again_. There was also a nasty inheritance bug
4129 that meant that the AccessibleEditableText class was corrupt.
4131 * libspi/selection.c:
4132 Provided implementations for some selection API that was broken.
4134 * idl/Application.idl:
4135 Added registerObjectEventListener () method.
4138 Fixed a number of return values that were Bonobo_Unknowns from
4139 bonobo_object_corba_objref(), which I
4140 forgot to dup before returning. Changed instances of
4141 bonobo_object_corba_objref (bonobo_object(o)) to
4142 BONOBO_OBJREF(o), for concision and clarity.
4144 2001-10-13 Louise Miller <louise.miller@sun.com>
4146 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
4147 idl/Event.idl, idl/Registry.idl
4148 Changed these files to include Bonobo_Unknown.idl instead
4151 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
4153 * libspi/component.c libspi/component.h:
4154 Fixed typo. Added assertions for object checks in
4155 AccessibleComponent code.
4157 2001-10-09 Bill Haneman <bill.haneman@sun.com>
4159 * idl/Accessible.idl:
4160 Added 'isEqual (Accessible *object)'
4161 method for Accessible. (Not Yet Implemented).
4164 Changed signature of registerKeystrokeListener() to
4165 take a KeySet and KeyEventSeq so that specific keys and event
4166 types could be requested for monitoring, and added a flag
4167 is_synchronous so that either synchronous or asynchronous
4168 notification could be requested. (However this is not all
4169 implemented yet). This also meant adding two new typedefs,
4170 KeyEventSeq and KeySet.
4173 Added two new relations, RELATION_TOOLTIP_FOR and
4174 RELATION_LEAFNODE_OF.
4177 Added new state, STATE_HAS_TOOLTIP.
4179 * libspi/text.c, editabletext.c:
4180 Added new assertions to all casts of bonobo-objects from
4181 CORBA servants, to prevent Text API calls on non-text objects.
4182 Changed suspect casts of int-pointer types, so that we
4183 always send a valid CORBA_long pointer to the CORBA APIs that use
4184 in/out long parameters. We then have to copy from the CORBA_long
4185 into the regular long or int for return to the C bindings, or
4186 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
4189 * libspi/deviceeventcontroller.c:
4190 Cleaned these sources up.
4192 Changed return type for getCharacterAtOffset to
4193 CORBA_unsigned_long, to allow for 32-bit characters.
4196 2001-10-08 Bill Haneman <bill.haneman@sun.com>
4200 Fixed 'make dist' so that distro compiles...
4201 * libspi/keymasks.h:
4203 * cspi/spi-listener.c:
4204 KeystrokeListenerCB now returns a boolean.
4206 Added KeyEventType struct, and KeyStroke.
4207 Also added createKeystrokeListener(),
4208 KeystrokeListener_addCallback(),
4209 KeystrokeListener_removeCallback(), and added a keymask to
4210 registerKeystrokeListener().
4211 * cspi/spi_accessible.c:
4212 Changed numerous return types for interfaces from
4213 AccessibleComponent to Accessible<InterfaceName>; this was
4214 probably a cut-and-paste error.
4216 Implementations of new KeystrokeListener api (from spi.h,
4219 Changes to key modifier mapping.
4220 Created ControllerEventMask struct.
4221 Made DeviceEventController derive from Bonobo::Unknown.
4223 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
4224 * libspi/deviceeventcontroller.c:
4225 Added a number of new internal (private) methods.
4226 * libspi/editabletext.c:
4227 * libspi/editabletext.h:
4228 Fixed a number of bugs related to the fact that
4229 editabletext inherits from text. Fixed the EditableText struct,
4230 the init() call, and use correct casts when calling Text methods
4231 from an EditableText object. Removed (duplicate) atko from the
4232 EditableText structure, we use the one in the parent Text
4233 structure via the casts mentioned above.
4234 * libspi/keystrokelistener.[ch]:
4235 * libspi/registry.c:
4236 Changes in support of keyboard handling (above).
4238 Keyboard handling, though partly functional, is still not
4239 recommended for at-spi client use as there is considerable
4240 work yet to be done.
4243 Changed some places where pointers to various int types
4244 are cast to be pointers to CORBA_long types and vice-versa:
4245 pointer casting is not safe so we pass pointers of the correct
4246 types and then cast the result before putting it into the target
4249 * libspi/text.h: minor typos corrected.
4251 We now speak not only the name of a Text element, but the
4252 first sentence of its content, when it receives focus.
4253 I also changed the text compression to 75% from 50%.
4254 * util/Accessibility_Util.server.in:
4255 Changed the default magnifier type to be a 3x vertical
4256 splitscreen magnifier (was previously a 2x horizontal one).
4258 2001-10-03 Bill Haneman <bill.haneman@sun.com>
4260 * libspi/keystrokelistener.h:
4261 * libspi/keystrokelistener.c:
4262 Initial functional implementations of KeystrokeListener.
4265 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
4267 Fixed string handling for NULL strings in libspi.
4268 Added spi_freeString to free strings returned by C bindings.
4270 2001-09-30 Bill Haneman <bill.haneman@sun.com>
4272 * libspi/keystrokelistener.h:
4273 * libspi/keystrokelistener.c:
4274 Began (no-op) implementations of KeystrokeListener
4276 * libspi/deviceeventcontroller.c:
4277 * libspi/deviceeventcontroller.h:
4278 Began creating implementations of DeviceEventController,
4279 to handle keystroke and mouse event listening and
4281 * libspi/accessible.c:
4282 Stubbed-in the implementations for
4283 Accessibility_Accessible_getState and
4284 Accessibility_Accessible_getRelationSet.
4285 * libspi/registry.c:
4286 Improved de-registration process and fixed some bugs,
4287 deregistration now works correctly.
4289 Added initialization of applications list (to NULL).
4291 Reduced speech compression from 0.5 to 0.7, for demo.
4292 Changed call to gdk_window_set_decorations()
4293 to gtk_window_set_decorated().
4294 * at-bridge/bridge.c:
4295 Bridge now deregisters when app exits, via
4296 registration of a cleanup function
4297 with the g_atexit() call.
4298 Required making 'app' static, renamed 'this_app'.
4299 Fixed broken use of bonobo_init, passing argv wrongly.
4301 2001-09-27 Bill Haneman <bill.haneman@sun.com>
4305 Created a new directory for
4306 accessibility-related utilities, primarily for
4307 testing and demo purposes, but with possible
4314 Onscreen magnifier utility that
4315 is implemented as a bonobo service.
4317 * util/mag_client.c:
4318 * util/mag_client.h:
4319 Client-side support (simple C bindings)
4320 for Magnification service
4322 * util/mag_control.c:
4323 Client program example for
4324 Magnification service
4326 * util/Accessibility_Magnifier.server.in:
4327 Bonobo-activation file for the
4328 Magnification service.
4331 * util/idl/Magnifier.idl:
4332 IDL defining the bonobo Magnification
4336 Modifications to use the bonobo-activated magnifier
4337 above, in place of trying to connect to an existing
4338 magnifier that uses socket-listening IPC.
4340 If env variable MAGNIFIER is set, a magnifier service
4341 will be started if one does not exist.
4343 2001-09-25 Bill Haneman <bill.haneman@sun.com>
4345 * at-bridge/bridge.c:
4346 applied patch from Marc to build and run
4347 against new glib and gtk+ (seemed like a change
4348 to bonobo_init signature was made ?)
4350 made festival-server support turned off by default.
4351 Added support for a simple magnifier (off by default)
4352 which will be added to a 'util' directory later.
4353 * at-bridge/Makefile.am:
4354 Changed "application.h" header from a 'source'
4355 to a 'dependency' of libat-bridge.
4357 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4366 Added interface implementation c files to list of
4367 includes so they are included in libcspi.
4370 Changed prototype of AccessibleAction_doAction to return a
4372 Changed prototype of AccessibleTable_getCaption to
4373 return an Accessible.
4374 Changed prototype of AccessibleTable_getSelectedRows
4375 and AccessibleTable_getSelectedColumns to
4376 return a long (returns the number of selected rows
4377 or columns respectively).
4378 Changed name of AccessibleText_refRunAttributes to
4379 AccessibleText_getAttributes.
4380 Changed prototype of AccessibleText_getCharacterExtents to
4381 return a void rather than a boolean.
4382 Added support for a AccessibleCoordType parameter
4383 specifying what type of coordinates are desired.
4384 Added an AccessibleCordType parameter to
4385 AccessibleText_getPointAtOffset.
4387 * cspi/spi_accessible.c:
4388 Added code to return the outstanding interfaces from
4389 Accessible_queryInterface.
4391 * cspi/spi_action.c:
4393 Corrected call to getNActions to call the c binding
4396 * cspi/spi_editabletext.c:
4398 Changed name from setRunAttributes to setAttributes.
4400 * cspi/spi_hyperlink.c:
4402 Changed call to getNAnchors to correctly call the c
4403 binding for an attribute.
4405 * cspi/spi_hypertext.c:
4407 Changed getImageDescription to correctly call the
4408 binding for an attribute.
4410 * cspi/spi_selection.c:
4411 Changed getNSelectedChildren to correctly call the c
4412 binding for the attribute.
4413 Changed refSelectedChild to getSelectedChild.
4417 Changed getCaption to return an Accessible.
4418 Fixed calls which retrieve attributes.
4419 Changed refAt to getAccessibleAt.
4420 Changed getNSelectedRows and getNSelectedColumns to
4424 Changed getCharacterExtents and getPointAtOffset to accept an
4425 AccessibleCoordType.
4427 Changed calls which retrieve attributes.
4428 Changed refRunAttributes to getAttributes.
4433 * idl/Hyperlink.idl:
4434 Changed n_anchors attribute to nAnchors to keep naming
4435 convention consistent.
4438 Made Table inherit from Bonobo::Unknown.
4439 Added nSelectedColumns and nSelectedRows attributes.
4442 Made Value inherit from Bonobo::Unknown.
4444 * libspi/hyperlink.c:
4445 Change for nAnchors attributte name change.
4447 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4455 Added interface implementation c files to list of
4456 includes so they are included in libcspi.
4459 Changed prototype of AccessibleAction_doAction to return a
4461 Changed prototype of AccessibleTable_getCaption to
4462 return an Accessible.
4463 Changed prototype of AccessibleTable_getSelectedRows
4464 and AccessibleTable_getSelectedColumns to
4465 return a long (returns the number of selected rows
4466 or columns respectively).
4467 Changed name of AccessibleText_refRunAttributes to
4468 AccessibleText_getAttributes.
4469 Changed prototype of AccessibleText_getCharacterExtents to
4470 return a void rather than a boolean.
4471 Added support for a AccessibleCoordType parameter
4472 specifying what type of coordinates are desired.
4473 Added an AccessibleCordType parameter to
4474 AccessibleText_getPointAtOffset.
4476 * cspi/spi_accessible.c:
4477 Added code to return the outstanding interfaces from
4478 Accessible_queryInterface.
4480 * cspi/spi_action.c:
4482 Corrected call to getNActions to call the c binding
4485 * cspi/spi_editabletext.c:
4487 Changed name from setRunAttributes to setAttributes.
4489 * cspi/spi_hyperlink.c:
4491 Changed call to getNAnchors to correctly call the c
4492 binding for an attribute.
4494 * cspi/spi_hypertext.c:
4496 Changed getImageDescription to correctly call the
4497 binding for an attribute.
4499 * cspi/spi_selection.c:
4500 Changed getNSelectedChildren to correctly call the c
4501 binding for the attribute.
4502 Changed refSelectedChild to getSelectedChild.
4506 Changed getCaption to return an Accessible.
4507 Fixed calls which retrieve attributes.
4508 Changed refAt to getAccessibleAt.
4509 Changed getNSelectedRows and getNSelectedColumns to
4513 Changed getCharacterExtents and getPointAtOffset to accept an
4514 AccessibleCoordType.
4516 Changed calls which retrieve attributes.
4517 Changed refRunAttributes to getAttributes.
4522 * idl/Hyperlink.idl:
4523 Changed n_anchors attribute to nAnchors to keep naming
4524 convention consistent.
4527 Made Table inherit from Bonobo::Unknown.
4528 Added nSelectedColumns and nSelectedRows attributes.
4531 Made Value inherit from Bonobo::Unknown.
4533 * libspi/hyperlink.c:
4534 Change for nAnchors attributte name change.
4537 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
4539 implementations-- made server implementations own AtkObject pointers
4540 rather than their respective AtkInterrface pointers to fix
4541 refcounting. AtkHyperlink is still broken.
4543 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4544 * cspi/spi_accessible.c:
4545 Added method Accessible_Role_getName(),
4546 and requisite string array (role_names).
4547 Added conversion string_from_corba_strin() call
4548 to Accessible_getName and _getDescription.
4549 * libspi/accessible.c:
4550 Added implementation for Accessible_getRole()
4552 Added festival support, used if environment variable
4555 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4557 * at-bridge/bridge.c:
4558 Now allocate Accessibility_Event using
4559 Accessibility_Event__alloc() instead of g_new0().
4560 * libspi/accessibleeventlistener.c:
4561 Initialize AccessibleEventListener->callbacks to NULL.
4562 Fixed accessible__event_listener_init() param, changed to
4563 "AccessibleEventListener *" type.
4564 Changed a bonobo_object_release_unref() call to
4565 Accessibility_Accessible_unref().
4566 * libspi/listener.c:
4567 Changed Bonobo_Unknown_unref to (equivalent)
4568 Accessibility_Accessible_unref.
4569 * libspi/registry.c:
4570 Changed bonobo_object_release_unref to
4571 Accessibility_Accessible_unref.
4573 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4576 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
4577 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
4578 spi-util.c spi-util.h
4579 Implementations for C bindings to remaining accessibility
4582 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4585 changed return value of Action from void to boolean to
4586 bring in line with ATK.
4589 Changed getText funcions to return "out" start and end offsets.
4590 Changed getAttributes to take and offset and return the start
4591 and end offset of the attribute run.
4592 Changed getOffsetAtPoint and getCharacterExtents to take an
4593 enum describing whether coordinates are window or screen.
4596 libspi/action.c libspi/action.h libspi/editabletext.c
4597 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
4598 libspi/hypertext.c libspi/hypertext.h libspi/image.c
4599 libspi/image.h libspi/selection.c libspi/selection.h
4600 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
4601 libspi/value.c libspi/value.h
4602 Added server implementations for outstanding ATK interfaces
4603 not yet implemented.
4605 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4608 Added (missing) getName() method.
4609 Made nActions an attribute.
4610 * idl/EditableText.idl:
4611 Changed order of params in setAttributes.
4612 * idl/Hyperlink.idl:
4613 Removed getAnchor, added getURI.
4615 Changed attributes to methods, for efficiency
4616 (so that getting extents can be done in one call)
4617 * idl/Selection.idl:
4618 Changed nSelectedChildren to attribute, and re-indented.
4619 * idl/Table.idl: changed nrows, ncolumns, caption, summary
4621 * idl/Text.idl: reformatted to match our coding style.
4622 (temporarily?) removed getRowColumnAtOffset().
4623 Changed text selection API to support multi-select and
4624 non-contiguous selections, as in ATK.
4625 * idl/Value.idl: changed some methods to attributes.
4627 2001-08-24 Mark McLoughlin <mark@skynet.ie>
4629 * libspi/listener.c(impl_notify_event):
4630 BonoboUnkown_unref the source instead
4631 of bonobo_object_release_unref - the ORB
4632 handles the releasing.
4634 * configure.in: require ORBit-2.3.94 for
4637 2001-08-21 Bill Haneman <bill.haneman@sun.com>
4639 Tagged CVS repository 'EA_1_0'.
4640 * README.EARLY_ACCESS:
4641 Alphabetized acknowledgements list, and
4643 Listed some known dependencies of at-spi.
4645 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4647 * docs/at-spi-docs.sgml:
4648 * docs/at-spi-sections.txt:
4649 * docs/at-spi-overrides.txt: (Added zero-length file)
4650 Documentation improvements - gtk-doc should build
4651 docs for all implemented C bindings now.
4654 * cspi/spi.c: (New file)
4655 * cspi/spi_event.c: (New file)
4656 * cspi/spi_registry.c: (New file)
4657 * cspi/spi_accessible.c: (New file)
4658 * cspi/spi_application.c: (New file)
4659 * cspi/spi_component.c: (New file)
4660 Split spi_main.c into six parts, and included them from
4661 "spi.c". This is a bit of a hack, probably temporary,
4662 but required by gtk-doc, apparently.
4664 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4667 * docs/at-spi-docs.sgml:
4668 * docs/at-spi-sections.txt:
4670 Initial checkins/modifications for gtk-doc generation.
4673 Added (missing) interface query methods to Accessible's C binding.
4675 Added GenericInterface type definition.
4677 Added query for AccessibleComponent interface to focus event handler.
4678 Added printout of bounding box for focussed component.
4679 * libspi/component.c:
4680 Added partial implementation for AccessibleComponent to C binding.
4681 * idl/Application.idl:
4682 * libspi/registry.c:
4683 * libspi/listener.c:
4684 * libspi/application.c:
4685 * libspi/application.h:
4686 Changed "ID" attribute type from string to long.
4688 2001-08-19 Bill Haneman <bill.haneman@sun.com>
4692 Made method naming consistent: methods taking object args
4693 start with uppercase, other methods (except those using
4694 acronyms) start with lowercase. Underscores delimit between
4695 object names and method names:
4696 SPI_init() - uppercase since it starts with an acronym.
4697 getDesktopCount () - lowercase start since no object param0.
4698 Accessible_getName() - uppercase object type name, studlyCaps method
4702 Added gtk-doc documentation for all currently implemented
4703 methods in the C bindings API.
4705 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4707 * Makefile.am : changed build order to build test last.
4710 Changed "createEventListener" to "CreateEventListener".
4711 * libspi/accessibleeventlistener.c :
4712 Bugfix for addition of callbacks.
4713 * test/Makefile.am :
4714 * test/simple-at.c :
4715 Added new test that uses the C bindings API.
4717 * libspi/listener.c :
4718 * libspi/registry.c :
4719 * libspi/accessibleeventlistener.c :
4720 * at-bridge/bridge.c :
4721 Renamed member "target" of Accessibility_Event to "source",
4722 which is more descriptive.
4725 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4729 * cspi/Makefile.am :
4730 Added makefile support for at-spi/cspi directory.
4733 * cspi/spi-listener.h : (NEW FILE)
4734 Added support for/use of spi-listener.h.
4736 C bindings now build successfully, with no warnings.
4737 * libspi/accessibleeventlistener.h : (NEW FILE)
4738 * libspi/accessibleeventlistener.c : (NEW FILE)
4739 * libspi/Makefile.am :
4740 Added new object type "AccessibleEventListener"
4741 which inherits from Listener, and allows attachment
4742 of in-process callbacks (so that a client with a listening
4743 object instance can add functionality to the local
4744 implementation, dynamically).
4746 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4748 * libspi/accessible.c:
4749 Add implementation for get_index_in_parent().
4751 Added #include of "spi-roletypes.h", and
4752 added enumerated type AccessibleCoordType.
4753 Added definition for KeystrokeListener (function type).
4756 * cspi/spi-statetypes.h :
4757 * cspi/spi-roletypes.h :
4759 Added these headers, used by spi.h.
4761 Added code (NOTE: not yet built by make).
4763 2001-08-18 Mark McLoughlin <mark@skynet.ie>
4765 * libspi/Makefile.am: generate imodule
4766 at the same time as other idl compiler
4769 2001-08-17 Bill Haneman <bill.haneman@sun.com>
4770 * libspi/registry.c :
4771 * libspi/application.c :
4772 * idl/Application.idl :
4773 Made registration with toolkit an application method,
4774 which is required since each app has its own toolkit static
4775 environment. Thus the bridge must register for
4776 notification of toolkit events from each application in turn.
4777 Toolkit notifications are now successfully registered for, and
4778 sent to the listening at client.
4780 Changed toolkit event string to use hyphens rather than underscores.
4781 * libspi/listener.c :
4782 listner now gives more info in debug mode - it reports the
4783 name of the event received, as well as the name of the source.
4786 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4788 * libspi/registry.c :
4789 added more implementation for toolkit events.
4790 Fixed bug such that toolkit event registrations
4791 (via atk) use the whole event name string, not
4793 Removed a useless call to an ORBit_ method.
4794 * at-bridge/bridge.c :
4795 Removed unused local sbuf[] variable.
4797 We now register for Gtk:GtkWidget:button_press_event
4798 events as well as "focus:" events.
4800 Add some more API from Registry.idl that was missing,
4801 for keystroke listening, keystroke and mouse event
4802 synthesis, and enumeration of accessible desktops.
4804 2001-08-16 Michael Meeks <michael@ximian.com>
4806 * configure.in: use AM_GLIB_GNU_GETTEXT.
4808 * Makefile.am (SUBDIRS): kill intl.
4810 2001-08-15 Michael Meeks <michael@ximian.com>
4812 * registryd/Makefile.am: s/oaf/server/ relocate info file.
4814 * configure.in: upd.
4816 * configure.in: depend on a recent bonobo-activation that
4817 will find our server files ...
4819 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4821 * libspi/accessible.c : accessible_new() :
4822 Now we add the Component interface via bonobo_object_add_interface,
4823 if the contained AtkObject implements AtkComponent.
4824 * libspi/accessible.h : now include "component.h"
4825 * libspi/component.h :
4826 * libspi/component.c : added files - implementation of
4827 bonobo wrapper object for Accessibility/Component
4828 * libspi/listener.c :
4829 Added test code to check for Accessibility/Component:1.0
4830 interface and report whether it is implemented by the
4832 * libspi/registry.c :
4833 Now we check for not only the hash of the whole event
4834 string before relaying the event, we also check the
4835 "minor" event string (without the detail string).
4836 This allows event listeners to be registered against
4837 all events of a certain major+minor type, or just
4838 against a specific major+minor+detail type.
4839 * libspi/accessible.c :
4840 Added implementations for Accessible:get_parent(),
4841 Accessible:getChildCount(), and Accessible:getChildAtIndex().
4842 * libspi/registry.c :
4843 * libspi/listener.c :
4844 Replaced calls to Accessibility_Accessible_ref() and
4845 Accessibility_Accessible_unref() with
4846 calls to bonobo_object_dup_ref() and
4847 bonobo_object_release_unref(), so that the CORBA object
4848 is dup-ed and released when relayed, as well as the bonobo object.
4850 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4852 * libspi/Makefile.am,
4853 registryd/Makefile.am,
4854 at-bridge/Makefile.am.
4855 test/Makefile.am, configure.in:
4856 reverse previous changes.
4858 * /idl/Image.idl: fix typo.
4860 * test/Makefile.am: put DEBUG_FLAGS
4863 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4865 * test/app.c: use argv[0] instead of
4868 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4870 * libspi/Makefile.am,
4871 registryd/Makefile.am,
4872 at-bridge/Makefile.am.
4873 test/Makefile.am, configure.in:
4874 cleanup, replace individual LIBS/CFLAGS with
4875 AT_COMMON_{LIBS|CFLAGS}.
4879 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4881 * configure.in, libspi/Makefile.am:
4882 Change IDL path checking for bonobo-activation
4885 2001-08-15 Bill Haneman <bill.haneman@sun.com>
4887 * registryd/registry.c : separated event listeners to use
4888 3 separate lists (focus, window, toolkit). Began testing
4889 event names against hashes before relaying events.
4890 * test/at.c : now register for events of type "focus:"
4891 * test/app.c : now generate events of type "focus:"
4892 * at-bridge/bridge.c : register with ATK for focus events,
4893 and we now relay those focus events to any "focus:" listeners.
4894 This now works with the bridge as a GTK_MODULE when running test/at.
4895 * libspi/registry.c :
4896 * libspi/listener.c :
4897 now we ref event sources before propagating, and unref on receipt.
4898 * libspi/registry.c :
4899 some changes to internal structs, to support event typestring hashes.
4900 * text/app.c : changed the way the appname is generated.
4901 * cspi : added directory that will hold the C bindings library for
4902 non-CORBA/bonobo-savvy clients.
4903 * cspi/spi.h : header file that contains the function prototypes for the C binding.
4904 * idl/Component.idl : added in parameter to indicate coord system for
4905 geometry-related calls.
4906 * idl/Hyperlink.idl : added readonly n_links attribute
4907 * idl/Image.idl : changed methods to attributes.
4909 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4911 * at-bridge/Makefile.am: link against
4912 ../libspi/libspi.la instead of -lspi.
4914 * at-spi/test/app.c: include
4915 bonobo-activation.h. Use a default appname
4916 if one is not provided.
4918 2001-08-14 Bill Haneman <bill.haneman@sun.com>
4920 * idl/Registry.idl : temporarily changed register_Application
4921 to oneway, to work around issue with initial registration
4923 * idl/Application.idl : changed attribute "id" from readonly
4924 to read-write, since it needs to be assigned by Registry.
4925 * registryd/registryd.c : added call to set application id
4927 * registryd/registry.c : changed de-registration procedure to
4928 use CORBA_Object_hash() to find matching object ref in application
4929 lists and listener lists.
4930 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
4931 began distinguishing between event types (work in progress).
4933 2001-08-13 Bill Haneman <bill.haneman@sun.com>
4936 * libspi/application.c:
4937 Added implementations for get/set id, get_toolkitName,
4939 * registryd/registryd.c :
4943 Converted from use of OAF to bonobo-activation.
4944 * libspi/desktop.h :
4945 * libspi/desktop.c :
4947 Removed references to atksimpleobject, since base atkobject
4948 implementation now provides functionality we need.
4949 * libspi/atksimpleobject.c :
4950 * libspi/atksimpleobject.h :
4955 * at-bridge/Makefile.am
4956 * at-bridge/bridge.c
4959 Added directory "bridge" and contents, and added dependencies
4960 in Makefile.am/configure.in.
4961 Initial checkin of "at-bridge".
4962 This code is a GTK_MODULE which automatically registers
4963 GTK+ apps with the accessibility registry, using an object
4964 reference to the root ATK object.
4966 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4968 * po/Makefile.in.in: Remove. Again. If this
4969 doesn't get autogenerated - you need to update
4972 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4974 * po/Makefile.in.in: Add. Again.
4976 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4978 * libspi/accessible.c : added support for 'description' property.
4979 * libspi/accessible.c
4981 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4982 (since the two are now equivalent in libbonobo)
4990 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4991 Bonobo::Unknown as does Accessibility::Accessible.
4992 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4993 interface with Bonobo::Stream, since it was redundant with it.
4994 (The Stream returned by a StreamableContext object is expected to
4995 implement only a subset of Bonobo::Stream)
4997 2001-07-28 Anders Carlsson <andersca@gnome.org>
4999 * libspi/accessible.c (accessible_object_finalize): Change
5000 g_free to g_object_unref since the AtkObject is a GObject.
5002 2001-07-30 Bill Haneman <bill.haneman@sun.com>
5004 * idl/Accessibility.idl: add new IDL files
5007 * idl/Action.idl: Definitions of actionable UI object
5008 * idl/Component.idl: Definitions of UI component geometry, etc.
5009 * idl/Hyperlink.idl: Defs of hyperlink behavior
5010 * idl/Image.idl: Def of accessible image
5011 * idl/Selection.idl: Definition of UI object with selectable children
5012 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
5013 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
5014 * idl/Text.idl: Interface defs for UI elements with complex textual content
5015 * idl/Value.idl: Definition of UI element that is a value controller or display
5017 2001-07-27 Michael Meeks <michael@ximian.com>
5019 * po/Makefile.in.in: remove autogenerated file from CVS.
5021 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
5024 * idl/Registry.idl: include guard.
5026 * idl/Accessibility.idl: Add, and include all the other IDL
5029 * idl/*.idl: remove mass of pragmas etc.
5031 2001-07-26 Michael Meeks <michael@ximian.com>
5033 * registryd/Makefile.am (registryd_SOURCES): remove
5036 2001-07-27 Mark McLoughlin <mark@skynet.ie>
5038 * libspi/.cvsignore, registryd/.cvsignore,
5039 test/.cvsignore: updated.
5041 * po/Makefile.in.in: gettext update.
5043 2001-07-25 Bill Haneman <bill.haneman@sun.com>
5045 * initial CVS checkin
5047 2001-06-29 Michael Meeks <michael@ximian.com>
5049 * configure.in: add AM_CONFIG_HEADER to gen config.h