1 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
3 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
6 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
8 * registryd/Makefile: Add CLEANFILES so that .server file is removed
11 * registryd/registry.c (impl_registry_notify_event): Remove
12 unnecessary call to parser_event_type().
14 * docs/reference/cspi/tmpl/spi_component.sgml:
15 Add reference to SPI_LAYER_WINDOW.
17 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
19 * registryd/registry.c
20 (desktop_add_application): Remove leak.
21 (desktop_remove_application): Remove leak.
22 (parser_event_type): Remove leak.
24 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
26 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
27 bogus call to CORBA_string_dup(). Also removed unnecessary
28 g_string_dup/g_free calls.
30 2002-09-13 Bill Haneman <bill.haneman@sun.com>
32 * registryd/deviceeventcontroller.c:
33 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
35 * test/event-listener-test.c:
36 main: commented out three redundant listeners, to reduce output
37 noise. (They still are potentially useful for testing).
40 2002-09-13 Michael Meeks <michael@ximian.com>
42 * Update all the copyrights to include Ximian.
44 2002-09-06 Mark McLoughlin <mark@skynet.ie>
46 * cspi/spi.h: add SPI_LAYER_WINDOW.
48 * cspi/spi_component.c: (AccessibleComponent_getLayer):
49 add Accessibility_LAYER_WINDOW case.
51 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
53 * libspi/component.c: (impl_accessibility_component_get_layer):
54 add ATK_LAYER_WINDOW case.
56 2002-08-28 Bill Haneman <bill.haneman@sun.com>
58 * configure.in: incremented micro version.
60 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
62 2002-08-20 Bill Haneman <bill.haneman@sun.com>
65 Clarified and reworded our commit policy.
68 Started an API "todo" addition list for 2.2.
72 Free char pointer from atk_text_get_selection, which was being leaked.
74 2002-08-19 Bill Haneman <bill.haneman@sun.com>
77 Small revision to author acknowledgement.
79 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
81 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
82 If signal has detail add it to the type of the event.
85 2002-08-12 Michael Meeks <michael@ximian.com>
87 * test/test-simple.c (global_listener_cb): bin bogosity.
88 (test_keylisteners): disable, still doesn't work reliably,
89 certainly not on my system anyway.
91 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
92 don't leak a reference on the DEC. This round-trip
93 fetching of the DEC per keystroke sucks, it should be
97 * cspi/cspi-lowlevel.h,
98 * cspi/bonobo/cspi-bonobo-listener.[ch],
99 * cspi/bonobo/cspi-bonobo.c: get the copyright
100 notices better - there is still a large amount of
101 work in at-spi falsely attributed solely to Sun.
103 * cspi/spi_main.c (cspi_object_ref): kill bogus
104 hash lookup, just increment the ref.
105 (SPI_freeString): make explicit the fact that we
106 handle NULL strings just fine.
107 (report_leaked_ref): obey coding standards.
108 (cspi_object_hash, cspi_object_equal): kill retval.
109 (cspi_object_release): only release if not on loan.
110 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
111 (cspi_object_borrow, cspi_object_return): impl.
113 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
114 use cspi_object_borrow / return.
116 2002-08-12 Darren Kenny <darren.kenny@sun.com>
118 * cspi/bonobo/cspi-bonobo-listener.c:
120 Don't call cspi_oject_new() because this is creating a new Accessible
121 every single time that an event is fired. This causes ATs like at-poke
122 to nolonger recognise the source of the event and thus ignore it.
123 Re-use the object from the cache, ref it and then unref it after the
124 listeners have been called.
126 2002-08-06 Darren Kenny <darren.kenny@sun.com>
128 * test/event-listener-test.c:
129 Added command-line options to disable mouse events (m) and
132 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
134 * configure.in: Update required versions of ATK, GTK+ and GAIL
136 * cspi-1.0.pc.in: Add dependency for X include files
139 * cspi/bonobo/Makefile.am:
140 Add $(X_CFLAGS) so that X include files
141 are picked up even if not in standard place (bug #71686)
143 2002-06-25 Bill Haneman <bill.haneman@sun.com>
145 * registryd/deviceeventcontroller.c: fix for 84261
146 (spi_dec_mouse_moved):
147 Added test of mouse button mask, so that we can detect mouse
148 button release. Unfortunately we can't otherwise detect mouse
149 button release events without consuming the mouse press event,
150 because of the way XGrabButton works. This means that our mouse
151 release events have a latency dependent on the polling period
152 while the mouse button is down. At least in this case we only
153 have to poll while the button is down, and not at other times.
154 If the button masks don't match with what the last press event
155 reported, we report the appropriate button release event.
156 (spi_dec_ungrab_mouse):
157 New method (not yet called).
158 (spi_device_event_controller_forward_mouse_event):
159 New method, sends mouse press event from GdkFilter.
160 (spi_dec_init_mouse_listener):
161 Added code to call XGrabButton, redirecting mouse button events to
162 the root window and our Gdk event loop.
164 Added code to filter mouse button events, and reordered.
166 * test/event-listener-test.c:
168 Added registration for mouse events of type "mouse:button".
170 2002-06-25 Bill Haneman <bill.haneman@sun.com>
172 * registryd/deviceeventcontroller.c: partial fix for 84261
173 (spi_dec_poll_mouse_idle):
174 New method, a timeout which checks to see if the mouse
176 (spi_dec_poll_mouse_moving):
177 A timeout to be called when mouse motion is underway.
178 (spi_dec_poll_mouse_moved):
179 A method which fires an event if the mouse has moved, and reports
180 whether or not it did so.
181 (spi_dec_init_mouse_listener):
182 A method which sets up the timeouts above.
183 (spi_device_event_controller_new):
184 Now calls spi_dec_init_mouse_listener.
186 * registryd/registry.c:
188 Now we initialize the device event controller when the registry is
189 initialized, instead of waiting until a client has requested a key
190 event notification; this is because we need the event controller
191 for mouse events, but the mouse event registration API is a
192 "registry" call and doesn't explicitly call the
193 deviceeventcontroller.
194 We now report mouse motion events with a 100 ms idle latency and
195 a 20 ms granularity when motion is in progress.
197 * test/event-listener-test.c:
199 We now register the "detail listener" for events of type
200 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
201 delivered only for the first mouse event received, and thereafter
202 "mouse:abs" events are delivered.)
204 * cspi/spi_registry.c:
205 DOCS: Documented the above mouse event typestrings.
207 2002-06-21 Bill Haneman <bill.haneman@sun.com>
209 Happy Summer Solstice...
211 * registryd/deviceeventcontroller.c: [fix for bug 84100]
212 (spi_controller_notify_keylisteners):
213 Changes to remove a listener from the listener list, freeing its
214 open keygrabs, if a notification to that listener fails. This
215 means that although a dead listener can continue to hold a passive
216 keygrab, a maximum of one dispatch to such a listener can fail
217 before the listener is removed from the list, thus the keygrab
218 will be released on the next occurrence.
220 (spi_notify_keylisteners):
221 Renamed to spi_controller_notify_keylisteners, as the controller
222 instance must now be passed as an argument.
223 The copied 'notify' GList is now a list of DEControllerKeyListener
224 objects, since we need more than just the CORBA reference if a
225 notify fails and we need to deregister the listener.
226 (impl_notify_listeners_sync):
227 (impl_notify_listeners_async):
228 (spi_device_event_controller_forward_key_event):
229 Modify use of notify_keylisteners in accordance with above
231 (spi_deregister_controller_key_listener):
232 New method introduced by refactoring, from
233 impl_deregister_keystroke_listener.
234 (impl_deregister_keystroke_listener):
235 Call spi_deregister_controller_key_listener.
236 (spi_key_listener_clone):
237 New method to copy a key listner without doing a 'ref' on the
238 remote object instance; used to create a notifier list.
239 (spi_key_listener_data_free):
240 New method, frees data without unreffing the source.
242 (spi_key_listener_clone_free): new method.
243 (spi_key_listener_free):
244 refactored to call spi_key_listener_data_free.
246 2002-06-20 Bill Haneman <bill.haneman@sun.com>
248 * registryd/registry.c: [fix for bug 86048]
249 (notify_listeners_cb):
250 Clear CORBA system exceptions which occur when notifying
251 listeners, before returning to the source of the original event,
252 since the event source doesn't care if the relayed notify failed.
253 In other words, don't complain to the atk-bridge if the registry
254 could not notify all its listeners, that's no fault of the
255 application and thus should not appear to be an error from the
256 application's perspective.
258 * cspi/spi_main.c: [fix for bug 85980]
260 Replaced use of bonobo_object_dup_ref with call to the wrapper
261 method, csou_dup_ref (); this silences a compiler warning and
262 provided more portability.
264 Ping the registry before return, and restart if necessary.
266 * cspi/bonobo/cspi-bonobo.c:
270 Fixed this method to return an object reference, as it should have
273 * cspi/cspi-lowlevel.h:
274 Added internal definition for cspi_ping() and fixed
275 return type of cspi_dup_ref().
278 2002-06-19 Bill Haneman <bill.haneman@sun.com>
280 * atk-bridge/bridge.c: [fix for bug 85305]
281 (spi_atk_bridge_register_application):
282 New method where the initial application registry calls have been
283 moved; it allows an application to re-register in response to
284 certain error conditions (such as a registry restart, see below).
286 Moved some initialization code to the method
287 spi_atk_bridge_get_registry, below.
288 (spi_atk_bridge_get_registry):
289 New, private accessor function for the Accessibility_Registry
290 instance. If the registry has not been started before, or has
291 died (as detected by failure of a CORBA exception), it is
292 restarted before return, and spi_atk_bridge_register_application
293 is called again to register with the new bridge instance.
294 (spi_atk_emit_eventv):
295 Set registry_died on error; use spi_atk_bridge_get_registry () to
298 * registryd/registry.c:
299 (impl_accessibility_registry_register_global_event_listener):
300 Set listener's event_type_quark to etype.minor instead of
301 etype.major (fix for bug 84856).
303 * test/event-listener-test.c:
304 (report_detail_event):
305 Change the output string so that user/tester can tell that the
306 'detail listener' was called instead of the 'generic listener'.
308 2002-06-18 Bill Haneman <bill.haneman@sun.com>
310 Fixes for bugs 84900, 84908, 84897, 84898.
315 Revved version to 1.1.0
316 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
317 version is going to HEAD which will be used for gnome-2-0-1 and later.)
319 * idl/Accessibility_Registry.idl:
320 (EventListener::notifyEvent):
321 Removed 'oneway' directive after extensive consulation with
322 ORBit2 team and others. This means also that unref() of the event
323 source can and should be done synchronously after emission, rather
324 than remotely in the client, after servicing the notify call on
327 NOTE: This change speeds up listener performance considerably, but
328 introduces new latency on the application side. We may want to
329 add an event queue to the atk-bridge.
331 * atk-bridge/bridge.c:
332 (spi_atk_bridge_focus_tracker):
333 Do a local unref() on the event source after emission.
335 * registryd/registry.c:
336 (desktop_remove_application):
337 Do an unref() on the event source after emission.
338 (desktop_add_application):
339 Do an unref() on the event source after emission.
340 (notify_listeners_cb):
341 When relaying an event, don't automatically add the event source
342 to the local object cache, just CORBA_dup it instead. Likewise,
343 if this method reenters, release the ref rather than calling
345 (impl_registry_notify_event):
346 No longer call remote unref() on the event source after dispatch.
348 * libspi/eventlistener.c:
349 (impl_accessible_event_notify_event):
350 Removed remote unref ()
352 * cspi/bonobo/cspi-bonobo-listener.c:
354 We now call cspi_object_new() instead of cspi_object_add() on
355 receipt of an event; thus we only have an implicit object ref
356 while the cspi_event method is being executed. If we need to keep
357 a reference to the object, the listener must call ref() on the
358 object. Thus also we don't need to call cspi_object_unref() after
359 invoking the listener callbacks in this method.
363 New internal API for creating a new cspi object, without adding it
366 Now uses cspi_object_new() to create the cspi object instance.
368 Now checks to see if the object is in the internal object cache,
369 and adds it if necessary before incrementing its refcount (note
370 that new objects are added with a refcount of 1).
372 New method which gives some information on leaked object instances
373 if leak detection is turned on.
375 * test/event-listener-test.c:
377 New method, used for testing event delivery timing for special
378 events of type "object:test". It reports elapsed time and
379 events/sec every 500 events.
381 Added a new listener, 'test listener', to check timing of event
382 receipt as noted above.
384 Added some timing output here also, reports elapsed time every 100
387 * test/stress-test.c:
388 Emit events of type "object:test", for use with "event-listener-test".
390 * test/test-simple.c:
391 (global_listener_cb):
392 Call Accessible_ref() on the event source before calling
393 validate_accessible, since the validation process does pointer
394 comparisons on the event source, meaning that the event source
395 needs to be added to the local object cache first. Any use of
396 such pointer comparisons between Accessible objects requires that
397 the caller hold an explicit reference to those objects.
398 We also must therefore call Accessible_unref() when leaving this method.
400 2002-06-13 Bill Haneman <bill.haneman@sun.com>
402 * registryd/deviceeventcontroller.c:
403 (spi_controller_update_key_grabs):
404 Fix for #84735, subsequent keygrab listeners not informed of
405 registration failure.
408 (spi_base_construct):
409 Add an assertion on construct, to make sure the GObject passed in
412 Explicitly initialize object->gobj pointer to NULL;
414 * cspi/bonobo/cspi-bonobo-listener.c:
415 (cspi_object_add_ref):
416 New method, can specify whether to dup-ref a bonobo object passed
417 in if it's newly added to the object cache.
419 Now calls cspi_object_add_ref with second param of "FALSE". This
420 prevents us from doing a pointless dup-ref followed by
421 release-unref for all those cases where the object is already in
422 our object cache (fix for #85205).
424 * atk-bridge/bridge.c:
425 (spi_atk_bridge_idle_init):
426 Removed this method, we don't need to initialize in an idle
429 Changed to call spi_atk_register_event_listeners directly, not via an
430 idle handler. (fix for #81139)
431 (gnome_accessibility_module_shutdown):
432 Removed conditional around deregistration of listeners, since we
433 don't use the idle handler and thus have always registered when
435 (spi_init_keystroke_from_atk_key_event):
436 Changed references to Accessibility_KEY_PRESSED to
437 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
439 2002-06-12 Bill Haneman <bill.haneman@sun.com>
441 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
446 * test/stress-test.c:
449 (may have been an incomplete commit yesterday?)
451 2002-06-12 Bill Haneman <bill.haneman@sun.com>
454 Added target for new stress-test.
456 * test/stress-test.c:
457 New test, sends 1000 focus notifies in quick succession.
459 * test/key-listener-test.c:
460 Now we report whether a keylistener registration
461 request succeeded or failed.
463 * test/event-listener-test.c:
464 Uncommented some listeners which are now implemented.
467 2002-06-06 Bill Haneman <bill.haneman@sun.com>
469 * registryd/deviceeventcontroller.c:
470 (spi_controller_update_key_grabs):
471 Fix for #82509, lack of failure notification when
472 ALL_WINDOWS keygrabs fail due to XGrabKey
473 failure: we synchronize the server when
474 registering a passive grab, to make sure we get the
475 error message before the call returns.
477 2002-06-03 Bill Haneman <bill.haneman@sun.com>
479 * test/test-simple.c:
481 Removed #ifdef KEY_IMPL_WORKS guards.
483 Removed #ifdef KEY_IMPL_WORKS guards.
484 Fixed bug which was causing a hang waiting for a
485 "press" event (which was already overwritten by a "release"
486 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
488 Added code to set globals 'key_press_received' and
489 'key_release_received'.
492 Added section "1.1 API Proposed Additions" which
493 lists API additions desired for at-spi-1.1 (only one so far).
494 Updated TODO list a little.
496 2002-06-02 Bill Haneman <bill.haneman@sun.com>
498 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
501 * configure.in: Revved to 1.0.0.
503 * idl/Accessibility_Registry.idl:
504 (registerKeystrokeListener):
505 Added boolean return value.
507 * registryd/registry.c:
508 (notify_listeners_cb): Minor fix to debug output.
510 * registryd/Accessibility_Registry.server.in.in:
511 Revved version number in OAFIID to 1.0.
513 * registryd/registryd.c:
515 Use new OAFIID version.
517 * cspi/bonobo/cspi-bonobo.c:
519 Use new OAFIID version.
525 * atk-bridge/bridge.c:
527 Use new OAFIID version.
529 * registryd/deviceeventcontroller.c:
530 (impl_register_keystroke_listener):
531 Added CORBA_boolean return value.
532 (spi_controller_register_device_listener):
533 Added gboolean return value.
534 (spi_controller_register_global_keygrabs):
535 Added gboolean return value.
536 (spi_key_set_contains_key):
537 Added implementation for many more control keys,
538 for instance F1-F12, arrow keys, End, Home, Page_Up,
540 [TODO: some still not implemented].
542 * text/screen-review-test.c:
543 (text_chunk_pad_string):
544 New function: it provides mapping between coordinate
545 positions of text chunks and character positions in the
546 screen-review-line output string.
547 (text_chunk_to_string):
548 New function, calls text_chunk_pad_string with various
549 pad/delimiter characters. Pushbuttons are delimited with
550 square brackets, Frames with vertical 'pipe' lines, and
551 other text with double quotes.
552 (text_chunk_list_to_string):
553 Calls new function text_chunk_to_string.
554 (toplevel_composite):
555 New function to composite layers CANVAS through
556 POPUP in each toplevel (other layers are composited
557 across toplevels, i.e. BACKGROUND and OVERLAY).
558 (review_buffer_composite):
559 Revise to use new methods.
565 2002-05-31 Laszlo Peter <laca@sun.com>
567 * configure.in: add the Xtst libdir to the runpath on Solaris,
568 since it's not in the default library search path.
570 2002-05-29 jacob berkman <jacob@ximian.com>
572 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
574 2002-05-29 Bill Haneman <bill.haneman@sun.com>
576 * test/screen-review-test.c:
577 (text_chunk_pad_string):
578 Added method, which pads the string according to the
579 text bounds of the chunk. It also takes a 3-character
580 string as a param which indicates the characters to be
581 used for start, padding, and end delimitation of the chunk.
582 (text_chunk_to_string):
583 Changed to use text_chunk_pad_string.
585 * configure.in: Fixed bug in AC_OUTPUT that was
586 causing path substitution in Accessibility_Registry.server
589 2002-05-23 Bill Haneman <bill.haneman@sun.com>
591 * text/screen-review-test.c:
593 New method which attempts a best-guess at clipping
594 text from components (like Java labels) which don't
595 actually implement AccessibleText. This inaccurate
596 clip is based on the assumption that the label is
597 justified left-and-right, and monospaced.
598 (text_chunk_get_clipped_string):
599 We now call guess_string_clip() for text-containing
600 components that don't implement AccessibleText.
602 * test/screen-review-test.c:
603 (review_buffer_get_text_chunk):
604 We now pull "name" from labels if they do not implement
605 AccessibleText (i.e. for Java labels).
606 (get_screen_review_line_at):
607 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
610 Replaceded AC_OUTPUT target
611 registryd/Accessibility_Registry.server with
612 registryd/Accessibility_Registry.server.in.
614 * registryd/Accessibility_Registry.server.in:
615 Removed (this is now a Makefile target).
617 * registryd/Accessibility_Registry.server.in.in:
618 Added (source for target above). We now use $(libexecdir) as
619 prefix for the executable at-spi-registryd.
621 * registry/Makefile.am:
622 Now install at-spi-registryd into $(libexecdir), and build .server
623 file with path (see above).
625 2002-05-22 Bill Haneman <bill.haneman@sun.com>
627 * test/screen-review-test.c:
628 (text_chunk_get_clipped_string):
629 We now check to see if words fall within clip bounds
630 before resorting to character-by-character clip bounds testing.
632 * TODO: Added a section for "2.2 Proposed API Additions".
634 2002-05-21 Bill Haneman <bill.haneman@sun.com>
636 * test/screen-review-test.c:
638 Added a screen review benchmarking and test program to test
641 * cspi/spi_accessible.c:
643 Made some of the debug strings passed to cspi_check_ev a
644 little more specific.
646 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
648 * test/screen-review-test.c: Fix crashes in debug statements
650 2002-05-20 Bill Haneman <bill.haneman@sun.com>
652 * test/screen-review-test.c: Added this file.
654 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
656 * atk-bridge/bridge.c: changed "object:state-change" to
657 "object:state-changed" to match docs.
659 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
661 * atk-bridge/bridge.c: Hooked up state-change event details.
663 2002-05-11 Bill Haneman <bill.haneman@sun.com>
665 * registryd/registry.c:
666 Fixed quarking bug in event string parsing; now events with
667 detail parameters get matched correctly to listeners.
670 * util/idl/Magnifier.idl: remove.
672 * util/*.[ch]: Remove.
673 Magnification utilities and IDL are now in module gnome-mag.
675 2002-05-10 Bill Haneman <bill.haneman@sun.com>
677 * registryd/deviceeventcontroller.c:
678 Fixed bug in grab key conversion which was causing keycode grabs
679 to be converted to AnyKey grabs.
682 updated NEWS file to reflect recent spin-off of gnome-mag.
684 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
686 * cspi/spi_accessible.c: Added exception checks. Fixed completely
687 busted AccessibleStateSet_compare. Removed redundant casts.
689 * cspi/spi-action.c: Removed redundant casts.
691 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
693 * cspi/spi_component.c: Fixed typos and casting error.
695 * cspi/spi_editabletext.c: Removed redundant casts.
697 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
699 * cspi/spi_hypertext.c: Eliminated redundant casts.
701 * cspi/spi_image.c: Eliminated redundant casts.
703 * cspi/spi_registry.c: Eliminated redundant casts.
704 SPI_deregisterGlobalEventListenerAll () removed retval variable.
705 * cspi/spi_selection.c: Removed redundant casts.
706 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
707 handling. Screen geometry and text offsets were being returned as 0
708 on error which is technically valid-- changed these to return -1.
709 Added marshaller for text boundary types to fix bug with boundary
710 types being passed incorrectly to atk.
712 2002-05-09 Bill Haneman <bill.haneman@sun.com>
715 * cspi/spi_registry.c:
716 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
717 which was uncovered by the recent key changes.
719 2002-05-09 Bill Haneman <bill.haneman@sun.com>
721 * test/event-listener-test.c:
723 Added new test, "event-listener-test";
724 this code does two things; it benchmarks traversal time
725 for the accessible hierarchy for the first running accessible
726 app, and it connects listeners for all supported event types.
727 It is thus useful as an example event listener and for
728 diagnostics/debugging of event generation.
730 2002-05-08 Bill Haneman <bill.haneman@sun.com>
733 Removed unnecessary dependency on libutil.
736 Revved micro version: 0.13.1
738 2002-05-08 Bill Haneman <bill.haneman@sun.com>
741 Removed util/Makefile from targets.
744 Removed util subdir from SUBDIRS (temporarily,
745 pending removal of magnifier-only code
749 #ifdef-ed out magnifier dependencies, since
750 magnifier IDL, headers, and binary now live in
751 module gnome-mag and we don't want at-spi to depend
752 on gnome-mag. A magnifier demo which can run alongside
753 simple-at is forthcoming in the gnome-mag module.
755 NOTE: Split magnifier binary, IDL, and magnification
756 activation code from at-spi into module gnome-mag.
758 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
760 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
761 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
763 2002-05-03 Bill Haneman <bill.haneman@sun.com>
766 Revved to version 0.13.0
768 * idl/Accessibility_Registry.idl:
769 Changed definition of KeySet from sequence of longs to sequence of
770 KeyDefinitions, and added KeyDefinition struct.
771 Required for fix to bug 80616.
773 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
774 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
775 to use new definition (see above).
777 * registryd/deviceeventcontroller.c: handle_keygrab(),
778 spi_keyset_contains_key():
779 Changed to make use of new struct; this allows matching based on
780 string key-name, for instance "Tab". This also allows matching of
781 composed characters, non-alphanumeric characters in a way that
782 doesn't involve dependencies on X keysym codes directly, etc.
784 * test/key-listener-test.c:
785 Added test for Alt-Tab key using "string" specification of keyset,
786 and modified one of the tests to use a keycode-based keyset.
787 Thus this test both tests and demonstrates the creation and use of
788 keysets of three forms: specified via keycode array,
789 keysym array, and string array. (The string case only contains a
790 single string, i.e. a string array of length 1).
793 Turned on PRINT_TREE option by default. Also fixed a
794 string-freeing bug in the PRINT_TREE code.
795 Added a listener to window:minimize events.
797 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
799 * atk-bridge/bridge.c:
800 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
801 for window:activate and window:deactiveate
802 (atk_bridge_property_event_listener atk_bridge_signal_listener
803 atk_bridge_window_event_listener) Tidy debug code
805 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
807 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
808 Fixed handling for NULL return value from ATK.
810 * libspi/action.c libspi/component.c libspi/editabletext.
811 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
812 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
813 Removed redundant casts.
815 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
816 Fixed off by one bug.
818 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
819 function not present in idl)
821 2002-05-02 jacob berkman <jacob@ximian.com>
823 * atk-bridge/Makefile.am: make atk-bridge a real module
825 2002-04-26 Radek Doulik <rodo@ximian.com>
827 * libspi/stateset.c (spi_init_state_type_tables): fix size of
828 atk_state_types table
830 2002-04-22 jacob berkman <jacob@ximian.com>
833 * libspi/Makefile.am: add deps on the built files to help
834 automake, and don't version the ORBit typelib
836 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
838 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
839 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
840 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
841 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
842 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
843 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
844 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
845 libspi/accessible.h libspi/accessible.h libspi/base.h
846 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
847 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
848 libspi/relation.h libspi/remoteobject.h libspi/selection.h
849 libspi/spi-private.h libspi/statetset.h libspi/table.h
850 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
851 util/mag_client.h util/mag_control.c util/mag_image.c
852 util/mag_image.h util/magnifier.c util/magnifier.h:
853 Add missing file headers; standardize existing ones
855 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
857 * atk-bridge/bridge.c: Added window event support.
859 2002-04-18 Michael Meeks <michael@ximian.com>
861 * libspi/relation.c (impl_getNTargets): impl.
862 (impl_getTarget): impl.
864 * libspi/Makefile.am: fix stateset install.
866 2002-04-17 Bill Haneman <bill.haneman@sun.com>
869 Started putting useful info in this file.
871 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
873 * atk-bridge/bridge.c:
874 Propagate state-changed notifications to ATs
876 * cspi/spi_registry.c: update docs to reflect actual behavior of
879 2002-04-17 Bill Haneman <bill.haneman@sun.com>
882 Incremented version to 0.12.1
885 Add missing declaration for magnifier_exit,
886 used by mag_control.c - Forte compiler didn't like
887 the implicit redeclaration of the function :-(
890 2002-04-16 Bill Haneman <bill.haneman@sun.com>
893 Revved version to 0.12 due to API change (see below).
895 * cspi/spi-roletypes.h:
896 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
897 definition from the inline docs, and added docs
898 for SPI_ROLE_LAST_DEFINED.
901 * cspi/spi_streamablecontent.c:
902 Added missing seek_type parameter to
903 (so far unused) method,
904 AccessibleStreamableContent_seek().
905 [ RT approval JodyG. ]
908 Fixed docs for SPI_createAccessibleKeystrokeListener.
910 * cspi/spi_registry.c:
911 Fixed docs for SPI_KEYSET_ALL_KEYS.
913 * docs/reference/cspi/at-spi-cspi-sections.txt:
914 Added a number of missing APIs to SECTIONS.
916 2002-04-16 Bill Haneman <bill.haneman@sun.com>
918 * registryd/Makefile.am:
920 * cspi/bonobo/Makefile.am:
921 Add $(X_LIBS) to makefiles.
923 2002-04-15 Bill Haneman <bill.haneman@sun.com>
926 Revved version to 0.11.
928 * libspi/component.c:
929 Added implementation for grabFocus.
931 * idl/Accessibility_Component.idl
932 (Accessibility_Component_grabFocus):
933 Made this method return boolean to indicate success or failure, to
934 be consistent with cspi and the corresponding ATK method.
936 * idl/Accessibility_Selection.idl
937 (Accessibility_Selection_selectAll) :
938 Made these methods return boolean to indicate success or
939 failure, to be consistent with cspi and the corresponding ATK methods.
941 * idl/Accessibility_EditableText.idl
942 (Accessibility_EditableText_setTextContents,
943 Accessibility_EditableText_insertText,
944 Accessibility_EditableText_cutText,
945 Accessibility_EditableText_deleteText,
946 Accessibility_EditableText_pasteText):
947 Made these methods return boolean to indicate
950 * cspi/spi_editabletext.c:
951 Made these methods return booleans.
953 * libspi/selection.c:
954 * libspi/component.c:
955 * libspi/editabletext.c:
956 Connected the boolean returns from ATK
957 to the server-side code referenced above.
959 2002-04-14 Bill Haneman <bill.haneman@sun.com>
961 * idl/Accessibility_Table.idl: Added missing methods,
962 Accessibility_Table_addRowSelection,
963 Accessibility_Table_addColumnSelection,
964 Accessibility_Table_removeRowSelection,
965 Accessibility_Table_removeColumnSelection.
968 Added C wrappers for above IDL:
969 AccessibleTable_addRowSelection,
970 AccessibleTable_addColumnSelection,
971 AccessibleTable_removeRowSelection,
972 AccessibleTable_removeColumnSelection.
975 Added server-side implementation code for IDL above, connecting
976 to pre-existing ATK api.
978 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
980 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
982 * libspi/accessible.c: Added implementation fo
983 Accessibility_Accessible_get_state.
985 * libspi/libspi.h: Added stateset.h to the list of includes.
987 * libspi/stateset.c: Fixed broken implementation.
989 2002-04-13 Bill Haneman <bill.haneman@sun.com>
992 Added implementation code for Accessibility_Magnifier_exit ().
994 * util/mag_control.c:
995 Added test code for above method; you can
996 now kill an existing magnifier via
997 ./mag_control q, from the util directory.
999 * test/key-listener-test.c:
1001 Added a new test, for our key listener API.
1003 2002-04-11 Bill Haneman <bill.haneman@sun.com>
1005 * test/app.c, test/keysynth-demo.c:
1007 Replace use of snprintf with g_snprintf.
1008 (fix for bugzilla 78249)
1010 2002-03-27 Michael Meeks <michael@ximian.com>
1014 * util/Makefile.am (INCLUDES): fix.
1015 (DONT_DIST_SOURCE): don't distribute the
1018 * libspi/Makefile.am (dist-hook): ditto.
1020 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
1022 * libspi/hypertext.c:
1023 Fix warnings when yelp is used with atk-bridge
1025 2002-03-21 Michael Meeks <michael@ximian.com>
1027 * libspi/application.c (spi_application_new):
1028 use spi_accessible_construct so we use the AtkObject
1031 2002-03-19 Michael Meeks <michael@ximian.com>
1033 * registryd/registry.c (desktop_remove_application),
1034 (desktop_add_application): clean coding style.
1036 * registryd/desktop.c (spi_desktop_remove_application),
1037 (spi_desktop_add_application): kill re-enterency hazards.
1038 (spi_desktop_dispose): remove bogus redundant cast
1039 obscuring bug; fix bug too.
1040 (spi_desktop_init): make the desktop object immortal.
1042 2002-03-16 Bill Haneman <bill.haneman@sun.com>
1045 Added a #define-guarded tree-traversal step
1046 when enumerating the apps (diagnostic tool).
1048 2002-03-15 Bill Haneman <bill.haneman@sun.com>
1050 * idl/Accessibility_Role.idl:
1051 Added ROLE_DRAWING_AREA which seemed to be missing from the
1054 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1056 * cspi/spi-roletypes.h cspi/spi_accessible.c
1057 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
1060 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
1061 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
1062 AT when applications are added and removed from the desktop. This
1063 reverts the previous broken implementation using the backing
1064 AtkObject for the SpiDesktop.
1066 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1068 * registryd/desktop.c: emit the "children-changed::add" and
1069 "children-changed::remove" signals on the backing ATK object for
1070 the desktop so AT can tell when applications are started and shut
1073 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1075 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
1077 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
1079 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
1081 * cspi/spi_accessible.c: Implemented c bindings for stateset support
1083 * cspi/state-types.h: synched with IDL and ATK
1085 2002-03-13 Bill Haneman <bill.haneman@sun.com>
1087 * libspi/accessible.c
1088 (impl_accessibility_accessible_get_child_at_index):
1089 Change return value for g_return_if_fail ()
1090 to CORBA_OBJECT_NIL instead of "0" (!)
1092 * registryd/Makefile.am:
1093 * registryd/Accessibility_Register.server.in:
1094 Changed name of executable, "registryd",
1095 to something more informative:
1098 2002-03-13 Michael Meeks <michael@ximian.com>
1100 * atk-bridge/bridge.c (atk_bridge_init): don't register
1101 if we're in a bonobo-component, rather than a bonobo app.
1103 2002-03-13 Michael Meeks <michael@ximian.com>
1105 * atk-bridge/bridge.c (gtk_module_init): split
1106 out body to (atk_bridge_init): here, since otherwise
1107 we get symbol conflicts and oddness when invoked
1108 from (gnome_accessibility_module_init): here (upd.)
1110 2002-03-11 Bill Haneman <bill.haneman@sun.com>
1113 New file. Explicitly allow "build sheriff" putbacks provided
1114 they are tested on Solaris.
1116 * docs/reference/cspi/Makefile.am:
1117 Added '-' to the "cp" command for index.sgml.
1118 ("patch by thomasvs, soon coming to a GUADEC near you")
1121 Incremented version number (0.9.0) for new release.
1122 Changed macro that checks for popt, to better detect
1123 obsolete versions of popt.
1126 Added X_LIBS to AC_SUBST, for applications
1127 that call Xlib API directly.
1130 2002-03-07 Bill Haneman <bill.haneman@sun.com>
1133 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
1136 Fix regression caused by hard-coding major
1137 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
1140 * test/test-simple.c (test_editable_text),
1141 (test_test): revert previous change (error was
1142 a regression in gail which is now fixed).
1144 2002-03-04 Michael Meeks <michael@ximian.com>
1146 * test/test-simple.c (test_editable_text),
1147 (test_text): pass G_MAXINT instead of '-1' for
1148 whole string - is this a good thing !?
1150 * cspi/spi_accessible.c
1151 (Accessible_getRelationSet): fix crasher bug
1152 overwriting the end of the array.
1154 * test/test-simple.c (validate_accessible): free,
1155 not g_free returned relation set.
1157 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
1159 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
1160 implemented stateset support
1162 * idl/Accessibility_State.idl: Made necessary changes to
1163 the IDL to support state sets.
1165 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1167 * registryd/deviceeventcontroller.c:
1168 Added implementation for generateMouseEvent.
1170 * cspi/spi_registry.c:
1171 Connected new implementation for generateMouseEvent
1174 2002-02-12 Bill Haneman <bill.haneman@sun.com>
1177 Incremented revision (but no change in public API
1178 outside of 'utils', which are not installed public yet.)
1180 * libspi/component.c:
1181 Changed to use atk_component API for layers and
1182 mdi_zorder, instead of deprecated atk_object API.
1184 Magnification Utility Enhancements:
1187 Added implementation of createZoomRegion, clearAllZoomRegions,
1188 resizeZoomRegion. Added new commandline argument
1189 "--no-initial-region". Note that clearAllZoomRegions doesn't
1190 unmap the old '0' region as it should (yet), and the other
1191 methods only work when creating/resizing a single region,
1192 which is "region 0".
1193 (Code for multiple region support will be added later.)
1196 Now we raise the magnifier window each time it's refreshed;
1197 this will help keep it on top.
1199 * util/mag_client.h:
1200 Added simple wrappers for above, used by mag_control.
1201 For general use, it's recommended to use the bonobo magnifier
1202 control API directly instead of using these wrappers.
1205 Moved ZoomRegionData from magnifier.c to this file.
1207 * util/mag_control.c:
1208 Added some code to exercise new IDL implementations.
1210 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
1212 * libspi/text.c: Provide implementation for getAttributes.
1214 2002-02-04 Bill Haneman <bill.haneman@sun.com>
1217 Incremented revision.
1219 * test/test-simple.c:
1220 Replaced use of deprecated g_main_iteration with
1221 g_main_context_iteration.
1223 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
1226 Incremented revision for desktop alpha 2.
1228 2002-01-28 Mark McLoughlin <mark@skynet.ie>
1230 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
1233 * test/simple-at.c: include netinet/in.h.
1235 2002-01-24 Mark McLoughlin <mark@skynet.ie>
1237 * cspi/spi_accessible.c: (Accessible_getRelationSet):
1238 use NULL, not CORBA_OBJECT_NIL.
1240 * libspi/accessible.c:
1241 (impl_accessibility_accessible_get_relation_set):
1242 allocate the sequence correctly.
1244 * libspi/remoteobject.h: kill spi_remote_object_new.
1246 * test/test-simple.c: (validate_accessible): add code
1247 to test relation sets, now all we need is to figure
1248 out how to excercise this code path :/
1250 2002-01-18 Michael Meeks <michael@ximian.com>
1252 * test/test-simple.c
1253 (key_listener_cb): consume the key.
1254 (test_keylisteners): update.
1255 (main): wait for any pending unrefs on events.
1257 * registryd/deviceeventcontroller.c
1258 (spi_controller_update_key_grabs): only re-issue the
1259 grab on a key release.
1260 (spi_device_event_controller_forward_key_event):
1261 refresh the keygrabs before we notify the listeners,
1262 to reduce the X ungrab / re-grab race.
1263 (spi_controller_register_with_devices): remove
1264 XSelectInput - we do that with the gdk_window_ call.
1265 (_spi_controller_device_error_handler): return a value.
1266 s/GDK_DISPLAY/spi_get_display/
1268 2002-01-17 Michael Meeks <michael@ximian.com>
1270 * registryd/deviceeventcontroller.c
1271 (_deregister_keygrab): don't blow out the later
1274 * test/test-simple.c (test_keylisteners): do a
1275 more intelligent validation.
1277 2002-01-14 Michael Meeks <michael@ximian.com>
1279 * atk-bridge/bridge.c
1280 (gnome_accessibility_module_init),
1281 (gnome_accessibility_module_shutdown): impl.
1282 (gtk_module_init): protect vs. double inits.
1283 (add_signal_listener): impl.
1284 (spi_atk_bridge_state_event_listener): kill
1285 (deregister_application): split out of
1286 (spi_atk_bridge_exit_func): here.
1288 2002-01-18 Bill Haneman <bill.haneman@sun.com>
1291 Added caret tracking when using magnifier, and
1292 now use text bounds for focus tracking of text elements, rather than
1293 the component bounds - this is helpful for short text fields in long
1294 table cells, at high magnification.
1296 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1298 * registryd/deviceeventcontroller.c:
1299 Regression fix for keylistener de-registration; global keygrabs
1300 were not being released when deregisterKeystrokeListener was
1301 called in cspi, since
1302 Accessibility_DeviceEventController_deregisterKeystrokeListener
1303 was called with a zero-length keyset. That is because the cspi
1304 method, SPI_deregisterKeystrokeListener, does not take a keyset
1305 parameter but instead should remove all the key grabs held be a
1307 The code in impl_deregister_keystroke_listener was changed to copy
1308 the keylist from the listener instance previously registered with
1309 the DeviceEventController before releasing the grabs.
1311 * registryd/registry.c:
1312 * registryd/deviceeventcontroller.c:
1313 * libspi/spi-private.h:
1315 Changed spelling of "re-enterant" to "re-entrant" globally.
1317 2002-01-16 Bill Haneman <bill.haneman@sun.com>
1319 * test/test-simple.c:
1320 Changed key listeners test - the test was slightly mis-using the
1321 (admittedly poorly documented) SPI_generateKeyboardEvent API.
1322 It now uses '=' as the key event listened to and generated,
1323 relying on a keysym match rather than assuming that keycode 33
1324 is always equal to keysym '!'.
1326 2002-01-15 Bill Haneman <bill.haneman@sun.com>
1329 Changed simple-at to use a specific keyset, rather than
1330 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
1331 manager, desktop, etc.
1333 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1335 * registryd/deviceeventcontroller.c:
1336 Replaced standard X error handler with a special handler that
1337 is non-fatal for failed keygrabs. This works around
1338 problems with keygrab clashes sometimes observed on
1340 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
1341 mouse handling code as yet).
1343 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1346 Incremented revision for desktop alpha release.
1349 Fixed a couple of the more glaring errors (still not
1352 2002-01-11 Michael Meeks <michael@ximian.com>
1354 * registryd/deviceeventcontroller.c
1355 (spi_device_event_controller_forward_key_event): kill
1356 XUngrabKey / XKeyGrab race.
1357 (spi_controller_grab_keyboard): rename to
1358 (spi_controller_update_key_grabs): this, and deal
1359 with incremental adding / removing grabs more
1361 (_register_keygrab): ensure we're not pending a remove.
1362 (spi_grab_mask_free): impl.
1363 (spi_controller_register_global_keygrabs): split out
1365 (handle_keygrab): impl.
1366 (_deregister_keygrab): impl.
1367 (spi_controller_deregister_global_keygrabs): impl.
1368 (spi_controller_update_key_grabs): re-issue the grab if
1369 we just recieved a notification.
1371 * test/test-simple.c (key_listener_cb): remove debug.
1373 * registryd/deviceeventcontroller.c
1374 (spi_controller_register_device_listener): after
1375 registering a global keygrab, actualy register it !
1376 don't wait for a timeout; doh !
1378 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
1379 to make it more readable / manipulable.
1380 s/grabmask/grab_mask/ s/refcount/ref_count/
1381 s/keyval/key_val/ s/modmask/mod_mask
1383 2002-01-08 Michael Meeks <michael@ximian.com>
1385 * registryd/deviceeventcontroller.c
1386 (spi_controller_register_with_devices): use gdk calls to
1388 (global_filter_fn): implement the filter.
1389 (spi_device_event_controller_check_key_event): rename to
1390 (spi_device_event_controller_forward_key_event): this & upd.
1391 (spi_get_display): replace with GDK_DISPLAY.
1393 * registryd/deviceeventcontroller.c
1394 (spi_controller_deregister_device_listener): unroll into
1395 (impl_deregister_keystroke_listener): here to simplify.
1396 (spi_controller_register_global_keygrabs): split cut and
1397 paste (!) out into (_register_keygrab): here, shorter & sweeter.
1398 (spi_controller_deregister_device_listener): remove.
1399 (impl_register_mouse_listener): remove, no mouse listener
1400 support in at-spi-1.0
1402 * registryd/registry.c
1403 (_device_event_controller_hook): kill.
1404 (spi_registry_init): upd.
1406 * registryd/deviceeventcontroller.c
1407 (spi_device_event_controller_class_init): upd.
1408 (spi_check_key_event): merge into.
1409 (spi_device_event_controller_check_key_event):
1410 here and kill strange static ev init, don't leak
1411 the x_event - nor dynamicaly allocate it.
1413 * registryd/registry-main.c (main): re-direct
1414 timeout to remove strange vtable mess.
1416 * registryd/deviceeventcontroller.c
1417 (remove_listener_cb): impl.
1418 (spi_controller_deregister_device_listener):
1419 fix re-enterancy hazard.
1421 2002-01-07 Michael Meeks <michael@ximian.com>
1423 * registryd/deviceeventcontroller.c
1424 (spi_device_event_controller_new): upd.
1425 (impl_notify_listeners_sync): upd. debug.
1426 (spi_notify_keylisteners): fix re-enterancy hazards,
1427 prettify, remove O(n*n) iteration.
1428 (spi_controller_grab_keyboard): fix iteration.
1429 (spi_check_key_event): re-format to suit coding style.
1430 Clean all the warnings - we're warning free.
1432 * registryd/deviceeventcontroller.h:
1433 * registryd/registry.h: make mutualy referential with
1434 typesafe forward references instead of (!) void pointer
1437 2002-01-11 Michael Meeks <michael@ximian.com>
1439 * cspi/spi_accessible.c (role_names): add a role name
1440 to sync this array with the enum; and make the regression
1443 2002-01-10 Michael Meeks <michael@ximian.com>
1445 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
1446 allow expansion of enumeration & kill warning.
1448 * test/test-simple.c (key_listener_cb): impl.
1449 (test_keylisteners): impl.
1451 * cspi/spi-listener.h: make listener signatures const
1452 on the provided (const) events.
1454 * test/keysynth-demo.c: upd. to const events.
1456 * test/simple-at.c: ditto.
1458 2002-01-11 Bill Haneman <bill.haneman@sun.com>
1461 Rev the version to 0.5 (the previous tarball was named 0.4,
1462 even though the micro number was 3), so we need to rev upwards
1463 again for beta2/"desktop-alpha"
1466 Checked in a demo script, which requires editing before use!
1467 Proceed with caution.
1470 Fixed typo in header which was redefining SPI_ACTION_CLASS.
1472 * cspi/spi_accessible.c:
1473 Add a couple of missing enum initializations, and fix some enum
1476 * cspi/spi_registry.c:
1477 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
1479 * docs/reference/cspi/at-spi-cspi-sections.txt:
1480 Remove/fix a couple of broken document references.
1483 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
1484 as Alt-Control to listen for commands, since on some systems
1485 Control-Alt may already be grabbed.
1487 2002-01-10 Bill Haneman <bill.haneman@sun.com>
1490 Update version number to 0.4 for Beta2.
1492 * libspi/accessible.c, libspi/accessible.h:
1493 Expose spi_accessible_construct, to enable libgail-gnome
1494 construction from spi_accessible subtype.
1496 * utils/magnifier.c:
1497 Workaround for bug in some non-gnome-compliant window managers
1498 which made magnifier resize improperly.
1500 2002-01-09 Bill Haneman <bill.haneman@sun.com>
1502 * libspi/accessible.c: (spi_accessible_new) :
1503 Move the test for SPI_IS_REMOTE_OBJECT to
1504 spi_accessible_new_return, fixing a bug and compile time warning.
1506 2002-01-08 Michael Meeks <michael@ximian.com>
1508 * registryd/registry.c (parse_event_type): remove strndup.
1510 * libspi/Makefile.am (libspi_la_SOURCES): remove
1511 sources already included in the headers section.
1513 * libspi/util.c: add.
1515 * libspi/spi-private.h: add.
1517 * registryd/registry.c: update to moved list iterators.
1519 2002-01-05 Michael Meeks <michael@ximian.com>
1521 * test/simple-at.c (main): upd. auto-module set to atk-bridge
1523 * test/test-simple.c (main): ditto.
1525 2002-01-04 Michael Meeks <michael@ximian.com>
1527 * libspi/accessible.c (spi_accessible_new): remove 2nd,
1528 redundant construct.
1530 * registryd/registry.c
1531 (get_listener_list): impl.
1532 (impl_accessibility_registry_register_global_event_listener):
1533 re-impl. to simplify using ~, remove dodgy const cast off.
1534 (parse_event_type): constify.
1535 (impl_accessibility_registry_deregister_global_event_listener_all):
1536 re-write, more efficiency and simplicity, kill re-enterancy
1538 (compare_listener_corbaref, compare_corba_objects),
1539 (compare_listener_quarks): define out.
1540 (impl_accessibility_registry_deregister_global_event_listener):
1541 re-write for effiency, and nail re-enterancy hazard.
1542 (impl_accessibility_registry_get_desktop_list): impl.
1543 (re_enterant_list_delete_link): impl.
1544 (re_enterant_list_foreach): impl.
1545 (remove_listener_cb): impl.
1546 (_registry_notify_listeners): kill.
1547 (notify_listeners_cb): impl.
1549 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
1550 (SPI_getDesktopList): impl.
1552 * test/test-simple.c (test_desktop): test the methods.
1554 2002-01-03 Michael Meeks <michael@ximian.com>
1556 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
1557 keystrings since we free them
1558 (SPI_freeAccessibleKeySet): in here.
1560 * libspi/accessible.c (spi_accessible_new): kill warning,
1561 wonder what is going on with the constructor here.
1563 2002-03-01 Bill Haneman <bill.haneman@sun.com>
1565 * libspi/accessible.c (spi_accessible_new ()) :
1566 Added check to see if AtkObject is an SpiRemoteObject before
1567 creating an SpiAccessible.
1569 2002-05-01 Bill Haneman <bill.haneman@sun.com>
1571 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
1572 Enable keygrabs using the Control modifier, now that they are
1573 working properly (they were previously disabled).
1576 Change the command keygrab for this demo to "Control+Alt", so as
1577 to conflict with fewer other key commands on the system; this
1578 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1580 Removed a pointlessly-chatty keylistener for unshifted keys
1581 (shifted keys are still reported).
1583 2002-02-01 Bill Haneman <bill.haneman@sun.com>
1585 * libspi/remoteobject.h:
1586 * libspi/remoteobject.c:
1587 Added definitions for special AtkObject subtype, required for
1588 support of remote components (specifically, used by BonoboControl
1589 accessibility implementation).
1591 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
1593 * cspi/spi.h: synched relation types with ATK
1595 * cspi/spi_accessible.c: Added implementations of
1596 AcccessibleRelation_* methods
1598 * idl/Accessibility_Relation.idl: added getRelationTypeName
1599 method. Synched known relation types with ATK. Allowed for
1600 relation type extension with the RELATION_EXTENDED type.
1602 * libspi/relation.c: Provided implementations for
1603 AccessibleRelation methods.
1605 2002-01-01 Bill Haneman <bill.haneman@sun.com>
1607 API tweaks for today's API 'freeze'.
1610 Added placeholder functions to allow future compatible expansion
1611 of the IDL interfaces.
1613 * idl/Accessibility_Registry.idl:
1614 Changed generateKeyEvent to generateKeyboardEvent. Changed
1615 signature of this method to accept an optional keystring in
1616 parameter (for complex text input synthesis) and changed use of
1617 simple 'boolean' parameter in registerKeystrokeListener to a
1618 struct, EventListenerMode.
1620 * cspi/spi_accessible.c:
1622 * cspi/spi_streamablecontent.c:
1623 Added references to AccessibleStreamableContent interface, and
1624 definition and implementation of AccessibleStreamableContent
1627 * cspi/spi_registry.c:
1629 Changed generateKeyEvent API to generateKeyboardEvent,
1630 taking a new (optional) keystring parameter to support complex
1635 Renamed directory (to better reflect its actual purpose, bridging
1636 from at-spi to ATK). The .so module is also now named
1639 * idl/Accessibility_Hypertext.idl:
1640 * libspi/accessible.c:
1641 * libspi/hypertext.h:
1642 * libspi/hypertext.c:
1643 Changed Accessibility_Hypertext to *not* derive from
1646 * cspi/spi_registry.c:
1647 Added list of legal event type names for 'window' events, which
1648 completes the registry event API.
1650 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
1652 * at-bridge/bridge.c: Added registration for separate
1653 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1654 signals. If either of the first two parameters to the generic
1655 bridge signal handler are ints, they are passed on as event
1656 details. This allows an AT to determine what text was inserted.
1658 2001-12-21 Bill Haneman <bill.haneman@sun.com>
1660 * registryd/deviceeventcontroller.c:
1661 Fixed regressions in generateKeyEvent caused by the removal of
1662 gdk_init from registryd; we now use pure X calls to connect to the
1663 display, which makes sense because deviceeventcontroller already
1664 uses a fair bit of X API (should eventually be migrated to a
1665 'portability layer').
1667 * registryd/desktop.c:
1668 Fixed minor regression in spi_desktop_init, changed the way the
1669 desktop name is being set to work with new spi_base API
1670 (gobject-based, rather than AtkObject-based).
1672 * registryd/Makefile.am:
1673 Minor revision of makefile to use XTST_LIBS variable rather than
1674 hard-wiring the Xtst LD_ADD element.
1676 * test/keysynth-demo.c:
1677 Tweaked an output message; added initialization of the
1678 'keystrings' member of the "switch listener" key_set.
1680 * libspi/relation.c:
1681 Squashed compile-time warning.
1683 * libspi/accessible.c:
1684 Cosmetic and formatting fixes, renamed a static method.
1686 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1688 * libspi/accessible.c
1690 * libspi/application.c
1693 * libspi/component.c
1694 * libspi/editabletext.c
1695 * libspi/hyperlink.c
1696 * libspi/hypertext.c
1698 * libspi/selection.c
1702 * registryd/desktop.c:
1703 Changed SpiBase to contain a GObject pointer rather than an AtkObject
1705 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1707 * idl/Accessibility_Registry.idl:
1708 Added boolean member 'is_text' to DeviceEvent. This is for the
1709 use of key events, and helps prevent ambiguity between composed
1710 key strings and keysym names, since both may potentially be
1711 returned in the 'event_string' member.
1713 * at-bridge/bridge.c:
1714 * registryd/deviceeventcontroller.c:
1715 Use the 'is_text' member when notifying device event listeners.
1716 Knon issue: composed characters are not dealt with correctly by
1717 the global key listener implementation yet.
1719 2001-12-17 Bill Haneman <bill.haneman@sun.com>
1721 * at-bridge/bridge.c:
1722 Namespaced local static methods to spi_atk_bridge_* where
1723 previously named bridge_*, and spi_* elsewhere.
1725 * at-bridge/bridge.c:
1726 * cspi/bonobo/cspi-bonobo-listener.c:
1727 Added demarshalling/conversion for string member of
1728 Accessibility_DeviceEvent to AccessibleKeystroke.
1730 * registryd/deviceeventcontroller.c:
1731 Added code to fill the Accessibility_DeviceEvent key string value
1732 member for global key events (i.e. from XGrabKey), to match
1733 behavior of Accessibility_DeviceEvent from the toolkit key events
1734 from the bridge. Fixed timestamp in global key event notifications.
1737 Added printout of key event's string value to
1738 report_ordinary_key_event, for demo/debugging purposes.
1740 2001-12-15 Bill Haneman <bill.haneman@sun.com>
1742 * idl/Accessibility_Registry.idl:
1743 Removed Accessibility_KeyStroke structure in favor of generic
1744 Accessibility_DeviceEvent structure.
1745 Changed Accessibility_ControllerEventMask from a struct to an
1748 * at-bridge/bridge.c:
1749 Changed APIs to use DeviceEvent structure as above, and removed
1750 bogus casting between these event structures.
1752 * cspi/spi-listener.h:
1753 Added keystring member of AccessibleKeystroke structure, to enable
1754 matching on event "names" rather than only hardware codes and
1758 Added keystrings member of AccessibleKeySet struct, to allow
1759 matching on event names (as above).
1760 Added declarations for SPI_createAccessibleKeySet and
1761 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
1762 event modmasks directly as unsigned ints rather than structs with
1763 refcounts, in the DeviceEventController methods.
1765 * cspi/spi_registry.c:
1766 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1768 * cspi/spi-roletypes.h:
1769 Added documentation of newly added SPI Roles.
1771 * cspi/bonobo/cspi-bonobo-listener.c:
1772 Changes in support of API changes above.
1774 * libspi/accessible.c:
1775 Converted APIs to use DeviceEvent structure (see IDL changes
1778 * registryd/deviceeventcontroller.c:
1779 Added DEControllerGrabMask structure to track keygrabs not only by
1780 modmask but by keyset as well; this allows us to do "global"
1781 (i.e. X) keygrabs on a per-key or keyset basis rather than always
1782 grabbing on AnyKey and then filtering after-the-fact.
1783 Bugfixes for event filtration mean that we don't get false matches
1784 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1786 * registryd/deviceeventcontroller.c:
1787 Namespaced a number of static methods to use spi_ prefix. Major
1788 revision to internals of global (i.e. X) key grabs.
1790 * registryd/deviceeventcontroller.h:
1791 Removed keymask_list and added keygrabs_list to
1792 SpiDeviceEventController struct.
1795 Added use of SPI_createAccessibleKeySet API when creating a
1796 listener for only one key. Attach a listener to "shift spacebar
1797 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
1798 X key event names to SPI key event names, so that listeners are
1799 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1801 * test/keysynth-demo.c:
1802 Changed (incorrect) use of X key event names (KeyPressed,
1803 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1806 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1808 * libspi/accessible.c:
1809 Convert all AtkRole enumerations to Accessibility_Role enums when
1810 getting a role from an AtkObject.
1812 * cspi/spi_accessible.c:
1813 Complete the conversion of Accessibility_Role enums at runtime to
1814 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1815 role enums correctly match those given in spi-roletypes.h.
1816 Re-synchronize the local names list for AccessibleRole_getName ().
1817 AccessibleRole_getName is now deprecated, since it duplicates the
1818 more reliable Accessible_getRoleName.
1819 Added some role types from Accessibility_Role.idl.
1821 * idl/Accessibility_Role.idl:
1822 Added some role types used by AtkRole.
1824 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1827 * cspi/spi_registry.c:
1829 * cspi/cspi-bonobo-listener.c:
1830 Namespaced all methods that did not begin with an "SPI_" or
1831 "Accessible" prefix to "SPI_".
1834 Homogenized internal function namespace to "cspi_" for statics.
1837 Patched tests to use the new CSPI API.
1839 * docs/reference/cspi/at-spi-cspi-sections.txt:
1840 Updated docs to reflect namespace changes, and added a number of
1841 methods to the documentation.
1843 * registryd/registry.c:
1844 Changed use of strings and string hashes in listener event
1845 matching and parse_event_string to use GQuark, which is guaranteed
1848 * registryd/registry.h:
1849 Squashed annoying warning.
1851 * idl/Accessibility_Role.idl:
1852 Extended range of available Accessibility_Role values.
1854 * cspi/spi_accessible.c:
1855 Re-ordered role names.
1857 2001-12-12 Bill Haneman <bill.haneman@sun.com>
1859 * idl/Accessibility_Value.idl:
1860 Revert use of union back to CORBA_double, since the double type is
1861 more efficient and can contain the other types without loss of
1864 * idl/Accessibility_Accessible.idl:
1865 Added method Accessibility:Accessible:getRoleName, to complement
1866 Accessibility:Accessible:getRole.
1868 * cspi/spi_accessible.c:
1870 Added C binding for above, Accessible_getRoleName (), and changed
1871 signature of Accessible_getRole () to return an AccessibleRole.
1873 * cspi/spi-roletypes.h:
1874 Changed AccessibleRole_getName to return a char * instead of a
1875 const char *. This method is now at least temporarily deprecated
1876 in favor of asking Accessibles for their RoleNames directly.
1879 Revert to match Accessibility_Value.idl;
1883 Change signature of AccessibleValue methods to use double rather
1887 * cspi/spi_accessible.c:
1888 Changed Accessible_getRole to return an AccessibleRole enum rather
1889 than a UTF-8 string. The UTF-8 string can still be obtained via
1890 AccessibleRole_getName ().
1892 * test/test-simple.c:
1893 Add test_action. Small fixup to match API change to Accessible_getRole.
1896 Bugfix for get_action_from_servant ().
1898 2001-12-11 Michael Meeks <michael@ximian.com>
1900 * libspi/libspi.h: remove registry.h and
1901 desktop.h, deviceeventcontroller.h
1903 * libspi/Makefile.am: remove registry.[ch],
1904 desktop.[ch], deviceeventcontroller.[ch]
1906 * registryd/Makefile.am: add registry.[ch],
1907 desktop.[ch], rename registryd.c to registry-main.c.
1908 add deviceeventcontroller.[ch]
1910 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1913 Replace setenv() call with putenv ().
1915 * libspi/component.c:
1916 Bugfix in AccessibleComponent_getExtents (),
1919 2001-12-11 Michael Meeks <michael@ximian.com>
1921 * libspi/image.c (impl_getImageExtents): impl.
1922 (spi_image_class_init): upd.
1925 (AccessibleImage_getImageDescription): fix daft bug
1928 * test/test-simple.c (global_listener_cb): update
1929 to only quit if not --poke
1930 (main): catch --poke.
1931 (validate_accessible): upd. dumping, call test_image
1934 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1937 * idl/Accessibility.idl: update all IDL includes.
1939 * idl/*.idl - rename to namespace - this sucks, blame
1940 mjs' bad decision for oafd.
1942 * test/test-simple.c (create_test_window): add more tests.
1943 (create_tree): split this out.
1944 (validate_accessible): bugfix.
1946 2001-12-11 Michael Meeks <michael@ximian.com>
1948 * cspi/bonobo/cspi-bonobo-listener.c:
1949 (cspi_kestroke_listener_unref),
1950 (cspi_event_listener_unref): impl. undoing previous
1951 homenous environment - for Bill.
1953 * cspi/spi_table.c (long_seq_to_array): use
1956 * cspi/spi_main.c: split out all bonoboish bits into
1959 * cspi/spi-impl.h: upd. typedefs.
1961 * cspi/spi_registry.c: update to lowlevel API,
1962 return booleans to indicate success in some places.
1964 * cspi/spi_event.c: update to lowlevel API.
1966 * cspi/bonobo/Makefile.am: add.
1968 * cspi/bonobo/cspi-lowlevel.h: add
1970 * cspi/bonobo/cspi-bonobo.c: add
1972 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1974 * cspi/Makefile.am: remove spi-listener-impl.[ch],
1975 (SUBDIRS): add bonobo, link in the libs.
1977 * cspi/spi-util.c: kill this file.
1979 * TODO: merge in my bits.
1981 2001-12-11 Michael Meeks <michael@ximian.com>
1983 * test/test-simple.c (test_value, test_table, main):
1984 remove unused variables causing warnings.
1986 * configure.in: cleanup checks - require gail.
1988 2001-12-11 Bill Haneman <bill.haneman@sun.com>
1991 Changed Value interface to use SValue (scalars) rather than
1992 assuming all values are floats. This allows floats, doubles,
1993 longs, shorts, and unsigned values to be manipulated.
1994 Introduced Accessibility:SValue union.
1997 Updated to use new API above, and to work correctly with GValues
1998 of different types in AtkValue.
2001 Updated to use new API above. cspi's API is as yet unchanged.
2004 Updated the Value revision action item.
2006 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2008 * test/test-simple.c:
2009 Added test_table (GtkTreeView widget in test window to follow).
2010 Un-commented test_value, added GtkRange widget.
2011 Added GtkTreeView widget with GtkListStore. It passes regression
2012 test but leaks one SPI object for some reason.
2015 Fixed bug in impl__set_currentValue.
2017 2001-12-10 Michael Meeks <michael@ximian.com>
2019 * cspi/spi_text.c: audit for exception handling,
2020 tolerating NULL object references safely etc.
2022 * cspi/spi_value.c: ditto.
2024 * cspi/spi_table.c (AccessibleTable_getSummary),
2025 (AccessibleTable_getAccessibleAt),
2026 (AccessibleTable_getRowHeader),
2027 (AccessibleTable_getColumnHeader),
2028 (AccessibleTable_getCaption): fix bugs hidden by
2030 (long_seq_to_array): impl.
2031 (AccessibleTable_getSelectedRows),
2032 (AccessibleTable_getSelectedColumns): use it.
2034 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2037 Added a TODO list (rough and short for now).
2039 * cspi/spi_hyperlink.c:
2040 * cspi/spi_hypertext.c:
2041 Fixed macro name typos, and remove use of obsolete macro in
2042 AccessibleHyperlink_getLink.
2044 * cspi/spi_action.c:
2045 * cspi/spi_accessible.c:
2046 * cspi/spi_application.c:
2047 * cspi/spi_component.c:
2048 * cspi/spi_selection.c:
2051 Documentation fixes (removed return values from ref/unref methods).
2053 2001-12-10 Michael Meeks <michael@ximian.com>
2055 * cspi/spi_action.c: audit for exception handling,
2056 tolerating NULL object references safely etc.
2058 * cspi/spi_accessible.c: ditto.
2060 * cspi/spi_component.c: ditto.
2062 * cspi/spi_editabletext.c: ditto.
2064 * cspi/spi_hyperlink.c: ditto.
2066 * cspi/spi_hypertext.c: ditto.
2068 * cspi/spi_image.c: ditto.
2070 * cspi/spi_selection.c: ditto.
2072 2001-12-10 Michael Meeks <michael@ximian.com>
2074 * configure.in: use cspi/libspi.pc.in instead.
2076 * Makefile.am (pkgconfig_DATA): upd. to match.
2078 * test/simple-at.c (report_focus_event): kill hacks around
2079 bad return values, use putenv not setenv
2081 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
2082 fire ChildGone - I killed it.
2084 * libspi/component.c
2085 (impl_accessibility_component_get_extents): remove
2088 * idl/Accessible.idl: kill ChildGone exception.
2090 * cspi/*.[ch]: kill int return from ref / unref.
2092 * cspi/spi_main.c (cspi_object_add_check): fold into
2093 (cspi_object_add): here.
2095 * cspi/spi_component.c (AccessibleComponent_getExtents):
2096 handle exceptions elegantly.
2098 * cspi/spi-private.h (cspi_check_ev_return),
2099 (cspi_return_if_fail): impl.
2101 * cspi/spi_accessible.c: use extensively.
2102 (AccessibleStateSet_equals): add direct compare check.
2104 * cspi/spi_selection.c: tolerate NULL objs, and check
2105 exceptions before return.
2107 * cspi/spi-util.c (cspi_warn_ev): rename to
2108 (cspi_check_ev): this & don't pass ev in; no point.
2110 2001-12-10 Michael Meeks <michael@ximian.com>
2112 * test/test-simple.c: use putenv not setenv
2113 (get_environment_vars): more chatty if you're not using
2116 * test/simple-at.c: do the setenv so more people see the
2119 2001-12-10 Bill Haneman <bill.haneman@sun.com>
2121 * libspi/registry.c:
2122 Changed check of CORBA_environment on notification to be a warning
2123 instead of an error for the moment, since we can recover from this
2124 error when caused by a queued notification from a dead app.
2127 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
2128 used by all current implementors of AtkValue), and coerce to
2129 CORBA_float. (Proper general case fix may require change to Value.idl).
2131 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2135 * cspi/spi_accessible.c:
2136 Documentation fixes: added user_data params to documentation for
2137 listeners and callbacks.
2139 * cspi/spi_accessible.c:
2140 Changed AccessibleStateSet_compare to return a
2141 StateSet rather than return the difference set into a third parameter.
2144 2001-12-09 Bill Haneman <bill.haneman@sun.com>
2147 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
2148 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
2152 Remove subdirectory po from SUBDIRS for now.
2154 * at-bridge/bridge.c:
2155 Beefed up a couple of debug printouts.
2156 One-line fix for signal notification name formatting.
2158 * libspi/accessible.c:
2159 Added assertion to spi_accessible_new ().
2161 * libspi/application.c:
2162 Put #ifdef qualifiers around a printf.
2165 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
2167 * registryd/Makefile.am:
2169 Replaces use of XML_I18N_MERGE_SERVER_RULE with
2170 INTLTOOL_SERVER_RULE macro.
2173 Added an event listener for several ATK signals, for
2174 testing and debugging. Removed a few g_warnings.
2175 Added test output if focussed item implements the Value interface.
2177 * test/test-simple.c:
2178 Added test_value () function (known not to pass at the moment, so
2179 not actually called yet.
2181 2001-12-08 Michael Meeks <michael@ximian.com>
2183 * at-bridge/bridge.c (bridge_focus_tracker),
2184 (emit_eventv): fix the same ref. leak.
2185 (register_atk_event_listeners): don't leak.
2187 * cspi/spi-listener-impl.c (cspi_event): more
2188 protection from client code.
2190 * test/test-simple.c (test_desktop): unref the app.
2192 * test/Makefile.am: upd. TESTS.
2194 * at-bridge/bridge.c (bridge_exit_func): release the registry.
2196 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
2198 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
2200 * cspi/spi_registry.c: constify in strings.
2201 (deregisterGlobalEventListenerAll): don't release the ref.
2203 * cspi/spi.h: start removing redundant / conflicting
2204 gtkdoc comments, making the API readable at a glance :-)
2206 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
2208 * test/keysynth-demo.c (keysynth_exit, main): upd.
2210 * test/simple-at.c (main, simple_at_exit): upd.
2212 * test/test-simple.c (unutterable_horror): kill.
2213 (utterable_normal_derefs): kill.
2214 (main): upd & do a setenv before gtk_init, so that we
2215 can use memprof - and to save the pain of remembering
2216 this, if we're running under memprof - don't exit.
2218 * cspi/spi_main.c (SPI_exit): return exit status
2220 (SPI_event_quit): impl.
2221 (SPI_event_main): simplify.
2222 (cspi_is_gnome_app): kill.
2223 (SPI_init): kill isGNOMEapp arg.
2225 * at-bridge/bridge.c (register_atk_event_listeners):
2226 re-instate the unref.
2227 (bridge_exit_func): don't re-activate the registry,
2228 protect vs. theoretical re-entry, use the
2229 AT_BRIDGE_SHUTDOWN env. var to determine whether to
2230 assert a clean shutdown - for regression tests.
2232 2001-12-08 Abel Cheung <maddog@linux.org.hk>
2234 * configure.in: Comment out dummy i18n support for now,
2235 otherwise it fails to build.
2236 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
2237 EXTRA_DIST. They are missing in tarball.
2239 2001-12-07 Michael Meeks <michael@ximian.com>
2241 * util/magnifier.c: kill bonobo activation reg. race.
2243 * libspi/component.c
2244 (impl_accessibility_component_get_extents): make it match
2247 * libspi/registry.c (_registry_notify_listeners):
2248 re-remove X headers & reconcile conflicts.
2249 (spi_listener_struct_free): bad conflict resolve.
2250 (impl_accessibility_registry_register_application):
2251 more bad merging fixed.
2252 (impl_accessibility_registry_deregister_application): ditto.
2253 (spi_registry_new): ditto.
2254 (spi_registry_init): don't have an applications field.
2256 [ merge fixups2 branch to here ]
2257 2001-12-07 Michael Meeks <michael@ximian.com>
2259 * test/simple-at.c (report_focus_event),
2260 (report_focussed_accessible): remove g_warning debug.
2262 2001-12-07 Michael Meeks <michael@ximian.com>
2264 * test/test-simple.c (validate_tree): comment out some checks.
2265 (test_desktop): app now not registered idly - horay.
2267 2001-12-07 Michael Meeks <michael@ximian.com>
2269 * cspi/spi_registry.c
2270 (registerAccessibleKeystrokeListener): clean, stop it leaking
2271 great swathes of memory, and device event controller references.
2272 ensure we always pass valid sequences.
2273 (deregisterAccessibleKeystrokeListener): ditto.
2274 (generateKeyEvent): upd.
2276 * at-bridge/bridge.c (bridge_key_listener): handle
2277 registry dead exception gracefully.
2278 (bridge_focus_tracker, emit_eventv): free ev.
2280 * test/simple-at.c (report_focus_event): fix polarity.
2282 * libspi/application.c (notify_listeners): kill the ev
2283 argument, and make sure we init the ev we use.
2284 (spi_application_object_event_listener): split out a chunk
2285 (get_atk_object_ref): here & fixup.
2286 (reverse_lookup_name_for_toolkit_event): make const.
2287 (spi_application_toolkit_event_listener): fixup, kill leaks
2290 * at-bridge/bridge.c (register_atk_event_listeners):
2291 don't unref the noop object - causes grief.
2293 * libspi/registry.c: remove the X headers.
2294 turn off the debug churn.
2296 * libspi/accessible.c (spi_accessible_new_return): only
2297 release the ref if we are supposed to [doh]
2299 * test/simple-at.c (report_button_press, report_focus_event):
2300 guard vs. unexpected exit.
2302 * at-bridge/bridge.c (gtk_module_init): prune printf.
2303 (bridge_exit_func): fix app unref.
2305 * libspi/Makefile.am: don't install registry or desktop.h
2307 * libspi/*.h: update includes.
2309 * libspi/application.h: don't include ourself, or
2310 other redundant headers.
2312 2001-12-06 Michael Meeks <michael@ximian.com>
2314 * libspi/accessible.c
2315 (get_accessible_from_servant): impl.
2316 Upd. all CORBA impl.s to use it killing cut and paste.
2318 * cspi/spi_main.c (cspi_cleanup): guard vs. double
2320 (SPI_init): register atexit cleanup handler here.
2322 2001-12-06 Michael Meeks <michael@ximian.com>
2324 * at-bridge/bridge.c (gtk_module_init): g_error on
2325 activation exception
2327 2001-12-06 Michael Meeks <michael@ximian.com>
2329 * at-bridge/bridge.c (gtk_module_init): some sort of
2330 confusing merge clash - reverted.
2331 (bridge_idle_init): ditto.
2333 * test/test-simple.c (main, utterable_normal_derefs):
2334 merge from Bill - somehow not committed.
2336 2001-12-06 Michael Meeks <michael@ximian.com>
2338 * libspi/value.c (spi_value_class_init): upd.
2339 (spi_value_finalize): kill.
2341 * libspi/table.c (spi_table_finalize): kill.
2342 (spi_table_interface_new): upd.
2343 (spi_table_class_init): upd.
2344 (get_table_from_servant): impl.
2345 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2347 * libspi/selection.c (spi_selection_finalize): kill.
2348 (spi_selection_interface_new): upd.
2349 (spi_selection_class_init): upd.
2350 (get_selection_from_servant): impl.
2351 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2353 * libspi/relation.c (spi_relation_finalize): kill.
2354 (spi_relation_class_init, spi_relation_new): upd
2356 * libspi/image.c (spi_image_finalize): kill.
2357 (spi_image_class_init): upd.
2358 (spi_image_interface_new): upd.
2359 (get_image_from_servant): impl.
2360 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2362 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
2363 (spi_hyperlink_finalize): kill.
2364 (spi_hyperlink_new): upd.
2365 (get_hyperlink_from_servant): impl.
2366 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2368 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
2369 (spi_hypertext_finalize): kill.
2370 (spi_hypertext_class_init): upd.
2371 (get_hypertext_from_servant): impl.
2372 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2374 * libspi/editabletext.c (spi_editable_text_finalize): kill.
2375 (spi_editable_text_interface_new): upd.
2376 (get_editable_text_from_servant): impl.
2377 Upd. all CORBA impl.s to use it killing yet more cut and paste.
2379 * libspi/text.c (get_text_from_servant): impl.
2380 All impls - update to use it killing more cut and paste,
2381 also fix bad string returns on duff args ( a somewhat
2382 impossible case to handle - but hey ).
2383 (spi_text_construct): impl.
2384 (spi_text_interface_new): upd.
2385 (spi_text_object_finalize): kill.
2387 * libspi/component.c
2388 (accessibility_component_object_finalize): kill.
2389 (spi_component_class_init): upd.
2390 (get_component_from_servant): impl. helper to kill cut & paste.
2391 (impl_accessibility_component_contains):
2392 (impl_accessibility_component_get_accessible_at_point):
2393 (impl_accessibility_component_get_position):
2394 (impl_accessibility_component_get_extents):
2395 (impl_accessibility_component_get_mdi_z_order):
2396 (impl_accessibility_component_get_layer):
2397 (spi_component_interface_new): upd.
2399 * libspi/action.c (spi_action_finalize): kill.
2400 (spi_action_class_init): upd. inherit from SpiObject.
2401 (spi_action_interface_new): upd.
2402 (get_action_from_servant): impl. helper to reduce cut & paste.
2403 (impl_getKeyBinding, impl_getName, impl_doAction),
2404 (impl_getDescription): Use it everywhere.
2406 * cspi/spi_main.c (get_live_refs): a pointer hash.
2407 (spi_object_hash, spi_object_equal): comment out.
2408 There are issues with CORBA object hashing that need
2411 * libspi/application.c (spi_application_init),
2412 (spi_application_new): upd.
2414 * libspi/accessible.c (spi_accessible_object_finalize): kill.
2415 (spi_accessible_class_init): upd.
2416 s/accessible/object/ in epv methods.
2418 2001-12-05 Bill Haneman <bill.haneman@sun.com>
2420 * at-bridge/bridge.c:
2421 Reorder the bridge initialization into the bridge gtk_module_init,
2422 an immediate call to bridge_register_app, and an idle_add for
2423 register_atk_event_listeners (the only code that *must* wait until
2424 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
2425 the activation, creates the application's Accessible object, and
2426 queues the bridge_idle_init function. Restored call to
2427 Accessibility_Registry_deregisterApplication().
2428 Prior to making this call we obtain a new reference to the
2429 registry, which is a temporary hack that helps us handle apps that
2430 shut down the bonobo mainloop before we get there.
2432 * libspi/registry.c:
2433 Fix string leakage in debug block, and don't segv if a an app
2434 dies before its event notifications have been propagated.
2437 Modify cspi_check_ev() to call g_warning() rather than g_error(),
2438 as stopgap measure until we get proper exception handling when
2439 objects die during or before interrogation.
2443 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
2444 Also changed default value of is_gnome_app to TRUE.
2447 * test/keysynth-demo.c:
2448 Changed use of SPI_init and SPI_event_main to reflect API change above.
2451 Made report_focus_event check the warning value from getName
2452 before reporting on focussed accessible; simplifies handling of
2453 notifications from dead objects.
2455 * test/test-simple.c: (Changes not in this patch since source is
2458 2001-12-05 Michael Meeks <michael@ximian.com>
2460 * registryd/registryd.c (main): protect against
2461 bonobo-activation startup race condition.
2463 * cspi/spi_main.c (cspi_object_add_check): cope
2464 with the exception elegantly.
2466 * idl/Accessible.idl: decl. ChildGone
2468 * libspi/desktop.c (spi_desktop_dispose): impl.
2469 (spi_desktop_class_init): upd.
2470 (spi_desktop_add_application),
2471 (spi_desktop_remove_application),
2472 (abnormal_application_termination): impl.
2473 (impl_desktop_get_child_at_index): re-impl.
2476 (impl_accessibility_registry_deregister_application),
2477 (impl_accessibility_registry_register_application):
2478 kill excessive debug clutter.
2480 * test/test-simple.c (test_misc): test some NULL
2481 tolerance. (main): upd.
2483 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
2484 implements no interfaces - so let's not crash.
2486 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
2488 * libspi/accessible.c (spi_accessible_new_return): impl.
2489 helper to calm the cut and paste, to cope with
2490 NULL AtkObjects effectively and efficiently, and to kill
2491 the referencing bugs.
2493 * libspi/table.c (impl_getAccessibleAt),
2494 (impl_getRowHeader, impl_getColumnHeader): upd.
2496 * libspi/hyperlink.c (impl_getObject): upd.
2498 * libspi/accessible.c
2499 (impl_accessibility_accessible_get_child_at_index): upd.
2501 * libspi/component.c
2502 (impl_accessibility_component_get_accessible_at_point): upd.
2504 * test/test-simple.c (test_editable_text, test_text): impl.
2507 * cspi/spi_editabletext.c
2508 (AccessibleEditableText_insertText): constify.
2510 * test/test-simple.c (focus_me): make more robust.
2512 * libspi/accessible.c: remove some printfs in methods that
2513 we test and work fine, so we can get a clean tree dump.
2515 * test/test-simple.c (validate_accessible),
2516 (validate_tree): make tree dumping pretty too.
2518 * at-bridge/bridge.c (bridge_signal_listener): upd. so
2519 it builds without debug on.
2521 * test/test-simple.c (validate_accessible): fix the most
2524 * cspi/spi_main.c (spi_object_release): leave the nicely
2525 blanked memory around if in debug mode.
2527 * cspi/spi-listener-impl.c (cspi_event): use add_check.
2529 [committed to fixups2]
2530 2001-12-05 Michael Meeks <michael@ximian.com>
2532 * libspi/editabletext.c
2533 (spi_editable_text_class_init): g_type_class_peek_parent,
2534 not interface peek - so we finalize cleanly.
2536 * libspi/accessible.c (spi_accessible_new): kill debug.
2538 * test/test-simple.c (validate_accessible): fix ref.
2539 leak, print strings before freeing them; sigh, comment a
2540 chunk out due to strangeness.
2541 (validate_tree): unref the child after use.
2543 * cspi/spi_component.c (AccessibleComponent_getLayer):
2544 add missing break statement, switch on zlayer not the
2545 uninitialized retval.
2547 * cspi/spi_main.c (cspi_object_add): add assert, local ref
2548 before (possibly re-entering) remote unref.
2550 * test/simple-at.c (main): unref the desktop.
2552 * cspi/spi_accessible.c (cspi_accessible_is_a): move
2555 * cspi/spi_main.c (cspi_accessible_is_a): here to
2556 isolate bonobo API usage more.
2558 * libspi/registry.c (impl_accessibility_registry_register_application):
2559 prune bogus comment.
2561 2001-12-04 Michael Meeks <michael@ximian.com>
2563 * test/test-simple.c (validate_tree): upd.
2564 IndexInParent check to make it more lucid.
2565 (validate_accessible): dump the tree.
2567 * libspi/accessible.c (de_register_public_ref),
2568 (get_public_refs): impl.
2569 (spi_accessible_new): make more efficient & intuitive.
2570 Now IndexInParent check works.
2572 2001-12-04 Michael Meeks <michael@ximian.com>
2574 * cspi/spi-util.h: remove.
2576 * cspi/spi.h: move SPI_freeString here
2578 * libspi/component.c (impl_accessibility_component_get_layer):
2580 (impl_accessibility_component_get_mdi_z_order): ditto,
2581 return -1 on error - is this ok ?
2583 * test/test-simple.c (test_application): impl.
2585 * cspi/spi_accessible.c (Accessible_getApplication),
2586 (Accessible_isApplication): impl.
2588 * libspi/registry.c (spi_listener_struct_free): release
2589 the CORBA reference too.
2591 * libspi/accessible.c
2592 (impl_accessibility_accessible_get_parent): fix ref leak.
2594 * libspi/registry.c (spi_registry_new): make the registry
2595 immortal - we don't want it to go away ever.
2597 * libspi/application.c
2598 (spi_accessible_application_finalize): impl. cleanup.
2600 * cspi/spi_registry.c
2601 (deregisterGlobalEventListenerAll),
2602 (deregisterGlobalEventListener),
2603 (deregisterAccessibleKeystrokeListener): fix ref leak.
2605 * cspi/spi_main.c (SPI_init): remove redundant ref.
2607 * test/test-simple.c (unutterable_horror): impl. to force a
2612 (impl_accessibility_registry_deregister_application): release
2613 the application when we de-register it.
2615 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2616 until we have the infastructure to get it right.
2618 2001-12-03 Michael Meeks <michael@ximian.com>
2620 * libspi/Makefile.am: only build eventlistener.[ch]
2622 * libspi/accessible.c
2623 (impl_accessibility_accessible_get_child_at_index): don't leak.
2625 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2626 before we hit the idle handler.
2628 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2629 debugging than exit.
2631 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2633 * libspi/listener.c (impl_notify_event): check source
2634 not NIL before unref.
2636 * libspi/registry.c (impl_registry_notify_event): ditto.
2638 * libspi/eventlistener.c
2639 (impl_accessible_event_notify_event): unref the source.
2641 * libspi/accessibleeventlistener.c
2642 (impl_accessible_event_notify_event): unref the source.
2644 * idl/Event.idl: remove 'hash_id' attribute - of no
2647 * libspi/application.c (notify_listeners): upd list
2649 (spi_application_object_event_listener),
2650 (spi_application_toolkit_event_listener): upd to do correct
2654 (_registry_notify_listeners): update.
2655 (parse_event_type): this method also leaks like a sieve.
2656 (impl_accessibility_registry_deregister_global_event_listener):
2657 fix ETYPE_WINDOW case.
2659 * libspi/application.c
2660 (impl_accessibility_application_register_object_event_listener):
2663 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2665 * libspi/hypertext.c (impl_getLink): ditto.
2667 * cspi/spi_main.c (cspi_object_add): remove
2668 bogus CORBA_Object_duplicate.
2670 * cspi/spi-listener-impl.c (cspi_event): dup/ref
2673 * cspi/spi_accessible.c
2674 (Accessible_getRelationSet): fix leak / referencing issue.
2676 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2677 (cspi_object_add, cspi_object_unref): upd.
2678 (spi_object_release, get_live_refs): impl.
2679 (cspi_cleanup): simplify.
2681 * *.[ch]: s/boolean/SpiBoolean/
2683 * cspi/spi_accessible.c (role_names): actualy order so it
2684 corresponds with the enum !
2686 * test/test-simple.c (test_roles): check some role strings
2687 vs. enums to detect offset errors.
2689 2001-12-01 Michael Meeks <michael@ximian.com>
2691 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2693 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2695 (Accessible_getChildAtIndex): use cspi_add_check so we
2696 check the ev before using a (possibly) invalid value.
2698 * libspi/accessible.c
2699 (impl_accessibility_accessible_get_parent): don't segv
2702 * at-bridge/bridge.c (gtk_module_init): upd.
2703 (bridge_property_event_listener): don't leak strings
2705 (bridge_state_event_listener),
2706 (bridge_property_event_listener): don't use a static
2707 buffer in case of recursive event emission &
2708 re-enterancy - split out the swathe of cut and paste
2710 (emit_eventv): and fix 2 ref leaks here & comply to the
2712 (bridge_register_app): rename to
2713 (bridge_idle_init): this and kill arg parsing, split
2714 various inits & bonobo-activation registration to module
2715 init time, kill referencing error.
2716 (bridge_exit_func): fix the same leak.
2717 (bridge_focus_tracker): don't leak event structures
2719 (bridge_signal_listener): more leakage and cut & paste
2721 (bridge_key_listener): return the result - FIXME is
2722 this polarity correct ?
2723 (accessibility_keystroke_from_atk_key_event): rename
2724 (accessibility_init_keystroke_from_atk_key_event): and stop
2726 (gtk_module_init): return a value - not that it is checked by
2728 (bridge_key_listener): register my horror at casting between
2729 IDL defined structs.
2730 (bridge_get_registry): kill - not used.
2732 * cspi/spi_accessible.c (Accessible_getRole): make return const.
2734 * test/test-simple.c (test_roles): impl.
2735 (test_desktop, validate_accessible, validate_tree): impl.
2737 * cspi/spi_accessible.c (role_names): fixup bogus
2738 MAX_ROLES setup, make constants const for efficient linkage
2739 (AccessibleRole_getName): conform to coding style, make
2742 2001-11-30 Michael Meeks <michael@ximian.com>
2744 * cspi/spi.h: add missing prototype.
2746 * libspi/registry.c (spi_listener_struct_new): fix sig.
2748 * test/Makefile.am: add test-simple
2750 * test/test-simple.c: add
2752 * test/test.sh: add.
2754 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2756 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2757 do it straight - since otherwise we often get an activation race.
2759 [ work before Bill duplicated a chunk of it ... ]
2760 2001-11-30 Michael Meeks <michael@ximian.com>
2762 * libspi/keystrokelistener.c
2763 (spi_keystroke_listener_class_init): fixup arg
2766 * libspi/eventlistener.c
2767 (spi_event_listener_class_init): ditto.
2769 * tests/test.sh: add.
2771 * cspi/spi-listener-impl.h: update macros.
2773 * cspi/spi-listener-impl.c
2774 (cspi_event_listener_remove_callback): add
2775 correct pre-conditions.
2777 * cspi/spi_main.c (SPI_exit): guard vs. double
2778 exits, exit the mainloop nicely.
2779 (SPI_event_main): make more sense.
2780 (SPI_init): move the atexit evilness here so we
2781 always do it (yuck).
2782 (SPI_event_main): upd.
2784 * test/simple-at.c: update for listener changes.
2786 * registryd/registryd.c (main): prune kruft.
2788 * libspi/libspi.h: upd.
2790 * libspi/eventlistener.[ch]: rename broken macros.
2792 * libspi/accessibleeventlistener.[ch]: remove.
2794 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2796 * test/test-simple.c: Add - automated tests.
2798 * cspi/spi-listener-impl.c (cspi_event),
2799 (cspi_key_event): add user_data to invoke.
2800 (cspi_keystroke_listener_finalize): impl.
2801 (cspi_keystroke_listener_class_init): upd.
2804 (createAccessibleEventListener),
2805 (AccessibleEventListener_addCallback),
2806 (createAccessibleKeystrokeListener),
2807 (AccessibleKeystrokeListener_addCallback): upd.
2809 * libspi/deviceeventcontroller.c
2810 (spi_device_event_controller_check_key_event): add public proto.
2813 (impl_accessibility_registry_deregister_global_event_listener):
2814 always init listeners.
2815 (_registry_notify_listeners): yes it is.
2817 * cspi/spi-listener-impl.c (cspi_key_event):
2819 (cspi_event_listener_finalize): impl.
2820 (cspi_event_listener_class_init): hook up.
2821 (event_handler_new, event_handler_free),
2822 (event_list_remove_by_callback): impl.
2823 (cspi_event_listener_remove_callback),
2824 (cspi_keystroke_listener_remove_callback),
2825 (cspi_keystroke_listener_add_callback),
2826 (cspi_event_listener_add_callback): upd.
2828 * libspi/keystrokelistener.c
2829 (keystroke_listener_object_finalize): kill
2830 (spi_keystroke_listener_class_init): upd.
2831 (spi_keystroke_listener_add_callback),
2832 (spi_keystroke_listener_remove_callback): kill,
2834 (impl_key_event): prune drasticaly.
2836 * libspi/eventlistener.c
2837 (spi_event_listener_add_callback),
2838 (spi_event_listener_remove_callback): kill, use
2840 (impl_accessible_event_notify_event): upd.
2841 (spi_event_listener_object_finalize): remove.
2843 * libspi/Makefile.am: use eventlistener.[ch]
2845 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2847 * libspi/registry.c (_registry_notify_listeners):
2848 Changed listener loop iteration to use preferred convention.
2849 Got rid of string memory leaks caused be calling g_strconcat
2850 inside function calls.
2852 * libspi/registry.c (parse_event_type):
2853 Stopped g_strconcat memory leaks, free the g_strsplit return,
2854 g_strdup the split pieces when used, etc.
2856 2001-12-04 Bill Haneman <bill.haneman@sun.com>
2859 Change method 'compare' to return a 'difference set' rather than
2860 taking a StateSet as an out parameter (more Java-friendly).
2862 * idl/Accessible.idl:
2863 Added CORBA struct 'BoundingBox', to faciliate API changes below:
2865 * idl/Component.idl:
2867 Changed methods 'getExtents' and 'getImageExtents' in these
2868 interfaces to return a BoundingBox structure.
2869 (getPosition and getSize are redundant and possibly should be
2870 removed, rather than creating a corresponding Point struct.)
2872 * cspi/spi_component.c:
2873 Modify implementation of getExtents to reflect the above IDL
2878 Add (missing) AccessibleImage_getExtents () API.
2880 * docs/reference/cspi/at-spi-cspi-sections.txt:
2881 Added AccessibleImage_getImageExtents () to docs.
2883 2001-12-03 Bill Haneman <bill.haneman@sun.com>
2885 * idl/Component.idl:
2886 Added two methods, getLayer () and getMDIZOrder (), to reflect
2887 the new ATK methods atk_object_get_layer and
2888 atk_object_get_mdi_z_order. (Which arguably should be part of the
2889 AtkComponent API and AtkObject). Also added an enum,
2890 ComponentLayer, for the first method's return value.
2892 * libspi/component.c:
2893 Added implementations for these methods.
2895 * cspi/spi_component.c:
2897 Added cspi binding methods for above,
2898 AccessibleComponent_getLayer() and
2899 AccessibleComponent_getMDIZOrder().
2900 Added cspi enum 'AccessibleComponentLayer'.
2902 * docs/reference/cspi/at-spi-cspi-sections.txt:
2903 Added above methods to docs.
2907 Changed typedef for 'boolean' type (and all references to it) to
2908 SPIBoolean, to avoid keyword clashes with C++.
2911 Changed usages of 'boolean' to SPIBoolean.
2913 * test/keysynth-demo.c:
2914 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2915 app), except where SPIBoolean is required by the callbacks API.
2917 2001-12-02 Bill Haneman <bill.haneman@sun.com>
2919 * cspi/spi_registry.c:
2920 Removed obsolete X event loop for passive keygrabs (which now
2923 * registryd/registryd.c:
2924 Removed unnecessary call to gdk_init() [cruft]. This also allows
2925 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2928 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2930 * docs/reference/cspi:
2931 Included docs for SPI_freeString in generated documentation.
2934 Renamed spi_freeString to SPI_freeString, for consistency. Added
2935 documentation for this function.
2938 Renamed spi_freeString to SPI_freeString, for consistency.
2939 Removed obsolete method declaration string_from_corba_string.
2941 * test/keysynth-demo.c:
2942 Small tweak to comments.
2945 Stopped leaking the strings returned from CSPI.
2947 2001-11-28 Bill Haneman <bill.haneman@sun.com>
2949 Merged Michael's branch (see his ChangeLog entries below).
2951 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2952 bridge is alive, release on exit.
2954 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2955 Fix type check macro.
2958 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2961 Added is_gnome_app static, and method cspi_is_gnome_app(),
2962 so we can call the appropriate shutdown routine at exit in SPI_exit.
2964 * cspi/spi_main.c (cspi_object_ref):
2965 Duplicate the corba object passed in, since we're keeping it around.
2967 * cspi/SPI_exit.c, cspi_cleanup:
2968 Moved the releasing of the live refs to its own function, so we
2969 can put it in g_atexit (). Call the appropriate shutdown API
2970 depending on whethe calling client is a gnome app or not
2971 (bonobo_main_quit or CORBA_ORB_shutdown).
2973 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2974 Unref the listener when this method is called, after
2975 deregistration. Updated the API docs to note this behavior.
2977 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2978 Bugfixes: Ref the bonobo object when returning a parent or child
2979 reference, or an AccessibleRelation. Generally made sure
2980 BonoboObject refcount is incremented whenever we return an
2983 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2984 Fixed typo/bug in signal declaration.
2986 * libspi/accessibleeventlistener.h:
2989 * libspi/application.c (spi_application_new):
2990 Fixed leak in initialization.
2993 Remembered to increment bonobo-object refcount when returning
2994 children (applications) from desktop object.
2995 Added (empty) finalize method.
2997 * libspi/deviceeventcontroller.c:
2998 Hold a ref to listeners inside DEControllerKeyListeners.
2999 Added dec_key_listener_free() method. Use prepend instead of
3000 append in key_listener list. Fixed some refcount madness and
3001 leaks in the listener registration/deregistration - deregistration
3002 now calls dec_key_listener_free() on listeners, and on the
3003 temporarily constructed dec_key_listener() used to perform the search/match.
3005 * libspi/hypertext.c (spi_hypertest_finalize):
3006 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
3007 class. Also fixed spi_hypertext_interface_new() and
3008 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
3010 * libspi/hypertext.h:
3011 Removed pointless and duplicate AtkObject pointer from
3014 * libspi/keystrokelistener.c:
3015 Fixed incorrect type of keystroke_listener_parent_class,
3016 renamed keystroke_listener_object_finalize to
3017 spi_keystroke_listener_object_finalize.
3018 Fixed typo in signal declaration
3019 (spi_keystroke_listener_class_init).
3021 * libspi/registry.c:
3022 Added funcsions spi_listener_struct_new() and
3023 spi_listener_struct_free() to help with memory management issues.
3024 We also now use these methods instead of gnew + poking stuff into
3025 the struct, and to decrement listener counts/free the listeners
3026 when deregistering them.
3027 Fix more refcount bugs in getDesktop() and
3028 getDeviceEventController().
3031 De-ref the desktop after enumerating the applications. Explicitly
3032 decrement the refcounts on the created listeners on exit (using
3033 _unref for keystroke listeners, and via the
3034 deregisterGlobalEventListenerAll command for other event
3037 2001-11-27 Michael Meeks <michael@ximian.com>
3039 * cspi/spi-listener.h: fixup enum.
3041 2001-11-27 Michael Meeks <michael@ximian.com>
3043 * cspi/spi-listener-impl.c (cspi_event_listener_new),
3044 (cspi_keystroke_listener_new): Use the cspi variants.
3046 2001-11-26 Michael Meeks <michael@ximian.com>
3048 * test/keysynth-demo.c: fix 2 compile warnings, missing
3051 * test/simple-at.c (report_focussed_accessible),
3052 (report_focus_event, report_button_press),
3053 (check_property_change, is_command_key),
3054 (report_ordinary_key_event, report_command_key_event): upd.
3056 * util/mag_client.h: include pre-requisites.
3058 * libspi/accessibleeventlistener.c
3059 (spi_event_listener_object_finalize): free any lingering
3062 * libspi/keystrokelistener.c
3063 (keystroke_listener_object_finalize): ditto.
3065 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
3066 callbacks, with cspi types.
3068 * cspi/spi_event.c (createAccessibleEventListener): chain to
3069 (AccessibleEventListener_addCallback): here.
3070 (createAccessibleKeystrokeListener): chain to
3071 (AccessibleKeystrokeListener_addCallback): here.
3073 * libspi/keystrokelistener.c
3074 (spi_keystroke_listener_class_init): add signal.
3075 (impl_key_event): emit the event.
3076 (boolean_handled_accumulator): impl.
3077 (marshal_BOOLEAN__POINTER): add, gack.
3079 * libspi/accessibleeventlistener.c
3080 (spi_event_listener_class_init): add signal.
3081 (impl_accessible_event_notify_event): emit the signal &
3082 make the loop efficient.
3083 (spi_event_listener_add_callback): prepend the callback.
3085 * libspi/accessibleeventlistener.h: add an 'event' signal,
3086 decl type on callback.
3088 * libspi/keystrokelistener.h: ditto.
3090 * cspi/spi-listener.h: make methods typesafe and
3091 make them use the new event typedefs.
3093 * test/simple-at.c (report_focussed_accessible):
3094 include mag_client.h
3095 Use *(void *)text_interface not the other thing.
3097 * configure.in: add gtk to registryd bits - since we use
3100 * util/magnifier.c: include libbonobo.h
3102 2001-11-25 Bill Haneman <bill.haneman@sun.com>
3104 * test/keysynth-demo.c:
3105 Turned this into a simple scanning keyboard, to demonstrate the
3106 use of g_timeout_add () as a means of creating timers for
3107 scanning, and the use of GtkStyle for visually indicating when
3108 virtual keyboard elements are selected.
3110 keysynth-demo now listens to any keyboard keys with zero-valued
3111 keycodes (i.e. 'unused' keys) and interprets them as
3114 Reworked the shiftlatch code so that shift-down state isn't held
3115 for long periods (it's only synthesized immediately prior to
3116 the keysynth event it's modifying). Note that shiftlatch in this
3117 demo is a convenience, not intended to take the place of AccessX
3118 which is the better choice for getting 'sticky' modifier keys.
3120 * libspi/deviceeventcontroller.c:
3121 * at-bridge/bridge.c:
3122 * cspi/spi_registry.c:
3123 Removed some debug print stuff, and put other verbosity in #ifdef
3128 Implemented some more of the magnifier IDL for the simple
3129 magnifier: namely, getZoomRegionParams.
3130 Added mag_x and mag_y members to MagnifierData struct, aid of this
3132 Added GtkWindow::realize signal handler to magnifier, to keep it
3133 from receiving keyboard focus from the WM.
3135 2001-11-23 Mark McLoughlin <mark@skynet.ie>
3137 * cspi/spi-private.h: my guess at what michael forgot
3138 before he ran off to NZ :-)
3140 2001-11-23 Michael Meeks <michael@ximian.com>
3142 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
3143 comment out non existant method invoke so we link.
3145 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
3146 use bonobo_exception_get_text for more friendly warnings.
3148 * cspi/spi.c (Obj_Add): move into spi_main & rename
3149 spi_object_add; kill spi.c
3151 * cspi/spi_registry.c
3152 (deregisterGlobalEventListener),
3153 (deregisterGlobalEventListenerAll),
3154 (registerGlobalEventListener): fix exception leaks.
3156 * cspi/spi_main.c (spi_exception): impl. helper, so we
3157 don't leak exceptions.
3159 * cspi/spi_selection.c
3160 (AccessibleSelection_deselectSelectedChild): return the
3163 * cspi/spi_main.c (spi_ev): impl; hack - gack.
3164 (spi_registry): ditto.
3165 (SPI_init): guard against double inits.
3167 * cspi/*.c: use spi_ev (), and spi_registry () where
3168 appropriate - a temporary hack until we have something
3169 better. Use spi_object_add
3171 2001-11-22 Michael Meeks <michael@ximian.com>
3173 * cspi/Makefile.am: re organise, install the headers.
3175 * cspi/*.h: add G_BEGIN/END_DECLS
3177 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3180 Added non-preemptive keylistener for key events with no modifiers
3181 and shift-only modifier.
3183 * libspi/keystrokelistener.c:
3184 Removed some verbose diagnostics printout.
3186 * cspi/spi_registry.c:
3187 Fixed a bug that caused all key listeners to be registered as
3190 * libspi/deviceeventcontroller.c:
3191 Fixed bug that caused XGrabKey (preemptive key grab) to be called
3192 for non-preemptive key masks.
3195 2001-11-22 Bill Haneman <bill.haneman@sun.com>
3197 * docs/reference/idl/at-spi-idl-docs.sgml:
3198 * docs/reference/idl/at-spi-idl-sections.txt:
3199 * docs/reference/idl/at-spi-idl-overrides.txt:
3200 Added missing files.
3202 * docs/reference/Makefile.am:
3203 removed idl from SUBDIRS until we can figure a way to get gtk-doc
3204 to scan the IDL files :-(
3209 Added .cvsignore files.
3211 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3213 * libspi/deviceeventcontroller.c:
3214 * libspi/keystrokelistener.c:
3216 * cspi/spi_registry.c:
3217 Added filters for KeySets, KeyEventSeq, and event types to key
3218 event dispatching, so listeners should only receive those events
3219 that they requested :-)
3221 2001-11-21 Bill Haneman <bill.haneman@sun.com>
3226 * docs/reference:Makefile.am:
3227 * docs/reference/cspi:
3228 * docs/reference/cspi:Makefile.am:
3229 * docs/reference/cspi:tmpl:
3230 * docs/reference/cspi:tmpl:*.sgml:
3231 * docs/reference/idl:
3232 * docs/reference/idl:Makefile.am:
3233 * docs/reference/idl:at-spi-idl-sections.txt:
3234 * docs/reference/idl:at-spi-idl-docs.sgml:
3235 * docs/reference/idl:tmpl:
3236 * docs/reference/idl:tmpl:*.sgml:
3238 Restructured docs directory to allow separate 'reference' docs
3239 section, and forked idl and cspi docs. Added the sgml template
3240 files to CVS. Added the first sections/structural sgml for the
3243 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
3245 * configure.in, libspi/Makefile.am: find libXtst.
3247 2001-11-21 Michael Meeks <michael@ximian.com>
3249 * test/accessx-gui.c: s/spi_value/value/ - doh.
3251 * libspi/base.[ch]: add.
3253 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3255 * idl/Accessible.idl:
3256 * idl/Application.idl:
3259 Started gtk-doc cleanup on IDL.
3261 * libspi/deviceeventcontroller.c:
3262 Added and connected non-preemptive key notification from the
3263 toolkits (in addition to the pre-emptive support from XServer
3264 which we had before, but which causes 'focus flashing'). Filters
3265 are presently limited to key modifiers and global/non-global,
3266 KeySets are presently ignored, as are KeyEvent masks.
3268 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
3269 structs into the persistant structure rather than just storing
3270 pointers to things that might not persist across servant
3273 The XGrabKey call now does async keygrabs, because synchronous
3274 ones were deadlocking with GDK_event code in a very nasty way.
3276 Added boolean to internal method notify_keylisteners, to indicate
3277 whether the event came from the 'toolkit source' or the 'global
3278 (XServer) source' - this is used in the notification process to
3279 determine which listeners to send the event to.
3281 deviceeventcontroller.c is now warning-free.
3283 * libspi/registry.c:
3284 Fixed regression in application de-registration.
3285 Also fixed some really brain-dead weirdness having to do with
3286 event dispatching - event structs are now duplicated before being
3287 re-marshalled in the dispatch to listeners. This also fixes a
3288 Solaris build problem.
3291 2001-11-20 Michael Meeks <michael@ximian.com>
3294 (impl_accessibility_registry_deregister_global_event_listener):
3297 * libspi/deviceeventcontroller.c
3298 (spi_device_event_controller_check_key_event): return
3299 FALSE on no virtual method.
3301 * libspi/*..h: make includes work on a correctly pathed install.
3303 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
3305 * libspi/application.h: kill unused ( and whacked out )
3306 gboolean *spi_application_set_id (AtkObject *app, long id);
3308 2001-11-20 Michael Meeks <michael@ximian.com>
3310 * libspi/*.[ch]: further convert to bonobo's type func
3311 macros, remove redundnant casts etc.
3313 * libspi/text.c s/accessibility_text/spi_text/g,
3314 re-order to de-cruft.
3316 * libspi/hypertext.c: re-order to kill a huge slew
3317 of redundant forward decls.
3319 * libspi/relation.c: ditto.
3321 * libspi/image.c: ditto.
3323 * */.cvsignore: update
3325 2001-11-20 Michael Meeks <michael@ximian.com>
3327 * libspi/deviceeventcontroller.c
3328 (_controller_register_with_devices): use g_getenv,
3329 kill stdlib.h include.
3331 * libspi/keystrokelistener.c
3332 (spi_keystroke_listener_get_type): kill
3333 (spi_keystroke_listener_class_init),
3334 (spi_keystroke_listener_init): rename to this.
3336 * libspi/text.c (impl_getAttributes): fix warning / bug.
3338 * libspi/*.[ch]: more headers, includes and over commenting.
3340 2001-11-20 Michael Meeks <michael@ximian.com>
3342 * libspi/*.[ch]: fixup headers, includes and over commenting.
3344 * libspi/image.c (impl__get_imageDescription): const
3345 correctness warning fix. remove redundant casting.
3347 * libspi/table.c (impl_getRowDescription): ditto.
3348 (impl_getColumnDescription): ditto.
3350 * libspi/libspi.h: add.
3352 2001-11-19 Michael Meeks <michael@ximian.com>
3354 * libspi/editabletext.c (impl_setAttributes): fix warnings.
3356 * libspi/component.c (accessibility_component_get_type):
3357 rename to (spi_component_get_type): and macroify.
3358 (accessibility_component_init): rename to
3359 (spi_component_init): this
3360 (accessibility_component_class_init): rename to
3361 (spi_component_class_init): this
3363 * libspi/action.c (spi_action_get_type): kill, use the macro.
3365 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
3368 * libspi/application.c (spi_application_object_event_listener),
3369 (impl_accessibility_application_register_object_event_listener):
3370 warning fixes / const understanding updates.
3372 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
3375 2001-11-18 Bill Haneman <bill.haneman@sun.com>
3377 * libspi/spi_accessible.c: Added docs and C bindings for
3378 AccessibleStateSet. (No implementations yet). Documentation
3379 coverage for C bindings now 100%. Made docs for event listeners
3384 boolean notifyListenersSync (in DeviceEventListener listener,
3385 in DeviceEvent event);
3387 oneway void notifyListenersAsync (in DeviceEventListener listener,
3388 in DeviceEvent event);
3390 Added DeviceEventListener and DeviceEvent structs (may deprecate
3391 KeyStroke and KeystrokeListener in favor of this generic
3392 event/listener framework for devices).
3394 * libspi/deviceeventcontroller.c:
3396 Changed some key listener code to take masks, etc., and paved the
3397 way for integration of toolkit/non-preemptive key events. Changed
3398 signatures of some internal methods.
3400 * at-bridge/bridge.c:
3401 Fixed regression connecting to interface signals, apparently
3402 caused by GTK+ changes.
3404 Added an internal bridge_state_listener to deal with
3405 property-change:accessible-state signals.
3407 Changed the key_listeners GList to store structs (including masks,
3408 etc.) instead of just CORBA_Objects (required for full
3409 implementation of key listener API).
3411 Connected the bridge to all currently supported Atk signals.
3412 Events now supported:
3413 object:property-change
3414 object:property-change:accessible-name
3415 object:property-change:accessible-state
3416 object:property-change:accessible-description
3417 object:property-change:accessible-parent
3418 object:property-change:accessible-value
3419 object:property-change:accessible-role
3420 object:property-change:accessible-table-caption
3421 object:property-change:accessible-table-column-description
3422 object:property-change:accessible-table-column-header
3423 object:property-change:accessible-table-row-description
3424 object:property-change:accessible-table-row-header
3425 object:property-change:accessible-table-summary
3426 object:children-changed
3427 object:visible-data-changed
3428 object:selection-changed
3429 object:text-selection-changed
3431 object:text-caret-moved
3433 object:row-reordered
3435 object:column-inserted
3436 object:column-reordered
3437 object:column-deleted
3438 object:model-changed
3440 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3442 * libspi/hyperlink.c,h:
3443 Fixed some broken stuff in hyperlink.
3445 * libspi/relation.h:
3446 * libspi/relation.c:
3447 * cspi/spi_accessible.c:
3448 Initial implementations of AccessibleRelation methods, and docs.
3450 * libspi/accessible.c:
3451 Fixed a bug that caused SEGV if an accessible
3452 object's description is NULL, and a client
3453 requests it. An empty string is now returned.
3455 * cspi/spi_editabletext.c:
3456 * cspi/spi_hypertext.c:
3458 * cspi/spi_hyperlink.c:
3462 Doc coverage now 95%.
3464 2001-11-16 Bill Haneman <bill.haneman@sun.com>
3466 One last namespacing revision:
3467 * libspi/accessibleeventlistener.[ch]:
3468 Renamed SpiAccessibleEventListener to SpiEventListener,
3469 (no need for two namespaces ;-)
3471 And lots of documentation fixes:
3473 * docs/at-spi-docs.sgml:
3474 Fixed 'underscore vs. hyphen' bug that was preventing
3475 the gtk-doc API docs from being automatically generated.
3478 * cspi/spi-listener.h
3480 * cspi/spi_accessible.c
3482 * cspi/spi_application.c
3483 * cspi/spi_component.c
3484 * cspi/spi_editabletext.c
3486 * cspi/spi_hypertext.c
3488 * cspi/spi_registry.c
3489 * cspi/spi_selection.c
3493 * docs/at-spi-docs.sgml
3494 * docs/at-spi-sections.txt
3496 Added and fixed up gtk-doc documentation in cspi.
3498 Interfaces now (fully) documented (subject to revision and enhancement):
3500 Event Listener Support
3502 AccessibleApplication
3506 AccessibleEditableText
3513 AccessibleRelationSet
3518 2001-11-14 Bill Haneman <bill.haneman@sun.com>
3520 * at-bridge/bridge.c:
3521 Initial work for toolkit-level key snooper connection by bridge.
3526 New typedefs and fixes to support new namespacing, and cleaner
3527 separation of cspi bindings from libspi bonobo implementation.
3528 Removed inconsistent and extraneous Spi* namespace prefix that
3529 had crept into cspi headers.
3530 Lots of comment fixes that sed had missed.
3532 * cspi/spi-roletypes.h:
3533 * cspi/spi-statetypes.h:
3534 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
3535 to AccessibleRoleType.
3537 * libspi/accessibleeventlistener.h:
3538 Fixed minor namespacing weirdness.
3540 * libspi/deviceeventcontroller.c:
3541 Reordered some internal API for device listeners.
3542 Changed the key registry final boolean to 'is_system_global'
3543 rather than 'is_synchronous', which is more descriptive of its
3545 Added spi_device_event_controller_new().
3546 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
3548 * libspi/keystrokelistener.[ch]:
3549 Namespaced KeystrokeListener to SpiKeystrokeListener.
3550 Changed uses of keymasks to use SPI_ prefix, and did other
3553 * libspi/keymasks.h:
3554 Namespaced keymask constants with SPI_ prefix.
3556 * libspi/registry.c:
3557 Some warning fixes, and knock-on fixes from namespace changes.
3560 Added rules for accessx-gui test program.
3562 * test/accessx-gui.c:
3563 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
3564 utility. It doesn't actually use at-spi, but it's still cool and
3567 * test/keysynth-demo.c:
3571 Fixes so that these test clients work properly with the namespaced
3572 libraries. (Incompletely tested for technical reasons, fixes may follow)
3575 2001-11-13 Michael Meeks <michael@ximian.com>
3577 * libspi/application.c
3578 (impl_accessibility_application_get_version),
3579 (impl_accessibility_application_get_toolkit_name):
3581 (impl_accessibility_application_set_id),
3582 (impl_accessibility_application_get_id): remove
3583 redundant casting code.
3585 * libspi/action.c (impl_getDescription): fix warnings.
3587 * libspi/accessible.c
3588 (impl_accessibility_accessible_get_parent),
3589 (impl_accessibility_accessible_get_child_at_index),
3590 (impl_accessibility_accessible_get_state),
3591 (impl_accessibility_accessible_get_relation_set):
3592 warning fixes & include action.h
3594 2001-11-13 Michael Meeks <michael@ximian.com>
3596 * *.[ch] fix bits I screwed up:
3598 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3599 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3601 2001-11-13 Michael Meeks <michael@ximian.com>
3603 * *.[ch] Namespace libspi into spi_ and Spi.
3605 2001-13-11 Michael Meeks <michael@ximian.com>
3607 * Makefile.am: dist & install at-spi-1.0.pc
3609 * libspi/Makefile.am: install into at-spi-1.0
3611 * idl/Makefile.am (idldir): install into at-spi-1.0
3613 * at-spi-1.0.pc.in: add.
3615 * configure.in: build it.
3617 2001-11-12 Bill Haneman <bill.haneman@sun.com>
3619 * test/keysynth-demo.c:
3620 Use a 'realize' signal-handler to set the WM properties for
3621 the virtual keyboard, rather than making it a "POPUP" type
3622 override-redirect window (thanks to anders carlsson for that
3625 2001-11-11 Bill Haneman <bill.haneman@sun.com>
3628 * test/keysynth-demo.c:
3629 Added new test of key synthesis, which creates a simple
3630 (mouse-operated) onscreen keyboard. It inserts key events into
3631 the currently-focused window, thus it does not grab keyboard focus
3634 * cspi/spi_registry.c:
3635 Added C binding for AT-SPI generateKeyEvent.
3637 * libspi/deviceeventcontroller.c:
3638 Added call to XFilterEvent so that key listener works with XIM (we
3639 hope). Added event_synth_type to generateKeyEvent, so that we can
3640 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3641 synthesize a press/release pair for KeySyms.
3643 2001-11-09 Bill Haneman <bill.haneman@sun.com>
3645 * libspi/Makefile.am:
3646 * registryd/Makefile.am:
3647 (temporary) hack to include libXtst in libspi and registryd.
3648 (Needed for keystroke synthesis, see below).
3651 Improved API for registerKeystrokeListener, in accordance with
3652 discussions with Gnopernicus team and X server research.
3654 * libspi/registry.c:
3655 * libspi/deviceeventcontroller.c:
3656 * libspi/accessible.c:
3657 * libspi/keystrokelistener.c:
3658 Changes and fixes to support keylisteners for potentially
3659 consumed key events (that is, 'passive grabs').
3660 Added implementation for generateKeyEvent() [untested].
3663 Changes to registerKeystrokeListener() API, as above.
3664 Added deregisterGlobalEventListenerAll(), and
3665 deregisterKeystrokeListener(), which are needed for clean exit of
3667 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3668 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3670 * cspi/spi_registry.c:
3671 Added implementations of function prototypes mentioned above.
3673 * registryd/registryd.c:
3674 Added the key listener event source as a g_timeout(), to allow
3675 receipt of key events that are not caught by GDK (since GDK
3676 doesn't support passive keygrabs, this was necessary).
3679 Changed to attach a keylistener to 'Alt' keys, and
3680 respond to the following keycommands: Alt-M (toggle magnifier);
3681 Alt-F (toggle speech); Alt-Q (quit).
3682 Added an exit routine to deregister the listeners, and a key
3683 listener that prints some key info to the console when a key
3684 matches the listener mask (and is thus received by the listener).
3686 * util/idl/Magnifier.idl:
3687 Changes to magnifier API to support multiple zoom regions,
3688 non-uniform scaling in x and y, markDirty, and a host of other
3689 features that would be useful to magnification.
3692 * util/mag_client.c:
3693 * util/mag_client.h:
3694 * util/mag_control.c:
3696 Source code changes to support the above IDL changes.
3699 As above, and also changes to use a (slower) generic conversion
3700 path for colormap conversions, since the fast RGB conversions have been
3701 reported to fail for 16-bit displays.
3703 2001-10-26 Michael Meeks <michael@ximian.com>
3705 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3707 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
3709 * at-bridge/Makefile.am: fix LDFLAGS.
3711 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3713 * at-bridge/bridge.c:
3714 Re-worked listeners for toolkit events, now we have signal
3715 and property listeners. Added a private method
3716 register_atk_event_listeners(), which registers with the
3717 various atk and gtk signals we need to monitor in order to emit
3719 Added emission hook for AtkObject:property-change events, to
3720 support the 'property listeners'.
3721 Fixed some alloc()s of Accessibility_Event structs to use CORBA
3724 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3725 which emit warnings and exit, respectively, if CORBA errors occur
3726 during remote calls, and we now use these methods to check most of
3727 our CORBA calls in the C bindings.
3729 * cspi/spi_accessible.c:
3730 Changed AccessibleSelection_refSelectedChild() to
3731 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3732 now increment refcounts.
3734 * cspi/spi_component.c:
3735 Fixed some long pointer casts (dangerous!) to pass pointers to
3736 CORBA_longs of the proper type to the CORBA stubs, and copy the
3737 data into the longs that were passed into the C bindings code.
3739 * at-bridge/bridge.c:
3741 * libspi/accessible.c:
3742 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3743 hyperlinks, AtkHyperlink is an object type.
3745 * libspi/application.c:
3746 Added various conversions to and from "generic" event types and
3747 atk-specific types; this is really part of the 'bridge'
3748 implementation but is valid for all AtkObject-based accessibility
3751 * libspi/editabletext.c:
3752 Fixed nasty bug wherein editable text's finalize method was
3753 unref'ing tha AtkObject reference that the text parent class was
3754 about to unref _again_. There was also a nasty inheritance bug
3755 that meant that the AccessibleEditableText class was corrupt.
3757 * libspi/selection.c:
3758 Provided implementations for some selection API that was broken.
3760 * idl/Application.idl:
3761 Added registerObjectEventListener () method.
3764 Fixed a number of return values that were Bonobo_Unknowns from
3765 bonobo_object_corba_objref(), which I
3766 forgot to dup before returning. Changed instances of
3767 bonobo_object_corba_objref (bonobo_object(o)) to
3768 BONOBO_OBJREF(o), for concision and clarity.
3770 2001-10-13 Louise Miller <louise.miller@sun.com>
3772 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3773 idl/Event.idl, idl/Registry.idl
3774 Changed these files to include Bonobo_Unknown.idl instead
3777 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
3779 * libspi/component.c libspi/component.h:
3780 Fixed typo. Added assertions for object checks in
3781 AccessibleComponent code.
3783 2001-10-09 Bill Haneman <bill.haneman@sun.com>
3785 * idl/Accessible.idl:
3786 Added 'isEqual (Accessible *object)'
3787 method for Accessible. (Not Yet Implemented).
3790 Changed signature of registerKeystrokeListener() to
3791 take a KeySet and KeyEventSeq so that specific keys and event
3792 types could be requested for monitoring, and added a flag
3793 is_synchronous so that either synchronous or asynchronous
3794 notification could be requested. (However this is not all
3795 implemented yet). This also meant adding two new typedefs,
3796 KeyEventSeq and KeySet.
3799 Added two new relations, RELATION_TOOLTIP_FOR and
3800 RELATION_LEAFNODE_OF.
3803 Added new state, STATE_HAS_TOOLTIP.
3805 * libspi/text.c, editabletext.c:
3806 Added new assertions to all casts of bonobo-objects from
3807 CORBA servants, to prevent Text API calls on non-text objects.
3808 Changed suspect casts of int-pointer types, so that we
3809 always send a valid CORBA_long pointer to the CORBA APIs that use
3810 in/out long parameters. We then have to copy from the CORBA_long
3811 into the regular long or int for return to the C bindings, or
3812 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3815 * libspi/deviceeventcontroller.c:
3816 Cleaned these sources up.
3818 Changed return type for getCharacterAtOffset to
3819 CORBA_unsigned_long, to allow for 32-bit characters.
3822 2001-10-08 Bill Haneman <bill.haneman@sun.com>
3826 Fixed 'make dist' so that distro compiles...
3827 * libspi/keymasks.h:
3829 * cspi/spi-listener.c:
3830 KeystrokeListenerCB now returns a boolean.
3832 Added KeyEventType struct, and KeyStroke.
3833 Also added createKeystrokeListener(),
3834 KeystrokeListener_addCallback(),
3835 KeystrokeListener_removeCallback(), and added a keymask to
3836 registerKeystrokeListener().
3837 * cspi/spi_accessible.c:
3838 Changed numerous return types for interfaces from
3839 AccessibleComponent to Accessible<InterfaceName>; this was
3840 probably a cut-and-paste error.
3842 Implementations of new KeystrokeListener api (from spi.h,
3845 Changes to key modifier mapping.
3846 Created ControllerEventMask struct.
3847 Made DeviceEventController derive from Bonobo::Unknown.
3849 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3850 * libspi/deviceeventcontroller.c:
3851 Added a number of new internal (private) methods.
3852 * libspi/editabletext.c:
3853 * libspi/editabletext.h:
3854 Fixed a number of bugs related to the fact that
3855 editabletext inherits from text. Fixed the EditableText struct,
3856 the init() call, and use correct casts when calling Text methods
3857 from an EditableText object. Removed (duplicate) atko from the
3858 EditableText structure, we use the one in the parent Text
3859 structure via the casts mentioned above.
3860 * libspi/keystrokelistener.[ch]:
3861 * libspi/registry.c:
3862 Changes in support of keyboard handling (above).
3864 Keyboard handling, though partly functional, is still not
3865 recommended for at-spi client use as there is considerable
3866 work yet to be done.
3869 Changed some places where pointers to various int types
3870 are cast to be pointers to CORBA_long types and vice-versa:
3871 pointer casting is not safe so we pass pointers of the correct
3872 types and then cast the result before putting it into the target
3875 * libspi/text.h: minor typos corrected.
3877 We now speak not only the name of a Text element, but the
3878 first sentence of its content, when it receives focus.
3879 I also changed the text compression to 75% from 50%.
3880 * util/Accessibility_Util.server.in:
3881 Changed the default magnifier type to be a 3x vertical
3882 splitscreen magnifier (was previously a 2x horizontal one).
3884 2001-10-03 Bill Haneman <bill.haneman@sun.com>
3886 * libspi/keystrokelistener.h:
3887 * libspi/keystrokelistener.c:
3888 Initial functional implementations of KeystrokeListener.
3891 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
3893 Fixed string handling for NULL strings in libspi.
3894 Added spi_freeString to free strings returned by C bindings.
3896 2001-09-30 Bill Haneman <bill.haneman@sun.com>
3898 * libspi/keystrokelistener.h:
3899 * libspi/keystrokelistener.c:
3900 Began (no-op) implementations of KeystrokeListener
3902 * libspi/deviceeventcontroller.c:
3903 * libspi/deviceeventcontroller.h:
3904 Began creating implementations of DeviceEventController,
3905 to handle keystroke and mouse event listening and
3907 * libspi/accessible.c:
3908 Stubbed-in the implementations for
3909 Accessibility_Accessible_getState and
3910 Accessibility_Accessible_getRelationSet.
3911 * libspi/registry.c:
3912 Improved de-registration process and fixed some bugs,
3913 deregistration now works correctly.
3915 Added initialization of applications list (to NULL).
3917 Reduced speech compression from 0.5 to 0.7, for demo.
3918 Changed call to gdk_window_set_decorations()
3919 to gtk_window_set_decorated().
3920 * at-bridge/bridge.c:
3921 Bridge now deregisters when app exits, via
3922 registration of a cleanup function
3923 with the g_atexit() call.
3924 Required making 'app' static, renamed 'this_app'.
3925 Fixed broken use of bonobo_init, passing argv wrongly.
3927 2001-09-27 Bill Haneman <bill.haneman@sun.com>
3931 Created a new directory for
3932 accessibility-related utilities, primarily for
3933 testing and demo purposes, but with possible
3940 Onscreen magnifier utility that
3941 is implemented as a bonobo service.
3943 * util/mag_client.c:
3944 * util/mag_client.h:
3945 Client-side support (simple C bindings)
3946 for Magnification service
3948 * util/mag_control.c:
3949 Client program example for
3950 Magnification service
3952 * util/Accessibility_Magnifier.server.in:
3953 Bonobo-activation file for the
3954 Magnification service.
3957 * util/idl/Magnifier.idl:
3958 IDL defining the bonobo Magnification
3962 Modifications to use the bonobo-activated magnifier
3963 above, in place of trying to connect to an existing
3964 magnifier that uses socket-listening IPC.
3966 If env variable MAGNIFIER is set, a magnifier service
3967 will be started if one does not exist.
3969 2001-09-25 Bill Haneman <bill.haneman@sun.com>
3971 * at-bridge/bridge.c:
3972 applied patch from Marc to build and run
3973 against new glib and gtk+ (seemed like a change
3974 to bonobo_init signature was made ?)
3976 made festival-server support turned off by default.
3977 Added support for a simple magnifier (off by default)
3978 which will be added to a 'util' directory later.
3979 * at-bridge/Makefile.am:
3980 Changed "application.h" header from a 'source'
3981 to a 'dependency' of libat-bridge.
3983 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3992 Added interface implementation c files to list of
3993 includes so they are included in libcspi.
3996 Changed prototype of AccessibleAction_doAction to return a
3998 Changed prototype of AccessibleTable_getCaption to
3999 return an Accessible.
4000 Changed prototype of AccessibleTable_getSelectedRows
4001 and AccessibleTable_getSelectedColumns to
4002 return a long (returns the number of selected rows
4003 or columns respectively).
4004 Changed name of AccessibleText_refRunAttributes to
4005 AccessibleText_getAttributes.
4006 Changed prototype of AccessibleText_getCharacterExtents to
4007 return a void rather than a boolean.
4008 Added support for a AccessibleCoordType parameter
4009 specifying what type of coordinates are desired.
4010 Added an AccessibleCordType parameter to
4011 AccessibleText_getPointAtOffset.
4013 * cspi/spi_accessible.c:
4014 Added code to return the outstanding interfaces from
4015 Accessible_queryInterface.
4017 * cspi/spi_action.c:
4019 Corrected call to getNActions to call the c binding
4022 * cspi/spi_editabletext.c:
4024 Changed name from setRunAttributes to setAttributes.
4026 * cspi/spi_hyperlink.c:
4028 Changed call to getNAnchors to correctly call the c
4029 binding for an attribute.
4031 * cspi/spi_hypertext.c:
4033 Changed getImageDescription to correctly call the
4034 binding for an attribute.
4036 * cspi/spi_selection.c:
4037 Changed getNSelectedChildren to correctly call the c
4038 binding for the attribute.
4039 Changed refSelectedChild to getSelectedChild.
4043 Changed getCaption to return an Accessible.
4044 Fixed calls which retrieve attributes.
4045 Changed refAt to getAccessibleAt.
4046 Changed getNSelectedRows and getNSelectedColumns to
4050 Changed getCharacterExtents and getPointAtOffset to accept an
4051 AccessibleCoordType.
4053 Changed calls which retrieve attributes.
4054 Changed refRunAttributes to getAttributes.
4059 * idl/Hyperlink.idl:
4060 Changed n_anchors attribute to nAnchors to keep naming
4061 convention consistent.
4064 Made Table inherit from Bonobo::Unknown.
4065 Added nSelectedColumns and nSelectedRows attributes.
4068 Made Value inherit from Bonobo::Unknown.
4070 * libspi/hyperlink.c:
4071 Change for nAnchors attributte name change.
4073 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
4081 Added interface implementation c files to list of
4082 includes so they are included in libcspi.
4085 Changed prototype of AccessibleAction_doAction to return a
4087 Changed prototype of AccessibleTable_getCaption to
4088 return an Accessible.
4089 Changed prototype of AccessibleTable_getSelectedRows
4090 and AccessibleTable_getSelectedColumns to
4091 return a long (returns the number of selected rows
4092 or columns respectively).
4093 Changed name of AccessibleText_refRunAttributes to
4094 AccessibleText_getAttributes.
4095 Changed prototype of AccessibleText_getCharacterExtents to
4096 return a void rather than a boolean.
4097 Added support for a AccessibleCoordType parameter
4098 specifying what type of coordinates are desired.
4099 Added an AccessibleCordType parameter to
4100 AccessibleText_getPointAtOffset.
4102 * cspi/spi_accessible.c:
4103 Added code to return the outstanding interfaces from
4104 Accessible_queryInterface.
4106 * cspi/spi_action.c:
4108 Corrected call to getNActions to call the c binding
4111 * cspi/spi_editabletext.c:
4113 Changed name from setRunAttributes to setAttributes.
4115 * cspi/spi_hyperlink.c:
4117 Changed call to getNAnchors to correctly call the c
4118 binding for an attribute.
4120 * cspi/spi_hypertext.c:
4122 Changed getImageDescription to correctly call the
4123 binding for an attribute.
4125 * cspi/spi_selection.c:
4126 Changed getNSelectedChildren to correctly call the c
4127 binding for the attribute.
4128 Changed refSelectedChild to getSelectedChild.
4132 Changed getCaption to return an Accessible.
4133 Fixed calls which retrieve attributes.
4134 Changed refAt to getAccessibleAt.
4135 Changed getNSelectedRows and getNSelectedColumns to
4139 Changed getCharacterExtents and getPointAtOffset to accept an
4140 AccessibleCoordType.
4142 Changed calls which retrieve attributes.
4143 Changed refRunAttributes to getAttributes.
4148 * idl/Hyperlink.idl:
4149 Changed n_anchors attribute to nAnchors to keep naming
4150 convention consistent.
4153 Made Table inherit from Bonobo::Unknown.
4154 Added nSelectedColumns and nSelectedRows attributes.
4157 Made Value inherit from Bonobo::Unknown.
4159 * libspi/hyperlink.c:
4160 Change for nAnchors attributte name change.
4163 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
4165 implementations-- made server implementations own AtkObject pointers
4166 rather than their respective AtkInterrface pointers to fix
4167 refcounting. AtkHyperlink is still broken.
4169 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4170 * cspi/spi_accessible.c:
4171 Added method Accessible_Role_getName(),
4172 and requisite string array (role_names).
4173 Added conversion string_from_corba_strin() call
4174 to Accessible_getName and _getDescription.
4175 * libspi/accessible.c:
4176 Added implementation for Accessible_getRole()
4178 Added festival support, used if environment variable
4181 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4183 * at-bridge/bridge.c:
4184 Now allocate Accessibility_Event using
4185 Accessibility_Event__alloc() instead of g_new0().
4186 * libspi/accessibleeventlistener.c:
4187 Initialize AccessibleEventListener->callbacks to NULL.
4188 Fixed accessible__event_listener_init() param, changed to
4189 "AccessibleEventListener *" type.
4190 Changed a bonobo_object_release_unref() call to
4191 Accessibility_Accessible_unref().
4192 * libspi/listener.c:
4193 Changed Bonobo_Unknown_unref to (equivalent)
4194 Accessibility_Accessible_unref.
4195 * libspi/registry.c:
4196 Changed bonobo_object_release_unref to
4197 Accessibility_Accessible_unref.
4199 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4202 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
4203 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
4204 spi-util.c spi-util.h
4205 Implementations for C bindings to remaining accessibility
4208 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
4211 changed return value of Action from void to boolean to
4212 bring in line with ATK.
4215 Changed getText funcions to return "out" start and end offsets.
4216 Changed getAttributes to take and offset and return the start
4217 and end offset of the attribute run.
4218 Changed getOffsetAtPoint and getCharacterExtents to take an
4219 enum describing whether coordinates are window or screen.
4222 libspi/action.c libspi/action.h libspi/editabletext.c
4223 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
4224 libspi/hypertext.c libspi/hypertext.h libspi/image.c
4225 libspi/image.h libspi/selection.c libspi/selection.h
4226 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
4227 libspi/value.c libspi/value.h
4228 Added server implementations for outstanding ATK interfaces
4229 not yet implemented.
4231 2001-09-04 Bill Haneman <bill.haneman@sun.com>
4234 Added (missing) getName() method.
4235 Made nActions an attribute.
4236 * idl/EditableText.idl:
4237 Changed order of params in setAttributes.
4238 * idl/Hyperlink.idl:
4239 Removed getAnchor, added getURI.
4241 Changed attributes to methods, for efficiency
4242 (so that getting extents can be done in one call)
4243 * idl/Selection.idl:
4244 Changed nSelectedChildren to attribute, and re-indented.
4245 * idl/Table.idl: changed nrows, ncolumns, caption, summary
4247 * idl/Text.idl: reformatted to match our coding style.
4248 (temporarily?) removed getRowColumnAtOffset().
4249 Changed text selection API to support multi-select and
4250 non-contiguous selections, as in ATK.
4251 * idl/Value.idl: changed some methods to attributes.
4253 2001-08-24 Mark McLoughlin <mark@skynet.ie>
4255 * libspi/listener.c(impl_notify_event):
4256 BonoboUnkown_unref the source instead
4257 of bonobo_object_release_unref - the ORB
4258 handles the releasing.
4260 * configure.in: require ORBit-2.3.94 for
4263 2001-08-21 Bill Haneman <bill.haneman@sun.com>
4265 Tagged CVS repository 'EA_1_0'.
4266 * README.EARLY_ACCESS:
4267 Alphabetized acknowledgements list, and
4269 Listed some known dependencies of at-spi.
4271 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4273 * docs/at-spi-docs.sgml:
4274 * docs/at-spi-sections.txt:
4275 * docs/at-spi-overrides.txt: (Added zero-length file)
4276 Documentation improvements - gtk-doc should build
4277 docs for all implemented C bindings now.
4280 * cspi/spi.c: (New file)
4281 * cspi/spi_event.c: (New file)
4282 * cspi/spi_registry.c: (New file)
4283 * cspi/spi_accessible.c: (New file)
4284 * cspi/spi_application.c: (New file)
4285 * cspi/spi_component.c: (New file)
4286 Split spi_main.c into six parts, and included them from
4287 "spi.c". This is a bit of a hack, probably temporary,
4288 but required by gtk-doc, apparently.
4290 2001-08-20 Bill Haneman <bill.haneman@sun.com>
4293 * docs/at-spi-docs.sgml:
4294 * docs/at-spi-sections.txt:
4296 Initial checkins/modifications for gtk-doc generation.
4299 Added (missing) interface query methods to Accessible's C binding.
4301 Added GenericInterface type definition.
4303 Added query for AccessibleComponent interface to focus event handler.
4304 Added printout of bounding box for focussed component.
4305 * libspi/component.c:
4306 Added partial implementation for AccessibleComponent to C binding.
4307 * idl/Application.idl:
4308 * libspi/registry.c:
4309 * libspi/listener.c:
4310 * libspi/application.c:
4311 * libspi/application.h:
4312 Changed "ID" attribute type from string to long.
4314 2001-08-19 Bill Haneman <bill.haneman@sun.com>
4318 Made method naming consistent: methods taking object args
4319 start with uppercase, other methods (except those using
4320 acronyms) start with lowercase. Underscores delimit between
4321 object names and method names:
4322 SPI_init() - uppercase since it starts with an acronym.
4323 getDesktopCount () - lowercase start since no object param0.
4324 Accessible_getName() - uppercase object type name, studlyCaps method
4328 Added gtk-doc documentation for all currently implemented
4329 methods in the C bindings API.
4331 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4333 * Makefile.am : changed build order to build test last.
4336 Changed "createEventListener" to "CreateEventListener".
4337 * libspi/accessibleeventlistener.c :
4338 Bugfix for addition of callbacks.
4339 * test/Makefile.am :
4340 * test/simple-at.c :
4341 Added new test that uses the C bindings API.
4343 * libspi/listener.c :
4344 * libspi/registry.c :
4345 * libspi/accessibleeventlistener.c :
4346 * at-bridge/bridge.c :
4347 Renamed member "target" of Accessibility_Event to "source",
4348 which is more descriptive.
4351 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4355 * cspi/Makefile.am :
4356 Added makefile support for at-spi/cspi directory.
4359 * cspi/spi-listener.h : (NEW FILE)
4360 Added support for/use of spi-listener.h.
4362 C bindings now build successfully, with no warnings.
4363 * libspi/accessibleeventlistener.h : (NEW FILE)
4364 * libspi/accessibleeventlistener.c : (NEW FILE)
4365 * libspi/Makefile.am :
4366 Added new object type "AccessibleEventListener"
4367 which inherits from Listener, and allows attachment
4368 of in-process callbacks (so that a client with a listening
4369 object instance can add functionality to the local
4370 implementation, dynamically).
4372 2001-08-18 Bill Haneman <bill.haneman@sun.com>
4374 * libspi/accessible.c:
4375 Add implementation for get_index_in_parent().
4377 Added #include of "spi-roletypes.h", and
4378 added enumerated type AccessibleCoordType.
4379 Added definition for KeystrokeListener (function type).
4382 * cspi/spi-statetypes.h :
4383 * cspi/spi-roletypes.h :
4385 Added these headers, used by spi.h.
4387 Added code (NOTE: not yet built by make).
4389 2001-08-18 Mark McLoughlin <mark@skynet.ie>
4391 * libspi/Makefile.am: generate imodule
4392 at the same time as other idl compiler
4395 2001-08-17 Bill Haneman <bill.haneman@sun.com>
4396 * libspi/registry.c :
4397 * libspi/application.c :
4398 * idl/Application.idl :
4399 Made registration with toolkit an application method,
4400 which is required since each app has its own toolkit static
4401 environment. Thus the bridge must register for
4402 notification of toolkit events from each application in turn.
4403 Toolkit notifications are now successfully registered for, and
4404 sent to the listening at client.
4406 Changed toolkit event string to use hyphens rather than underscores.
4407 * libspi/listener.c :
4408 listner now gives more info in debug mode - it reports the
4409 name of the event received, as well as the name of the source.
4412 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4414 * libspi/registry.c :
4415 added more implementation for toolkit events.
4416 Fixed bug such that toolkit event registrations
4417 (via atk) use the whole event name string, not
4419 Removed a useless call to an ORBit_ method.
4420 * at-bridge/bridge.c :
4421 Removed unused local sbuf[] variable.
4423 We now register for Gtk:GtkWidget:button_press_event
4424 events as well as "focus:" events.
4426 Add some more API from Registry.idl that was missing,
4427 for keystroke listening, keystroke and mouse event
4428 synthesis, and enumeration of accessible desktops.
4430 2001-08-16 Michael Meeks <michael@ximian.com>
4432 * configure.in: use AM_GLIB_GNU_GETTEXT.
4434 * Makefile.am (SUBDIRS): kill intl.
4436 2001-08-15 Michael Meeks <michael@ximian.com>
4438 * registryd/Makefile.am: s/oaf/server/ relocate info file.
4440 * configure.in: upd.
4442 * configure.in: depend on a recent bonobo-activation that
4443 will find our server files ...
4445 2001-08-16 Bill Haneman <bill.haneman@sun.com>
4447 * libspi/accessible.c : accessible_new() :
4448 Now we add the Component interface via bonobo_object_add_interface,
4449 if the contained AtkObject implements AtkComponent.
4450 * libspi/accessible.h : now include "component.h"
4451 * libspi/component.h :
4452 * libspi/component.c : added files - implementation of
4453 bonobo wrapper object for Accessibility/Component
4454 * libspi/listener.c :
4455 Added test code to check for Accessibility/Component:1.0
4456 interface and report whether it is implemented by the
4458 * libspi/registry.c :
4459 Now we check for not only the hash of the whole event
4460 string before relaying the event, we also check the
4461 "minor" event string (without the detail string).
4462 This allows event listeners to be registered against
4463 all events of a certain major+minor type, or just
4464 against a specific major+minor+detail type.
4465 * libspi/accessible.c :
4466 Added implementations for Accessible:get_parent(),
4467 Accessible:getChildCount(), and Accessible:getChildAtIndex().
4468 * libspi/registry.c :
4469 * libspi/listener.c :
4470 Replaced calls to Accessibility_Accessible_ref() and
4471 Accessibility_Accessible_unref() with
4472 calls to bonobo_object_dup_ref() and
4473 bonobo_object_release_unref(), so that the CORBA object
4474 is dup-ed and released when relayed, as well as the bonobo object.
4476 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4478 * libspi/Makefile.am,
4479 registryd/Makefile.am,
4480 at-bridge/Makefile.am.
4481 test/Makefile.am, configure.in:
4482 reverse previous changes.
4484 * /idl/Image.idl: fix typo.
4486 * test/Makefile.am: put DEBUG_FLAGS
4489 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4491 * test/app.c: use argv[0] instead of
4494 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4496 * libspi/Makefile.am,
4497 registryd/Makefile.am,
4498 at-bridge/Makefile.am.
4499 test/Makefile.am, configure.in:
4500 cleanup, replace individual LIBS/CFLAGS with
4501 AT_COMMON_{LIBS|CFLAGS}.
4505 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4507 * configure.in, libspi/Makefile.am:
4508 Change IDL path checking for bonobo-activation
4511 2001-08-15 Bill Haneman <bill.haneman@sun.com>
4513 * registryd/registry.c : separated event listeners to use
4514 3 separate lists (focus, window, toolkit). Began testing
4515 event names against hashes before relaying events.
4516 * test/at.c : now register for events of type "focus:"
4517 * test/app.c : now generate events of type "focus:"
4518 * at-bridge/bridge.c : register with ATK for focus events,
4519 and we now relay those focus events to any "focus:" listeners.
4520 This now works with the bridge as a GTK_MODULE when running test/at.
4521 * libspi/registry.c :
4522 * libspi/listener.c :
4523 now we ref event sources before propagating, and unref on receipt.
4524 * libspi/registry.c :
4525 some changes to internal structs, to support event typestring hashes.
4526 * text/app.c : changed the way the appname is generated.
4527 * cspi : added directory that will hold the C bindings library for
4528 non-CORBA/bonobo-savvy clients.
4529 * cspi/spi.h : header file that contains the function prototypes for the C binding.
4530 * idl/Component.idl : added in parameter to indicate coord system for
4531 geometry-related calls.
4532 * idl/Hyperlink.idl : added readonly n_links attribute
4533 * idl/Image.idl : changed methods to attributes.
4535 2001-08-15 Mark McLoughlin <mark@skynet.ie>
4537 * at-bridge/Makefile.am: link against
4538 ../libspi/libspi.la instead of -lspi.
4540 * at-spi/test/app.c: include
4541 bonobo-activation.h. Use a default appname
4542 if one is not provided.
4544 2001-08-14 Bill Haneman <bill.haneman@sun.com>
4546 * idl/Registry.idl : temporarily changed register_Application
4547 to oneway, to work around issue with initial registration
4549 * idl/Application.idl : changed attribute "id" from readonly
4550 to read-write, since it needs to be assigned by Registry.
4551 * registryd/registryd.c : added call to set application id
4553 * registryd/registry.c : changed de-registration procedure to
4554 use CORBA_Object_hash() to find matching object ref in application
4555 lists and listener lists.
4556 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
4557 began distinguishing between event types (work in progress).
4559 2001-08-13 Bill Haneman <bill.haneman@sun.com>
4562 * libspi/application.c:
4563 Added implementations for get/set id, get_toolkitName,
4565 * registryd/registryd.c :
4569 Converted from use of OAF to bonobo-activation.
4570 * libspi/desktop.h :
4571 * libspi/desktop.c :
4573 Removed references to atksimpleobject, since base atkobject
4574 implementation now provides functionality we need.
4575 * libspi/atksimpleobject.c :
4576 * libspi/atksimpleobject.h :
4581 * at-bridge/Makefile.am
4582 * at-bridge/bridge.c
4585 Added directory "bridge" and contents, and added dependencies
4586 in Makefile.am/configure.in.
4587 Initial checkin of "at-bridge".
4588 This code is a GTK_MODULE which automatically registers
4589 GTK+ apps with the accessibility registry, using an object
4590 reference to the root ATK object.
4592 2001-08-10 Mark McLoughlin <mark@skynet.ie>
4594 * po/Makefile.in.in: Remove. Again. If this
4595 doesn't get autogenerated - you need to update
4598 2001-08-07 Mark McLoughlin <mark@skynet.ie>
4600 * po/Makefile.in.in: Add. Again.
4602 2001-07-31 Bill Haneman <bill.haneman@sun.com>
4604 * libspi/accessible.c : added support for 'description' property.
4605 * libspi/accessible.c
4607 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4608 (since the two are now equivalent in libbonobo)
4616 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4617 Bonobo::Unknown as does Accessibility::Accessible.
4618 * idl/StreamableContent.idl : as above, and replaced internal InputStream
4619 interface with Bonobo::Stream, since it was redundant with it.
4620 (The Stream returned by a StreamableContext object is expected to
4621 implement only a subset of Bonobo::Stream)
4623 2001-07-28 Anders Carlsson <andersca@gnome.org>
4625 * libspi/accessible.c (accessible_object_finalize): Change
4626 g_free to g_object_unref since the AtkObject is a GObject.
4628 2001-07-30 Bill Haneman <bill.haneman@sun.com>
4630 * idl/Accessibility.idl: add new IDL files
4633 * idl/Action.idl: Definitions of actionable UI object
4634 * idl/Component.idl: Definitions of UI component geometry, etc.
4635 * idl/Hyperlink.idl: Defs of hyperlink behavior
4636 * idl/Image.idl: Def of accessible image
4637 * idl/Selection.idl: Definition of UI object with selectable children
4638 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4639 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4640 * idl/Text.idl: Interface defs for UI elements with complex textual content
4641 * idl/Value.idl: Definition of UI element that is a value controller or display
4643 2001-07-27 Michael Meeks <michael@ximian.com>
4645 * po/Makefile.in.in: remove autogenerated file from CVS.
4647 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4650 * idl/Registry.idl: include guard.
4652 * idl/Accessibility.idl: Add, and include all the other IDL
4655 * idl/*.idl: remove mass of pragmas etc.
4657 2001-07-26 Michael Meeks <michael@ximian.com>
4659 * registryd/Makefile.am (registryd_SOURCES): remove
4662 2001-07-27 Mark McLoughlin <mark@skynet.ie>
4664 * libspi/.cvsignore, registryd/.cvsignore,
4665 test/.cvsignore: updated.
4667 * po/Makefile.in.in: gettext update.
4669 2001-07-25 Bill Haneman <bill.haneman@sun.com>
4671 * initial CVS checkin
4673 2001-06-29 Michael Meeks <michael@ximian.com>
4675 * configure.in: add AM_CONFIG_HEADER to gen config.h