1 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
3 * configure.in: Update required versions of ATK, GTK+ and GAIL
5 * cspi-1.0.pc.in: Add dependency for X include files
8 * cspi/bonobo/Makefile.am:
9 Add $(X_CFLAGS) so that X include files
10 are picked up even if not in standard place (bug #71686)
12 2002-06-25 Bill Haneman <bill.haneman@sun.com>
14 * registryd/deviceeventcontroller.c: fix for 84261
15 (spi_dec_mouse_moved):
16 Added test of mouse button mask, so that we can detect mouse
17 button release. Unfortunately we can't otherwise detect mouse
18 button release events without consuming the mouse press event,
19 because of the way XGrabButton works. This means that our mouse
20 release events have a latency dependent on the polling period
21 while the mouse button is down. At least in this case we only
22 have to poll while the button is down, and not at other times.
23 If the button masks don't match with what the last press event
24 reported, we report the appropriate button release event.
25 (spi_dec_ungrab_mouse):
26 New method (not yet called).
27 (spi_device_event_controller_forward_mouse_event):
28 New method, sends mouse press event from GdkFilter.
29 (spi_dec_init_mouse_listener):
30 Added code to call XGrabButton, redirecting mouse button events to
31 the root window and our Gdk event loop.
33 Added code to filter mouse button events, and reordered.
35 * test/event-listener-test.c:
37 Added registration for mouse events of type "mouse:button".
39 2002-06-25 Bill Haneman <bill.haneman@sun.com>
41 * registryd/deviceeventcontroller.c: partial fix for 84261
42 (spi_dec_poll_mouse_idle):
43 New method, a timeout which checks to see if the mouse
45 (spi_dec_poll_mouse_moving):
46 A timeout to be called when mouse motion is underway.
47 (spi_dec_poll_mouse_moved):
48 A method which fires an event if the mouse has moved, and reports
49 whether or not it did so.
50 (spi_dec_init_mouse_listener):
51 A method which sets up the timeouts above.
52 (spi_device_event_controller_new):
53 Now calls spi_dec_init_mouse_listener.
55 * registryd/registry.c:
57 Now we initialize the device event controller when the registry is
58 initialized, instead of waiting until a client has requested a key
59 event notification; this is because we need the event controller
60 for mouse events, but the mouse event registration API is a
61 "registry" call and doesn't explicitly call the
62 deviceeventcontroller.
63 We now report mouse motion events with a 100 ms idle latency and
64 a 20 ms granularity when motion is in progress.
66 * test/event-listener-test.c:
68 We now register the "detail listener" for events of type
69 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
70 delivered only for the first mouse event received, and thereafter
71 "mouse:abs" events are delivered.)
73 * cspi/spi_registry.c:
74 DOCS: Documented the above mouse event typestrings.
76 2002-06-21 Bill Haneman <bill.haneman@sun.com>
78 Happy Summer Solstice...
80 * registryd/deviceeventcontroller.c: [fix for bug 84100]
81 (spi_controller_notify_keylisteners):
82 Changes to remove a listener from the listener list, freeing its
83 open keygrabs, if a notification to that listener fails. This
84 means that although a dead listener can continue to hold a passive
85 keygrab, a maximum of one dispatch to such a listener can fail
86 before the listener is removed from the list, thus the keygrab
87 will be released on the next occurrence.
89 (spi_notify_keylisteners):
90 Renamed to spi_controller_notify_keylisteners, as the controller
91 instance must now be passed as an argument.
92 The copied 'notify' GList is now a list of DEControllerKeyListener
93 objects, since we need more than just the CORBA reference if a
94 notify fails and we need to deregister the listener.
95 (impl_notify_listeners_sync):
96 (impl_notify_listeners_async):
97 (spi_device_event_controller_forward_key_event):
98 Modify use of notify_keylisteners in accordance with above
100 (spi_deregister_controller_key_listener):
101 New method introduced by refactoring, from
102 impl_deregister_keystroke_listener.
103 (impl_deregister_keystroke_listener):
104 Call spi_deregister_controller_key_listener.
105 (spi_key_listener_clone):
106 New method to copy a key listner without doing a 'ref' on the
107 remote object instance; used to create a notifier list.
108 (spi_key_listener_data_free):
109 New method, frees data without unreffing the source.
111 (spi_key_listener_clone_free): new method.
112 (spi_key_listener_free):
113 refactored to call spi_key_listener_data_free.
115 2002-06-20 Bill Haneman <bill.haneman@sun.com>
117 * registryd/registry.c: [fix for bug 86048]
118 (notify_listeners_cb):
119 Clear CORBA system exceptions which occur when notifying
120 listeners, before returning to the source of the original event,
121 since the event source doesn't care if the relayed notify failed.
122 In other words, don't complain to the atk-bridge if the registry
123 could not notify all its listeners, that's no fault of the
124 application and thus should not appear to be an error from the
125 application's perspective.
127 * cspi/spi_main.c: [fix for bug 85980]
129 Replaced use of bonobo_object_dup_ref with call to the wrapper
130 method, csou_dup_ref (); this silences a compiler warning and
131 provided more portability.
133 Ping the registry before return, and restart if necessary.
135 * cspi/bonobo/cspi-bonobo.c:
139 Fixed this method to return an object reference, as it should have
142 * cspi/cspi-lowlevel.h:
143 Added internal definition for cspi_ping() and fixed
144 return type of cspi_dup_ref().
147 2002-06-19 Bill Haneman <bill.haneman@sun.com>
149 * atk-bridge/bridge.c: [fix for bug 85305]
150 (spi_atk_bridge_register_application):
151 New method where the initial application registry calls have been
152 moved; it allows an application to re-register in response to
153 certain error conditions (such as a registry restart, see below).
155 Moved some initialization code to the method
156 spi_atk_bridge_get_registry, below.
157 (spi_atk_bridge_get_registry):
158 New, private accessor function for the Accessibility_Registry
159 instance. If the registry has not been started before, or has
160 died (as detected by failure of a CORBA exception), it is
161 restarted before return, and spi_atk_bridge_register_application
162 is called again to register with the new bridge instance.
163 (spi_atk_emit_eventv):
164 Set registry_died on error; use spi_atk_bridge_get_registry () to
167 * registryd/registry.c:
168 (impl_accessibility_registry_register_global_event_listener):
169 Set listener's event_type_quark to etype.minor instead of
170 etype.major (fix for bug 84856).
172 * test/event-listener-test.c:
173 (report_detail_event):
174 Change the output string so that user/tester can tell that the
175 'detail listener' was called instead of the 'generic listener'.
177 2002-06-18 Bill Haneman <bill.haneman@sun.com>
179 Fixes for bugs 84900, 84908, 84897, 84898.
184 Revved version to 1.1.0
185 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
186 version is going to HEAD which will be used for gnome-2-0-1 and later.)
188 * idl/Accessibility_Registry.idl:
189 (EventListener::notifyEvent):
190 Removed 'oneway' directive after extensive consulation with
191 ORBit2 team and others. This means also that unref() of the event
192 source can and should be done synchronously after emission, rather
193 than remotely in the client, after servicing the notify call on
196 NOTE: This change speeds up listener performance considerably, but
197 introduces new latency on the application side. We may want to
198 add an event queue to the atk-bridge.
200 * atk-bridge/bridge.c:
201 (spi_atk_bridge_focus_tracker):
202 Do a local unref() on the event source after emission.
204 * registryd/registry.c:
205 (desktop_remove_application):
206 Do an unref() on the event source after emission.
207 (desktop_add_application):
208 Do an unref() on the event source after emission.
209 (notify_listeners_cb):
210 When relaying an event, don't automatically add the event source
211 to the local object cache, just CORBA_dup it instead. Likewise,
212 if this method reenters, release the ref rather than calling
214 (impl_registry_notify_event):
215 No longer call remote unref() on the event source after dispatch.
217 * libspi/eventlistener.c:
218 (impl_accessible_event_notify_event):
219 Removed remote unref ()
221 * cspi/bonobo/cspi-bonobo-listener.c:
223 We now call cspi_object_new() instead of cspi_object_add() on
224 receipt of an event; thus we only have an implicit object ref
225 while the cspi_event method is being executed. If we need to keep
226 a reference to the object, the listener must call ref() on the
227 object. Thus also we don't need to call cspi_object_unref() after
228 invoking the listener callbacks in this method.
232 New internal API for creating a new cspi object, without adding it
235 Now uses cspi_object_new() to create the cspi object instance.
237 Now checks to see if the object is in the internal object cache,
238 and adds it if necessary before incrementing its refcount (note
239 that new objects are added with a refcount of 1).
241 New method which gives some information on leaked object instances
242 if leak detection is turned on.
244 * test/event-listener-test.c:
246 New method, used for testing event delivery timing for special
247 events of type "object:test". It reports elapsed time and
248 events/sec every 500 events.
250 Added a new listener, 'test listener', to check timing of event
251 receipt as noted above.
253 Added some timing output here also, reports elapsed time every 100
256 * test/stress-test.c:
257 Emit events of type "object:test", for use with "event-listener-test".
259 * test/test-simple.c:
260 (global_listener_cb):
261 Call Accessible_ref() on the event source before calling
262 validate_accessible, since the validation process does pointer
263 comparisons on the event source, meaning that the event source
264 needs to be added to the local object cache first. Any use of
265 such pointer comparisons between Accessible objects requires that
266 the caller hold an explicit reference to those objects.
267 We also must therefore call Accessible_unref() when leaving this method.
269 2002-06-13 Bill Haneman <bill.haneman@sun.com>
271 * registryd/deviceeventcontroller.c:
272 (spi_controller_update_key_grabs):
273 Fix for #84735, subsequent keygrab listeners not informed of
274 registration failure.
277 (spi_base_construct):
278 Add an assertion on construct, to make sure the GObject passed in
281 Explicitly initialize object->gobj pointer to NULL;
283 * cspi/bonobo/cspi-bonobo-listener.c:
284 (cspi_object_add_ref):
285 New method, can specify whether to dup-ref a bonobo object passed
286 in if it's newly added to the object cache.
288 Now calls cspi_object_add_ref with second param of "FALSE". This
289 prevents us from doing a pointless dup-ref followed by
290 release-unref for all those cases where the object is already in
291 our object cache (fix for #85205).
293 * atk-bridge/bridge.c:
294 (spi_atk_bridge_idle_init):
295 Removed this method, we don't need to initialize in an idle
298 Changed to call spi_atk_register_event_listeners directly, not via an
299 idle handler. (fix for #81139)
300 (gnome_accessibility_module_shutdown):
301 Removed conditional around deregistration of listeners, since we
302 don't use the idle handler and thus have always registered when
304 (spi_init_keystroke_from_atk_key_event):
305 Changed references to Accessibility_KEY_PRESSED to
306 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
308 2002-06-12 Bill Haneman <bill.haneman@sun.com>
310 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
315 * test/stress-test.c:
318 (may have been an incomplete commit yesterday?)
320 2002-06-12 Bill Haneman <bill.haneman@sun.com>
323 Added target for new stress-test.
325 * test/stress-test.c:
326 New test, sends 1000 focus notifies in quick succession.
328 * test/key-listener-test.c:
329 Now we report whether a keylistener registration
330 request succeeded or failed.
332 * test/event-listener-test.c:
333 Uncommented some listeners which are now implemented.
336 2002-06-06 Bill Haneman <bill.haneman@sun.com>
338 * registryd/deviceeventcontroller.c:
339 (spi_controller_update_key_grabs):
340 Fix for #82509, lack of failure notification when
341 ALL_WINDOWS keygrabs fail due to XGrabKey
342 failure: we synchronize the server when
343 registering a passive grab, to make sure we get the
344 error message before the call returns.
346 2002-06-03 Bill Haneman <bill.haneman@sun.com>
348 * test/test-simple.c:
350 Removed #ifdef KEY_IMPL_WORKS guards.
352 Removed #ifdef KEY_IMPL_WORKS guards.
353 Fixed bug which was causing a hang waiting for a
354 "press" event (which was already overwritten by a "release"
355 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
357 Added code to set globals 'key_press_received' and
358 'key_release_received'.
361 Added section "1.1 API Proposed Additions" which
362 lists API additions desired for at-spi-1.1 (only one so far).
363 Updated TODO list a little.
365 2002-06-02 Bill Haneman <bill.haneman@sun.com>
367 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
370 * configure.in: Revved to 1.0.0.
372 * idl/Accessibility_Registry.idl:
373 (registerKeystrokeListener):
374 Added boolean return value.
376 * registryd/registry.c:
377 (notify_listeners_cb): Minor fix to debug output.
379 * registryd/Accessibility_Registry.server.in.in:
380 Revved version number in OAFIID to 1.0.
382 * registryd/registryd.c:
384 Use new OAFIID version.
386 * cspi/bonobo/cspi-bonobo.c:
388 Use new OAFIID version.
394 * atk-bridge/bridge.c:
396 Use new OAFIID version.
398 * registryd/deviceeventcontroller.c:
399 (impl_register_keystroke_listener):
400 Added CORBA_boolean return value.
401 (spi_controller_register_device_listener):
402 Added gboolean return value.
403 (spi_controller_register_global_keygrabs):
404 Added gboolean return value.
405 (spi_key_set_contains_key):
406 Added implementation for many more control keys,
407 for instance F1-F12, arrow keys, End, Home, Page_Up,
409 [TODO: some still not implemented].
411 * text/screen-review-test.c:
412 (text_chunk_pad_string):
413 New function: it provides mapping between coordinate
414 positions of text chunks and character positions in the
415 screen-review-line output string.
416 (text_chunk_to_string):
417 New function, calls text_chunk_pad_string with various
418 pad/delimiter characters. Pushbuttons are delimited with
419 square brackets, Frames with vertical 'pipe' lines, and
420 other text with double quotes.
421 (text_chunk_list_to_string):
422 Calls new function text_chunk_to_string.
423 (toplevel_composite):
424 New function to composite layers CANVAS through
425 POPUP in each toplevel (other layers are composited
426 across toplevels, i.e. BACKGROUND and OVERLAY).
427 (review_buffer_composite):
428 Revise to use new methods.
434 2002-05-31 Laszlo Peter <laca@sun.com>
436 * configure.in: add the Xtst libdir to the runpath on Solaris,
437 since it's not in the default library search path.
439 2002-05-29 jacob berkman <jacob@ximian.com>
441 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
443 2002-05-29 Bill Haneman <bill.haneman@sun.com>
445 * test/screen-review-test.c:
446 (text_chunk_pad_string):
447 Added method, which pads the string according to the
448 text bounds of the chunk. It also takes a 3-character
449 string as a param which indicates the characters to be
450 used for start, padding, and end delimitation of the chunk.
451 (text_chunk_to_string):
452 Changed to use text_chunk_pad_string.
454 * configure.in: Fixed bug in AC_OUTPUT that was
455 causing path substitution in Accessibility_Registry.server
458 2002-05-23 Bill Haneman <bill.haneman@sun.com>
460 * text/screen-review-test.c:
462 New method which attempts a best-guess at clipping
463 text from components (like Java labels) which don't
464 actually implement AccessibleText. This inaccurate
465 clip is based on the assumption that the label is
466 justified left-and-right, and monospaced.
467 (text_chunk_get_clipped_string):
468 We now call guess_string_clip() for text-containing
469 components that don't implement AccessibleText.
471 * test/screen-review-test.c:
472 (review_buffer_get_text_chunk):
473 We now pull "name" from labels if they do not implement
474 AccessibleText (i.e. for Java labels).
475 (get_screen_review_line_at):
476 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
479 Replaceded AC_OUTPUT target
480 registryd/Accessibility_Registry.server with
481 registryd/Accessibility_Registry.server.in.
483 * registryd/Accessibility_Registry.server.in:
484 Removed (this is now a Makefile target).
486 * registryd/Accessibility_Registry.server.in.in:
487 Added (source for target above). We now use $(libexecdir) as
488 prefix for the executable at-spi-registryd.
490 * registry/Makefile.am:
491 Now install at-spi-registryd into $(libexecdir), and build .server
492 file with path (see above).
494 2002-05-22 Bill Haneman <bill.haneman@sun.com>
496 * test/screen-review-test.c:
497 (text_chunk_get_clipped_string):
498 We now check to see if words fall within clip bounds
499 before resorting to character-by-character clip bounds testing.
501 * TODO: Added a section for "2.2 Proposed API Additions".
503 2002-05-21 Bill Haneman <bill.haneman@sun.com>
505 * test/screen-review-test.c:
507 Added a screen review benchmarking and test program to test
510 * cspi/spi_accessible.c:
512 Made some of the debug strings passed to cspi_check_ev a
513 little more specific.
515 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
517 * test/screen-review-test.c: Fix crashes in debug statements
519 2002-05-20 Bill Haneman <bill.haneman@sun.com>
521 * test/screen-review-test.c: Added this file.
523 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
525 * atk-bridge/bridge.c: changed "object:state-change" to
526 "object:state-changed" to match docs.
528 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
530 * atk-bridge/bridge.c: Hooked up state-change event details.
532 2002-05-11 Bill Haneman <bill.haneman@sun.com>
534 * registryd/registry.c:
535 Fixed quarking bug in event string parsing; now events with
536 detail parameters get matched correctly to listeners.
539 * util/idl/Magnifier.idl: remove.
541 * util/*.[ch]: Remove.
542 Magnification utilities and IDL are now in module gnome-mag.
544 2002-05-10 Bill Haneman <bill.haneman@sun.com>
546 * registryd/deviceeventcontroller.c:
547 Fixed bug in grab key conversion which was causing keycode grabs
548 to be converted to AnyKey grabs.
551 updated NEWS file to reflect recent spin-off of gnome-mag.
553 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
555 * cspi/spi_accessible.c: Added exception checks. Fixed completely
556 busted AccessibleStateSet_compare. Removed redundant casts.
558 * cspi/spi-action.c: Removed redundant casts.
560 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
562 * cspi/spi_component.c: Fixed typos and casting error.
564 * cspi/spi_editabletext.c: Removed redundant casts.
566 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
568 * cspi/spi_hypertext.c: Eliminated redundant casts.
570 * cspi/spi_image.c: Eliminated redundant casts.
572 * cspi/spi_registry.c: Eliminated redundant casts.
573 SPI_deregisterGlobalEventListenerAll () removed retval variable.
574 * cspi/spi_selection.c: Removed redundant casts.
575 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
576 handling. Screen geometry and text offsets were being returned as 0
577 on error which is technically valid-- changed these to return -1.
578 Added marshaller for text boundary types to fix bug with boundary
579 types being passed incorrectly to atk.
581 2002-05-09 Bill Haneman <bill.haneman@sun.com>
584 * cspi/spi_registry.c:
585 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
586 which was uncovered by the recent key changes.
588 2002-05-09 Bill Haneman <bill.haneman@sun.com>
590 * test/event-listener-test.c:
592 Added new test, "event-listener-test";
593 this code does two things; it benchmarks traversal time
594 for the accessible hierarchy for the first running accessible
595 app, and it connects listeners for all supported event types.
596 It is thus useful as an example event listener and for
597 diagnostics/debugging of event generation.
599 2002-05-08 Bill Haneman <bill.haneman@sun.com>
602 Removed unnecessary dependency on libutil.
605 Revved micro version: 0.13.1
607 2002-05-08 Bill Haneman <bill.haneman@sun.com>
610 Removed util/Makefile from targets.
613 Removed util subdir from SUBDIRS (temporarily,
614 pending removal of magnifier-only code
618 #ifdef-ed out magnifier dependencies, since
619 magnifier IDL, headers, and binary now live in
620 module gnome-mag and we don't want at-spi to depend
621 on gnome-mag. A magnifier demo which can run alongside
622 simple-at is forthcoming in the gnome-mag module.
624 NOTE: Split magnifier binary, IDL, and magnification
625 activation code from at-spi into module gnome-mag.
627 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
629 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
630 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
632 2002-05-03 Bill Haneman <bill.haneman@sun.com>
635 Revved to version 0.13.0
637 * idl/Accessibility_Registry.idl:
638 Changed definition of KeySet from sequence of longs to sequence of
639 KeyDefinitions, and added KeyDefinition struct.
640 Required for fix to bug 80616.
642 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
643 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
644 to use new definition (see above).
646 * registryd/deviceeventcontroller.c: handle_keygrab(),
647 spi_keyset_contains_key():
648 Changed to make use of new struct; this allows matching based on
649 string key-name, for instance "Tab". This also allows matching of
650 composed characters, non-alphanumeric characters in a way that
651 doesn't involve dependencies on X keysym codes directly, etc.
653 * test/key-listener-test.c:
654 Added test for Alt-Tab key using "string" specification of keyset,
655 and modified one of the tests to use a keycode-based keyset.
656 Thus this test both tests and demonstrates the creation and use of
657 keysets of three forms: specified via keycode array,
658 keysym array, and string array. (The string case only contains a
659 single string, i.e. a string array of length 1).
662 Turned on PRINT_TREE option by default. Also fixed a
663 string-freeing bug in the PRINT_TREE code.
664 Added a listener to window:minimize events.
666 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
668 * atk-bridge/bridge.c:
669 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
670 for window:activate and window:deactiveate
671 (atk_bridge_property_event_listener atk_bridge_signal_listener
672 atk_bridge_window_event_listener) Tidy debug code
674 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
676 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
677 Fixed handling for NULL return value from ATK.
679 * libspi/action.c libspi/component.c libspi/editabletext.
680 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
681 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
682 Removed redundant casts.
684 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
685 Fixed off by one bug.
687 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
688 function not present in idl)
690 2002-05-02 jacob berkman <jacob@ximian.com>
692 * atk-bridge/Makefile.am: make atk-bridge a real module
694 2002-04-26 Radek Doulik <rodo@ximian.com>
696 * libspi/stateset.c (spi_init_state_type_tables): fix size of
697 atk_state_types table
699 2002-04-22 jacob berkman <jacob@ximian.com>
702 * libspi/Makefile.am: add deps on the built files to help
703 automake, and don't version the ORBit typelib
705 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
707 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
708 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
709 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
710 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
711 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
712 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
713 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
714 libspi/accessible.h libspi/accessible.h libspi/base.h
715 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
716 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
717 libspi/relation.h libspi/remoteobject.h libspi/selection.h
718 libspi/spi-private.h libspi/statetset.h libspi/table.h
719 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
720 util/mag_client.h util/mag_control.c util/mag_image.c
721 util/mag_image.h util/magnifier.c util/magnifier.h:
722 Add missing file headers; standardize existing ones
724 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
726 * atk-bridge/bridge.c: Added window event support.
728 2002-04-18 Michael Meeks <michael@ximian.com>
730 * libspi/relation.c (impl_getNTargets): impl.
731 (impl_getTarget): impl.
733 * libspi/Makefile.am: fix stateset install.
735 2002-04-17 Bill Haneman <bill.haneman@sun.com>
738 Started putting useful info in this file.
740 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
742 * atk-bridge/bridge.c:
743 Propagate state-changed notifications to ATs
745 * cspi/spi_registry.c: update docs to reflect actual behavior of
748 2002-04-17 Bill Haneman <bill.haneman@sun.com>
751 Incremented version to 0.12.1
754 Add missing declaration for magnifier_exit,
755 used by mag_control.c - Forte compiler didn't like
756 the implicit redeclaration of the function :-(
759 2002-04-16 Bill Haneman <bill.haneman@sun.com>
762 Revved version to 0.12 due to API change (see below).
764 * cspi/spi-roletypes.h:
765 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
766 definition from the inline docs, and added docs
767 for SPI_ROLE_LAST_DEFINED.
770 * cspi/spi_streamablecontent.c:
771 Added missing seek_type parameter to
772 (so far unused) method,
773 AccessibleStreamableContent_seek().
774 [ RT approval JodyG. ]
777 Fixed docs for SPI_createAccessibleKeystrokeListener.
779 * cspi/spi_registry.c:
780 Fixed docs for SPI_KEYSET_ALL_KEYS.
782 * docs/reference/cspi/at-spi-cspi-sections.txt:
783 Added a number of missing APIs to SECTIONS.
785 2002-04-16 Bill Haneman <bill.haneman@sun.com>
787 * registryd/Makefile.am:
789 * cspi/bonobo/Makefile.am:
790 Add $(X_LIBS) to makefiles.
792 2002-04-15 Bill Haneman <bill.haneman@sun.com>
795 Revved version to 0.11.
797 * libspi/component.c:
798 Added implementation for grabFocus.
800 * idl/Accessibility_Component.idl
801 (Accessibility_Component_grabFocus):
802 Made this method return boolean to indicate success or failure, to
803 be consistent with cspi and the corresponding ATK method.
805 * idl/Accessibility_Selection.idl
806 (Accessibility_Selection_selectAll) :
807 Made these methods return boolean to indicate success or
808 failure, to be consistent with cspi and the corresponding ATK methods.
810 * idl/Accessibility_EditableText.idl
811 (Accessibility_EditableText_setTextContents,
812 Accessibility_EditableText_insertText,
813 Accessibility_EditableText_cutText,
814 Accessibility_EditableText_deleteText,
815 Accessibility_EditableText_pasteText):
816 Made these methods return boolean to indicate
819 * cspi/spi_editabletext.c:
820 Made these methods return booleans.
822 * libspi/selection.c:
823 * libspi/component.c:
824 * libspi/editabletext.c:
825 Connected the boolean returns from ATK
826 to the server-side code referenced above.
828 2002-04-14 Bill Haneman <bill.haneman@sun.com>
830 * idl/Accessibility_Table.idl: Added missing methods,
831 Accessibility_Table_addRowSelection,
832 Accessibility_Table_addColumnSelection,
833 Accessibility_Table_removeRowSelection,
834 Accessibility_Table_removeColumnSelection.
837 Added C wrappers for above IDL:
838 AccessibleTable_addRowSelection,
839 AccessibleTable_addColumnSelection,
840 AccessibleTable_removeRowSelection,
841 AccessibleTable_removeColumnSelection.
844 Added server-side implementation code for IDL above, connecting
845 to pre-existing ATK api.
847 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
849 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
851 * libspi/accessible.c: Added implementation fo
852 Accessibility_Accessible_get_state.
854 * libspi/libspi.h: Added stateset.h to the list of includes.
856 * libspi/stateset.c: Fixed broken implementation.
858 2002-04-13 Bill Haneman <bill.haneman@sun.com>
861 Added implementation code for Accessibility_Magnifier_exit ().
863 * util/mag_control.c:
864 Added test code for above method; you can
865 now kill an existing magnifier via
866 ./mag_control q, from the util directory.
868 * test/key-listener-test.c:
870 Added a new test, for our key listener API.
872 2002-04-11 Bill Haneman <bill.haneman@sun.com>
874 * test/app.c, test/keysynth-demo.c:
876 Replace use of snprintf with g_snprintf.
877 (fix for bugzilla 78249)
879 2002-03-27 Michael Meeks <michael@ximian.com>
883 * util/Makefile.am (INCLUDES): fix.
884 (DONT_DIST_SOURCE): don't distribute the
887 * libspi/Makefile.am (dist-hook): ditto.
889 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
891 * libspi/hypertext.c:
892 Fix warnings when yelp is used with atk-bridge
894 2002-03-21 Michael Meeks <michael@ximian.com>
896 * libspi/application.c (spi_application_new):
897 use spi_accessible_construct so we use the AtkObject
900 2002-03-19 Michael Meeks <michael@ximian.com>
902 * registryd/registry.c (desktop_remove_application),
903 (desktop_add_application): clean coding style.
905 * registryd/desktop.c (spi_desktop_remove_application),
906 (spi_desktop_add_application): kill re-enterency hazards.
907 (spi_desktop_dispose): remove bogus redundant cast
908 obscuring bug; fix bug too.
909 (spi_desktop_init): make the desktop object immortal.
911 2002-03-16 Bill Haneman <bill.haneman@sun.com>
914 Added a #define-guarded tree-traversal step
915 when enumerating the apps (diagnostic tool).
917 2002-03-15 Bill Haneman <bill.haneman@sun.com>
919 * idl/Accessibility_Role.idl:
920 Added ROLE_DRAWING_AREA which seemed to be missing from the
923 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
925 * cspi/spi-roletypes.h cspi/spi_accessible.c
926 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
929 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
930 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
931 AT when applications are added and removed from the desktop. This
932 reverts the previous broken implementation using the backing
933 AtkObject for the SpiDesktop.
935 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
937 * registryd/desktop.c: emit the "children-changed::add" and
938 "children-changed::remove" signals on the backing ATK object for
939 the desktop so AT can tell when applications are started and shut
942 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
944 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
946 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
948 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
950 * cspi/spi_accessible.c: Implemented c bindings for stateset support
952 * cspi/state-types.h: synched with IDL and ATK
954 2002-03-13 Bill Haneman <bill.haneman@sun.com>
956 * libspi/accessible.c
957 (impl_accessibility_accessible_get_child_at_index):
958 Change return value for g_return_if_fail ()
959 to CORBA_OBJECT_NIL instead of "0" (!)
961 * registryd/Makefile.am:
962 * registryd/Accessibility_Register.server.in:
963 Changed name of executable, "registryd",
964 to something more informative:
967 2002-03-13 Michael Meeks <michael@ximian.com>
969 * atk-bridge/bridge.c (atk_bridge_init): don't register
970 if we're in a bonobo-component, rather than a bonobo app.
972 2002-03-13 Michael Meeks <michael@ximian.com>
974 * atk-bridge/bridge.c (gtk_module_init): split
975 out body to (atk_bridge_init): here, since otherwise
976 we get symbol conflicts and oddness when invoked
977 from (gnome_accessibility_module_init): here (upd.)
979 2002-03-11 Bill Haneman <bill.haneman@sun.com>
982 New file. Explicitly allow "build sheriff" putbacks provided
983 they are tested on Solaris.
985 * docs/reference/cspi/Makefile.am:
986 Added '-' to the "cp" command for index.sgml.
987 ("patch by thomasvs, soon coming to a GUADEC near you")
990 Incremented version number (0.9.0) for new release.
991 Changed macro that checks for popt, to better detect
992 obsolete versions of popt.
995 Added X_LIBS to AC_SUBST, for applications
996 that call Xlib API directly.
999 2002-03-07 Bill Haneman <bill.haneman@sun.com>
1002 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
1005 Fix regression caused by hard-coding major
1006 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
1009 * test/test-simple.c (test_editable_text),
1010 (test_test): revert previous change (error was
1011 a regression in gail which is now fixed).
1013 2002-03-04 Michael Meeks <michael@ximian.com>
1015 * test/test-simple.c (test_editable_text),
1016 (test_text): pass G_MAXINT instead of '-1' for
1017 whole string - is this a good thing !?
1019 * cspi/spi_accessible.c
1020 (Accessible_getRelationSet): fix crasher bug
1021 overwriting the end of the array.
1023 * test/test-simple.c (validate_accessible): free,
1024 not g_free returned relation set.
1026 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
1028 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
1029 implemented stateset support
1031 * idl/Accessibility_State.idl: Made necessary changes to
1032 the IDL to support state sets.
1034 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1036 * registryd/deviceeventcontroller.c:
1037 Added implementation for generateMouseEvent.
1039 * cspi/spi_registry.c:
1040 Connected new implementation for generateMouseEvent
1043 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1046 Incremented revision (but no change in public API
1047 outside of 'utils', which are not installed public yet.)
1049 * libspi/component.c:
1050 Changed to use atk_component API for layers and
1051 mdi_zorder, instead of deprecated atk_object API.
1053 Magnification Utility Enhancements:
1056 Added implementation of createZoomRegion, clearAllZoomRegions,
1057 resizeZoomRegion. Added new commandline argument
1058 "--no-initial-region". Note that clearAllZoomRegions doesn't
1059 unmap the old '0' region as it should (yet), and the other
1060 methods only work when creating/resizing a single region,
1061 which is "region 0".
1062 (Code for multiple region support will be added later.)
1065 Now we raise the magnifier window each time it's refreshed;
1066 this will help keep it on top.
1068 * util/mag_client.h:
1069 Added simple wrappers for above, used by mag_control.
1070 For general use, it's recommended to use the bonobo magnifier
1071 control API directly instead of using these wrappers.
1074 Moved ZoomRegionData from magnifier.c to this file.
1076 * util/mag_control.c:
1077 Added some code to exercise new IDL implementations.
1079 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
1081 * libspi/text.c: Provide implementation for getAttributes.
1083 2002-02-04 Bill Haneman <bill.haneman@sun.com>
1086 Incremented revision.
1088 * test/test-simple.c:
1089 Replaced use of deprecated g_main_iteration with
1090 g_main_context_iteration.
1092 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
1095 Incremented revision for desktop alpha 2.
1097 2002-01-28 Mark McLoughlin <mark@skynet.ie>
1099 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
1102 * test/simple-at.c: include netinet/in.h.
1104 2002-01-24 Mark McLoughlin <mark@skynet.ie>
1106 * cspi/spi_accessible.c: (Accessible_getRelationSet):
1107 use NULL, not CORBA_OBJECT_NIL.
1109 * libspi/accessible.c:
1110 (impl_accessibility_accessible_get_relation_set):
1111 allocate the sequence correctly.
1113 * libspi/remoteobject.h: kill spi_remote_object_new.
1115 * test/test-simple.c: (validate_accessible): add code
1116 to test relation sets, now all we need is to figure
1117 out how to excercise this code path :/
1119 2002-01-18 Michael Meeks <michael@ximian.com>
1121 * test/test-simple.c
1122 (key_listener_cb): consume the key.
1123 (test_keylisteners): update.
1124 (main): wait for any pending unrefs on events.
1126 * registryd/deviceeventcontroller.c
1127 (spi_controller_update_key_grabs): only re-issue the
1128 grab on a key release.
1129 (spi_device_event_controller_forward_key_event):
1130 refresh the keygrabs before we notify the listeners,
1131 to reduce the X ungrab / re-grab race.
1132 (spi_controller_register_with_devices): remove
1133 XSelectInput - we do that with the gdk_window_ call.
1134 (_spi_controller_device_error_handler): return a value.
1135 s/GDK_DISPLAY/spi_get_display/
1137 2002-01-17 Michael Meeks <michael@ximian.com>
1139 * registryd/deviceeventcontroller.c
1140 (_deregister_keygrab): don't blow out the later
1143 * test/test-simple.c (test_keylisteners): do a
1144 more intelligent validation.
1146 2002-01-14 Michael Meeks <michael@ximian.com>
1148 * atk-bridge/bridge.c
1149 (gnome_accessibility_module_init),
1150 (gnome_accessibility_module_shutdown): impl.
1151 (gtk_module_init): protect vs. double inits.
1152 (add_signal_listener): impl.
1153 (spi_atk_bridge_state_event_listener): kill
1154 (deregister_application): split out of
1155 (spi_atk_bridge_exit_func): here.
1157 2002-01-18 Bill Haneman <bill.haneman@sun.com>
1160 Added caret tracking when using magnifier, and
1161 now use text bounds for focus tracking of text elements, rather than
1162 the component bounds - this is helpful for short text fields in long
1163 table cells, at high magnification.
1165 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1167 * registryd/deviceeventcontroller.c:
1168 Regression fix for keylistener de-registration; global keygrabs
1169 were not being released when deregisterKeystrokeListener was
1170 called in cspi, since
1171 Accessibility_DeviceEventController_deregisterKeystrokeListener
1172 was called with a zero-length keyset. That is because the cspi
1173 method, SPI_deregisterKeystrokeListener, does not take a keyset
1174 parameter but instead should remove all the key grabs held be a
1176 The code in impl_deregister_keystroke_listener was changed to copy
1177 the keylist from the listener instance previously registered with
1178 the DeviceEventController before releasing the grabs.
1180 * registryd/registry.c:
1181 * registryd/deviceeventcontroller.c:
1182 * libspi/spi-private.h:
1184 Changed spelling of "re-enterant" to "re-entrant" globally.
1186 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1188 * test/test-simple.c:
1189 Changed key listeners test - the test was slightly mis-using the
1190 (admittedly poorly documented) SPI_generateKeyboardEvent API.
1191 It now uses '=' as the key event listened to and generated,
1192 relying on a keysym match rather than assuming that keycode 33
1193 is always equal to keysym '!'.
1195 2002-01-15 Bill Haneman <bill.haneman@sun.com>
1198 Changed simple-at to use a specific keyset, rather than
1199 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
1200 manager, desktop, etc.
1202 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1204 * registryd/deviceeventcontroller.c:
1205 Replaced standard X error handler with a special handler that
1206 is non-fatal for failed keygrabs. This works around
1207 problems with keygrab clashes sometimes observed on
1209 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
1210 mouse handling code as yet).
1212 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1215 Incremented revision for desktop alpha release.
1218 Fixed a couple of the more glaring errors (still not
1221 2002-01-11 Michael Meeks <michael@ximian.com>
1223 * registryd/deviceeventcontroller.c
1224 (spi_device_event_controller_forward_key_event): kill
1225 XUngrabKey / XKeyGrab race.
1226 (spi_controller_grab_keyboard): rename to
1227 (spi_controller_update_key_grabs): this, and deal
1228 with incremental adding / removing grabs more
1230 (_register_keygrab): ensure we're not pending a remove.
1231 (spi_grab_mask_free): impl.
1232 (spi_controller_register_global_keygrabs): split out
1234 (handle_keygrab): impl.
1235 (_deregister_keygrab): impl.
1236 (spi_controller_deregister_global_keygrabs): impl.
1237 (spi_controller_update_key_grabs): re-issue the grab if
1238 we just recieved a notification.
1240 * test/test-simple.c (key_listener_cb): remove debug.
1242 * registryd/deviceeventcontroller.c
1243 (spi_controller_register_device_listener): after
1244 registering a global keygrab, actualy register it !
1245 don't wait for a timeout; doh !
1247 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
1248 to make it more readable / manipulable.
1249 s/grabmask/grab_mask/ s/refcount/ref_count/
1250 s/keyval/key_val/ s/modmask/mod_mask
1252 2002-01-08 Michael Meeks <michael@ximian.com>
1254 * registryd/deviceeventcontroller.c
1255 (spi_controller_register_with_devices): use gdk calls to
1257 (global_filter_fn): implement the filter.
1258 (spi_device_event_controller_check_key_event): rename to
1259 (spi_device_event_controller_forward_key_event): this & upd.
1260 (spi_get_display): replace with GDK_DISPLAY.
1262 * registryd/deviceeventcontroller.c
1263 (spi_controller_deregister_device_listener): unroll into
1264 (impl_deregister_keystroke_listener): here to simplify.
1265 (spi_controller_register_global_keygrabs): split cut and
1266 paste (!) out into (_register_keygrab): here, shorter & sweeter.
1267 (spi_controller_deregister_device_listener): remove.
1268 (impl_register_mouse_listener): remove, no mouse listener
1269 support in at-spi-1.0
1271 * registryd/registry.c
1272 (_device_event_controller_hook): kill.
1273 (spi_registry_init): upd.
1275 * registryd/deviceeventcontroller.c
1276 (spi_device_event_controller_class_init): upd.
1277 (spi_check_key_event): merge into.
1278 (spi_device_event_controller_check_key_event):
1279 here and kill strange static ev init, don't leak
1280 the x_event - nor dynamicaly allocate it.
1282 * registryd/registry-main.c (main): re-direct
1283 timeout to remove strange vtable mess.
1285 * registryd/deviceeventcontroller.c
1286 (remove_listener_cb): impl.
1287 (spi_controller_deregister_device_listener):
1288 fix re-enterancy hazard.
1290 2002-01-07 Michael Meeks <michael@ximian.com>
1292 * registryd/deviceeventcontroller.c
1293 (spi_device_event_controller_new): upd.
1294 (impl_notify_listeners_sync): upd. debug.
1295 (spi_notify_keylisteners): fix re-enterancy hazards,
1296 prettify, remove O(n*n) iteration.
1297 (spi_controller_grab_keyboard): fix iteration.
1298 (spi_check_key_event): re-format to suit coding style.
1299 Clean all the warnings - we're warning free.
1301 * registryd/deviceeventcontroller.h:
1302 * registryd/registry.h: make mutualy referential with
1303 typesafe forward references instead of (!) void pointer
1306 2002-01-11 Michael Meeks <michael@ximian.com>
1308 * cspi/spi_accessible.c (role_names): add a role name
1309 to sync this array with the enum; and make the regression
1312 2002-01-10 Michael Meeks <michael@ximian.com>
1314 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
1315 allow expansion of enumeration & kill warning.
1317 * test/test-simple.c (key_listener_cb): impl.
1318 (test_keylisteners): impl.
1320 * cspi/spi-listener.h: make listener signatures const
1321 on the provided (const) events.
1323 * test/keysynth-demo.c: upd. to const events.
1325 * test/simple-at.c: ditto.
1327 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1330 Rev the version to 0.5 (the previous tarball was named 0.4,
1331 even though the micro number was 3), so we need to rev upwards
1332 again for beta2/"desktop-alpha"
1335 Checked in a demo script, which requires editing before use!
1336 Proceed with caution.
1339 Fixed typo in header which was redefining SPI_ACTION_CLASS.
1341 * cspi/spi_accessible.c:
1342 Add a couple of missing enum initializations, and fix some enum
1345 * cspi/spi_registry.c:
1346 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
1348 * docs/reference/cspi/at-spi-cspi-sections.txt:
1349 Remove/fix a couple of broken document references.
1352 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
1353 as Alt-Control to listen for commands, since on some systems
1354 Control-Alt may already be grabbed.
1356 2002-01-10 Bill Haneman <bill.haneman@sun.com>
1359 Update version number to 0.4 for Beta2.
1361 * libspi/accessible.c, libspi/accessible.h:
1362 Expose spi_accessible_construct, to enable libgail-gnome
1363 construction from spi_accessible subtype.
1365 * utils/magnifier.c:
1366 Workaround for bug in some non-gnome-compliant window managers
1367 which made magnifier resize improperly.
1369 2002-01-09 Bill Haneman <bill.haneman@sun.com>
1371 * libspi/accessible.c: (spi_accessible_new) :
1372 Move the test for SPI_IS_REMOTE_OBJECT to
1373 spi_accessible_new_return, fixing a bug and compile time warning.
1375 2002-01-08 Michael Meeks <michael@ximian.com>
1377 * registryd/registry.c (parse_event_type): remove strndup.
1379 * libspi/Makefile.am (libspi_la_SOURCES): remove
1380 sources already included in the headers section.
1382 * libspi/util.c: add.
1384 * libspi/spi-private.h: add.
1386 * registryd/registry.c: update to moved list iterators.
1388 2002-01-05 Michael Meeks <michael@ximian.com>
1390 * test/simple-at.c (main): upd. auto-module set to atk-bridge
1392 * test/test-simple.c (main): ditto.
1394 2002-01-04 Michael Meeks <michael@ximian.com>
1396 * libspi/accessible.c (spi_accessible_new): remove 2nd,
1397 redundant construct.
1399 * registryd/registry.c
1400 (get_listener_list): impl.
1401 (impl_accessibility_registry_register_global_event_listener):
1402 re-impl. to simplify using ~, remove dodgy const cast off.
1403 (parse_event_type): constify.
1404 (impl_accessibility_registry_deregister_global_event_listener_all):
1405 re-write, more efficiency and simplicity, kill re-enterancy
1407 (compare_listener_corbaref, compare_corba_objects),
1408 (compare_listener_quarks): define out.
1409 (impl_accessibility_registry_deregister_global_event_listener):
1410 re-write for effiency, and nail re-enterancy hazard.
1411 (impl_accessibility_registry_get_desktop_list): impl.
1412 (re_enterant_list_delete_link): impl.
1413 (re_enterant_list_foreach): impl.
1414 (remove_listener_cb): impl.
1415 (_registry_notify_listeners): kill.
1416 (notify_listeners_cb): impl.
1418 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
1419 (SPI_getDesktopList): impl.
1421 * test/test-simple.c (test_desktop): test the methods.
1423 2002-01-03 Michael Meeks <michael@ximian.com>
1425 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
1426 keystrings since we free them
1427 (SPI_freeAccessibleKeySet): in here.
1429 * libspi/accessible.c (spi_accessible_new): kill warning,
1430 wonder what is going on with the constructor here.
1432 2002-03-01 Bill Haneman <bill.haneman@sun.com>
1434 * libspi/accessible.c (spi_accessible_new ()) :
1435 Added check to see if AtkObject is an SpiRemoteObject before
1436 creating an SpiAccessible.
1438 2002-05-01 Bill Haneman <bill.haneman@sun.com>
1440 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
1441 Enable keygrabs using the Control modifier, now that they are
1442 working properly (they were previously disabled).
1445 Change the command keygrab for this demo to "Control+Alt", so as
1446 to conflict with fewer other key commands on the system; this
1447 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1449 Removed a pointlessly-chatty keylistener for unshifted keys
1450 (shifted keys are still reported).
1452 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1454 * libspi/remoteobject.h:
1455 * libspi/remoteobject.c:
1456 Added definitions for special AtkObject subtype, required for
1457 support of remote components (specifically, used by BonoboControl
1458 accessibility implementation).
1460 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1462 * cspi/spi.h: synched relation types with ATK
1464 * cspi/spi_accessible.c: Added implementations of
1465 AcccessibleRelation_* methods
1467 * idl/Accessibility_Relation.idl: added getRelationTypeName
1468 method. Synched known relation types with ATK. Allowed for
1469 relation type extension with the RELATION_EXTENDED type.
1471 * libspi/relation.c: Provided implementations for
1472 AccessibleRelation methods.
1474 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1476 API tweaks for today's API 'freeze'.
1479 Added placeholder functions to allow future compatible expansion
1480 of the IDL interfaces.
1482 * idl/Accessibility_Registry.idl:
1483 Changed generateKeyEvent to generateKeyboardEvent. Changed
1484 signature of this method to accept an optional keystring in
1485 parameter (for complex text input synthesis) and changed use of
1486 simple 'boolean' parameter in registerKeystrokeListener to a
1487 struct, EventListenerMode.
1489 * cspi/spi_accessible.c:
1491 * cspi/spi_streamablecontent.c:
1492 Added references to AccessibleStreamableContent interface, and
1493 definition and implementation of AccessibleStreamableContent
1496 * cspi/spi_registry.c:
1498 Changed generateKeyEvent API to generateKeyboardEvent,
1499 taking a new (optional) keystring parameter to support complex
1504 Renamed directory (to better reflect its actual purpose, bridging
1505 from at-spi to ATK). The .so module is also now named
1508 * idl/Accessibility_Hypertext.idl:
1509 * libspi/accessible.c:
1510 * libspi/hypertext.h:
1511 * libspi/hypertext.c:
1512 Changed Accessibility_Hypertext to *not* derive from
1515 * cspi/spi_registry.c:
1516 Added list of legal event type names for 'window' events, which
1517 completes the registry event API.
1519 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
1521 * at-bridge/bridge.c: Added registration for separate
1522 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1523 signals. If either of the first two parameters to the generic
1524 bridge signal handler are ints, they are passed on as event
1525 details. This allows an AT to determine what text was inserted.
1527 2001-12-21 Bill Haneman <bill.haneman@sun.com>
1529 * registryd/deviceeventcontroller.c:
1530 Fixed regressions in generateKeyEvent caused by the removal of
1531 gdk_init from registryd; we now use pure X calls to connect to the
1532 display, which makes sense because deviceeventcontroller already
1533 uses a fair bit of X API (should eventually be migrated to a
1534 'portability layer').
1536 * registryd/desktop.c:
1537 Fixed minor regression in spi_desktop_init, changed the way the
1538 desktop name is being set to work with new spi_base API
1539 (gobject-based, rather than AtkObject-based).
1541 * registryd/Makefile.am:
1542 Minor revision of makefile to use XTST_LIBS variable rather than
1543 hard-wiring the Xtst LD_ADD element.
1545 * test/keysynth-demo.c:
1546 Tweaked an output message; added initialization of the
1547 'keystrings' member of the "switch listener" key_set.
1549 * libspi/relation.c:
1550 Squashed compile-time warning.
1552 * libspi/accessible.c:
1553 Cosmetic and formatting fixes, renamed a static method.
1555 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1557 * libspi/accessible.c
1559 * libspi/application.c
1562 * libspi/component.c
1563 * libspi/editabletext.c
1564 * libspi/hyperlink.c
1565 * libspi/hypertext.c
1567 * libspi/selection.c
1571 * registryd/desktop.c:
1572 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1574 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1576 * idl/Accessibility_Registry.idl:
1577 Added boolean member 'is_text' to DeviceEvent. This is for the
1578 use of key events, and helps prevent ambiguity between composed
1579 key strings and keysym names, since both may potentially be
1580 returned in the 'event_string' member.
1582 * at-bridge/bridge.c:
1583 * registryd/deviceeventcontroller.c:
1584 Use the 'is_text' member when notifying device event listeners.
1585 Knon issue: composed characters are not dealt with correctly by
1586 the global key listener implementation yet.
1588 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1590 * at-bridge/bridge.c:
1591 Namespaced local static methods to spi_atk_bridge_* where
1592 previously named bridge_*, and spi_* elsewhere.
1594 * at-bridge/bridge.c:
1595 * cspi/bonobo/cspi-bonobo-listener.c:
1596 Added demarshalling/conversion for string member of
1597 Accessibility_DeviceEvent to AccessibleKeystroke.
1599 * registryd/deviceeventcontroller.c:
1600 Added code to fill the Accessibility_DeviceEvent key string value
1601 member for global key events (i.e. from XGrabKey), to match
1602 behavior of Accessibility_DeviceEvent from the toolkit key events
1603 from the bridge. Fixed timestamp in global key event notifications.
1606 Added printout of key event's string value to
1607 report_ordinary_key_event, for demo/debugging purposes.
1609 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1611 * idl/Accessibility_Registry.idl:
1612 Removed Accessibility_KeyStroke structure in favor of generic
1613 Accessibility_DeviceEvent structure.
1614 Changed Accessibility_ControllerEventMask from a struct to an
1617 * at-bridge/bridge.c:
1618 Changed APIs to use DeviceEvent structure as above, and removed
1619 bogus casting between these event structures.
1621 * cspi/spi-listener.h:
1622 Added keystring member of AccessibleKeystroke structure, to enable
1623 matching on event "names" rather than only hardware codes and
1627 Added keystrings member of AccessibleKeySet struct, to allow
1628 matching on event names (as above).
1629 Added declarations for SPI_createAccessibleKeySet and
1630 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1631 event modmasks directly as unsigned ints rather than structs with
1632 refcounts, in the DeviceEventController methods.
1634 * cspi/spi_registry.c:
1635 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1637 * cspi/spi-roletypes.h:
1638 Added documentation of newly added SPI Roles.
1640 * cspi/bonobo/cspi-bonobo-listener.c:
1641 Changes in support of API changes above.
1643 * libspi/accessible.c:
1644 Converted APIs to use DeviceEvent structure (see IDL changes
1647 * registryd/deviceeventcontroller.c:
1648 Added DEControllerGrabMask structure to track keygrabs not only by
1649 modmask but by keyset as well; this allows us to do "global"
1650 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1651 grabbing on AnyKey and then filtering after-the-fact.
1652 Bugfixes for event filtration mean that we don't get false matches
1653 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1655 * registryd/deviceeventcontroller.c:
1656 Namespaced a number of static methods to use spi_ prefix. Major
1657 revision to internals of global (i.e. X) key grabs.
1659 * registryd/deviceeventcontroller.h:
1660 Removed keymask_list and added keygrabs_list to
1661 SpiDeviceEventController struct.
1664 Added use of SPI_createAccessibleKeySet API when creating a
1665 listener for only one key. Attach a listener to "shift spacebar
1666 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1667 X key event names to SPI key event names, so that listeners are
1668 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1670 * test/keysynth-demo.c:
1671 Changed (incorrect) use of X key event names (KeyPressed,
1672 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1675 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1677 * libspi/accessible.c:
1678 Convert all AtkRole enumerations to Accessibility_Role enums when
1679 getting a role from an AtkObject.
1681 * cspi/spi_accessible.c:
1682 Complete the conversion of Accessibility_Role enums at runtime to
1683 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1684 role enums correctly match those given in spi-roletypes.h.
1685 Re-synchronize the local names list for AccessibleRole_getName ().
1686 AccessibleRole_getName is now deprecated, since it duplicates the
1687 more reliable Accessible_getRoleName.
1688 Added some role types from Accessibility_Role.idl.
1690 * idl/Accessibility_Role.idl:
1691 Added some role types used by AtkRole.
1693 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1696 * cspi/spi_registry.c:
1698 * cspi/cspi-bonobo-listener.c:
1699 Namespaced all methods that did not begin with an "SPI_" or
1700 "Accessible" prefix to "SPI_".
1703 Homogenized internal function namespace to "cspi_" for statics.
1706 Patched tests to use the new CSPI API.
1708 * docs/reference/cspi/at-spi-cspi-sections.txt:
1709 Updated docs to reflect namespace changes, and added a number of
1710 methods to the documentation.
1712 * registryd/registry.c:
1713 Changed use of strings and string hashes in listener event
1714 matching and parse_event_string to use GQuark, which is guaranteed
1717 * registryd/registry.h:
1718 Squashed annoying warning.
1720 * idl/Accessibility_Role.idl:
1721 Extended range of available Accessibility_Role values.
1723 * cspi/spi_accessible.c:
1724 Re-ordered role names.
1726 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1728 * idl/Accessibility_Value.idl:
1729 Revert use of union back to CORBA_double, since the double type is
1730 more efficient and can contain the other types without loss of
1733 * idl/Accessibility_Accessible.idl:
1734 Added method Accessibility:Accessible:getRoleName, to complement
1735 Accessibility:Accessible:getRole.
1737 * cspi/spi_accessible.c:
1739 Added C binding for above, Accessible_getRoleName (), and changed
1740 signature of Accessible_getRole () to return an AccessibleRole.
1742 * cspi/spi-roletypes.h:
1743 Changed AccessibleRole_getName to return a char * instead of a
1744 const char *. This method is now at least temporarily deprecated
1745 in favor of asking Accessibles for their RoleNames directly.
1748 Revert to match Accessibility_Value.idl;
1752 Change signature of AccessibleValue methods to use double rather
1756 * cspi/spi_accessible.c:
1757 Changed Accessible_getRole to return an AccessibleRole enum rather
1758 than a UTF-8 string. The UTF-8 string can still be obtained via
1759 AccessibleRole_getName ().
1761 * test/test-simple.c:
1762 Add test_action. Small fixup to match API change to Accessible_getRole.
1765 Bugfix for get_action_from_servant ().
1767 2001-12-11 Michael Meeks <michael@ximian.com>
1769 * libspi/libspi.h: remove registry.h and
1770 desktop.h, deviceeventcontroller.h
1772 * libspi/Makefile.am: remove registry.[ch],
1773 desktop.[ch], deviceeventcontroller.[ch]
1775 * registryd/Makefile.am: add registry.[ch],
1776 desktop.[ch], rename registryd.c to registry-main.c.
1777 add deviceeventcontroller.[ch]
1779 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1782 Replace setenv() call with putenv ().
1784 * libspi/component.c:
1785 Bugfix in AccessibleComponent_getExtents (),
1788 2001-12-11 Michael Meeks <michael@ximian.com>
1790 * libspi/image.c (impl_getImageExtents): impl.
1791 (spi_image_class_init): upd.
1794 (AccessibleImage_getImageDescription): fix daft bug
1797 * test/test-simple.c (global_listener_cb): update
1798 to only quit if not --poke
1799 (main): catch --poke.
1800 (validate_accessible): upd. dumping, call test_image
1803 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1806 * idl/Accessibility.idl: update all IDL includes.
1808 * idl/*.idl - rename to namespace - this sucks, blame
1809 mjs' bad decision for oafd.
1811 * test/test-simple.c (create_test_window): add more tests.
1812 (create_tree): split this out.
1813 (validate_accessible): bugfix.
1815 2001-12-11 Michael Meeks <michael@ximian.com>
1817 * cspi/bonobo/cspi-bonobo-listener.c:
1818 (cspi_kestroke_listener_unref),
1819 (cspi_event_listener_unref): impl. undoing previous
1820 homenous environment - for Bill.
1822 * cspi/spi_table.c (long_seq_to_array): use
1825 * cspi/spi_main.c: split out all bonoboish bits into
1828 * cspi/spi-impl.h: upd. typedefs.
1830 * cspi/spi_registry.c: update to lowlevel API,
1831 return booleans to indicate success in some places.
1833 * cspi/spi_event.c: update to lowlevel API.
1835 * cspi/bonobo/Makefile.am: add.
1837 * cspi/bonobo/cspi-lowlevel.h: add
1839 * cspi/bonobo/cspi-bonobo.c: add
1841 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1843 * cspi/Makefile.am: remove spi-listener-impl.[ch],
1844 (SUBDIRS): add bonobo, link in the libs.
1846 * cspi/spi-util.c: kill this file.
1848 * TODO: merge in my bits.
1850 2001-12-11 Michael Meeks <michael@ximian.com>
1852 * test/test-simple.c (test_value, test_table, main):
1853 remove unused variables causing warnings.
1855 * configure.in: cleanup checks - require gail.
1857 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1860 Changed Value interface to use SValue (scalars) rather than
1861 assuming all values are floats. This allows floats, doubles,
1862 longs, shorts, and unsigned values to be manipulated.
1863 Introduced Accessibility:SValue union.
1866 Updated to use new API above, and to work correctly with GValues
1867 of different types in AtkValue.
1870 Updated to use new API above. cspi's API is as yet unchanged.
1873 Updated the Value revision action item.
1875 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1877 * test/test-simple.c:
1878 Added test_table (GtkTreeView widget in test window to follow).
1879 Un-commented test_value, added GtkRange widget.
1880 Added GtkTreeView widget with GtkListStore. It passes regression
1881 test but leaks one SPI object for some reason.
1884 Fixed bug in impl__set_currentValue.
1886 2001-12-10 Michael Meeks <michael@ximian.com>
1888 * cspi/spi_text.c: audit for exception handling,
1889 tolerating NULL object references safely etc.
1891 * cspi/spi_value.c: ditto.
1893 * cspi/spi_table.c (AccessibleTable_getSummary),
1894 (AccessibleTable_getAccessibleAt),
1895 (AccessibleTable_getRowHeader),
1896 (AccessibleTable_getColumnHeader),
1897 (AccessibleTable_getCaption): fix bugs hidden by
1899 (long_seq_to_array): impl.
1900 (AccessibleTable_getSelectedRows),
1901 (AccessibleTable_getSelectedColumns): use it.
1903 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1906 Added a TODO list (rough and short for now).
1908 * cspi/spi_hyperlink.c:
1909 * cspi/spi_hypertext.c:
1910 Fixed macro name typos, and remove use of obsolete macro in
1911 AccessibleHyperlink_getLink.
1913 * cspi/spi_action.c:
1914 * cspi/spi_accessible.c:
1915 * cspi/spi_application.c:
1916 * cspi/spi_component.c:
1917 * cspi/spi_selection.c:
1920 Documentation fixes (removed return values from ref/unref methods).
1922 2001-12-10 Michael Meeks <michael@ximian.com>
1924 * cspi/spi_action.c: audit for exception handling,
1925 tolerating NULL object references safely etc.
1927 * cspi/spi_accessible.c: ditto.
1929 * cspi/spi_component.c: ditto.
1931 * cspi/spi_editabletext.c: ditto.
1933 * cspi/spi_hyperlink.c: ditto.
1935 * cspi/spi_hypertext.c: ditto.
1937 * cspi/spi_image.c: ditto.
1939 * cspi/spi_selection.c: ditto.
1941 2001-12-10 Michael Meeks <michael@ximian.com>
1943 * configure.in: use cspi/libspi.pc.in instead.
1945 * Makefile.am (pkgconfig_DATA): upd. to match.
1947 * test/simple-at.c (report_focus_event): kill hacks around
1948 bad return values, use putenv not setenv
1950 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1951 fire ChildGone - I killed it.
1953 * libspi/component.c
1954 (impl_accessibility_component_get_extents): remove
1957 * idl/Accessible.idl: kill ChildGone exception.
1959 * cspi/*.[ch]: kill int return from ref / unref.
1961 * cspi/spi_main.c (cspi_object_add_check): fold into
1962 (cspi_object_add): here.
1964 * cspi/spi_component.c (AccessibleComponent_getExtents):
1965 handle exceptions elegantly.
1967 * cspi/spi-private.h (cspi_check_ev_return),
1968 (cspi_return_if_fail): impl.
1970 * cspi/spi_accessible.c: use extensively.
1971 (AccessibleStateSet_equals): add direct compare check.
1973 * cspi/spi_selection.c: tolerate NULL objs, and check
1974 exceptions before return.
1976 * cspi/spi-util.c (cspi_warn_ev): rename to
1977 (cspi_check_ev): this & don't pass ev in; no point.
1979 2001-12-10 Michael Meeks <michael@ximian.com>
1981 * test/test-simple.c: use putenv not setenv
1982 (get_environment_vars): more chatty if you're not using
1985 * test/simple-at.c: do the setenv so more people see the
1988 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1990 * libspi/registry.c:
1991 Changed check of CORBA_environment on notification to be a warning
1992 instead of an error for the moment, since we can recover from this
1993 error when caused by a queued notification from a dead app.
1996 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1997 used by all current implementors of AtkValue), and coerce to
1998 CORBA_float. (Proper general case fix may require change to Value.idl).
2000 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2004 * cspi/spi_accessible.c:
2005 Documentation fixes: added user_data params to documentation for
2006 listeners and callbacks.
2008 * cspi/spi_accessible.c:
2009 Changed AccessibleStateSet_compare to return a
2010 StateSet rather than return the difference set into a third parameter.
2013 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2016 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
2017 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
2021 Remove subdirectory po from SUBDIRS for now.
2023 * at-bridge/bridge.c:
2024 Beefed up a couple of debug printouts.
2025 One-line fix for signal notification name formatting.
2027 * libspi/accessible.c:
2028 Added assertion to spi_accessible_new ().
2030 * libspi/application.c:
2031 Put #ifdef qualifiers around a printf.
2034 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
2036 * registryd/Makefile.am:
2038 Replaces use of XML_I18N_MERGE_SERVER_RULE with
2039 INTLTOOL_SERVER_RULE macro.
2042 Added an event listener for several ATK signals, for
2043 testing and debugging. Removed a few g_warnings.
2044 Added test output if focussed item implements the Value interface.
2046 * test/test-simple.c:
2047 Added test_value () function (known not to pass at the moment, so
2048 not actually called yet.
2050 2001-12-08 Michael Meeks <michael@ximian.com>
2052 * at-bridge/bridge.c (bridge_focus_tracker),
2053 (emit_eventv): fix the same ref. leak.
2054 (register_atk_event_listeners): don't leak.
2056 * cspi/spi-listener-impl.c (cspi_event): more
2057 protection from client code.
2059 * test/test-simple.c (test_desktop): unref the app.
2061 * test/Makefile.am: upd. TESTS.
2063 * at-bridge/bridge.c (bridge_exit_func): release the registry.
2065 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
2067 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
2069 * cspi/spi_registry.c: constify in strings.
2070 (deregisterGlobalEventListenerAll): don't release the ref.
2072 * cspi/spi.h: start removing redundant / conflicting
2073 gtkdoc comments, making the API readable at a glance :-)
2075 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
2077 * test/keysynth-demo.c (keysynth_exit, main): upd.
2079 * test/simple-at.c (main, simple_at_exit): upd.
2081 * test/test-simple.c (unutterable_horror): kill.
2082 (utterable_normal_derefs): kill.
2083 (main): upd & do a setenv before gtk_init, so that we
2084 can use memprof - and to save the pain of remembering
2085 this, if we're running under memprof - don't exit.
2087 * cspi/spi_main.c (SPI_exit): return exit status
2089 (SPI_event_quit): impl.
2090 (SPI_event_main): simplify.
2091 (cspi_is_gnome_app): kill.
2092 (SPI_init): kill isGNOMEapp arg.
2094 * at-bridge/bridge.c (register_atk_event_listeners):
2095 re-instate the unref.
2096 (bridge_exit_func): don't re-activate the registry,
2097 protect vs. theoretical re-entry, use the
2098 AT_BRIDGE_SHUTDOWN env. var to determine whether to
2099 assert a clean shutdown - for regression tests.
2101 2001-12-08 Abel Cheung <maddog@linux.org.hk>
2103 * configure.in: Comment out dummy i18n support for now,
2104 otherwise it fails to build.
2105 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
2106 EXTRA_DIST. They are missing in tarball.
2108 2001-12-07 Michael Meeks <michael@ximian.com>
2110 * util/magnifier.c: kill bonobo activation reg. race.
2112 * libspi/component.c
2113 (impl_accessibility_component_get_extents): make it match
2116 * libspi/registry.c (_registry_notify_listeners):
2117 re-remove X headers & reconcile conflicts.
2118 (spi_listener_struct_free): bad conflict resolve.
2119 (impl_accessibility_registry_register_application):
2120 more bad merging fixed.
2121 (impl_accessibility_registry_deregister_application): ditto.
2122 (spi_registry_new): ditto.
2123 (spi_registry_init): don't have an applications field.
2125 [ merge fixups2 branch to here ]
2126 2001-12-07 Michael Meeks <michael@ximian.com>
2128 * test/simple-at.c (report_focus_event),
2129 (report_focussed_accessible): remove g_warning debug.
2131 2001-12-07 Michael Meeks <michael@ximian.com>
2133 * test/test-simple.c (validate_tree): comment out some checks.
2134 (test_desktop): app now not registered idly - horay.
2136 2001-12-07 Michael Meeks <michael@ximian.com>
2138 * cspi/spi_registry.c
2139 (registerAccessibleKeystrokeListener): clean, stop it leaking
2140 great swathes of memory, and device event controller references.
2141 ensure we always pass valid sequences.
2142 (deregisterAccessibleKeystrokeListener): ditto.
2143 (generateKeyEvent): upd.
2145 * at-bridge/bridge.c (bridge_key_listener): handle
2146 registry dead exception gracefully.
2147 (bridge_focus_tracker, emit_eventv): free ev.
2149 * test/simple-at.c (report_focus_event): fix polarity.
2151 * libspi/application.c (notify_listeners): kill the ev
2152 argument, and make sure we init the ev we use.
2153 (spi_application_object_event_listener): split out a chunk
2154 (get_atk_object_ref): here & fixup.
2155 (reverse_lookup_name_for_toolkit_event): make const.
2156 (spi_application_toolkit_event_listener): fixup, kill leaks
2159 * at-bridge/bridge.c (register_atk_event_listeners):
2160 don't unref the noop object - causes grief.
2162 * libspi/registry.c: remove the X headers.
2163 turn off the debug churn.
2165 * libspi/accessible.c (spi_accessible_new_return): only
2166 release the ref if we are supposed to [doh]
2168 * test/simple-at.c (report_button_press, report_focus_event):
2169 guard vs. unexpected exit.
2171 * at-bridge/bridge.c (gtk_module_init): prune printf.
2172 (bridge_exit_func): fix app unref.
2174 * libspi/Makefile.am: don't install registry or desktop.h
2176 * libspi/*.h: update includes.
2178 * libspi/application.h: don't include ourself, or
2179 other redundant headers.
2181 2001-12-06 Michael Meeks <michael@ximian.com>
2183 * libspi/accessible.c
2184 (get_accessible_from_servant): impl.
2185 Upd. all CORBA impl.s to use it killing cut and paste.
2187 * cspi/spi_main.c (cspi_cleanup): guard vs. double
2189 (SPI_init): register atexit cleanup handler here.
2191 2001-12-06 Michael Meeks <michael@ximian.com>
2193 * at-bridge/bridge.c (gtk_module_init): g_error on
2194 activation exception
2196 2001-12-06 Michael Meeks <michael@ximian.com>
2198 * at-bridge/bridge.c (gtk_module_init): some sort of
2199 confusing merge clash - reverted.
2200 (bridge_idle_init): ditto.
2202 * test/test-simple.c (main, utterable_normal_derefs):
2203 merge from Bill - somehow not committed.
2205 2001-12-06 Michael Meeks <michael@ximian.com>
2207 * libspi/value.c (spi_value_class_init): upd.
2208 (spi_value_finalize): kill.
2210 * libspi/table.c (spi_table_finalize): kill.
2211 (spi_table_interface_new): upd.
2212 (spi_table_class_init): upd.
2213 (get_table_from_servant): impl.
2214 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2216 * libspi/selection.c (spi_selection_finalize): kill.
2217 (spi_selection_interface_new): upd.
2218 (spi_selection_class_init): upd.
2219 (get_selection_from_servant): impl.
2220 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2222 * libspi/relation.c (spi_relation_finalize): kill.
2223 (spi_relation_class_init, spi_relation_new): upd
2225 * libspi/image.c (spi_image_finalize): kill.
2226 (spi_image_class_init): upd.
2227 (spi_image_interface_new): upd.
2228 (get_image_from_servant): impl.
2229 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2231 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
2232 (spi_hyperlink_finalize): kill.
2233 (spi_hyperlink_new): upd.
2234 (get_hyperlink_from_servant): impl.
2235 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2237 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
2238 (spi_hypertext_finalize): kill.
2239 (spi_hypertext_class_init): upd.
2240 (get_hypertext_from_servant): impl.
2241 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2243 * libspi/editabletext.c (spi_editable_text_finalize): kill.
2244 (spi_editable_text_interface_new): upd.
2245 (get_editable_text_from_servant): impl.
2246 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2248 * libspi/text.c (get_text_from_servant): impl.
2249 All impls - update to use it killing more cut and paste,
2250 also fix bad string returns on duff args ( a somewhat
2251 impossible case to handle - but hey ).
2252 (spi_text_construct): impl.
2253 (spi_text_interface_new): upd.
2254 (spi_text_object_finalize): kill.
2256 * libspi/component.c
2257 (accessibility_component_object_finalize): kill.
2258 (spi_component_class_init): upd.
2259 (get_component_from_servant): impl. helper to kill cut & paste.
2260 (impl_accessibility_component_contains):
2261 (impl_accessibility_component_get_accessible_at_point):
2262 (impl_accessibility_component_get_position):
2263 (impl_accessibility_component_get_extents):
2264 (impl_accessibility_component_get_mdi_z_order):
2265 (impl_accessibility_component_get_layer):
2266 (spi_component_interface_new): upd.
2268 * libspi/action.c (spi_action_finalize): kill.
2269 (spi_action_class_init): upd. inherit from SpiObject.
2270 (spi_action_interface_new): upd.
2271 (get_action_from_servant): impl. helper to reduce cut & paste.
2272 (impl_getKeyBinding, impl_getName, impl_doAction),
2273 (impl_getDescription): Use it everywhere.
2275 * cspi/spi_main.c (get_live_refs): a pointer hash.
2276 (spi_object_hash, spi_object_equal): comment out.
2277 There are issues with CORBA object hashing that need
2280 * libspi/application.c (spi_application_init),
2281 (spi_application_new): upd.
2283 * libspi/accessible.c (spi_accessible_object_finalize): kill.
2284 (spi_accessible_class_init): upd.
2285 s/accessible/object/ in epv methods.
2287 2001-12-05 Bill Haneman <bill.haneman@sun.com>
2289 * at-bridge/bridge.c:
2290 Reorder the bridge initialization into the bridge gtk_module_init,
2291 an immediate call to bridge_register_app, and an idle_add for
2292 register_atk_event_listeners (the only code that *must* wait until
2293 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
2294 the activation, creates the application's Accessible object, and
2295 queues the bridge_idle_init function. Restored call to
2296 Accessibility_Registry_deregisterApplication().
2297 Prior to making this call we obtain a new reference to the
2298 registry, which is a temporary hack that helps us handle apps that
2299 shut down the bonobo mainloop before we get there.
2301 * libspi/registry.c:
2302 Fix string leakage in debug block, and don't segv if a an app
2303 dies before its event notifications have been propagated.
2306 Modify cspi_check_ev() to call g_warning() rather than g_error(),
2307 as stopgap measure until we get proper exception handling when
2308 objects die during or before interrogation.
2312 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
2313 Also changed default value of is_gnome_app to TRUE.
2316 * test/keysynth-demo.c:
2317 Changed use of SPI_init and SPI_event_main to reflect API change above.
2320 Made report_focus_event check the warning value from getName
2321 before reporting on focussed accessible; simplifies handling of
2322 notifications from dead objects.
2324 * test/test-simple.c: (Changes not in this patch since source is
2327 2001-12-05 Michael Meeks <michael@ximian.com>
2329 * registryd/registryd.c (main): protect against
2330 bonobo-activation startup race condition.
2332 * cspi/spi_main.c (cspi_object_add_check): cope
2333 with the exception elegantly.
2335 * idl/Accessible.idl: decl. ChildGone
2337 * libspi/desktop.c (spi_desktop_dispose): impl.
2338 (spi_desktop_class_init): upd.
2339 (spi_desktop_add_application),
2340 (spi_desktop_remove_application),
2341 (abnormal_application_termination): impl.
2342 (impl_desktop_get_child_at_index): re-impl.
2345 (impl_accessibility_registry_deregister_application),
2346 (impl_accessibility_registry_register_application):
2347 kill excessive debug clutter.
2349 * test/test-simple.c (test_misc): test some NULL
2350 tolerance. (main): upd.
2352 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
2353 implements no interfaces - so let's not crash.
2355 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
2357 * libspi/accessible.c (spi_accessible_new_return): impl.
2358 helper to calm the cut and paste, to cope with
2359 NULL AtkObjects effectively and efficiently, and to kill
2360 the referencing bugs.
2362 * libspi/table.c (impl_getAccessibleAt),
2363 (impl_getRowHeader, impl_getColumnHeader): upd.
2365 * libspi/hyperlink.c (impl_getObject): upd.
2367 * libspi/accessible.c
2368 (impl_accessibility_accessible_get_child_at_index): upd.
2370 * libspi/component.c
2371 (impl_accessibility_component_get_accessible_at_point): upd.
2373 * test/test-simple.c (test_editable_text, test_text): impl.
2376 * cspi/spi_editabletext.c
2377 (AccessibleEditableText_insertText): constify.
2379 * test/test-simple.c (focus_me): make more robust.
2381 * libspi/accessible.c: remove some printfs in methods that
2382 we test and work fine, so we can get a clean tree dump.
2384 * test/test-simple.c (validate_accessible),
2385 (validate_tree): make tree dumping pretty too.
2387 * at-bridge/bridge.c (bridge_signal_listener): upd. so
2388 it builds without debug on.
2390 * test/test-simple.c (validate_accessible): fix the most
2393 * cspi/spi_main.c (spi_object_release): leave the nicely
2394 blanked memory around if in debug mode.
2396 * cspi/spi-listener-impl.c (cspi_event): use add_check.
2398 [committed to fixups2]
2399 2001-12-05 Michael Meeks <michael@ximian.com>
2401 * libspi/editabletext.c
2402 (spi_editable_text_class_init): g_type_class_peek_parent,
2403 not interface peek - so we finalize cleanly.
2405 * libspi/accessible.c (spi_accessible_new): kill debug.
2407 * test/test-simple.c (validate_accessible): fix ref.
2408 leak, print strings before freeing them; sigh, comment a
2409 chunk out due to strangeness.
2410 (validate_tree): unref the child after use.
2412 * cspi/spi_component.c (AccessibleComponent_getLayer):
2413 add missing break statement, switch on zlayer not the
2414 uninitialized retval.
2416 * cspi/spi_main.c (cspi_object_add): add assert, local ref
2417 before (possibly re-entering) remote unref.
2419 * test/simple-at.c (main): unref the desktop.
2421 * cspi/spi_accessible.c (cspi_accessible_is_a): move
2424 * cspi/spi_main.c (cspi_accessible_is_a): here to
2425 isolate bonobo API usage more.
2427 * libspi/registry.c (impl_accessibility_registry_register_application):
2428 prune bogus comment.
2430 2001-12-04 Michael Meeks <michael@ximian.com>
2432 * test/test-simple.c (validate_tree): upd.
2433 IndexInParent check to make it more lucid.
2434 (validate_accessible): dump the tree.
2436 * libspi/accessible.c (de_register_public_ref),
2437 (get_public_refs): impl.
2438 (spi_accessible_new): make more efficient & intuitive.
2439 Now IndexInParent check works.
2441 2001-12-04 Michael Meeks <michael@ximian.com>
2443 * cspi/spi-util.h: remove.
2445 * cspi/spi.h: move SPI_freeString here
2447 * libspi/component.c (impl_accessibility_component_get_layer):
2449 (impl_accessibility_component_get_mdi_z_order): ditto,
2450 return -1 on error - is this ok ?
2452 * test/test-simple.c (test_application): impl.
2454 * cspi/spi_accessible.c (Accessible_getApplication),
2455 (Accessible_isApplication): impl.
2457 * libspi/registry.c (spi_listener_struct_free): release
2458 the CORBA reference too.
2460 * libspi/accessible.c
2461 (impl_accessibility_accessible_get_parent): fix ref leak.
2463 * libspi/registry.c (spi_registry_new): make the registry
2464 immortal - we don't want it to go away ever.
2466 * libspi/application.c
2467 (spi_accessible_application_finalize): impl. cleanup.
2469 * cspi/spi_registry.c
2470 (deregisterGlobalEventListenerAll),
2471 (deregisterGlobalEventListener),
2472 (deregisterAccessibleKeystrokeListener): fix ref leak.
2474 * cspi/spi_main.c (SPI_init): remove redundant ref.
2476 * test/test-simple.c (unutterable_horror): impl. to force a
2481 (impl_accessibility_registry_deregister_application): release
2482 the application when we de-register it.
2484 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2485 until we have the infastructure to get it right.
2487 2001-12-03 Michael Meeks <michael@ximian.com>
2489 * libspi/Makefile.am: only build eventlistener.[ch]
2491 * libspi/accessible.c
2492 (impl_accessibility_accessible_get_child_at_index): don't leak.
2494 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2495 before we hit the idle handler.
2497 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2498 debugging than exit.
2500 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2502 * libspi/listener.c (impl_notify_event): check source
2503 not NIL before unref.
2505 * libspi/registry.c (impl_registry_notify_event): ditto.
2507 * libspi/eventlistener.c
2508 (impl_accessible_event_notify_event): unref the source.
2510 * libspi/accessibleeventlistener.c
2511 (impl_accessible_event_notify_event): unref the source.
2513 * idl/Event.idl: remove 'hash_id' attribute - of no
2516 * libspi/application.c (notify_listeners): upd list
2518 (spi_application_object_event_listener),
2519 (spi_application_toolkit_event_listener): upd to do correct
2523 (_registry_notify_listeners): update.
2524 (parse_event_type): this method also leaks like a sieve.
2525 (impl_accessibility_registry_deregister_global_event_listener):
2526 fix ETYPE_WINDOW case.
2528 * libspi/application.c
2529 (impl_accessibility_application_register_object_event_listener):
2532 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2534 * libspi/hypertext.c (impl_getLink): ditto.
2536 * cspi/spi_main.c (cspi_object_add): remove
2537 bogus CORBA_Object_duplicate.
2539 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2542 * cspi/spi_accessible.c
2543 (Accessible_getRelationSet): fix leak / referencing issue.
2545 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2546 (cspi_object_add, cspi_object_unref): upd.
2547 (spi_object_release, get_live_refs): impl.
2548 (cspi_cleanup): simplify.
2550 * *.[ch]: s/boolean/SpiBoolean/
2552 * cspi/spi_accessible.c (role_names): actualy order so it
2553 corresponds with the enum !
2555 * test/test-simple.c (test_roles): check some role strings
2556 vs. enums to detect offset errors.
2558 2001-12-01 Michael Meeks <michael@ximian.com>
2560 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2562 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2564 (Accessible_getChildAtIndex): use cspi_add_check so we
2565 check the ev before using a (possibly) invalid value.
2567 * libspi/accessible.c
2568 (impl_accessibility_accessible_get_parent): don't segv
2571 * at-bridge/bridge.c (gtk_module_init): upd.
2572 (bridge_property_event_listener): don't leak strings
2574 (bridge_state_event_listener),
2575 (bridge_property_event_listener): don't use a static
2576 buffer in case of recursive event emission &
2577 re-enterancy - split out the swathe of cut and paste
2579 (emit_eventv): and fix 2 ref leaks here & comply to the
2581 (bridge_register_app): rename to
2582 (bridge_idle_init): this and kill arg parsing, split
2583 various inits & bonobo-activation registration to module
2584 init time, kill referencing error.
2585 (bridge_exit_func): fix the same leak.
2586 (bridge_focus_tracker): don't leak event structures
2588 (bridge_signal_listener): more leakage and cut & paste
2590 (bridge_key_listener): return the result - FIXME is
2591 this polarity correct ?
2592 (accessibility_keystroke_from_atk_key_event): rename
2593 (accessibility_init_keystroke_from_atk_key_event): and stop
2595 (gtk_module_init): return a value - not that it is checked by
2597 (bridge_key_listener): register my horror at casting between
2598 IDL defined structs.
2599 (bridge_get_registry): kill - not used.
2601 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2603 * test/test-simple.c (test_roles): impl.
2604 (test_desktop, validate_accessible, validate_tree): impl.
2606 * cspi/spi_accessible.c (role_names): fixup bogus
2607 MAX_ROLES setup, make constants const for efficient linkage
2608 (AccessibleRole_getName): conform to coding style, make
2611 2001-11-30 Michael Meeks <michael@ximian.com>
2613 * cspi/spi.h: add missing prototype.
2615 * libspi/registry.c (spi_listener_struct_new): fix sig.
2617 * test/Makefile.am: add test-simple
2619 * test/test-simple.c: add
2621 * test/test.sh: add.
2623 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2625 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2626 do it straight - since otherwise we often get an activation race.
2628 [ work before Bill duplicated a chunk of it ... ]
2629 2001-11-30 Michael Meeks <michael@ximian.com>
2631 * libspi/keystrokelistener.c
2632 (spi_keystroke_listener_class_init): fixup arg
2635 * libspi/eventlistener.c
2636 (spi_event_listener_class_init): ditto.
2638 * tests/test.sh: add.
2640 * cspi/spi-listener-impl.h: update macros.
2642 * cspi/spi-listener-impl.c
2643 (cspi_event_listener_remove_callback): add
2644 correct pre-conditions.
2646 * cspi/spi_main.c (SPI_exit): guard vs. double
2647 exits, exit the mainloop nicely.
2648 (SPI_event_main): make more sense.
2649 (SPI_init): move the atexit evilness here so we
2650 always do it (yuck).
2651 (SPI_event_main): upd.
2653 * test/simple-at.c: update for listener changes.
2655 * registryd/registryd.c (main): prune kruft.
2657 * libspi/libspi.h: upd.
2659 * libspi/eventlistener.[ch]: rename broken macros.
2661 * libspi/accessibleeventlistener.[ch]: remove.
2663 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2665 * test/test-simple.c: Add - automated tests.
2667 * cspi/spi-listener-impl.c (cspi_event),
2668 (cspi_key_event): add user_data to invoke.
2669 (cspi_keystroke_listener_finalize): impl.
2670 (cspi_keystroke_listener_class_init): upd.
2673 (createAccessibleEventListener),
2674 (AccessibleEventListener_addCallback),
2675 (createAccessibleKeystrokeListener),
2676 (AccessibleKeystrokeListener_addCallback): upd.
2678 * libspi/deviceeventcontroller.c
2679 (spi_device_event_controller_check_key_event): add public proto.
2682 (impl_accessibility_registry_deregister_global_event_listener):
2683 always init listeners.
2684 (_registry_notify_listeners): yes it is.
2686 * cspi/spi-listener-impl.c (cspi_key_event):
2688 (cspi_event_listener_finalize): impl.
2689 (cspi_event_listener_class_init): hook up.
2690 (event_handler_new, event_handler_free),
2691 (event_list_remove_by_callback): impl.
2692 (cspi_event_listener_remove_callback),
2693 (cspi_keystroke_listener_remove_callback),
2694 (cspi_keystroke_listener_add_callback),
2695 (cspi_event_listener_add_callback): upd.
2697 * libspi/keystrokelistener.c
2698 (keystroke_listener_object_finalize): kill
2699 (spi_keystroke_listener_class_init): upd.
2700 (spi_keystroke_listener_add_callback),
2701 (spi_keystroke_listener_remove_callback): kill,
2703 (impl_key_event): prune drasticaly.
2705 * libspi/eventlistener.c
2706 (spi_event_listener_add_callback),
2707 (spi_event_listener_remove_callback): kill, use
2709 (impl_accessible_event_notify_event): upd.
2710 (spi_event_listener_object_finalize): remove.
2712 * libspi/Makefile.am: use eventlistener.[ch]
2714 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2716 * libspi/registry.c (_registry_notify_listeners):
2717 Changed listener loop iteration to use preferred convention.
2718 Got rid of string memory leaks caused be calling g_strconcat
2719 inside function calls.
2721 * libspi/registry.c (parse_event_type):
2722 Stopped g_strconcat memory leaks, free the g_strsplit return,
2723 g_strdup the split pieces when used, etc.
2725 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2728 Change method 'compare' to return a 'difference set' rather than
2729 taking a StateSet as an out parameter (more Java-friendly).
2731 * idl/Accessible.idl:
2732 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2734 * idl/Component.idl:
2736 Changed methods 'getExtents' and 'getImageExtents' in these
2737 interfaces to return a BoundingBox structure.
2738 (getPosition and getSize are redundant and possibly should be
2739 removed, rather than creating a corresponding Point struct.)
2741 * cspi/spi_component.c:
2742 Modify implementation of getExtents to reflect the above IDL
2747 Add (missing) AccessibleImage_getExtents () API.
2749 * docs/reference/cspi/at-spi-cspi-sections.txt:
2750 Added AccessibleImage_getImageExtents () to docs.
2752 2001-12-03 Bill Haneman <bill.haneman@sun.com>
2754 * idl/Component.idl:
2755 Added two methods, getLayer () and getMDIZOrder (), to reflect
2756 the new ATK methods atk_object_get_layer and
2757 atk_object_get_mdi_z_order. (Which arguably should be part of the
2758 AtkComponent API and AtkObject). Also added an enum,
2759 ComponentLayer, for the first method's return value.
2761 * libspi/component.c:
2762 Added implementations for these methods.
2764 * cspi/spi_component.c:
2766 Added cspi binding methods for above,
2767 AccessibleComponent_getLayer() and
2768 AccessibleComponent_getMDIZOrder().
2769 Added cspi enum 'AccessibleComponentLayer'.
2771 * docs/reference/cspi/at-spi-cspi-sections.txt:
2772 Added above methods to docs.
2776 Changed typedef for 'boolean' type (and all references to it) to
2777 SPIBoolean, to avoid keyword clashes with C++.
2780 Changed usages of 'boolean' to SPIBoolean.
2782 * test/keysynth-demo.c:
2783 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2784 app), except where SPIBoolean is required by the callbacks API.
2786 2001-12-02 Bill Haneman <bill.haneman@sun.com>
2788 * cspi/spi_registry.c:
2789 Removed obsolete X event loop for passive keygrabs (which now
2792 * registryd/registryd.c:
2793 Removed unnecessary call to gdk_init() [cruft]. This also allows
2794 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2797 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2799 * docs/reference/cspi:
2800 Included docs for SPI_freeString in generated documentation.
2803 Renamed spi_freeString to SPI_freeString, for consistency. Added
2804 documentation for this function.
2807 Renamed spi_freeString to SPI_freeString, for consistency.
2808 Removed obsolete method declaration string_from_corba_string.
2810 * test/keysynth-demo.c:
2811 Small tweak to comments.
2814 Stopped leaking the strings returned from CSPI.
2816 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2818 Merged Michael's branch (see his ChangeLog entries below).
2820 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2821 bridge is alive, release on exit.
2823 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2824 Fix type check macro.
2827 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2830 Added is_gnome_app static, and method cspi_is_gnome_app(),
2831 so we can call the appropriate shutdown routine at exit in SPI_exit.
2833 * cspi/spi_main.c (cspi_object_ref):
2834 Duplicate the corba object passed in, since we're keeping it around.
2836 * cspi/SPI_exit.c, cspi_cleanup:
2837 Moved the releasing of the live refs to its own function, so we
2838 can put it in g_atexit (). Call the appropriate shutdown API
2839 depending on whethe calling client is a gnome app or not
2840 (bonobo_main_quit or CORBA_ORB_shutdown).
2842 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2843 Unref the listener when this method is called, after
2844 deregistration. Updated the API docs to note this behavior.
2846 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2847 Bugfixes: Ref the bonobo object when returning a parent or child
2848 reference, or an AccessibleRelation. Generally made sure
2849 BonoboObject refcount is incremented whenever we return an
2852 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2853 Fixed typo/bug in signal declaration.
2855 * libspi/accessibleeventlistener.h:
2858 * libspi/application.c (spi_application_new):
2859 Fixed leak in initialization.
2862 Remembered to increment bonobo-object refcount when returning
2863 children (applications) from desktop object.
2864 Added (empty) finalize method.
2866 * libspi/deviceeventcontroller.c:
2867 Hold a ref to listeners inside DEControllerKeyListeners.
2868 Added dec_key_listener_free() method. Use prepend instead of
2869 append in key_listener list. Fixed some refcount madness and
2870 leaks in the listener registration/deregistration - deregistration
2871 now calls dec_key_listener_free() on listeners, and on the
2872 temporarily constructed dec_key_listener() used to perform the search/match.
2874 * libspi/hypertext.c (spi_hypertest_finalize):
2875 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
2876 class. Also fixed spi_hypertext_interface_new() and
2877 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
2879 * libspi/hypertext.h:
2880 Removed pointless and duplicate AtkObject pointer from
2883 * libspi/keystrokelistener.c:
2884 Fixed incorrect type of keystroke_listener_parent_class,
2885 renamed keystroke_listener_object_finalize to
2886 spi_keystroke_listener_object_finalize.
2887 Fixed typo in signal declaration
2888 (spi_keystroke_listener_class_init).
2890 * libspi/registry.c:
2891 Added funcsions spi_listener_struct_new() and
2892 spi_listener_struct_free() to help with memory management issues.
2893 We also now use these methods instead of gnew + poking stuff into
2894 the struct, and to decrement listener counts/free the listeners
2895 when deregistering them.
2896 Fix more refcount bugs in getDesktop() and
2897 getDeviceEventController().
2900 De-ref the desktop after enumerating the applications. Explicitly
2901 decrement the refcounts on the created listeners on exit (using
2902 _unref for keystroke listeners, and via the
2903 deregisterGlobalEventListenerAll command for other event
2906 2001-11-27 Michael Meeks <michael@ximian.com>
2908 * cspi/spi-listener.h: fixup enum.
2910 2001-11-27 Michael Meeks <michael@ximian.com>
2912 * cspi/spi-listener-impl.c (cspi_event_listener_new),
2913 (cspi_keystroke_listener_new): Use the cspi variants.
2915 2001-11-26 Michael Meeks <michael@ximian.com>
2917 * test/keysynth-demo.c: fix 2 compile warnings, missing
2920 * test/simple-at.c (report_focussed_accessible),
2921 (report_focus_event, report_button_press),
2922 (check_property_change, is_command_key),
2923 (report_ordinary_key_event, report_command_key_event): upd.
2925 * util/mag_client.h: include pre-requisites.
2927 * libspi/accessibleeventlistener.c
2928 (spi_event_listener_object_finalize): free any lingering
2931 * libspi/keystrokelistener.c
2932 (keystroke_listener_object_finalize): ditto.
2934 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2935 callbacks, with cspi types.
2937 * cspi/spi_event.c (createAccessibleEventListener): chain to
2938 (AccessibleEventListener_addCallback): here.
2939 (createAccessibleKeystrokeListener): chain to
2940 (AccessibleKeystrokeListener_addCallback): here.
2942 * libspi/keystrokelistener.c
2943 (spi_keystroke_listener_class_init): add signal.
2944 (impl_key_event): emit the event.
2945 (boolean_handled_accumulator): impl.
2946 (marshal_BOOLEAN__POINTER): add, gack.
2948 * libspi/accessibleeventlistener.c
2949 (spi_event_listener_class_init): add signal.
2950 (impl_accessible_event_notify_event): emit the signal &
2951 make the loop efficient.
2952 (spi_event_listener_add_callback): prepend the callback.
2954 * libspi/accessibleeventlistener.h: add an 'event' signal,
2955 decl type on callback.
2957 * libspi/keystrokelistener.h: ditto.
2959 * cspi/spi-listener.h: make methods typesafe and
2960 make them use the new event typedefs.
2962 * test/simple-at.c (report_focussed_accessible):
2963 include mag_client.h
2964 Use *(void *)text_interface not the other thing.
2966 * configure.in: add gtk to registryd bits - since we use
2969 * util/magnifier.c: include libbonobo.h
2971 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2973 * test/keysynth-demo.c:
2974 Turned this into a simple scanning keyboard, to demonstrate the
2975 use of g_timeout_add () as a means of creating timers for
2976 scanning, and the use of GtkStyle for visually indicating when
2977 virtual keyboard elements are selected.
2979 keysynth-demo now listens to any keyboard keys with zero-valued
2980 keycodes (i.e. 'unused' keys) and interprets them as
2983 Reworked the shiftlatch code so that shift-down state isn't held
2984 for long periods (it's only synthesized immediately prior to
2985 the keysynth event it's modifying). Note that shiftlatch in this
2986 demo is a convenience, not intended to take the place of AccessX
2987 which is the better choice for getting 'sticky' modifier keys.
2989 * libspi/deviceeventcontroller.c:
2990 * at-bridge/bridge.c:
2991 * cspi/spi_registry.c:
2992 Removed some debug print stuff, and put other verbosity in #ifdef
2997 Implemented some more of the magnifier IDL for the simple
2998 magnifier: namely, getZoomRegionParams.
2999 Added mag_x and mag_y members to MagnifierData struct, aid of this
3001 Added GtkWindow::realize signal handler to magnifier, to keep it
3002 from receiving keyboard focus from the WM.
3004 2001-11-23 Mark McLoughlin <mark@skynet.ie>
3006 * cspi/spi-private.h: my guess at what michael forgot
3007 before he ran off to NZ :-)
3009 2001-11-23 Michael Meeks <michael@ximian.com>
3011 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
3012 comment out non existant method invoke so we link.
3014 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
3015 use bonobo_exception_get_text for more friendly warnings.
3017 * cspi/spi.c (Obj_Add): move into spi_main & rename
3018 spi_object_add; kill spi.c
3020 * cspi/spi_registry.c
3021 (deregisterGlobalEventListener),
3022 (deregisterGlobalEventListenerAll),
3023 (registerGlobalEventListener): fix exception leaks.
3025 * cspi/spi_main.c (spi_exception): impl. helper, so we
3026 don't leak exceptions.
3028 * cspi/spi_selection.c
3029 (AccessibleSelection_deselectSelectedChild): return the
3032 * cspi/spi_main.c (spi_ev): impl; hack - gack.
3033 (spi_registry): ditto.
3034 (SPI_init): guard against double inits.
3036 * cspi/*.c: use spi_ev (), and spi_registry () where
3037 appropriate - a temporary hack until we have something
3038 better. Use spi_object_add
3040 2001-11-22 Michael Meeks <michael@ximian.com>
3042 * cspi/Makefile.am: re organise, install the headers.
3044 * cspi/*.h: add G_BEGIN/END_DECLS
3046 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3049 Added non-preemptive keylistener for key events with no modifiers
3050 and shift-only modifier.
3052 * libspi/keystrokelistener.c:
3053 Removed some verbose diagnostics printout.
3055 * cspi/spi_registry.c:
3056 Fixed a bug that caused all key listeners to be registered as
3059 * libspi/deviceeventcontroller.c:
3060 Fixed bug that caused XGrabKey (preemptive key grab) to be called
3061 for non-preemptive key masks.
3064 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3066 * docs/reference/idl/at-spi-idl-docs.sgml:
3067 * docs/reference/idl/at-spi-idl-sections.txt:
3068 * docs/reference/idl/at-spi-idl-overrides.txt:
3069 Added missing files.
3071 * docs/reference/Makefile.am:
3072 removed idl from SUBDIRS until we can figure a way to get gtk-doc
3073 to scan the IDL files :-(
3078 Added .cvsignore files.
3080 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3082 * libspi/deviceeventcontroller.c:
3083 * libspi/keystrokelistener.c:
3085 * cspi/spi_registry.c:
3086 Added filters for KeySets, KeyEventSeq, and event types to key
3087 event dispatching, so listeners should only receive those events
3088 that they requested :-)
3090 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3095 * docs/reference:Makefile.am:
3096 * docs/reference/cspi:
3097 * docs/reference/cspi:Makefile.am:
3098 * docs/reference/cspi:tmpl:
3099 * docs/reference/cspi:tmpl:*.sgml:
3100 * docs/reference/idl:
3101 * docs/reference/idl:Makefile.am:
3102 * docs/reference/idl:at-spi-idl-sections.txt:
3103 * docs/reference/idl:at-spi-idl-docs.sgml:
3104 * docs/reference/idl:tmpl:
3105 * docs/reference/idl:tmpl:*.sgml:
3107 Restructured docs directory to allow separate 'reference' docs
3108 section, and forked idl and cspi docs. Added the sgml template
3109 files to CVS. Added the first sections/structural sgml for the
3112 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
3114 * configure.in, libspi/Makefile.am: find libXtst.
3116 2001-11-21 Michael Meeks <michael@ximian.com>
3118 * test/accessx-gui.c: s/spi_value/value/ - doh.
3120 * libspi/base.[ch]: add.
3122 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3124 * idl/Accessible.idl:
3125 * idl/Application.idl:
3128 Started gtk-doc cleanup on IDL.
3130 * libspi/deviceeventcontroller.c:
3131 Added and connected non-preemptive key notification from the
3132 toolkits (in addition to the pre-emptive support from XServer
3133 which we had before, but which causes 'focus flashing'). Filters
3134 are presently limited to key modifiers and global/non-global,
3135 KeySets are presently ignored, as are KeyEvent masks.
3137 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
3138 structs into the persistant structure rather than just storing
3139 pointers to things that might not persist across servant
3142 The XGrabKey call now does async keygrabs, because synchronous
3143 ones were deadlocking with GDK_event code in a very nasty way.
3145 Added boolean to internal method notify_keylisteners, to indicate
3146 whether the event came from the 'toolkit source' or the 'global
3147 (XServer) source' - this is used in the notification process to
3148 determine which listeners to send the event to.
3150 deviceeventcontroller.c is now warning-free.
3152 * libspi/registry.c:
3153 Fixed regression in application de-registration.
3154 Also fixed some really brain-dead weirdness having to do with
3155 event dispatching - event structs are now duplicated before being
3156 re-marshalled in the dispatch to listeners. This also fixes a
3157 Solaris build problem.
3160 2001-11-20 Michael Meeks <michael@ximian.com>
3163 (impl_accessibility_registry_deregister_global_event_listener):
3166 * libspi/deviceeventcontroller.c
3167 (spi_device_event_controller_check_key_event): return
3168 FALSE on no virtual method.
3170 * libspi/*..h: make includes work on a correctly pathed install.
3172 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
3174 * libspi/application.h: kill unused ( and whacked out )
3175 gboolean *spi_application_set_id (AtkObject *app, long id);
3177 2001-11-20 Michael Meeks <michael@ximian.com>
3179 * libspi/*.[ch]: further convert to bonobo's type func
3180 macros, remove redundnant casts etc.
3182 * libspi/text.c s/accessibility_text/spi_text/g,
3183 re-order to de-cruft.
3185 * libspi/hypertext.c: re-order to kill a huge slew
3186 of redundant forward decls.
3188 * libspi/relation.c: ditto.
3190 * libspi/image.c: ditto.
3192 * */.cvsignore: update
3194 2001-11-20 Michael Meeks <michael@ximian.com>
3196 * libspi/deviceeventcontroller.c
3197 (_controller_register_with_devices): use g_getenv,
3198 kill stdlib.h include.
3200 * libspi/keystrokelistener.c
3201 (spi_keystroke_listener_get_type): kill
3202 (spi_keystroke_listener_class_init),
3203 (spi_keystroke_listener_init): rename to this.
3205 * libspi/text.c (impl_getAttributes): fix warning / bug.
3207 * libspi/*.[ch]: more headers, includes and over commenting.
3209 2001-11-20 Michael Meeks <michael@ximian.com>
3211 * libspi/*.[ch]: fixup headers, includes and over commenting.
3213 * libspi/image.c (impl__get_imageDescription): const
3214 correctness warning fix. remove redundant casting.
3216 * libspi/table.c (impl_getRowDescription): ditto.
3217 (impl_getColumnDescription): ditto.
3219 * libspi/libspi.h: add.
3221 2001-11-19 Michael Meeks <michael@ximian.com>
3223 * libspi/editabletext.c (impl_setAttributes): fix warnings.
3225 * libspi/component.c (accessibility_component_get_type):
3226 rename to (spi_component_get_type): and macroify.
3227 (accessibility_component_init): rename to
3228 (spi_component_init): this
3229 (accessibility_component_class_init): rename to
3230 (spi_component_class_init): this
3232 * libspi/action.c (spi_action_get_type): kill, use the macro.
3234 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
3237 * libspi/application.c (spi_application_object_event_listener),
3238 (impl_accessibility_application_register_object_event_listener):
3239 warning fixes / const understanding updates.
3241 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
3244 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3246 * libspi/spi_accessible.c: Added docs and C bindings for
3247 AccessibleStateSet. (No implementations yet). Documentation
3248 coverage for C bindings now 100%. Made docs for event listeners
3253 boolean notifyListenersSync (in DeviceEventListener listener,
3254 in DeviceEvent event);
3256 oneway void notifyListenersAsync (in DeviceEventListener listener,
3257 in DeviceEvent event);
3259 Added DeviceEventListener and DeviceEvent structs (may deprecate
3260 KeyStroke and KeystrokeListener in favor of this generic
3261 event/listener framework for devices).
3263 * libspi/deviceeventcontroller.c:
3265 Changed some key listener code to take masks, etc., and paved the
3266 way for integration of toolkit/non-preemptive key events. Changed
3267 signatures of some internal methods.
3269 * at-bridge/bridge.c:
3270 Fixed regression connecting to interface signals, apparently
3271 caused by GTK+ changes.
3273 Added an internal bridge_state_listener to deal with
3274 property-change:accessible-state signals.
3276 Changed the key_listeners GList to store structs (including masks,
3277 etc.) instead of just CORBA_Objects (required for full
3278 implementation of key listener API).
3280 Connected the bridge to all currently supported Atk signals.
3281 Events now supported:
3282 object:property-change
3283 object:property-change:accessible-name
3284 object:property-change:accessible-state
3285 object:property-change:accessible-description
3286 object:property-change:accessible-parent
3287 object:property-change:accessible-value
3288 object:property-change:accessible-role
3289 object:property-change:accessible-table-caption
3290 object:property-change:accessible-table-column-description
3291 object:property-change:accessible-table-column-header
3292 object:property-change:accessible-table-row-description
3293 object:property-change:accessible-table-row-header
3294 object:property-change:accessible-table-summary
3295 object:children-changed
3296 object:visible-data-changed
3297 object:selection-changed
3298 object:text-selection-changed
3300 object:text-caret-moved
3302 object:row-reordered
3304 object:column-inserted
3305 object:column-reordered
3306 object:column-deleted
3307 object:model-changed
3309 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3311 * libspi/hyperlink.c,h:
3312 Fixed some broken stuff in hyperlink.
3314 * libspi/relation.h:
3315 * libspi/relation.c:
3316 * cspi/spi_accessible.c:
3317 Initial implementations of AccessibleRelation methods, and docs.
3319 * libspi/accessible.c:
3320 Fixed a bug that caused SEGV if an accessible
3321 object's description is NULL, and a client
3322 requests it. An empty string is now returned.
3324 * cspi/spi_editabletext.c:
3325 * cspi/spi_hypertext.c:
3327 * cspi/spi_hyperlink.c:
3331 Doc coverage now 95%.
3333 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3335 One last namespacing revision:
3336 * libspi/accessibleeventlistener.[ch]:
3337 Renamed SpiAccessibleEventListener to SpiEventListener,
3338 (no need for two namespaces ;-)
3340 And lots of documentation fixes:
3342 * docs/at-spi-docs.sgml:
3343 Fixed 'underscore vs. hyphen' bug that was preventing
3344 the gtk-doc API docs from being automatically generated.
3347 * cspi/spi-listener.h
3349 * cspi/spi_accessible.c
3351 * cspi/spi_application.c
3352 * cspi/spi_component.c
3353 * cspi/spi_editabletext.c
3355 * cspi/spi_hypertext.c
3357 * cspi/spi_registry.c
3358 * cspi/spi_selection.c
3362 * docs/at-spi-docs.sgml
3363 * docs/at-spi-sections.txt
3365 Added and fixed up gtk-doc documentation in cspi.
3367 Interfaces now (fully) documented (subject to revision and enhancement):
3369 Event Listener Support
3371 AccessibleApplication
3375 AccessibleEditableText
3382 AccessibleRelationSet
3387 2001-11-14 Bill Haneman <bill.haneman@sun.com>
3389 * at-bridge/bridge.c:
3390 Initial work for toolkit-level key snooper connection by bridge.
3395 New typedefs and fixes to support new namespacing, and cleaner
3396 separation of cspi bindings from libspi bonobo implementation.
3397 Removed inconsistent and extraneous Spi* namespace prefix that
3398 had crept into cspi headers.
3399 Lots of comment fixes that sed had missed.
3401 * cspi/spi-roletypes.h:
3402 * cspi/spi-statetypes.h:
3403 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
3404 to AccessibleRoleType.
3406 * libspi/accessibleeventlistener.h:
3407 Fixed minor namespacing weirdness.
3409 * libspi/deviceeventcontroller.c:
3410 Reordered some internal API for device listeners.
3411 Changed the key registry final boolean to 'is_system_global'
3412 rather than 'is_synchronous', which is more descriptive of its
3414 Added spi_device_event_controller_new().
3415 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
3417 * libspi/keystrokelistener.[ch]:
3418 Namespaced KeystrokeListener to SpiKeystrokeListener.
3419 Changed uses of keymasks to use SPI_ prefix, and did other
3422 * libspi/keymasks.h:
3423 Namespaced keymask constants with SPI_ prefix.
3425 * libspi/registry.c:
3426 Some warning fixes, and knock-on fixes from namespace changes.
3429 Added rules for accessx-gui test program.
3431 * test/accessx-gui.c:
3432 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
3433 utility. It doesn't actually use at-spi, but it's still cool and
3436 * test/keysynth-demo.c:
3440 Fixes so that these test clients work properly with the namespaced
3441 libraries. (Incompletely tested for technical reasons, fixes may follow)
3444 2001-11-13 Michael Meeks <michael@ximian.com>
3446 * libspi/application.c
3447 (impl_accessibility_application_get_version),
3448 (impl_accessibility_application_get_toolkit_name):
3450 (impl_accessibility_application_set_id),
3451 (impl_accessibility_application_get_id): remove
3452 redundant casting code.
3454 * libspi/action.c (impl_getDescription): fix warnings.
3456 * libspi/accessible.c
3457 (impl_accessibility_accessible_get_parent),
3458 (impl_accessibility_accessible_get_child_at_index),
3459 (impl_accessibility_accessible_get_state),
3460 (impl_accessibility_accessible_get_relation_set):
3461 warning fixes & include action.h
3463 2001-11-13 Michael Meeks <michael@ximian.com>
3465 * *.[ch] fix bits I screwed up:
3467 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3468 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3470 2001-11-13 Michael Meeks <michael@ximian.com>
3472 * *.[ch] Namespace libspi into spi_ and Spi.
3474 2001-13-11 Michael Meeks <michael@ximian.com>
3476 * Makefile.am: dist & install at-spi-1.0.pc
3478 * libspi/Makefile.am: install into at-spi-1.0
3480 * idl/Makefile.am (idldir): install into at-spi-1.0
3482 * at-spi-1.0.pc.in: add.
3484 * configure.in: build it.
3486 2001-11-12 Bill Haneman <bill.haneman@sun.com>
3488 * test/keysynth-demo.c:
3489 Use a 'realize' signal-handler to set the WM properties for
3490 the virtual keyboard, rather than making it a "POPUP" type
3491 override-redirect window (thanks to anders carlsson for that
3494 2001-11-11 Bill Haneman <bill.haneman@sun.com>
3497 * test/keysynth-demo.c:
3498 Added new test of key synthesis, which creates a simple
3499 (mouse-operated) onscreen keyboard. It inserts key events into
3500 the currently-focused window, thus it does not grab keyboard focus
3503 * cspi/spi_registry.c:
3504 Added C binding for AT-SPI generateKeyEvent.
3506 * libspi/deviceeventcontroller.c:
3507 Added call to XFilterEvent so that key listener works with XIM (we
3508 hope). Added event_synth_type to generateKeyEvent, so that we can
3509 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3510 synthesize a press/release pair for KeySyms.
3512 2001-11-09 Bill Haneman <bill.haneman@sun.com>
3514 * libspi/Makefile.am:
3515 * registryd/Makefile.am:
3516 (temporary) hack to include libXtst in libspi and registryd.
3517 (Needed for keystroke synthesis, see below).
3520 Improved API for registerKeystrokeListener, in accordance with
3521 discussions with Gnopernicus team and X server research.
3523 * libspi/registry.c:
3524 * libspi/deviceeventcontroller.c:
3525 * libspi/accessible.c:
3526 * libspi/keystrokelistener.c:
3527 Changes and fixes to support keylisteners for potentially
3528 consumed key events (that is, 'passive grabs').
3529 Added implementation for generateKeyEvent() [untested].
3532 Changes to registerKeystrokeListener() API, as above.
3533 Added deregisterGlobalEventListenerAll(), and
3534 deregisterKeystrokeListener(), which are needed for clean exit of
3536 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3537 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3539 * cspi/spi_registry.c:
3540 Added implementations of function prototypes mentioned above.
3542 * registryd/registryd.c:
3543 Added the key listener event source as a g_timeout(), to allow
3544 receipt of key events that are not caught by GDK (since GDK
3545 doesn't support passive keygrabs, this was necessary).
3548 Changed to attach a keylistener to 'Alt' keys, and
3549 respond to the following keycommands: Alt-M (toggle magnifier);
3550 Alt-F (toggle speech); Alt-Q (quit).
3551 Added an exit routine to deregister the listeners, and a key
3552 listener that prints some key info to the console when a key
3553 matches the listener mask (and is thus received by the listener).
3555 * util/idl/Magnifier.idl:
3556 Changes to magnifier API to support multiple zoom regions,
3557 non-uniform scaling in x and y, markDirty, and a host of other
3558 features that would be useful to magnification.
3561 * util/mag_client.c:
3562 * util/mag_client.h:
3563 * util/mag_control.c:
3565 Source code changes to support the above IDL changes.
3568 As above, and also changes to use a (slower) generic conversion
3569 path for colormap conversions, since the fast RGB conversions have been
3570 reported to fail for 16-bit displays.
3572 2001-10-26 Michael Meeks <michael@ximian.com>
3574 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3576 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3578 * at-bridge/Makefile.am: fix LDFLAGS.
3580 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3582 * at-bridge/bridge.c:
3583 Re-worked listeners for toolkit events, now we have signal
3584 and property listeners. Added a private method
3585 register_atk_event_listeners(), which registers with the
3586 various atk and gtk signals we need to monitor in order to emit
3588 Added emission hook for AtkObject:property-change events, to
3589 support the 'property listeners'.
3590 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3593 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3594 which emit warnings and exit, respectively, if CORBA errors occur
3595 during remote calls, and we now use these methods to check most of
3596 our CORBA calls in the C bindings.
3598 * cspi/spi_accessible.c:
3599 Changed AccessibleSelection_refSelectedChild() to
3600 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3601 now increment refcounts.
3603 * cspi/spi_component.c:
3604 Fixed some long pointer casts (dangerous!) to pass pointers to
3605 CORBA_longs of the proper type to the CORBA stubs, and copy the
3606 data into the longs that were passed into the C bindings code.
3608 * at-bridge/bridge.c:
3610 * libspi/accessible.c:
3611 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3612 hyperlinks, AtkHyperlink is an object type.
3614 * libspi/application.c:
3615 Added various conversions to and from "generic" event types and
3616 atk-specific types; this is really part of the 'bridge'
3617 implementation but is valid for all AtkObject-based accessibility
3620 * libspi/editabletext.c:
3621 Fixed nasty bug wherein editable text's finalize method was
3622 unref'ing tha AtkObject reference that the text parent class was
3623 about to unref _again_. There was also a nasty inheritance bug
3624 that meant that the AccessibleEditableText class was corrupt.
3626 * libspi/selection.c:
3627 Provided implementations for some selection API that was broken.
3629 * idl/Application.idl:
3630 Added registerObjectEventListener () method.
3633 Fixed a number of return values that were Bonobo_Unknowns from
3634 bonobo_object_corba_objref(), which I
3635 forgot to dup before returning. Changed instances of
3636 bonobo_object_corba_objref (bonobo_object(o)) to
3637 BONOBO_OBJREF(o), for concision and clarity.
3639 2001-10-13 Louise Miller <louise.miller@sun.com>
3641 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3642 idl/Event.idl, idl/Registry.idl
3643 Changed these files to include Bonobo_Unknown.idl instead
3646 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3648 * libspi/component.c libspi/component.h:
3649 Fixed typo. Added assertions for object checks in
3650 AccessibleComponent code.
3652 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3654 * idl/Accessible.idl:
3655 Added 'isEqual (Accessible *object)'
3656 method for Accessible. (Not Yet Implemented).
3659 Changed signature of registerKeystrokeListener() to
3660 take a KeySet and KeyEventSeq so that specific keys and event
3661 types could be requested for monitoring, and added a flag
3662 is_synchronous so that either synchronous or asynchronous
3663 notification could be requested. (However this is not all
3664 implemented yet). This also meant adding two new typedefs,
3665 KeyEventSeq and KeySet.
3668 Added two new relations, RELATION_TOOLTIP_FOR and
3669 RELATION_LEAFNODE_OF.
3672 Added new state, STATE_HAS_TOOLTIP.
3674 * libspi/text.c, editabletext.c:
3675 Added new assertions to all casts of bonobo-objects from
3676 CORBA servants, to prevent Text API calls on non-text objects.
3677 Changed suspect casts of int-pointer types, so that we
3678 always send a valid CORBA_long pointer to the CORBA APIs that use
3679 in/out long parameters. We then have to copy from the CORBA_long
3680 into the regular long or int for return to the C bindings, or
3681 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3684 * libspi/deviceeventcontroller.c:
3685 Cleaned these sources up.
3687 Changed return type for getCharacterAtOffset to
3688 CORBA_unsigned_long, to allow for 32-bit characters.
3691 2001-10-08 Bill Haneman <bill.haneman@sun.com>
3695 Fixed 'make dist' so that distro compiles...
3696 * libspi/keymasks.h:
3698 * cspi/spi-listener.c:
3699 KeystrokeListenerCB now returns a boolean.
3701 Added KeyEventType struct, and KeyStroke.
3702 Also added createKeystrokeListener(),
3703 KeystrokeListener_addCallback(),
3704 KeystrokeListener_removeCallback(), and added a keymask to
3705 registerKeystrokeListener().
3706 * cspi/spi_accessible.c:
3707 Changed numerous return types for interfaces from
3708 AccessibleComponent to Accessible<InterfaceName>; this was
3709 probably a cut-and-paste error.
3711 Implementations of new KeystrokeListener api (from spi.h,
3714 Changes to key modifier mapping.
3715 Created ControllerEventMask struct.
3716 Made DeviceEventController derive from Bonobo::Unknown.
3718 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3719 * libspi/deviceeventcontroller.c:
3720 Added a number of new internal (private) methods.
3721 * libspi/editabletext.c:
3722 * libspi/editabletext.h:
3723 Fixed a number of bugs related to the fact that
3724 editabletext inherits from text. Fixed the EditableText struct,
3725 the init() call, and use correct casts when calling Text methods
3726 from an EditableText object. Removed (duplicate) atko from the
3727 EditableText structure, we use the one in the parent Text
3728 structure via the casts mentioned above.
3729 * libspi/keystrokelistener.[ch]:
3730 * libspi/registry.c:
3731 Changes in support of keyboard handling (above).
3733 Keyboard handling, though partly functional, is still not
3734 recommended for at-spi client use as there is considerable
3735 work yet to be done.
3738 Changed some places where pointers to various int types
3739 are cast to be pointers to CORBA_long types and vice-versa:
3740 pointer casting is not safe so we pass pointers of the correct
3741 types and then cast the result before putting it into the target
3744 * libspi/text.h: minor typos corrected.
3746 We now speak not only the name of a Text element, but the
3747 first sentence of its content, when it receives focus.
3748 I also changed the text compression to 75% from 50%.
3749 * util/Accessibility_Util.server.in:
3750 Changed the default magnifier type to be a 3x vertical
3751 splitscreen magnifier (was previously a 2x horizontal one).
3753 2001-10-03 Bill Haneman <bill.haneman@sun.com>
3755 * libspi/keystrokelistener.h:
3756 * libspi/keystrokelistener.c:
3757 Initial functional implementations of KeystrokeListener.
3760 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
3762 Fixed string handling for NULL strings in libspi.
3763 Added spi_freeString to free strings returned by C bindings.
3765 2001-09-30 Bill Haneman <bill.haneman@sun.com>
3767 * libspi/keystrokelistener.h:
3768 * libspi/keystrokelistener.c:
3769 Began (no-op) implementations of KeystrokeListener
3771 * libspi/deviceeventcontroller.c:
3772 * libspi/deviceeventcontroller.h:
3773 Began creating implementations of DeviceEventController,
3774 to handle keystroke and mouse event listening and
3776 * libspi/accessible.c:
3777 Stubbed-in the implementations for
3778 Accessibility_Accessible_getState and
3779 Accessibility_Accessible_getRelationSet.
3780 * libspi/registry.c:
3781 Improved de-registration process and fixed some bugs,
3782 deregistration now works correctly.
3784 Added initialization of applications list (to NULL).
3786 Reduced speech compression from 0.5 to 0.7, for demo.
3787 Changed call to gdk_window_set_decorations()
3788 to gtk_window_set_decorated().
3789 * at-bridge/bridge.c:
3790 Bridge now deregisters when app exits, via
3791 registration of a cleanup function
3792 with the g_atexit() call.
3793 Required making 'app' static, renamed 'this_app'.
3794 Fixed broken use of bonobo_init, passing argv wrongly.
3796 2001-09-27 Bill Haneman <bill.haneman@sun.com>
3800 Created a new directory for
3801 accessibility-related utilities, primarily for
3802 testing and demo purposes, but with possible
3809 Onscreen magnifier utility that
3810 is implemented as a bonobo service.
3812 * util/mag_client.c:
3813 * util/mag_client.h:
3814 Client-side support (simple C bindings)
3815 for Magnification service
3817 * util/mag_control.c:
3818 Client program example for
3819 Magnification service
3821 * util/Accessibility_Magnifier.server.in:
3822 Bonobo-activation file for the
3823 Magnification service.
3826 * util/idl/Magnifier.idl:
3827 IDL defining the bonobo Magnification
3831 Modifications to use the bonobo-activated magnifier
3832 above, in place of trying to connect to an existing
3833 magnifier that uses socket-listening IPC.
3835 If env variable MAGNIFIER is set, a magnifier service
3836 will be started if one does not exist.
3838 2001-09-25 Bill Haneman <bill.haneman@sun.com>
3840 * at-bridge/bridge.c:
3841 applied patch from Marc to build and run
3842 against new glib and gtk+ (seemed like a change
3843 to bonobo_init signature was made ?)
3845 made festival-server support turned off by default.
3846 Added support for a simple magnifier (off by default)
3847 which will be added to a 'util' directory later.
3848 * at-bridge/Makefile.am:
3849 Changed "application.h" header from a 'source'
3850 to a 'dependency' of libat-bridge.
3852 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3861 Added interface implementation c files to list of
3862 includes so they are included in libcspi.
3865 Changed prototype of AccessibleAction_doAction to return a
3867 Changed prototype of AccessibleTable_getCaption to
3868 return an Accessible.
3869 Changed prototype of AccessibleTable_getSelectedRows
3870 and AccessibleTable_getSelectedColumns to
3871 return a long (returns the number of selected rows
3872 or columns respectively).
3873 Changed name of AccessibleText_refRunAttributes to
3874 AccessibleText_getAttributes.
3875 Changed prototype of AccessibleText_getCharacterExtents to
3876 return a void rather than a boolean.
3877 Added support for a AccessibleCoordType parameter
3878 specifying what type of coordinates are desired.
3879 Added an AccessibleCordType parameter to
3880 AccessibleText_getPointAtOffset.
3882 * cspi/spi_accessible.c:
3883 Added code to return the outstanding interfaces from
3884 Accessible_queryInterface.
3886 * cspi/spi_action.c:
3888 Corrected call to getNActions to call the c binding
3891 * cspi/spi_editabletext.c:
3893 Changed name from setRunAttributes to setAttributes.
3895 * cspi/spi_hyperlink.c:
3897 Changed call to getNAnchors to correctly call the c
3898 binding for an attribute.
3900 * cspi/spi_hypertext.c:
3902 Changed getImageDescription to correctly call the
3903 binding for an attribute.
3905 * cspi/spi_selection.c:
3906 Changed getNSelectedChildren to correctly call the c
3907 binding for the attribute.
3908 Changed refSelectedChild to getSelectedChild.
3912 Changed getCaption to return an Accessible.
3913 Fixed calls which retrieve attributes.
3914 Changed refAt to getAccessibleAt.
3915 Changed getNSelectedRows and getNSelectedColumns to
3919 Changed getCharacterExtents and getPointAtOffset to accept an
3920 AccessibleCoordType.
3922 Changed calls which retrieve attributes.
3923 Changed refRunAttributes to getAttributes.
3928 * idl/Hyperlink.idl:
3929 Changed n_anchors attribute to nAnchors to keep naming
3930 convention consistent.
3933 Made Table inherit from Bonobo::Unknown.
3934 Added nSelectedColumns and nSelectedRows attributes.
3937 Made Value inherit from Bonobo::Unknown.
3939 * libspi/hyperlink.c:
3940 Change for nAnchors attributte name change.
3942 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3950 Added interface implementation c files to list of
3951 includes so they are included in libcspi.
3954 Changed prototype of AccessibleAction_doAction to return a
3956 Changed prototype of AccessibleTable_getCaption to
3957 return an Accessible.
3958 Changed prototype of AccessibleTable_getSelectedRows
3959 and AccessibleTable_getSelectedColumns to
3960 return a long (returns the number of selected rows
3961 or columns respectively).
3962 Changed name of AccessibleText_refRunAttributes to
3963 AccessibleText_getAttributes.
3964 Changed prototype of AccessibleText_getCharacterExtents to
3965 return a void rather than a boolean.
3966 Added support for a AccessibleCoordType parameter
3967 specifying what type of coordinates are desired.
3968 Added an AccessibleCordType parameter to
3969 AccessibleText_getPointAtOffset.
3971 * cspi/spi_accessible.c:
3972 Added code to return the outstanding interfaces from
3973 Accessible_queryInterface.
3975 * cspi/spi_action.c:
3977 Corrected call to getNActions to call the c binding
3980 * cspi/spi_editabletext.c:
3982 Changed name from setRunAttributes to setAttributes.
3984 * cspi/spi_hyperlink.c:
3986 Changed call to getNAnchors to correctly call the c
3987 binding for an attribute.
3989 * cspi/spi_hypertext.c:
3991 Changed getImageDescription to correctly call the
3992 binding for an attribute.
3994 * cspi/spi_selection.c:
3995 Changed getNSelectedChildren to correctly call the c
3996 binding for the attribute.
3997 Changed refSelectedChild to getSelectedChild.
4001 Changed getCaption to return an Accessible.
4002 Fixed calls which retrieve attributes.
4003 Changed refAt to getAccessibleAt.
4004 Changed getNSelectedRows and getNSelectedColumns to
4008 Changed getCharacterExtents and getPointAtOffset to accept an
4009 AccessibleCoordType.
4011 Changed calls which retrieve attributes.
4012 Changed refRunAttributes to getAttributes.
4017 * idl/Hyperlink.idl:
4018 Changed n_anchors attribute to nAnchors to keep naming
4019 convention consistent.
4022 Made Table inherit from Bonobo::Unknown.
4023 Added nSelectedColumns and nSelectedRows attributes.
4026 Made Value inherit from Bonobo::Unknown.
4028 * libspi/hyperlink.c:
4029 Change for nAnchors attributte name change.
4032 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
4034 implementations-- made server implementations own AtkObject pointers
4035 rather than their respective AtkInterrface pointers to fix
4036 refcounting. AtkHyperlink is still broken.
4038 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4039 * cspi/spi_accessible.c:
4040 Added method Accessible_Role_getName(),
4041 and requisite string array (role_names).
4042 Added conversion string_from_corba_strin() call
4043 to Accessible_getName and _getDescription.
4044 * libspi/accessible.c:
4045 Added implementation for Accessible_getRole()
4047 Added festival support, used if environment variable
4050 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4052 * at-bridge/bridge.c:
4053 Now allocate Accessibility_Event using
4054 Accessibility_Event__alloc() instead of g_new0().
4055 * libspi/accessibleeventlistener.c:
4056 Initialize AccessibleEventListener->callbacks to NULL.
4057 Fixed accessible__event_listener_init() param, changed to
4058 "AccessibleEventListener *" type.
4059 Changed a bonobo_object_release_unref() call to
4060 Accessibility_Accessible_unref().
4061 * libspi/listener.c:
4062 Changed Bonobo_Unknown_unref to (equivalent)
4063 Accessibility_Accessible_unref.
4064 * libspi/registry.c:
4065 Changed bonobo_object_release_unref to
4066 Accessibility_Accessible_unref.
4068 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4071 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
4072 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
4073 spi-util.c spi-util.h
4074 Implementations for C bindings to remaining accessibility
4077 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4080 changed return value of Action from void to boolean to
4081 bring in line with ATK.
4084 Changed getText funcions to return "out" start and end offsets.
4085 Changed getAttributes to take and offset and return the start
4086 and end offset of the attribute run.
4087 Changed getOffsetAtPoint and getCharacterExtents to take an
4088 enum describing whether coordinates are window or screen.
4091 libspi/action.c libspi/action.h libspi/editabletext.c
4092 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
4093 libspi/hypertext.c libspi/hypertext.h libspi/image.c
4094 libspi/image.h libspi/selection.c libspi/selection.h
4095 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
4096 libspi/value.c libspi/value.h
4097 Added server implementations for outstanding ATK interfaces
4098 not yet implemented.
4100 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4103 Added (missing) getName() method.
4104 Made nActions an attribute.
4105 * idl/EditableText.idl:
4106 Changed order of params in setAttributes.
4107 * idl/Hyperlink.idl:
4108 Removed getAnchor, added getURI.
4110 Changed attributes to methods, for efficiency
4111 (so that getting extents can be done in one call)
4112 * idl/Selection.idl:
4113 Changed nSelectedChildren to attribute, and re-indented.
4114 * idl/Table.idl: changed nrows, ncolumns, caption, summary
4116 * idl/Text.idl: reformatted to match our coding style.
4117 (temporarily?) removed getRowColumnAtOffset().
4118 Changed text selection API to support multi-select and
4119 non-contiguous selections, as in ATK.
4120 * idl/Value.idl: changed some methods to attributes.
4122 2001-08-24 Mark McLoughlin <mark@skynet.ie>
4124 * libspi/listener.c(impl_notify_event):
4125 BonoboUnkown_unref the source instead
4126 of bonobo_object_release_unref - the ORB
4127 handles the releasing.
4129 * configure.in: require ORBit-2.3.94 for
4132 2001-08-21 Bill Haneman <bill.haneman@sun.com>
4134 Tagged CVS repository 'EA_1_0'.
4135 * README.EARLY_ACCESS:
4136 Alphabetized acknowledgements list, and
4138 Listed some known dependencies of at-spi.
4140 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4142 * docs/at-spi-docs.sgml:
4143 * docs/at-spi-sections.txt:
4144 * docs/at-spi-overrides.txt: (Added zero-length file)
4145 Documentation improvements - gtk-doc should build
4146 docs for all implemented C bindings now.
4149 * cspi/spi.c: (New file)
4150 * cspi/spi_event.c: (New file)
4151 * cspi/spi_registry.c: (New file)
4152 * cspi/spi_accessible.c: (New file)
4153 * cspi/spi_application.c: (New file)
4154 * cspi/spi_component.c: (New file)
4155 Split spi_main.c into six parts, and included them from
4156 "spi.c". This is a bit of a hack, probably temporary,
4157 but required by gtk-doc, apparently.
4159 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4162 * docs/at-spi-docs.sgml:
4163 * docs/at-spi-sections.txt:
4165 Initial checkins/modifications for gtk-doc generation.
4168 Added (missing) interface query methods to Accessible's C binding.
4170 Added GenericInterface type definition.
4172 Added query for AccessibleComponent interface to focus event handler.
4173 Added printout of bounding box for focussed component.
4174 * libspi/component.c:
4175 Added partial implementation for AccessibleComponent to C binding.
4176 * idl/Application.idl:
4177 * libspi/registry.c:
4178 * libspi/listener.c:
4179 * libspi/application.c:
4180 * libspi/application.h:
4181 Changed "ID" attribute type from string to long.
4183 2001-08-19 Bill Haneman <bill.haneman@sun.com>
4187 Made method naming consistent: methods taking object args
4188 start with uppercase, other methods (except those using
4189 acronyms) start with lowercase. Underscores delimit between
4190 object names and method names:
4191 SPI_init() - uppercase since it starts with an acronym.
4192 getDesktopCount () - lowercase start since no object param0.
4193 Accessible_getName() - uppercase object type name, studlyCaps method
4197 Added gtk-doc documentation for all currently implemented
4198 methods in the C bindings API.
4200 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4202 * Makefile.am : changed build order to build test last.
4205 Changed "createEventListener" to "CreateEventListener".
4206 * libspi/accessibleeventlistener.c :
4207 Bugfix for addition of callbacks.
4208 * test/Makefile.am :
4209 * test/simple-at.c :
4210 Added new test that uses the C bindings API.
4212 * libspi/listener.c :
4213 * libspi/registry.c :
4214 * libspi/accessibleeventlistener.c :
4215 * at-bridge/bridge.c :
4216 Renamed member "target" of Accessibility_Event to "source",
4217 which is more descriptive.
4220 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4224 * cspi/Makefile.am :
4225 Added makefile support for at-spi/cspi directory.
4228 * cspi/spi-listener.h : (NEW FILE)
4229 Added support for/use of spi-listener.h.
4231 C bindings now build successfully, with no warnings.
4232 * libspi/accessibleeventlistener.h : (NEW FILE)
4233 * libspi/accessibleeventlistener.c : (NEW FILE)
4234 * libspi/Makefile.am :
4235 Added new object type "AccessibleEventListener"
4236 which inherits from Listener, and allows attachment
4237 of in-process callbacks (so that a client with a listening
4238 object instance can add functionality to the local
4239 implementation, dynamically).
4241 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4243 * libspi/accessible.c:
4244 Add implementation for get_index_in_parent().
4246 Added #include of "spi-roletypes.h", and
4247 added enumerated type AccessibleCoordType.
4248 Added definition for KeystrokeListener (function type).
4251 * cspi/spi-statetypes.h :
4252 * cspi/spi-roletypes.h :
4254 Added these headers, used by spi.h.
4256 Added code (NOTE: not yet built by make).
4258 2001-08-18 Mark McLoughlin <mark@skynet.ie>
4260 * libspi/Makefile.am: generate imodule
4261 at the same time as other idl compiler
4264 2001-08-17 Bill Haneman <bill.haneman@sun.com>
4265 * libspi/registry.c :
4266 * libspi/application.c :
4267 * idl/Application.idl :
4268 Made registration with toolkit an application method,
4269 which is required since each app has its own toolkit static
4270 environment. Thus the bridge must register for
4271 notification of toolkit events from each application in turn.
4272 Toolkit notifications are now successfully registered for, and
4273 sent to the listening at client.
4275 Changed toolkit event string to use hyphens rather than underscores.
4276 * libspi/listener.c :
4277 listner now gives more info in debug mode - it reports the
4278 name of the event received, as well as the name of the source.
4281 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4283 * libspi/registry.c :
4284 added more implementation for toolkit events.
4285 Fixed bug such that toolkit event registrations
4286 (via atk) use the whole event name string, not
4288 Removed a useless call to an ORBit_ method.
4289 * at-bridge/bridge.c :
4290 Removed unused local sbuf[] variable.
4292 We now register for Gtk:GtkWidget:button_press_event
4293 events as well as "focus:" events.
4295 Add some more API from Registry.idl that was missing,
4296 for keystroke listening, keystroke and mouse event
4297 synthesis, and enumeration of accessible desktops.
4299 2001-08-16 Michael Meeks <michael@ximian.com>
4301 * configure.in: use AM_GLIB_GNU_GETTEXT.
4303 * Makefile.am (SUBDIRS): kill intl.
4305 2001-08-15 Michael Meeks <michael@ximian.com>
4307 * registryd/Makefile.am: s/oaf/server/ relocate info file.
4309 * configure.in: upd.
4311 * configure.in: depend on a recent bonobo-activation that
4312 will find our server files ...
4314 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4316 * libspi/accessible.c : accessible_new() :
4317 Now we add the Component interface via bonobo_object_add_interface,
4318 if the contained AtkObject implements AtkComponent.
4319 * libspi/accessible.h : now include "component.h"
4320 * libspi/component.h :
4321 * libspi/component.c : added files - implementation of
4322 bonobo wrapper object for Accessibility/Component
4323 * libspi/listener.c :
4324 Added test code to check for Accessibility/Component:1.0
4325 interface and report whether it is implemented by the
4327 * libspi/registry.c :
4328 Now we check for not only the hash of the whole event
4329 string before relaying the event, we also check the
4330 "minor" event string (without the detail string).
4331 This allows event listeners to be registered against
4332 all events of a certain major+minor type, or just
4333 against a specific major+minor+detail type.
4334 * libspi/accessible.c :
4335 Added implementations for Accessible:get_parent(),
4336 Accessible:getChildCount(), and Accessible:getChildAtIndex().
4337 * libspi/registry.c :
4338 * libspi/listener.c :
4339 Replaced calls to Accessibility_Accessible_ref() and
4340 Accessibility_Accessible_unref() with
4341 calls to bonobo_object_dup_ref() and
4342 bonobo_object_release_unref(), so that the CORBA object
4343 is dup-ed and released when relayed, as well as the bonobo object.
4345 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4347 * libspi/Makefile.am,
4348 registryd/Makefile.am,
4349 at-bridge/Makefile.am.
4350 test/Makefile.am, configure.in:
4351 reverse previous changes.
4353 * /idl/Image.idl: fix typo.
4355 * test/Makefile.am: put DEBUG_FLAGS
4358 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4360 * test/app.c: use argv[0] instead of
4363 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4365 * libspi/Makefile.am,
4366 registryd/Makefile.am,
4367 at-bridge/Makefile.am.
4368 test/Makefile.am, configure.in:
4369 cleanup, replace individual LIBS/CFLAGS with
4370 AT_COMMON_{LIBS|CFLAGS}.
4374 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4376 * configure.in, libspi/Makefile.am:
4377 Change IDL path checking for bonobo-activation
4380 2001-08-15 Bill Haneman <bill.haneman@sun.com>
4382 * registryd/registry.c : separated event listeners to use
4383 3 separate lists (focus, window, toolkit). Began testing
4384 event names against hashes before relaying events.
4385 * test/at.c : now register for events of type "focus:"
4386 * test/app.c : now generate events of type "focus:"
4387 * at-bridge/bridge.c : register with ATK for focus events,
4388 and we now relay those focus events to any "focus:" listeners.
4389 This now works with the bridge as a GTK_MODULE when running test/at.
4390 * libspi/registry.c :
4391 * libspi/listener.c :
4392 now we ref event sources before propagating, and unref on receipt.
4393 * libspi/registry.c :
4394 some changes to internal structs, to support event typestring hashes.
4395 * text/app.c : changed the way the appname is generated.
4396 * cspi : added directory that will hold the C bindings library for
4397 non-CORBA/bonobo-savvy clients.
4398 * cspi/spi.h : header file that contains the function prototypes for the C binding.
4399 * idl/Component.idl : added in parameter to indicate coord system for
4400 geometry-related calls.
4401 * idl/Hyperlink.idl : added readonly n_links attribute
4402 * idl/Image.idl : changed methods to attributes.
4404 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4406 * at-bridge/Makefile.am: link against
4407 ../libspi/libspi.la instead of -lspi.
4409 * at-spi/test/app.c: include
4410 bonobo-activation.h. Use a default appname
4411 if one is not provided.
4413 2001-08-14 Bill Haneman <bill.haneman@sun.com>
4415 * idl/Registry.idl : temporarily changed register_Application
4416 to oneway, to work around issue with initial registration
4418 * idl/Application.idl : changed attribute "id" from readonly
4419 to read-write, since it needs to be assigned by Registry.
4420 * registryd/registryd.c : added call to set application id
4422 * registryd/registry.c : changed de-registration procedure to
4423 use CORBA_Object_hash() to find matching object ref in application
4424 lists and listener lists.
4425 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
4426 began distinguishing between event types (work in progress).
4428 2001-08-13 Bill Haneman <bill.haneman@sun.com>
4431 * libspi/application.c:
4432 Added implementations for get/set id, get_toolkitName,
4434 * registryd/registryd.c :
4438 Converted from use of OAF to bonobo-activation.
4439 * libspi/desktop.h :
4440 * libspi/desktop.c :
4442 Removed references to atksimpleobject, since base atkobject
4443 implementation now provides functionality we need.
4444 * libspi/atksimpleobject.c :
4445 * libspi/atksimpleobject.h :
4450 * at-bridge/Makefile.am
4451 * at-bridge/bridge.c
4454 Added directory "bridge" and contents, and added dependencies
4455 in Makefile.am/configure.in.
4456 Initial checkin of "at-bridge".
4457 This code is a GTK_MODULE which automatically registers
4458 GTK+ apps with the accessibility registry, using an object
4459 reference to the root ATK object.
4461 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4463 * po/Makefile.in.in: Remove. Again. If this
4464 doesn't get autogenerated - you need to update
4467 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4469 * po/Makefile.in.in: Add. Again.
4471 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4473 * libspi/accessible.c : added support for 'description' property.
4474 * libspi/accessible.c
4476 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4477 (since the two are now equivalent in libbonobo)
4485 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4486 Bonobo::Unknown as does Accessibility::Accessible.
4487 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4488 interface with Bonobo::Stream, since it was redundant with it.
4489 (The Stream returned by a StreamableContext object is expected to
4490 implement only a subset of Bonobo::Stream)
4492 2001-07-28 Anders Carlsson <andersca@gnome.org>
4494 * libspi/accessible.c (accessible_object_finalize): Change
4495 g_free to g_object_unref since the AtkObject is a GObject.
4497 2001-07-30 Bill Haneman <bill.haneman@sun.com>
4499 * idl/Accessibility.idl: add new IDL files
4502 * idl/Action.idl: Definitions of actionable UI object
4503 * idl/Component.idl: Definitions of UI component geometry, etc.
4504 * idl/Hyperlink.idl: Defs of hyperlink behavior
4505 * idl/Image.idl: Def of accessible image
4506 * idl/Selection.idl: Definition of UI object with selectable children
4507 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4508 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4509 * idl/Text.idl: Interface defs for UI elements with complex textual content
4510 * idl/Value.idl: Definition of UI element that is a value controller or display
4512 2001-07-27 Michael Meeks <michael@ximian.com>
4514 * po/Makefile.in.in: remove autogenerated file from CVS.
4516 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4519 * idl/Registry.idl: include guard.
4521 * idl/Accessibility.idl: Add, and include all the other IDL
4524 * idl/*.idl: remove mass of pragmas etc.
4526 2001-07-26 Michael Meeks <michael@ximian.com>
4528 * registryd/Makefile.am (registryd_SOURCES): remove
4531 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4533 * libspi/.cvsignore, registryd/.cvsignore,
4534 test/.cvsignore: updated.
4536 * po/Makefile.in.in: gettext update.
4538 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4540 * initial CVS checkin
4542 2001-06-29 Michael Meeks <michael@ximian.com>
4544 * configure.in: add AM_CONFIG_HEADER to gen config.h