1 2002-06-21 Bill Haneman <bill.haneman@sun.com>
3 Happy Summer Solstice...
5 * registryd/deviceeventcontroller.c: [fix for bug 84100]
6 (spi_controller_notify_keylisteners):
7 Changes to remove a listener from the listener list, freeing its
8 open keygrabs, if a notification to that listener fails. This
9 means that although a dead listener can continue to hold a passive
10 keygrab, a maximum of one dispatch to such a listener can fail
11 before the listener is removed from the list, thus the keygrab
12 will be released on the next occurrence.
14 (spi_notify_keylisteners):
15 Renamed to spi_controller_notify_keylisteners, as the controller
16 instance must now be passed as an argument.
17 The copied 'notify' GList is now a list of DEControllerKeyListener
18 objects, since we need more than just the CORBA reference if a
19 notify fails and we need to deregister the listener.
20 (impl_notify_listeners_sync):
21 (impl_notify_listeners_async):
22 (spi_device_event_controller_forward_key_event):
23 Modify use of notify_keylisteners in accordance with above
25 (spi_deregister_controller_key_listener):
26 New method introduced by refactoring, from
27 impl_deregister_keystroke_listener.
28 (impl_deregister_keystroke_listener):
29 Call spi_deregister_controller_key_listener.
30 (spi_key_listener_clone):
31 New method to copy a key listner without doing a 'ref' on the
32 remote object instance; used to create a notifier list.
33 (spi_key_listener_data_free):
34 New method, frees data without unreffing the source.
36 (spi_key_listener_clone_free): new method.
37 (spi_key_listener_free):
38 refactored to call spi_key_listener_data_free.
40 2002-06-20 Bill Haneman <bill.haneman@sun.com>
42 * registryd/registry.c: [fix for bug 86048]
43 (notify_listeners_cb):
44 Clear CORBA system exceptions which occur when notifying
45 listeners, before returning to the source of the original event,
46 since the event source doesn't care if the relayed notify failed.
47 In other words, don't complain to the atk-bridge if the registry
48 could not notify all its listeners, that's no fault of the
49 application and thus should not appear to be an error from the
50 application's perspective.
52 * cspi/spi_main.c: [fix for bug 85980]
54 Replaced use of bonobo_object_dup_ref with call to the wrapper
55 method, csou_dup_ref (); this silences a compiler warning and
56 provided more portability.
58 Ping the registry before return, and restart if necessary.
60 * cspi/bonobo/cspi-bonobo.c:
64 Fixed this method to return an object reference, as it should have
67 * cspi/cspi-lowlevel.h:
68 Added internal definition for cspi_ping() and fixed
69 return type of cspi_dup_ref().
72 2002-06-19 Bill Haneman <bill.haneman@sun.com>
74 * atk-bridge/bridge.c: [fix for bug 85305]
75 (spi_atk_bridge_register_application):
76 New method where the initial application registry calls have been
77 moved; it allows an application to re-register in response to
78 certain error conditions (such as a registry restart, see below).
80 Moved some initialization code to the method
81 spi_atk_bridge_get_registry, below.
82 (spi_atk_bridge_get_registry):
83 New, private accessor function for the Accessibility_Registry
84 instance. If the registry has not been started before, or has
85 died (as detected by failure of a CORBA exception), it is
86 restarted before return, and spi_atk_bridge_register_application
87 is called again to register with the new bridge instance.
88 (spi_atk_emit_eventv):
89 Set registry_died on error; use spi_atk_bridge_get_registry () to
92 * registryd/registry.c:
93 (impl_accessibility_registry_register_global_event_listener):
94 Set listener's event_type_quark to etype.minor instead of
95 etype.major (fix for bug 84856).
97 * test/event-listener-test.c:
98 (report_detail_event):
99 Change the output string so that user/tester can tell that the
100 'detail listener' was called instead of the 'generic listener'.
102 2002-06-18 Bill Haneman <bill.haneman@sun.com>
104 Fixes for bugs 84900, 84908, 84897, 84898.
109 Revved version to 1.1.0
110 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
111 version is going to HEAD which will be used for gnome-2-0-1 and later.)
113 * idl/Accessibility_Registry.idl:
114 (EventListener::notifyEvent):
115 Removed 'oneway' directive after extensive consulation with
116 ORBit2 team and others. This means also that unref() of the event
117 source can and should be done synchronously after emission, rather
118 than remotely in the client, after servicing the notify call on
121 NOTE: This change speeds up listener performance considerably, but
122 introduces new latency on the application side. We may want to
123 add an event queue to the atk-bridge.
125 * atk-bridge/bridge.c:
126 (spi_atk_bridge_focus_tracker):
127 Do a local unref() on the event source after emission.
129 * registryd/registry.c:
130 (desktop_remove_application):
131 Do an unref() on the event source after emission.
132 (desktop_add_application):
133 Do an unref() on the event source after emission.
134 (notify_listeners_cb):
135 When relaying an event, don't automatically add the event source
136 to the local object cache, just CORBA_dup it instead. Likewise,
137 if this method reenters, release the ref rather than calling
139 (impl_registry_notify_event):
140 No longer call remote unref() on the event source after dispatch.
142 * libspi/eventlistener.c:
143 (impl_accessible_event_notify_event):
144 Removed remote unref ()
146 * cspi/bonobo/cspi-bonobo-listener.c:
148 We now call cspi_object_new() instead of cspi_object_add() on
149 receipt of an event; thus we only have an implicit object ref
150 while the cspi_event method is being executed. If we need to keep
151 a reference to the object, the listener must call ref() on the
152 object. Thus also we don't need to call cspi_object_unref() after
153 invoking the listener callbacks in this method.
157 New internal API for creating a new cspi object, without adding it
160 Now uses cspi_object_new() to create the cspi object instance.
162 Now checks to see if the object is in the internal object cache,
163 and adds it if necessary before incrementing its refcount (note
164 that new objects are added with a refcount of 1).
166 New method which gives some information on leaked object instances
167 if leak detection is turned on.
169 * test/event-listener-test.c:
171 New method, used for testing event delivery timing for special
172 events of type "object:test". It reports elapsed time and
173 events/sec every 500 events.
175 Added a new listener, 'test listener', to check timing of event
176 receipt as noted above.
178 Added some timing output here also, reports elapsed time every 100
181 * test/stress-test.c:
182 Emit events of type "object:test", for use with "event-listener-test".
184 * test/test-simple.c:
185 (global_listener_cb):
186 Call Accessible_ref() on the event source before calling
187 validate_accessible, since the validation process does pointer
188 comparisons on the event source, meaning that the event source
189 needs to be added to the local object cache first. Any use of
190 such pointer comparisons between Accessible objects requires that
191 the caller hold an explicit reference to those objects.
192 We also must therefore call Accessible_unref() when leaving this method.
194 2002-06-13 Bill Haneman <bill.haneman@sun.com>
196 * registryd/deviceeventcontroller.c:
197 (spi_controller_update_key_grabs):
198 Fix for #84735, subsequent keygrab listeners not informed of
199 registration failure.
202 (spi_base_construct):
203 Add an assertion on construct, to make sure the GObject passed in
206 Explicitly initialize object->gobj pointer to NULL;
208 * cspi/bonobo/cspi-bonobo-listener.c:
209 (cspi_object_add_ref):
210 New method, can specify whether to dup-ref a bonobo object passed
211 in if it's newly added to the object cache.
213 Now calls cspi_object_add_ref with second param of "FALSE". This
214 prevents us from doing a pointless dup-ref followed by
215 release-unref for all those cases where the object is already in
216 our object cache (fix for #85205).
218 * atk-bridge/bridge.c:
219 (spi_atk_bridge_idle_init):
220 Removed this method, we don't need to initialize in an idle
223 Changed to call spi_atk_register_event_listeners directly, not via an
224 idle handler. (fix for #81139)
225 (gnome_accessibility_module_shutdown):
226 Removed conditional around deregistration of listeners, since we
227 don't use the idle handler and thus have always registered when
229 (spi_init_keystroke_from_atk_key_event):
230 Changed references to Accessibility_KEY_PRESSED to
231 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
233 2002-06-12 Bill Haneman <bill.haneman@sun.com>
235 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
240 * test/stress-test.c:
243 (may have been an incomplete commit yesterday?)
245 2002-06-12 Bill Haneman <bill.haneman@sun.com>
248 Added target for new stress-test.
250 * test/stress-test.c:
251 New test, sends 1000 focus notifies in quick succession.
253 * test/key-listener-test.c:
254 Now we report whether a keylistener registration
255 request succeeded or failed.
257 * test/event-listener-test.c:
258 Uncommented some listeners which are now implemented.
261 2002-06-06 Bill Haneman <bill.haneman@sun.com>
263 * registryd/deviceeventcontroller.c:
264 (spi_controller_update_key_grabs):
265 Fix for #82509, lack of failure notification when
266 ALL_WINDOWS keygrabs fail due to XGrabKey
267 failure: we synchronize the server when
268 registering a passive grab, to make sure we get the
269 error message before the call returns.
271 2002-06-03 Bill Haneman <bill.haneman@sun.com>
273 * test/test-simple.c:
275 Removed #ifdef KEY_IMPL_WORKS guards.
277 Removed #ifdef KEY_IMPL_WORKS guards.
278 Fixed bug which was causing a hang waiting for a
279 "press" event (which was already overwritten by a "release"
280 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
282 Added code to set globals 'key_press_received' and
283 'key_release_received'.
286 Added section "1.1 API Proposed Additions" which
287 lists API additions desired for at-spi-1.1 (only one so far).
288 Updated TODO list a little.
290 2002-06-02 Bill Haneman <bill.haneman@sun.com>
292 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
295 * configure.in: Revved to 1.0.0.
297 * idl/Accessibility_Registry.idl:
298 (registerKeystrokeListener):
299 Added boolean return value.
301 * registryd/registry.c:
302 (notify_listeners_cb): Minor fix to debug output.
304 * registryd/Accessibility_Registry.server.in.in:
305 Revved version number in OAFIID to 1.0.
307 * registryd/registryd.c:
309 Use new OAFIID version.
311 * cspi/bonobo/cspi-bonobo.c:
313 Use new OAFIID version.
319 * atk-bridge/bridge.c:
321 Use new OAFIID version.
323 * registryd/deviceeventcontroller.c:
324 (impl_register_keystroke_listener):
325 Added CORBA_boolean return value.
326 (spi_controller_register_device_listener):
327 Added gboolean return value.
328 (spi_controller_register_global_keygrabs):
329 Added gboolean return value.
330 (spi_key_set_contains_key):
331 Added implementation for many more control keys,
332 for instance F1-F12, arrow keys, End, Home, Page_Up,
334 [TODO: some still not implemented].
336 * text/screen-review-test.c:
337 (text_chunk_pad_string):
338 New function: it provides mapping between coordinate
339 positions of text chunks and character positions in the
340 screen-review-line output string.
341 (text_chunk_to_string):
342 New function, calls text_chunk_pad_string with various
343 pad/delimiter characters. Pushbuttons are delimited with
344 square brackets, Frames with vertical 'pipe' lines, and
345 other text with double quotes.
346 (text_chunk_list_to_string):
347 Calls new function text_chunk_to_string.
348 (toplevel_composite):
349 New function to composite layers CANVAS through
350 POPUP in each toplevel (other layers are composited
351 across toplevels, i.e. BACKGROUND and OVERLAY).
352 (review_buffer_composite):
353 Revise to use new methods.
359 2002-05-31 Laszlo Peter <laca@sun.com>
361 * configure.in: add the Xtst libdir to the runpath on Solaris,
362 since it's not in the default library search path.
364 2002-05-29 jacob berkman <jacob@ximian.com>
366 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
368 2002-05-29 Bill Haneman <bill.haneman@sun.com>
370 * test/screen-review-test.c:
371 (text_chunk_pad_string):
372 Added method, which pads the string according to the
373 text bounds of the chunk. It also takes a 3-character
374 string as a param which indicates the characters to be
375 used for start, padding, and end delimitation of the chunk.
376 (text_chunk_to_string):
377 Changed to use text_chunk_pad_string.
379 * configure.in: Fixed bug in AC_OUTPUT that was
380 causing path substitution in Accessibility_Registry.server
383 2002-05-23 Bill Haneman <bill.haneman@sun.com>
385 * text/screen-review-test.c:
387 New method which attempts a best-guess at clipping
388 text from components (like Java labels) which don't
389 actually implement AccessibleText. This inaccurate
390 clip is based on the assumption that the label is
391 justified left-and-right, and monospaced.
392 (text_chunk_get_clipped_string):
393 We now call guess_string_clip() for text-containing
394 components that don't implement AccessibleText.
396 * test/screen-review-test.c:
397 (review_buffer_get_text_chunk):
398 We now pull "name" from labels if they do not implement
399 AccessibleText (i.e. for Java labels).
400 (get_screen_review_line_at):
401 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
404 Replaceded AC_OUTPUT target
405 registryd/Accessibility_Registry.server with
406 registryd/Accessibility_Registry.server.in.
408 * registryd/Accessibility_Registry.server.in:
409 Removed (this is now a Makefile target).
411 * registryd/Accessibility_Registry.server.in.in:
412 Added (source for target above). We now use $(libexecdir) as
413 prefix for the executable at-spi-registryd.
415 * registry/Makefile.am:
416 Now install at-spi-registryd into $(libexecdir), and build .server
417 file with path (see above).
419 2002-05-22 Bill Haneman <bill.haneman@sun.com>
421 * test/screen-review-test.c:
422 (text_chunk_get_clipped_string):
423 We now check to see if words fall within clip bounds
424 before resorting to character-by-character clip bounds testing.
426 * TODO: Added a section for "2.2 Proposed API Additions".
428 2002-05-21 Bill Haneman <bill.haneman@sun.com>
430 * test/screen-review-test.c:
432 Added a screen review benchmarking and test program to test
435 * cspi/spi_accessible.c:
437 Made some of the debug strings passed to cspi_check_ev a
438 little more specific.
440 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
442 * test/screen-review-test.c: Fix crashes in debug statements
444 2002-05-20 Bill Haneman <bill.haneman@sun.com>
446 * test/screen-review-test.c: Added this file.
448 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
450 * atk-bridge/bridge.c: changed "object:state-change" to
451 "object:state-changed" to match docs.
453 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
455 * atk-bridge/bridge.c: Hooked up state-change event details.
457 2002-05-11 Bill Haneman <bill.haneman@sun.com>
459 * registryd/registry.c:
460 Fixed quarking bug in event string parsing; now events with
461 detail parameters get matched correctly to listeners.
464 * util/idl/Magnifier.idl: remove.
466 * util/*.[ch]: Remove.
467 Magnification utilities and IDL are now in module gnome-mag.
469 2002-05-10 Bill Haneman <bill.haneman@sun.com>
471 * registryd/deviceeventcontroller.c:
472 Fixed bug in grab key conversion which was causing keycode grabs
473 to be converted to AnyKey grabs.
476 updated NEWS file to reflect recent spin-off of gnome-mag.
478 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
480 * cspi/spi_accessible.c: Added exception checks. Fixed completely
481 busted AccessibleStateSet_compare. Removed redundant casts.
483 * cspi/spi-action.c: Removed redundant casts.
485 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
487 * cspi/spi_component.c: Fixed typos and casting error.
489 * cspi/spi_editabletext.c: Removed redundant casts.
491 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
493 * cspi/spi_hypertext.c: Eliminated redundant casts.
495 * cspi/spi_image.c: Eliminated redundant casts.
497 * cspi/spi_registry.c: Eliminated redundant casts.
498 SPI_deregisterGlobalEventListenerAll () removed retval variable.
499 * cspi/spi_selection.c: Removed redundant casts.
500 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
501 handling. Screen geometry and text offsets were being returned as 0
502 on error which is technically valid-- changed these to return -1.
503 Added marshaller for text boundary types to fix bug with boundary
504 types being passed incorrectly to atk.
506 2002-05-09 Bill Haneman <bill.haneman@sun.com>
509 * cspi/spi_registry.c:
510 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
511 which was uncovered by the recent key changes.
513 2002-05-09 Bill Haneman <bill.haneman@sun.com>
515 * test/event-listener-test.c:
517 Added new test, "event-listener-test";
518 this code does two things; it benchmarks traversal time
519 for the accessible hierarchy for the first running accessible
520 app, and it connects listeners for all supported event types.
521 It is thus useful as an example event listener and for
522 diagnostics/debugging of event generation.
524 2002-05-08 Bill Haneman <bill.haneman@sun.com>
527 Removed unnecessary dependency on libutil.
530 Revved micro version: 0.13.1
532 2002-05-08 Bill Haneman <bill.haneman@sun.com>
535 Removed util/Makefile from targets.
538 Removed util subdir from SUBDIRS (temporarily,
539 pending removal of magnifier-only code
543 #ifdef-ed out magnifier dependencies, since
544 magnifier IDL, headers, and binary now live in
545 module gnome-mag and we don't want at-spi to depend
546 on gnome-mag. A magnifier demo which can run alongside
547 simple-at is forthcoming in the gnome-mag module.
549 NOTE: Split magnifier binary, IDL, and magnification
550 activation code from at-spi into module gnome-mag.
552 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
554 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
555 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
557 2002-05-03 Bill Haneman <bill.haneman@sun.com>
560 Revved to version 0.13.0
562 * idl/Accessibility_Registry.idl:
563 Changed definition of KeySet from sequence of longs to sequence of
564 KeyDefinitions, and added KeyDefinition struct.
565 Required for fix to bug 80616.
567 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
568 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
569 to use new definition (see above).
571 * registryd/deviceeventcontroller.c: handle_keygrab(),
572 spi_keyset_contains_key():
573 Changed to make use of new struct; this allows matching based on
574 string key-name, for instance "Tab". This also allows matching of
575 composed characters, non-alphanumeric characters in a way that
576 doesn't involve dependencies on X keysym codes directly, etc.
578 * test/key-listener-test.c:
579 Added test for Alt-Tab key using "string" specification of keyset,
580 and modified one of the tests to use a keycode-based keyset.
581 Thus this test both tests and demonstrates the creation and use of
582 keysets of three forms: specified via keycode array,
583 keysym array, and string array. (The string case only contains a
584 single string, i.e. a string array of length 1).
587 Turned on PRINT_TREE option by default. Also fixed a
588 string-freeing bug in the PRINT_TREE code.
589 Added a listener to window:minimize events.
591 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
593 * atk-bridge/bridge.c:
594 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
595 for window:activate and window:deactiveate
596 (atk_bridge_property_event_listener atk_bridge_signal_listener
597 atk_bridge_window_event_listener) Tidy debug code
599 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
601 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
602 Fixed handling for NULL return value from ATK.
604 * libspi/action.c libspi/component.c libspi/editabletext.
605 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
606 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
607 Removed redundant casts.
609 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
610 Fixed off by one bug.
612 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
613 function not present in idl)
615 2002-05-02 jacob berkman <jacob@ximian.com>
617 * atk-bridge/Makefile.am: make atk-bridge a real module
619 2002-04-26 Radek Doulik <rodo@ximian.com>
621 * libspi/stateset.c (spi_init_state_type_tables): fix size of
622 atk_state_types table
624 2002-04-22 jacob berkman <jacob@ximian.com>
627 * libspi/Makefile.am: add deps on the built files to help
628 automake, and don't version the ORBit typelib
630 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
632 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
633 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
634 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
635 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
636 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
637 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
638 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
639 libspi/accessible.h libspi/accessible.h libspi/base.h
640 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
641 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
642 libspi/relation.h libspi/remoteobject.h libspi/selection.h
643 libspi/spi-private.h libspi/statetset.h libspi/table.h
644 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
645 util/mag_client.h util/mag_control.c util/mag_image.c
646 util/mag_image.h util/magnifier.c util/magnifier.h:
647 Add missing file headers; standardize existing ones
649 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
651 * atk-bridge/bridge.c: Added window event support.
653 2002-04-18 Michael Meeks <michael@ximian.com>
655 * libspi/relation.c (impl_getNTargets): impl.
656 (impl_getTarget): impl.
658 * libspi/Makefile.am: fix stateset install.
660 2002-04-17 Bill Haneman <bill.haneman@sun.com>
663 Started putting useful info in this file.
665 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
667 * atk-bridge/bridge.c:
668 Propagate state-changed notifications to ATs
670 * cspi/spi_registry.c: update docs to reflect actual behavior of
673 2002-04-17 Bill Haneman <bill.haneman@sun.com>
676 Incremented version to 0.12.1
679 Add missing declaration for magnifier_exit,
680 used by mag_control.c - Forte compiler didn't like
681 the implicit redeclaration of the function :-(
684 2002-04-16 Bill Haneman <bill.haneman@sun.com>
687 Revved version to 0.12 due to API change (see below).
689 * cspi/spi-roletypes.h:
690 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
691 definition from the inline docs, and added docs
692 for SPI_ROLE_LAST_DEFINED.
695 * cspi/spi_streamablecontent.c:
696 Added missing seek_type parameter to
697 (so far unused) method,
698 AccessibleStreamableContent_seek().
699 [ RT approval JodyG. ]
702 Fixed docs for SPI_createAccessibleKeystrokeListener.
704 * cspi/spi_registry.c:
705 Fixed docs for SPI_KEYSET_ALL_KEYS.
707 * docs/reference/cspi/at-spi-cspi-sections.txt:
708 Added a number of missing APIs to SECTIONS.
710 2002-04-16 Bill Haneman <bill.haneman@sun.com>
712 * registryd/Makefile.am:
714 * cspi/bonobo/Makefile.am:
715 Add $(X_LIBS) to makefiles.
717 2002-04-15 Bill Haneman <bill.haneman@sun.com>
720 Revved version to 0.11.
722 * libspi/component.c:
723 Added implementation for grabFocus.
725 * idl/Accessibility_Component.idl
726 (Accessibility_Component_grabFocus):
727 Made this method return boolean to indicate success or failure, to
728 be consistent with cspi and the corresponding ATK method.
730 * idl/Accessibility_Selection.idl
731 (Accessibility_Selection_selectAll) :
732 Made these methods return boolean to indicate success or
733 failure, to be consistent with cspi and the corresponding ATK methods.
735 * idl/Accessibility_EditableText.idl
736 (Accessibility_EditableText_setTextContents,
737 Accessibility_EditableText_insertText,
738 Accessibility_EditableText_cutText,
739 Accessibility_EditableText_deleteText,
740 Accessibility_EditableText_pasteText):
741 Made these methods return boolean to indicate
744 * cspi/spi_editabletext.c:
745 Made these methods return booleans.
747 * libspi/selection.c:
748 * libspi/component.c:
749 * libspi/editabletext.c:
750 Connected the boolean returns from ATK
751 to the server-side code referenced above.
753 2002-04-14 Bill Haneman <bill.haneman@sun.com>
755 * idl/Accessibility_Table.idl: Added missing methods,
756 Accessibility_Table_addRowSelection,
757 Accessibility_Table_addColumnSelection,
758 Accessibility_Table_removeRowSelection,
759 Accessibility_Table_removeColumnSelection.
762 Added C wrappers for above IDL:
763 AccessibleTable_addRowSelection,
764 AccessibleTable_addColumnSelection,
765 AccessibleTable_removeRowSelection,
766 AccessibleTable_removeColumnSelection.
769 Added server-side implementation code for IDL above, connecting
770 to pre-existing ATK api.
772 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
774 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
776 * libspi/accessible.c: Added implementation fo
777 Accessibility_Accessible_get_state.
779 * libspi/libspi.h: Added stateset.h to the list of includes.
781 * libspi/stateset.c: Fixed broken implementation.
783 2002-04-13 Bill Haneman <bill.haneman@sun.com>
786 Added implementation code for Accessibility_Magnifier_exit ().
788 * util/mag_control.c:
789 Added test code for above method; you can
790 now kill an existing magnifier via
791 ./mag_control q, from the util directory.
793 * test/key-listener-test.c:
795 Added a new test, for our key listener API.
797 2002-04-11 Bill Haneman <bill.haneman@sun.com>
799 * test/app.c, test/keysynth-demo.c:
801 Replace use of snprintf with g_snprintf.
802 (fix for bugzilla 78249)
804 2002-03-27 Michael Meeks <michael@ximian.com>
808 * util/Makefile.am (INCLUDES): fix.
809 (DONT_DIST_SOURCE): don't distribute the
812 * libspi/Makefile.am (dist-hook): ditto.
814 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
816 * libspi/hypertext.c:
817 Fix warnings when yelp is used with atk-bridge
819 2002-03-21 Michael Meeks <michael@ximian.com>
821 * libspi/application.c (spi_application_new):
822 use spi_accessible_construct so we use the AtkObject
825 2002-03-19 Michael Meeks <michael@ximian.com>
827 * registryd/registry.c (desktop_remove_application),
828 (desktop_add_application): clean coding style.
830 * registryd/desktop.c (spi_desktop_remove_application),
831 (spi_desktop_add_application): kill re-enterency hazards.
832 (spi_desktop_dispose): remove bogus redundant cast
833 obscuring bug; fix bug too.
834 (spi_desktop_init): make the desktop object immortal.
836 2002-03-16 Bill Haneman <bill.haneman@sun.com>
839 Added a #define-guarded tree-traversal step
840 when enumerating the apps (diagnostic tool).
842 2002-03-15 Bill Haneman <bill.haneman@sun.com>
844 * idl/Accessibility_Role.idl:
845 Added ROLE_DRAWING_AREA which seemed to be missing from the
848 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
850 * cspi/spi-roletypes.h cspi/spi_accessible.c
851 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
854 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
855 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
856 AT when applications are added and removed from the desktop. This
857 reverts the previous broken implementation using the backing
858 AtkObject for the SpiDesktop.
860 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
862 * registryd/desktop.c: emit the "children-changed::add" and
863 "children-changed::remove" signals on the backing ATK object for
864 the desktop so AT can tell when applications are started and shut
867 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
869 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
871 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
873 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
875 * cspi/spi_accessible.c: Implemented c bindings for stateset support
877 * cspi/state-types.h: synched with IDL and ATK
879 2002-03-13 Bill Haneman <bill.haneman@sun.com>
881 * libspi/accessible.c
882 (impl_accessibility_accessible_get_child_at_index):
883 Change return value for g_return_if_fail ()
884 to CORBA_OBJECT_NIL instead of "0" (!)
886 * registryd/Makefile.am:
887 * registryd/Accessibility_Register.server.in:
888 Changed name of executable, "registryd",
889 to something more informative:
892 2002-03-13 Michael Meeks <michael@ximian.com>
894 * atk-bridge/bridge.c (atk_bridge_init): don't register
895 if we're in a bonobo-component, rather than a bonobo app.
897 2002-03-13 Michael Meeks <michael@ximian.com>
899 * atk-bridge/bridge.c (gtk_module_init): split
900 out body to (atk_bridge_init): here, since otherwise
901 we get symbol conflicts and oddness when invoked
902 from (gnome_accessibility_module_init): here (upd.)
904 2002-03-11 Bill Haneman <bill.haneman@sun.com>
907 New file. Explicitly allow "build sheriff" putbacks provided
908 they are tested on Solaris.
910 * docs/reference/cspi/Makefile.am:
911 Added '-' to the "cp" command for index.sgml.
912 ("patch by thomasvs, soon coming to a GUADEC near you")
915 Incremented version number (0.9.0) for new release.
916 Changed macro that checks for popt, to better detect
917 obsolete versions of popt.
920 Added X_LIBS to AC_SUBST, for applications
921 that call Xlib API directly.
924 2002-03-07 Bill Haneman <bill.haneman@sun.com>
927 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
930 Fix regression caused by hard-coding major
931 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
934 * test/test-simple.c (test_editable_text),
935 (test_test): revert previous change (error was
936 a regression in gail which is now fixed).
938 2002-03-04 Michael Meeks <michael@ximian.com>
940 * test/test-simple.c (test_editable_text),
941 (test_text): pass G_MAXINT instead of '-1' for
942 whole string - is this a good thing !?
944 * cspi/spi_accessible.c
945 (Accessible_getRelationSet): fix crasher bug
946 overwriting the end of the array.
948 * test/test-simple.c (validate_accessible): free,
949 not g_free returned relation set.
951 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
953 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
954 implemented stateset support
956 * idl/Accessibility_State.idl: Made necessary changes to
957 the IDL to support state sets.
959 2002-02-12 Bill Haneman <bill.haneman@sun.com>
961 * registryd/deviceeventcontroller.c:
962 Added implementation for generateMouseEvent.
964 * cspi/spi_registry.c:
965 Connected new implementation for generateMouseEvent
968 2002-02-12 Bill Haneman <bill.haneman@sun.com>
971 Incremented revision (but no change in public API
972 outside of 'utils', which are not installed public yet.)
974 * libspi/component.c:
975 Changed to use atk_component API for layers and
976 mdi_zorder, instead of deprecated atk_object API.
978 Magnification Utility Enhancements:
981 Added implementation of createZoomRegion, clearAllZoomRegions,
982 resizeZoomRegion. Added new commandline argument
983 "--no-initial-region". Note that clearAllZoomRegions doesn't
984 unmap the old '0' region as it should (yet), and the other
985 methods only work when creating/resizing a single region,
987 (Code for multiple region support will be added later.)
990 Now we raise the magnifier window each time it's refreshed;
991 this will help keep it on top.
994 Added simple wrappers for above, used by mag_control.
995 For general use, it's recommended to use the bonobo magnifier
996 control API directly instead of using these wrappers.
999 Moved ZoomRegionData from magnifier.c to this file.
1001 * util/mag_control.c:
1002 Added some code to exercise new IDL implementations.
1004 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
1006 * libspi/text.c: Provide implementation for getAttributes.
1008 2002-02-04 Bill Haneman <bill.haneman@sun.com>
1011 Incremented revision.
1013 * test/test-simple.c:
1014 Replaced use of deprecated g_main_iteration with
1015 g_main_context_iteration.
1017 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
1020 Incremented revision for desktop alpha 2.
1022 2002-01-28 Mark McLoughlin <mark@skynet.ie>
1024 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
1027 * test/simple-at.c: include netinet/in.h.
1029 2002-01-24 Mark McLoughlin <mark@skynet.ie>
1031 * cspi/spi_accessible.c: (Accessible_getRelationSet):
1032 use NULL, not CORBA_OBJECT_NIL.
1034 * libspi/accessible.c:
1035 (impl_accessibility_accessible_get_relation_set):
1036 allocate the sequence correctly.
1038 * libspi/remoteobject.h: kill spi_remote_object_new.
1040 * test/test-simple.c: (validate_accessible): add code
1041 to test relation sets, now all we need is to figure
1042 out how to excercise this code path :/
1044 2002-01-18 Michael Meeks <michael@ximian.com>
1046 * test/test-simple.c
1047 (key_listener_cb): consume the key.
1048 (test_keylisteners): update.
1049 (main): wait for any pending unrefs on events.
1051 * registryd/deviceeventcontroller.c
1052 (spi_controller_update_key_grabs): only re-issue the
1053 grab on a key release.
1054 (spi_device_event_controller_forward_key_event):
1055 refresh the keygrabs before we notify the listeners,
1056 to reduce the X ungrab / re-grab race.
1057 (spi_controller_register_with_devices): remove
1058 XSelectInput - we do that with the gdk_window_ call.
1059 (_spi_controller_device_error_handler): return a value.
1060 s/GDK_DISPLAY/spi_get_display/
1062 2002-01-17 Michael Meeks <michael@ximian.com>
1064 * registryd/deviceeventcontroller.c
1065 (_deregister_keygrab): don't blow out the later
1068 * test/test-simple.c (test_keylisteners): do a
1069 more intelligent validation.
1071 2002-01-14 Michael Meeks <michael@ximian.com>
1073 * atk-bridge/bridge.c
1074 (gnome_accessibility_module_init),
1075 (gnome_accessibility_module_shutdown): impl.
1076 (gtk_module_init): protect vs. double inits.
1077 (add_signal_listener): impl.
1078 (spi_atk_bridge_state_event_listener): kill
1079 (deregister_application): split out of
1080 (spi_atk_bridge_exit_func): here.
1082 2002-01-18 Bill Haneman <bill.haneman@sun.com>
1085 Added caret tracking when using magnifier, and
1086 now use text bounds for focus tracking of text elements, rather than
1087 the component bounds - this is helpful for short text fields in long
1088 table cells, at high magnification.
1090 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1092 * registryd/deviceeventcontroller.c:
1093 Regression fix for keylistener de-registration; global keygrabs
1094 were not being released when deregisterKeystrokeListener was
1095 called in cspi, since
1096 Accessibility_DeviceEventController_deregisterKeystrokeListener
1097 was called with a zero-length keyset. That is because the cspi
1098 method, SPI_deregisterKeystrokeListener, does not take a keyset
1099 parameter but instead should remove all the key grabs held be a
1101 The code in impl_deregister_keystroke_listener was changed to copy
1102 the keylist from the listener instance previously registered with
1103 the DeviceEventController before releasing the grabs.
1105 * registryd/registry.c:
1106 * registryd/deviceeventcontroller.c:
1107 * libspi/spi-private.h:
1109 Changed spelling of "re-enterant" to "re-entrant" globally.
1111 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1113 * test/test-simple.c:
1114 Changed key listeners test - the test was slightly mis-using the
1115 (admittedly poorly documented) SPI_generateKeyboardEvent API.
1116 It now uses '=' as the key event listened to and generated,
1117 relying on a keysym match rather than assuming that keycode 33
1118 is always equal to keysym '!'.
1120 2002-01-15 Bill Haneman <bill.haneman@sun.com>
1123 Changed simple-at to use a specific keyset, rather than
1124 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
1125 manager, desktop, etc.
1127 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1129 * registryd/deviceeventcontroller.c:
1130 Replaced standard X error handler with a special handler that
1131 is non-fatal for failed keygrabs. This works around
1132 problems with keygrab clashes sometimes observed on
1134 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
1135 mouse handling code as yet).
1137 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1140 Incremented revision for desktop alpha release.
1143 Fixed a couple of the more glaring errors (still not
1146 2002-01-11 Michael Meeks <michael@ximian.com>
1148 * registryd/deviceeventcontroller.c
1149 (spi_device_event_controller_forward_key_event): kill
1150 XUngrabKey / XKeyGrab race.
1151 (spi_controller_grab_keyboard): rename to
1152 (spi_controller_update_key_grabs): this, and deal
1153 with incremental adding / removing grabs more
1155 (_register_keygrab): ensure we're not pending a remove.
1156 (spi_grab_mask_free): impl.
1157 (spi_controller_register_global_keygrabs): split out
1159 (handle_keygrab): impl.
1160 (_deregister_keygrab): impl.
1161 (spi_controller_deregister_global_keygrabs): impl.
1162 (spi_controller_update_key_grabs): re-issue the grab if
1163 we just recieved a notification.
1165 * test/test-simple.c (key_listener_cb): remove debug.
1167 * registryd/deviceeventcontroller.c
1168 (spi_controller_register_device_listener): after
1169 registering a global keygrab, actualy register it !
1170 don't wait for a timeout; doh !
1172 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
1173 to make it more readable / manipulable.
1174 s/grabmask/grab_mask/ s/refcount/ref_count/
1175 s/keyval/key_val/ s/modmask/mod_mask
1177 2002-01-08 Michael Meeks <michael@ximian.com>
1179 * registryd/deviceeventcontroller.c
1180 (spi_controller_register_with_devices): use gdk calls to
1182 (global_filter_fn): implement the filter.
1183 (spi_device_event_controller_check_key_event): rename to
1184 (spi_device_event_controller_forward_key_event): this & upd.
1185 (spi_get_display): replace with GDK_DISPLAY.
1187 * registryd/deviceeventcontroller.c
1188 (spi_controller_deregister_device_listener): unroll into
1189 (impl_deregister_keystroke_listener): here to simplify.
1190 (spi_controller_register_global_keygrabs): split cut and
1191 paste (!) out into (_register_keygrab): here, shorter & sweeter.
1192 (spi_controller_deregister_device_listener): remove.
1193 (impl_register_mouse_listener): remove, no mouse listener
1194 support in at-spi-1.0
1196 * registryd/registry.c
1197 (_device_event_controller_hook): kill.
1198 (spi_registry_init): upd.
1200 * registryd/deviceeventcontroller.c
1201 (spi_device_event_controller_class_init): upd.
1202 (spi_check_key_event): merge into.
1203 (spi_device_event_controller_check_key_event):
1204 here and kill strange static ev init, don't leak
1205 the x_event - nor dynamicaly allocate it.
1207 * registryd/registry-main.c (main): re-direct
1208 timeout to remove strange vtable mess.
1210 * registryd/deviceeventcontroller.c
1211 (remove_listener_cb): impl.
1212 (spi_controller_deregister_device_listener):
1213 fix re-enterancy hazard.
1215 2002-01-07 Michael Meeks <michael@ximian.com>
1217 * registryd/deviceeventcontroller.c
1218 (spi_device_event_controller_new): upd.
1219 (impl_notify_listeners_sync): upd. debug.
1220 (spi_notify_keylisteners): fix re-enterancy hazards,
1221 prettify, remove O(n*n) iteration.
1222 (spi_controller_grab_keyboard): fix iteration.
1223 (spi_check_key_event): re-format to suit coding style.
1224 Clean all the warnings - we're warning free.
1226 * registryd/deviceeventcontroller.h:
1227 * registryd/registry.h: make mutualy referential with
1228 typesafe forward references instead of (!) void pointer
1231 2002-01-11 Michael Meeks <michael@ximian.com>
1233 * cspi/spi_accessible.c (role_names): add a role name
1234 to sync this array with the enum; and make the regression
1237 2002-01-10 Michael Meeks <michael@ximian.com>
1239 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
1240 allow expansion of enumeration & kill warning.
1242 * test/test-simple.c (key_listener_cb): impl.
1243 (test_keylisteners): impl.
1245 * cspi/spi-listener.h: make listener signatures const
1246 on the provided (const) events.
1248 * test/keysynth-demo.c: upd. to const events.
1250 * test/simple-at.c: ditto.
1252 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1255 Rev the version to 0.5 (the previous tarball was named 0.4,
1256 even though the micro number was 3), so we need to rev upwards
1257 again for beta2/"desktop-alpha"
1260 Checked in a demo script, which requires editing before use!
1261 Proceed with caution.
1264 Fixed typo in header which was redefining SPI_ACTION_CLASS.
1266 * cspi/spi_accessible.c:
1267 Add a couple of missing enum initializations, and fix some enum
1270 * cspi/spi_registry.c:
1271 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
1273 * docs/reference/cspi/at-spi-cspi-sections.txt:
1274 Remove/fix a couple of broken document references.
1277 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
1278 as Alt-Control to listen for commands, since on some systems
1279 Control-Alt may already be grabbed.
1281 2002-01-10 Bill Haneman <bill.haneman@sun.com>
1284 Update version number to 0.4 for Beta2.
1286 * libspi/accessible.c, libspi/accessible.h:
1287 Expose spi_accessible_construct, to enable libgail-gnome
1288 construction from spi_accessible subtype.
1290 * utils/magnifier.c:
1291 Workaround for bug in some non-gnome-compliant window managers
1292 which made magnifier resize improperly.
1294 2002-01-09 Bill Haneman <bill.haneman@sun.com>
1296 * libspi/accessible.c: (spi_accessible_new) :
1297 Move the test for SPI_IS_REMOTE_OBJECT to
1298 spi_accessible_new_return, fixing a bug and compile time warning.
1300 2002-01-08 Michael Meeks <michael@ximian.com>
1302 * registryd/registry.c (parse_event_type): remove strndup.
1304 * libspi/Makefile.am (libspi_la_SOURCES): remove
1305 sources already included in the headers section.
1307 * libspi/util.c: add.
1309 * libspi/spi-private.h: add.
1311 * registryd/registry.c: update to moved list iterators.
1313 2002-01-05 Michael Meeks <michael@ximian.com>
1315 * test/simple-at.c (main): upd. auto-module set to atk-bridge
1317 * test/test-simple.c (main): ditto.
1319 2002-01-04 Michael Meeks <michael@ximian.com>
1321 * libspi/accessible.c (spi_accessible_new): remove 2nd,
1322 redundant construct.
1324 * registryd/registry.c
1325 (get_listener_list): impl.
1326 (impl_accessibility_registry_register_global_event_listener):
1327 re-impl. to simplify using ~, remove dodgy const cast off.
1328 (parse_event_type): constify.
1329 (impl_accessibility_registry_deregister_global_event_listener_all):
1330 re-write, more efficiency and simplicity, kill re-enterancy
1332 (compare_listener_corbaref, compare_corba_objects),
1333 (compare_listener_quarks): define out.
1334 (impl_accessibility_registry_deregister_global_event_listener):
1335 re-write for effiency, and nail re-enterancy hazard.
1336 (impl_accessibility_registry_get_desktop_list): impl.
1337 (re_enterant_list_delete_link): impl.
1338 (re_enterant_list_foreach): impl.
1339 (remove_listener_cb): impl.
1340 (_registry_notify_listeners): kill.
1341 (notify_listeners_cb): impl.
1343 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
1344 (SPI_getDesktopList): impl.
1346 * test/test-simple.c (test_desktop): test the methods.
1348 2002-01-03 Michael Meeks <michael@ximian.com>
1350 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
1351 keystrings since we free them
1352 (SPI_freeAccessibleKeySet): in here.
1354 * libspi/accessible.c (spi_accessible_new): kill warning,
1355 wonder what is going on with the constructor here.
1357 2002-03-01 Bill Haneman <bill.haneman@sun.com>
1359 * libspi/accessible.c (spi_accessible_new ()) :
1360 Added check to see if AtkObject is an SpiRemoteObject before
1361 creating an SpiAccessible.
1363 2002-05-01 Bill Haneman <bill.haneman@sun.com>
1365 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
1366 Enable keygrabs using the Control modifier, now that they are
1367 working properly (they were previously disabled).
1370 Change the command keygrab for this demo to "Control+Alt", so as
1371 to conflict with fewer other key commands on the system; this
1372 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1374 Removed a pointlessly-chatty keylistener for unshifted keys
1375 (shifted keys are still reported).
1377 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1379 * libspi/remoteobject.h:
1380 * libspi/remoteobject.c:
1381 Added definitions for special AtkObject subtype, required for
1382 support of remote components (specifically, used by BonoboControl
1383 accessibility implementation).
1385 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1387 * cspi/spi.h: synched relation types with ATK
1389 * cspi/spi_accessible.c: Added implementations of
1390 AcccessibleRelation_* methods
1392 * idl/Accessibility_Relation.idl: added getRelationTypeName
1393 method. Synched known relation types with ATK. Allowed for
1394 relation type extension with the RELATION_EXTENDED type.
1396 * libspi/relation.c: Provided implementations for
1397 AccessibleRelation methods.
1399 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1401 API tweaks for today's API 'freeze'.
1404 Added placeholder functions to allow future compatible expansion
1405 of the IDL interfaces.
1407 * idl/Accessibility_Registry.idl:
1408 Changed generateKeyEvent to generateKeyboardEvent. Changed
1409 signature of this method to accept an optional keystring in
1410 parameter (for complex text input synthesis) and changed use of
1411 simple 'boolean' parameter in registerKeystrokeListener to a
1412 struct, EventListenerMode.
1414 * cspi/spi_accessible.c:
1416 * cspi/spi_streamablecontent.c:
1417 Added references to AccessibleStreamableContent interface, and
1418 definition and implementation of AccessibleStreamableContent
1421 * cspi/spi_registry.c:
1423 Changed generateKeyEvent API to generateKeyboardEvent,
1424 taking a new (optional) keystring parameter to support complex
1429 Renamed directory (to better reflect its actual purpose, bridging
1430 from at-spi to ATK). The .so module is also now named
1433 * idl/Accessibility_Hypertext.idl:
1434 * libspi/accessible.c:
1435 * libspi/hypertext.h:
1436 * libspi/hypertext.c:
1437 Changed Accessibility_Hypertext to *not* derive from
1440 * cspi/spi_registry.c:
1441 Added list of legal event type names for 'window' events, which
1442 completes the registry event API.
1444 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
1446 * at-bridge/bridge.c: Added registration for separate
1447 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1448 signals. If either of the first two parameters to the generic
1449 bridge signal handler are ints, they are passed on as event
1450 details. This allows an AT to determine what text was inserted.
1452 2001-12-21 Bill Haneman <bill.haneman@sun.com>
1454 * registryd/deviceeventcontroller.c:
1455 Fixed regressions in generateKeyEvent caused by the removal of
1456 gdk_init from registryd; we now use pure X calls to connect to the
1457 display, which makes sense because deviceeventcontroller already
1458 uses a fair bit of X API (should eventually be migrated to a
1459 'portability layer').
1461 * registryd/desktop.c:
1462 Fixed minor regression in spi_desktop_init, changed the way the
1463 desktop name is being set to work with new spi_base API
1464 (gobject-based, rather than AtkObject-based).
1466 * registryd/Makefile.am:
1467 Minor revision of makefile to use XTST_LIBS variable rather than
1468 hard-wiring the Xtst LD_ADD element.
1470 * test/keysynth-demo.c:
1471 Tweaked an output message; added initialization of the
1472 'keystrings' member of the "switch listener" key_set.
1474 * libspi/relation.c:
1475 Squashed compile-time warning.
1477 * libspi/accessible.c:
1478 Cosmetic and formatting fixes, renamed a static method.
1480 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1482 * libspi/accessible.c
1484 * libspi/application.c
1487 * libspi/component.c
1488 * libspi/editabletext.c
1489 * libspi/hyperlink.c
1490 * libspi/hypertext.c
1492 * libspi/selection.c
1496 * registryd/desktop.c:
1497 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1499 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1501 * idl/Accessibility_Registry.idl:
1502 Added boolean member 'is_text' to DeviceEvent. This is for the
1503 use of key events, and helps prevent ambiguity between composed
1504 key strings and keysym names, since both may potentially be
1505 returned in the 'event_string' member.
1507 * at-bridge/bridge.c:
1508 * registryd/deviceeventcontroller.c:
1509 Use the 'is_text' member when notifying device event listeners.
1510 Knon issue: composed characters are not dealt with correctly by
1511 the global key listener implementation yet.
1513 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1515 * at-bridge/bridge.c:
1516 Namespaced local static methods to spi_atk_bridge_* where
1517 previously named bridge_*, and spi_* elsewhere.
1519 * at-bridge/bridge.c:
1520 * cspi/bonobo/cspi-bonobo-listener.c:
1521 Added demarshalling/conversion for string member of
1522 Accessibility_DeviceEvent to AccessibleKeystroke.
1524 * registryd/deviceeventcontroller.c:
1525 Added code to fill the Accessibility_DeviceEvent key string value
1526 member for global key events (i.e. from XGrabKey), to match
1527 behavior of Accessibility_DeviceEvent from the toolkit key events
1528 from the bridge. Fixed timestamp in global key event notifications.
1531 Added printout of key event's string value to
1532 report_ordinary_key_event, for demo/debugging purposes.
1534 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1536 * idl/Accessibility_Registry.idl:
1537 Removed Accessibility_KeyStroke structure in favor of generic
1538 Accessibility_DeviceEvent structure.
1539 Changed Accessibility_ControllerEventMask from a struct to an
1542 * at-bridge/bridge.c:
1543 Changed APIs to use DeviceEvent structure as above, and removed
1544 bogus casting between these event structures.
1546 * cspi/spi-listener.h:
1547 Added keystring member of AccessibleKeystroke structure, to enable
1548 matching on event "names" rather than only hardware codes and
1552 Added keystrings member of AccessibleKeySet struct, to allow
1553 matching on event names (as above).
1554 Added declarations for SPI_createAccessibleKeySet and
1555 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1556 event modmasks directly as unsigned ints rather than structs with
1557 refcounts, in the DeviceEventController methods.
1559 * cspi/spi_registry.c:
1560 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1562 * cspi/spi-roletypes.h:
1563 Added documentation of newly added SPI Roles.
1565 * cspi/bonobo/cspi-bonobo-listener.c:
1566 Changes in support of API changes above.
1568 * libspi/accessible.c:
1569 Converted APIs to use DeviceEvent structure (see IDL changes
1572 * registryd/deviceeventcontroller.c:
1573 Added DEControllerGrabMask structure to track keygrabs not only by
1574 modmask but by keyset as well; this allows us to do "global"
1575 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1576 grabbing on AnyKey and then filtering after-the-fact.
1577 Bugfixes for event filtration mean that we don't get false matches
1578 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1580 * registryd/deviceeventcontroller.c:
1581 Namespaced a number of static methods to use spi_ prefix. Major
1582 revision to internals of global (i.e. X) key grabs.
1584 * registryd/deviceeventcontroller.h:
1585 Removed keymask_list and added keygrabs_list to
1586 SpiDeviceEventController struct.
1589 Added use of SPI_createAccessibleKeySet API when creating a
1590 listener for only one key. Attach a listener to "shift spacebar
1591 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1592 X key event names to SPI key event names, so that listeners are
1593 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1595 * test/keysynth-demo.c:
1596 Changed (incorrect) use of X key event names (KeyPressed,
1597 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1600 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1602 * libspi/accessible.c:
1603 Convert all AtkRole enumerations to Accessibility_Role enums when
1604 getting a role from an AtkObject.
1606 * cspi/spi_accessible.c:
1607 Complete the conversion of Accessibility_Role enums at runtime to
1608 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1609 role enums correctly match those given in spi-roletypes.h.
1610 Re-synchronize the local names list for AccessibleRole_getName ().
1611 AccessibleRole_getName is now deprecated, since it duplicates the
1612 more reliable Accessible_getRoleName.
1613 Added some role types from Accessibility_Role.idl.
1615 * idl/Accessibility_Role.idl:
1616 Added some role types used by AtkRole.
1618 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1621 * cspi/spi_registry.c:
1623 * cspi/cspi-bonobo-listener.c:
1624 Namespaced all methods that did not begin with an "SPI_" or
1625 "Accessible" prefix to "SPI_".
1628 Homogenized internal function namespace to "cspi_" for statics.
1631 Patched tests to use the new CSPI API.
1633 * docs/reference/cspi/at-spi-cspi-sections.txt:
1634 Updated docs to reflect namespace changes, and added a number of
1635 methods to the documentation.
1637 * registryd/registry.c:
1638 Changed use of strings and string hashes in listener event
1639 matching and parse_event_string to use GQuark, which is guaranteed
1642 * registryd/registry.h:
1643 Squashed annoying warning.
1645 * idl/Accessibility_Role.idl:
1646 Extended range of available Accessibility_Role values.
1648 * cspi/spi_accessible.c:
1649 Re-ordered role names.
1651 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1653 * idl/Accessibility_Value.idl:
1654 Revert use of union back to CORBA_double, since the double type is
1655 more efficient and can contain the other types without loss of
1658 * idl/Accessibility_Accessible.idl:
1659 Added method Accessibility:Accessible:getRoleName, to complement
1660 Accessibility:Accessible:getRole.
1662 * cspi/spi_accessible.c:
1664 Added C binding for above, Accessible_getRoleName (), and changed
1665 signature of Accessible_getRole () to return an AccessibleRole.
1667 * cspi/spi-roletypes.h:
1668 Changed AccessibleRole_getName to return a char * instead of a
1669 const char *. This method is now at least temporarily deprecated
1670 in favor of asking Accessibles for their RoleNames directly.
1673 Revert to match Accessibility_Value.idl;
1677 Change signature of AccessibleValue methods to use double rather
1681 * cspi/spi_accessible.c:
1682 Changed Accessible_getRole to return an AccessibleRole enum rather
1683 than a UTF-8 string. The UTF-8 string can still be obtained via
1684 AccessibleRole_getName ().
1686 * test/test-simple.c:
1687 Add test_action. Small fixup to match API change to Accessible_getRole.
1690 Bugfix for get_action_from_servant ().
1692 2001-12-11 Michael Meeks <michael@ximian.com>
1694 * libspi/libspi.h: remove registry.h and
1695 desktop.h, deviceeventcontroller.h
1697 * libspi/Makefile.am: remove registry.[ch],
1698 desktop.[ch], deviceeventcontroller.[ch]
1700 * registryd/Makefile.am: add registry.[ch],
1701 desktop.[ch], rename registryd.c to registry-main.c.
1702 add deviceeventcontroller.[ch]
1704 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1707 Replace setenv() call with putenv ().
1709 * libspi/component.c:
1710 Bugfix in AccessibleComponent_getExtents (),
1713 2001-12-11 Michael Meeks <michael@ximian.com>
1715 * libspi/image.c (impl_getImageExtents): impl.
1716 (spi_image_class_init): upd.
1719 (AccessibleImage_getImageDescription): fix daft bug
1722 * test/test-simple.c (global_listener_cb): update
1723 to only quit if not --poke
1724 (main): catch --poke.
1725 (validate_accessible): upd. dumping, call test_image
1728 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1731 * idl/Accessibility.idl: update all IDL includes.
1733 * idl/*.idl - rename to namespace - this sucks, blame
1734 mjs' bad decision for oafd.
1736 * test/test-simple.c (create_test_window): add more tests.
1737 (create_tree): split this out.
1738 (validate_accessible): bugfix.
1740 2001-12-11 Michael Meeks <michael@ximian.com>
1742 * cspi/bonobo/cspi-bonobo-listener.c:
1743 (cspi_kestroke_listener_unref),
1744 (cspi_event_listener_unref): impl. undoing previous
1745 homenous environment - for Bill.
1747 * cspi/spi_table.c (long_seq_to_array): use
1750 * cspi/spi_main.c: split out all bonoboish bits into
1753 * cspi/spi-impl.h: upd. typedefs.
1755 * cspi/spi_registry.c: update to lowlevel API,
1756 return booleans to indicate success in some places.
1758 * cspi/spi_event.c: update to lowlevel API.
1760 * cspi/bonobo/Makefile.am: add.
1762 * cspi/bonobo/cspi-lowlevel.h: add
1764 * cspi/bonobo/cspi-bonobo.c: add
1766 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1768 * cspi/Makefile.am: remove spi-listener-impl.[ch],
1769 (SUBDIRS): add bonobo, link in the libs.
1771 * cspi/spi-util.c: kill this file.
1773 * TODO: merge in my bits.
1775 2001-12-11 Michael Meeks <michael@ximian.com>
1777 * test/test-simple.c (test_value, test_table, main):
1778 remove unused variables causing warnings.
1780 * configure.in: cleanup checks - require gail.
1782 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1785 Changed Value interface to use SValue (scalars) rather than
1786 assuming all values are floats. This allows floats, doubles,
1787 longs, shorts, and unsigned values to be manipulated.
1788 Introduced Accessibility:SValue union.
1791 Updated to use new API above, and to work correctly with GValues
1792 of different types in AtkValue.
1795 Updated to use new API above. cspi's API is as yet unchanged.
1798 Updated the Value revision action item.
1800 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1802 * test/test-simple.c:
1803 Added test_table (GtkTreeView widget in test window to follow).
1804 Un-commented test_value, added GtkRange widget.
1805 Added GtkTreeView widget with GtkListStore. It passes regression
1806 test but leaks one SPI object for some reason.
1809 Fixed bug in impl__set_currentValue.
1811 2001-12-10 Michael Meeks <michael@ximian.com>
1813 * cspi/spi_text.c: audit for exception handling,
1814 tolerating NULL object references safely etc.
1816 * cspi/spi_value.c: ditto.
1818 * cspi/spi_table.c (AccessibleTable_getSummary),
1819 (AccessibleTable_getAccessibleAt),
1820 (AccessibleTable_getRowHeader),
1821 (AccessibleTable_getColumnHeader),
1822 (AccessibleTable_getCaption): fix bugs hidden by
1824 (long_seq_to_array): impl.
1825 (AccessibleTable_getSelectedRows),
1826 (AccessibleTable_getSelectedColumns): use it.
1828 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1831 Added a TODO list (rough and short for now).
1833 * cspi/spi_hyperlink.c:
1834 * cspi/spi_hypertext.c:
1835 Fixed macro name typos, and remove use of obsolete macro in
1836 AccessibleHyperlink_getLink.
1838 * cspi/spi_action.c:
1839 * cspi/spi_accessible.c:
1840 * cspi/spi_application.c:
1841 * cspi/spi_component.c:
1842 * cspi/spi_selection.c:
1845 Documentation fixes (removed return values from ref/unref methods).
1847 2001-12-10 Michael Meeks <michael@ximian.com>
1849 * cspi/spi_action.c: audit for exception handling,
1850 tolerating NULL object references safely etc.
1852 * cspi/spi_accessible.c: ditto.
1854 * cspi/spi_component.c: ditto.
1856 * cspi/spi_editabletext.c: ditto.
1858 * cspi/spi_hyperlink.c: ditto.
1860 * cspi/spi_hypertext.c: ditto.
1862 * cspi/spi_image.c: ditto.
1864 * cspi/spi_selection.c: ditto.
1866 2001-12-10 Michael Meeks <michael@ximian.com>
1868 * configure.in: use cspi/libspi.pc.in instead.
1870 * Makefile.am (pkgconfig_DATA): upd. to match.
1872 * test/simple-at.c (report_focus_event): kill hacks around
1873 bad return values, use putenv not setenv
1875 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1876 fire ChildGone - I killed it.
1878 * libspi/component.c
1879 (impl_accessibility_component_get_extents): remove
1882 * idl/Accessible.idl: kill ChildGone exception.
1884 * cspi/*.[ch]: kill int return from ref / unref.
1886 * cspi/spi_main.c (cspi_object_add_check): fold into
1887 (cspi_object_add): here.
1889 * cspi/spi_component.c (AccessibleComponent_getExtents):
1890 handle exceptions elegantly.
1892 * cspi/spi-private.h (cspi_check_ev_return),
1893 (cspi_return_if_fail): impl.
1895 * cspi/spi_accessible.c: use extensively.
1896 (AccessibleStateSet_equals): add direct compare check.
1898 * cspi/spi_selection.c: tolerate NULL objs, and check
1899 exceptions before return.
1901 * cspi/spi-util.c (cspi_warn_ev): rename to
1902 (cspi_check_ev): this & don't pass ev in; no point.
1904 2001-12-10 Michael Meeks <michael@ximian.com>
1906 * test/test-simple.c: use putenv not setenv
1907 (get_environment_vars): more chatty if you're not using
1910 * test/simple-at.c: do the setenv so more people see the
1913 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1915 * libspi/registry.c:
1916 Changed check of CORBA_environment on notification to be a warning
1917 instead of an error for the moment, since we can recover from this
1918 error when caused by a queued notification from a dead app.
1921 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1922 used by all current implementors of AtkValue), and coerce to
1923 CORBA_float. (Proper general case fix may require change to Value.idl).
1925 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1929 * cspi/spi_accessible.c:
1930 Documentation fixes: added user_data params to documentation for
1931 listeners and callbacks.
1933 * cspi/spi_accessible.c:
1934 Changed AccessibleStateSet_compare to return a
1935 StateSet rather than return the difference set into a third parameter.
1938 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1941 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1942 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1946 Remove subdirectory po from SUBDIRS for now.
1948 * at-bridge/bridge.c:
1949 Beefed up a couple of debug printouts.
1950 One-line fix for signal notification name formatting.
1952 * libspi/accessible.c:
1953 Added assertion to spi_accessible_new ().
1955 * libspi/application.c:
1956 Put #ifdef qualifiers around a printf.
1959 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1961 * registryd/Makefile.am:
1963 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1964 INTLTOOL_SERVER_RULE macro.
1967 Added an event listener for several ATK signals, for
1968 testing and debugging. Removed a few g_warnings.
1969 Added test output if focussed item implements the Value interface.
1971 * test/test-simple.c:
1972 Added test_value () function (known not to pass at the moment, so
1973 not actually called yet.
1975 2001-12-08 Michael Meeks <michael@ximian.com>
1977 * at-bridge/bridge.c (bridge_focus_tracker),
1978 (emit_eventv): fix the same ref. leak.
1979 (register_atk_event_listeners): don't leak.
1981 * cspi/spi-listener-impl.c (cspi_event): more
1982 protection from client code.
1984 * test/test-simple.c (test_desktop): unref the app.
1986 * test/Makefile.am: upd. TESTS.
1988 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1990 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1992 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1994 * cspi/spi_registry.c: constify in strings.
1995 (deregisterGlobalEventListenerAll): don't release the ref.
1997 * cspi/spi.h: start removing redundant / conflicting
1998 gtkdoc comments, making the API readable at a glance :-)
2000 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
2002 * test/keysynth-demo.c (keysynth_exit, main): upd.
2004 * test/simple-at.c (main, simple_at_exit): upd.
2006 * test/test-simple.c (unutterable_horror): kill.
2007 (utterable_normal_derefs): kill.
2008 (main): upd & do a setenv before gtk_init, so that we
2009 can use memprof - and to save the pain of remembering
2010 this, if we're running under memprof - don't exit.
2012 * cspi/spi_main.c (SPI_exit): return exit status
2014 (SPI_event_quit): impl.
2015 (SPI_event_main): simplify.
2016 (cspi_is_gnome_app): kill.
2017 (SPI_init): kill isGNOMEapp arg.
2019 * at-bridge/bridge.c (register_atk_event_listeners):
2020 re-instate the unref.
2021 (bridge_exit_func): don't re-activate the registry,
2022 protect vs. theoretical re-entry, use the
2023 AT_BRIDGE_SHUTDOWN env. var to determine whether to
2024 assert a clean shutdown - for regression tests.
2026 2001-12-08 Abel Cheung <maddog@linux.org.hk>
2028 * configure.in: Comment out dummy i18n support for now,
2029 otherwise it fails to build.
2030 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
2031 EXTRA_DIST. They are missing in tarball.
2033 2001-12-07 Michael Meeks <michael@ximian.com>
2035 * util/magnifier.c: kill bonobo activation reg. race.
2037 * libspi/component.c
2038 (impl_accessibility_component_get_extents): make it match
2041 * libspi/registry.c (_registry_notify_listeners):
2042 re-remove X headers & reconcile conflicts.
2043 (spi_listener_struct_free): bad conflict resolve.
2044 (impl_accessibility_registry_register_application):
2045 more bad merging fixed.
2046 (impl_accessibility_registry_deregister_application): ditto.
2047 (spi_registry_new): ditto.
2048 (spi_registry_init): don't have an applications field.
2050 [ merge fixups2 branch to here ]
2051 2001-12-07 Michael Meeks <michael@ximian.com>
2053 * test/simple-at.c (report_focus_event),
2054 (report_focussed_accessible): remove g_warning debug.
2056 2001-12-07 Michael Meeks <michael@ximian.com>
2058 * test/test-simple.c (validate_tree): comment out some checks.
2059 (test_desktop): app now not registered idly - horay.
2061 2001-12-07 Michael Meeks <michael@ximian.com>
2063 * cspi/spi_registry.c
2064 (registerAccessibleKeystrokeListener): clean, stop it leaking
2065 great swathes of memory, and device event controller references.
2066 ensure we always pass valid sequences.
2067 (deregisterAccessibleKeystrokeListener): ditto.
2068 (generateKeyEvent): upd.
2070 * at-bridge/bridge.c (bridge_key_listener): handle
2071 registry dead exception gracefully.
2072 (bridge_focus_tracker, emit_eventv): free ev.
2074 * test/simple-at.c (report_focus_event): fix polarity.
2076 * libspi/application.c (notify_listeners): kill the ev
2077 argument, and make sure we init the ev we use.
2078 (spi_application_object_event_listener): split out a chunk
2079 (get_atk_object_ref): here & fixup.
2080 (reverse_lookup_name_for_toolkit_event): make const.
2081 (spi_application_toolkit_event_listener): fixup, kill leaks
2084 * at-bridge/bridge.c (register_atk_event_listeners):
2085 don't unref the noop object - causes grief.
2087 * libspi/registry.c: remove the X headers.
2088 turn off the debug churn.
2090 * libspi/accessible.c (spi_accessible_new_return): only
2091 release the ref if we are supposed to [doh]
2093 * test/simple-at.c (report_button_press, report_focus_event):
2094 guard vs. unexpected exit.
2096 * at-bridge/bridge.c (gtk_module_init): prune printf.
2097 (bridge_exit_func): fix app unref.
2099 * libspi/Makefile.am: don't install registry or desktop.h
2101 * libspi/*.h: update includes.
2103 * libspi/application.h: don't include ourself, or
2104 other redundant headers.
2106 2001-12-06 Michael Meeks <michael@ximian.com>
2108 * libspi/accessible.c
2109 (get_accessible_from_servant): impl.
2110 Upd. all CORBA impl.s to use it killing cut and paste.
2112 * cspi/spi_main.c (cspi_cleanup): guard vs. double
2114 (SPI_init): register atexit cleanup handler here.
2116 2001-12-06 Michael Meeks <michael@ximian.com>
2118 * at-bridge/bridge.c (gtk_module_init): g_error on
2119 activation exception
2121 2001-12-06 Michael Meeks <michael@ximian.com>
2123 * at-bridge/bridge.c (gtk_module_init): some sort of
2124 confusing merge clash - reverted.
2125 (bridge_idle_init): ditto.
2127 * test/test-simple.c (main, utterable_normal_derefs):
2128 merge from Bill - somehow not committed.
2130 2001-12-06 Michael Meeks <michael@ximian.com>
2132 * libspi/value.c (spi_value_class_init): upd.
2133 (spi_value_finalize): kill.
2135 * libspi/table.c (spi_table_finalize): kill.
2136 (spi_table_interface_new): upd.
2137 (spi_table_class_init): upd.
2138 (get_table_from_servant): impl.
2139 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2141 * libspi/selection.c (spi_selection_finalize): kill.
2142 (spi_selection_interface_new): upd.
2143 (spi_selection_class_init): upd.
2144 (get_selection_from_servant): impl.
2145 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2147 * libspi/relation.c (spi_relation_finalize): kill.
2148 (spi_relation_class_init, spi_relation_new): upd
2150 * libspi/image.c (spi_image_finalize): kill.
2151 (spi_image_class_init): upd.
2152 (spi_image_interface_new): upd.
2153 (get_image_from_servant): impl.
2154 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2156 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
2157 (spi_hyperlink_finalize): kill.
2158 (spi_hyperlink_new): upd.
2159 (get_hyperlink_from_servant): impl.
2160 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2162 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
2163 (spi_hypertext_finalize): kill.
2164 (spi_hypertext_class_init): upd.
2165 (get_hypertext_from_servant): impl.
2166 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2168 * libspi/editabletext.c (spi_editable_text_finalize): kill.
2169 (spi_editable_text_interface_new): upd.
2170 (get_editable_text_from_servant): impl.
2171 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2173 * libspi/text.c (get_text_from_servant): impl.
2174 All impls - update to use it killing more cut and paste,
2175 also fix bad string returns on duff args ( a somewhat
2176 impossible case to handle - but hey ).
2177 (spi_text_construct): impl.
2178 (spi_text_interface_new): upd.
2179 (spi_text_object_finalize): kill.
2181 * libspi/component.c
2182 (accessibility_component_object_finalize): kill.
2183 (spi_component_class_init): upd.
2184 (get_component_from_servant): impl. helper to kill cut & paste.
2185 (impl_accessibility_component_contains):
2186 (impl_accessibility_component_get_accessible_at_point):
2187 (impl_accessibility_component_get_position):
2188 (impl_accessibility_component_get_extents):
2189 (impl_accessibility_component_get_mdi_z_order):
2190 (impl_accessibility_component_get_layer):
2191 (spi_component_interface_new): upd.
2193 * libspi/action.c (spi_action_finalize): kill.
2194 (spi_action_class_init): upd. inherit from SpiObject.
2195 (spi_action_interface_new): upd.
2196 (get_action_from_servant): impl. helper to reduce cut & paste.
2197 (impl_getKeyBinding, impl_getName, impl_doAction),
2198 (impl_getDescription): Use it everywhere.
2200 * cspi/spi_main.c (get_live_refs): a pointer hash.
2201 (spi_object_hash, spi_object_equal): comment out.
2202 There are issues with CORBA object hashing that need
2205 * libspi/application.c (spi_application_init),
2206 (spi_application_new): upd.
2208 * libspi/accessible.c (spi_accessible_object_finalize): kill.
2209 (spi_accessible_class_init): upd.
2210 s/accessible/object/ in epv methods.
2212 2001-12-05 Bill Haneman <bill.haneman@sun.com>
2214 * at-bridge/bridge.c:
2215 Reorder the bridge initialization into the bridge gtk_module_init,
2216 an immediate call to bridge_register_app, and an idle_add for
2217 register_atk_event_listeners (the only code that *must* wait until
2218 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
2219 the activation, creates the application's Accessible object, and
2220 queues the bridge_idle_init function. Restored call to
2221 Accessibility_Registry_deregisterApplication().
2222 Prior to making this call we obtain a new reference to the
2223 registry, which is a temporary hack that helps us handle apps that
2224 shut down the bonobo mainloop before we get there.
2226 * libspi/registry.c:
2227 Fix string leakage in debug block, and don't segv if a an app
2228 dies before its event notifications have been propagated.
2231 Modify cspi_check_ev() to call g_warning() rather than g_error(),
2232 as stopgap measure until we get proper exception handling when
2233 objects die during or before interrogation.
2237 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
2238 Also changed default value of is_gnome_app to TRUE.
2241 * test/keysynth-demo.c:
2242 Changed use of SPI_init and SPI_event_main to reflect API change above.
2245 Made report_focus_event check the warning value from getName
2246 before reporting on focussed accessible; simplifies handling of
2247 notifications from dead objects.
2249 * test/test-simple.c: (Changes not in this patch since source is
2252 2001-12-05 Michael Meeks <michael@ximian.com>
2254 * registryd/registryd.c (main): protect against
2255 bonobo-activation startup race condition.
2257 * cspi/spi_main.c (cspi_object_add_check): cope
2258 with the exception elegantly.
2260 * idl/Accessible.idl: decl. ChildGone
2262 * libspi/desktop.c (spi_desktop_dispose): impl.
2263 (spi_desktop_class_init): upd.
2264 (spi_desktop_add_application),
2265 (spi_desktop_remove_application),
2266 (abnormal_application_termination): impl.
2267 (impl_desktop_get_child_at_index): re-impl.
2270 (impl_accessibility_registry_deregister_application),
2271 (impl_accessibility_registry_register_application):
2272 kill excessive debug clutter.
2274 * test/test-simple.c (test_misc): test some NULL
2275 tolerance. (main): upd.
2277 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
2278 implements no interfaces - so let's not crash.
2280 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
2282 * libspi/accessible.c (spi_accessible_new_return): impl.
2283 helper to calm the cut and paste, to cope with
2284 NULL AtkObjects effectively and efficiently, and to kill
2285 the referencing bugs.
2287 * libspi/table.c (impl_getAccessibleAt),
2288 (impl_getRowHeader, impl_getColumnHeader): upd.
2290 * libspi/hyperlink.c (impl_getObject): upd.
2292 * libspi/accessible.c
2293 (impl_accessibility_accessible_get_child_at_index): upd.
2295 * libspi/component.c
2296 (impl_accessibility_component_get_accessible_at_point): upd.
2298 * test/test-simple.c (test_editable_text, test_text): impl.
2301 * cspi/spi_editabletext.c
2302 (AccessibleEditableText_insertText): constify.
2304 * test/test-simple.c (focus_me): make more robust.
2306 * libspi/accessible.c: remove some printfs in methods that
2307 we test and work fine, so we can get a clean tree dump.
2309 * test/test-simple.c (validate_accessible),
2310 (validate_tree): make tree dumping pretty too.
2312 * at-bridge/bridge.c (bridge_signal_listener): upd. so
2313 it builds without debug on.
2315 * test/test-simple.c (validate_accessible): fix the most
2318 * cspi/spi_main.c (spi_object_release): leave the nicely
2319 blanked memory around if in debug mode.
2321 * cspi/spi-listener-impl.c (cspi_event): use add_check.
2323 [committed to fixups2]
2324 2001-12-05 Michael Meeks <michael@ximian.com>
2326 * libspi/editabletext.c
2327 (spi_editable_text_class_init): g_type_class_peek_parent,
2328 not interface peek - so we finalize cleanly.
2330 * libspi/accessible.c (spi_accessible_new): kill debug.
2332 * test/test-simple.c (validate_accessible): fix ref.
2333 leak, print strings before freeing them; sigh, comment a
2334 chunk out due to strangeness.
2335 (validate_tree): unref the child after use.
2337 * cspi/spi_component.c (AccessibleComponent_getLayer):
2338 add missing break statement, switch on zlayer not the
2339 uninitialized retval.
2341 * cspi/spi_main.c (cspi_object_add): add assert, local ref
2342 before (possibly re-entering) remote unref.
2344 * test/simple-at.c (main): unref the desktop.
2346 * cspi/spi_accessible.c (cspi_accessible_is_a): move
2349 * cspi/spi_main.c (cspi_accessible_is_a): here to
2350 isolate bonobo API usage more.
2352 * libspi/registry.c (impl_accessibility_registry_register_application):
2353 prune bogus comment.
2355 2001-12-04 Michael Meeks <michael@ximian.com>
2357 * test/test-simple.c (validate_tree): upd.
2358 IndexInParent check to make it more lucid.
2359 (validate_accessible): dump the tree.
2361 * libspi/accessible.c (de_register_public_ref),
2362 (get_public_refs): impl.
2363 (spi_accessible_new): make more efficient & intuitive.
2364 Now IndexInParent check works.
2366 2001-12-04 Michael Meeks <michael@ximian.com>
2368 * cspi/spi-util.h: remove.
2370 * cspi/spi.h: move SPI_freeString here
2372 * libspi/component.c (impl_accessibility_component_get_layer):
2374 (impl_accessibility_component_get_mdi_z_order): ditto,
2375 return -1 on error - is this ok ?
2377 * test/test-simple.c (test_application): impl.
2379 * cspi/spi_accessible.c (Accessible_getApplication),
2380 (Accessible_isApplication): impl.
2382 * libspi/registry.c (spi_listener_struct_free): release
2383 the CORBA reference too.
2385 * libspi/accessible.c
2386 (impl_accessibility_accessible_get_parent): fix ref leak.
2388 * libspi/registry.c (spi_registry_new): make the registry
2389 immortal - we don't want it to go away ever.
2391 * libspi/application.c
2392 (spi_accessible_application_finalize): impl. cleanup.
2394 * cspi/spi_registry.c
2395 (deregisterGlobalEventListenerAll),
2396 (deregisterGlobalEventListener),
2397 (deregisterAccessibleKeystrokeListener): fix ref leak.
2399 * cspi/spi_main.c (SPI_init): remove redundant ref.
2401 * test/test-simple.c (unutterable_horror): impl. to force a
2406 (impl_accessibility_registry_deregister_application): release
2407 the application when we de-register it.
2409 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2410 until we have the infastructure to get it right.
2412 2001-12-03 Michael Meeks <michael@ximian.com>
2414 * libspi/Makefile.am: only build eventlistener.[ch]
2416 * libspi/accessible.c
2417 (impl_accessibility_accessible_get_child_at_index): don't leak.
2419 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2420 before we hit the idle handler.
2422 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2423 debugging than exit.
2425 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2427 * libspi/listener.c (impl_notify_event): check source
2428 not NIL before unref.
2430 * libspi/registry.c (impl_registry_notify_event): ditto.
2432 * libspi/eventlistener.c
2433 (impl_accessible_event_notify_event): unref the source.
2435 * libspi/accessibleeventlistener.c
2436 (impl_accessible_event_notify_event): unref the source.
2438 * idl/Event.idl: remove 'hash_id' attribute - of no
2441 * libspi/application.c (notify_listeners): upd list
2443 (spi_application_object_event_listener),
2444 (spi_application_toolkit_event_listener): upd to do correct
2448 (_registry_notify_listeners): update.
2449 (parse_event_type): this method also leaks like a sieve.
2450 (impl_accessibility_registry_deregister_global_event_listener):
2451 fix ETYPE_WINDOW case.
2453 * libspi/application.c
2454 (impl_accessibility_application_register_object_event_listener):
2457 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2459 * libspi/hypertext.c (impl_getLink): ditto.
2461 * cspi/spi_main.c (cspi_object_add): remove
2462 bogus CORBA_Object_duplicate.
2464 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2467 * cspi/spi_accessible.c
2468 (Accessible_getRelationSet): fix leak / referencing issue.
2470 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2471 (cspi_object_add, cspi_object_unref): upd.
2472 (spi_object_release, get_live_refs): impl.
2473 (cspi_cleanup): simplify.
2475 * *.[ch]: s/boolean/SpiBoolean/
2477 * cspi/spi_accessible.c (role_names): actualy order so it
2478 corresponds with the enum !
2480 * test/test-simple.c (test_roles): check some role strings
2481 vs. enums to detect offset errors.
2483 2001-12-01 Michael Meeks <michael@ximian.com>
2485 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2487 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2489 (Accessible_getChildAtIndex): use cspi_add_check so we
2490 check the ev before using a (possibly) invalid value.
2492 * libspi/accessible.c
2493 (impl_accessibility_accessible_get_parent): don't segv
2496 * at-bridge/bridge.c (gtk_module_init): upd.
2497 (bridge_property_event_listener): don't leak strings
2499 (bridge_state_event_listener),
2500 (bridge_property_event_listener): don't use a static
2501 buffer in case of recursive event emission &
2502 re-enterancy - split out the swathe of cut and paste
2504 (emit_eventv): and fix 2 ref leaks here & comply to the
2506 (bridge_register_app): rename to
2507 (bridge_idle_init): this and kill arg parsing, split
2508 various inits & bonobo-activation registration to module
2509 init time, kill referencing error.
2510 (bridge_exit_func): fix the same leak.
2511 (bridge_focus_tracker): don't leak event structures
2513 (bridge_signal_listener): more leakage and cut & paste
2515 (bridge_key_listener): return the result - FIXME is
2516 this polarity correct ?
2517 (accessibility_keystroke_from_atk_key_event): rename
2518 (accessibility_init_keystroke_from_atk_key_event): and stop
2520 (gtk_module_init): return a value - not that it is checked by
2522 (bridge_key_listener): register my horror at casting between
2523 IDL defined structs.
2524 (bridge_get_registry): kill - not used.
2526 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2528 * test/test-simple.c (test_roles): impl.
2529 (test_desktop, validate_accessible, validate_tree): impl.
2531 * cspi/spi_accessible.c (role_names): fixup bogus
2532 MAX_ROLES setup, make constants const for efficient linkage
2533 (AccessibleRole_getName): conform to coding style, make
2536 2001-11-30 Michael Meeks <michael@ximian.com>
2538 * cspi/spi.h: add missing prototype.
2540 * libspi/registry.c (spi_listener_struct_new): fix sig.
2542 * test/Makefile.am: add test-simple
2544 * test/test-simple.c: add
2546 * test/test.sh: add.
2548 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2550 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2551 do it straight - since otherwise we often get an activation race.
2553 [ work before Bill duplicated a chunk of it ... ]
2554 2001-11-30 Michael Meeks <michael@ximian.com>
2556 * libspi/keystrokelistener.c
2557 (spi_keystroke_listener_class_init): fixup arg
2560 * libspi/eventlistener.c
2561 (spi_event_listener_class_init): ditto.
2563 * tests/test.sh: add.
2565 * cspi/spi-listener-impl.h: update macros.
2567 * cspi/spi-listener-impl.c
2568 (cspi_event_listener_remove_callback): add
2569 correct pre-conditions.
2571 * cspi/spi_main.c (SPI_exit): guard vs. double
2572 exits, exit the mainloop nicely.
2573 (SPI_event_main): make more sense.
2574 (SPI_init): move the atexit evilness here so we
2575 always do it (yuck).
2576 (SPI_event_main): upd.
2578 * test/simple-at.c: update for listener changes.
2580 * registryd/registryd.c (main): prune kruft.
2582 * libspi/libspi.h: upd.
2584 * libspi/eventlistener.[ch]: rename broken macros.
2586 * libspi/accessibleeventlistener.[ch]: remove.
2588 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2590 * test/test-simple.c: Add - automated tests.
2592 * cspi/spi-listener-impl.c (cspi_event),
2593 (cspi_key_event): add user_data to invoke.
2594 (cspi_keystroke_listener_finalize): impl.
2595 (cspi_keystroke_listener_class_init): upd.
2598 (createAccessibleEventListener),
2599 (AccessibleEventListener_addCallback),
2600 (createAccessibleKeystrokeListener),
2601 (AccessibleKeystrokeListener_addCallback): upd.
2603 * libspi/deviceeventcontroller.c
2604 (spi_device_event_controller_check_key_event): add public proto.
2607 (impl_accessibility_registry_deregister_global_event_listener):
2608 always init listeners.
2609 (_registry_notify_listeners): yes it is.
2611 * cspi/spi-listener-impl.c (cspi_key_event):
2613 (cspi_event_listener_finalize): impl.
2614 (cspi_event_listener_class_init): hook up.
2615 (event_handler_new, event_handler_free),
2616 (event_list_remove_by_callback): impl.
2617 (cspi_event_listener_remove_callback),
2618 (cspi_keystroke_listener_remove_callback),
2619 (cspi_keystroke_listener_add_callback),
2620 (cspi_event_listener_add_callback): upd.
2622 * libspi/keystrokelistener.c
2623 (keystroke_listener_object_finalize): kill
2624 (spi_keystroke_listener_class_init): upd.
2625 (spi_keystroke_listener_add_callback),
2626 (spi_keystroke_listener_remove_callback): kill,
2628 (impl_key_event): prune drasticaly.
2630 * libspi/eventlistener.c
2631 (spi_event_listener_add_callback),
2632 (spi_event_listener_remove_callback): kill, use
2634 (impl_accessible_event_notify_event): upd.
2635 (spi_event_listener_object_finalize): remove.
2637 * libspi/Makefile.am: use eventlistener.[ch]
2639 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2641 * libspi/registry.c (_registry_notify_listeners):
2642 Changed listener loop iteration to use preferred convention.
2643 Got rid of string memory leaks caused be calling g_strconcat
2644 inside function calls.
2646 * libspi/registry.c (parse_event_type):
2647 Stopped g_strconcat memory leaks, free the g_strsplit return,
2648 g_strdup the split pieces when used, etc.
2650 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2653 Change method 'compare' to return a 'difference set' rather than
2654 taking a StateSet as an out parameter (more Java-friendly).
2656 * idl/Accessible.idl:
2657 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2659 * idl/Component.idl:
2661 Changed methods 'getExtents' and 'getImageExtents' in these
2662 interfaces to return a BoundingBox structure.
2663 (getPosition and getSize are redundant and possibly should be
2664 removed, rather than creating a corresponding Point struct.)
2666 * cspi/spi_component.c:
2667 Modify implementation of getExtents to reflect the above IDL
2672 Add (missing) AccessibleImage_getExtents () API.
2674 * docs/reference/cspi/at-spi-cspi-sections.txt:
2675 Added AccessibleImage_getImageExtents () to docs.
2677 2001-12-03 Bill Haneman <bill.haneman@sun.com>
2679 * idl/Component.idl:
2680 Added two methods, getLayer () and getMDIZOrder (), to reflect
2681 the new ATK methods atk_object_get_layer and
2682 atk_object_get_mdi_z_order. (Which arguably should be part of the
2683 AtkComponent API and AtkObject). Also added an enum,
2684 ComponentLayer, for the first method's return value.
2686 * libspi/component.c:
2687 Added implementations for these methods.
2689 * cspi/spi_component.c:
2691 Added cspi binding methods for above,
2692 AccessibleComponent_getLayer() and
2693 AccessibleComponent_getMDIZOrder().
2694 Added cspi enum 'AccessibleComponentLayer'.
2696 * docs/reference/cspi/at-spi-cspi-sections.txt:
2697 Added above methods to docs.
2701 Changed typedef for 'boolean' type (and all references to it) to
2702 SPIBoolean, to avoid keyword clashes with C++.
2705 Changed usages of 'boolean' to SPIBoolean.
2707 * test/keysynth-demo.c:
2708 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2709 app), except where SPIBoolean is required by the callbacks API.
2711 2001-12-02 Bill Haneman <bill.haneman@sun.com>
2713 * cspi/spi_registry.c:
2714 Removed obsolete X event loop for passive keygrabs (which now
2717 * registryd/registryd.c:
2718 Removed unnecessary call to gdk_init() [cruft]. This also allows
2719 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2722 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2724 * docs/reference/cspi:
2725 Included docs for SPI_freeString in generated documentation.
2728 Renamed spi_freeString to SPI_freeString, for consistency. Added
2729 documentation for this function.
2732 Renamed spi_freeString to SPI_freeString, for consistency.
2733 Removed obsolete method declaration string_from_corba_string.
2735 * test/keysynth-demo.c:
2736 Small tweak to comments.
2739 Stopped leaking the strings returned from CSPI.
2741 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2743 Merged Michael's branch (see his ChangeLog entries below).
2745 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2746 bridge is alive, release on exit.
2748 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2749 Fix type check macro.
2752 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2755 Added is_gnome_app static, and method cspi_is_gnome_app(),
2756 so we can call the appropriate shutdown routine at exit in SPI_exit.
2758 * cspi/spi_main.c (cspi_object_ref):
2759 Duplicate the corba object passed in, since we're keeping it around.
2761 * cspi/SPI_exit.c, cspi_cleanup:
2762 Moved the releasing of the live refs to its own function, so we
2763 can put it in g_atexit (). Call the appropriate shutdown API
2764 depending on whethe calling client is a gnome app or not
2765 (bonobo_main_quit or CORBA_ORB_shutdown).
2767 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2768 Unref the listener when this method is called, after
2769 deregistration. Updated the API docs to note this behavior.
2771 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2772 Bugfixes: Ref the bonobo object when returning a parent or child
2773 reference, or an AccessibleRelation. Generally made sure
2774 BonoboObject refcount is incremented whenever we return an
2777 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2778 Fixed typo/bug in signal declaration.
2780 * libspi/accessibleeventlistener.h:
2783 * libspi/application.c (spi_application_new):
2784 Fixed leak in initialization.
2787 Remembered to increment bonobo-object refcount when returning
2788 children (applications) from desktop object.
2789 Added (empty) finalize method.
2791 * libspi/deviceeventcontroller.c:
2792 Hold a ref to listeners inside DEControllerKeyListeners.
2793 Added dec_key_listener_free() method. Use prepend instead of
2794 append in key_listener list. Fixed some refcount madness and
2795 leaks in the listener registration/deregistration - deregistration
2796 now calls dec_key_listener_free() on listeners, and on the
2797 temporarily constructed dec_key_listener() used to perform the search/match.
2799 * libspi/hypertext.c (spi_hypertest_finalize):
2800 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
2801 class. Also fixed spi_hypertext_interface_new() and
2802 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
2804 * libspi/hypertext.h:
2805 Removed pointless and duplicate AtkObject pointer from
2808 * libspi/keystrokelistener.c:
2809 Fixed incorrect type of keystroke_listener_parent_class,
2810 renamed keystroke_listener_object_finalize to
2811 spi_keystroke_listener_object_finalize.
2812 Fixed typo in signal declaration
2813 (spi_keystroke_listener_class_init).
2815 * libspi/registry.c:
2816 Added funcsions spi_listener_struct_new() and
2817 spi_listener_struct_free() to help with memory management issues.
2818 We also now use these methods instead of gnew + poking stuff into
2819 the struct, and to decrement listener counts/free the listeners
2820 when deregistering them.
2821 Fix more refcount bugs in getDesktop() and
2822 getDeviceEventController().
2825 De-ref the desktop after enumerating the applications. Explicitly
2826 decrement the refcounts on the created listeners on exit (using
2827 _unref for keystroke listeners, and via the
2828 deregisterGlobalEventListenerAll command for other event
2831 2001-11-27 Michael Meeks <michael@ximian.com>
2833 * cspi/spi-listener.h: fixup enum.
2835 2001-11-27 Michael Meeks <michael@ximian.com>
2837 * cspi/spi-listener-impl.c (cspi_event_listener_new),
2838 (cspi_keystroke_listener_new): Use the cspi variants.
2840 2001-11-26 Michael Meeks <michael@ximian.com>
2842 * test/keysynth-demo.c: fix 2 compile warnings, missing
2845 * test/simple-at.c (report_focussed_accessible),
2846 (report_focus_event, report_button_press),
2847 (check_property_change, is_command_key),
2848 (report_ordinary_key_event, report_command_key_event): upd.
2850 * util/mag_client.h: include pre-requisites.
2852 * libspi/accessibleeventlistener.c
2853 (spi_event_listener_object_finalize): free any lingering
2856 * libspi/keystrokelistener.c
2857 (keystroke_listener_object_finalize): ditto.
2859 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2860 callbacks, with cspi types.
2862 * cspi/spi_event.c (createAccessibleEventListener): chain to
2863 (AccessibleEventListener_addCallback): here.
2864 (createAccessibleKeystrokeListener): chain to
2865 (AccessibleKeystrokeListener_addCallback): here.
2867 * libspi/keystrokelistener.c
2868 (spi_keystroke_listener_class_init): add signal.
2869 (impl_key_event): emit the event.
2870 (boolean_handled_accumulator): impl.
2871 (marshal_BOOLEAN__POINTER): add, gack.
2873 * libspi/accessibleeventlistener.c
2874 (spi_event_listener_class_init): add signal.
2875 (impl_accessible_event_notify_event): emit the signal &
2876 make the loop efficient.
2877 (spi_event_listener_add_callback): prepend the callback.
2879 * libspi/accessibleeventlistener.h: add an 'event' signal,
2880 decl type on callback.
2882 * libspi/keystrokelistener.h: ditto.
2884 * cspi/spi-listener.h: make methods typesafe and
2885 make them use the new event typedefs.
2887 * test/simple-at.c (report_focussed_accessible):
2888 include mag_client.h
2889 Use *(void *)text_interface not the other thing.
2891 * configure.in: add gtk to registryd bits - since we use
2894 * util/magnifier.c: include libbonobo.h
2896 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2898 * test/keysynth-demo.c:
2899 Turned this into a simple scanning keyboard, to demonstrate the
2900 use of g_timeout_add () as a means of creating timers for
2901 scanning, and the use of GtkStyle for visually indicating when
2902 virtual keyboard elements are selected.
2904 keysynth-demo now listens to any keyboard keys with zero-valued
2905 keycodes (i.e. 'unused' keys) and interprets them as
2908 Reworked the shiftlatch code so that shift-down state isn't held
2909 for long periods (it's only synthesized immediately prior to
2910 the keysynth event it's modifying). Note that shiftlatch in this
2911 demo is a convenience, not intended to take the place of AccessX
2912 which is the better choice for getting 'sticky' modifier keys.
2914 * libspi/deviceeventcontroller.c:
2915 * at-bridge/bridge.c:
2916 * cspi/spi_registry.c:
2917 Removed some debug print stuff, and put other verbosity in #ifdef
2922 Implemented some more of the magnifier IDL for the simple
2923 magnifier: namely, getZoomRegionParams.
2924 Added mag_x and mag_y members to MagnifierData struct, aid of this
2926 Added GtkWindow::realize signal handler to magnifier, to keep it
2927 from receiving keyboard focus from the WM.
2929 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2931 * cspi/spi-private.h: my guess at what michael forgot
2932 before he ran off to NZ :-)
2934 2001-11-23 Michael Meeks <michael@ximian.com>
2936 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2937 comment out non existant method invoke so we link.
2939 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2940 use bonobo_exception_get_text for more friendly warnings.
2942 * cspi/spi.c (Obj_Add): move into spi_main & rename
2943 spi_object_add; kill spi.c
2945 * cspi/spi_registry.c
2946 (deregisterGlobalEventListener),
2947 (deregisterGlobalEventListenerAll),
2948 (registerGlobalEventListener): fix exception leaks.
2950 * cspi/spi_main.c (spi_exception): impl. helper, so we
2951 don't leak exceptions.
2953 * cspi/spi_selection.c
2954 (AccessibleSelection_deselectSelectedChild): return the
2957 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2958 (spi_registry): ditto.
2959 (SPI_init): guard against double inits.
2961 * cspi/*.c: use spi_ev (), and spi_registry () where
2962 appropriate - a temporary hack until we have something
2963 better. Use spi_object_add
2965 2001-11-22 Michael Meeks <michael@ximian.com>
2967 * cspi/Makefile.am: re organise, install the headers.
2969 * cspi/*.h: add G_BEGIN/END_DECLS
2971 2001-11-22 Bill Haneman <bill.haneman@sun.com>
2974 Added non-preemptive keylistener for key events with no modifiers
2975 and shift-only modifier.
2977 * libspi/keystrokelistener.c:
2978 Removed some verbose diagnostics printout.
2980 * cspi/spi_registry.c:
2981 Fixed a bug that caused all key listeners to be registered as
2984 * libspi/deviceeventcontroller.c:
2985 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2986 for non-preemptive key masks.
2989 2001-11-22 Bill Haneman <bill.haneman@sun.com>
2991 * docs/reference/idl/at-spi-idl-docs.sgml:
2992 * docs/reference/idl/at-spi-idl-sections.txt:
2993 * docs/reference/idl/at-spi-idl-overrides.txt:
2994 Added missing files.
2996 * docs/reference/Makefile.am:
2997 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2998 to scan the IDL files :-(
3003 Added .cvsignore files.
3005 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3007 * libspi/deviceeventcontroller.c:
3008 * libspi/keystrokelistener.c:
3010 * cspi/spi_registry.c:
3011 Added filters for KeySets, KeyEventSeq, and event types to key
3012 event dispatching, so listeners should only receive those events
3013 that they requested :-)
3015 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3020 * docs/reference:Makefile.am:
3021 * docs/reference/cspi:
3022 * docs/reference/cspi:Makefile.am:
3023 * docs/reference/cspi:tmpl:
3024 * docs/reference/cspi:tmpl:*.sgml:
3025 * docs/reference/idl:
3026 * docs/reference/idl:Makefile.am:
3027 * docs/reference/idl:at-spi-idl-sections.txt:
3028 * docs/reference/idl:at-spi-idl-docs.sgml:
3029 * docs/reference/idl:tmpl:
3030 * docs/reference/idl:tmpl:*.sgml:
3032 Restructured docs directory to allow separate 'reference' docs
3033 section, and forked idl and cspi docs. Added the sgml template
3034 files to CVS. Added the first sections/structural sgml for the
3037 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
3039 * configure.in, libspi/Makefile.am: find libXtst.
3041 2001-11-21 Michael Meeks <michael@ximian.com>
3043 * test/accessx-gui.c: s/spi_value/value/ - doh.
3045 * libspi/base.[ch]: add.
3047 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3049 * idl/Accessible.idl:
3050 * idl/Application.idl:
3053 Started gtk-doc cleanup on IDL.
3055 * libspi/deviceeventcontroller.c:
3056 Added and connected non-preemptive key notification from the
3057 toolkits (in addition to the pre-emptive support from XServer
3058 which we had before, but which causes 'focus flashing'). Filters
3059 are presently limited to key modifiers and global/non-global,
3060 KeySets are presently ignored, as are KeyEvent masks.
3062 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
3063 structs into the persistant structure rather than just storing
3064 pointers to things that might not persist across servant
3067 The XGrabKey call now does async keygrabs, because synchronous
3068 ones were deadlocking with GDK_event code in a very nasty way.
3070 Added boolean to internal method notify_keylisteners, to indicate
3071 whether the event came from the 'toolkit source' or the 'global
3072 (XServer) source' - this is used in the notification process to
3073 determine which listeners to send the event to.
3075 deviceeventcontroller.c is now warning-free.
3077 * libspi/registry.c:
3078 Fixed regression in application de-registration.
3079 Also fixed some really brain-dead weirdness having to do with
3080 event dispatching - event structs are now duplicated before being
3081 re-marshalled in the dispatch to listeners. This also fixes a
3082 Solaris build problem.
3085 2001-11-20 Michael Meeks <michael@ximian.com>
3088 (impl_accessibility_registry_deregister_global_event_listener):
3091 * libspi/deviceeventcontroller.c
3092 (spi_device_event_controller_check_key_event): return
3093 FALSE on no virtual method.
3095 * libspi/*..h: make includes work on a correctly pathed install.
3097 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
3099 * libspi/application.h: kill unused ( and whacked out )
3100 gboolean *spi_application_set_id (AtkObject *app, long id);
3102 2001-11-20 Michael Meeks <michael@ximian.com>
3104 * libspi/*.[ch]: further convert to bonobo's type func
3105 macros, remove redundnant casts etc.
3107 * libspi/text.c s/accessibility_text/spi_text/g,
3108 re-order to de-cruft.
3110 * libspi/hypertext.c: re-order to kill a huge slew
3111 of redundant forward decls.
3113 * libspi/relation.c: ditto.
3115 * libspi/image.c: ditto.
3117 * */.cvsignore: update
3119 2001-11-20 Michael Meeks <michael@ximian.com>
3121 * libspi/deviceeventcontroller.c
3122 (_controller_register_with_devices): use g_getenv,
3123 kill stdlib.h include.
3125 * libspi/keystrokelistener.c
3126 (spi_keystroke_listener_get_type): kill
3127 (spi_keystroke_listener_class_init),
3128 (spi_keystroke_listener_init): rename to this.
3130 * libspi/text.c (impl_getAttributes): fix warning / bug.
3132 * libspi/*.[ch]: more headers, includes and over commenting.
3134 2001-11-20 Michael Meeks <michael@ximian.com>
3136 * libspi/*.[ch]: fixup headers, includes and over commenting.
3138 * libspi/image.c (impl__get_imageDescription): const
3139 correctness warning fix. remove redundant casting.
3141 * libspi/table.c (impl_getRowDescription): ditto.
3142 (impl_getColumnDescription): ditto.
3144 * libspi/libspi.h: add.
3146 2001-11-19 Michael Meeks <michael@ximian.com>
3148 * libspi/editabletext.c (impl_setAttributes): fix warnings.
3150 * libspi/component.c (accessibility_component_get_type):
3151 rename to (spi_component_get_type): and macroify.
3152 (accessibility_component_init): rename to
3153 (spi_component_init): this
3154 (accessibility_component_class_init): rename to
3155 (spi_component_class_init): this
3157 * libspi/action.c (spi_action_get_type): kill, use the macro.
3159 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
3162 * libspi/application.c (spi_application_object_event_listener),
3163 (impl_accessibility_application_register_object_event_listener):
3164 warning fixes / const understanding updates.
3166 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
3169 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3171 * libspi/spi_accessible.c: Added docs and C bindings for
3172 AccessibleStateSet. (No implementations yet). Documentation
3173 coverage for C bindings now 100%. Made docs for event listeners
3178 boolean notifyListenersSync (in DeviceEventListener listener,
3179 in DeviceEvent event);
3181 oneway void notifyListenersAsync (in DeviceEventListener listener,
3182 in DeviceEvent event);
3184 Added DeviceEventListener and DeviceEvent structs (may deprecate
3185 KeyStroke and KeystrokeListener in favor of this generic
3186 event/listener framework for devices).
3188 * libspi/deviceeventcontroller.c:
3190 Changed some key listener code to take masks, etc., and paved the
3191 way for integration of toolkit/non-preemptive key events. Changed
3192 signatures of some internal methods.
3194 * at-bridge/bridge.c:
3195 Fixed regression connecting to interface signals, apparently
3196 caused by GTK+ changes.
3198 Added an internal bridge_state_listener to deal with
3199 property-change:accessible-state signals.
3201 Changed the key_listeners GList to store structs (including masks,
3202 etc.) instead of just CORBA_Objects (required for full
3203 implementation of key listener API).
3205 Connected the bridge to all currently supported Atk signals.
3206 Events now supported:
3207 object:property-change
3208 object:property-change:accessible-name
3209 object:property-change:accessible-state
3210 object:property-change:accessible-description
3211 object:property-change:accessible-parent
3212 object:property-change:accessible-value
3213 object:property-change:accessible-role
3214 object:property-change:accessible-table-caption
3215 object:property-change:accessible-table-column-description
3216 object:property-change:accessible-table-column-header
3217 object:property-change:accessible-table-row-description
3218 object:property-change:accessible-table-row-header
3219 object:property-change:accessible-table-summary
3220 object:children-changed
3221 object:visible-data-changed
3222 object:selection-changed
3223 object:text-selection-changed
3225 object:text-caret-moved
3227 object:row-reordered
3229 object:column-inserted
3230 object:column-reordered
3231 object:column-deleted
3232 object:model-changed
3234 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3236 * libspi/hyperlink.c,h:
3237 Fixed some broken stuff in hyperlink.
3239 * libspi/relation.h:
3240 * libspi/relation.c:
3241 * cspi/spi_accessible.c:
3242 Initial implementations of AccessibleRelation methods, and docs.
3244 * libspi/accessible.c:
3245 Fixed a bug that caused SEGV if an accessible
3246 object's description is NULL, and a client
3247 requests it. An empty string is now returned.
3249 * cspi/spi_editabletext.c:
3250 * cspi/spi_hypertext.c:
3252 * cspi/spi_hyperlink.c:
3256 Doc coverage now 95%.
3258 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3260 One last namespacing revision:
3261 * libspi/accessibleeventlistener.[ch]:
3262 Renamed SpiAccessibleEventListener to SpiEventListener,
3263 (no need for two namespaces ;-)
3265 And lots of documentation fixes:
3267 * docs/at-spi-docs.sgml:
3268 Fixed 'underscore vs. hyphen' bug that was preventing
3269 the gtk-doc API docs from being automatically generated.
3272 * cspi/spi-listener.h
3274 * cspi/spi_accessible.c
3276 * cspi/spi_application.c
3277 * cspi/spi_component.c
3278 * cspi/spi_editabletext.c
3280 * cspi/spi_hypertext.c
3282 * cspi/spi_registry.c
3283 * cspi/spi_selection.c
3287 * docs/at-spi-docs.sgml
3288 * docs/at-spi-sections.txt
3290 Added and fixed up gtk-doc documentation in cspi.
3292 Interfaces now (fully) documented (subject to revision and enhancement):
3294 Event Listener Support
3296 AccessibleApplication
3300 AccessibleEditableText
3307 AccessibleRelationSet
3312 2001-11-14 Bill Haneman <bill.haneman@sun.com>
3314 * at-bridge/bridge.c:
3315 Initial work for toolkit-level key snooper connection by bridge.
3320 New typedefs and fixes to support new namespacing, and cleaner
3321 separation of cspi bindings from libspi bonobo implementation.
3322 Removed inconsistent and extraneous Spi* namespace prefix that
3323 had crept into cspi headers.
3324 Lots of comment fixes that sed had missed.
3326 * cspi/spi-roletypes.h:
3327 * cspi/spi-statetypes.h:
3328 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
3329 to AccessibleRoleType.
3331 * libspi/accessibleeventlistener.h:
3332 Fixed minor namespacing weirdness.
3334 * libspi/deviceeventcontroller.c:
3335 Reordered some internal API for device listeners.
3336 Changed the key registry final boolean to 'is_system_global'
3337 rather than 'is_synchronous', which is more descriptive of its
3339 Added spi_device_event_controller_new().
3340 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
3342 * libspi/keystrokelistener.[ch]:
3343 Namespaced KeystrokeListener to SpiKeystrokeListener.
3344 Changed uses of keymasks to use SPI_ prefix, and did other
3347 * libspi/keymasks.h:
3348 Namespaced keymask constants with SPI_ prefix.
3350 * libspi/registry.c:
3351 Some warning fixes, and knock-on fixes from namespace changes.
3354 Added rules for accessx-gui test program.
3356 * test/accessx-gui.c:
3357 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
3358 utility. It doesn't actually use at-spi, but it's still cool and
3361 * test/keysynth-demo.c:
3365 Fixes so that these test clients work properly with the namespaced
3366 libraries. (Incompletely tested for technical reasons, fixes may follow)
3369 2001-11-13 Michael Meeks <michael@ximian.com>
3371 * libspi/application.c
3372 (impl_accessibility_application_get_version),
3373 (impl_accessibility_application_get_toolkit_name):
3375 (impl_accessibility_application_set_id),
3376 (impl_accessibility_application_get_id): remove
3377 redundant casting code.
3379 * libspi/action.c (impl_getDescription): fix warnings.
3381 * libspi/accessible.c
3382 (impl_accessibility_accessible_get_parent),
3383 (impl_accessibility_accessible_get_child_at_index),
3384 (impl_accessibility_accessible_get_state),
3385 (impl_accessibility_accessible_get_relation_set):
3386 warning fixes & include action.h
3388 2001-11-13 Michael Meeks <michael@ximian.com>
3390 * *.[ch] fix bits I screwed up:
3392 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3393 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3395 2001-11-13 Michael Meeks <michael@ximian.com>
3397 * *.[ch] Namespace libspi into spi_ and Spi.
3399 2001-13-11 Michael Meeks <michael@ximian.com>
3401 * Makefile.am: dist & install at-spi-1.0.pc
3403 * libspi/Makefile.am: install into at-spi-1.0
3405 * idl/Makefile.am (idldir): install into at-spi-1.0
3407 * at-spi-1.0.pc.in: add.
3409 * configure.in: build it.
3411 2001-11-12 Bill Haneman <bill.haneman@sun.com>
3413 * test/keysynth-demo.c:
3414 Use a 'realize' signal-handler to set the WM properties for
3415 the virtual keyboard, rather than making it a "POPUP" type
3416 override-redirect window (thanks to anders carlsson for that
3419 2001-11-11 Bill Haneman <bill.haneman@sun.com>
3422 * test/keysynth-demo.c:
3423 Added new test of key synthesis, which creates a simple
3424 (mouse-operated) onscreen keyboard. It inserts key events into
3425 the currently-focused window, thus it does not grab keyboard focus
3428 * cspi/spi_registry.c:
3429 Added C binding for AT-SPI generateKeyEvent.
3431 * libspi/deviceeventcontroller.c:
3432 Added call to XFilterEvent so that key listener works with XIM (we
3433 hope). Added event_synth_type to generateKeyEvent, so that we can
3434 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3435 synthesize a press/release pair for KeySyms.
3437 2001-11-09 Bill Haneman <bill.haneman@sun.com>
3439 * libspi/Makefile.am:
3440 * registryd/Makefile.am:
3441 (temporary) hack to include libXtst in libspi and registryd.
3442 (Needed for keystroke synthesis, see below).
3445 Improved API for registerKeystrokeListener, in accordance with
3446 discussions with Gnopernicus team and X server research.
3448 * libspi/registry.c:
3449 * libspi/deviceeventcontroller.c:
3450 * libspi/accessible.c:
3451 * libspi/keystrokelistener.c:
3452 Changes and fixes to support keylisteners for potentially
3453 consumed key events (that is, 'passive grabs').
3454 Added implementation for generateKeyEvent() [untested].
3457 Changes to registerKeystrokeListener() API, as above.
3458 Added deregisterGlobalEventListenerAll(), and
3459 deregisterKeystrokeListener(), which are needed for clean exit of
3461 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3462 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3464 * cspi/spi_registry.c:
3465 Added implementations of function prototypes mentioned above.
3467 * registryd/registryd.c:
3468 Added the key listener event source as a g_timeout(), to allow
3469 receipt of key events that are not caught by GDK (since GDK
3470 doesn't support passive keygrabs, this was necessary).
3473 Changed to attach a keylistener to 'Alt' keys, and
3474 respond to the following keycommands: Alt-M (toggle magnifier);
3475 Alt-F (toggle speech); Alt-Q (quit).
3476 Added an exit routine to deregister the listeners, and a key
3477 listener that prints some key info to the console when a key
3478 matches the listener mask (and is thus received by the listener).
3480 * util/idl/Magnifier.idl:
3481 Changes to magnifier API to support multiple zoom regions,
3482 non-uniform scaling in x and y, markDirty, and a host of other
3483 features that would be useful to magnification.
3486 * util/mag_client.c:
3487 * util/mag_client.h:
3488 * util/mag_control.c:
3490 Source code changes to support the above IDL changes.
3493 As above, and also changes to use a (slower) generic conversion
3494 path for colormap conversions, since the fast RGB conversions have been
3495 reported to fail for 16-bit displays.
3497 2001-10-26 Michael Meeks <michael@ximian.com>
3499 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3501 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3503 * at-bridge/Makefile.am: fix LDFLAGS.
3505 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3507 * at-bridge/bridge.c:
3508 Re-worked listeners for toolkit events, now we have signal
3509 and property listeners. Added a private method
3510 register_atk_event_listeners(), which registers with the
3511 various atk and gtk signals we need to monitor in order to emit
3513 Added emission hook for AtkObject:property-change events, to
3514 support the 'property listeners'.
3515 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3518 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3519 which emit warnings and exit, respectively, if CORBA errors occur
3520 during remote calls, and we now use these methods to check most of
3521 our CORBA calls in the C bindings.
3523 * cspi/spi_accessible.c:
3524 Changed AccessibleSelection_refSelectedChild() to
3525 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3526 now increment refcounts.
3528 * cspi/spi_component.c:
3529 Fixed some long pointer casts (dangerous!) to pass pointers to
3530 CORBA_longs of the proper type to the CORBA stubs, and copy the
3531 data into the longs that were passed into the C bindings code.
3533 * at-bridge/bridge.c:
3535 * libspi/accessible.c:
3536 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3537 hyperlinks, AtkHyperlink is an object type.
3539 * libspi/application.c:
3540 Added various conversions to and from "generic" event types and
3541 atk-specific types; this is really part of the 'bridge'
3542 implementation but is valid for all AtkObject-based accessibility
3545 * libspi/editabletext.c:
3546 Fixed nasty bug wherein editable text's finalize method was
3547 unref'ing tha AtkObject reference that the text parent class was
3548 about to unref _again_. There was also a nasty inheritance bug
3549 that meant that the AccessibleEditableText class was corrupt.
3551 * libspi/selection.c:
3552 Provided implementations for some selection API that was broken.
3554 * idl/Application.idl:
3555 Added registerObjectEventListener () method.
3558 Fixed a number of return values that were Bonobo_Unknowns from
3559 bonobo_object_corba_objref(), which I
3560 forgot to dup before returning. Changed instances of
3561 bonobo_object_corba_objref (bonobo_object(o)) to
3562 BONOBO_OBJREF(o), for concision and clarity.
3564 2001-10-13 Louise Miller <louise.miller@sun.com>
3566 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3567 idl/Event.idl, idl/Registry.idl
3568 Changed these files to include Bonobo_Unknown.idl instead
3571 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3573 * libspi/component.c libspi/component.h:
3574 Fixed typo. Added assertions for object checks in
3575 AccessibleComponent code.
3577 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3579 * idl/Accessible.idl:
3580 Added 'isEqual (Accessible *object)'
3581 method for Accessible. (Not Yet Implemented).
3584 Changed signature of registerKeystrokeListener() to
3585 take a KeySet and KeyEventSeq so that specific keys and event
3586 types could be requested for monitoring, and added a flag
3587 is_synchronous so that either synchronous or asynchronous
3588 notification could be requested. (However this is not all
3589 implemented yet). This also meant adding two new typedefs,
3590 KeyEventSeq and KeySet.
3593 Added two new relations, RELATION_TOOLTIP_FOR and
3594 RELATION_LEAFNODE_OF.
3597 Added new state, STATE_HAS_TOOLTIP.
3599 * libspi/text.c, editabletext.c:
3600 Added new assertions to all casts of bonobo-objects from
3601 CORBA servants, to prevent Text API calls on non-text objects.
3602 Changed suspect casts of int-pointer types, so that we
3603 always send a valid CORBA_long pointer to the CORBA APIs that use
3604 in/out long parameters. We then have to copy from the CORBA_long
3605 into the regular long or int for return to the C bindings, or
3606 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3609 * libspi/deviceeventcontroller.c:
3610 Cleaned these sources up.
3612 Changed return type for getCharacterAtOffset to
3613 CORBA_unsigned_long, to allow for 32-bit characters.
3616 2001-10-08 Bill Haneman <bill.haneman@sun.com>
3620 Fixed 'make dist' so that distro compiles...
3621 * libspi/keymasks.h:
3623 * cspi/spi-listener.c:
3624 KeystrokeListenerCB now returns a boolean.
3626 Added KeyEventType struct, and KeyStroke.
3627 Also added createKeystrokeListener(),
3628 KeystrokeListener_addCallback(),
3629 KeystrokeListener_removeCallback(), and added a keymask to
3630 registerKeystrokeListener().
3631 * cspi/spi_accessible.c:
3632 Changed numerous return types for interfaces from
3633 AccessibleComponent to Accessible<InterfaceName>; this was
3634 probably a cut-and-paste error.
3636 Implementations of new KeystrokeListener api (from spi.h,
3639 Changes to key modifier mapping.
3640 Created ControllerEventMask struct.
3641 Made DeviceEventController derive from Bonobo::Unknown.
3643 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3644 * libspi/deviceeventcontroller.c:
3645 Added a number of new internal (private) methods.
3646 * libspi/editabletext.c:
3647 * libspi/editabletext.h:
3648 Fixed a number of bugs related to the fact that
3649 editabletext inherits from text. Fixed the EditableText struct,
3650 the init() call, and use correct casts when calling Text methods
3651 from an EditableText object. Removed (duplicate) atko from the
3652 EditableText structure, we use the one in the parent Text
3653 structure via the casts mentioned above.
3654 * libspi/keystrokelistener.[ch]:
3655 * libspi/registry.c:
3656 Changes in support of keyboard handling (above).
3658 Keyboard handling, though partly functional, is still not
3659 recommended for at-spi client use as there is considerable
3660 work yet to be done.
3663 Changed some places where pointers to various int types
3664 are cast to be pointers to CORBA_long types and vice-versa:
3665 pointer casting is not safe so we pass pointers of the correct
3666 types and then cast the result before putting it into the target
3669 * libspi/text.h: minor typos corrected.
3671 We now speak not only the name of a Text element, but the
3672 first sentence of its content, when it receives focus.
3673 I also changed the text compression to 75% from 50%.
3674 * util/Accessibility_Util.server.in:
3675 Changed the default magnifier type to be a 3x vertical
3676 splitscreen magnifier (was previously a 2x horizontal one).
3678 2001-10-03 Bill Haneman <bill.haneman@sun.com>
3680 * libspi/keystrokelistener.h:
3681 * libspi/keystrokelistener.c:
3682 Initial functional implementations of KeystrokeListener.
3685 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
3687 Fixed string handling for NULL strings in libspi.
3688 Added spi_freeString to free strings returned by C bindings.
3690 2001-09-30 Bill Haneman <bill.haneman@sun.com>
3692 * libspi/keystrokelistener.h:
3693 * libspi/keystrokelistener.c:
3694 Began (no-op) implementations of KeystrokeListener
3696 * libspi/deviceeventcontroller.c:
3697 * libspi/deviceeventcontroller.h:
3698 Began creating implementations of DeviceEventController,
3699 to handle keystroke and mouse event listening and
3701 * libspi/accessible.c:
3702 Stubbed-in the implementations for
3703 Accessibility_Accessible_getState and
3704 Accessibility_Accessible_getRelationSet.
3705 * libspi/registry.c:
3706 Improved de-registration process and fixed some bugs,
3707 deregistration now works correctly.
3709 Added initialization of applications list (to NULL).
3711 Reduced speech compression from 0.5 to 0.7, for demo.
3712 Changed call to gdk_window_set_decorations()
3713 to gtk_window_set_decorated().
3714 * at-bridge/bridge.c:
3715 Bridge now deregisters when app exits, via
3716 registration of a cleanup function
3717 with the g_atexit() call.
3718 Required making 'app' static, renamed 'this_app'.
3719 Fixed broken use of bonobo_init, passing argv wrongly.
3721 2001-09-27 Bill Haneman <bill.haneman@sun.com>
3725 Created a new directory for
3726 accessibility-related utilities, primarily for
3727 testing and demo purposes, but with possible
3734 Onscreen magnifier utility that
3735 is implemented as a bonobo service.
3737 * util/mag_client.c:
3738 * util/mag_client.h:
3739 Client-side support (simple C bindings)
3740 for Magnification service
3742 * util/mag_control.c:
3743 Client program example for
3744 Magnification service
3746 * util/Accessibility_Magnifier.server.in:
3747 Bonobo-activation file for the
3748 Magnification service.
3751 * util/idl/Magnifier.idl:
3752 IDL defining the bonobo Magnification
3756 Modifications to use the bonobo-activated magnifier
3757 above, in place of trying to connect to an existing
3758 magnifier that uses socket-listening IPC.
3760 If env variable MAGNIFIER is set, a magnifier service
3761 will be started if one does not exist.
3763 2001-09-25 Bill Haneman <bill.haneman@sun.com>
3765 * at-bridge/bridge.c:
3766 applied patch from Marc to build and run
3767 against new glib and gtk+ (seemed like a change
3768 to bonobo_init signature was made ?)
3770 made festival-server support turned off by default.
3771 Added support for a simple magnifier (off by default)
3772 which will be added to a 'util' directory later.
3773 * at-bridge/Makefile.am:
3774 Changed "application.h" header from a 'source'
3775 to a 'dependency' of libat-bridge.
3777 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3786 Added interface implementation c files to list of
3787 includes so they are included in libcspi.
3790 Changed prototype of AccessibleAction_doAction to return a
3792 Changed prototype of AccessibleTable_getCaption to
3793 return an Accessible.
3794 Changed prototype of AccessibleTable_getSelectedRows
3795 and AccessibleTable_getSelectedColumns to
3796 return a long (returns the number of selected rows
3797 or columns respectively).
3798 Changed name of AccessibleText_refRunAttributes to
3799 AccessibleText_getAttributes.
3800 Changed prototype of AccessibleText_getCharacterExtents to
3801 return a void rather than a boolean.
3802 Added support for a AccessibleCoordType parameter
3803 specifying what type of coordinates are desired.
3804 Added an AccessibleCordType parameter to
3805 AccessibleText_getPointAtOffset.
3807 * cspi/spi_accessible.c:
3808 Added code to return the outstanding interfaces from
3809 Accessible_queryInterface.
3811 * cspi/spi_action.c:
3813 Corrected call to getNActions to call the c binding
3816 * cspi/spi_editabletext.c:
3818 Changed name from setRunAttributes to setAttributes.
3820 * cspi/spi_hyperlink.c:
3822 Changed call to getNAnchors to correctly call the c
3823 binding for an attribute.
3825 * cspi/spi_hypertext.c:
3827 Changed getImageDescription to correctly call the
3828 binding for an attribute.
3830 * cspi/spi_selection.c:
3831 Changed getNSelectedChildren to correctly call the c
3832 binding for the attribute.
3833 Changed refSelectedChild to getSelectedChild.
3837 Changed getCaption to return an Accessible.
3838 Fixed calls which retrieve attributes.
3839 Changed refAt to getAccessibleAt.
3840 Changed getNSelectedRows and getNSelectedColumns to
3844 Changed getCharacterExtents and getPointAtOffset to accept an
3845 AccessibleCoordType.
3847 Changed calls which retrieve attributes.
3848 Changed refRunAttributes to getAttributes.
3853 * idl/Hyperlink.idl:
3854 Changed n_anchors attribute to nAnchors to keep naming
3855 convention consistent.
3858 Made Table inherit from Bonobo::Unknown.
3859 Added nSelectedColumns and nSelectedRows attributes.
3862 Made Value inherit from Bonobo::Unknown.
3864 * libspi/hyperlink.c:
3865 Change for nAnchors attributte name change.
3867 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3875 Added interface implementation c files to list of
3876 includes so they are included in libcspi.
3879 Changed prototype of AccessibleAction_doAction to return a
3881 Changed prototype of AccessibleTable_getCaption to
3882 return an Accessible.
3883 Changed prototype of AccessibleTable_getSelectedRows
3884 and AccessibleTable_getSelectedColumns to
3885 return a long (returns the number of selected rows
3886 or columns respectively).
3887 Changed name of AccessibleText_refRunAttributes to
3888 AccessibleText_getAttributes.
3889 Changed prototype of AccessibleText_getCharacterExtents to
3890 return a void rather than a boolean.
3891 Added support for a AccessibleCoordType parameter
3892 specifying what type of coordinates are desired.
3893 Added an AccessibleCordType parameter to
3894 AccessibleText_getPointAtOffset.
3896 * cspi/spi_accessible.c:
3897 Added code to return the outstanding interfaces from
3898 Accessible_queryInterface.
3900 * cspi/spi_action.c:
3902 Corrected call to getNActions to call the c binding
3905 * cspi/spi_editabletext.c:
3907 Changed name from setRunAttributes to setAttributes.
3909 * cspi/spi_hyperlink.c:
3911 Changed call to getNAnchors to correctly call the c
3912 binding for an attribute.
3914 * cspi/spi_hypertext.c:
3916 Changed getImageDescription to correctly call the
3917 binding for an attribute.
3919 * cspi/spi_selection.c:
3920 Changed getNSelectedChildren to correctly call the c
3921 binding for the attribute.
3922 Changed refSelectedChild to getSelectedChild.
3926 Changed getCaption to return an Accessible.
3927 Fixed calls which retrieve attributes.
3928 Changed refAt to getAccessibleAt.
3929 Changed getNSelectedRows and getNSelectedColumns to
3933 Changed getCharacterExtents and getPointAtOffset to accept an
3934 AccessibleCoordType.
3936 Changed calls which retrieve attributes.
3937 Changed refRunAttributes to getAttributes.
3942 * idl/Hyperlink.idl:
3943 Changed n_anchors attribute to nAnchors to keep naming
3944 convention consistent.
3947 Made Table inherit from Bonobo::Unknown.
3948 Added nSelectedColumns and nSelectedRows attributes.
3951 Made Value inherit from Bonobo::Unknown.
3953 * libspi/hyperlink.c:
3954 Change for nAnchors attributte name change.
3957 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3959 implementations-- made server implementations own AtkObject pointers
3960 rather than their respective AtkInterrface pointers to fix
3961 refcounting. AtkHyperlink is still broken.
3963 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3964 * cspi/spi_accessible.c:
3965 Added method Accessible_Role_getName(),
3966 and requisite string array (role_names).
3967 Added conversion string_from_corba_strin() call
3968 to Accessible_getName and _getDescription.
3969 * libspi/accessible.c:
3970 Added implementation for Accessible_getRole()
3972 Added festival support, used if environment variable
3975 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3977 * at-bridge/bridge.c:
3978 Now allocate Accessibility_Event using
3979 Accessibility_Event__alloc() instead of g_new0().
3980 * libspi/accessibleeventlistener.c:
3981 Initialize AccessibleEventListener->callbacks to NULL.
3982 Fixed accessible__event_listener_init() param, changed to
3983 "AccessibleEventListener *" type.
3984 Changed a bonobo_object_release_unref() call to
3985 Accessibility_Accessible_unref().
3986 * libspi/listener.c:
3987 Changed Bonobo_Unknown_unref to (equivalent)
3988 Accessibility_Accessible_unref.
3989 * libspi/registry.c:
3990 Changed bonobo_object_release_unref to
3991 Accessibility_Accessible_unref.
3993 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3996 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3997 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3998 spi-util.c spi-util.h
3999 Implementations for C bindings to remaining accessibility
4002 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4005 changed return value of Action from void to boolean to
4006 bring in line with ATK.
4009 Changed getText funcions to return "out" start and end offsets.
4010 Changed getAttributes to take and offset and return the start
4011 and end offset of the attribute run.
4012 Changed getOffsetAtPoint and getCharacterExtents to take an
4013 enum describing whether coordinates are window or screen.
4016 libspi/action.c libspi/action.h libspi/editabletext.c
4017 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
4018 libspi/hypertext.c libspi/hypertext.h libspi/image.c
4019 libspi/image.h libspi/selection.c libspi/selection.h
4020 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
4021 libspi/value.c libspi/value.h
4022 Added server implementations for outstanding ATK interfaces
4023 not yet implemented.
4025 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4028 Added (missing) getName() method.
4029 Made nActions an attribute.
4030 * idl/EditableText.idl:
4031 Changed order of params in setAttributes.
4032 * idl/Hyperlink.idl:
4033 Removed getAnchor, added getURI.
4035 Changed attributes to methods, for efficiency
4036 (so that getting extents can be done in one call)
4037 * idl/Selection.idl:
4038 Changed nSelectedChildren to attribute, and re-indented.
4039 * idl/Table.idl: changed nrows, ncolumns, caption, summary
4041 * idl/Text.idl: reformatted to match our coding style.
4042 (temporarily?) removed getRowColumnAtOffset().
4043 Changed text selection API to support multi-select and
4044 non-contiguous selections, as in ATK.
4045 * idl/Value.idl: changed some methods to attributes.
4047 2001-08-24 Mark McLoughlin <mark@skynet.ie>
4049 * libspi/listener.c(impl_notify_event):
4050 BonoboUnkown_unref the source instead
4051 of bonobo_object_release_unref - the ORB
4052 handles the releasing.
4054 * configure.in: require ORBit-2.3.94 for
4057 2001-08-21 Bill Haneman <bill.haneman@sun.com>
4059 Tagged CVS repository 'EA_1_0'.
4060 * README.EARLY_ACCESS:
4061 Alphabetized acknowledgements list, and
4063 Listed some known dependencies of at-spi.
4065 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4067 * docs/at-spi-docs.sgml:
4068 * docs/at-spi-sections.txt:
4069 * docs/at-spi-overrides.txt: (Added zero-length file)
4070 Documentation improvements - gtk-doc should build
4071 docs for all implemented C bindings now.
4074 * cspi/spi.c: (New file)
4075 * cspi/spi_event.c: (New file)
4076 * cspi/spi_registry.c: (New file)
4077 * cspi/spi_accessible.c: (New file)
4078 * cspi/spi_application.c: (New file)
4079 * cspi/spi_component.c: (New file)
4080 Split spi_main.c into six parts, and included them from
4081 "spi.c". This is a bit of a hack, probably temporary,
4082 but required by gtk-doc, apparently.
4084 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4087 * docs/at-spi-docs.sgml:
4088 * docs/at-spi-sections.txt:
4090 Initial checkins/modifications for gtk-doc generation.
4093 Added (missing) interface query methods to Accessible's C binding.
4095 Added GenericInterface type definition.
4097 Added query for AccessibleComponent interface to focus event handler.
4098 Added printout of bounding box for focussed component.
4099 * libspi/component.c:
4100 Added partial implementation for AccessibleComponent to C binding.
4101 * idl/Application.idl:
4102 * libspi/registry.c:
4103 * libspi/listener.c:
4104 * libspi/application.c:
4105 * libspi/application.h:
4106 Changed "ID" attribute type from string to long.
4108 2001-08-19 Bill Haneman <bill.haneman@sun.com>
4112 Made method naming consistent: methods taking object args
4113 start with uppercase, other methods (except those using
4114 acronyms) start with lowercase. Underscores delimit between
4115 object names and method names:
4116 SPI_init() - uppercase since it starts with an acronym.
4117 getDesktopCount () - lowercase start since no object param0.
4118 Accessible_getName() - uppercase object type name, studlyCaps method
4122 Added gtk-doc documentation for all currently implemented
4123 methods in the C bindings API.
4125 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4127 * Makefile.am : changed build order to build test last.
4130 Changed "createEventListener" to "CreateEventListener".
4131 * libspi/accessibleeventlistener.c :
4132 Bugfix for addition of callbacks.
4133 * test/Makefile.am :
4134 * test/simple-at.c :
4135 Added new test that uses the C bindings API.
4137 * libspi/listener.c :
4138 * libspi/registry.c :
4139 * libspi/accessibleeventlistener.c :
4140 * at-bridge/bridge.c :
4141 Renamed member "target" of Accessibility_Event to "source",
4142 which is more descriptive.
4145 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4149 * cspi/Makefile.am :
4150 Added makefile support for at-spi/cspi directory.
4153 * cspi/spi-listener.h : (NEW FILE)
4154 Added support for/use of spi-listener.h.
4156 C bindings now build successfully, with no warnings.
4157 * libspi/accessibleeventlistener.h : (NEW FILE)
4158 * libspi/accessibleeventlistener.c : (NEW FILE)
4159 * libspi/Makefile.am :
4160 Added new object type "AccessibleEventListener"
4161 which inherits from Listener, and allows attachment
4162 of in-process callbacks (so that a client with a listening
4163 object instance can add functionality to the local
4164 implementation, dynamically).
4166 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4168 * libspi/accessible.c:
4169 Add implementation for get_index_in_parent().
4171 Added #include of "spi-roletypes.h", and
4172 added enumerated type AccessibleCoordType.
4173 Added definition for KeystrokeListener (function type).
4176 * cspi/spi-statetypes.h :
4177 * cspi/spi-roletypes.h :
4179 Added these headers, used by spi.h.
4181 Added code (NOTE: not yet built by make).
4183 2001-08-18 Mark McLoughlin <mark@skynet.ie>
4185 * libspi/Makefile.am: generate imodule
4186 at the same time as other idl compiler
4189 2001-08-17 Bill Haneman <bill.haneman@sun.com>
4190 * libspi/registry.c :
4191 * libspi/application.c :
4192 * idl/Application.idl :
4193 Made registration with toolkit an application method,
4194 which is required since each app has its own toolkit static
4195 environment. Thus the bridge must register for
4196 notification of toolkit events from each application in turn.
4197 Toolkit notifications are now successfully registered for, and
4198 sent to the listening at client.
4200 Changed toolkit event string to use hyphens rather than underscores.
4201 * libspi/listener.c :
4202 listner now gives more info in debug mode - it reports the
4203 name of the event received, as well as the name of the source.
4206 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4208 * libspi/registry.c :
4209 added more implementation for toolkit events.
4210 Fixed bug such that toolkit event registrations
4211 (via atk) use the whole event name string, not
4213 Removed a useless call to an ORBit_ method.
4214 * at-bridge/bridge.c :
4215 Removed unused local sbuf[] variable.
4217 We now register for Gtk:GtkWidget:button_press_event
4218 events as well as "focus:" events.
4220 Add some more API from Registry.idl that was missing,
4221 for keystroke listening, keystroke and mouse event
4222 synthesis, and enumeration of accessible desktops.
4224 2001-08-16 Michael Meeks <michael@ximian.com>
4226 * configure.in: use AM_GLIB_GNU_GETTEXT.
4228 * Makefile.am (SUBDIRS): kill intl.
4230 2001-08-15 Michael Meeks <michael@ximian.com>
4232 * registryd/Makefile.am: s/oaf/server/ relocate info file.
4234 * configure.in: upd.
4236 * configure.in: depend on a recent bonobo-activation that
4237 will find our server files ...
4239 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4241 * libspi/accessible.c : accessible_new() :
4242 Now we add the Component interface via bonobo_object_add_interface,
4243 if the contained AtkObject implements AtkComponent.
4244 * libspi/accessible.h : now include "component.h"
4245 * libspi/component.h :
4246 * libspi/component.c : added files - implementation of
4247 bonobo wrapper object for Accessibility/Component
4248 * libspi/listener.c :
4249 Added test code to check for Accessibility/Component:1.0
4250 interface and report whether it is implemented by the
4252 * libspi/registry.c :
4253 Now we check for not only the hash of the whole event
4254 string before relaying the event, we also check the
4255 "minor" event string (without the detail string).
4256 This allows event listeners to be registered against
4257 all events of a certain major+minor type, or just
4258 against a specific major+minor+detail type.
4259 * libspi/accessible.c :
4260 Added implementations for Accessible:get_parent(),
4261 Accessible:getChildCount(), and Accessible:getChildAtIndex().
4262 * libspi/registry.c :
4263 * libspi/listener.c :
4264 Replaced calls to Accessibility_Accessible_ref() and
4265 Accessibility_Accessible_unref() with
4266 calls to bonobo_object_dup_ref() and
4267 bonobo_object_release_unref(), so that the CORBA object
4268 is dup-ed and released when relayed, as well as the bonobo object.
4270 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4272 * libspi/Makefile.am,
4273 registryd/Makefile.am,
4274 at-bridge/Makefile.am.
4275 test/Makefile.am, configure.in:
4276 reverse previous changes.
4278 * /idl/Image.idl: fix typo.
4280 * test/Makefile.am: put DEBUG_FLAGS
4283 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4285 * test/app.c: use argv[0] instead of
4288 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4290 * libspi/Makefile.am,
4291 registryd/Makefile.am,
4292 at-bridge/Makefile.am.
4293 test/Makefile.am, configure.in:
4294 cleanup, replace individual LIBS/CFLAGS with
4295 AT_COMMON_{LIBS|CFLAGS}.
4299 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4301 * configure.in, libspi/Makefile.am:
4302 Change IDL path checking for bonobo-activation
4305 2001-08-15 Bill Haneman <bill.haneman@sun.com>
4307 * registryd/registry.c : separated event listeners to use
4308 3 separate lists (focus, window, toolkit). Began testing
4309 event names against hashes before relaying events.
4310 * test/at.c : now register for events of type "focus:"
4311 * test/app.c : now generate events of type "focus:"
4312 * at-bridge/bridge.c : register with ATK for focus events,
4313 and we now relay those focus events to any "focus:" listeners.
4314 This now works with the bridge as a GTK_MODULE when running test/at.
4315 * libspi/registry.c :
4316 * libspi/listener.c :
4317 now we ref event sources before propagating, and unref on receipt.
4318 * libspi/registry.c :
4319 some changes to internal structs, to support event typestring hashes.
4320 * text/app.c : changed the way the appname is generated.
4321 * cspi : added directory that will hold the C bindings library for
4322 non-CORBA/bonobo-savvy clients.
4323 * cspi/spi.h : header file that contains the function prototypes for the C binding.
4324 * idl/Component.idl : added in parameter to indicate coord system for
4325 geometry-related calls.
4326 * idl/Hyperlink.idl : added readonly n_links attribute
4327 * idl/Image.idl : changed methods to attributes.
4329 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4331 * at-bridge/Makefile.am: link against
4332 ../libspi/libspi.la instead of -lspi.
4334 * at-spi/test/app.c: include
4335 bonobo-activation.h. Use a default appname
4336 if one is not provided.
4338 2001-08-14 Bill Haneman <bill.haneman@sun.com>
4340 * idl/Registry.idl : temporarily changed register_Application
4341 to oneway, to work around issue with initial registration
4343 * idl/Application.idl : changed attribute "id" from readonly
4344 to read-write, since it needs to be assigned by Registry.
4345 * registryd/registryd.c : added call to set application id
4347 * registryd/registry.c : changed de-registration procedure to
4348 use CORBA_Object_hash() to find matching object ref in application
4349 lists and listener lists.
4350 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
4351 began distinguishing between event types (work in progress).
4353 2001-08-13 Bill Haneman <bill.haneman@sun.com>
4356 * libspi/application.c:
4357 Added implementations for get/set id, get_toolkitName,
4359 * registryd/registryd.c :
4363 Converted from use of OAF to bonobo-activation.
4364 * libspi/desktop.h :
4365 * libspi/desktop.c :
4367 Removed references to atksimpleobject, since base atkobject
4368 implementation now provides functionality we need.
4369 * libspi/atksimpleobject.c :
4370 * libspi/atksimpleobject.h :
4375 * at-bridge/Makefile.am
4376 * at-bridge/bridge.c
4379 Added directory "bridge" and contents, and added dependencies
4380 in Makefile.am/configure.in.
4381 Initial checkin of "at-bridge".
4382 This code is a GTK_MODULE which automatically registers
4383 GTK+ apps with the accessibility registry, using an object
4384 reference to the root ATK object.
4386 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4388 * po/Makefile.in.in: Remove. Again. If this
4389 doesn't get autogenerated - you need to update
4392 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4394 * po/Makefile.in.in: Add. Again.
4396 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4398 * libspi/accessible.c : added support for 'description' property.
4399 * libspi/accessible.c
4401 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4402 (since the two are now equivalent in libbonobo)
4410 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4411 Bonobo::Unknown as does Accessibility::Accessible.
4412 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4413 interface with Bonobo::Stream, since it was redundant with it.
4414 (The Stream returned by a StreamableContext object is expected to
4415 implement only a subset of Bonobo::Stream)
4417 2001-07-28 Anders Carlsson <andersca@gnome.org>
4419 * libspi/accessible.c (accessible_object_finalize): Change
4420 g_free to g_object_unref since the AtkObject is a GObject.
4422 2001-07-30 Bill Haneman <bill.haneman@sun.com>
4424 * idl/Accessibility.idl: add new IDL files
4427 * idl/Action.idl: Definitions of actionable UI object
4428 * idl/Component.idl: Definitions of UI component geometry, etc.
4429 * idl/Hyperlink.idl: Defs of hyperlink behavior
4430 * idl/Image.idl: Def of accessible image
4431 * idl/Selection.idl: Definition of UI object with selectable children
4432 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4433 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4434 * idl/Text.idl: Interface defs for UI elements with complex textual content
4435 * idl/Value.idl: Definition of UI element that is a value controller or display
4437 2001-07-27 Michael Meeks <michael@ximian.com>
4439 * po/Makefile.in.in: remove autogenerated file from CVS.
4441 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4444 * idl/Registry.idl: include guard.
4446 * idl/Accessibility.idl: Add, and include all the other IDL
4449 * idl/*.idl: remove mass of pragmas etc.
4451 2001-07-26 Michael Meeks <michael@ximian.com>
4453 * registryd/Makefile.am (registryd_SOURCES): remove
4456 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4458 * libspi/.cvsignore, registryd/.cvsignore,
4459 test/.cvsignore: updated.
4461 * po/Makefile.in.in: gettext update.
4463 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4465 * initial CVS checkin
4467 2001-06-29 Michael Meeks <michael@ximian.com>
4469 * configure.in: add AM_CONFIG_HEADER to gen config.h