1 2002-03-15 Bill Haneman <bill.haneman@sun.com>
3 * idl/Accessibility_Role.idl:
4 Added ROLE_DRAWING_AREA which seemed to be missing from the
7 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
9 * cspi/spi-roletypes.h cspi/spi_accessible.c
10 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
13 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
14 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
15 AT when applications are added and removed from the desktop. This
16 reverts the previous broken implementation using the backing
17 AtkObject for the SpiDesktop.
19 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
21 * registryd/desktop.c: emit the "children-changed::add" and
22 "children-changed::remove" signals on the backing ATK object for
23 the desktop so AT can tell when applications are started and shut
26 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
28 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
30 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
32 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
34 * cspi/spi_accessible.c: Implemented c bindings for stateset support
36 * cspi/state-types.h: synched with IDL and ATK
38 2002-03-13 Bill Haneman <bill.haneman@sun.com>
41 (impl_accessibility_accessible_get_child_at_index):
42 Change return value for g_return_if_fail ()
43 to CORBA_OBJECT_NIL instead of "0" (!)
45 * registryd/Makefile.am:
46 * registryd/Accessibility_Register.server.in:
47 Changed name of executable, "registryd",
48 to something more informative:
51 2002-03-13 Michael Meeks <michael@ximian.com>
53 * atk-bridge/bridge.c (atk_bridge_init): don't register
54 if we're in a bonobo-component, rather than a bonobo app.
56 2002-03-13 Michael Meeks <michael@ximian.com>
58 * atk-bridge/bridge.c (gtk_module_init): split
59 out body to (atk_bridge_init): here, since otherwise
60 we get symbol conflicts and oddness when invoked
61 from (gnome_accessibility_module_init): here (upd.)
63 2002-03-11 Bill Haneman <bill.haneman@sun.com>
66 New file. Explicitly allow "build sheriff" putbacks provided
67 they are tested on Solaris.
69 * docs/reference/cspi/Makefile.am:
70 Added '-' to the "cp" command for index.sgml.
71 ("patch by thomasvs, soon coming to a GUADEC near you")
74 Incremented version number (0.9.0) for new release.
75 Changed macro that checks for popt, to better detect
76 obsolete versions of popt.
79 Added X_LIBS to AC_SUBST, for applications
80 that call Xlib API directly.
83 2002-03-07 Bill Haneman <bill.haneman@sun.com>
86 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
89 Fix regression caused by hard-coding major
90 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
93 * test/test-simple.c (test_editable_text),
94 (test_test): revert previous change (error was
95 a regression in gail which is now fixed).
97 2002-03-04 Michael Meeks <michael@ximian.com>
99 * test/test-simple.c (test_editable_text),
100 (test_text): pass G_MAXINT instead of '-1' for
101 whole string - is this a good thing !?
103 * cspi/spi_accessible.c
104 (Accessible_getRelationSet): fix crasher bug
105 overwriting the end of the array.
107 * test/test-simple.c (validate_accessible): free,
108 not g_free returned relation set.
110 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
112 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
113 implemented stateset support
115 * idl/Accessibility_State.idl: Made necessary changes to
116 the IDL to support state sets.
118 2002-02-12 Bill Haneman <bill.haneman@sun.com>
120 * registryd/deviceeventcontroller.c:
121 Added implementation for generateMouseEvent.
123 * cspi/spi_registry.c:
124 Connected new implementation for generateMouseEvent
127 2002-02-12 Bill Haneman <bill.haneman@sun.com>
130 Incremented revision (but no change in public API
131 outside of 'utils', which are not installed public yet.)
133 * libspi/component.c:
134 Changed to use atk_component API for layers and
135 mdi_zorder, instead of deprecated atk_object API.
137 Magnification Utility Enhancements:
140 Added implementation of createZoomRegion, clearAllZoomRegions,
141 resizeZoomRegion. Added new commandline argument
142 "--no-initial-region". Note that clearAllZoomRegions doesn't
143 unmap the old '0' region as it should (yet), and the other
144 methods only work when creating/resizing a single region,
146 (Code for multiple region support will be added later.)
149 Now we raise the magnifier window each time it's refreshed;
150 this will help keep it on top.
153 Added simple wrappers for above, used by mag_control.
154 For general use, it's recommended to use the bonobo magnifier
155 control API directly instead of using these wrappers.
158 Moved ZoomRegionData from magnifier.c to this file.
160 * util/mag_control.c:
161 Added some code to exercise new IDL implementations.
163 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
165 * libspi/text.c: Provide implementation for getAttributes.
167 2002-02-04 Bill Haneman <bill.haneman@sun.com>
170 Incremented revision.
172 * test/test-simple.c:
173 Replaced use of deprecated g_main_iteration with
174 g_main_context_iteration.
176 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
179 Incremented revision for desktop alpha 2.
181 2002-01-28 Mark McLoughlin <mark@skynet.ie>
183 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
186 * test/simple-at.c: include netinet/in.h.
188 2002-01-24 Mark McLoughlin <mark@skynet.ie>
190 * cspi/spi_accessible.c: (Accessible_getRelationSet):
191 use NULL, not CORBA_OBJECT_NIL.
193 * libspi/accessible.c:
194 (impl_accessibility_accessible_get_relation_set):
195 allocate the sequence correctly.
197 * libspi/remoteobject.h: kill spi_remote_object_new.
199 * test/test-simple.c: (validate_accessible): add code
200 to test relation sets, now all we need is to figure
201 out how to excercise this code path :/
203 2002-01-18 Michael Meeks <michael@ximian.com>
206 (key_listener_cb): consume the key.
207 (test_keylisteners): update.
208 (main): wait for any pending unrefs on events.
210 * registryd/deviceeventcontroller.c
211 (spi_controller_update_key_grabs): only re-issue the
212 grab on a key release.
213 (spi_device_event_controller_forward_key_event):
214 refresh the keygrabs before we notify the listeners,
215 to reduce the X ungrab / re-grab race.
216 (spi_controller_register_with_devices): remove
217 XSelectInput - we do that with the gdk_window_ call.
218 (_spi_controller_device_error_handler): return a value.
219 s/GDK_DISPLAY/spi_get_display/
221 2002-01-17 Michael Meeks <michael@ximian.com>
223 * registryd/deviceeventcontroller.c
224 (_deregister_keygrab): don't blow out the later
227 * test/test-simple.c (test_keylisteners): do a
228 more intelligent validation.
230 2002-01-14 Michael Meeks <michael@ximian.com>
232 * atk-bridge/bridge.c
233 (gnome_accessibility_module_init),
234 (gnome_accessibility_module_shutdown): impl.
235 (gtk_module_init): protect vs. double inits.
236 (add_signal_listener): impl.
237 (spi_atk_bridge_state_event_listener): kill
238 (deregister_application): split out of
239 (spi_atk_bridge_exit_func): here.
241 2002-01-18 Bill Haneman <bill.haneman@sun.com>
244 Added caret tracking when using magnifier, and
245 now use text bounds for focus tracking of text elements, rather than
246 the component bounds - this is helpful for short text fields in long
247 table cells, at high magnification.
249 2002-01-16 Bill Haneman <bill.haneman@sun.com>
251 * registryd/deviceeventcontroller.c:
252 Regression fix for keylistener de-registration; global keygrabs
253 were not being released when deregisterKeystrokeListener was
254 called in cspi, since
255 Accessibility_DeviceEventController_deregisterKeystrokeListener
256 was called with a zero-length keyset. That is because the cspi
257 method, SPI_deregisterKeystrokeListener, does not take a keyset
258 parameter but instead should remove all the key grabs held be a
260 The code in impl_deregister_keystroke_listener was changed to copy
261 the keylist from the listener instance previously registered with
262 the DeviceEventController before releasing the grabs.
264 * registryd/registry.c:
265 * registryd/deviceeventcontroller.c:
266 * libspi/spi-private.h:
268 Changed spelling of "re-enterant" to "re-entrant" globally.
270 2002-01-16 Bill Haneman <bill.haneman@sun.com>
272 * test/test-simple.c:
273 Changed key listeners test - the test was slightly mis-using the
274 (admittedly poorly documented) SPI_generateKeyboardEvent API.
275 It now uses '=' as the key event listened to and generated,
276 relying on a keysym match rather than assuming that keycode 33
277 is always equal to keysym '!'.
279 2002-01-15 Bill Haneman <bill.haneman@sun.com>
282 Changed simple-at to use a specific keyset, rather than
283 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
284 manager, desktop, etc.
286 2002-01-11 Bill Haneman <bill.haneman@sun.com>
288 * registryd/deviceeventcontroller.c:
289 Replaced standard X error handler with a special handler that
290 is non-fatal for failed keygrabs. This works around
291 problems with keygrab clashes sometimes observed on
293 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
294 mouse handling code as yet).
296 2002-01-11 Bill Haneman <bill.haneman@sun.com>
299 Incremented revision for desktop alpha release.
302 Fixed a couple of the more glaring errors (still not
305 2002-01-11 Michael Meeks <michael@ximian.com>
307 * registryd/deviceeventcontroller.c
308 (spi_device_event_controller_forward_key_event): kill
309 XUngrabKey / XKeyGrab race.
310 (spi_controller_grab_keyboard): rename to
311 (spi_controller_update_key_grabs): this, and deal
312 with incremental adding / removing grabs more
314 (_register_keygrab): ensure we're not pending a remove.
315 (spi_grab_mask_free): impl.
316 (spi_controller_register_global_keygrabs): split out
318 (handle_keygrab): impl.
319 (_deregister_keygrab): impl.
320 (spi_controller_deregister_global_keygrabs): impl.
321 (spi_controller_update_key_grabs): re-issue the grab if
322 we just recieved a notification.
324 * test/test-simple.c (key_listener_cb): remove debug.
326 * registryd/deviceeventcontroller.c
327 (spi_controller_register_device_listener): after
328 registering a global keygrab, actualy register it !
329 don't wait for a timeout; doh !
331 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
332 to make it more readable / manipulable.
333 s/grabmask/grab_mask/ s/refcount/ref_count/
334 s/keyval/key_val/ s/modmask/mod_mask
336 2002-01-08 Michael Meeks <michael@ximian.com>
338 * registryd/deviceeventcontroller.c
339 (spi_controller_register_with_devices): use gdk calls to
341 (global_filter_fn): implement the filter.
342 (spi_device_event_controller_check_key_event): rename to
343 (spi_device_event_controller_forward_key_event): this & upd.
344 (spi_get_display): replace with GDK_DISPLAY.
346 * registryd/deviceeventcontroller.c
347 (spi_controller_deregister_device_listener): unroll into
348 (impl_deregister_keystroke_listener): here to simplify.
349 (spi_controller_register_global_keygrabs): split cut and
350 paste (!) out into (_register_keygrab): here, shorter & sweeter.
351 (spi_controller_deregister_device_listener): remove.
352 (impl_register_mouse_listener): remove, no mouse listener
353 support in at-spi-1.0
355 * registryd/registry.c
356 (_device_event_controller_hook): kill.
357 (spi_registry_init): upd.
359 * registryd/deviceeventcontroller.c
360 (spi_device_event_controller_class_init): upd.
361 (spi_check_key_event): merge into.
362 (spi_device_event_controller_check_key_event):
363 here and kill strange static ev init, don't leak
364 the x_event - nor dynamicaly allocate it.
366 * registryd/registry-main.c (main): re-direct
367 timeout to remove strange vtable mess.
369 * registryd/deviceeventcontroller.c
370 (remove_listener_cb): impl.
371 (spi_controller_deregister_device_listener):
372 fix re-enterancy hazard.
374 2002-01-07 Michael Meeks <michael@ximian.com>
376 * registryd/deviceeventcontroller.c
377 (spi_device_event_controller_new): upd.
378 (impl_notify_listeners_sync): upd. debug.
379 (spi_notify_keylisteners): fix re-enterancy hazards,
380 prettify, remove O(n*n) iteration.
381 (spi_controller_grab_keyboard): fix iteration.
382 (spi_check_key_event): re-format to suit coding style.
383 Clean all the warnings - we're warning free.
385 * registryd/deviceeventcontroller.h:
386 * registryd/registry.h: make mutualy referential with
387 typesafe forward references instead of (!) void pointer
390 2002-01-11 Michael Meeks <michael@ximian.com>
392 * cspi/spi_accessible.c (role_names): add a role name
393 to sync this array with the enum; and make the regression
396 2002-01-10 Michael Meeks <michael@ximian.com>
398 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
399 allow expansion of enumeration & kill warning.
401 * test/test-simple.c (key_listener_cb): impl.
402 (test_keylisteners): impl.
404 * cspi/spi-listener.h: make listener signatures const
405 on the provided (const) events.
407 * test/keysynth-demo.c: upd. to const events.
409 * test/simple-at.c: ditto.
411 2002-01-11 Bill Haneman <bill.haneman@sun.com>
414 Rev the version to 0.5 (the previous tarball was named 0.4,
415 even though the micro number was 3), so we need to rev upwards
416 again for beta2/"desktop-alpha"
419 Checked in a demo script, which requires editing before use!
420 Proceed with caution.
423 Fixed typo in header which was redefining SPI_ACTION_CLASS.
425 * cspi/spi_accessible.c:
426 Add a couple of missing enum initializations, and fix some enum
429 * cspi/spi_registry.c:
430 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
432 * docs/reference/cspi/at-spi-cspi-sections.txt:
433 Remove/fix a couple of broken document references.
436 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
437 as Alt-Control to listen for commands, since on some systems
438 Control-Alt may already be grabbed.
440 2002-01-10 Bill Haneman <bill.haneman@sun.com>
443 Update version number to 0.4 for Beta2.
445 * libspi/accessible.c, libspi/accessible.h:
446 Expose spi_accessible_construct, to enable libgail-gnome
447 construction from spi_accessible subtype.
450 Workaround for bug in some non-gnome-compliant window managers
451 which made magnifier resize improperly.
453 2002-01-09 Bill Haneman <bill.haneman@sun.com>
455 * libspi/accessible.c: (spi_accessible_new) :
456 Move the test for SPI_IS_REMOTE_OBJECT to
457 spi_accessible_new_return, fixing a bug and compile time warning.
459 2002-01-08 Michael Meeks <michael@ximian.com>
461 * registryd/registry.c (parse_event_type): remove strndup.
463 * libspi/Makefile.am (libspi_la_SOURCES): remove
464 sources already included in the headers section.
466 * libspi/util.c: add.
468 * libspi/spi-private.h: add.
470 * registryd/registry.c: update to moved list iterators.
472 2002-01-05 Michael Meeks <michael@ximian.com>
474 * test/simple-at.c (main): upd. auto-module set to atk-bridge
476 * test/test-simple.c (main): ditto.
478 2002-01-04 Michael Meeks <michael@ximian.com>
480 * libspi/accessible.c (spi_accessible_new): remove 2nd,
483 * registryd/registry.c
484 (get_listener_list): impl.
485 (impl_accessibility_registry_register_global_event_listener):
486 re-impl. to simplify using ~, remove dodgy const cast off.
487 (parse_event_type): constify.
488 (impl_accessibility_registry_deregister_global_event_listener_all):
489 re-write, more efficiency and simplicity, kill re-enterancy
491 (compare_listener_corbaref, compare_corba_objects),
492 (compare_listener_quarks): define out.
493 (impl_accessibility_registry_deregister_global_event_listener):
494 re-write for effiency, and nail re-enterancy hazard.
495 (impl_accessibility_registry_get_desktop_list): impl.
496 (re_enterant_list_delete_link): impl.
497 (re_enterant_list_foreach): impl.
498 (remove_listener_cb): impl.
499 (_registry_notify_listeners): kill.
500 (notify_listeners_cb): impl.
502 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
503 (SPI_getDesktopList): impl.
505 * test/test-simple.c (test_desktop): test the methods.
507 2002-01-03 Michael Meeks <michael@ximian.com>
509 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
510 keystrings since we free them
511 (SPI_freeAccessibleKeySet): in here.
513 * libspi/accessible.c (spi_accessible_new): kill warning,
514 wonder what is going on with the constructor here.
516 2002-03-01 Bill Haneman <bill.haneman@sun.com>
518 * libspi/accessible.c (spi_accessible_new ()) :
519 Added check to see if AtkObject is an SpiRemoteObject before
520 creating an SpiAccessible.
522 2002-05-01 Bill Haneman <bill.haneman@sun.com>
524 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
525 Enable keygrabs using the Control modifier, now that they are
526 working properly (they were previously disabled).
529 Change the command keygrab for this demo to "Control+Alt", so as
530 to conflict with fewer other key commands on the system; this
531 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
533 Removed a pointlessly-chatty keylistener for unshifted keys
534 (shifted keys are still reported).
536 2002-02-01 Bill Haneman <bill.haneman@sun.com>
538 * libspi/remoteobject.h:
539 * libspi/remoteobject.c:
540 Added definitions for special AtkObject subtype, required for
541 support of remote components (specifically, used by BonoboControl
542 accessibility implementation).
544 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
546 * cspi/spi.h: synched relation types with ATK
548 * cspi/spi_accessible.c: Added implementations of
549 AcccessibleRelation_* methods
551 * idl/Accessibility_Relation.idl: added getRelationTypeName
552 method. Synched known relation types with ATK. Allowed for
553 relation type extension with the RELATION_EXTENDED type.
555 * libspi/relation.c: Provided implementations for
556 AccessibleRelation methods.
558 2002-01-01 Bill Haneman <bill.haneman@sun.com>
560 API tweaks for today's API 'freeze'.
563 Added placeholder functions to allow future compatible expansion
564 of the IDL interfaces.
566 * idl/Accessibility_Registry.idl:
567 Changed generateKeyEvent to generateKeyboardEvent. Changed
568 signature of this method to accept an optional keystring in
569 parameter (for complex text input synthesis) and changed use of
570 simple 'boolean' parameter in registerKeystrokeListener to a
571 struct, EventListenerMode.
573 * cspi/spi_accessible.c:
575 * cspi/spi_streamablecontent.c:
576 Added references to AccessibleStreamableContent interface, and
577 definition and implementation of AccessibleStreamableContent
580 * cspi/spi_registry.c:
582 Changed generateKeyEvent API to generateKeyboardEvent,
583 taking a new (optional) keystring parameter to support complex
588 Renamed directory (to better reflect its actual purpose, bridging
589 from at-spi to ATK). The .so module is also now named
592 * idl/Accessibility_Hypertext.idl:
593 * libspi/accessible.c:
594 * libspi/hypertext.h:
595 * libspi/hypertext.c:
596 Changed Accessibility_Hypertext to *not* derive from
599 * cspi/spi_registry.c:
600 Added list of legal event type names for 'window' events, which
601 completes the registry event API.
603 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
605 * at-bridge/bridge.c: Added registration for separate
606 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
607 signals. If either of the first two parameters to the generic
608 bridge signal handler are ints, they are passed on as event
609 details. This allows an AT to determine what text was inserted.
611 2001-12-21 Bill Haneman <bill.haneman@sun.com>
613 * registryd/deviceeventcontroller.c:
614 Fixed regressions in generateKeyEvent caused by the removal of
615 gdk_init from registryd; we now use pure X calls to connect to the
616 display, which makes sense because deviceeventcontroller already
617 uses a fair bit of X API (should eventually be migrated to a
618 'portability layer').
620 * registryd/desktop.c:
621 Fixed minor regression in spi_desktop_init, changed the way the
622 desktop name is being set to work with new spi_base API
623 (gobject-based, rather than AtkObject-based).
625 * registryd/Makefile.am:
626 Minor revision of makefile to use XTST_LIBS variable rather than
627 hard-wiring the Xtst LD_ADD element.
629 * test/keysynth-demo.c:
630 Tweaked an output message; added initialization of the
631 'keystrings' member of the "switch listener" key_set.
634 Squashed compile-time warning.
636 * libspi/accessible.c:
637 Cosmetic and formatting fixes, renamed a static method.
639 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
641 * libspi/accessible.c
643 * libspi/application.c
647 * libspi/editabletext.c
655 * registryd/desktop.c:
656 Changed SpiBase to contain a GObject pointer rather than an AtkObject
658 2001-12-17 Bill Haneman <bill.haneman@sun.com>
660 * idl/Accessibility_Registry.idl:
661 Added boolean member 'is_text' to DeviceEvent. This is for the
662 use of key events, and helps prevent ambiguity between composed
663 key strings and keysym names, since both may potentially be
664 returned in the 'event_string' member.
666 * at-bridge/bridge.c:
667 * registryd/deviceeventcontroller.c:
668 Use the 'is_text' member when notifying device event listeners.
669 Knon issue: composed characters are not dealt with correctly by
670 the global key listener implementation yet.
672 2001-12-17 Bill Haneman <bill.haneman@sun.com>
674 * at-bridge/bridge.c:
675 Namespaced local static methods to spi_atk_bridge_* where
676 previously named bridge_*, and spi_* elsewhere.
678 * at-bridge/bridge.c:
679 * cspi/bonobo/cspi-bonobo-listener.c:
680 Added demarshalling/conversion for string member of
681 Accessibility_DeviceEvent to AccessibleKeystroke.
683 * registryd/deviceeventcontroller.c:
684 Added code to fill the Accessibility_DeviceEvent key string value
685 member for global key events (i.e. from XGrabKey), to match
686 behavior of Accessibility_DeviceEvent from the toolkit key events
687 from the bridge. Fixed timestamp in global key event notifications.
690 Added printout of key event's string value to
691 report_ordinary_key_event, for demo/debugging purposes.
693 2001-12-15 Bill Haneman <bill.haneman@sun.com>
695 * idl/Accessibility_Registry.idl:
696 Removed Accessibility_KeyStroke structure in favor of generic
697 Accessibility_DeviceEvent structure.
698 Changed Accessibility_ControllerEventMask from a struct to an
701 * at-bridge/bridge.c:
702 Changed APIs to use DeviceEvent structure as above, and removed
703 bogus casting between these event structures.
705 * cspi/spi-listener.h:
706 Added keystring member of AccessibleKeystroke structure, to enable
707 matching on event "names" rather than only hardware codes and
711 Added keystrings member of AccessibleKeySet struct, to allow
712 matching on event names (as above).
713 Added declarations for SPI_createAccessibleKeySet and
714 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
715 event modmasks directly as unsigned ints rather than structs with
716 refcounts, in the DeviceEventController methods.
718 * cspi/spi_registry.c:
719 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
721 * cspi/spi-roletypes.h:
722 Added documentation of newly added SPI Roles.
724 * cspi/bonobo/cspi-bonobo-listener.c:
725 Changes in support of API changes above.
727 * libspi/accessible.c:
728 Converted APIs to use DeviceEvent structure (see IDL changes
731 * registryd/deviceeventcontroller.c:
732 Added DEControllerGrabMask structure to track keygrabs not only by
733 modmask but by keyset as well; this allows us to do "global"
734 (i.e. X) keygrabs on a per-key or keyset basis rather than always
735 grabbing on AnyKey and then filtering after-the-fact.
736 Bugfixes for event filtration mean that we don't get false matches
737 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
739 * registryd/deviceeventcontroller.c:
740 Namespaced a number of static methods to use spi_ prefix. Major
741 revision to internals of global (i.e. X) key grabs.
743 * registryd/deviceeventcontroller.h:
744 Removed keymask_list and added keygrabs_list to
745 SpiDeviceEventController struct.
748 Added use of SPI_createAccessibleKeySet API when creating a
749 listener for only one key. Attach a listener to "shift spacebar
750 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
751 X key event names to SPI key event names, so that listeners are
752 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
754 * test/keysynth-demo.c:
755 Changed (incorrect) use of X key event names (KeyPressed,
756 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
759 2001-12-12 Bill Haneman <bill.haneman@sun.com>
761 * libspi/accessible.c:
762 Convert all AtkRole enumerations to Accessibility_Role enums when
763 getting a role from an AtkObject.
765 * cspi/spi_accessible.c:
766 Complete the conversion of Accessibility_Role enums at runtime to
767 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
768 role enums correctly match those given in spi-roletypes.h.
769 Re-synchronize the local names list for AccessibleRole_getName ().
770 AccessibleRole_getName is now deprecated, since it duplicates the
771 more reliable Accessible_getRoleName.
772 Added some role types from Accessibility_Role.idl.
774 * idl/Accessibility_Role.idl:
775 Added some role types used by AtkRole.
777 2001-12-12 Bill Haneman <bill.haneman@sun.com>
780 * cspi/spi_registry.c:
782 * cspi/cspi-bonobo-listener.c:
783 Namespaced all methods that did not begin with an "SPI_" or
784 "Accessible" prefix to "SPI_".
787 Homogenized internal function namespace to "cspi_" for statics.
790 Patched tests to use the new CSPI API.
792 * docs/reference/cspi/at-spi-cspi-sections.txt:
793 Updated docs to reflect namespace changes, and added a number of
794 methods to the documentation.
796 * registryd/registry.c:
797 Changed use of strings and string hashes in listener event
798 matching and parse_event_string to use GQuark, which is guaranteed
801 * registryd/registry.h:
802 Squashed annoying warning.
804 * idl/Accessibility_Role.idl:
805 Extended range of available Accessibility_Role values.
807 * cspi/spi_accessible.c:
808 Re-ordered role names.
810 2001-12-12 Bill Haneman <bill.haneman@sun.com>
812 * idl/Accessibility_Value.idl:
813 Revert use of union back to CORBA_double, since the double type is
814 more efficient and can contain the other types without loss of
817 * idl/Accessibility_Accessible.idl:
818 Added method Accessibility:Accessible:getRoleName, to complement
819 Accessibility:Accessible:getRole.
821 * cspi/spi_accessible.c:
823 Added C binding for above, Accessible_getRoleName (), and changed
824 signature of Accessible_getRole () to return an AccessibleRole.
826 * cspi/spi-roletypes.h:
827 Changed AccessibleRole_getName to return a char * instead of a
828 const char *. This method is now at least temporarily deprecated
829 in favor of asking Accessibles for their RoleNames directly.
832 Revert to match Accessibility_Value.idl;
836 Change signature of AccessibleValue methods to use double rather
840 * cspi/spi_accessible.c:
841 Changed Accessible_getRole to return an AccessibleRole enum rather
842 than a UTF-8 string. The UTF-8 string can still be obtained via
843 AccessibleRole_getName ().
845 * test/test-simple.c:
846 Add test_action. Small fixup to match API change to Accessible_getRole.
849 Bugfix for get_action_from_servant ().
851 2001-12-11 Michael Meeks <michael@ximian.com>
853 * libspi/libspi.h: remove registry.h and
854 desktop.h, deviceeventcontroller.h
856 * libspi/Makefile.am: remove registry.[ch],
857 desktop.[ch], deviceeventcontroller.[ch]
859 * registryd/Makefile.am: add registry.[ch],
860 desktop.[ch], rename registryd.c to registry-main.c.
861 add deviceeventcontroller.[ch]
863 2001-12-11 Bill Haneman <bill.haneman@sun.com>
866 Replace setenv() call with putenv ().
868 * libspi/component.c:
869 Bugfix in AccessibleComponent_getExtents (),
872 2001-12-11 Michael Meeks <michael@ximian.com>
874 * libspi/image.c (impl_getImageExtents): impl.
875 (spi_image_class_init): upd.
878 (AccessibleImage_getImageDescription): fix daft bug
881 * test/test-simple.c (global_listener_cb): update
882 to only quit if not --poke
883 (main): catch --poke.
884 (validate_accessible): upd. dumping, call test_image
887 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
890 * idl/Accessibility.idl: update all IDL includes.
892 * idl/*.idl - rename to namespace - this sucks, blame
893 mjs' bad decision for oafd.
895 * test/test-simple.c (create_test_window): add more tests.
896 (create_tree): split this out.
897 (validate_accessible): bugfix.
899 2001-12-11 Michael Meeks <michael@ximian.com>
901 * cspi/bonobo/cspi-bonobo-listener.c:
902 (cspi_kestroke_listener_unref),
903 (cspi_event_listener_unref): impl. undoing previous
904 homenous environment - for Bill.
906 * cspi/spi_table.c (long_seq_to_array): use
909 * cspi/spi_main.c: split out all bonoboish bits into
912 * cspi/spi-impl.h: upd. typedefs.
914 * cspi/spi_registry.c: update to lowlevel API,
915 return booleans to indicate success in some places.
917 * cspi/spi_event.c: update to lowlevel API.
919 * cspi/bonobo/Makefile.am: add.
921 * cspi/bonobo/cspi-lowlevel.h: add
923 * cspi/bonobo/cspi-bonobo.c: add
925 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
927 * cspi/Makefile.am: remove spi-listener-impl.[ch],
928 (SUBDIRS): add bonobo, link in the libs.
930 * cspi/spi-util.c: kill this file.
932 * TODO: merge in my bits.
934 2001-12-11 Michael Meeks <michael@ximian.com>
936 * test/test-simple.c (test_value, test_table, main):
937 remove unused variables causing warnings.
939 * configure.in: cleanup checks - require gail.
941 2001-12-11 Bill Haneman <bill.haneman@sun.com>
944 Changed Value interface to use SValue (scalars) rather than
945 assuming all values are floats. This allows floats, doubles,
946 longs, shorts, and unsigned values to be manipulated.
947 Introduced Accessibility:SValue union.
950 Updated to use new API above, and to work correctly with GValues
951 of different types in AtkValue.
954 Updated to use new API above. cspi's API is as yet unchanged.
957 Updated the Value revision action item.
959 2001-12-10 Bill Haneman <bill.haneman@sun.com>
961 * test/test-simple.c:
962 Added test_table (GtkTreeView widget in test window to follow).
963 Un-commented test_value, added GtkRange widget.
964 Added GtkTreeView widget with GtkListStore. It passes regression
965 test but leaks one SPI object for some reason.
968 Fixed bug in impl__set_currentValue.
970 2001-12-10 Michael Meeks <michael@ximian.com>
972 * cspi/spi_text.c: audit for exception handling,
973 tolerating NULL object references safely etc.
975 * cspi/spi_value.c: ditto.
977 * cspi/spi_table.c (AccessibleTable_getSummary),
978 (AccessibleTable_getAccessibleAt),
979 (AccessibleTable_getRowHeader),
980 (AccessibleTable_getColumnHeader),
981 (AccessibleTable_getCaption): fix bugs hidden by
983 (long_seq_to_array): impl.
984 (AccessibleTable_getSelectedRows),
985 (AccessibleTable_getSelectedColumns): use it.
987 2001-12-10 Bill Haneman <bill.haneman@sun.com>
990 Added a TODO list (rough and short for now).
992 * cspi/spi_hyperlink.c:
993 * cspi/spi_hypertext.c:
994 Fixed macro name typos, and remove use of obsolete macro in
995 AccessibleHyperlink_getLink.
998 * cspi/spi_accessible.c:
999 * cspi/spi_application.c:
1000 * cspi/spi_component.c:
1001 * cspi/spi_selection.c:
1004 Documentation fixes (removed return values from ref/unref methods).
1006 2001-12-10 Michael Meeks <michael@ximian.com>
1008 * cspi/spi_action.c: audit for exception handling,
1009 tolerating NULL object references safely etc.
1011 * cspi/spi_accessible.c: ditto.
1013 * cspi/spi_component.c: ditto.
1015 * cspi/spi_editabletext.c: ditto.
1017 * cspi/spi_hyperlink.c: ditto.
1019 * cspi/spi_hypertext.c: ditto.
1021 * cspi/spi_image.c: ditto.
1023 * cspi/spi_selection.c: ditto.
1025 2001-12-10 Michael Meeks <michael@ximian.com>
1027 * configure.in: use cspi/libspi.pc.in instead.
1029 * Makefile.am (pkgconfig_DATA): upd. to match.
1031 * test/simple-at.c (report_focus_event): kill hacks around
1032 bad return values, use putenv not setenv
1034 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1035 fire ChildGone - I killed it.
1037 * libspi/component.c
1038 (impl_accessibility_component_get_extents): remove
1041 * idl/Accessible.idl: kill ChildGone exception.
1043 * cspi/*.[ch]: kill int return from ref / unref.
1045 * cspi/spi_main.c (cspi_object_add_check): fold into
1046 (cspi_object_add): here.
1048 * cspi/spi_component.c (AccessibleComponent_getExtents):
1049 handle exceptions elegantly.
1051 * cspi/spi-private.h (cspi_check_ev_return),
1052 (cspi_return_if_fail): impl.
1054 * cspi/spi_accessible.c: use extensively.
1055 (AccessibleStateSet_equals): add direct compare check.
1057 * cspi/spi_selection.c: tolerate NULL objs, and check
1058 exceptions before return.
1060 * cspi/spi-util.c (cspi_warn_ev): rename to
1061 (cspi_check_ev): this & don't pass ev in; no point.
1063 2001-12-10 Michael Meeks <michael@ximian.com>
1065 * test/test-simple.c: use putenv not setenv
1066 (get_environment_vars): more chatty if you're not using
1069 * test/simple-at.c: do the setenv so more people see the
1072 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1074 * libspi/registry.c:
1075 Changed check of CORBA_environment on notification to be a warning
1076 instead of an error for the moment, since we can recover from this
1077 error when caused by a queued notification from a dead app.
1080 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1081 used by all current implementors of AtkValue), and coerce to
1082 CORBA_float. (Proper general case fix may require change to Value.idl).
1084 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1088 * cspi/spi_accessible.c:
1089 Documentation fixes: added user_data params to documentation for
1090 listeners and callbacks.
1092 * cspi/spi_accessible.c:
1093 Changed AccessibleStateSet_compare to return a
1094 StateSet rather than return the difference set into a third parameter.
1097 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1100 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1101 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1105 Remove subdirectory po from SUBDIRS for now.
1107 * at-bridge/bridge.c:
1108 Beefed up a couple of debug printouts.
1109 One-line fix for signal notification name formatting.
1111 * libspi/accessible.c:
1112 Added assertion to spi_accessible_new ().
1114 * libspi/application.c:
1115 Put #ifdef qualifiers around a printf.
1118 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1120 * registryd/Makefile.am:
1122 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1123 INTLTOOL_SERVER_RULE macro.
1126 Added an event listener for several ATK signals, for
1127 testing and debugging. Removed a few g_warnings.
1128 Added test output if focussed item implements the Value interface.
1130 * test/test-simple.c:
1131 Added test_value () function (known not to pass at the moment, so
1132 not actually called yet.
1134 2001-12-08 Michael Meeks <michael@ximian.com>
1136 * at-bridge/bridge.c (bridge_focus_tracker),
1137 (emit_eventv): fix the same ref. leak.
1138 (register_atk_event_listeners): don't leak.
1140 * cspi/spi-listener-impl.c (cspi_event): more
1141 protection from client code.
1143 * test/test-simple.c (test_desktop): unref the app.
1145 * test/Makefile.am: upd. TESTS.
1147 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1149 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1151 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1153 * cspi/spi_registry.c: constify in strings.
1154 (deregisterGlobalEventListenerAll): don't release the ref.
1156 * cspi/spi.h: start removing redundant / conflicting
1157 gtkdoc comments, making the API readable at a glance :-)
1159 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1161 * test/keysynth-demo.c (keysynth_exit, main): upd.
1163 * test/simple-at.c (main, simple_at_exit): upd.
1165 * test/test-simple.c (unutterable_horror): kill.
1166 (utterable_normal_derefs): kill.
1167 (main): upd & do a setenv before gtk_init, so that we
1168 can use memprof - and to save the pain of remembering
1169 this, if we're running under memprof - don't exit.
1171 * cspi/spi_main.c (SPI_exit): return exit status
1173 (SPI_event_quit): impl.
1174 (SPI_event_main): simplify.
1175 (cspi_is_gnome_app): kill.
1176 (SPI_init): kill isGNOMEapp arg.
1178 * at-bridge/bridge.c (register_atk_event_listeners):
1179 re-instate the unref.
1180 (bridge_exit_func): don't re-activate the registry,
1181 protect vs. theoretical re-entry, use the
1182 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1183 assert a clean shutdown - for regression tests.
1185 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1187 * configure.in: Comment out dummy i18n support for now,
1188 otherwise it fails to build.
1189 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1190 EXTRA_DIST. They are missing in tarball.
1192 2001-12-07 Michael Meeks <michael@ximian.com>
1194 * util/magnifier.c: kill bonobo activation reg. race.
1196 * libspi/component.c
1197 (impl_accessibility_component_get_extents): make it match
1200 * libspi/registry.c (_registry_notify_listeners):
1201 re-remove X headers & reconcile conflicts.
1202 (spi_listener_struct_free): bad conflict resolve.
1203 (impl_accessibility_registry_register_application):
1204 more bad merging fixed.
1205 (impl_accessibility_registry_deregister_application): ditto.
1206 (spi_registry_new): ditto.
1207 (spi_registry_init): don't have an applications field.
1209 [ merge fixups2 branch to here ]
1210 2001-12-07 Michael Meeks <michael@ximian.com>
1212 * test/simple-at.c (report_focus_event),
1213 (report_focussed_accessible): remove g_warning debug.
1215 2001-12-07 Michael Meeks <michael@ximian.com>
1217 * test/test-simple.c (validate_tree): comment out some checks.
1218 (test_desktop): app now not registered idly - horay.
1220 2001-12-07 Michael Meeks <michael@ximian.com>
1222 * cspi/spi_registry.c
1223 (registerAccessibleKeystrokeListener): clean, stop it leaking
1224 great swathes of memory, and device event controller references.
1225 ensure we always pass valid sequences.
1226 (deregisterAccessibleKeystrokeListener): ditto.
1227 (generateKeyEvent): upd.
1229 * at-bridge/bridge.c (bridge_key_listener): handle
1230 registry dead exception gracefully.
1231 (bridge_focus_tracker, emit_eventv): free ev.
1233 * test/simple-at.c (report_focus_event): fix polarity.
1235 * libspi/application.c (notify_listeners): kill the ev
1236 argument, and make sure we init the ev we use.
1237 (spi_application_object_event_listener): split out a chunk
1238 (get_atk_object_ref): here & fixup.
1239 (reverse_lookup_name_for_toolkit_event): make const.
1240 (spi_application_toolkit_event_listener): fixup, kill leaks
1243 * at-bridge/bridge.c (register_atk_event_listeners):
1244 don't unref the noop object - causes grief.
1246 * libspi/registry.c: remove the X headers.
1247 turn off the debug churn.
1249 * libspi/accessible.c (spi_accessible_new_return): only
1250 release the ref if we are supposed to [doh]
1252 * test/simple-at.c (report_button_press, report_focus_event):
1253 guard vs. unexpected exit.
1255 * at-bridge/bridge.c (gtk_module_init): prune printf.
1256 (bridge_exit_func): fix app unref.
1258 * libspi/Makefile.am: don't install registry or desktop.h
1260 * libspi/*.h: update includes.
1262 * libspi/application.h: don't include ourself, or
1263 other redundant headers.
1265 2001-12-06 Michael Meeks <michael@ximian.com>
1267 * libspi/accessible.c
1268 (get_accessible_from_servant): impl.
1269 Upd. all CORBA impl.s to use it killing cut and paste.
1271 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1273 (SPI_init): register atexit cleanup handler here.
1275 2001-12-06 Michael Meeks <michael@ximian.com>
1277 * at-bridge/bridge.c (gtk_module_init): g_error on
1278 activation exception
1280 2001-12-06 Michael Meeks <michael@ximian.com>
1282 * at-bridge/bridge.c (gtk_module_init): some sort of
1283 confusing merge clash - reverted.
1284 (bridge_idle_init): ditto.
1286 * test/test-simple.c (main, utterable_normal_derefs):
1287 merge from Bill - somehow not committed.
1289 2001-12-06 Michael Meeks <michael@ximian.com>
1291 * libspi/value.c (spi_value_class_init): upd.
1292 (spi_value_finalize): kill.
1294 * libspi/table.c (spi_table_finalize): kill.
1295 (spi_table_interface_new): upd.
1296 (spi_table_class_init): upd.
1297 (get_table_from_servant): impl.
1298 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1300 * libspi/selection.c (spi_selection_finalize): kill.
1301 (spi_selection_interface_new): upd.
1302 (spi_selection_class_init): upd.
1303 (get_selection_from_servant): impl.
1304 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1306 * libspi/relation.c (spi_relation_finalize): kill.
1307 (spi_relation_class_init, spi_relation_new): upd
1309 * libspi/image.c (spi_image_finalize): kill.
1310 (spi_image_class_init): upd.
1311 (spi_image_interface_new): upd.
1312 (get_image_from_servant): impl.
1313 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1315 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1316 (spi_hyperlink_finalize): kill.
1317 (spi_hyperlink_new): upd.
1318 (get_hyperlink_from_servant): impl.
1319 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1321 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1322 (spi_hypertext_finalize): kill.
1323 (spi_hypertext_class_init): upd.
1324 (get_hypertext_from_servant): impl.
1325 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1327 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1328 (spi_editable_text_interface_new): upd.
1329 (get_editable_text_from_servant): impl.
1330 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1332 * libspi/text.c (get_text_from_servant): impl.
1333 All impls - update to use it killing more cut and paste,
1334 also fix bad string returns on duff args ( a somewhat
1335 impossible case to handle - but hey ).
1336 (spi_text_construct): impl.
1337 (spi_text_interface_new): upd.
1338 (spi_text_object_finalize): kill.
1340 * libspi/component.c
1341 (accessibility_component_object_finalize): kill.
1342 (spi_component_class_init): upd.
1343 (get_component_from_servant): impl. helper to kill cut & paste.
1344 (impl_accessibility_component_contains):
1345 (impl_accessibility_component_get_accessible_at_point):
1346 (impl_accessibility_component_get_position):
1347 (impl_accessibility_component_get_extents):
1348 (impl_accessibility_component_get_mdi_z_order):
1349 (impl_accessibility_component_get_layer):
1350 (spi_component_interface_new): upd.
1352 * libspi/action.c (spi_action_finalize): kill.
1353 (spi_action_class_init): upd. inherit from SpiObject.
1354 (spi_action_interface_new): upd.
1355 (get_action_from_servant): impl. helper to reduce cut & paste.
1356 (impl_getKeyBinding, impl_getName, impl_doAction),
1357 (impl_getDescription): Use it everywhere.
1359 * cspi/spi_main.c (get_live_refs): a pointer hash.
1360 (spi_object_hash, spi_object_equal): comment out.
1361 There are issues with CORBA object hashing that need
1364 * libspi/application.c (spi_application_init),
1365 (spi_application_new): upd.
1367 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1368 (spi_accessible_class_init): upd.
1369 s/accessible/object/ in epv methods.
1371 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1373 * at-bridge/bridge.c:
1374 Reorder the bridge initialization into the bridge gtk_module_init,
1375 an immediate call to bridge_register_app, and an idle_add for
1376 register_atk_event_listeners (the only code that *must* wait until
1377 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1378 the activation, creates the application's Accessible object, and
1379 queues the bridge_idle_init function. Restored call to
1380 Accessibility_Registry_deregisterApplication().
1381 Prior to making this call we obtain a new reference to the
1382 registry, which is a temporary hack that helps us handle apps that
1383 shut down the bonobo mainloop before we get there.
1385 * libspi/registry.c:
1386 Fix string leakage in debug block, and don't segv if a an app
1387 dies before its event notifications have been propagated.
1390 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1391 as stopgap measure until we get proper exception handling when
1392 objects die during or before interrogation.
1396 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1397 Also changed default value of is_gnome_app to TRUE.
1400 * test/keysynth-demo.c:
1401 Changed use of SPI_init and SPI_event_main to reflect API change above.
1404 Made report_focus_event check the warning value from getName
1405 before reporting on focussed accessible; simplifies handling of
1406 notifications from dead objects.
1408 * test/test-simple.c: (Changes not in this patch since source is
1411 2001-12-05 Michael Meeks <michael@ximian.com>
1413 * registryd/registryd.c (main): protect against
1414 bonobo-activation startup race condition.
1416 * cspi/spi_main.c (cspi_object_add_check): cope
1417 with the exception elegantly.
1419 * idl/Accessible.idl: decl. ChildGone
1421 * libspi/desktop.c (spi_desktop_dispose): impl.
1422 (spi_desktop_class_init): upd.
1423 (spi_desktop_add_application),
1424 (spi_desktop_remove_application),
1425 (abnormal_application_termination): impl.
1426 (impl_desktop_get_child_at_index): re-impl.
1429 (impl_accessibility_registry_deregister_application),
1430 (impl_accessibility_registry_register_application):
1431 kill excessive debug clutter.
1433 * test/test-simple.c (test_misc): test some NULL
1434 tolerance. (main): upd.
1436 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1437 implements no interfaces - so let's not crash.
1439 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1441 * libspi/accessible.c (spi_accessible_new_return): impl.
1442 helper to calm the cut and paste, to cope with
1443 NULL AtkObjects effectively and efficiently, and to kill
1444 the referencing bugs.
1446 * libspi/table.c (impl_getAccessibleAt),
1447 (impl_getRowHeader, impl_getColumnHeader): upd.
1449 * libspi/hyperlink.c (impl_getObject): upd.
1451 * libspi/accessible.c
1452 (impl_accessibility_accessible_get_child_at_index): upd.
1454 * libspi/component.c
1455 (impl_accessibility_component_get_accessible_at_point): upd.
1457 * test/test-simple.c (test_editable_text, test_text): impl.
1460 * cspi/spi_editabletext.c
1461 (AccessibleEditableText_insertText): constify.
1463 * test/test-simple.c (focus_me): make more robust.
1465 * libspi/accessible.c: remove some printfs in methods that
1466 we test and work fine, so we can get a clean tree dump.
1468 * test/test-simple.c (validate_accessible),
1469 (validate_tree): make tree dumping pretty too.
1471 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1472 it builds without debug on.
1474 * test/test-simple.c (validate_accessible): fix the most
1477 * cspi/spi_main.c (spi_object_release): leave the nicely
1478 blanked memory around if in debug mode.
1480 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1482 [committed to fixups2]
1483 2001-12-05 Michael Meeks <michael@ximian.com>
1485 * libspi/editabletext.c
1486 (spi_editable_text_class_init): g_type_class_peek_parent,
1487 not interface peek - so we finalize cleanly.
1489 * libspi/accessible.c (spi_accessible_new): kill debug.
1491 * test/test-simple.c (validate_accessible): fix ref.
1492 leak, print strings before freeing them; sigh, comment a
1493 chunk out due to strangeness.
1494 (validate_tree): unref the child after use.
1496 * cspi/spi_component.c (AccessibleComponent_getLayer):
1497 add missing break statement, switch on zlayer not the
1498 uninitialized retval.
1500 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1501 before (possibly re-entering) remote unref.
1503 * test/simple-at.c (main): unref the desktop.
1505 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1508 * cspi/spi_main.c (cspi_accessible_is_a): here to
1509 isolate bonobo API usage more.
1511 * libspi/registry.c (impl_accessibility_registry_register_application):
1512 prune bogus comment.
1514 2001-12-04 Michael Meeks <michael@ximian.com>
1516 * test/test-simple.c (validate_tree): upd.
1517 IndexInParent check to make it more lucid.
1518 (validate_accessible): dump the tree.
1520 * libspi/accessible.c (de_register_public_ref),
1521 (get_public_refs): impl.
1522 (spi_accessible_new): make more efficient & intuitive.
1523 Now IndexInParent check works.
1525 2001-12-04 Michael Meeks <michael@ximian.com>
1527 * cspi/spi-util.h: remove.
1529 * cspi/spi.h: move SPI_freeString here
1531 * libspi/component.c (impl_accessibility_component_get_layer):
1533 (impl_accessibility_component_get_mdi_z_order): ditto,
1534 return -1 on error - is this ok ?
1536 * test/test-simple.c (test_application): impl.
1538 * cspi/spi_accessible.c (Accessible_getApplication),
1539 (Accessible_isApplication): impl.
1541 * libspi/registry.c (spi_listener_struct_free): release
1542 the CORBA reference too.
1544 * libspi/accessible.c
1545 (impl_accessibility_accessible_get_parent): fix ref leak.
1547 * libspi/registry.c (spi_registry_new): make the registry
1548 immortal - we don't want it to go away ever.
1550 * libspi/application.c
1551 (spi_accessible_application_finalize): impl. cleanup.
1553 * cspi/spi_registry.c
1554 (deregisterGlobalEventListenerAll),
1555 (deregisterGlobalEventListener),
1556 (deregisterAccessibleKeystrokeListener): fix ref leak.
1558 * cspi/spi_main.c (SPI_init): remove redundant ref.
1560 * test/test-simple.c (unutterable_horror): impl. to force a
1565 (impl_accessibility_registry_deregister_application): release
1566 the application when we de-register it.
1568 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1569 until we have the infastructure to get it right.
1571 2001-12-03 Michael Meeks <michael@ximian.com>
1573 * libspi/Makefile.am: only build eventlistener.[ch]
1575 * libspi/accessible.c
1576 (impl_accessibility_accessible_get_child_at_index): don't leak.
1578 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1579 before we hit the idle handler.
1581 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1582 debugging than exit.
1584 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1586 * libspi/listener.c (impl_notify_event): check source
1587 not NIL before unref.
1589 * libspi/registry.c (impl_registry_notify_event): ditto.
1591 * libspi/eventlistener.c
1592 (impl_accessible_event_notify_event): unref the source.
1594 * libspi/accessibleeventlistener.c
1595 (impl_accessible_event_notify_event): unref the source.
1597 * idl/Event.idl: remove 'hash_id' attribute - of no
1600 * libspi/application.c (notify_listeners): upd list
1602 (spi_application_object_event_listener),
1603 (spi_application_toolkit_event_listener): upd to do correct
1607 (_registry_notify_listeners): update.
1608 (parse_event_type): this method also leaks like a sieve.
1609 (impl_accessibility_registry_deregister_global_event_listener):
1610 fix ETYPE_WINDOW case.
1612 * libspi/application.c
1613 (impl_accessibility_application_register_object_event_listener):
1616 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1618 * libspi/hypertext.c (impl_getLink): ditto.
1620 * cspi/spi_main.c (cspi_object_add): remove
1621 bogus CORBA_Object_duplicate.
1623 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1626 * cspi/spi_accessible.c
1627 (Accessible_getRelationSet): fix leak / referencing issue.
1629 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1630 (cspi_object_add, cspi_object_unref): upd.
1631 (spi_object_release, get_live_refs): impl.
1632 (cspi_cleanup): simplify.
1634 * *.[ch]: s/boolean/SpiBoolean/
1636 * cspi/spi_accessible.c (role_names): actualy order so it
1637 corresponds with the enum !
1639 * test/test-simple.c (test_roles): check some role strings
1640 vs. enums to detect offset errors.
1642 2001-12-01 Michael Meeks <michael@ximian.com>
1644 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1646 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1648 (Accessible_getChildAtIndex): use cspi_add_check so we
1649 check the ev before using a (possibly) invalid value.
1651 * libspi/accessible.c
1652 (impl_accessibility_accessible_get_parent): don't segv
1655 * at-bridge/bridge.c (gtk_module_init): upd.
1656 (bridge_property_event_listener): don't leak strings
1658 (bridge_state_event_listener),
1659 (bridge_property_event_listener): don't use a static
1660 buffer in case of recursive event emission &
1661 re-enterancy - split out the swathe of cut and paste
1663 (emit_eventv): and fix 2 ref leaks here & comply to the
1665 (bridge_register_app): rename to
1666 (bridge_idle_init): this and kill arg parsing, split
1667 various inits & bonobo-activation registration to module
1668 init time, kill referencing error.
1669 (bridge_exit_func): fix the same leak.
1670 (bridge_focus_tracker): don't leak event structures
1672 (bridge_signal_listener): more leakage and cut & paste
1674 (bridge_key_listener): return the result - FIXME is
1675 this polarity correct ?
1676 (accessibility_keystroke_from_atk_key_event): rename
1677 (accessibility_init_keystroke_from_atk_key_event): and stop
1679 (gtk_module_init): return a value - not that it is checked by
1681 (bridge_key_listener): register my horror at casting between
1682 IDL defined structs.
1683 (bridge_get_registry): kill - not used.
1685 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1687 * test/test-simple.c (test_roles): impl.
1688 (test_desktop, validate_accessible, validate_tree): impl.
1690 * cspi/spi_accessible.c (role_names): fixup bogus
1691 MAX_ROLES setup, make constants const for efficient linkage
1692 (AccessibleRole_getName): conform to coding style, make
1695 2001-11-30 Michael Meeks <michael@ximian.com>
1697 * cspi/spi.h: add missing prototype.
1699 * libspi/registry.c (spi_listener_struct_new): fix sig.
1701 * test/Makefile.am: add test-simple
1703 * test/test-simple.c: add
1705 * test/test.sh: add.
1707 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1709 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1710 do it straight - since otherwise we often get an activation race.
1712 [ work before Bill duplicated a chunk of it ... ]
1713 2001-11-30 Michael Meeks <michael@ximian.com>
1715 * libspi/keystrokelistener.c
1716 (spi_keystroke_listener_class_init): fixup arg
1719 * libspi/eventlistener.c
1720 (spi_event_listener_class_init): ditto.
1722 * tests/test.sh: add.
1724 * cspi/spi-listener-impl.h: update macros.
1726 * cspi/spi-listener-impl.c
1727 (cspi_event_listener_remove_callback): add
1728 correct pre-conditions.
1730 * cspi/spi_main.c (SPI_exit): guard vs. double
1731 exits, exit the mainloop nicely.
1732 (SPI_event_main): make more sense.
1733 (SPI_init): move the atexit evilness here so we
1734 always do it (yuck).
1735 (SPI_event_main): upd.
1737 * test/simple-at.c: update for listener changes.
1739 * registryd/registryd.c (main): prune kruft.
1741 * libspi/libspi.h: upd.
1743 * libspi/eventlistener.[ch]: rename broken macros.
1745 * libspi/accessibleeventlistener.[ch]: remove.
1747 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1749 * test/test-simple.c: Add - automated tests.
1751 * cspi/spi-listener-impl.c (cspi_event),
1752 (cspi_key_event): add user_data to invoke.
1753 (cspi_keystroke_listener_finalize): impl.
1754 (cspi_keystroke_listener_class_init): upd.
1757 (createAccessibleEventListener),
1758 (AccessibleEventListener_addCallback),
1759 (createAccessibleKeystrokeListener),
1760 (AccessibleKeystrokeListener_addCallback): upd.
1762 * libspi/deviceeventcontroller.c
1763 (spi_device_event_controller_check_key_event): add public proto.
1766 (impl_accessibility_registry_deregister_global_event_listener):
1767 always init listeners.
1768 (_registry_notify_listeners): yes it is.
1770 * cspi/spi-listener-impl.c (cspi_key_event):
1772 (cspi_event_listener_finalize): impl.
1773 (cspi_event_listener_class_init): hook up.
1774 (event_handler_new, event_handler_free),
1775 (event_list_remove_by_callback): impl.
1776 (cspi_event_listener_remove_callback),
1777 (cspi_keystroke_listener_remove_callback),
1778 (cspi_keystroke_listener_add_callback),
1779 (cspi_event_listener_add_callback): upd.
1781 * libspi/keystrokelistener.c
1782 (keystroke_listener_object_finalize): kill
1783 (spi_keystroke_listener_class_init): upd.
1784 (spi_keystroke_listener_add_callback),
1785 (spi_keystroke_listener_remove_callback): kill,
1787 (impl_key_event): prune drasticaly.
1789 * libspi/eventlistener.c
1790 (spi_event_listener_add_callback),
1791 (spi_event_listener_remove_callback): kill, use
1793 (impl_accessible_event_notify_event): upd.
1794 (spi_event_listener_object_finalize): remove.
1796 * libspi/Makefile.am: use eventlistener.[ch]
1798 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1800 * libspi/registry.c (_registry_notify_listeners):
1801 Changed listener loop iteration to use preferred convention.
1802 Got rid of string memory leaks caused be calling g_strconcat
1803 inside function calls.
1805 * libspi/registry.c (parse_event_type):
1806 Stopped g_strconcat memory leaks, free the g_strsplit return,
1807 g_strdup the split pieces when used, etc.
1809 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1812 Change method 'compare' to return a 'difference set' rather than
1813 taking a StateSet as an out parameter (more Java-friendly).
1815 * idl/Accessible.idl:
1816 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1818 * idl/Component.idl:
1820 Changed methods 'getExtents' and 'getImageExtents' in these
1821 interfaces to return a BoundingBox structure.
1822 (getPosition and getSize are redundant and possibly should be
1823 removed, rather than creating a corresponding Point struct.)
1825 * cspi/spi_component.c:
1826 Modify implementation of getExtents to reflect the above IDL
1831 Add (missing) AccessibleImage_getExtents () API.
1833 * docs/reference/cspi/at-spi-cspi-sections.txt:
1834 Added AccessibleImage_getImageExtents () to docs.
1836 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1838 * idl/Component.idl:
1839 Added two methods, getLayer () and getMDIZOrder (), to reflect
1840 the new ATK methods atk_object_get_layer and
1841 atk_object_get_mdi_z_order. (Which arguably should be part of the
1842 AtkComponent API and AtkObject). Also added an enum,
1843 ComponentLayer, for the first method's return value.
1845 * libspi/component.c:
1846 Added implementations for these methods.
1848 * cspi/spi_component.c:
1850 Added cspi binding methods for above,
1851 AccessibleComponent_getLayer() and
1852 AccessibleComponent_getMDIZOrder().
1853 Added cspi enum 'AccessibleComponentLayer'.
1855 * docs/reference/cspi/at-spi-cspi-sections.txt:
1856 Added above methods to docs.
1860 Changed typedef for 'boolean' type (and all references to it) to
1861 SPIBoolean, to avoid keyword clashes with C++.
1864 Changed usages of 'boolean' to SPIBoolean.
1866 * test/keysynth-demo.c:
1867 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1868 app), except where SPIBoolean is required by the callbacks API.
1870 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1872 * cspi/spi_registry.c:
1873 Removed obsolete X event loop for passive keygrabs (which now
1876 * registryd/registryd.c:
1877 Removed unnecessary call to gdk_init() [cruft]. This also allows
1878 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1881 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1883 * docs/reference/cspi:
1884 Included docs for SPI_freeString in generated documentation.
1887 Renamed spi_freeString to SPI_freeString, for consistency. Added
1888 documentation for this function.
1891 Renamed spi_freeString to SPI_freeString, for consistency.
1892 Removed obsolete method declaration string_from_corba_string.
1894 * test/keysynth-demo.c:
1895 Small tweak to comments.
1898 Stopped leaking the strings returned from CSPI.
1900 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1902 Merged Michael's branch (see his ChangeLog entries below).
1904 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1905 bridge is alive, release on exit.
1907 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1908 Fix type check macro.
1911 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1914 Added is_gnome_app static, and method cspi_is_gnome_app(),
1915 so we can call the appropriate shutdown routine at exit in SPI_exit.
1917 * cspi/spi_main.c (cspi_object_ref):
1918 Duplicate the corba object passed in, since we're keeping it around.
1920 * cspi/SPI_exit.c, cspi_cleanup:
1921 Moved the releasing of the live refs to its own function, so we
1922 can put it in g_atexit (). Call the appropriate shutdown API
1923 depending on whethe calling client is a gnome app or not
1924 (bonobo_main_quit or CORBA_ORB_shutdown).
1926 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1927 Unref the listener when this method is called, after
1928 deregistration. Updated the API docs to note this behavior.
1930 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1931 Bugfixes: Ref the bonobo object when returning a parent or child
1932 reference, or an AccessibleRelation. Generally made sure
1933 BonoboObject refcount is incremented whenever we return an
1936 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1937 Fixed typo/bug in signal declaration.
1939 * libspi/accessibleeventlistener.h:
1942 * libspi/application.c (spi_application_new):
1943 Fixed leak in initialization.
1946 Remembered to increment bonobo-object refcount when returning
1947 children (applications) from desktop object.
1948 Added (empty) finalize method.
1950 * libspi/deviceeventcontroller.c:
1951 Hold a ref to listeners inside DEControllerKeyListeners.
1952 Added dec_key_listener_free() method. Use prepend instead of
1953 append in key_listener list. Fixed some refcount madness and
1954 leaks in the listener registration/deregistration - deregistration
1955 now calls dec_key_listener_free() on listeners, and on the
1956 temporarily constructed dec_key_listener() used to perform the search/match.
1958 * libspi/hypertext.c (spi_hypertest_finalize):
1959 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1960 class. Also fixed spi_hypertext_interface_new() and
1961 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1963 * libspi/hypertext.h:
1964 Removed pointless and duplicate AtkObject pointer from
1967 * libspi/keystrokelistener.c:
1968 Fixed incorrect type of keystroke_listener_parent_class,
1969 renamed keystroke_listener_object_finalize to
1970 spi_keystroke_listener_object_finalize.
1971 Fixed typo in signal declaration
1972 (spi_keystroke_listener_class_init).
1974 * libspi/registry.c:
1975 Added funcsions spi_listener_struct_new() and
1976 spi_listener_struct_free() to help with memory management issues.
1977 We also now use these methods instead of gnew + poking stuff into
1978 the struct, and to decrement listener counts/free the listeners
1979 when deregistering them.
1980 Fix more refcount bugs in getDesktop() and
1981 getDeviceEventController().
1984 De-ref the desktop after enumerating the applications. Explicitly
1985 decrement the refcounts on the created listeners on exit (using
1986 _unref for keystroke listeners, and via the
1987 deregisterGlobalEventListenerAll command for other event
1990 2001-11-27 Michael Meeks <michael@ximian.com>
1992 * cspi/spi-listener.h: fixup enum.
1994 2001-11-27 Michael Meeks <michael@ximian.com>
1996 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1997 (cspi_keystroke_listener_new): Use the cspi variants.
1999 2001-11-26 Michael Meeks <michael@ximian.com>
2001 * test/keysynth-demo.c: fix 2 compile warnings, missing
2004 * test/simple-at.c (report_focussed_accessible),
2005 (report_focus_event, report_button_press),
2006 (check_property_change, is_command_key),
2007 (report_ordinary_key_event, report_command_key_event): upd.
2009 * util/mag_client.h: include pre-requisites.
2011 * libspi/accessibleeventlistener.c
2012 (spi_event_listener_object_finalize): free any lingering
2015 * libspi/keystrokelistener.c
2016 (keystroke_listener_object_finalize): ditto.
2018 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2019 callbacks, with cspi types.
2021 * cspi/spi_event.c (createAccessibleEventListener): chain to
2022 (AccessibleEventListener_addCallback): here.
2023 (createAccessibleKeystrokeListener): chain to
2024 (AccessibleKeystrokeListener_addCallback): here.
2026 * libspi/keystrokelistener.c
2027 (spi_keystroke_listener_class_init): add signal.
2028 (impl_key_event): emit the event.
2029 (boolean_handled_accumulator): impl.
2030 (marshal_BOOLEAN__POINTER): add, gack.
2032 * libspi/accessibleeventlistener.c
2033 (spi_event_listener_class_init): add signal.
2034 (impl_accessible_event_notify_event): emit the signal &
2035 make the loop efficient.
2036 (spi_event_listener_add_callback): prepend the callback.
2038 * libspi/accessibleeventlistener.h: add an 'event' signal,
2039 decl type on callback.
2041 * libspi/keystrokelistener.h: ditto.
2043 * cspi/spi-listener.h: make methods typesafe and
2044 make them use the new event typedefs.
2046 * test/simple-at.c (report_focussed_accessible):
2047 include mag_client.h
2048 Use *(void *)text_interface not the other thing.
2050 * configure.in: add gtk to registryd bits - since we use
2053 * util/magnifier.c: include libbonobo.h
2055 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2057 * test/keysynth-demo.c:
2058 Turned this into a simple scanning keyboard, to demonstrate the
2059 use of g_timeout_add () as a means of creating timers for
2060 scanning, and the use of GtkStyle for visually indicating when
2061 virtual keyboard elements are selected.
2063 keysynth-demo now listens to any keyboard keys with zero-valued
2064 keycodes (i.e. 'unused' keys) and interprets them as
2067 Reworked the shiftlatch code so that shift-down state isn't held
2068 for long periods (it's only synthesized immediately prior to
2069 the keysynth event it's modifying). Note that shiftlatch in this
2070 demo is a convenience, not intended to take the place of AccessX
2071 which is the better choice for getting 'sticky' modifier keys.
2073 * libspi/deviceeventcontroller.c:
2074 * at-bridge/bridge.c:
2075 * cspi/spi_registry.c:
2076 Removed some debug print stuff, and put other verbosity in #ifdef
2081 Implemented some more of the magnifier IDL for the simple
2082 magnifier: namely, getZoomRegionParams.
2083 Added mag_x and mag_y members to MagnifierData struct, aid of this
2085 Added GtkWindow::realize signal handler to magnifier, to keep it
2086 from receiving keyboard focus from the WM.
2088 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2090 * cspi/spi-private.h: my guess at what michael forgot
2091 before he ran off to NZ :-)
2093 2001-11-23 Michael Meeks <michael@ximian.com>
2095 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2096 comment out non existant method invoke so we link.
2098 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2099 use bonobo_exception_get_text for more friendly warnings.
2101 * cspi/spi.c (Obj_Add): move into spi_main & rename
2102 spi_object_add; kill spi.c
2104 * cspi/spi_registry.c
2105 (deregisterGlobalEventListener),
2106 (deregisterGlobalEventListenerAll),
2107 (registerGlobalEventListener): fix exception leaks.
2109 * cspi/spi_main.c (spi_exception): impl. helper, so we
2110 don't leak exceptions.
2112 * cspi/spi_selection.c
2113 (AccessibleSelection_deselectSelectedChild): return the
2116 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2117 (spi_registry): ditto.
2118 (SPI_init): guard against double inits.
2120 * cspi/*.c: use spi_ev (), and spi_registry () where
2121 appropriate - a temporary hack until we have something
2122 better. Use spi_object_add
2124 2001-11-22 Michael Meeks <michael@ximian.com>
2126 * cspi/Makefile.am: re organise, install the headers.
2128 * cspi/*.h: add G_BEGIN/END_DECLS
2130 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2133 Added non-preemptive keylistener for key events with no modifiers
2134 and shift-only modifier.
2136 * libspi/keystrokelistener.c:
2137 Removed some verbose diagnostics printout.
2139 * cspi/spi_registry.c:
2140 Fixed a bug that caused all key listeners to be registered as
2143 * libspi/deviceeventcontroller.c:
2144 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2145 for non-preemptive key masks.
2148 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2150 * docs/reference/idl/at-spi-idl-docs.sgml:
2151 * docs/reference/idl/at-spi-idl-sections.txt:
2152 * docs/reference/idl/at-spi-idl-overrides.txt:
2153 Added missing files.
2155 * docs/reference/Makefile.am:
2156 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2157 to scan the IDL files :-(
2162 Added .cvsignore files.
2164 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2166 * libspi/deviceeventcontroller.c:
2167 * libspi/keystrokelistener.c:
2169 * cspi/spi_registry.c:
2170 Added filters for KeySets, KeyEventSeq, and event types to key
2171 event dispatching, so listeners should only receive those events
2172 that they requested :-)
2174 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2179 * docs/reference:Makefile.am:
2180 * docs/reference/cspi:
2181 * docs/reference/cspi:Makefile.am:
2182 * docs/reference/cspi:tmpl:
2183 * docs/reference/cspi:tmpl:*.sgml:
2184 * docs/reference/idl:
2185 * docs/reference/idl:Makefile.am:
2186 * docs/reference/idl:at-spi-idl-sections.txt:
2187 * docs/reference/idl:at-spi-idl-docs.sgml:
2188 * docs/reference/idl:tmpl:
2189 * docs/reference/idl:tmpl:*.sgml:
2191 Restructured docs directory to allow separate 'reference' docs
2192 section, and forked idl and cspi docs. Added the sgml template
2193 files to CVS. Added the first sections/structural sgml for the
2196 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2198 * configure.in, libspi/Makefile.am: find libXtst.
2200 2001-11-21 Michael Meeks <michael@ximian.com>
2202 * test/accessx-gui.c: s/spi_value/value/ - doh.
2204 * libspi/base.[ch]: add.
2206 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2208 * idl/Accessible.idl:
2209 * idl/Application.idl:
2212 Started gtk-doc cleanup on IDL.
2214 * libspi/deviceeventcontroller.c:
2215 Added and connected non-preemptive key notification from the
2216 toolkits (in addition to the pre-emptive support from XServer
2217 which we had before, but which causes 'focus flashing'). Filters
2218 are presently limited to key modifiers and global/non-global,
2219 KeySets are presently ignored, as are KeyEvent masks.
2221 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2222 structs into the persistant structure rather than just storing
2223 pointers to things that might not persist across servant
2226 The XGrabKey call now does async keygrabs, because synchronous
2227 ones were deadlocking with GDK_event code in a very nasty way.
2229 Added boolean to internal method notify_keylisteners, to indicate
2230 whether the event came from the 'toolkit source' or the 'global
2231 (XServer) source' - this is used in the notification process to
2232 determine which listeners to send the event to.
2234 deviceeventcontroller.c is now warning-free.
2236 * libspi/registry.c:
2237 Fixed regression in application de-registration.
2238 Also fixed some really brain-dead weirdness having to do with
2239 event dispatching - event structs are now duplicated before being
2240 re-marshalled in the dispatch to listeners. This also fixes a
2241 Solaris build problem.
2244 2001-20-11 Michael Meeks <michael@ximian.com>
2247 (impl_accessibility_registry_deregister_global_event_listener):
2250 * libspi/deviceeventcontroller.c
2251 (spi_device_event_controller_check_key_event): return
2252 FALSE on no virtual method.
2254 * libspi/*..h: make includes work on a correctly pathed install.
2256 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2258 * libspi/application.h: kill unused ( and whacked out )
2259 gboolean *spi_application_set_id (AtkObject *app, long id);
2261 2001-20-11 Michael Meeks <michael@ximian.com>
2263 * libspi/*.[ch]: further convert to bonobo's type func
2264 macros, remove redundnant casts etc.
2266 * libspi/text.c s/accessibility_text/spi_text/g,
2267 re-order to de-cruft.
2269 * libspi/hypertext.c: re-order to kill a huge slew
2270 of redundant forward decls.
2272 * libspi/relation.c: ditto.
2274 * libspi/image.c: ditto.
2276 * */.cvsignore: update
2278 2001-20-11 Michael Meeks <michael@ximian.com>
2280 * libspi/deviceeventcontroller.c
2281 (_controller_register_with_devices): use g_getenv,
2282 kill stdlib.h include.
2284 * libspi/keystrokelistener.c
2285 (spi_keystroke_listener_get_type): kill
2286 (spi_keystroke_listener_class_init),
2287 (spi_keystroke_listener_init): rename to this.
2289 * libspi/text.c (impl_getAttributes): fix warning / bug.
2291 * libspi/*.[ch]: more headers, includes and over commenting.
2293 2001-20-11 Michael Meeks <michael@ximian.com>
2295 * libspi/*.[ch]: fixup headers, includes and over commenting.
2297 * libspi/image.c (impl__get_imageDescription): const
2298 correctness warning fix. remove redundant casting.
2300 * libspi/table.c (impl_getRowDescription): ditto.
2301 (impl_getColumnDescription): ditto.
2303 * libspi/libspi.h: add.
2305 2001-19-11 Michael Meeks <michael@ximian.com>
2307 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2309 * libspi/component.c (accessibility_component_get_type):
2310 rename to (spi_component_get_type): and macroify.
2311 (accessibility_component_init): rename to
2312 (spi_component_init): this
2313 (accessibility_component_class_init): rename to
2314 (spi_component_class_init): this
2316 * libspi/action.c (spi_action_get_type): kill, use the macro.
2318 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2321 * libspi/application.c (spi_application_object_event_listener),
2322 (impl_accessibility_application_register_object_event_listener):
2323 warning fixes / const understanding updates.
2325 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2328 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2330 * libspi/spi_accessible.c: Added docs and C bindings for
2331 AccessibleStateSet. (No implementations yet). Documentation
2332 coverage for C bindings now 100%. Made docs for event listeners
2337 boolean notifyListenersSync (in DeviceEventListener listener,
2338 in DeviceEvent event);
2340 oneway void notifyListenersAsync (in DeviceEventListener listener,
2341 in DeviceEvent event);
2343 Added DeviceEventListener and DeviceEvent structs (may deprecate
2344 KeyStroke and KeystrokeListener in favor of this generic
2345 event/listener framework for devices).
2347 * libspi/deviceeventcontroller.c:
2349 Changed some key listener code to take masks, etc., and paved the
2350 way for integration of toolkit/non-preemptive key events. Changed
2351 signatures of some internal methods.
2353 * at-bridge/bridge.c:
2354 Fixed regression connecting to interface signals, apparently
2355 caused by GTK+ changes.
2357 Added an internal bridge_state_listener to deal with
2358 property-change:accessible-state signals.
2360 Changed the key_listeners GList to store structs (including masks,
2361 etc.) instead of just CORBA_Objects (required for full
2362 implementation of key listener API).
2364 Connected the bridge to all currently supported Atk signals.
2365 Events now supported:
2366 object:property-change
2367 object:property-change:accessible-name
2368 object:property-change:accessible-state
2369 object:property-change:accessible-description
2370 object:property-change:accessible-parent
2371 object:property-change:accessible-value
2372 object:property-change:accessible-role
2373 object:property-change:accessible-table-caption
2374 object:property-change:accessible-table-column-description
2375 object:property-change:accessible-table-column-header
2376 object:property-change:accessible-table-row-description
2377 object:property-change:accessible-table-row-header
2378 object:property-change:accessible-table-summary
2379 object:children-changed
2380 object:visible-data-changed
2381 object:selection-changed
2382 object:text-selection-changed
2384 object:text-caret-moved
2386 object:row-reordered
2388 object:column-inserted
2389 object:column-reordered
2390 object:column-deleted
2391 object:model-changed
2393 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2395 * libspi/hyperlink.c,h:
2396 Fixed some broken stuff in hyperlink.
2398 * libspi/relation.h:
2399 * libspi/relation.c:
2400 * cspi/spi_accessible.c:
2401 Initial implementations of AccessibleRelation methods, and docs.
2403 * libspi/accessible.c:
2404 Fixed a bug that caused SEGV if an accessible
2405 object's description is NULL, and a client
2406 requests it. An empty string is now returned.
2408 * cspi/spi_editabletext.c:
2409 * cspi/spi_hypertext.c:
2411 * cspi/spi_hyperlink.c:
2415 Doc coverage now 95%.
2417 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2419 One last namespacing revision:
2420 * libspi/accessibleeventlistener.[ch]:
2421 Renamed SpiAccessibleEventListener to SpiEventListener,
2422 (no need for two namespaces ;-)
2424 And lots of documentation fixes:
2426 * docs/at-spi-docs.sgml:
2427 Fixed 'underscore vs. hyphen' bug that was preventing
2428 the gtk-doc API docs from being automatically generated.
2431 * cspi/spi-listener.h
2433 * cspi/spi_accessible.c
2435 * cspi/spi_application.c
2436 * cspi/spi_component.c
2437 * cspi/spi_editabletext.c
2439 * cspi/spi_hypertext.c
2441 * cspi/spi_registry.c
2442 * cspi/spi_selection.c
2446 * docs/at-spi-docs.sgml
2447 * docs/at-spi-sections.txt
2449 Added and fixed up gtk-doc documentation in cspi.
2451 Interfaces now (fully) documented (subject to revision and enhancement):
2453 Event Listener Support
2455 AccessibleApplication
2459 AccessibleEditableText
2466 AccessibleRelationSet
2471 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2473 * at-bridge/bridge.c:
2474 Initial work for toolkit-level key snooper connection by bridge.
2479 New typedefs and fixes to support new namespacing, and cleaner
2480 separation of cspi bindings from libspi bonobo implementation.
2481 Removed inconsistent and extraneous Spi* namespace prefix that
2482 had crept into cspi headers.
2483 Lots of comment fixes that sed had missed.
2485 * cspi/spi-roletypes.h:
2486 * cspi/spi-statetypes.h:
2487 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2488 to AccessibleRoleType.
2490 * libspi/accessibleeventlistener.h:
2491 Fixed minor namespacing weirdness.
2493 * libspi/deviceeventcontroller.c:
2494 Reordered some internal API for device listeners.
2495 Changed the key registry final boolean to 'is_system_global'
2496 rather than 'is_synchronous', which is more descriptive of its
2498 Added spi_device_event_controller_new().
2499 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2501 * libspi/keystrokelistener.[ch]:
2502 Namespaced KeystrokeListener to SpiKeystrokeListener.
2503 Changed uses of keymasks to use SPI_ prefix, and did other
2506 * libspi/keymasks.h:
2507 Namespaced keymask constants with SPI_ prefix.
2509 * libspi/registry.c:
2510 Some warning fixes, and knock-on fixes from namespace changes.
2513 Added rules for accessx-gui test program.
2515 * test/accessx-gui.c:
2516 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2517 utility. It doesn't actually use at-spi, but it's still cool and
2520 * test/keysynth-demo.c:
2524 Fixes so that these test clients work properly with the namespaced
2525 libraries. (Incompletely tested for technical reasons, fixes may follow)
2528 2001-13-11 Michael Meeks <michael@ximian.com>
2530 * libspi/application.c
2531 (impl_accessibility_application_get_version),
2532 (impl_accessibility_application_get_toolkit_name):
2534 (impl_accessibility_application_set_id),
2535 (impl_accessibility_application_get_id): remove
2536 redundant casting code.
2538 * libspi/action.c (impl_getDescription): fix warnings.
2540 * libspi/accessible.c
2541 (impl_accessibility_accessible_get_parent),
2542 (impl_accessibility_accessible_get_child_at_index),
2543 (impl_accessibility_accessible_get_state),
2544 (impl_accessibility_accessible_get_relation_set):
2545 warning fixes & include action.h
2547 2001-13-11 Michael Meeks <michael@ximian.com>
2549 * *.[ch] fix bits I screwed up:
2551 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2552 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2554 2001-13-11 Michael Meeks <michael@ximian.com>
2556 * *.[ch] Namespace libspi into spi_ and Spi.
2558 2001-13-11 Michael Meeks <michael@ximian.com>
2560 * Makefile.am: dist & install at-spi-1.0.pc
2562 * libspi/Makefile.am: install into at-spi-1.0
2564 * idl/Makefile.am (idldir): install into at-spi-1.0
2566 * at-spi-1.0.pc.in: add.
2568 * configure.in: build it.
2570 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2572 * test/keysynth-demo.c:
2573 Use a 'realize' signal-handler to set the WM properties for
2574 the virtual keyboard, rather than making it a "POPUP" type
2575 override-redirect window (thanks to anders carlsson for that
2578 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2581 * test/keysynth-demo.c:
2582 Added new test of key synthesis, which creates a simple
2583 (mouse-operated) onscreen keyboard. It inserts key events into
2584 the currently-focused window, thus it does not grab keyboard focus
2587 * cspi/spi_registry.c:
2588 Added C binding for AT-SPI generateKeyEvent.
2590 * libspi/deviceeventcontroller.c:
2591 Added call to XFilterEvent so that key listener works with XIM (we
2592 hope). Added event_synth_type to generateKeyEvent, so that we can
2593 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2594 synthesize a press/release pair for KeySyms.
2596 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2598 * libspi/Makefile.am:
2599 * registryd/Makefile.am:
2600 (temporary) hack to include libXtst in libspi and registryd.
2601 (Needed for keystroke synthesis, see below).
2604 Improved API for registerKeystrokeListener, in accordance with
2605 discussions with Gnopernicus team and X server research.
2607 * libspi/registry.c:
2608 * libspi/deviceeventcontroller.c:
2609 * libspi/accessible.c:
2610 * libspi/keystrokelistener.c:
2611 Changes and fixes to support keylisteners for potentially
2612 consumed key events (that is, 'passive grabs').
2613 Added implementation for generateKeyEvent() [untested].
2616 Changes to registerKeystrokeListener() API, as above.
2617 Added deregisterGlobalEventListenerAll(), and
2618 deregisterKeystrokeListener(), which are needed for clean exit of
2620 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2621 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2623 * cspi/spi_registry.c:
2624 Added implementations of function prototypes mentioned above.
2626 * registryd/registryd.c:
2627 Added the key listener event source as a g_timeout(), to allow
2628 receipt of key events that are not caught by GDK (since GDK
2629 doesn't support passive keygrabs, this was necessary).
2632 Changed to attach a keylistener to 'Alt' keys, and
2633 respond to the following keycommands: Alt-M (toggle magnifier);
2634 Alt-F (toggle speech); Alt-Q (quit).
2635 Added an exit routine to deregister the listeners, and a key
2636 listener that prints some key info to the console when a key
2637 matches the listener mask (and is thus received by the listener).
2639 * util/idl/Magnifier.idl:
2640 Changes to magnifier API to support multiple zoom regions,
2641 non-uniform scaling in x and y, markDirty, and a host of other
2642 features that would be useful to magnification.
2645 * util/mag_client.c:
2646 * util/mag_client.h:
2647 * util/mag_control.c:
2649 Source code changes to support the above IDL changes.
2652 As above, and also changes to use a (slower) generic conversion
2653 path for colormap conversions, since the fast RGB conversions have been
2654 reported to fail for 16-bit displays.
2656 2001-10-26 Michael Meeks <michael@ximian.com>
2658 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2660 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2662 * at-bridge/Makefile.am: fix LDFLAGS.
2664 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2666 * at-bridge/bridge.c:
2667 Re-worked listeners for toolkit events, now we have signal
2668 and property listeners. Added a private method
2669 register_atk_event_listeners(), which registers with the
2670 various atk and gtk signals we need to monitor in order to emit
2672 Added emission hook for AtkObject:property-change events, to
2673 support the 'property listeners'.
2674 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2677 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2678 which emit warnings and exit, respectively, if CORBA errors occur
2679 during remote calls, and we now use these methods to check most of
2680 our CORBA calls in the C bindings.
2682 * cspi/spi_accessible.c:
2683 Changed AccessibleSelection_refSelectedChild() to
2684 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2685 now increment refcounts.
2687 * cspi/spi_component.c:
2688 Fixed some long pointer casts (dangerous!) to pass pointers to
2689 CORBA_longs of the proper type to the CORBA stubs, and copy the
2690 data into the longs that were passed into the C bindings code.
2692 * at-bridge/bridge.c:
2694 * libspi/accessible.c:
2695 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2696 hyperlinks, AtkHyperlink is an object type.
2698 * libspi/application.c:
2699 Added various conversions to and from "generic" event types and
2700 atk-specific types; this is really part of the 'bridge'
2701 implementation but is valid for all AtkObject-based accessibility
2704 * libspi/editabletext.c:
2705 Fixed nasty bug wherein editable text's finalize method was
2706 unref'ing tha AtkObject reference that the text parent class was
2707 about to unref _again_. There was also a nasty inheritance bug
2708 that meant that the AccessibleEditableText class was corrupt.
2710 * libspi/selection.c:
2711 Provided implementations for some selection API that was broken.
2713 * idl/Application.idl:
2714 Added registerObjectEventListener () method.
2717 Fixed a number of return values that were Bonobo_Unknowns from
2718 bonobo_object_corba_objref(), which I
2719 forgot to dup before returning. Changed instances of
2720 bonobo_object_corba_objref (bonobo_object(o)) to
2721 BONOBO_OBJREF(o), for concision and clarity.
2723 <2001-10-13 Louise Miller <louise.miller@sun.com>
2725 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2726 idl/Event.idl, idl/Registry.idl
2727 Changed these files to include Bonobo_Unknown.idl instead
2730 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2732 * libspi/component.c libspi/component.h:
2733 Fixed typo. Added assertions for object checks in
2734 AccessibleComponent code.
2736 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2738 * idl/Accessible.idl:
2739 Added 'isEqual (Accessible *object)'
2740 method for Accessible. (Not Yet Implemented).
2743 Changed signature of registerKeystrokeListener() to
2744 take a KeySet and KeyEventSeq so that specific keys and event
2745 types could be requested for monitoring, and added a flag
2746 is_synchronous so that either synchronous or asynchronous
2747 notification could be requested. (However this is not all
2748 implemented yet). This also meant adding two new typedefs,
2749 KeyEventSeq and KeySet.
2752 Added two new relations, RELATION_TOOLTIP_FOR and
2753 RELATION_LEAFNODE_OF.
2756 Added new state, STATE_HAS_TOOLTIP.
2758 * libspi/text.c, editabletext.c:
2759 Added new assertions to all casts of bonobo-objects from
2760 CORBA servants, to prevent Text API calls on non-text objects.
2761 Changed suspect casts of int-pointer types, so that we
2762 always send a valid CORBA_long pointer to the CORBA APIs that use
2763 in/out long parameters. We then have to copy from the CORBA_long
2764 into the regular long or int for return to the C bindings, or
2765 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2768 * libspi/deviceeventcontroller.c:
2769 Cleaned these sources up.
2771 Changed return type for getCharacterAtOffset to
2772 CORBA_unsigned_long, to allow for 32-bit characters.
2775 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2779 Fixed 'make dist' so that distro compiles...
2780 * libspi/keymasks.h:
2782 * cspi/spi-listener.c:
2783 KeystrokeListenerCB now returns a boolean.
2785 Added KeyEventType struct, and KeyStroke.
2786 Also added createKeystrokeListener(),
2787 KeystrokeListener_addCallback(),
2788 KeystrokeListener_removeCallback(), and added a keymask to
2789 registerKeystrokeListener().
2790 * cspi/spi_accessible.c:
2791 Changed numerous return types for interfaces from
2792 AccessibleComponent to Accessible<InterfaceName>; this was
2793 probably a cut-and-paste error.
2795 Implementations of new KeystrokeListener api (from spi.h,
2798 Changes to key modifier mapping.
2799 Created ControllerEventMask struct.
2800 Made DeviceEventController derive from Bonobo::Unknown.
2802 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2803 * libspi/deviceeventcontroller.c:
2804 Added a number of new internal (private) methods.
2805 * libspi/editabletext.c:
2806 * libspi/editabletext.h:
2807 Fixed a number of bugs related to the fact that
2808 editabletext inherits from text. Fixed the EditableText struct,
2809 the init() call, and use correct casts when calling Text methods
2810 from an EditableText object. Removed (duplicate) atko from the
2811 EditableText structure, we use the one in the parent Text
2812 structure via the casts mentioned above.
2813 * libspi/keystrokelistener.[ch]:
2814 * libspi/registry.c:
2815 Changes in support of keyboard handling (above).
2817 Keyboard handling, though partly functional, is still not
2818 recommended for at-spi client use as there is considerable
2819 work yet to be done.
2822 Changed some places where pointers to various int types
2823 are cast to be pointers to CORBA_long types and vice-versa:
2824 pointer casting is not safe so we pass pointers of the correct
2825 types and then cast the result before putting it into the target
2828 * libspi/text.h: minor typos corrected.
2830 We now speak not only the name of a Text element, but the
2831 first sentence of its content, when it receives focus.
2832 I also changed the text compression to 75% from 50%.
2833 * util/Accessibility_Util.server.in:
2834 Changed the default magnifier type to be a 3x vertical
2835 splitscreen magnifier (was previously a 2x horizontal one).
2837 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2839 * libspi/keystrokelistener.h:
2840 * libspi/keystrokelistener.c:
2841 Initial functional implementations of KeystrokeListener.
2844 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2846 Fixed string handling for NULL strings in libspi.
2847 Added spi_freeString to free strings returned by C bindings.
2849 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2851 * libspi/keystrokelistener.h:
2852 * libspi/keystrokelistener.c:
2853 Began (no-op) implementations of KeystrokeListener
2855 * libspi/deviceeventcontroller.c:
2856 * libspi/deviceeventcontroller.h:
2857 Began creating implementations of DeviceEventController,
2858 to handle keystroke and mouse event listening and
2860 * libspi/accessible.c:
2861 Stubbed-in the implementations for
2862 Accessibility_Accessible_getState and
2863 Accessibility_Accessible_getRelationSet.
2864 * libspi/registry.c:
2865 Improved de-registration process and fixed some bugs,
2866 deregistration now works correctly.
2868 Added initialization of applications list (to NULL).
2870 Reduced speech compression from 0.5 to 0.7, for demo.
2871 Changed call to gdk_window_set_decorations()
2872 to gtk_window_set_decorated().
2873 * at-bridge/bridge.c:
2874 Bridge now deregisters when app exits, via
2875 registration of a cleanup function
2876 with the g_atexit() call.
2877 Required making 'app' static, renamed 'this_app'.
2878 Fixed broken use of bonobo_init, passing argv wrongly.
2880 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2884 Created a new directory for
2885 accessibility-related utilities, primarily for
2886 testing and demo purposes, but with possible
2893 Onscreen magnifier utility that
2894 is implemented as a bonobo service.
2896 * util/mag_client.c:
2897 * util/mag_client.h:
2898 Client-side support (simple C bindings)
2899 for Magnification service
2901 * util/mag_control.c:
2902 Client program example for
2903 Magnification service
2905 * util/Accessibility_Magnifier.server.in:
2906 Bonobo-activation file for the
2907 Magnification service.
2910 * util/idl/Magnifier.idl:
2911 IDL defining the bonobo Magnification
2915 Modifications to use the bonobo-activated magnifier
2916 above, in place of trying to connect to an existing
2917 magnifier that uses socket-listening IPC.
2919 If env variable MAGNIFIER is set, a magnifier service
2920 will be started if one does not exist.
2922 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2923 * at-bridge/bridge.c:
2924 applied patch from Marc to build and run
2925 against new glib and gtk+ (seemed like a change
2926 to bonobo_init signature was made ?)
2928 made festival-server support turned off by default.
2929 Added support for a simple magnifier (off by default)
2930 which will be added to a 'util' directory later.
2931 * at-bridge/Makefile.am:
2932 Changed "application.h" header from a 'source'
2933 to a 'dependency' of libat-bridge.
2935 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2943 Added interface implementation c files to list of
2944 includes so they are included in libcspi.
2947 Changed prototype of AccessibleAction_doAction to return a
2949 Changed prototype of AccessibleTable_getCaption to
2950 return an Accessible.
2951 Changed prototype of AccessibleTable_getSelectedRows
2952 and AccessibleTable_getSelectedColumns to
2953 return a long (returns the number of selected rows
2954 or columns respectively).
2955 Changed name of AccessibleText_refRunAttributes to
2956 AccessibleText_getAttributes.
2957 Changed prototype of AccessibleText_getCharacterExtents to
2958 return a void rather than a boolean.
2959 Added support for a AccessibleCoordType parameter
2960 specifying what type of coordinates are desired.
2961 Added an AccessibleCordType parameter to
2962 AccessibleText_getPointAtOffset.
2964 * cspi/spi_accessible.c:
2965 Added code to return the outstanding interfaces from
2966 Accessible_queryInterface.
2968 * cspi/spi_action.c:
2970 Corrected call to getNActions to call the c binding
2973 * cspi/spi_editabletext.c:
2975 Changed name from setRunAttributes to setAttributes.
2977 * cspi/spi_hyperlink.c:
2979 Changed call to getNAnchors to correctly call the c
2980 binding for an attribute.
2982 * cspi/spi_hypertext.c:
2984 Changed getImageDescription to correctly call the
2985 binding for an attribute.
2987 * cspi/spi_selection.c:
2988 Changed getNSelectedChildren to correctly call the c
2989 binding for the attribute.
2990 Changed refSelectedChild to getSelectedChild.
2994 Changed getCaption to return an Accessible.
2995 Fixed calls which retrieve attributes.
2996 Changed refAt to getAccessibleAt.
2997 Changed getNSelectedRows and getNSelectedColumns to
3001 Changed getCharacterExtents and getPointAtOffset to accept an
3002 AccessibleCoordType.
3004 Changed calls which retrieve attributes.
3005 Changed refRunAttributes to getAttributes.
3010 * idl/Hyperlink.idl:
3011 Changed n_anchors attribute to nAnchors to keep naming
3012 convention consistent.
3015 Made Table inherit from Bonobo::Unknown.
3016 Added nSelectedColumns and nSelectedRows attributes.
3019 Made Value inherit from Bonobo::Unknown.
3021 * libspi/hyperlink.c:
3022 Change for nAnchors attributte name change.
3024 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
3032 Added interface implementation c files to list of
3033 includes so they are included in libcspi.
3036 Changed prototype of AccessibleAction_doAction to return a
3038 Changed prototype of AccessibleTable_getCaption to
3039 return an Accessible.
3040 Changed prototype of AccessibleTable_getSelectedRows
3041 and AccessibleTable_getSelectedColumns to
3042 return a long (returns the number of selected rows
3043 or columns respectively).
3044 Changed name of AccessibleText_refRunAttributes to
3045 AccessibleText_getAttributes.
3046 Changed prototype of AccessibleText_getCharacterExtents to
3047 return a void rather than a boolean.
3048 Added support for a AccessibleCoordType parameter
3049 specifying what type of coordinates are desired.
3050 Added an AccessibleCordType parameter to
3051 AccessibleText_getPointAtOffset.
3053 * cspi/spi_accessible.c:
3054 Added code to return the outstanding interfaces from
3055 Accessible_queryInterface.
3057 * cspi/spi_action.c:
3059 Corrected call to getNActions to call the c binding
3062 * cspi/spi_editabletext.c:
3064 Changed name from setRunAttributes to setAttributes.
3066 * cspi/spi_hyperlink.c:
3068 Changed call to getNAnchors to correctly call the c
3069 binding for an attribute.
3071 * cspi/spi_hypertext.c:
3073 Changed getImageDescription to correctly call the
3074 binding for an attribute.
3076 * cspi/spi_selection.c:
3077 Changed getNSelectedChildren to correctly call the c
3078 binding for the attribute.
3079 Changed refSelectedChild to getSelectedChild.
3083 Changed getCaption to return an Accessible.
3084 Fixed calls which retrieve attributes.
3085 Changed refAt to getAccessibleAt.
3086 Changed getNSelectedRows and getNSelectedColumns to
3090 Changed getCharacterExtents and getPointAtOffset to accept an
3091 AccessibleCoordType.
3093 Changed calls which retrieve attributes.
3094 Changed refRunAttributes to getAttributes.
3099 * idl/Hyperlink.idl:
3100 Changed n_anchors attribute to nAnchors to keep naming
3101 convention consistent.
3104 Made Table inherit from Bonobo::Unknown.
3105 Added nSelectedColumns and nSelectedRows attributes.
3108 Made Value inherit from Bonobo::Unknown.
3110 * libspi/hyperlink.c:
3111 Change for nAnchors attributte name change.
3114 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3116 implementations-- made server implementations own AtkObject pointers
3117 rather than their respective AtkInterrface pointers to fix
3118 refcounting. AtkHyperlink is still broken.
3120 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3121 * cspi/spi_accessible.c:
3122 Added method Accessible_Role_getName(),
3123 and requisite string array (role_names).
3124 Added conversion string_from_corba_strin() call
3125 to Accessible_getName and _getDescription.
3126 * libspi/accessible.c:
3127 Added implementation for Accessible_getRole()
3129 Added festival support, used if environment variable
3132 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3134 * at-bridge/bridge.c:
3135 Now allocate Accessibility_Event using
3136 Accessibility_Event__alloc() instead of g_new0().
3137 * libspi/accessibleeventlistener.c:
3138 Initialize AccessibleEventListener->callbacks to NULL.
3139 Fixed accessible__event_listener_init() param, changed to
3140 "AccessibleEventListener *" type.
3141 Changed a bonobo_object_release_unref() call to
3142 Accessibility_Accessible_unref().
3143 * libspi/listener.c:
3144 Changed Bonobo_Unknown_unref to (equivalent)
3145 Accessibility_Accessible_unref.
3146 * libspi/registry.c:
3147 Changed bonobo_object_release_unref to
3148 Accessibility_Accessible_unref.
3150 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3153 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3154 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3155 spi-util.c spi-util.h
3156 Implementations for C bindings to remaining accessibility
3159 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3162 changed return value of Action from void to boolean to
3163 bring in line with ATK.
3166 Changed getText funcions to return "out" start and end offsets.
3167 Changed getAttributes to take and offset and return the start
3168 and end offset of the attribute run.
3169 Changed getOffsetAtPoint and getCharacterExtents to take an
3170 enum describing whether coordinates are window or screen.
3173 libspi/action.c libspi/action.h libspi/editabletext.c
3174 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3175 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3176 libspi/image.h libspi/selection.c libspi/selection.h
3177 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3178 libspi/value.c libspi/value.h
3179 Added server implementations for outstanding ATK interfaces
3180 not yet implemented.
3182 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3185 Added (missing) getName() method.
3186 Made nActions an attribute.
3187 * idl/EditableText.idl:
3188 Changed order of params in setAttributes.
3189 * idl/Hyperlink.idl:
3190 Removed getAnchor, added getURI.
3192 Changed attributes to methods, for efficiency
3193 (so that getting extents can be done in one call)
3194 * idl/Selection.idl:
3195 Changed nSelectedChildren to attribute, and re-indented.
3196 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3198 * idl/Text.idl: reformatted to match our coding style.
3199 (temporarily?) removed getRowColumnAtOffset().
3200 Changed text selection API to support multi-select and
3201 non-contiguous selections, as in ATK.
3202 * idl/Value.idl: changed some methods to attributes.
3204 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3206 * libspi/listener.c(impl_notify_event):
3207 BonoboUnkown_unref the source instead
3208 of bonobo_object_release_unref - the ORB
3209 handles the releasing.
3211 * configure.in: require ORBit-2.3.94 for
3214 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3216 Tagged CVS repository 'EA_1_0'.
3217 * README.EARLY_ACCESS:
3218 Alphabetized acknowledgements list, and
3220 Listed some known dependencies of at-spi.
3222 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3224 * docs/at-spi-docs.sgml:
3225 * docs/at-spi-sections.txt:
3226 * docs/at-spi-overrides.txt: (Added zero-length file)
3227 Documentation improvements - gtk-doc should build
3228 docs for all implemented C bindings now.
3231 * cspi/spi.c: (New file)
3232 * cspi/spi_event.c: (New file)
3233 * cspi/spi_registry.c: (New file)
3234 * cspi/spi_accessible.c: (New file)
3235 * cspi/spi_application.c: (New file)
3236 * cspi/spi_component.c: (New file)
3237 Split spi_main.c into six parts, and included them from
3238 "spi.c". This is a bit of a hack, probably temporary,
3239 but required by gtk-doc, apparently.
3241 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3244 * docs/at-spi-docs.sgml:
3245 * docs/at-spi-sections.txt:
3247 Initial checkins/modifications for gtk-doc generation.
3250 Added (missing) interface query methods to Accessible's C binding.
3252 Added GenericInterface type definition.
3254 Added query for AccessibleComponent interface to focus event handler.
3255 Added printout of bounding box for focussed component.
3256 * libspi/component.c:
3257 Added partial implementation for AccessibleComponent to C binding.
3258 * idl/Application.idl:
3259 * libspi/registry.c:
3260 * libspi/listener.c:
3261 * libspi/application.c:
3262 * libspi/application.h:
3263 Changed "ID" attribute type from string to long.
3265 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3269 Made method naming consistent: methods taking object args
3270 start with uppercase, other methods (except those using
3271 acronyms) start with lowercase. Underscores delimit between
3272 object names and method names:
3273 SPI_init() - uppercase since it starts with an acronym.
3274 getDesktopCount () - lowercase start since no object param0.
3275 Accessible_getName() - uppercase object type name, studlyCaps method
3279 Added gtk-doc documentation for all currently implemented
3280 methods in the C bindings API.
3282 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3284 * Makefile.am : changed build order to build test last.
3287 Changed "createEventListener" to "CreateEventListener".
3288 * libspi/accessibleeventlistener.c :
3289 Bugfix for addition of callbacks.
3290 * test/Makefile.am :
3291 * test/simple-at.c :
3292 Added new test that uses the C bindings API.
3294 * libspi/listener.c :
3295 * libspi/registry.c :
3296 * libspi/accessibleeventlistener.c :
3297 * at-bridge/bridge.c :
3298 Renamed member "target" of Accessibility_Event to "source",
3299 which is more descriptive.
3302 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3306 * cspi/Makefile.am :
3307 Added makefile support for at-spi/cspi directory.
3310 * cspi/spi-listener.h : (NEW FILE)
3311 Added support for/use of spi-listener.h.
3313 C bindings now build successfully, with no warnings.
3314 * libspi/accessibleeventlistener.h : (NEW FILE)
3315 * libspi/accessibleeventlistener.c : (NEW FILE)
3316 * libspi/Makefile.am :
3317 Added new object type "AccessibleEventListener"
3318 which inherits from Listener, and allows attachment
3319 of in-process callbacks (so that a client with a listening
3320 object instance can add functionality to the local
3321 implementation, dynamically).
3323 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3325 * libspi/accessible.c:
3326 Add implementation for get_index_in_parent().
3328 Added #include of "spi-roletypes.h", and
3329 added enumerated type AccessibleCoordType.
3330 Added definition for KeystrokeListener (function type).
3333 * cspi/spi-statetypes.h :
3334 * cspi/spi-roletypes.h :
3336 Added these headers, used by spi.h.
3338 Added code (NOTE: not yet built by make).
3340 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3342 * libspi/Makefile.am: generate imodule
3343 at the same time as other idl compiler
3346 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3347 * libspi/registry.c :
3348 * libspi/application.c :
3349 * idl/Application.idl :
3350 Made registration with toolkit an application method,
3351 which is required since each app has its own toolkit static
3352 environment. Thus the bridge must register for
3353 notification of toolkit events from each application in turn.
3354 Toolkit notifications are now successfully registered for, and
3355 sent to the listening at client.
3357 Changed toolkit event string to use hyphens rather than underscores.
3358 * libspi/listener.c :
3359 listner now gives more info in debug mode - it reports the
3360 name of the event received, as well as the name of the source.
3363 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3365 * libspi/registry.c :
3366 added more implementation for toolkit events.
3367 Fixed bug such that toolkit event registrations
3368 (via atk) use the whole event name string, not
3370 Removed a useless call to an ORBit_ method.
3371 * at-bridge/bridge.c :
3372 Removed unused local sbuf[] variable.
3374 We now register for Gtk:GtkWidget:button_press_event
3375 events as well as "focus:" events.
3377 Add some more API from Registry.idl that was missing,
3378 for keystroke listening, keystroke and mouse event
3379 synthesis, and enumeration of accessible desktops.
3381 2001-08-16 Michael Meeks <michael@ximian.com>
3383 * configure.in: use AM_GLIB_GNU_GETTEXT.
3385 * Makefile.am (SUBDIRS): kill intl.
3387 2001-08-15 Michael Meeks <michael@ximian.com>
3389 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3391 * configure.in: upd.
3393 * configure.in: depend on a recent bonobo-activation that
3394 will find our server files ...
3396 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3398 * libspi/accessible.c : accessible_new() :
3399 Now we add the Component interface via bonobo_object_add_interface,
3400 if the contained AtkObject implements AtkComponent.
3401 * libspi/accessible.h : now include "component.h"
3402 * libspi/component.h :
3403 * libspi/component.c : added files - implementation of
3404 bonobo wrapper object for Accessibility/Component
3405 * libspi/listener.c :
3406 Added test code to check for Accessibility/Component:1.0
3407 interface and report whether it is implemented by the
3409 * libspi/registry.c :
3410 Now we check for not only the hash of the whole event
3411 string before relaying the event, we also check the
3412 "minor" event string (without the detail string).
3413 This allows event listeners to be registered against
3414 all events of a certain major+minor type, or just
3415 against a specific major+minor+detail type.
3416 * libspi/accessible.c :
3417 Added implementations for Accessible:get_parent(),
3418 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3419 * libspi/registry.c :
3420 * libspi/listener.c :
3421 Replaced calls to Accessibility_Accessible_ref() and
3422 Accessibility_Accessible_unref() with
3423 calls to bonobo_object_dup_ref() and
3424 bonobo_object_release_unref(), so that the CORBA object
3425 is dup-ed and released when relayed, as well as the bonobo object.
3427 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3429 * libspi/Makefile.am,
3430 registryd/Makefile.am,
3431 at-bridge/Makefile.am.
3432 test/Makefile.am, configure.in:
3433 reverse previous changes.
3435 * /idl/Image.idl: fix typo.
3437 * test/Makefile.am: put DEBUG_FLAGS
3440 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3442 * test/app.c: use argv[0] instead of
3445 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3447 * libspi/Makefile.am,
3448 registryd/Makefile.am,
3449 at-bridge/Makefile.am.
3450 test/Makefile.am, configure.in:
3451 cleanup, replace individual LIBS/CFLAGS with
3452 AT_COMMON_{LIBS|CFLAGS}.
3456 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3458 * configure.in, libspi/Makefile.am:
3459 Change IDL path checking for bonobo-activation
3462 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3464 * registryd/registry.c : separated event listeners to use
3465 3 separate lists (focus, window, toolkit). Began testing
3466 event names against hashes before relaying events.
3467 * test/at.c : now register for events of type "focus:"
3468 * test/app.c : now generate events of type "focus:"
3469 * at-bridge/bridge.c : register with ATK for focus events,
3470 and we now relay those focus events to any "focus:" listeners.
3471 This now works with the bridge as a GTK_MODULE when running test/at.
3472 * libspi/registry.c :
3473 * libspi/listener.c :
3474 now we ref event sources before propagating, and unref on receipt.
3475 * libspi/registry.c :
3476 some changes to internal structs, to support event typestring hashes.
3477 * text/app.c : changed the way the appname is generated.
3478 * cspi : added directory that will hold the C bindings library for
3479 non-CORBA/bonobo-savvy clients.
3480 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3481 * idl/Component.idl : added in parameter to indicate coord system for
3482 geometry-related calls.
3483 * idl/Hyperlink.idl : added readonly n_links attribute
3484 * idl/Image.idl : changed methods to attributes.
3486 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3488 * at-bridge/Makefile.am: link against
3489 ../libspi/libspi.la instead of -lspi.
3491 * at-spi/test/app.c: include
3492 bonobo-activation.h. Use a default appname
3493 if one is not provided.
3495 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3497 * idl/Registry.idl : temporarily changed register_Application
3498 to oneway, to work around issue with initial registration
3500 * idl/Application.idl : changed attribute "id" from readonly
3501 to read-write, since it needs to be assigned by Registry.
3502 * registryd/registryd.c : added call to set application id
3504 * registryd/registry.c : changed de-registration procedure to
3505 use CORBA_Object_hash() to find matching object ref in application
3506 lists and listener lists.
3507 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3508 began distinguishing between event types (work in progress).
3510 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3513 * libspi/application.c:
3514 Added implementations for get/set id, get_toolkitName,
3516 * registryd/registryd.c :
3520 Converted from use of OAF to bonobo-activation.
3521 * libspi/desktop.h :
3522 * libspi/desktop.c :
3524 Removed references to atksimpleobject, since base atkobject
3525 implementation now provides functionality we need.
3526 * libspi/atksimpleobject.c :
3527 * libspi/atksimpleobject.h :
3532 * at-bridge/Makefile.am
3533 * at-bridge/bridge.c
3536 Added directory "bridge" and contents, and added dependencies
3537 in Makefile.am/configure.in.
3538 Initial checkin of "at-bridge".
3539 This code is a GTK_MODULE which automatically registers
3540 GTK+ apps with the accessibility registry, using an object
3541 reference to the root ATK object.
3543 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3545 * po/Makefile.in.in: Remove. Again. If this
3546 doesn't get autogenerated - you need to update
3549 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3551 * po/Makefile.in.in: Add. Again.
3553 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3555 * libspi/accessible.c : added support for 'description' property.
3556 * libspi/accessible.c
3558 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3559 (since the two are now equivalent in libbonobo)
3567 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3568 Bonobo::Unknown as does Accessibility::Accessible.
3569 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3570 interface with Bonobo::Stream, since it was redundant with it.
3571 (The Stream returned by a StreamableContext object is expected to
3572 implement only a subset of Bonobo::Stream)
3574 2001-07-28 Anders Carlsson <andersca@gnome.org>
3576 * libspi/accessible.c (accessible_object_finalize): Change
3577 g_free to g_object_unref since the AtkObject is a GObject.
3579 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3581 * idl/Accessibility.idl: add new IDL files
3584 * idl/Action.idl: Definitions of actionable UI object
3585 * idl/Component.idl: Definitions of UI component geometry, etc.
3586 * idl/Hyperlink.idl: Defs of hyperlink behavior
3587 * idl/Image.idl: Def of accessible image
3588 * idl/Selection.idl: Definition of UI object with selectable children
3589 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3590 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3591 * idl/Text.idl: Interface defs for UI elements with complex textual content
3592 * idl/Value.idl: Definition of UI element that is a value controller or display
3594 2001-07-27 Michael Meeks <michael@ximian.com>
3596 * po/Makefile.in.in: remove autogenerated file from CVS.
3598 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3601 * idl/Registry.idl: include guard.
3603 * idl/Accessibility.idl: Add, and include all the other IDL
3606 * idl/*.idl: remove mass of pragmas etc.
3608 2001-07-26 Michael Meeks <michael@ximian.com>
3610 * registryd/Makefile.am (registryd_SOURCES): remove
3613 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3615 * libspi/.cvsignore, registryd/.cvsignore,
3616 test/.cvsignore: updated.
3618 * po/Makefile.in.in: gettext update.
3620 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3622 * initial CVS checkin
3624 2001-06-29 Michael Meeks <michael@ximian.com>
3626 * configure.in: add AM_CONFIG_HEADER to gen config.h