1 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
3 * cspi/spi-roletypes.h cspi/spi_accessible.c
4 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
7 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
8 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
9 AT when applications are added and removed from the desktop. This
10 reverts the previous broken implementation using the backing
11 AtkObject for the SpiDesktop.
13 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
15 * registryd/desktop.c: emit the "children-changed::add" and
16 "children-changed::remove" signals on the backing ATK object for
17 the desktop so AT can tell when applications are started and shut
20 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
22 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
24 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
26 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
28 * cspi/spi_accessible.c: Implemented c bindings for stateset support
30 * cspi/state-types.h: synched with IDL and ATK
32 2002-03-13 Bill Haneman <bill.haneman@sun.com>
35 (impl_accessibility_accessible_get_child_at_index):
36 Change return value for g_return_if_fail ()
37 to CORBA_OBJECT_NIL instead of "0" (!)
39 * registryd/Makefile.am:
40 * registryd/Accessibility_Register.server.in:
41 Changed name of executable, "registryd",
42 to something more informative:
45 2002-03-13 Michael Meeks <michael@ximian.com>
47 * atk-bridge/bridge.c (atk_bridge_init): don't register
48 if we're in a bonobo-component, rather than a bonobo app.
50 2002-03-13 Michael Meeks <michael@ximian.com>
52 * atk-bridge/bridge.c (gtk_module_init): split
53 out body to (atk_bridge_init): here, since otherwise
54 we get symbol conflicts and oddness when invoked
55 from (gnome_accessibility_module_init): here (upd.)
57 2002-03-11 Bill Haneman <bill.haneman@sun.com>
60 New file. Explicitly allow "build sheriff" putbacks provided
61 they are tested on Solaris.
63 * docs/reference/cspi/Makefile.am:
64 Added '-' to the "cp" command for index.sgml.
65 ("patch by thomasvs, soon coming to a GUADEC near you")
68 Incremented version number (0.9.0) for new release.
69 Changed macro that checks for popt, to better detect
70 obsolete versions of popt.
73 Added X_LIBS to AC_SUBST, for applications
74 that call Xlib API directly.
77 2002-03-07 Bill Haneman <bill.haneman@sun.com>
80 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
83 Fix regression caused by hard-coding major
84 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
87 * test/test-simple.c (test_editable_text),
88 (test_test): revert previous change (error was
89 a regression in gail which is now fixed).
91 2002-03-04 Michael Meeks <michael@ximian.com>
93 * test/test-simple.c (test_editable_text),
94 (test_text): pass G_MAXINT instead of '-1' for
95 whole string - is this a good thing !?
97 * cspi/spi_accessible.c
98 (Accessible_getRelationSet): fix crasher bug
99 overwriting the end of the array.
101 * test/test-simple.c (validate_accessible): free,
102 not g_free returned relation set.
104 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
106 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
107 implemented stateset support
109 * idl/Accessibility_State.idl: Made necessary changes to
110 the IDL to support state sets.
112 2002-02-12 Bill Haneman <bill.haneman@sun.com>
114 * registryd/deviceeventcontroller.c:
115 Added implementation for generateMouseEvent.
117 * cspi/spi_registry.c:
118 Connected new implementation for generateMouseEvent
121 2002-02-12 Bill Haneman <bill.haneman@sun.com>
124 Incremented revision (but no change in public API
125 outside of 'utils', which are not installed public yet.)
127 * libspi/component.c:
128 Changed to use atk_component API for layers and
129 mdi_zorder, instead of deprecated atk_object API.
131 Magnification Utility Enhancements:
134 Added implementation of createZoomRegion, clearAllZoomRegions,
135 resizeZoomRegion. Added new commandline argument
136 "--no-initial-region". Note that clearAllZoomRegions doesn't
137 unmap the old '0' region as it should (yet), and the other
138 methods only work when creating/resizing a single region,
140 (Code for multiple region support will be added later.)
143 Now we raise the magnifier window each time it's refreshed;
144 this will help keep it on top.
147 Added simple wrappers for above, used by mag_control.
148 For general use, it's recommended to use the bonobo magnifier
149 control API directly instead of using these wrappers.
152 Moved ZoomRegionData from magnifier.c to this file.
154 * util/mag_control.c:
155 Added some code to exercise new IDL implementations.
157 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
159 * libspi/text.c: Provide implementation for getAttributes.
161 2002-02-04 Bill Haneman <bill.haneman@sun.com>
164 Incremented revision.
166 * test/test-simple.c:
167 Replaced use of deprecated g_main_iteration with
168 g_main_context_iteration.
170 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
173 Incremented revision for desktop alpha 2.
175 2002-01-28 Mark McLoughlin <mark@skynet.ie>
177 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
180 * test/simple-at.c: include netinet/in.h.
182 2002-01-24 Mark McLoughlin <mark@skynet.ie>
184 * cspi/spi_accessible.c: (Accessible_getRelationSet):
185 use NULL, not CORBA_OBJECT_NIL.
187 * libspi/accessible.c:
188 (impl_accessibility_accessible_get_relation_set):
189 allocate the sequence correctly.
191 * libspi/remoteobject.h: kill spi_remote_object_new.
193 * test/test-simple.c: (validate_accessible): add code
194 to test relation sets, now all we need is to figure
195 out how to excercise this code path :/
197 2002-01-18 Michael Meeks <michael@ximian.com>
200 (key_listener_cb): consume the key.
201 (test_keylisteners): update.
202 (main): wait for any pending unrefs on events.
204 * registryd/deviceeventcontroller.c
205 (spi_controller_update_key_grabs): only re-issue the
206 grab on a key release.
207 (spi_device_event_controller_forward_key_event):
208 refresh the keygrabs before we notify the listeners,
209 to reduce the X ungrab / re-grab race.
210 (spi_controller_register_with_devices): remove
211 XSelectInput - we do that with the gdk_window_ call.
212 (_spi_controller_device_error_handler): return a value.
213 s/GDK_DISPLAY/spi_get_display/
215 2002-01-17 Michael Meeks <michael@ximian.com>
217 * registryd/deviceeventcontroller.c
218 (_deregister_keygrab): don't blow out the later
221 * test/test-simple.c (test_keylisteners): do a
222 more intelligent validation.
224 2002-01-14 Michael Meeks <michael@ximian.com>
226 * atk-bridge/bridge.c
227 (gnome_accessibility_module_init),
228 (gnome_accessibility_module_shutdown): impl.
229 (gtk_module_init): protect vs. double inits.
230 (add_signal_listener): impl.
231 (spi_atk_bridge_state_event_listener): kill
232 (deregister_application): split out of
233 (spi_atk_bridge_exit_func): here.
235 2002-01-18 Bill Haneman <bill.haneman@sun.com>
238 Added caret tracking when using magnifier, and
239 now use text bounds for focus tracking of text elements, rather than
240 the component bounds - this is helpful for short text fields in long
241 table cells, at high magnification.
243 2002-01-16 Bill Haneman <bill.haneman@sun.com>
245 * registryd/deviceeventcontroller.c:
246 Regression fix for keylistener de-registration; global keygrabs
247 were not being released when deregisterKeystrokeListener was
248 called in cspi, since
249 Accessibility_DeviceEventController_deregisterKeystrokeListener
250 was called with a zero-length keyset. That is because the cspi
251 method, SPI_deregisterKeystrokeListener, does not take a keyset
252 parameter but instead should remove all the key grabs held be a
254 The code in impl_deregister_keystroke_listener was changed to copy
255 the keylist from the listener instance previously registered with
256 the DeviceEventController before releasing the grabs.
258 * registryd/registry.c:
259 * registryd/deviceeventcontroller.c:
260 * libspi/spi-private.h:
262 Changed spelling of "re-enterant" to "re-entrant" globally.
264 2002-01-16 Bill Haneman <bill.haneman@sun.com>
266 * test/test-simple.c:
267 Changed key listeners test - the test was slightly mis-using the
268 (admittedly poorly documented) SPI_generateKeyboardEvent API.
269 It now uses '=' as the key event listened to and generated,
270 relying on a keysym match rather than assuming that keycode 33
271 is always equal to keysym '!'.
273 2002-01-15 Bill Haneman <bill.haneman@sun.com>
276 Changed simple-at to use a specific keyset, rather than
277 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
278 manager, desktop, etc.
280 2002-01-11 Bill Haneman <bill.haneman@sun.com>
282 * registryd/deviceeventcontroller.c:
283 Replaced standard X error handler with a special handler that
284 is non-fatal for failed keygrabs. This works around
285 problems with keygrab clashes sometimes observed on
287 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
288 mouse handling code as yet).
290 2002-01-11 Bill Haneman <bill.haneman@sun.com>
293 Incremented revision for desktop alpha release.
296 Fixed a couple of the more glaring errors (still not
299 2002-01-11 Michael Meeks <michael@ximian.com>
301 * registryd/deviceeventcontroller.c
302 (spi_device_event_controller_forward_key_event): kill
303 XUngrabKey / XKeyGrab race.
304 (spi_controller_grab_keyboard): rename to
305 (spi_controller_update_key_grabs): this, and deal
306 with incremental adding / removing grabs more
308 (_register_keygrab): ensure we're not pending a remove.
309 (spi_grab_mask_free): impl.
310 (spi_controller_register_global_keygrabs): split out
312 (handle_keygrab): impl.
313 (_deregister_keygrab): impl.
314 (spi_controller_deregister_global_keygrabs): impl.
315 (spi_controller_update_key_grabs): re-issue the grab if
316 we just recieved a notification.
318 * test/test-simple.c (key_listener_cb): remove debug.
320 * registryd/deviceeventcontroller.c
321 (spi_controller_register_device_listener): after
322 registering a global keygrab, actualy register it !
323 don't wait for a timeout; doh !
325 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
326 to make it more readable / manipulable.
327 s/grabmask/grab_mask/ s/refcount/ref_count/
328 s/keyval/key_val/ s/modmask/mod_mask
330 2002-01-08 Michael Meeks <michael@ximian.com>
332 * registryd/deviceeventcontroller.c
333 (spi_controller_register_with_devices): use gdk calls to
335 (global_filter_fn): implement the filter.
336 (spi_device_event_controller_check_key_event): rename to
337 (spi_device_event_controller_forward_key_event): this & upd.
338 (spi_get_display): replace with GDK_DISPLAY.
340 * registryd/deviceeventcontroller.c
341 (spi_controller_deregister_device_listener): unroll into
342 (impl_deregister_keystroke_listener): here to simplify.
343 (spi_controller_register_global_keygrabs): split cut and
344 paste (!) out into (_register_keygrab): here, shorter & sweeter.
345 (spi_controller_deregister_device_listener): remove.
346 (impl_register_mouse_listener): remove, no mouse listener
347 support in at-spi-1.0
349 * registryd/registry.c
350 (_device_event_controller_hook): kill.
351 (spi_registry_init): upd.
353 * registryd/deviceeventcontroller.c
354 (spi_device_event_controller_class_init): upd.
355 (spi_check_key_event): merge into.
356 (spi_device_event_controller_check_key_event):
357 here and kill strange static ev init, don't leak
358 the x_event - nor dynamicaly allocate it.
360 * registryd/registry-main.c (main): re-direct
361 timeout to remove strange vtable mess.
363 * registryd/deviceeventcontroller.c
364 (remove_listener_cb): impl.
365 (spi_controller_deregister_device_listener):
366 fix re-enterancy hazard.
368 2002-01-07 Michael Meeks <michael@ximian.com>
370 * registryd/deviceeventcontroller.c
371 (spi_device_event_controller_new): upd.
372 (impl_notify_listeners_sync): upd. debug.
373 (spi_notify_keylisteners): fix re-enterancy hazards,
374 prettify, remove O(n*n) iteration.
375 (spi_controller_grab_keyboard): fix iteration.
376 (spi_check_key_event): re-format to suit coding style.
377 Clean all the warnings - we're warning free.
379 * registryd/deviceeventcontroller.h:
380 * registryd/registry.h: make mutualy referential with
381 typesafe forward references instead of (!) void pointer
384 2002-01-11 Michael Meeks <michael@ximian.com>
386 * cspi/spi_accessible.c (role_names): add a role name
387 to sync this array with the enum; and make the regression
390 2002-01-10 Michael Meeks <michael@ximian.com>
392 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
393 allow expansion of enumeration & kill warning.
395 * test/test-simple.c (key_listener_cb): impl.
396 (test_keylisteners): impl.
398 * cspi/spi-listener.h: make listener signatures const
399 on the provided (const) events.
401 * test/keysynth-demo.c: upd. to const events.
403 * test/simple-at.c: ditto.
405 2002-01-11 Bill Haneman <bill.haneman@sun.com>
408 Rev the version to 0.5 (the previous tarball was named 0.4,
409 even though the micro number was 3), so we need to rev upwards
410 again for beta2/"desktop-alpha"
413 Checked in a demo script, which requires editing before use!
414 Proceed with caution.
417 Fixed typo in header which was redefining SPI_ACTION_CLASS.
419 * cspi/spi_accessible.c:
420 Add a couple of missing enum initializations, and fix some enum
423 * cspi/spi_registry.c:
424 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
426 * docs/reference/cspi/at-spi-cspi-sections.txt:
427 Remove/fix a couple of broken document references.
430 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
431 as Alt-Control to listen for commands, since on some systems
432 Control-Alt may already be grabbed.
434 2002-01-10 Bill Haneman <bill.haneman@sun.com>
437 Update version number to 0.4 for Beta2.
439 * libspi/accessible.c, libspi/accessible.h:
440 Expose spi_accessible_construct, to enable libgail-gnome
441 construction from spi_accessible subtype.
444 Workaround for bug in some non-gnome-compliant window managers
445 which made magnifier resize improperly.
447 2002-01-09 Bill Haneman <bill.haneman@sun.com>
449 * libspi/accessible.c: (spi_accessible_new) :
450 Move the test for SPI_IS_REMOTE_OBJECT to
451 spi_accessible_new_return, fixing a bug and compile time warning.
453 2002-01-08 Michael Meeks <michael@ximian.com>
455 * registryd/registry.c (parse_event_type): remove strndup.
457 * libspi/Makefile.am (libspi_la_SOURCES): remove
458 sources already included in the headers section.
460 * libspi/util.c: add.
462 * libspi/spi-private.h: add.
464 * registryd/registry.c: update to moved list iterators.
466 2002-01-05 Michael Meeks <michael@ximian.com>
468 * test/simple-at.c (main): upd. auto-module set to atk-bridge
470 * test/test-simple.c (main): ditto.
472 2002-01-04 Michael Meeks <michael@ximian.com>
474 * libspi/accessible.c (spi_accessible_new): remove 2nd,
477 * registryd/registry.c
478 (get_listener_list): impl.
479 (impl_accessibility_registry_register_global_event_listener):
480 re-impl. to simplify using ~, remove dodgy const cast off.
481 (parse_event_type): constify.
482 (impl_accessibility_registry_deregister_global_event_listener_all):
483 re-write, more efficiency and simplicity, kill re-enterancy
485 (compare_listener_corbaref, compare_corba_objects),
486 (compare_listener_quarks): define out.
487 (impl_accessibility_registry_deregister_global_event_listener):
488 re-write for effiency, and nail re-enterancy hazard.
489 (impl_accessibility_registry_get_desktop_list): impl.
490 (re_enterant_list_delete_link): impl.
491 (re_enterant_list_foreach): impl.
492 (remove_listener_cb): impl.
493 (_registry_notify_listeners): kill.
494 (notify_listeners_cb): impl.
496 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
497 (SPI_getDesktopList): impl.
499 * test/test-simple.c (test_desktop): test the methods.
501 2002-01-03 Michael Meeks <michael@ximian.com>
503 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
504 keystrings since we free them
505 (SPI_freeAccessibleKeySet): in here.
507 * libspi/accessible.c (spi_accessible_new): kill warning,
508 wonder what is going on with the constructor here.
510 2002-03-01 Bill Haneman <bill.haneman@sun.com>
512 * libspi/accessible.c (spi_accessible_new ()) :
513 Added check to see if AtkObject is an SpiRemoteObject before
514 creating an SpiAccessible.
516 2002-05-01 Bill Haneman <bill.haneman@sun.com>
518 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
519 Enable keygrabs using the Control modifier, now that they are
520 working properly (they were previously disabled).
523 Change the command keygrab for this demo to "Control+Alt", so as
524 to conflict with fewer other key commands on the system; this
525 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
527 Removed a pointlessly-chatty keylistener for unshifted keys
528 (shifted keys are still reported).
530 2002-02-01 Bill Haneman <bill.haneman@sun.com>
532 * libspi/remoteobject.h:
533 * libspi/remoteobject.c:
534 Added definitions for special AtkObject subtype, required for
535 support of remote components (specifically, used by BonoboControl
536 accessibility implementation).
538 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
540 * cspi/spi.h: synched relation types with ATK
542 * cspi/spi_accessible.c: Added implementations of
543 AcccessibleRelation_* methods
545 * idl/Accessibility_Relation.idl: added getRelationTypeName
546 method. Synched known relation types with ATK. Allowed for
547 relation type extension with the RELATION_EXTENDED type.
549 * libspi/relation.c: Provided implementations for
550 AccessibleRelation methods.
552 2002-01-01 Bill Haneman <bill.haneman@sun.com>
554 API tweaks for today's API 'freeze'.
557 Added placeholder functions to allow future compatible expansion
558 of the IDL interfaces.
560 * idl/Accessibility_Registry.idl:
561 Changed generateKeyEvent to generateKeyboardEvent. Changed
562 signature of this method to accept an optional keystring in
563 parameter (for complex text input synthesis) and changed use of
564 simple 'boolean' parameter in registerKeystrokeListener to a
565 struct, EventListenerMode.
567 * cspi/spi_accessible.c:
569 * cspi/spi_streamablecontent.c:
570 Added references to AccessibleStreamableContent interface, and
571 definition and implementation of AccessibleStreamableContent
574 * cspi/spi_registry.c:
576 Changed generateKeyEvent API to generateKeyboardEvent,
577 taking a new (optional) keystring parameter to support complex
582 Renamed directory (to better reflect its actual purpose, bridging
583 from at-spi to ATK). The .so module is also now named
586 * idl/Accessibility_Hypertext.idl:
587 * libspi/accessible.c:
588 * libspi/hypertext.h:
589 * libspi/hypertext.c:
590 Changed Accessibility_Hypertext to *not* derive from
593 * cspi/spi_registry.c:
594 Added list of legal event type names for 'window' events, which
595 completes the registry event API.
597 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
599 * at-bridge/bridge.c: Added registration for separate
600 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
601 signals. If either of the first two parameters to the generic
602 bridge signal handler are ints, they are passed on as event
603 details. This allows an AT to determine what text was inserted.
605 2001-12-21 Bill Haneman <bill.haneman@sun.com>
607 * registryd/deviceeventcontroller.c:
608 Fixed regressions in generateKeyEvent caused by the removal of
609 gdk_init from registryd; we now use pure X calls to connect to the
610 display, which makes sense because deviceeventcontroller already
611 uses a fair bit of X API (should eventually be migrated to a
612 'portability layer').
614 * registryd/desktop.c:
615 Fixed minor regression in spi_desktop_init, changed the way the
616 desktop name is being set to work with new spi_base API
617 (gobject-based, rather than AtkObject-based).
619 * registryd/Makefile.am:
620 Minor revision of makefile to use XTST_LIBS variable rather than
621 hard-wiring the Xtst LD_ADD element.
623 * test/keysynth-demo.c:
624 Tweaked an output message; added initialization of the
625 'keystrings' member of the "switch listener" key_set.
628 Squashed compile-time warning.
630 * libspi/accessible.c:
631 Cosmetic and formatting fixes, renamed a static method.
633 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
635 * libspi/accessible.c
637 * libspi/application.c
641 * libspi/editabletext.c
649 * registryd/desktop.c:
650 Changed SpiBase to contain a GObject pointer rather than an AtkObject
652 2001-12-17 Bill Haneman <bill.haneman@sun.com>
654 * idl/Accessibility_Registry.idl:
655 Added boolean member 'is_text' to DeviceEvent. This is for the
656 use of key events, and helps prevent ambiguity between composed
657 key strings and keysym names, since both may potentially be
658 returned in the 'event_string' member.
660 * at-bridge/bridge.c:
661 * registryd/deviceeventcontroller.c:
662 Use the 'is_text' member when notifying device event listeners.
663 Knon issue: composed characters are not dealt with correctly by
664 the global key listener implementation yet.
666 2001-12-17 Bill Haneman <bill.haneman@sun.com>
668 * at-bridge/bridge.c:
669 Namespaced local static methods to spi_atk_bridge_* where
670 previously named bridge_*, and spi_* elsewhere.
672 * at-bridge/bridge.c:
673 * cspi/bonobo/cspi-bonobo-listener.c:
674 Added demarshalling/conversion for string member of
675 Accessibility_DeviceEvent to AccessibleKeystroke.
677 * registryd/deviceeventcontroller.c:
678 Added code to fill the Accessibility_DeviceEvent key string value
679 member for global key events (i.e. from XGrabKey), to match
680 behavior of Accessibility_DeviceEvent from the toolkit key events
681 from the bridge. Fixed timestamp in global key event notifications.
684 Added printout of key event's string value to
685 report_ordinary_key_event, for demo/debugging purposes.
687 2001-12-15 Bill Haneman <bill.haneman@sun.com>
689 * idl/Accessibility_Registry.idl:
690 Removed Accessibility_KeyStroke structure in favor of generic
691 Accessibility_DeviceEvent structure.
692 Changed Accessibility_ControllerEventMask from a struct to an
695 * at-bridge/bridge.c:
696 Changed APIs to use DeviceEvent structure as above, and removed
697 bogus casting between these event structures.
699 * cspi/spi-listener.h:
700 Added keystring member of AccessibleKeystroke structure, to enable
701 matching on event "names" rather than only hardware codes and
705 Added keystrings member of AccessibleKeySet struct, to allow
706 matching on event names (as above).
707 Added declarations for SPI_createAccessibleKeySet and
708 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
709 event modmasks directly as unsigned ints rather than structs with
710 refcounts, in the DeviceEventController methods.
712 * cspi/spi_registry.c:
713 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
715 * cspi/spi-roletypes.h:
716 Added documentation of newly added SPI Roles.
718 * cspi/bonobo/cspi-bonobo-listener.c:
719 Changes in support of API changes above.
721 * libspi/accessible.c:
722 Converted APIs to use DeviceEvent structure (see IDL changes
725 * registryd/deviceeventcontroller.c:
726 Added DEControllerGrabMask structure to track keygrabs not only by
727 modmask but by keyset as well; this allows us to do "global"
728 (i.e. X) keygrabs on a per-key or keyset basis rather than always
729 grabbing on AnyKey and then filtering after-the-fact.
730 Bugfixes for event filtration mean that we don't get false matches
731 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
733 * registryd/deviceeventcontroller.c:
734 Namespaced a number of static methods to use spi_ prefix. Major
735 revision to internals of global (i.e. X) key grabs.
737 * registryd/deviceeventcontroller.h:
738 Removed keymask_list and added keygrabs_list to
739 SpiDeviceEventController struct.
742 Added use of SPI_createAccessibleKeySet API when creating a
743 listener for only one key. Attach a listener to "shift spacebar
744 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
745 X key event names to SPI key event names, so that listeners are
746 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
748 * test/keysynth-demo.c:
749 Changed (incorrect) use of X key event names (KeyPressed,
750 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
753 2001-12-12 Bill Haneman <bill.haneman@sun.com>
755 * libspi/accessible.c:
756 Convert all AtkRole enumerations to Accessibility_Role enums when
757 getting a role from an AtkObject.
759 * cspi/spi_accessible.c:
760 Complete the conversion of Accessibility_Role enums at runtime to
761 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
762 role enums correctly match those given in spi-roletypes.h.
763 Re-synchronize the local names list for AccessibleRole_getName ().
764 AccessibleRole_getName is now deprecated, since it duplicates the
765 more reliable Accessible_getRoleName.
766 Added some role types from Accessibility_Role.idl.
768 * idl/Accessibility_Role.idl:
769 Added some role types used by AtkRole.
771 2001-12-12 Bill Haneman <bill.haneman@sun.com>
774 * cspi/spi_registry.c:
776 * cspi/cspi-bonobo-listener.c:
777 Namespaced all methods that did not begin with an "SPI_" or
778 "Accessible" prefix to "SPI_".
781 Homogenized internal function namespace to "cspi_" for statics.
784 Patched tests to use the new CSPI API.
786 * docs/reference/cspi/at-spi-cspi-sections.txt:
787 Updated docs to reflect namespace changes, and added a number of
788 methods to the documentation.
790 * registryd/registry.c:
791 Changed use of strings and string hashes in listener event
792 matching and parse_event_string to use GQuark, which is guaranteed
795 * registryd/registry.h:
796 Squashed annoying warning.
798 * idl/Accessibility_Role.idl:
799 Extended range of available Accessibility_Role values.
801 * cspi/spi_accessible.c:
802 Re-ordered role names.
804 2001-12-12 Bill Haneman <bill.haneman@sun.com>
806 * idl/Accessibility_Value.idl:
807 Revert use of union back to CORBA_double, since the double type is
808 more efficient and can contain the other types without loss of
811 * idl/Accessibility_Accessible.idl:
812 Added method Accessibility:Accessible:getRoleName, to complement
813 Accessibility:Accessible:getRole.
815 * cspi/spi_accessible.c:
817 Added C binding for above, Accessible_getRoleName (), and changed
818 signature of Accessible_getRole () to return an AccessibleRole.
820 * cspi/spi-roletypes.h:
821 Changed AccessibleRole_getName to return a char * instead of a
822 const char *. This method is now at least temporarily deprecated
823 in favor of asking Accessibles for their RoleNames directly.
826 Revert to match Accessibility_Value.idl;
830 Change signature of AccessibleValue methods to use double rather
834 * cspi/spi_accessible.c:
835 Changed Accessible_getRole to return an AccessibleRole enum rather
836 than a UTF-8 string. The UTF-8 string can still be obtained via
837 AccessibleRole_getName ().
839 * test/test-simple.c:
840 Add test_action. Small fixup to match API change to Accessible_getRole.
843 Bugfix for get_action_from_servant ().
845 2001-12-11 Michael Meeks <michael@ximian.com>
847 * libspi/libspi.h: remove registry.h and
848 desktop.h, deviceeventcontroller.h
850 * libspi/Makefile.am: remove registry.[ch],
851 desktop.[ch], deviceeventcontroller.[ch]
853 * registryd/Makefile.am: add registry.[ch],
854 desktop.[ch], rename registryd.c to registry-main.c.
855 add deviceeventcontroller.[ch]
857 2001-12-11 Bill Haneman <bill.haneman@sun.com>
860 Replace setenv() call with putenv ().
862 * libspi/component.c:
863 Bugfix in AccessibleComponent_getExtents (),
866 2001-12-11 Michael Meeks <michael@ximian.com>
868 * libspi/image.c (impl_getImageExtents): impl.
869 (spi_image_class_init): upd.
872 (AccessibleImage_getImageDescription): fix daft bug
875 * test/test-simple.c (global_listener_cb): update
876 to only quit if not --poke
877 (main): catch --poke.
878 (validate_accessible): upd. dumping, call test_image
881 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
884 * idl/Accessibility.idl: update all IDL includes.
886 * idl/*.idl - rename to namespace - this sucks, blame
887 mjs' bad decision for oafd.
889 * test/test-simple.c (create_test_window): add more tests.
890 (create_tree): split this out.
891 (validate_accessible): bugfix.
893 2001-12-11 Michael Meeks <michael@ximian.com>
895 * cspi/bonobo/cspi-bonobo-listener.c:
896 (cspi_kestroke_listener_unref),
897 (cspi_event_listener_unref): impl. undoing previous
898 homenous environment - for Bill.
900 * cspi/spi_table.c (long_seq_to_array): use
903 * cspi/spi_main.c: split out all bonoboish bits into
906 * cspi/spi-impl.h: upd. typedefs.
908 * cspi/spi_registry.c: update to lowlevel API,
909 return booleans to indicate success in some places.
911 * cspi/spi_event.c: update to lowlevel API.
913 * cspi/bonobo/Makefile.am: add.
915 * cspi/bonobo/cspi-lowlevel.h: add
917 * cspi/bonobo/cspi-bonobo.c: add
919 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
921 * cspi/Makefile.am: remove spi-listener-impl.[ch],
922 (SUBDIRS): add bonobo, link in the libs.
924 * cspi/spi-util.c: kill this file.
926 * TODO: merge in my bits.
928 2001-12-11 Michael Meeks <michael@ximian.com>
930 * test/test-simple.c (test_value, test_table, main):
931 remove unused variables causing warnings.
933 * configure.in: cleanup checks - require gail.
935 2001-12-11 Bill Haneman <bill.haneman@sun.com>
938 Changed Value interface to use SValue (scalars) rather than
939 assuming all values are floats. This allows floats, doubles,
940 longs, shorts, and unsigned values to be manipulated.
941 Introduced Accessibility:SValue union.
944 Updated to use new API above, and to work correctly with GValues
945 of different types in AtkValue.
948 Updated to use new API above. cspi's API is as yet unchanged.
951 Updated the Value revision action item.
953 2001-12-10 Bill Haneman <bill.haneman@sun.com>
955 * test/test-simple.c:
956 Added test_table (GtkTreeView widget in test window to follow).
957 Un-commented test_value, added GtkRange widget.
958 Added GtkTreeView widget with GtkListStore. It passes regression
959 test but leaks one SPI object for some reason.
962 Fixed bug in impl__set_currentValue.
964 2001-12-10 Michael Meeks <michael@ximian.com>
966 * cspi/spi_text.c: audit for exception handling,
967 tolerating NULL object references safely etc.
969 * cspi/spi_value.c: ditto.
971 * cspi/spi_table.c (AccessibleTable_getSummary),
972 (AccessibleTable_getAccessibleAt),
973 (AccessibleTable_getRowHeader),
974 (AccessibleTable_getColumnHeader),
975 (AccessibleTable_getCaption): fix bugs hidden by
977 (long_seq_to_array): impl.
978 (AccessibleTable_getSelectedRows),
979 (AccessibleTable_getSelectedColumns): use it.
981 2001-12-10 Bill Haneman <bill.haneman@sun.com>
984 Added a TODO list (rough and short for now).
986 * cspi/spi_hyperlink.c:
987 * cspi/spi_hypertext.c:
988 Fixed macro name typos, and remove use of obsolete macro in
989 AccessibleHyperlink_getLink.
992 * cspi/spi_accessible.c:
993 * cspi/spi_application.c:
994 * cspi/spi_component.c:
995 * cspi/spi_selection.c:
998 Documentation fixes (removed return values from ref/unref methods).
1000 2001-12-10 Michael Meeks <michael@ximian.com>
1002 * cspi/spi_action.c: audit for exception handling,
1003 tolerating NULL object references safely etc.
1005 * cspi/spi_accessible.c: ditto.
1007 * cspi/spi_component.c: ditto.
1009 * cspi/spi_editabletext.c: ditto.
1011 * cspi/spi_hyperlink.c: ditto.
1013 * cspi/spi_hypertext.c: ditto.
1015 * cspi/spi_image.c: ditto.
1017 * cspi/spi_selection.c: ditto.
1019 2001-12-10 Michael Meeks <michael@ximian.com>
1021 * configure.in: use cspi/libspi.pc.in instead.
1023 * Makefile.am (pkgconfig_DATA): upd. to match.
1025 * test/simple-at.c (report_focus_event): kill hacks around
1026 bad return values, use putenv not setenv
1028 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1029 fire ChildGone - I killed it.
1031 * libspi/component.c
1032 (impl_accessibility_component_get_extents): remove
1035 * idl/Accessible.idl: kill ChildGone exception.
1037 * cspi/*.[ch]: kill int return from ref / unref.
1039 * cspi/spi_main.c (cspi_object_add_check): fold into
1040 (cspi_object_add): here.
1042 * cspi/spi_component.c (AccessibleComponent_getExtents):
1043 handle exceptions elegantly.
1045 * cspi/spi-private.h (cspi_check_ev_return),
1046 (cspi_return_if_fail): impl.
1048 * cspi/spi_accessible.c: use extensively.
1049 (AccessibleStateSet_equals): add direct compare check.
1051 * cspi/spi_selection.c: tolerate NULL objs, and check
1052 exceptions before return.
1054 * cspi/spi-util.c (cspi_warn_ev): rename to
1055 (cspi_check_ev): this & don't pass ev in; no point.
1057 2001-12-10 Michael Meeks <michael@ximian.com>
1059 * test/test-simple.c: use putenv not setenv
1060 (get_environment_vars): more chatty if you're not using
1063 * test/simple-at.c: do the setenv so more people see the
1066 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1068 * libspi/registry.c:
1069 Changed check of CORBA_environment on notification to be a warning
1070 instead of an error for the moment, since we can recover from this
1071 error when caused by a queued notification from a dead app.
1074 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1075 used by all current implementors of AtkValue), and coerce to
1076 CORBA_float. (Proper general case fix may require change to Value.idl).
1078 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1082 * cspi/spi_accessible.c:
1083 Documentation fixes: added user_data params to documentation for
1084 listeners and callbacks.
1086 * cspi/spi_accessible.c:
1087 Changed AccessibleStateSet_compare to return a
1088 StateSet rather than return the difference set into a third parameter.
1091 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1094 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1095 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1099 Remove subdirectory po from SUBDIRS for now.
1101 * at-bridge/bridge.c:
1102 Beefed up a couple of debug printouts.
1103 One-line fix for signal notification name formatting.
1105 * libspi/accessible.c:
1106 Added assertion to spi_accessible_new ().
1108 * libspi/application.c:
1109 Put #ifdef qualifiers around a printf.
1112 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1114 * registryd/Makefile.am:
1116 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1117 INTLTOOL_SERVER_RULE macro.
1120 Added an event listener for several ATK signals, for
1121 testing and debugging. Removed a few g_warnings.
1122 Added test output if focussed item implements the Value interface.
1124 * test/test-simple.c:
1125 Added test_value () function (known not to pass at the moment, so
1126 not actually called yet.
1128 2001-12-08 Michael Meeks <michael@ximian.com>
1130 * at-bridge/bridge.c (bridge_focus_tracker),
1131 (emit_eventv): fix the same ref. leak.
1132 (register_atk_event_listeners): don't leak.
1134 * cspi/spi-listener-impl.c (cspi_event): more
1135 protection from client code.
1137 * test/test-simple.c (test_desktop): unref the app.
1139 * test/Makefile.am: upd. TESTS.
1141 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1143 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1145 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1147 * cspi/spi_registry.c: constify in strings.
1148 (deregisterGlobalEventListenerAll): don't release the ref.
1150 * cspi/spi.h: start removing redundant / conflicting
1151 gtkdoc comments, making the API readable at a glance :-)
1153 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1155 * test/keysynth-demo.c (keysynth_exit, main): upd.
1157 * test/simple-at.c (main, simple_at_exit): upd.
1159 * test/test-simple.c (unutterable_horror): kill.
1160 (utterable_normal_derefs): kill.
1161 (main): upd & do a setenv before gtk_init, so that we
1162 can use memprof - and to save the pain of remembering
1163 this, if we're running under memprof - don't exit.
1165 * cspi/spi_main.c (SPI_exit): return exit status
1167 (SPI_event_quit): impl.
1168 (SPI_event_main): simplify.
1169 (cspi_is_gnome_app): kill.
1170 (SPI_init): kill isGNOMEapp arg.
1172 * at-bridge/bridge.c (register_atk_event_listeners):
1173 re-instate the unref.
1174 (bridge_exit_func): don't re-activate the registry,
1175 protect vs. theoretical re-entry, use the
1176 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1177 assert a clean shutdown - for regression tests.
1179 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1181 * configure.in: Comment out dummy i18n support for now,
1182 otherwise it fails to build.
1183 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1184 EXTRA_DIST. They are missing in tarball.
1186 2001-12-07 Michael Meeks <michael@ximian.com>
1188 * util/magnifier.c: kill bonobo activation reg. race.
1190 * libspi/component.c
1191 (impl_accessibility_component_get_extents): make it match
1194 * libspi/registry.c (_registry_notify_listeners):
1195 re-remove X headers & reconcile conflicts.
1196 (spi_listener_struct_free): bad conflict resolve.
1197 (impl_accessibility_registry_register_application):
1198 more bad merging fixed.
1199 (impl_accessibility_registry_deregister_application): ditto.
1200 (spi_registry_new): ditto.
1201 (spi_registry_init): don't have an applications field.
1203 [ merge fixups2 branch to here ]
1204 2001-12-07 Michael Meeks <michael@ximian.com>
1206 * test/simple-at.c (report_focus_event),
1207 (report_focussed_accessible): remove g_warning debug.
1209 2001-12-07 Michael Meeks <michael@ximian.com>
1211 * test/test-simple.c (validate_tree): comment out some checks.
1212 (test_desktop): app now not registered idly - horay.
1214 2001-12-07 Michael Meeks <michael@ximian.com>
1216 * cspi/spi_registry.c
1217 (registerAccessibleKeystrokeListener): clean, stop it leaking
1218 great swathes of memory, and device event controller references.
1219 ensure we always pass valid sequences.
1220 (deregisterAccessibleKeystrokeListener): ditto.
1221 (generateKeyEvent): upd.
1223 * at-bridge/bridge.c (bridge_key_listener): handle
1224 registry dead exception gracefully.
1225 (bridge_focus_tracker, emit_eventv): free ev.
1227 * test/simple-at.c (report_focus_event): fix polarity.
1229 * libspi/application.c (notify_listeners): kill the ev
1230 argument, and make sure we init the ev we use.
1231 (spi_application_object_event_listener): split out a chunk
1232 (get_atk_object_ref): here & fixup.
1233 (reverse_lookup_name_for_toolkit_event): make const.
1234 (spi_application_toolkit_event_listener): fixup, kill leaks
1237 * at-bridge/bridge.c (register_atk_event_listeners):
1238 don't unref the noop object - causes grief.
1240 * libspi/registry.c: remove the X headers.
1241 turn off the debug churn.
1243 * libspi/accessible.c (spi_accessible_new_return): only
1244 release the ref if we are supposed to [doh]
1246 * test/simple-at.c (report_button_press, report_focus_event):
1247 guard vs. unexpected exit.
1249 * at-bridge/bridge.c (gtk_module_init): prune printf.
1250 (bridge_exit_func): fix app unref.
1252 * libspi/Makefile.am: don't install registry or desktop.h
1254 * libspi/*.h: update includes.
1256 * libspi/application.h: don't include ourself, or
1257 other redundant headers.
1259 2001-12-06 Michael Meeks <michael@ximian.com>
1261 * libspi/accessible.c
1262 (get_accessible_from_servant): impl.
1263 Upd. all CORBA impl.s to use it killing cut and paste.
1265 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1267 (SPI_init): register atexit cleanup handler here.
1269 2001-12-06 Michael Meeks <michael@ximian.com>
1271 * at-bridge/bridge.c (gtk_module_init): g_error on
1272 activation exception
1274 2001-12-06 Michael Meeks <michael@ximian.com>
1276 * at-bridge/bridge.c (gtk_module_init): some sort of
1277 confusing merge clash - reverted.
1278 (bridge_idle_init): ditto.
1280 * test/test-simple.c (main, utterable_normal_derefs):
1281 merge from Bill - somehow not committed.
1283 2001-12-06 Michael Meeks <michael@ximian.com>
1285 * libspi/value.c (spi_value_class_init): upd.
1286 (spi_value_finalize): kill.
1288 * libspi/table.c (spi_table_finalize): kill.
1289 (spi_table_interface_new): upd.
1290 (spi_table_class_init): upd.
1291 (get_table_from_servant): impl.
1292 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1294 * libspi/selection.c (spi_selection_finalize): kill.
1295 (spi_selection_interface_new): upd.
1296 (spi_selection_class_init): upd.
1297 (get_selection_from_servant): impl.
1298 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1300 * libspi/relation.c (spi_relation_finalize): kill.
1301 (spi_relation_class_init, spi_relation_new): upd
1303 * libspi/image.c (spi_image_finalize): kill.
1304 (spi_image_class_init): upd.
1305 (spi_image_interface_new): upd.
1306 (get_image_from_servant): impl.
1307 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1309 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1310 (spi_hyperlink_finalize): kill.
1311 (spi_hyperlink_new): upd.
1312 (get_hyperlink_from_servant): impl.
1313 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1315 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1316 (spi_hypertext_finalize): kill.
1317 (spi_hypertext_class_init): upd.
1318 (get_hypertext_from_servant): impl.
1319 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1321 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1322 (spi_editable_text_interface_new): upd.
1323 (get_editable_text_from_servant): impl.
1324 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1326 * libspi/text.c (get_text_from_servant): impl.
1327 All impls - update to use it killing more cut and paste,
1328 also fix bad string returns on duff args ( a somewhat
1329 impossible case to handle - but hey ).
1330 (spi_text_construct): impl.
1331 (spi_text_interface_new): upd.
1332 (spi_text_object_finalize): kill.
1334 * libspi/component.c
1335 (accessibility_component_object_finalize): kill.
1336 (spi_component_class_init): upd.
1337 (get_component_from_servant): impl. helper to kill cut & paste.
1338 (impl_accessibility_component_contains):
1339 (impl_accessibility_component_get_accessible_at_point):
1340 (impl_accessibility_component_get_position):
1341 (impl_accessibility_component_get_extents):
1342 (impl_accessibility_component_get_mdi_z_order):
1343 (impl_accessibility_component_get_layer):
1344 (spi_component_interface_new): upd.
1346 * libspi/action.c (spi_action_finalize): kill.
1347 (spi_action_class_init): upd. inherit from SpiObject.
1348 (spi_action_interface_new): upd.
1349 (get_action_from_servant): impl. helper to reduce cut & paste.
1350 (impl_getKeyBinding, impl_getName, impl_doAction),
1351 (impl_getDescription): Use it everywhere.
1353 * cspi/spi_main.c (get_live_refs): a pointer hash.
1354 (spi_object_hash, spi_object_equal): comment out.
1355 There are issues with CORBA object hashing that need
1358 * libspi/application.c (spi_application_init),
1359 (spi_application_new): upd.
1361 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1362 (spi_accessible_class_init): upd.
1363 s/accessible/object/ in epv methods.
1365 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1367 * at-bridge/bridge.c:
1368 Reorder the bridge initialization into the bridge gtk_module_init,
1369 an immediate call to bridge_register_app, and an idle_add for
1370 register_atk_event_listeners (the only code that *must* wait until
1371 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1372 the activation, creates the application's Accessible object, and
1373 queues the bridge_idle_init function. Restored call to
1374 Accessibility_Registry_deregisterApplication().
1375 Prior to making this call we obtain a new reference to the
1376 registry, which is a temporary hack that helps us handle apps that
1377 shut down the bonobo mainloop before we get there.
1379 * libspi/registry.c:
1380 Fix string leakage in debug block, and don't segv if a an app
1381 dies before its event notifications have been propagated.
1384 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1385 as stopgap measure until we get proper exception handling when
1386 objects die during or before interrogation.
1390 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1391 Also changed default value of is_gnome_app to TRUE.
1394 * test/keysynth-demo.c:
1395 Changed use of SPI_init and SPI_event_main to reflect API change above.
1398 Made report_focus_event check the warning value from getName
1399 before reporting on focussed accessible; simplifies handling of
1400 notifications from dead objects.
1402 * test/test-simple.c: (Changes not in this patch since source is
1405 2001-12-05 Michael Meeks <michael@ximian.com>
1407 * registryd/registryd.c (main): protect against
1408 bonobo-activation startup race condition.
1410 * cspi/spi_main.c (cspi_object_add_check): cope
1411 with the exception elegantly.
1413 * idl/Accessible.idl: decl. ChildGone
1415 * libspi/desktop.c (spi_desktop_dispose): impl.
1416 (spi_desktop_class_init): upd.
1417 (spi_desktop_add_application),
1418 (spi_desktop_remove_application),
1419 (abnormal_application_termination): impl.
1420 (impl_desktop_get_child_at_index): re-impl.
1423 (impl_accessibility_registry_deregister_application),
1424 (impl_accessibility_registry_register_application):
1425 kill excessive debug clutter.
1427 * test/test-simple.c (test_misc): test some NULL
1428 tolerance. (main): upd.
1430 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1431 implements no interfaces - so let's not crash.
1433 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1435 * libspi/accessible.c (spi_accessible_new_return): impl.
1436 helper to calm the cut and paste, to cope with
1437 NULL AtkObjects effectively and efficiently, and to kill
1438 the referencing bugs.
1440 * libspi/table.c (impl_getAccessibleAt),
1441 (impl_getRowHeader, impl_getColumnHeader): upd.
1443 * libspi/hyperlink.c (impl_getObject): upd.
1445 * libspi/accessible.c
1446 (impl_accessibility_accessible_get_child_at_index): upd.
1448 * libspi/component.c
1449 (impl_accessibility_component_get_accessible_at_point): upd.
1451 * test/test-simple.c (test_editable_text, test_text): impl.
1454 * cspi/spi_editabletext.c
1455 (AccessibleEditableText_insertText): constify.
1457 * test/test-simple.c (focus_me): make more robust.
1459 * libspi/accessible.c: remove some printfs in methods that
1460 we test and work fine, so we can get a clean tree dump.
1462 * test/test-simple.c (validate_accessible),
1463 (validate_tree): make tree dumping pretty too.
1465 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1466 it builds without debug on.
1468 * test/test-simple.c (validate_accessible): fix the most
1471 * cspi/spi_main.c (spi_object_release): leave the nicely
1472 blanked memory around if in debug mode.
1474 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1476 [committed to fixups2]
1477 2001-12-05 Michael Meeks <michael@ximian.com>
1479 * libspi/editabletext.c
1480 (spi_editable_text_class_init): g_type_class_peek_parent,
1481 not interface peek - so we finalize cleanly.
1483 * libspi/accessible.c (spi_accessible_new): kill debug.
1485 * test/test-simple.c (validate_accessible): fix ref.
1486 leak, print strings before freeing them; sigh, comment a
1487 chunk out due to strangeness.
1488 (validate_tree): unref the child after use.
1490 * cspi/spi_component.c (AccessibleComponent_getLayer):
1491 add missing break statement, switch on zlayer not the
1492 uninitialized retval.
1494 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1495 before (possibly re-entering) remote unref.
1497 * test/simple-at.c (main): unref the desktop.
1499 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1502 * cspi/spi_main.c (cspi_accessible_is_a): here to
1503 isolate bonobo API usage more.
1505 * libspi/registry.c (impl_accessibility_registry_register_application):
1506 prune bogus comment.
1508 2001-12-04 Michael Meeks <michael@ximian.com>
1510 * test/test-simple.c (validate_tree): upd.
1511 IndexInParent check to make it more lucid.
1512 (validate_accessible): dump the tree.
1514 * libspi/accessible.c (de_register_public_ref),
1515 (get_public_refs): impl.
1516 (spi_accessible_new): make more efficient & intuitive.
1517 Now IndexInParent check works.
1519 2001-12-04 Michael Meeks <michael@ximian.com>
1521 * cspi/spi-util.h: remove.
1523 * cspi/spi.h: move SPI_freeString here
1525 * libspi/component.c (impl_accessibility_component_get_layer):
1527 (impl_accessibility_component_get_mdi_z_order): ditto,
1528 return -1 on error - is this ok ?
1530 * test/test-simple.c (test_application): impl.
1532 * cspi/spi_accessible.c (Accessible_getApplication),
1533 (Accessible_isApplication): impl.
1535 * libspi/registry.c (spi_listener_struct_free): release
1536 the CORBA reference too.
1538 * libspi/accessible.c
1539 (impl_accessibility_accessible_get_parent): fix ref leak.
1541 * libspi/registry.c (spi_registry_new): make the registry
1542 immortal - we don't want it to go away ever.
1544 * libspi/application.c
1545 (spi_accessible_application_finalize): impl. cleanup.
1547 * cspi/spi_registry.c
1548 (deregisterGlobalEventListenerAll),
1549 (deregisterGlobalEventListener),
1550 (deregisterAccessibleKeystrokeListener): fix ref leak.
1552 * cspi/spi_main.c (SPI_init): remove redundant ref.
1554 * test/test-simple.c (unutterable_horror): impl. to force a
1559 (impl_accessibility_registry_deregister_application): release
1560 the application when we de-register it.
1562 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1563 until we have the infastructure to get it right.
1565 2001-12-03 Michael Meeks <michael@ximian.com>
1567 * libspi/Makefile.am: only build eventlistener.[ch]
1569 * libspi/accessible.c
1570 (impl_accessibility_accessible_get_child_at_index): don't leak.
1572 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1573 before we hit the idle handler.
1575 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1576 debugging than exit.
1578 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1580 * libspi/listener.c (impl_notify_event): check source
1581 not NIL before unref.
1583 * libspi/registry.c (impl_registry_notify_event): ditto.
1585 * libspi/eventlistener.c
1586 (impl_accessible_event_notify_event): unref the source.
1588 * libspi/accessibleeventlistener.c
1589 (impl_accessible_event_notify_event): unref the source.
1591 * idl/Event.idl: remove 'hash_id' attribute - of no
1594 * libspi/application.c (notify_listeners): upd list
1596 (spi_application_object_event_listener),
1597 (spi_application_toolkit_event_listener): upd to do correct
1601 (_registry_notify_listeners): update.
1602 (parse_event_type): this method also leaks like a sieve.
1603 (impl_accessibility_registry_deregister_global_event_listener):
1604 fix ETYPE_WINDOW case.
1606 * libspi/application.c
1607 (impl_accessibility_application_register_object_event_listener):
1610 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1612 * libspi/hypertext.c (impl_getLink): ditto.
1614 * cspi/spi_main.c (cspi_object_add): remove
1615 bogus CORBA_Object_duplicate.
1617 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1620 * cspi/spi_accessible.c
1621 (Accessible_getRelationSet): fix leak / referencing issue.
1623 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1624 (cspi_object_add, cspi_object_unref): upd.
1625 (spi_object_release, get_live_refs): impl.
1626 (cspi_cleanup): simplify.
1628 * *.[ch]: s/boolean/SpiBoolean/
1630 * cspi/spi_accessible.c (role_names): actualy order so it
1631 corresponds with the enum !
1633 * test/test-simple.c (test_roles): check some role strings
1634 vs. enums to detect offset errors.
1636 2001-12-01 Michael Meeks <michael@ximian.com>
1638 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1640 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1642 (Accessible_getChildAtIndex): use cspi_add_check so we
1643 check the ev before using a (possibly) invalid value.
1645 * libspi/accessible.c
1646 (impl_accessibility_accessible_get_parent): don't segv
1649 * at-bridge/bridge.c (gtk_module_init): upd.
1650 (bridge_property_event_listener): don't leak strings
1652 (bridge_state_event_listener),
1653 (bridge_property_event_listener): don't use a static
1654 buffer in case of recursive event emission &
1655 re-enterancy - split out the swathe of cut and paste
1657 (emit_eventv): and fix 2 ref leaks here & comply to the
1659 (bridge_register_app): rename to
1660 (bridge_idle_init): this and kill arg parsing, split
1661 various inits & bonobo-activation registration to module
1662 init time, kill referencing error.
1663 (bridge_exit_func): fix the same leak.
1664 (bridge_focus_tracker): don't leak event structures
1666 (bridge_signal_listener): more leakage and cut & paste
1668 (bridge_key_listener): return the result - FIXME is
1669 this polarity correct ?
1670 (accessibility_keystroke_from_atk_key_event): rename
1671 (accessibility_init_keystroke_from_atk_key_event): and stop
1673 (gtk_module_init): return a value - not that it is checked by
1675 (bridge_key_listener): register my horror at casting between
1676 IDL defined structs.
1677 (bridge_get_registry): kill - not used.
1679 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1681 * test/test-simple.c (test_roles): impl.
1682 (test_desktop, validate_accessible, validate_tree): impl.
1684 * cspi/spi_accessible.c (role_names): fixup bogus
1685 MAX_ROLES setup, make constants const for efficient linkage
1686 (AccessibleRole_getName): conform to coding style, make
1689 2001-11-30 Michael Meeks <michael@ximian.com>
1691 * cspi/spi.h: add missing prototype.
1693 * libspi/registry.c (spi_listener_struct_new): fix sig.
1695 * test/Makefile.am: add test-simple
1697 * test/test-simple.c: add
1699 * test/test.sh: add.
1701 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1703 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1704 do it straight - since otherwise we often get an activation race.
1706 [ work before Bill duplicated a chunk of it ... ]
1707 2001-11-30 Michael Meeks <michael@ximian.com>
1709 * libspi/keystrokelistener.c
1710 (spi_keystroke_listener_class_init): fixup arg
1713 * libspi/eventlistener.c
1714 (spi_event_listener_class_init): ditto.
1716 * tests/test.sh: add.
1718 * cspi/spi-listener-impl.h: update macros.
1720 * cspi/spi-listener-impl.c
1721 (cspi_event_listener_remove_callback): add
1722 correct pre-conditions.
1724 * cspi/spi_main.c (SPI_exit): guard vs. double
1725 exits, exit the mainloop nicely.
1726 (SPI_event_main): make more sense.
1727 (SPI_init): move the atexit evilness here so we
1728 always do it (yuck).
1729 (SPI_event_main): upd.
1731 * test/simple-at.c: update for listener changes.
1733 * registryd/registryd.c (main): prune kruft.
1735 * libspi/libspi.h: upd.
1737 * libspi/eventlistener.[ch]: rename broken macros.
1739 * libspi/accessibleeventlistener.[ch]: remove.
1741 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1743 * test/test-simple.c: Add - automated tests.
1745 * cspi/spi-listener-impl.c (cspi_event),
1746 (cspi_key_event): add user_data to invoke.
1747 (cspi_keystroke_listener_finalize): impl.
1748 (cspi_keystroke_listener_class_init): upd.
1751 (createAccessibleEventListener),
1752 (AccessibleEventListener_addCallback),
1753 (createAccessibleKeystrokeListener),
1754 (AccessibleKeystrokeListener_addCallback): upd.
1756 * libspi/deviceeventcontroller.c
1757 (spi_device_event_controller_check_key_event): add public proto.
1760 (impl_accessibility_registry_deregister_global_event_listener):
1761 always init listeners.
1762 (_registry_notify_listeners): yes it is.
1764 * cspi/spi-listener-impl.c (cspi_key_event):
1766 (cspi_event_listener_finalize): impl.
1767 (cspi_event_listener_class_init): hook up.
1768 (event_handler_new, event_handler_free),
1769 (event_list_remove_by_callback): impl.
1770 (cspi_event_listener_remove_callback),
1771 (cspi_keystroke_listener_remove_callback),
1772 (cspi_keystroke_listener_add_callback),
1773 (cspi_event_listener_add_callback): upd.
1775 * libspi/keystrokelistener.c
1776 (keystroke_listener_object_finalize): kill
1777 (spi_keystroke_listener_class_init): upd.
1778 (spi_keystroke_listener_add_callback),
1779 (spi_keystroke_listener_remove_callback): kill,
1781 (impl_key_event): prune drasticaly.
1783 * libspi/eventlistener.c
1784 (spi_event_listener_add_callback),
1785 (spi_event_listener_remove_callback): kill, use
1787 (impl_accessible_event_notify_event): upd.
1788 (spi_event_listener_object_finalize): remove.
1790 * libspi/Makefile.am: use eventlistener.[ch]
1792 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1794 * libspi/registry.c (_registry_notify_listeners):
1795 Changed listener loop iteration to use preferred convention.
1796 Got rid of string memory leaks caused be calling g_strconcat
1797 inside function calls.
1799 * libspi/registry.c (parse_event_type):
1800 Stopped g_strconcat memory leaks, free the g_strsplit return,
1801 g_strdup the split pieces when used, etc.
1803 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1806 Change method 'compare' to return a 'difference set' rather than
1807 taking a StateSet as an out parameter (more Java-friendly).
1809 * idl/Accessible.idl:
1810 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1812 * idl/Component.idl:
1814 Changed methods 'getExtents' and 'getImageExtents' in these
1815 interfaces to return a BoundingBox structure.
1816 (getPosition and getSize are redundant and possibly should be
1817 removed, rather than creating a corresponding Point struct.)
1819 * cspi/spi_component.c:
1820 Modify implementation of getExtents to reflect the above IDL
1825 Add (missing) AccessibleImage_getExtents () API.
1827 * docs/reference/cspi/at-spi-cspi-sections.txt:
1828 Added AccessibleImage_getImageExtents () to docs.
1830 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1832 * idl/Component.idl:
1833 Added two methods, getLayer () and getMDIZOrder (), to reflect
1834 the new ATK methods atk_object_get_layer and
1835 atk_object_get_mdi_z_order. (Which arguably should be part of the
1836 AtkComponent API and AtkObject). Also added an enum,
1837 ComponentLayer, for the first method's return value.
1839 * libspi/component.c:
1840 Added implementations for these methods.
1842 * cspi/spi_component.c:
1844 Added cspi binding methods for above,
1845 AccessibleComponent_getLayer() and
1846 AccessibleComponent_getMDIZOrder().
1847 Added cspi enum 'AccessibleComponentLayer'.
1849 * docs/reference/cspi/at-spi-cspi-sections.txt:
1850 Added above methods to docs.
1854 Changed typedef for 'boolean' type (and all references to it) to
1855 SPIBoolean, to avoid keyword clashes with C++.
1858 Changed usages of 'boolean' to SPIBoolean.
1860 * test/keysynth-demo.c:
1861 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1862 app), except where SPIBoolean is required by the callbacks API.
1864 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1866 * cspi/spi_registry.c:
1867 Removed obsolete X event loop for passive keygrabs (which now
1870 * registryd/registryd.c:
1871 Removed unnecessary call to gdk_init() [cruft]. This also allows
1872 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1875 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1877 * docs/reference/cspi:
1878 Included docs for SPI_freeString in generated documentation.
1881 Renamed spi_freeString to SPI_freeString, for consistency. Added
1882 documentation for this function.
1885 Renamed spi_freeString to SPI_freeString, for consistency.
1886 Removed obsolete method declaration string_from_corba_string.
1888 * test/keysynth-demo.c:
1889 Small tweak to comments.
1892 Stopped leaking the strings returned from CSPI.
1894 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1896 Merged Michael's branch (see his ChangeLog entries below).
1898 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1899 bridge is alive, release on exit.
1901 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1902 Fix type check macro.
1905 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1908 Added is_gnome_app static, and method cspi_is_gnome_app(),
1909 so we can call the appropriate shutdown routine at exit in SPI_exit.
1911 * cspi/spi_main.c (cspi_object_ref):
1912 Duplicate the corba object passed in, since we're keeping it around.
1914 * cspi/SPI_exit.c, cspi_cleanup:
1915 Moved the releasing of the live refs to its own function, so we
1916 can put it in g_atexit (). Call the appropriate shutdown API
1917 depending on whethe calling client is a gnome app or not
1918 (bonobo_main_quit or CORBA_ORB_shutdown).
1920 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1921 Unref the listener when this method is called, after
1922 deregistration. Updated the API docs to note this behavior.
1924 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1925 Bugfixes: Ref the bonobo object when returning a parent or child
1926 reference, or an AccessibleRelation. Generally made sure
1927 BonoboObject refcount is incremented whenever we return an
1930 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1931 Fixed typo/bug in signal declaration.
1933 * libspi/accessibleeventlistener.h:
1936 * libspi/application.c (spi_application_new):
1937 Fixed leak in initialization.
1940 Remembered to increment bonobo-object refcount when returning
1941 children (applications) from desktop object.
1942 Added (empty) finalize method.
1944 * libspi/deviceeventcontroller.c:
1945 Hold a ref to listeners inside DEControllerKeyListeners.
1946 Added dec_key_listener_free() method. Use prepend instead of
1947 append in key_listener list. Fixed some refcount madness and
1948 leaks in the listener registration/deregistration - deregistration
1949 now calls dec_key_listener_free() on listeners, and on the
1950 temporarily constructed dec_key_listener() used to perform the search/match.
1952 * libspi/hypertext.c (spi_hypertest_finalize):
1953 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1954 class. Also fixed spi_hypertext_interface_new() and
1955 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1957 * libspi/hypertext.h:
1958 Removed pointless and duplicate AtkObject pointer from
1961 * libspi/keystrokelistener.c:
1962 Fixed incorrect type of keystroke_listener_parent_class,
1963 renamed keystroke_listener_object_finalize to
1964 spi_keystroke_listener_object_finalize.
1965 Fixed typo in signal declaration
1966 (spi_keystroke_listener_class_init).
1968 * libspi/registry.c:
1969 Added funcsions spi_listener_struct_new() and
1970 spi_listener_struct_free() to help with memory management issues.
1971 We also now use these methods instead of gnew + poking stuff into
1972 the struct, and to decrement listener counts/free the listeners
1973 when deregistering them.
1974 Fix more refcount bugs in getDesktop() and
1975 getDeviceEventController().
1978 De-ref the desktop after enumerating the applications. Explicitly
1979 decrement the refcounts on the created listeners on exit (using
1980 _unref for keystroke listeners, and via the
1981 deregisterGlobalEventListenerAll command for other event
1984 2001-11-27 Michael Meeks <michael@ximian.com>
1986 * cspi/spi-listener.h: fixup enum.
1988 2001-11-27 Michael Meeks <michael@ximian.com>
1990 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1991 (cspi_keystroke_listener_new): Use the cspi variants.
1993 2001-11-26 Michael Meeks <michael@ximian.com>
1995 * test/keysynth-demo.c: fix 2 compile warnings, missing
1998 * test/simple-at.c (report_focussed_accessible),
1999 (report_focus_event, report_button_press),
2000 (check_property_change, is_command_key),
2001 (report_ordinary_key_event, report_command_key_event): upd.
2003 * util/mag_client.h: include pre-requisites.
2005 * libspi/accessibleeventlistener.c
2006 (spi_event_listener_object_finalize): free any lingering
2009 * libspi/keystrokelistener.c
2010 (keystroke_listener_object_finalize): ditto.
2012 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2013 callbacks, with cspi types.
2015 * cspi/spi_event.c (createAccessibleEventListener): chain to
2016 (AccessibleEventListener_addCallback): here.
2017 (createAccessibleKeystrokeListener): chain to
2018 (AccessibleKeystrokeListener_addCallback): here.
2020 * libspi/keystrokelistener.c
2021 (spi_keystroke_listener_class_init): add signal.
2022 (impl_key_event): emit the event.
2023 (boolean_handled_accumulator): impl.
2024 (marshal_BOOLEAN__POINTER): add, gack.
2026 * libspi/accessibleeventlistener.c
2027 (spi_event_listener_class_init): add signal.
2028 (impl_accessible_event_notify_event): emit the signal &
2029 make the loop efficient.
2030 (spi_event_listener_add_callback): prepend the callback.
2032 * libspi/accessibleeventlistener.h: add an 'event' signal,
2033 decl type on callback.
2035 * libspi/keystrokelistener.h: ditto.
2037 * cspi/spi-listener.h: make methods typesafe and
2038 make them use the new event typedefs.
2040 * test/simple-at.c (report_focussed_accessible):
2041 include mag_client.h
2042 Use *(void *)text_interface not the other thing.
2044 * configure.in: add gtk to registryd bits - since we use
2047 * util/magnifier.c: include libbonobo.h
2049 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2051 * test/keysynth-demo.c:
2052 Turned this into a simple scanning keyboard, to demonstrate the
2053 use of g_timeout_add () as a means of creating timers for
2054 scanning, and the use of GtkStyle for visually indicating when
2055 virtual keyboard elements are selected.
2057 keysynth-demo now listens to any keyboard keys with zero-valued
2058 keycodes (i.e. 'unused' keys) and interprets them as
2061 Reworked the shiftlatch code so that shift-down state isn't held
2062 for long periods (it's only synthesized immediately prior to
2063 the keysynth event it's modifying). Note that shiftlatch in this
2064 demo is a convenience, not intended to take the place of AccessX
2065 which is the better choice for getting 'sticky' modifier keys.
2067 * libspi/deviceeventcontroller.c:
2068 * at-bridge/bridge.c:
2069 * cspi/spi_registry.c:
2070 Removed some debug print stuff, and put other verbosity in #ifdef
2075 Implemented some more of the magnifier IDL for the simple
2076 magnifier: namely, getZoomRegionParams.
2077 Added mag_x and mag_y members to MagnifierData struct, aid of this
2079 Added GtkWindow::realize signal handler to magnifier, to keep it
2080 from receiving keyboard focus from the WM.
2082 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2084 * cspi/spi-private.h: my guess at what michael forgot
2085 before he ran off to NZ :-)
2087 2001-11-23 Michael Meeks <michael@ximian.com>
2089 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2090 comment out non existant method invoke so we link.
2092 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2093 use bonobo_exception_get_text for more friendly warnings.
2095 * cspi/spi.c (Obj_Add): move into spi_main & rename
2096 spi_object_add; kill spi.c
2098 * cspi/spi_registry.c
2099 (deregisterGlobalEventListener),
2100 (deregisterGlobalEventListenerAll),
2101 (registerGlobalEventListener): fix exception leaks.
2103 * cspi/spi_main.c (spi_exception): impl. helper, so we
2104 don't leak exceptions.
2106 * cspi/spi_selection.c
2107 (AccessibleSelection_deselectSelectedChild): return the
2110 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2111 (spi_registry): ditto.
2112 (SPI_init): guard against double inits.
2114 * cspi/*.c: use spi_ev (), and spi_registry () where
2115 appropriate - a temporary hack until we have something
2116 better. Use spi_object_add
2118 2001-11-22 Michael Meeks <michael@ximian.com>
2120 * cspi/Makefile.am: re organise, install the headers.
2122 * cspi/*.h: add G_BEGIN/END_DECLS
2124 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2127 Added non-preemptive keylistener for key events with no modifiers
2128 and shift-only modifier.
2130 * libspi/keystrokelistener.c:
2131 Removed some verbose diagnostics printout.
2133 * cspi/spi_registry.c:
2134 Fixed a bug that caused all key listeners to be registered as
2137 * libspi/deviceeventcontroller.c:
2138 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2139 for non-preemptive key masks.
2142 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2144 * docs/reference/idl/at-spi-idl-docs.sgml:
2145 * docs/reference/idl/at-spi-idl-sections.txt:
2146 * docs/reference/idl/at-spi-idl-overrides.txt:
2147 Added missing files.
2149 * docs/reference/Makefile.am:
2150 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2151 to scan the IDL files :-(
2156 Added .cvsignore files.
2158 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2160 * libspi/deviceeventcontroller.c:
2161 * libspi/keystrokelistener.c:
2163 * cspi/spi_registry.c:
2164 Added filters for KeySets, KeyEventSeq, and event types to key
2165 event dispatching, so listeners should only receive those events
2166 that they requested :-)
2168 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2173 * docs/reference:Makefile.am:
2174 * docs/reference/cspi:
2175 * docs/reference/cspi:Makefile.am:
2176 * docs/reference/cspi:tmpl:
2177 * docs/reference/cspi:tmpl:*.sgml:
2178 * docs/reference/idl:
2179 * docs/reference/idl:Makefile.am:
2180 * docs/reference/idl:at-spi-idl-sections.txt:
2181 * docs/reference/idl:at-spi-idl-docs.sgml:
2182 * docs/reference/idl:tmpl:
2183 * docs/reference/idl:tmpl:*.sgml:
2185 Restructured docs directory to allow separate 'reference' docs
2186 section, and forked idl and cspi docs. Added the sgml template
2187 files to CVS. Added the first sections/structural sgml for the
2190 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2192 * configure.in, libspi/Makefile.am: find libXtst.
2194 2001-11-21 Michael Meeks <michael@ximian.com>
2196 * test/accessx-gui.c: s/spi_value/value/ - doh.
2198 * libspi/base.[ch]: add.
2200 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2202 * idl/Accessible.idl:
2203 * idl/Application.idl:
2206 Started gtk-doc cleanup on IDL.
2208 * libspi/deviceeventcontroller.c:
2209 Added and connected non-preemptive key notification from the
2210 toolkits (in addition to the pre-emptive support from XServer
2211 which we had before, but which causes 'focus flashing'). Filters
2212 are presently limited to key modifiers and global/non-global,
2213 KeySets are presently ignored, as are KeyEvent masks.
2215 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2216 structs into the persistant structure rather than just storing
2217 pointers to things that might not persist across servant
2220 The XGrabKey call now does async keygrabs, because synchronous
2221 ones were deadlocking with GDK_event code in a very nasty way.
2223 Added boolean to internal method notify_keylisteners, to indicate
2224 whether the event came from the 'toolkit source' or the 'global
2225 (XServer) source' - this is used in the notification process to
2226 determine which listeners to send the event to.
2228 deviceeventcontroller.c is now warning-free.
2230 * libspi/registry.c:
2231 Fixed regression in application de-registration.
2232 Also fixed some really brain-dead weirdness having to do with
2233 event dispatching - event structs are now duplicated before being
2234 re-marshalled in the dispatch to listeners. This also fixes a
2235 Solaris build problem.
2238 2001-20-11 Michael Meeks <michael@ximian.com>
2241 (impl_accessibility_registry_deregister_global_event_listener):
2244 * libspi/deviceeventcontroller.c
2245 (spi_device_event_controller_check_key_event): return
2246 FALSE on no virtual method.
2248 * libspi/*..h: make includes work on a correctly pathed install.
2250 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2252 * libspi/application.h: kill unused ( and whacked out )
2253 gboolean *spi_application_set_id (AtkObject *app, long id);
2255 2001-20-11 Michael Meeks <michael@ximian.com>
2257 * libspi/*.[ch]: further convert to bonobo's type func
2258 macros, remove redundnant casts etc.
2260 * libspi/text.c s/accessibility_text/spi_text/g,
2261 re-order to de-cruft.
2263 * libspi/hypertext.c: re-order to kill a huge slew
2264 of redundant forward decls.
2266 * libspi/relation.c: ditto.
2268 * libspi/image.c: ditto.
2270 * */.cvsignore: update
2272 2001-20-11 Michael Meeks <michael@ximian.com>
2274 * libspi/deviceeventcontroller.c
2275 (_controller_register_with_devices): use g_getenv,
2276 kill stdlib.h include.
2278 * libspi/keystrokelistener.c
2279 (spi_keystroke_listener_get_type): kill
2280 (spi_keystroke_listener_class_init),
2281 (spi_keystroke_listener_init): rename to this.
2283 * libspi/text.c (impl_getAttributes): fix warning / bug.
2285 * libspi/*.[ch]: more headers, includes and over commenting.
2287 2001-20-11 Michael Meeks <michael@ximian.com>
2289 * libspi/*.[ch]: fixup headers, includes and over commenting.
2291 * libspi/image.c (impl__get_imageDescription): const
2292 correctness warning fix. remove redundant casting.
2294 * libspi/table.c (impl_getRowDescription): ditto.
2295 (impl_getColumnDescription): ditto.
2297 * libspi/libspi.h: add.
2299 2001-19-11 Michael Meeks <michael@ximian.com>
2301 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2303 * libspi/component.c (accessibility_component_get_type):
2304 rename to (spi_component_get_type): and macroify.
2305 (accessibility_component_init): rename to
2306 (spi_component_init): this
2307 (accessibility_component_class_init): rename to
2308 (spi_component_class_init): this
2310 * libspi/action.c (spi_action_get_type): kill, use the macro.
2312 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2315 * libspi/application.c (spi_application_object_event_listener),
2316 (impl_accessibility_application_register_object_event_listener):
2317 warning fixes / const understanding updates.
2319 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2322 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2324 * libspi/spi_accessible.c: Added docs and C bindings for
2325 AccessibleStateSet. (No implementations yet). Documentation
2326 coverage for C bindings now 100%. Made docs for event listeners
2331 boolean notifyListenersSync (in DeviceEventListener listener,
2332 in DeviceEvent event);
2334 oneway void notifyListenersAsync (in DeviceEventListener listener,
2335 in DeviceEvent event);
2337 Added DeviceEventListener and DeviceEvent structs (may deprecate
2338 KeyStroke and KeystrokeListener in favor of this generic
2339 event/listener framework for devices).
2341 * libspi/deviceeventcontroller.c:
2343 Changed some key listener code to take masks, etc., and paved the
2344 way for integration of toolkit/non-preemptive key events. Changed
2345 signatures of some internal methods.
2347 * at-bridge/bridge.c:
2348 Fixed regression connecting to interface signals, apparently
2349 caused by GTK+ changes.
2351 Added an internal bridge_state_listener to deal with
2352 property-change:accessible-state signals.
2354 Changed the key_listeners GList to store structs (including masks,
2355 etc.) instead of just CORBA_Objects (required for full
2356 implementation of key listener API).
2358 Connected the bridge to all currently supported Atk signals.
2359 Events now supported:
2360 object:property-change
2361 object:property-change:accessible-name
2362 object:property-change:accessible-state
2363 object:property-change:accessible-description
2364 object:property-change:accessible-parent
2365 object:property-change:accessible-value
2366 object:property-change:accessible-role
2367 object:property-change:accessible-table-caption
2368 object:property-change:accessible-table-column-description
2369 object:property-change:accessible-table-column-header
2370 object:property-change:accessible-table-row-description
2371 object:property-change:accessible-table-row-header
2372 object:property-change:accessible-table-summary
2373 object:children-changed
2374 object:visible-data-changed
2375 object:selection-changed
2376 object:text-selection-changed
2378 object:text-caret-moved
2380 object:row-reordered
2382 object:column-inserted
2383 object:column-reordered
2384 object:column-deleted
2385 object:model-changed
2387 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2389 * libspi/hyperlink.c,h:
2390 Fixed some broken stuff in hyperlink.
2392 * libspi/relation.h:
2393 * libspi/relation.c:
2394 * cspi/spi_accessible.c:
2395 Initial implementations of AccessibleRelation methods, and docs.
2397 * libspi/accessible.c:
2398 Fixed a bug that caused SEGV if an accessible
2399 object's description is NULL, and a client
2400 requests it. An empty string is now returned.
2402 * cspi/spi_editabletext.c:
2403 * cspi/spi_hypertext.c:
2405 * cspi/spi_hyperlink.c:
2409 Doc coverage now 95%.
2411 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2413 One last namespacing revision:
2414 * libspi/accessibleeventlistener.[ch]:
2415 Renamed SpiAccessibleEventListener to SpiEventListener,
2416 (no need for two namespaces ;-)
2418 And lots of documentation fixes:
2420 * docs/at-spi-docs.sgml:
2421 Fixed 'underscore vs. hyphen' bug that was preventing
2422 the gtk-doc API docs from being automatically generated.
2425 * cspi/spi-listener.h
2427 * cspi/spi_accessible.c
2429 * cspi/spi_application.c
2430 * cspi/spi_component.c
2431 * cspi/spi_editabletext.c
2433 * cspi/spi_hypertext.c
2435 * cspi/spi_registry.c
2436 * cspi/spi_selection.c
2440 * docs/at-spi-docs.sgml
2441 * docs/at-spi-sections.txt
2443 Added and fixed up gtk-doc documentation in cspi.
2445 Interfaces now (fully) documented (subject to revision and enhancement):
2447 Event Listener Support
2449 AccessibleApplication
2453 AccessibleEditableText
2460 AccessibleRelationSet
2465 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2467 * at-bridge/bridge.c:
2468 Initial work for toolkit-level key snooper connection by bridge.
2473 New typedefs and fixes to support new namespacing, and cleaner
2474 separation of cspi bindings from libspi bonobo implementation.
2475 Removed inconsistent and extraneous Spi* namespace prefix that
2476 had crept into cspi headers.
2477 Lots of comment fixes that sed had missed.
2479 * cspi/spi-roletypes.h:
2480 * cspi/spi-statetypes.h:
2481 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2482 to AccessibleRoleType.
2484 * libspi/accessibleeventlistener.h:
2485 Fixed minor namespacing weirdness.
2487 * libspi/deviceeventcontroller.c:
2488 Reordered some internal API for device listeners.
2489 Changed the key registry final boolean to 'is_system_global'
2490 rather than 'is_synchronous', which is more descriptive of its
2492 Added spi_device_event_controller_new().
2493 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2495 * libspi/keystrokelistener.[ch]:
2496 Namespaced KeystrokeListener to SpiKeystrokeListener.
2497 Changed uses of keymasks to use SPI_ prefix, and did other
2500 * libspi/keymasks.h:
2501 Namespaced keymask constants with SPI_ prefix.
2503 * libspi/registry.c:
2504 Some warning fixes, and knock-on fixes from namespace changes.
2507 Added rules for accessx-gui test program.
2509 * test/accessx-gui.c:
2510 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2511 utility. It doesn't actually use at-spi, but it's still cool and
2514 * test/keysynth-demo.c:
2518 Fixes so that these test clients work properly with the namespaced
2519 libraries. (Incompletely tested for technical reasons, fixes may follow)
2522 2001-13-11 Michael Meeks <michael@ximian.com>
2524 * libspi/application.c
2525 (impl_accessibility_application_get_version),
2526 (impl_accessibility_application_get_toolkit_name):
2528 (impl_accessibility_application_set_id),
2529 (impl_accessibility_application_get_id): remove
2530 redundant casting code.
2532 * libspi/action.c (impl_getDescription): fix warnings.
2534 * libspi/accessible.c
2535 (impl_accessibility_accessible_get_parent),
2536 (impl_accessibility_accessible_get_child_at_index),
2537 (impl_accessibility_accessible_get_state),
2538 (impl_accessibility_accessible_get_relation_set):
2539 warning fixes & include action.h
2541 2001-13-11 Michael Meeks <michael@ximian.com>
2543 * *.[ch] fix bits I screwed up:
2545 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2546 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2548 2001-13-11 Michael Meeks <michael@ximian.com>
2550 * *.[ch] Namespace libspi into spi_ and Spi.
2552 2001-13-11 Michael Meeks <michael@ximian.com>
2554 * Makefile.am: dist & install at-spi-1.0.pc
2556 * libspi/Makefile.am: install into at-spi-1.0
2558 * idl/Makefile.am (idldir): install into at-spi-1.0
2560 * at-spi-1.0.pc.in: add.
2562 * configure.in: build it.
2564 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2566 * test/keysynth-demo.c:
2567 Use a 'realize' signal-handler to set the WM properties for
2568 the virtual keyboard, rather than making it a "POPUP" type
2569 override-redirect window (thanks to anders carlsson for that
2572 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2575 * test/keysynth-demo.c:
2576 Added new test of key synthesis, which creates a simple
2577 (mouse-operated) onscreen keyboard. It inserts key events into
2578 the currently-focused window, thus it does not grab keyboard focus
2581 * cspi/spi_registry.c:
2582 Added C binding for AT-SPI generateKeyEvent.
2584 * libspi/deviceeventcontroller.c:
2585 Added call to XFilterEvent so that key listener works with XIM (we
2586 hope). Added event_synth_type to generateKeyEvent, so that we can
2587 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2588 synthesize a press/release pair for KeySyms.
2590 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2592 * libspi/Makefile.am:
2593 * registryd/Makefile.am:
2594 (temporary) hack to include libXtst in libspi and registryd.
2595 (Needed for keystroke synthesis, see below).
2598 Improved API for registerKeystrokeListener, in accordance with
2599 discussions with Gnopernicus team and X server research.
2601 * libspi/registry.c:
2602 * libspi/deviceeventcontroller.c:
2603 * libspi/accessible.c:
2604 * libspi/keystrokelistener.c:
2605 Changes and fixes to support keylisteners for potentially
2606 consumed key events (that is, 'passive grabs').
2607 Added implementation for generateKeyEvent() [untested].
2610 Changes to registerKeystrokeListener() API, as above.
2611 Added deregisterGlobalEventListenerAll(), and
2612 deregisterKeystrokeListener(), which are needed for clean exit of
2614 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2615 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2617 * cspi/spi_registry.c:
2618 Added implementations of function prototypes mentioned above.
2620 * registryd/registryd.c:
2621 Added the key listener event source as a g_timeout(), to allow
2622 receipt of key events that are not caught by GDK (since GDK
2623 doesn't support passive keygrabs, this was necessary).
2626 Changed to attach a keylistener to 'Alt' keys, and
2627 respond to the following keycommands: Alt-M (toggle magnifier);
2628 Alt-F (toggle speech); Alt-Q (quit).
2629 Added an exit routine to deregister the listeners, and a key
2630 listener that prints some key info to the console when a key
2631 matches the listener mask (and is thus received by the listener).
2633 * util/idl/Magnifier.idl:
2634 Changes to magnifier API to support multiple zoom regions,
2635 non-uniform scaling in x and y, markDirty, and a host of other
2636 features that would be useful to magnification.
2639 * util/mag_client.c:
2640 * util/mag_client.h:
2641 * util/mag_control.c:
2643 Source code changes to support the above IDL changes.
2646 As above, and also changes to use a (slower) generic conversion
2647 path for colormap conversions, since the fast RGB conversions have been
2648 reported to fail for 16-bit displays.
2650 2001-10-26 Michael Meeks <michael@ximian.com>
2652 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2654 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2656 * at-bridge/Makefile.am: fix LDFLAGS.
2658 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2660 * at-bridge/bridge.c:
2661 Re-worked listeners for toolkit events, now we have signal
2662 and property listeners. Added a private method
2663 register_atk_event_listeners(), which registers with the
2664 various atk and gtk signals we need to monitor in order to emit
2666 Added emission hook for AtkObject:property-change events, to
2667 support the 'property listeners'.
2668 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2671 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2672 which emit warnings and exit, respectively, if CORBA errors occur
2673 during remote calls, and we now use these methods to check most of
2674 our CORBA calls in the C bindings.
2676 * cspi/spi_accessible.c:
2677 Changed AccessibleSelection_refSelectedChild() to
2678 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2679 now increment refcounts.
2681 * cspi/spi_component.c:
2682 Fixed some long pointer casts (dangerous!) to pass pointers to
2683 CORBA_longs of the proper type to the CORBA stubs, and copy the
2684 data into the longs that were passed into the C bindings code.
2686 * at-bridge/bridge.c:
2688 * libspi/accessible.c:
2689 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2690 hyperlinks, AtkHyperlink is an object type.
2692 * libspi/application.c:
2693 Added various conversions to and from "generic" event types and
2694 atk-specific types; this is really part of the 'bridge'
2695 implementation but is valid for all AtkObject-based accessibility
2698 * libspi/editabletext.c:
2699 Fixed nasty bug wherein editable text's finalize method was
2700 unref'ing tha AtkObject reference that the text parent class was
2701 about to unref _again_. There was also a nasty inheritance bug
2702 that meant that the AccessibleEditableText class was corrupt.
2704 * libspi/selection.c:
2705 Provided implementations for some selection API that was broken.
2707 * idl/Application.idl:
2708 Added registerObjectEventListener () method.
2711 Fixed a number of return values that were Bonobo_Unknowns from
2712 bonobo_object_corba_objref(), which I
2713 forgot to dup before returning. Changed instances of
2714 bonobo_object_corba_objref (bonobo_object(o)) to
2715 BONOBO_OBJREF(o), for concision and clarity.
2717 <2001-10-13 Louise Miller <louise.miller@sun.com>
2719 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2720 idl/Event.idl, idl/Registry.idl
2721 Changed these files to include Bonobo_Unknown.idl instead
2724 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2726 * libspi/component.c libspi/component.h:
2727 Fixed typo. Added assertions for object checks in
2728 AccessibleComponent code.
2730 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2732 * idl/Accessible.idl:
2733 Added 'isEqual (Accessible *object)'
2734 method for Accessible. (Not Yet Implemented).
2737 Changed signature of registerKeystrokeListener() to
2738 take a KeySet and KeyEventSeq so that specific keys and event
2739 types could be requested for monitoring, and added a flag
2740 is_synchronous so that either synchronous or asynchronous
2741 notification could be requested. (However this is not all
2742 implemented yet). This also meant adding two new typedefs,
2743 KeyEventSeq and KeySet.
2746 Added two new relations, RELATION_TOOLTIP_FOR and
2747 RELATION_LEAFNODE_OF.
2750 Added new state, STATE_HAS_TOOLTIP.
2752 * libspi/text.c, editabletext.c:
2753 Added new assertions to all casts of bonobo-objects from
2754 CORBA servants, to prevent Text API calls on non-text objects.
2755 Changed suspect casts of int-pointer types, so that we
2756 always send a valid CORBA_long pointer to the CORBA APIs that use
2757 in/out long parameters. We then have to copy from the CORBA_long
2758 into the regular long or int for return to the C bindings, or
2759 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2762 * libspi/deviceeventcontroller.c:
2763 Cleaned these sources up.
2765 Changed return type for getCharacterAtOffset to
2766 CORBA_unsigned_long, to allow for 32-bit characters.
2769 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2773 Fixed 'make dist' so that distro compiles...
2774 * libspi/keymasks.h:
2776 * cspi/spi-listener.c:
2777 KeystrokeListenerCB now returns a boolean.
2779 Added KeyEventType struct, and KeyStroke.
2780 Also added createKeystrokeListener(),
2781 KeystrokeListener_addCallback(),
2782 KeystrokeListener_removeCallback(), and added a keymask to
2783 registerKeystrokeListener().
2784 * cspi/spi_accessible.c:
2785 Changed numerous return types for interfaces from
2786 AccessibleComponent to Accessible<InterfaceName>; this was
2787 probably a cut-and-paste error.
2789 Implementations of new KeystrokeListener api (from spi.h,
2792 Changes to key modifier mapping.
2793 Created ControllerEventMask struct.
2794 Made DeviceEventController derive from Bonobo::Unknown.
2796 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2797 * libspi/deviceeventcontroller.c:
2798 Added a number of new internal (private) methods.
2799 * libspi/editabletext.c:
2800 * libspi/editabletext.h:
2801 Fixed a number of bugs related to the fact that
2802 editabletext inherits from text. Fixed the EditableText struct,
2803 the init() call, and use correct casts when calling Text methods
2804 from an EditableText object. Removed (duplicate) atko from the
2805 EditableText structure, we use the one in the parent Text
2806 structure via the casts mentioned above.
2807 * libspi/keystrokelistener.[ch]:
2808 * libspi/registry.c:
2809 Changes in support of keyboard handling (above).
2811 Keyboard handling, though partly functional, is still not
2812 recommended for at-spi client use as there is considerable
2813 work yet to be done.
2816 Changed some places where pointers to various int types
2817 are cast to be pointers to CORBA_long types and vice-versa:
2818 pointer casting is not safe so we pass pointers of the correct
2819 types and then cast the result before putting it into the target
2822 * libspi/text.h: minor typos corrected.
2824 We now speak not only the name of a Text element, but the
2825 first sentence of its content, when it receives focus.
2826 I also changed the text compression to 75% from 50%.
2827 * util/Accessibility_Util.server.in:
2828 Changed the default magnifier type to be a 3x vertical
2829 splitscreen magnifier (was previously a 2x horizontal one).
2831 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2833 * libspi/keystrokelistener.h:
2834 * libspi/keystrokelistener.c:
2835 Initial functional implementations of KeystrokeListener.
2838 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2840 Fixed string handling for NULL strings in libspi.
2841 Added spi_freeString to free strings returned by C bindings.
2843 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2845 * libspi/keystrokelistener.h:
2846 * libspi/keystrokelistener.c:
2847 Began (no-op) implementations of KeystrokeListener
2849 * libspi/deviceeventcontroller.c:
2850 * libspi/deviceeventcontroller.h:
2851 Began creating implementations of DeviceEventController,
2852 to handle keystroke and mouse event listening and
2854 * libspi/accessible.c:
2855 Stubbed-in the implementations for
2856 Accessibility_Accessible_getState and
2857 Accessibility_Accessible_getRelationSet.
2858 * libspi/registry.c:
2859 Improved de-registration process and fixed some bugs,
2860 deregistration now works correctly.
2862 Added initialization of applications list (to NULL).
2864 Reduced speech compression from 0.5 to 0.7, for demo.
2865 Changed call to gdk_window_set_decorations()
2866 to gtk_window_set_decorated().
2867 * at-bridge/bridge.c:
2868 Bridge now deregisters when app exits, via
2869 registration of a cleanup function
2870 with the g_atexit() call.
2871 Required making 'app' static, renamed 'this_app'.
2872 Fixed broken use of bonobo_init, passing argv wrongly.
2874 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2878 Created a new directory for
2879 accessibility-related utilities, primarily for
2880 testing and demo purposes, but with possible
2887 Onscreen magnifier utility that
2888 is implemented as a bonobo service.
2890 * util/mag_client.c:
2891 * util/mag_client.h:
2892 Client-side support (simple C bindings)
2893 for Magnification service
2895 * util/mag_control.c:
2896 Client program example for
2897 Magnification service
2899 * util/Accessibility_Magnifier.server.in:
2900 Bonobo-activation file for the
2901 Magnification service.
2904 * util/idl/Magnifier.idl:
2905 IDL defining the bonobo Magnification
2909 Modifications to use the bonobo-activated magnifier
2910 above, in place of trying to connect to an existing
2911 magnifier that uses socket-listening IPC.
2913 If env variable MAGNIFIER is set, a magnifier service
2914 will be started if one does not exist.
2916 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2917 * at-bridge/bridge.c:
2918 applied patch from Marc to build and run
2919 against new glib and gtk+ (seemed like a change
2920 to bonobo_init signature was made ?)
2922 made festival-server support turned off by default.
2923 Added support for a simple magnifier (off by default)
2924 which will be added to a 'util' directory later.
2925 * at-bridge/Makefile.am:
2926 Changed "application.h" header from a 'source'
2927 to a 'dependency' of libat-bridge.
2929 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2937 Added interface implementation c files to list of
2938 includes so they are included in libcspi.
2941 Changed prototype of AccessibleAction_doAction to return a
2943 Changed prototype of AccessibleTable_getCaption to
2944 return an Accessible.
2945 Changed prototype of AccessibleTable_getSelectedRows
2946 and AccessibleTable_getSelectedColumns to
2947 return a long (returns the number of selected rows
2948 or columns respectively).
2949 Changed name of AccessibleText_refRunAttributes to
2950 AccessibleText_getAttributes.
2951 Changed prototype of AccessibleText_getCharacterExtents to
2952 return a void rather than a boolean.
2953 Added support for a AccessibleCoordType parameter
2954 specifying what type of coordinates are desired.
2955 Added an AccessibleCordType parameter to
2956 AccessibleText_getPointAtOffset.
2958 * cspi/spi_accessible.c:
2959 Added code to return the outstanding interfaces from
2960 Accessible_queryInterface.
2962 * cspi/spi_action.c:
2964 Corrected call to getNActions to call the c binding
2967 * cspi/spi_editabletext.c:
2969 Changed name from setRunAttributes to setAttributes.
2971 * cspi/spi_hyperlink.c:
2973 Changed call to getNAnchors to correctly call the c
2974 binding for an attribute.
2976 * cspi/spi_hypertext.c:
2978 Changed getImageDescription to correctly call the
2979 binding for an attribute.
2981 * cspi/spi_selection.c:
2982 Changed getNSelectedChildren to correctly call the c
2983 binding for the attribute.
2984 Changed refSelectedChild to getSelectedChild.
2988 Changed getCaption to return an Accessible.
2989 Fixed calls which retrieve attributes.
2990 Changed refAt to getAccessibleAt.
2991 Changed getNSelectedRows and getNSelectedColumns to
2995 Changed getCharacterExtents and getPointAtOffset to accept an
2996 AccessibleCoordType.
2998 Changed calls which retrieve attributes.
2999 Changed refRunAttributes to getAttributes.
3004 * idl/Hyperlink.idl:
3005 Changed n_anchors attribute to nAnchors to keep naming
3006 convention consistent.
3009 Made Table inherit from Bonobo::Unknown.
3010 Added nSelectedColumns and nSelectedRows attributes.
3013 Made Value inherit from Bonobo::Unknown.
3015 * libspi/hyperlink.c:
3016 Change for nAnchors attributte name change.
3018 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3026 Added interface implementation c files to list of
3027 includes so they are included in libcspi.
3030 Changed prototype of AccessibleAction_doAction to return a
3032 Changed prototype of AccessibleTable_getCaption to
3033 return an Accessible.
3034 Changed prototype of AccessibleTable_getSelectedRows
3035 and AccessibleTable_getSelectedColumns to
3036 return a long (returns the number of selected rows
3037 or columns respectively).
3038 Changed name of AccessibleText_refRunAttributes to
3039 AccessibleText_getAttributes.
3040 Changed prototype of AccessibleText_getCharacterExtents to
3041 return a void rather than a boolean.
3042 Added support for a AccessibleCoordType parameter
3043 specifying what type of coordinates are desired.
3044 Added an AccessibleCordType parameter to
3045 AccessibleText_getPointAtOffset.
3047 * cspi/spi_accessible.c:
3048 Added code to return the outstanding interfaces from
3049 Accessible_queryInterface.
3051 * cspi/spi_action.c:
3053 Corrected call to getNActions to call the c binding
3056 * cspi/spi_editabletext.c:
3058 Changed name from setRunAttributes to setAttributes.
3060 * cspi/spi_hyperlink.c:
3062 Changed call to getNAnchors to correctly call the c
3063 binding for an attribute.
3065 * cspi/spi_hypertext.c:
3067 Changed getImageDescription to correctly call the
3068 binding for an attribute.
3070 * cspi/spi_selection.c:
3071 Changed getNSelectedChildren to correctly call the c
3072 binding for the attribute.
3073 Changed refSelectedChild to getSelectedChild.
3077 Changed getCaption to return an Accessible.
3078 Fixed calls which retrieve attributes.
3079 Changed refAt to getAccessibleAt.
3080 Changed getNSelectedRows and getNSelectedColumns to
3084 Changed getCharacterExtents and getPointAtOffset to accept an
3085 AccessibleCoordType.
3087 Changed calls which retrieve attributes.
3088 Changed refRunAttributes to getAttributes.
3093 * idl/Hyperlink.idl:
3094 Changed n_anchors attribute to nAnchors to keep naming
3095 convention consistent.
3098 Made Table inherit from Bonobo::Unknown.
3099 Added nSelectedColumns and nSelectedRows attributes.
3102 Made Value inherit from Bonobo::Unknown.
3104 * libspi/hyperlink.c:
3105 Change for nAnchors attributte name change.
3108 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3110 implementations-- made server implementations own AtkObject pointers
3111 rather than their respective AtkInterrface pointers to fix
3112 refcounting. AtkHyperlink is still broken.
3114 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3115 * cspi/spi_accessible.c:
3116 Added method Accessible_Role_getName(),
3117 and requisite string array (role_names).
3118 Added conversion string_from_corba_strin() call
3119 to Accessible_getName and _getDescription.
3120 * libspi/accessible.c:
3121 Added implementation for Accessible_getRole()
3123 Added festival support, used if environment variable
3126 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3128 * at-bridge/bridge.c:
3129 Now allocate Accessibility_Event using
3130 Accessibility_Event__alloc() instead of g_new0().
3131 * libspi/accessibleeventlistener.c:
3132 Initialize AccessibleEventListener->callbacks to NULL.
3133 Fixed accessible__event_listener_init() param, changed to
3134 "AccessibleEventListener *" type.
3135 Changed a bonobo_object_release_unref() call to
3136 Accessibility_Accessible_unref().
3137 * libspi/listener.c:
3138 Changed Bonobo_Unknown_unref to (equivalent)
3139 Accessibility_Accessible_unref.
3140 * libspi/registry.c:
3141 Changed bonobo_object_release_unref to
3142 Accessibility_Accessible_unref.
3144 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3147 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3148 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3149 spi-util.c spi-util.h
3150 Implementations for C bindings to remaining accessibility
3153 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3156 changed return value of Action from void to boolean to
3157 bring in line with ATK.
3160 Changed getText funcions to return "out" start and end offsets.
3161 Changed getAttributes to take and offset and return the start
3162 and end offset of the attribute run.
3163 Changed getOffsetAtPoint and getCharacterExtents to take an
3164 enum describing whether coordinates are window or screen.
3167 libspi/action.c libspi/action.h libspi/editabletext.c
3168 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3169 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3170 libspi/image.h libspi/selection.c libspi/selection.h
3171 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3172 libspi/value.c libspi/value.h
3173 Added server implementations for outstanding ATK interfaces
3174 not yet implemented.
3176 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3179 Added (missing) getName() method.
3180 Made nActions an attribute.
3181 * idl/EditableText.idl:
3182 Changed order of params in setAttributes.
3183 * idl/Hyperlink.idl:
3184 Removed getAnchor, added getURI.
3186 Changed attributes to methods, for efficiency
3187 (so that getting extents can be done in one call)
3188 * idl/Selection.idl:
3189 Changed nSelectedChildren to attribute, and re-indented.
3190 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3192 * idl/Text.idl: reformatted to match our coding style.
3193 (temporarily?) removed getRowColumnAtOffset().
3194 Changed text selection API to support multi-select and
3195 non-contiguous selections, as in ATK.
3196 * idl/Value.idl: changed some methods to attributes.
3198 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3200 * libspi/listener.c(impl_notify_event):
3201 BonoboUnkown_unref the source instead
3202 of bonobo_object_release_unref - the ORB
3203 handles the releasing.
3205 * configure.in: require ORBit-2.3.94 for
3208 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3210 Tagged CVS repository 'EA_1_0'.
3211 * README.EARLY_ACCESS:
3212 Alphabetized acknowledgements list, and
3214 Listed some known dependencies of at-spi.
3216 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3218 * docs/at-spi-docs.sgml:
3219 * docs/at-spi-sections.txt:
3220 * docs/at-spi-overrides.txt: (Added zero-length file)
3221 Documentation improvements - gtk-doc should build
3222 docs for all implemented C bindings now.
3225 * cspi/spi.c: (New file)
3226 * cspi/spi_event.c: (New file)
3227 * cspi/spi_registry.c: (New file)
3228 * cspi/spi_accessible.c: (New file)
3229 * cspi/spi_application.c: (New file)
3230 * cspi/spi_component.c: (New file)
3231 Split spi_main.c into six parts, and included them from
3232 "spi.c". This is a bit of a hack, probably temporary,
3233 but required by gtk-doc, apparently.
3235 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3238 * docs/at-spi-docs.sgml:
3239 * docs/at-spi-sections.txt:
3241 Initial checkins/modifications for gtk-doc generation.
3244 Added (missing) interface query methods to Accessible's C binding.
3246 Added GenericInterface type definition.
3248 Added query for AccessibleComponent interface to focus event handler.
3249 Added printout of bounding box for focussed component.
3250 * libspi/component.c:
3251 Added partial implementation for AccessibleComponent to C binding.
3252 * idl/Application.idl:
3253 * libspi/registry.c:
3254 * libspi/listener.c:
3255 * libspi/application.c:
3256 * libspi/application.h:
3257 Changed "ID" attribute type from string to long.
3259 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3263 Made method naming consistent: methods taking object args
3264 start with uppercase, other methods (except those using
3265 acronyms) start with lowercase. Underscores delimit between
3266 object names and method names:
3267 SPI_init() - uppercase since it starts with an acronym.
3268 getDesktopCount () - lowercase start since no object param0.
3269 Accessible_getName() - uppercase object type name, studlyCaps method
3273 Added gtk-doc documentation for all currently implemented
3274 methods in the C bindings API.
3276 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3278 * Makefile.am : changed build order to build test last.
3281 Changed "createEventListener" to "CreateEventListener".
3282 * libspi/accessibleeventlistener.c :
3283 Bugfix for addition of callbacks.
3284 * test/Makefile.am :
3285 * test/simple-at.c :
3286 Added new test that uses the C bindings API.
3288 * libspi/listener.c :
3289 * libspi/registry.c :
3290 * libspi/accessibleeventlistener.c :
3291 * at-bridge/bridge.c :
3292 Renamed member "target" of Accessibility_Event to "source",
3293 which is more descriptive.
3296 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3300 * cspi/Makefile.am :
3301 Added makefile support for at-spi/cspi directory.
3304 * cspi/spi-listener.h : (NEW FILE)
3305 Added support for/use of spi-listener.h.
3307 C bindings now build successfully, with no warnings.
3308 * libspi/accessibleeventlistener.h : (NEW FILE)
3309 * libspi/accessibleeventlistener.c : (NEW FILE)
3310 * libspi/Makefile.am :
3311 Added new object type "AccessibleEventListener"
3312 which inherits from Listener, and allows attachment
3313 of in-process callbacks (so that a client with a listening
3314 object instance can add functionality to the local
3315 implementation, dynamically).
3317 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3319 * libspi/accessible.c:
3320 Add implementation for get_index_in_parent().
3322 Added #include of "spi-roletypes.h", and
3323 added enumerated type AccessibleCoordType.
3324 Added definition for KeystrokeListener (function type).
3327 * cspi/spi-statetypes.h :
3328 * cspi/spi-roletypes.h :
3330 Added these headers, used by spi.h.
3332 Added code (NOTE: not yet built by make).
3334 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3336 * libspi/Makefile.am: generate imodule
3337 at the same time as other idl compiler
3340 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3341 * libspi/registry.c :
3342 * libspi/application.c :
3343 * idl/Application.idl :
3344 Made registration with toolkit an application method,
3345 which is required since each app has its own toolkit static
3346 environment. Thus the bridge must register for
3347 notification of toolkit events from each application in turn.
3348 Toolkit notifications are now successfully registered for, and
3349 sent to the listening at client.
3351 Changed toolkit event string to use hyphens rather than underscores.
3352 * libspi/listener.c :
3353 listner now gives more info in debug mode - it reports the
3354 name of the event received, as well as the name of the source.
3357 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3359 * libspi/registry.c :
3360 added more implementation for toolkit events.
3361 Fixed bug such that toolkit event registrations
3362 (via atk) use the whole event name string, not
3364 Removed a useless call to an ORBit_ method.
3365 * at-bridge/bridge.c :
3366 Removed unused local sbuf[] variable.
3368 We now register for Gtk:GtkWidget:button_press_event
3369 events as well as "focus:" events.
3371 Add some more API from Registry.idl that was missing,
3372 for keystroke listening, keystroke and mouse event
3373 synthesis, and enumeration of accessible desktops.
3375 2001-08-16 Michael Meeks <michael@ximian.com>
3377 * configure.in: use AM_GLIB_GNU_GETTEXT.
3379 * Makefile.am (SUBDIRS): kill intl.
3381 2001-08-15 Michael Meeks <michael@ximian.com>
3383 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3385 * configure.in: upd.
3387 * configure.in: depend on a recent bonobo-activation that
3388 will find our server files ...
3390 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3392 * libspi/accessible.c : accessible_new() :
3393 Now we add the Component interface via bonobo_object_add_interface,
3394 if the contained AtkObject implements AtkComponent.
3395 * libspi/accessible.h : now include "component.h"
3396 * libspi/component.h :
3397 * libspi/component.c : added files - implementation of
3398 bonobo wrapper object for Accessibility/Component
3399 * libspi/listener.c :
3400 Added test code to check for Accessibility/Component:1.0
3401 interface and report whether it is implemented by the
3403 * libspi/registry.c :
3404 Now we check for not only the hash of the whole event
3405 string before relaying the event, we also check the
3406 "minor" event string (without the detail string).
3407 This allows event listeners to be registered against
3408 all events of a certain major+minor type, or just
3409 against a specific major+minor+detail type.
3410 * libspi/accessible.c :
3411 Added implementations for Accessible:get_parent(),
3412 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3413 * libspi/registry.c :
3414 * libspi/listener.c :
3415 Replaced calls to Accessibility_Accessible_ref() and
3416 Accessibility_Accessible_unref() with
3417 calls to bonobo_object_dup_ref() and
3418 bonobo_object_release_unref(), so that the CORBA object
3419 is dup-ed and released when relayed, as well as the bonobo object.
3421 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3423 * libspi/Makefile.am,
3424 registryd/Makefile.am,
3425 at-bridge/Makefile.am.
3426 test/Makefile.am, configure.in:
3427 reverse previous changes.
3429 * /idl/Image.idl: fix typo.
3431 * test/Makefile.am: put DEBUG_FLAGS
3434 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3436 * test/app.c: use argv[0] instead of
3439 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3441 * libspi/Makefile.am,
3442 registryd/Makefile.am,
3443 at-bridge/Makefile.am.
3444 test/Makefile.am, configure.in:
3445 cleanup, replace individual LIBS/CFLAGS with
3446 AT_COMMON_{LIBS|CFLAGS}.
3450 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3452 * configure.in, libspi/Makefile.am:
3453 Change IDL path checking for bonobo-activation
3456 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3458 * registryd/registry.c : separated event listeners to use
3459 3 separate lists (focus, window, toolkit). Began testing
3460 event names against hashes before relaying events.
3461 * test/at.c : now register for events of type "focus:"
3462 * test/app.c : now generate events of type "focus:"
3463 * at-bridge/bridge.c : register with ATK for focus events,
3464 and we now relay those focus events to any "focus:" listeners.
3465 This now works with the bridge as a GTK_MODULE when running test/at.
3466 * libspi/registry.c :
3467 * libspi/listener.c :
3468 now we ref event sources before propagating, and unref on receipt.
3469 * libspi/registry.c :
3470 some changes to internal structs, to support event typestring hashes.
3471 * text/app.c : changed the way the appname is generated.
3472 * cspi : added directory that will hold the C bindings library for
3473 non-CORBA/bonobo-savvy clients.
3474 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3475 * idl/Component.idl : added in parameter to indicate coord system for
3476 geometry-related calls.
3477 * idl/Hyperlink.idl : added readonly n_links attribute
3478 * idl/Image.idl : changed methods to attributes.
3480 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3482 * at-bridge/Makefile.am: link against
3483 ../libspi/libspi.la instead of -lspi.
3485 * at-spi/test/app.c: include
3486 bonobo-activation.h. Use a default appname
3487 if one is not provided.
3489 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3491 * idl/Registry.idl : temporarily changed register_Application
3492 to oneway, to work around issue with initial registration
3494 * idl/Application.idl : changed attribute "id" from readonly
3495 to read-write, since it needs to be assigned by Registry.
3496 * registryd/registryd.c : added call to set application id
3498 * registryd/registry.c : changed de-registration procedure to
3499 use CORBA_Object_hash() to find matching object ref in application
3500 lists and listener lists.
3501 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3502 began distinguishing between event types (work in progress).
3504 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3507 * libspi/application.c:
3508 Added implementations for get/set id, get_toolkitName,
3510 * registryd/registryd.c :
3514 Converted from use of OAF to bonobo-activation.
3515 * libspi/desktop.h :
3516 * libspi/desktop.c :
3518 Removed references to atksimpleobject, since base atkobject
3519 implementation now provides functionality we need.
3520 * libspi/atksimpleobject.c :
3521 * libspi/atksimpleobject.h :
3526 * at-bridge/Makefile.am
3527 * at-bridge/bridge.c
3530 Added directory "bridge" and contents, and added dependencies
3531 in Makefile.am/configure.in.
3532 Initial checkin of "at-bridge".
3533 This code is a GTK_MODULE which automatically registers
3534 GTK+ apps with the accessibility registry, using an object
3535 reference to the root ATK object.
3537 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3539 * po/Makefile.in.in: Remove. Again. If this
3540 doesn't get autogenerated - you need to update
3543 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3545 * po/Makefile.in.in: Add. Again.
3547 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3549 * libspi/accessible.c : added support for 'description' property.
3550 * libspi/accessible.c
3552 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3553 (since the two are now equivalent in libbonobo)
3561 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3562 Bonobo::Unknown as does Accessibility::Accessible.
3563 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3564 interface with Bonobo::Stream, since it was redundant with it.
3565 (The Stream returned by a StreamableContext object is expected to
3566 implement only a subset of Bonobo::Stream)
3568 2001-07-28 Anders Carlsson <andersca@gnome.org>
3570 * libspi/accessible.c (accessible_object_finalize): Change
3571 g_free to g_object_unref since the AtkObject is a GObject.
3573 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3575 * idl/Accessibility.idl: add new IDL files
3578 * idl/Action.idl: Definitions of actionable UI object
3579 * idl/Component.idl: Definitions of UI component geometry, etc.
3580 * idl/Hyperlink.idl: Defs of hyperlink behavior
3581 * idl/Image.idl: Def of accessible image
3582 * idl/Selection.idl: Definition of UI object with selectable children
3583 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3584 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3585 * idl/Text.idl: Interface defs for UI elements with complex textual content
3586 * idl/Value.idl: Definition of UI element that is a value controller or display
3588 2001-07-27 Michael Meeks <michael@ximian.com>
3590 * po/Makefile.in.in: remove autogenerated file from CVS.
3592 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3595 * idl/Registry.idl: include guard.
3597 * idl/Accessibility.idl: Add, and include all the other IDL
3600 * idl/*.idl: remove mass of pragmas etc.
3602 2001-07-26 Michael Meeks <michael@ximian.com>
3604 * registryd/Makefile.am (registryd_SOURCES): remove
3607 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3609 * libspi/.cvsignore, registryd/.cvsignore,
3610 test/.cvsignore: updated.
3612 * po/Makefile.in.in: gettext update.
3614 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3616 * initial CVS checkin
3618 2001-06-29 Michael Meeks <michael@ximian.com>
3620 * configure.in: add AM_CONFIG_HEADER to gen config.h