1 2002-03-13 Bill Haneman <bill.haneman@sun.com>
4 (impl_accessibility_accessible_get_child_at_index):
5 Change return value for g_return_if_fail ()
6 to CORBA_OBJECT_NIL instead of "0" (!)
8 * registryd/Makefile.am:
9 * registryd/Accessibility_Register.server.in:
10 Changed name of executable, "registryd",
11 to something more informative:
14 2002-03-13 Michael Meeks <michael@ximian.com>
16 * atk-bridge/bridge.c (atk_bridge_init): don't register
17 if we're in a bonobo-component, rather than a bonobo app.
19 2002-03-13 Michael Meeks <michael@ximian.com>
21 * atk-bridge/bridge.c (gtk_module_init): split
22 out body to (atk_bridge_init): here, since otherwise
23 we get symbol conflicts and oddness when invoked
24 from (gnome_accessibility_module_init): here (upd.)
26 2002-03-11 Bill Haneman <bill.haneman@sun.com>
29 New file. Explicitly allow "build sheriff" putbacks provided
30 they are tested on Solaris.
32 * docs/reference/cspi/Makefile.am:
33 Added '-' to the "cp" command for index.sgml.
34 ("patch by thomasvs, soon coming to a GUADEC near you")
37 Incremented version number (0.9.0) for new release.
38 Changed macro that checks for popt, to better detect
39 obsolete versions of popt.
42 Added X_LIBS to AC_SUBST, for applications
43 that call Xlib API directly.
46 2002-03-07 Bill Haneman <bill.haneman@sun.com>
49 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
52 Fix regression caused by hard-coding major
53 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
56 * test/test-simple.c (test_editable_text),
57 (test_test): revert previous change (error was
58 a regression in gail which is now fixed).
60 2002-03-04 Michael Meeks <michael@ximian.com>
62 * test/test-simple.c (test_editable_text),
63 (test_text): pass G_MAXINT instead of '-1' for
64 whole string - is this a good thing !?
66 * cspi/spi_accessible.c
67 (Accessible_getRelationSet): fix crasher bug
68 overwriting the end of the array.
70 * test/test-simple.c (validate_accessible): free,
71 not g_free returned relation set.
73 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
75 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
76 implemented stateset support
78 * idl/Accessibility_State.idl: Made necessary changes to
79 the IDL to support state sets.
81 2002-02-12 Bill Haneman <bill.haneman@sun.com>
83 * registryd/deviceeventcontroller.c:
84 Added implementation for generateMouseEvent.
86 * cspi/spi_registry.c:
87 Connected new implementation for generateMouseEvent
90 2002-02-12 Bill Haneman <bill.haneman@sun.com>
93 Incremented revision (but no change in public API
94 outside of 'utils', which are not installed public yet.)
97 Changed to use atk_component API for layers and
98 mdi_zorder, instead of deprecated atk_object API.
100 Magnification Utility Enhancements:
103 Added implementation of createZoomRegion, clearAllZoomRegions,
104 resizeZoomRegion. Added new commandline argument
105 "--no-initial-region". Note that clearAllZoomRegions doesn't
106 unmap the old '0' region as it should (yet), and the other
107 methods only work when creating/resizing a single region,
109 (Code for multiple region support will be added later.)
112 Now we raise the magnifier window each time it's refreshed;
113 this will help keep it on top.
116 Added simple wrappers for above, used by mag_control.
117 For general use, it's recommended to use the bonobo magnifier
118 control API directly instead of using these wrappers.
121 Moved ZoomRegionData from magnifier.c to this file.
123 * util/mag_control.c:
124 Added some code to exercise new IDL implementations.
126 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
128 * libspi/text.c: Provide implementation for getAttributes.
130 2002-02-04 Bill Haneman <bill.haneman@sun.com>
133 Incremented revision.
135 * test/test-simple.c:
136 Replaced use of deprecated g_main_iteration with
137 g_main_context_iteration.
139 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
142 Incremented revision for desktop alpha 2.
144 2002-01-28 Mark McLoughlin <mark@skynet.ie>
146 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
149 * test/simple-at.c: include netinet/in.h.
151 2002-01-24 Mark McLoughlin <mark@skynet.ie>
153 * cspi/spi_accessible.c: (Accessible_getRelationSet):
154 use NULL, not CORBA_OBJECT_NIL.
156 * libspi/accessible.c:
157 (impl_accessibility_accessible_get_relation_set):
158 allocate the sequence correctly.
160 * libspi/remoteobject.h: kill spi_remote_object_new.
162 * test/test-simple.c: (validate_accessible): add code
163 to test relation sets, now all we need is to figure
164 out how to excercise this code path :/
166 2002-01-18 Michael Meeks <michael@ximian.com>
169 (key_listener_cb): consume the key.
170 (test_keylisteners): update.
171 (main): wait for any pending unrefs on events.
173 * registryd/deviceeventcontroller.c
174 (spi_controller_update_key_grabs): only re-issue the
175 grab on a key release.
176 (spi_device_event_controller_forward_key_event):
177 refresh the keygrabs before we notify the listeners,
178 to reduce the X ungrab / re-grab race.
179 (spi_controller_register_with_devices): remove
180 XSelectInput - we do that with the gdk_window_ call.
181 (_spi_controller_device_error_handler): return a value.
182 s/GDK_DISPLAY/spi_get_display/
184 2002-01-17 Michael Meeks <michael@ximian.com>
186 * registryd/deviceeventcontroller.c
187 (_deregister_keygrab): don't blow out the later
190 * test/test-simple.c (test_keylisteners): do a
191 more intelligent validation.
193 2002-01-14 Michael Meeks <michael@ximian.com>
195 * atk-bridge/bridge.c
196 (gnome_accessibility_module_init),
197 (gnome_accessibility_module_shutdown): impl.
198 (gtk_module_init): protect vs. double inits.
199 (add_signal_listener): impl.
200 (spi_atk_bridge_state_event_listener): kill
201 (deregister_application): split out of
202 (spi_atk_bridge_exit_func): here.
204 2002-01-18 Bill Haneman <bill.haneman@sun.com>
207 Added caret tracking when using magnifier, and
208 now use text bounds for focus tracking of text elements, rather than
209 the component bounds - this is helpful for short text fields in long
210 table cells, at high magnification.
212 2002-01-16 Bill Haneman <bill.haneman@sun.com>
214 * registryd/deviceeventcontroller.c:
215 Regression fix for keylistener de-registration; global keygrabs
216 were not being released when deregisterKeystrokeListener was
217 called in cspi, since
218 Accessibility_DeviceEventController_deregisterKeystrokeListener
219 was called with a zero-length keyset. That is because the cspi
220 method, SPI_deregisterKeystrokeListener, does not take a keyset
221 parameter but instead should remove all the key grabs held be a
223 The code in impl_deregister_keystroke_listener was changed to copy
224 the keylist from the listener instance previously registered with
225 the DeviceEventController before releasing the grabs.
227 * registryd/registry.c:
228 * registryd/deviceeventcontroller.c:
229 * libspi/spi-private.h:
231 Changed spelling of "re-enterant" to "re-entrant" globally.
233 2002-01-16 Bill Haneman <bill.haneman@sun.com>
235 * test/test-simple.c:
236 Changed key listeners test - the test was slightly mis-using the
237 (admittedly poorly documented) SPI_generateKeyboardEvent API.
238 It now uses '=' as the key event listened to and generated,
239 relying on a keysym match rather than assuming that keycode 33
240 is always equal to keysym '!'.
242 2002-01-15 Bill Haneman <bill.haneman@sun.com>
245 Changed simple-at to use a specific keyset, rather than
246 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
247 manager, desktop, etc.
249 2002-01-11 Bill Haneman <bill.haneman@sun.com>
251 * registryd/deviceeventcontroller.c:
252 Replaced standard X error handler with a special handler that
253 is non-fatal for failed keygrabs. This works around
254 problems with keygrab clashes sometimes observed on
256 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
257 mouse handling code as yet).
259 2002-01-11 Bill Haneman <bill.haneman@sun.com>
262 Incremented revision for desktop alpha release.
265 Fixed a couple of the more glaring errors (still not
268 2002-01-11 Michael Meeks <michael@ximian.com>
270 * registryd/deviceeventcontroller.c
271 (spi_device_event_controller_forward_key_event): kill
272 XUngrabKey / XKeyGrab race.
273 (spi_controller_grab_keyboard): rename to
274 (spi_controller_update_key_grabs): this, and deal
275 with incremental adding / removing grabs more
277 (_register_keygrab): ensure we're not pending a remove.
278 (spi_grab_mask_free): impl.
279 (spi_controller_register_global_keygrabs): split out
281 (handle_keygrab): impl.
282 (_deregister_keygrab): impl.
283 (spi_controller_deregister_global_keygrabs): impl.
284 (spi_controller_update_key_grabs): re-issue the grab if
285 we just recieved a notification.
287 * test/test-simple.c (key_listener_cb): remove debug.
289 * registryd/deviceeventcontroller.c
290 (spi_controller_register_device_listener): after
291 registering a global keygrab, actualy register it !
292 don't wait for a timeout; doh !
294 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
295 to make it more readable / manipulable.
296 s/grabmask/grab_mask/ s/refcount/ref_count/
297 s/keyval/key_val/ s/modmask/mod_mask
299 2002-01-08 Michael Meeks <michael@ximian.com>
301 * registryd/deviceeventcontroller.c
302 (spi_controller_register_with_devices): use gdk calls to
304 (global_filter_fn): implement the filter.
305 (spi_device_event_controller_check_key_event): rename to
306 (spi_device_event_controller_forward_key_event): this & upd.
307 (spi_get_display): replace with GDK_DISPLAY.
309 * registryd/deviceeventcontroller.c
310 (spi_controller_deregister_device_listener): unroll into
311 (impl_deregister_keystroke_listener): here to simplify.
312 (spi_controller_register_global_keygrabs): split cut and
313 paste (!) out into (_register_keygrab): here, shorter & sweeter.
314 (spi_controller_deregister_device_listener): remove.
315 (impl_register_mouse_listener): remove, no mouse listener
316 support in at-spi-1.0
318 * registryd/registry.c
319 (_device_event_controller_hook): kill.
320 (spi_registry_init): upd.
322 * registryd/deviceeventcontroller.c
323 (spi_device_event_controller_class_init): upd.
324 (spi_check_key_event): merge into.
325 (spi_device_event_controller_check_key_event):
326 here and kill strange static ev init, don't leak
327 the x_event - nor dynamicaly allocate it.
329 * registryd/registry-main.c (main): re-direct
330 timeout to remove strange vtable mess.
332 * registryd/deviceeventcontroller.c
333 (remove_listener_cb): impl.
334 (spi_controller_deregister_device_listener):
335 fix re-enterancy hazard.
337 2002-01-07 Michael Meeks <michael@ximian.com>
339 * registryd/deviceeventcontroller.c
340 (spi_device_event_controller_new): upd.
341 (impl_notify_listeners_sync): upd. debug.
342 (spi_notify_keylisteners): fix re-enterancy hazards,
343 prettify, remove O(n*n) iteration.
344 (spi_controller_grab_keyboard): fix iteration.
345 (spi_check_key_event): re-format to suit coding style.
346 Clean all the warnings - we're warning free.
348 * registryd/deviceeventcontroller.h:
349 * registryd/registry.h: make mutualy referential with
350 typesafe forward references instead of (!) void pointer
353 2002-01-11 Michael Meeks <michael@ximian.com>
355 * cspi/spi_accessible.c (role_names): add a role name
356 to sync this array with the enum; and make the regression
359 2002-01-10 Michael Meeks <michael@ximian.com>
361 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
362 allow expansion of enumeration & kill warning.
364 * test/test-simple.c (key_listener_cb): impl.
365 (test_keylisteners): impl.
367 * cspi/spi-listener.h: make listener signatures const
368 on the provided (const) events.
370 * test/keysynth-demo.c: upd. to const events.
372 * test/simple-at.c: ditto.
374 2002-01-11 Bill Haneman <bill.haneman@sun.com>
377 Rev the version to 0.5 (the previous tarball was named 0.4,
378 even though the micro number was 3), so we need to rev upwards
379 again for beta2/"desktop-alpha"
382 Checked in a demo script, which requires editing before use!
383 Proceed with caution.
386 Fixed typo in header which was redefining SPI_ACTION_CLASS.
388 * cspi/spi_accessible.c:
389 Add a couple of missing enum initializations, and fix some enum
392 * cspi/spi_registry.c:
393 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
395 * docs/reference/cspi/at-spi-cspi-sections.txt:
396 Remove/fix a couple of broken document references.
399 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
400 as Alt-Control to listen for commands, since on some systems
401 Control-Alt may already be grabbed.
403 2002-01-10 Bill Haneman <bill.haneman@sun.com>
406 Update version number to 0.4 for Beta2.
408 * libspi/accessible.c, libspi/accessible.h:
409 Expose spi_accessible_construct, to enable libgail-gnome
410 construction from spi_accessible subtype.
413 Workaround for bug in some non-gnome-compliant window managers
414 which made magnifier resize improperly.
416 2002-01-09 Bill Haneman <bill.haneman@sun.com>
418 * libspi/accessible.c: (spi_accessible_new) :
419 Move the test for SPI_IS_REMOTE_OBJECT to
420 spi_accessible_new_return, fixing a bug and compile time warning.
422 2002-01-08 Michael Meeks <michael@ximian.com>
424 * registryd/registry.c (parse_event_type): remove strndup.
426 * libspi/Makefile.am (libspi_la_SOURCES): remove
427 sources already included in the headers section.
429 * libspi/util.c: add.
431 * libspi/spi-private.h: add.
433 * registryd/registry.c: update to moved list iterators.
435 2002-01-05 Michael Meeks <michael@ximian.com>
437 * test/simple-at.c (main): upd. auto-module set to atk-bridge
439 * test/test-simple.c (main): ditto.
441 2002-01-04 Michael Meeks <michael@ximian.com>
443 * libspi/accessible.c (spi_accessible_new): remove 2nd,
446 * registryd/registry.c
447 (get_listener_list): impl.
448 (impl_accessibility_registry_register_global_event_listener):
449 re-impl. to simplify using ~, remove dodgy const cast off.
450 (parse_event_type): constify.
451 (impl_accessibility_registry_deregister_global_event_listener_all):
452 re-write, more efficiency and simplicity, kill re-enterancy
454 (compare_listener_corbaref, compare_corba_objects),
455 (compare_listener_quarks): define out.
456 (impl_accessibility_registry_deregister_global_event_listener):
457 re-write for effiency, and nail re-enterancy hazard.
458 (impl_accessibility_registry_get_desktop_list): impl.
459 (re_enterant_list_delete_link): impl.
460 (re_enterant_list_foreach): impl.
461 (remove_listener_cb): impl.
462 (_registry_notify_listeners): kill.
463 (notify_listeners_cb): impl.
465 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
466 (SPI_getDesktopList): impl.
468 * test/test-simple.c (test_desktop): test the methods.
470 2002-01-03 Michael Meeks <michael@ximian.com>
472 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
473 keystrings since we free them
474 (SPI_freeAccessibleKeySet): in here.
476 * libspi/accessible.c (spi_accessible_new): kill warning,
477 wonder what is going on with the constructor here.
479 2002-03-01 Bill Haneman <bill.haneman@sun.com>
481 * libspi/accessible.c (spi_accessible_new ()) :
482 Added check to see if AtkObject is an SpiRemoteObject before
483 creating an SpiAccessible.
485 2002-05-01 Bill Haneman <bill.haneman@sun.com>
487 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
488 Enable keygrabs using the Control modifier, now that they are
489 working properly (they were previously disabled).
492 Change the command keygrab for this demo to "Control+Alt", so as
493 to conflict with fewer other key commands on the system; this
494 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
496 Removed a pointlessly-chatty keylistener for unshifted keys
497 (shifted keys are still reported).
499 2002-02-01 Bill Haneman <bill.haneman@sun.com>
501 * libspi/remoteobject.h:
502 * libspi/remoteobject.c:
503 Added definitions for special AtkObject subtype, required for
504 support of remote components (specifically, used by BonoboControl
505 accessibility implementation).
507 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
509 * cspi/spi.h: synched relation types with ATK
511 * cspi/spi_accessible.c: Added implementations of
512 AcccessibleRelation_* methods
514 * idl/Accessibility_Relation.idl: added getRelationTypeName
515 method. Synched known relation types with ATK. Allowed for
516 relation type extension with the RELATION_EXTENDED type.
518 * libspi/relation.c: Provided implementations for
519 AccessibleRelation methods.
521 2002-01-01 Bill Haneman <bill.haneman@sun.com>
523 API tweaks for today's API 'freeze'.
526 Added placeholder functions to allow future compatible expansion
527 of the IDL interfaces.
529 * idl/Accessibility_Registry.idl:
530 Changed generateKeyEvent to generateKeyboardEvent. Changed
531 signature of this method to accept an optional keystring in
532 parameter (for complex text input synthesis) and changed use of
533 simple 'boolean' parameter in registerKeystrokeListener to a
534 struct, EventListenerMode.
536 * cspi/spi_accessible.c:
538 * cspi/spi_streamablecontent.c:
539 Added references to AccessibleStreamableContent interface, and
540 definition and implementation of AccessibleStreamableContent
543 * cspi/spi_registry.c:
545 Changed generateKeyEvent API to generateKeyboardEvent,
546 taking a new (optional) keystring parameter to support complex
551 Renamed directory (to better reflect its actual purpose, bridging
552 from at-spi to ATK). The .so module is also now named
555 * idl/Accessibility_Hypertext.idl:
556 * libspi/accessible.c:
557 * libspi/hypertext.h:
558 * libspi/hypertext.c:
559 Changed Accessibility_Hypertext to *not* derive from
562 * cspi/spi_registry.c:
563 Added list of legal event type names for 'window' events, which
564 completes the registry event API.
566 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
568 * at-bridge/bridge.c: Added registration for separate
569 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
570 signals. If either of the first two parameters to the generic
571 bridge signal handler are ints, they are passed on as event
572 details. This allows an AT to determine what text was inserted.
574 2001-12-21 Bill Haneman <bill.haneman@sun.com>
576 * registryd/deviceeventcontroller.c:
577 Fixed regressions in generateKeyEvent caused by the removal of
578 gdk_init from registryd; we now use pure X calls to connect to the
579 display, which makes sense because deviceeventcontroller already
580 uses a fair bit of X API (should eventually be migrated to a
581 'portability layer').
583 * registryd/desktop.c:
584 Fixed minor regression in spi_desktop_init, changed the way the
585 desktop name is being set to work with new spi_base API
586 (gobject-based, rather than AtkObject-based).
588 * registryd/Makefile.am:
589 Minor revision of makefile to use XTST_LIBS variable rather than
590 hard-wiring the Xtst LD_ADD element.
592 * test/keysynth-demo.c:
593 Tweaked an output message; added initialization of the
594 'keystrings' member of the "switch listener" key_set.
597 Squashed compile-time warning.
599 * libspi/accessible.c:
600 Cosmetic and formatting fixes, renamed a static method.
602 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
604 * libspi/accessible.c
606 * libspi/application.c
610 * libspi/editabletext.c
618 * registryd/desktop.c:
619 Changed SpiBase to contain a GObject pointer rather than an AtkObject
621 2001-12-17 Bill Haneman <bill.haneman@sun.com>
623 * idl/Accessibility_Registry.idl:
624 Added boolean member 'is_text' to DeviceEvent. This is for the
625 use of key events, and helps prevent ambiguity between composed
626 key strings and keysym names, since both may potentially be
627 returned in the 'event_string' member.
629 * at-bridge/bridge.c:
630 * registryd/deviceeventcontroller.c:
631 Use the 'is_text' member when notifying device event listeners.
632 Knon issue: composed characters are not dealt with correctly by
633 the global key listener implementation yet.
635 2001-12-17 Bill Haneman <bill.haneman@sun.com>
637 * at-bridge/bridge.c:
638 Namespaced local static methods to spi_atk_bridge_* where
639 previously named bridge_*, and spi_* elsewhere.
641 * at-bridge/bridge.c:
642 * cspi/bonobo/cspi-bonobo-listener.c:
643 Added demarshalling/conversion for string member of
644 Accessibility_DeviceEvent to AccessibleKeystroke.
646 * registryd/deviceeventcontroller.c:
647 Added code to fill the Accessibility_DeviceEvent key string value
648 member for global key events (i.e. from XGrabKey), to match
649 behavior of Accessibility_DeviceEvent from the toolkit key events
650 from the bridge. Fixed timestamp in global key event notifications.
653 Added printout of key event's string value to
654 report_ordinary_key_event, for demo/debugging purposes.
656 2001-12-15 Bill Haneman <bill.haneman@sun.com>
658 * idl/Accessibility_Registry.idl:
659 Removed Accessibility_KeyStroke structure in favor of generic
660 Accessibility_DeviceEvent structure.
661 Changed Accessibility_ControllerEventMask from a struct to an
664 * at-bridge/bridge.c:
665 Changed APIs to use DeviceEvent structure as above, and removed
666 bogus casting between these event structures.
668 * cspi/spi-listener.h:
669 Added keystring member of AccessibleKeystroke structure, to enable
670 matching on event "names" rather than only hardware codes and
674 Added keystrings member of AccessibleKeySet struct, to allow
675 matching on event names (as above).
676 Added declarations for SPI_createAccessibleKeySet and
677 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
678 event modmasks directly as unsigned ints rather than structs with
679 refcounts, in the DeviceEventController methods.
681 * cspi/spi_registry.c:
682 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
684 * cspi/spi-roletypes.h:
685 Added documentation of newly added SPI Roles.
687 * cspi/bonobo/cspi-bonobo-listener.c:
688 Changes in support of API changes above.
690 * libspi/accessible.c:
691 Converted APIs to use DeviceEvent structure (see IDL changes
694 * registryd/deviceeventcontroller.c:
695 Added DEControllerGrabMask structure to track keygrabs not only by
696 modmask but by keyset as well; this allows us to do "global"
697 (i.e. X) keygrabs on a per-key or keyset basis rather than always
698 grabbing on AnyKey and then filtering after-the-fact.
699 Bugfixes for event filtration mean that we don't get false matches
700 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
702 * registryd/deviceeventcontroller.c:
703 Namespaced a number of static methods to use spi_ prefix. Major
704 revision to internals of global (i.e. X) key grabs.
706 * registryd/deviceeventcontroller.h:
707 Removed keymask_list and added keygrabs_list to
708 SpiDeviceEventController struct.
711 Added use of SPI_createAccessibleKeySet API when creating a
712 listener for only one key. Attach a listener to "shift spacebar
713 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
714 X key event names to SPI key event names, so that listeners are
715 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
717 * test/keysynth-demo.c:
718 Changed (incorrect) use of X key event names (KeyPressed,
719 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
722 2001-12-12 Bill Haneman <bill.haneman@sun.com>
724 * libspi/accessible.c:
725 Convert all AtkRole enumerations to Accessibility_Role enums when
726 getting a role from an AtkObject.
728 * cspi/spi_accessible.c:
729 Complete the conversion of Accessibility_Role enums at runtime to
730 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
731 role enums correctly match those given in spi-roletypes.h.
732 Re-synchronize the local names list for AccessibleRole_getName ().
733 AccessibleRole_getName is now deprecated, since it duplicates the
734 more reliable Accessible_getRoleName.
735 Added some role types from Accessibility_Role.idl.
737 * idl/Accessibility_Role.idl:
738 Added some role types used by AtkRole.
740 2001-12-12 Bill Haneman <bill.haneman@sun.com>
743 * cspi/spi_registry.c:
745 * cspi/cspi-bonobo-listener.c:
746 Namespaced all methods that did not begin with an "SPI_" or
747 "Accessible" prefix to "SPI_".
750 Homogenized internal function namespace to "cspi_" for statics.
753 Patched tests to use the new CSPI API.
755 * docs/reference/cspi/at-spi-cspi-sections.txt:
756 Updated docs to reflect namespace changes, and added a number of
757 methods to the documentation.
759 * registryd/registry.c:
760 Changed use of strings and string hashes in listener event
761 matching and parse_event_string to use GQuark, which is guaranteed
764 * registryd/registry.h:
765 Squashed annoying warning.
767 * idl/Accessibility_Role.idl:
768 Extended range of available Accessibility_Role values.
770 * cspi/spi_accessible.c:
771 Re-ordered role names.
773 2001-12-12 Bill Haneman <bill.haneman@sun.com>
775 * idl/Accessibility_Value.idl:
776 Revert use of union back to CORBA_double, since the double type is
777 more efficient and can contain the other types without loss of
780 * idl/Accessibility_Accessible.idl:
781 Added method Accessibility:Accessible:getRoleName, to complement
782 Accessibility:Accessible:getRole.
784 * cspi/spi_accessible.c:
786 Added C binding for above, Accessible_getRoleName (), and changed
787 signature of Accessible_getRole () to return an AccessibleRole.
789 * cspi/spi-roletypes.h:
790 Changed AccessibleRole_getName to return a char * instead of a
791 const char *. This method is now at least temporarily deprecated
792 in favor of asking Accessibles for their RoleNames directly.
795 Revert to match Accessibility_Value.idl;
799 Change signature of AccessibleValue methods to use double rather
803 * cspi/spi_accessible.c:
804 Changed Accessible_getRole to return an AccessibleRole enum rather
805 than a UTF-8 string. The UTF-8 string can still be obtained via
806 AccessibleRole_getName ().
808 * test/test-simple.c:
809 Add test_action. Small fixup to match API change to Accessible_getRole.
812 Bugfix for get_action_from_servant ().
814 2001-12-11 Michael Meeks <michael@ximian.com>
816 * libspi/libspi.h: remove registry.h and
817 desktop.h, deviceeventcontroller.h
819 * libspi/Makefile.am: remove registry.[ch],
820 desktop.[ch], deviceeventcontroller.[ch]
822 * registryd/Makefile.am: add registry.[ch],
823 desktop.[ch], rename registryd.c to registry-main.c.
824 add deviceeventcontroller.[ch]
826 2001-12-11 Bill Haneman <bill.haneman@sun.com>
829 Replace setenv() call with putenv ().
831 * libspi/component.c:
832 Bugfix in AccessibleComponent_getExtents (),
835 2001-12-11 Michael Meeks <michael@ximian.com>
837 * libspi/image.c (impl_getImageExtents): impl.
838 (spi_image_class_init): upd.
841 (AccessibleImage_getImageDescription): fix daft bug
844 * test/test-simple.c (global_listener_cb): update
845 to only quit if not --poke
846 (main): catch --poke.
847 (validate_accessible): upd. dumping, call test_image
850 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
853 * idl/Accessibility.idl: update all IDL includes.
855 * idl/*.idl - rename to namespace - this sucks, blame
856 mjs' bad decision for oafd.
858 * test/test-simple.c (create_test_window): add more tests.
859 (create_tree): split this out.
860 (validate_accessible): bugfix.
862 2001-12-11 Michael Meeks <michael@ximian.com>
864 * cspi/bonobo/cspi-bonobo-listener.c:
865 (cspi_kestroke_listener_unref),
866 (cspi_event_listener_unref): impl. undoing previous
867 homenous environment - for Bill.
869 * cspi/spi_table.c (long_seq_to_array): use
872 * cspi/spi_main.c: split out all bonoboish bits into
875 * cspi/spi-impl.h: upd. typedefs.
877 * cspi/spi_registry.c: update to lowlevel API,
878 return booleans to indicate success in some places.
880 * cspi/spi_event.c: update to lowlevel API.
882 * cspi/bonobo/Makefile.am: add.
884 * cspi/bonobo/cspi-lowlevel.h: add
886 * cspi/bonobo/cspi-bonobo.c: add
888 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
890 * cspi/Makefile.am: remove spi-listener-impl.[ch],
891 (SUBDIRS): add bonobo, link in the libs.
893 * cspi/spi-util.c: kill this file.
895 * TODO: merge in my bits.
897 2001-12-11 Michael Meeks <michael@ximian.com>
899 * test/test-simple.c (test_value, test_table, main):
900 remove unused variables causing warnings.
902 * configure.in: cleanup checks - require gail.
904 2001-12-11 Bill Haneman <bill.haneman@sun.com>
907 Changed Value interface to use SValue (scalars) rather than
908 assuming all values are floats. This allows floats, doubles,
909 longs, shorts, and unsigned values to be manipulated.
910 Introduced Accessibility:SValue union.
913 Updated to use new API above, and to work correctly with GValues
914 of different types in AtkValue.
917 Updated to use new API above. cspi's API is as yet unchanged.
920 Updated the Value revision action item.
922 2001-12-10 Bill Haneman <bill.haneman@sun.com>
924 * test/test-simple.c:
925 Added test_table (GtkTreeView widget in test window to follow).
926 Un-commented test_value, added GtkRange widget.
927 Added GtkTreeView widget with GtkListStore. It passes regression
928 test but leaks one SPI object for some reason.
931 Fixed bug in impl__set_currentValue.
933 2001-12-10 Michael Meeks <michael@ximian.com>
935 * cspi/spi_text.c: audit for exception handling,
936 tolerating NULL object references safely etc.
938 * cspi/spi_value.c: ditto.
940 * cspi/spi_table.c (AccessibleTable_getSummary),
941 (AccessibleTable_getAccessibleAt),
942 (AccessibleTable_getRowHeader),
943 (AccessibleTable_getColumnHeader),
944 (AccessibleTable_getCaption): fix bugs hidden by
946 (long_seq_to_array): impl.
947 (AccessibleTable_getSelectedRows),
948 (AccessibleTable_getSelectedColumns): use it.
950 2001-12-10 Bill Haneman <bill.haneman@sun.com>
953 Added a TODO list (rough and short for now).
955 * cspi/spi_hyperlink.c:
956 * cspi/spi_hypertext.c:
957 Fixed macro name typos, and remove use of obsolete macro in
958 AccessibleHyperlink_getLink.
961 * cspi/spi_accessible.c:
962 * cspi/spi_application.c:
963 * cspi/spi_component.c:
964 * cspi/spi_selection.c:
967 Documentation fixes (removed return values from ref/unref methods).
969 2001-12-10 Michael Meeks <michael@ximian.com>
971 * cspi/spi_action.c: audit for exception handling,
972 tolerating NULL object references safely etc.
974 * cspi/spi_accessible.c: ditto.
976 * cspi/spi_component.c: ditto.
978 * cspi/spi_editabletext.c: ditto.
980 * cspi/spi_hyperlink.c: ditto.
982 * cspi/spi_hypertext.c: ditto.
984 * cspi/spi_image.c: ditto.
986 * cspi/spi_selection.c: ditto.
988 2001-12-10 Michael Meeks <michael@ximian.com>
990 * configure.in: use cspi/libspi.pc.in instead.
992 * Makefile.am (pkgconfig_DATA): upd. to match.
994 * test/simple-at.c (report_focus_event): kill hacks around
995 bad return values, use putenv not setenv
997 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
998 fire ChildGone - I killed it.
1000 * libspi/component.c
1001 (impl_accessibility_component_get_extents): remove
1004 * idl/Accessible.idl: kill ChildGone exception.
1006 * cspi/*.[ch]: kill int return from ref / unref.
1008 * cspi/spi_main.c (cspi_object_add_check): fold into
1009 (cspi_object_add): here.
1011 * cspi/spi_component.c (AccessibleComponent_getExtents):
1012 handle exceptions elegantly.
1014 * cspi/spi-private.h (cspi_check_ev_return),
1015 (cspi_return_if_fail): impl.
1017 * cspi/spi_accessible.c: use extensively.
1018 (AccessibleStateSet_equals): add direct compare check.
1020 * cspi/spi_selection.c: tolerate NULL objs, and check
1021 exceptions before return.
1023 * cspi/spi-util.c (cspi_warn_ev): rename to
1024 (cspi_check_ev): this & don't pass ev in; no point.
1026 2001-12-10 Michael Meeks <michael@ximian.com>
1028 * test/test-simple.c: use putenv not setenv
1029 (get_environment_vars): more chatty if you're not using
1032 * test/simple-at.c: do the setenv so more people see the
1035 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1037 * libspi/registry.c:
1038 Changed check of CORBA_environment on notification to be a warning
1039 instead of an error for the moment, since we can recover from this
1040 error when caused by a queued notification from a dead app.
1043 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1044 used by all current implementors of AtkValue), and coerce to
1045 CORBA_float. (Proper general case fix may require change to Value.idl).
1047 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1051 * cspi/spi_accessible.c:
1052 Documentation fixes: added user_data params to documentation for
1053 listeners and callbacks.
1055 * cspi/spi_accessible.c:
1056 Changed AccessibleStateSet_compare to return a
1057 StateSet rather than return the difference set into a third parameter.
1060 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1063 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1064 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1068 Remove subdirectory po from SUBDIRS for now.
1070 * at-bridge/bridge.c:
1071 Beefed up a couple of debug printouts.
1072 One-line fix for signal notification name formatting.
1074 * libspi/accessible.c:
1075 Added assertion to spi_accessible_new ().
1077 * libspi/application.c:
1078 Put #ifdef qualifiers around a printf.
1081 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1083 * registryd/Makefile.am:
1085 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1086 INTLTOOL_SERVER_RULE macro.
1089 Added an event listener for several ATK signals, for
1090 testing and debugging. Removed a few g_warnings.
1091 Added test output if focussed item implements the Value interface.
1093 * test/test-simple.c:
1094 Added test_value () function (known not to pass at the moment, so
1095 not actually called yet.
1097 2001-12-08 Michael Meeks <michael@ximian.com>
1099 * at-bridge/bridge.c (bridge_focus_tracker),
1100 (emit_eventv): fix the same ref. leak.
1101 (register_atk_event_listeners): don't leak.
1103 * cspi/spi-listener-impl.c (cspi_event): more
1104 protection from client code.
1106 * test/test-simple.c (test_desktop): unref the app.
1108 * test/Makefile.am: upd. TESTS.
1110 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1112 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1114 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1116 * cspi/spi_registry.c: constify in strings.
1117 (deregisterGlobalEventListenerAll): don't release the ref.
1119 * cspi/spi.h: start removing redundant / conflicting
1120 gtkdoc comments, making the API readable at a glance :-)
1122 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1124 * test/keysynth-demo.c (keysynth_exit, main): upd.
1126 * test/simple-at.c (main, simple_at_exit): upd.
1128 * test/test-simple.c (unutterable_horror): kill.
1129 (utterable_normal_derefs): kill.
1130 (main): upd & do a setenv before gtk_init, so that we
1131 can use memprof - and to save the pain of remembering
1132 this, if we're running under memprof - don't exit.
1134 * cspi/spi_main.c (SPI_exit): return exit status
1136 (SPI_event_quit): impl.
1137 (SPI_event_main): simplify.
1138 (cspi_is_gnome_app): kill.
1139 (SPI_init): kill isGNOMEapp arg.
1141 * at-bridge/bridge.c (register_atk_event_listeners):
1142 re-instate the unref.
1143 (bridge_exit_func): don't re-activate the registry,
1144 protect vs. theoretical re-entry, use the
1145 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1146 assert a clean shutdown - for regression tests.
1148 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1150 * configure.in: Comment out dummy i18n support for now,
1151 otherwise it fails to build.
1152 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1153 EXTRA_DIST. They are missing in tarball.
1155 2001-12-07 Michael Meeks <michael@ximian.com>
1157 * util/magnifier.c: kill bonobo activation reg. race.
1159 * libspi/component.c
1160 (impl_accessibility_component_get_extents): make it match
1163 * libspi/registry.c (_registry_notify_listeners):
1164 re-remove X headers & reconcile conflicts.
1165 (spi_listener_struct_free): bad conflict resolve.
1166 (impl_accessibility_registry_register_application):
1167 more bad merging fixed.
1168 (impl_accessibility_registry_deregister_application): ditto.
1169 (spi_registry_new): ditto.
1170 (spi_registry_init): don't have an applications field.
1172 [ merge fixups2 branch to here ]
1173 2001-12-07 Michael Meeks <michael@ximian.com>
1175 * test/simple-at.c (report_focus_event),
1176 (report_focussed_accessible): remove g_warning debug.
1178 2001-12-07 Michael Meeks <michael@ximian.com>
1180 * test/test-simple.c (validate_tree): comment out some checks.
1181 (test_desktop): app now not registered idly - horay.
1183 2001-12-07 Michael Meeks <michael@ximian.com>
1185 * cspi/spi_registry.c
1186 (registerAccessibleKeystrokeListener): clean, stop it leaking
1187 great swathes of memory, and device event controller references.
1188 ensure we always pass valid sequences.
1189 (deregisterAccessibleKeystrokeListener): ditto.
1190 (generateKeyEvent): upd.
1192 * at-bridge/bridge.c (bridge_key_listener): handle
1193 registry dead exception gracefully.
1194 (bridge_focus_tracker, emit_eventv): free ev.
1196 * test/simple-at.c (report_focus_event): fix polarity.
1198 * libspi/application.c (notify_listeners): kill the ev
1199 argument, and make sure we init the ev we use.
1200 (spi_application_object_event_listener): split out a chunk
1201 (get_atk_object_ref): here & fixup.
1202 (reverse_lookup_name_for_toolkit_event): make const.
1203 (spi_application_toolkit_event_listener): fixup, kill leaks
1206 * at-bridge/bridge.c (register_atk_event_listeners):
1207 don't unref the noop object - causes grief.
1209 * libspi/registry.c: remove the X headers.
1210 turn off the debug churn.
1212 * libspi/accessible.c (spi_accessible_new_return): only
1213 release the ref if we are supposed to [doh]
1215 * test/simple-at.c (report_button_press, report_focus_event):
1216 guard vs. unexpected exit.
1218 * at-bridge/bridge.c (gtk_module_init): prune printf.
1219 (bridge_exit_func): fix app unref.
1221 * libspi/Makefile.am: don't install registry or desktop.h
1223 * libspi/*.h: update includes.
1225 * libspi/application.h: don't include ourself, or
1226 other redundant headers.
1228 2001-12-06 Michael Meeks <michael@ximian.com>
1230 * libspi/accessible.c
1231 (get_accessible_from_servant): impl.
1232 Upd. all CORBA impl.s to use it killing cut and paste.
1234 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1236 (SPI_init): register atexit cleanup handler here.
1238 2001-12-06 Michael Meeks <michael@ximian.com>
1240 * at-bridge/bridge.c (gtk_module_init): g_error on
1241 activation exception
1243 2001-12-06 Michael Meeks <michael@ximian.com>
1245 * at-bridge/bridge.c (gtk_module_init): some sort of
1246 confusing merge clash - reverted.
1247 (bridge_idle_init): ditto.
1249 * test/test-simple.c (main, utterable_normal_derefs):
1250 merge from Bill - somehow not committed.
1252 2001-12-06 Michael Meeks <michael@ximian.com>
1254 * libspi/value.c (spi_value_class_init): upd.
1255 (spi_value_finalize): kill.
1257 * libspi/table.c (spi_table_finalize): kill.
1258 (spi_table_interface_new): upd.
1259 (spi_table_class_init): upd.
1260 (get_table_from_servant): impl.
1261 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1263 * libspi/selection.c (spi_selection_finalize): kill.
1264 (spi_selection_interface_new): upd.
1265 (spi_selection_class_init): upd.
1266 (get_selection_from_servant): impl.
1267 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1269 * libspi/relation.c (spi_relation_finalize): kill.
1270 (spi_relation_class_init, spi_relation_new): upd
1272 * libspi/image.c (spi_image_finalize): kill.
1273 (spi_image_class_init): upd.
1274 (spi_image_interface_new): upd.
1275 (get_image_from_servant): impl.
1276 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1278 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1279 (spi_hyperlink_finalize): kill.
1280 (spi_hyperlink_new): upd.
1281 (get_hyperlink_from_servant): impl.
1282 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1284 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1285 (spi_hypertext_finalize): kill.
1286 (spi_hypertext_class_init): upd.
1287 (get_hypertext_from_servant): impl.
1288 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1290 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1291 (spi_editable_text_interface_new): upd.
1292 (get_editable_text_from_servant): impl.
1293 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1295 * libspi/text.c (get_text_from_servant): impl.
1296 All impls - update to use it killing more cut and paste,
1297 also fix bad string returns on duff args ( a somewhat
1298 impossible case to handle - but hey ).
1299 (spi_text_construct): impl.
1300 (spi_text_interface_new): upd.
1301 (spi_text_object_finalize): kill.
1303 * libspi/component.c
1304 (accessibility_component_object_finalize): kill.
1305 (spi_component_class_init): upd.
1306 (get_component_from_servant): impl. helper to kill cut & paste.
1307 (impl_accessibility_component_contains):
1308 (impl_accessibility_component_get_accessible_at_point):
1309 (impl_accessibility_component_get_position):
1310 (impl_accessibility_component_get_extents):
1311 (impl_accessibility_component_get_mdi_z_order):
1312 (impl_accessibility_component_get_layer):
1313 (spi_component_interface_new): upd.
1315 * libspi/action.c (spi_action_finalize): kill.
1316 (spi_action_class_init): upd. inherit from SpiObject.
1317 (spi_action_interface_new): upd.
1318 (get_action_from_servant): impl. helper to reduce cut & paste.
1319 (impl_getKeyBinding, impl_getName, impl_doAction),
1320 (impl_getDescription): Use it everywhere.
1322 * cspi/spi_main.c (get_live_refs): a pointer hash.
1323 (spi_object_hash, spi_object_equal): comment out.
1324 There are issues with CORBA object hashing that need
1327 * libspi/application.c (spi_application_init),
1328 (spi_application_new): upd.
1330 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1331 (spi_accessible_class_init): upd.
1332 s/accessible/object/ in epv methods.
1334 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1336 * at-bridge/bridge.c:
1337 Reorder the bridge initialization into the bridge gtk_module_init,
1338 an immediate call to bridge_register_app, and an idle_add for
1339 register_atk_event_listeners (the only code that *must* wait until
1340 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1341 the activation, creates the application's Accessible object, and
1342 queues the bridge_idle_init function. Restored call to
1343 Accessibility_Registry_deregisterApplication().
1344 Prior to making this call we obtain a new reference to the
1345 registry, which is a temporary hack that helps us handle apps that
1346 shut down the bonobo mainloop before we get there.
1348 * libspi/registry.c:
1349 Fix string leakage in debug block, and don't segv if a an app
1350 dies before its event notifications have been propagated.
1353 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1354 as stopgap measure until we get proper exception handling when
1355 objects die during or before interrogation.
1359 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1360 Also changed default value of is_gnome_app to TRUE.
1363 * test/keysynth-demo.c:
1364 Changed use of SPI_init and SPI_event_main to reflect API change above.
1367 Made report_focus_event check the warning value from getName
1368 before reporting on focussed accessible; simplifies handling of
1369 notifications from dead objects.
1371 * test/test-simple.c: (Changes not in this patch since source is
1374 2001-12-05 Michael Meeks <michael@ximian.com>
1376 * registryd/registryd.c (main): protect against
1377 bonobo-activation startup race condition.
1379 * cspi/spi_main.c (cspi_object_add_check): cope
1380 with the exception elegantly.
1382 * idl/Accessible.idl: decl. ChildGone
1384 * libspi/desktop.c (spi_desktop_dispose): impl.
1385 (spi_desktop_class_init): upd.
1386 (spi_desktop_add_application),
1387 (spi_desktop_remove_application),
1388 (abnormal_application_termination): impl.
1389 (impl_desktop_get_child_at_index): re-impl.
1392 (impl_accessibility_registry_deregister_application),
1393 (impl_accessibility_registry_register_application):
1394 kill excessive debug clutter.
1396 * test/test-simple.c (test_misc): test some NULL
1397 tolerance. (main): upd.
1399 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1400 implements no interfaces - so let's not crash.
1402 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1404 * libspi/accessible.c (spi_accessible_new_return): impl.
1405 helper to calm the cut and paste, to cope with
1406 NULL AtkObjects effectively and efficiently, and to kill
1407 the referencing bugs.
1409 * libspi/table.c (impl_getAccessibleAt),
1410 (impl_getRowHeader, impl_getColumnHeader): upd.
1412 * libspi/hyperlink.c (impl_getObject): upd.
1414 * libspi/accessible.c
1415 (impl_accessibility_accessible_get_child_at_index): upd.
1417 * libspi/component.c
1418 (impl_accessibility_component_get_accessible_at_point): upd.
1420 * test/test-simple.c (test_editable_text, test_text): impl.
1423 * cspi/spi_editabletext.c
1424 (AccessibleEditableText_insertText): constify.
1426 * test/test-simple.c (focus_me): make more robust.
1428 * libspi/accessible.c: remove some printfs in methods that
1429 we test and work fine, so we can get a clean tree dump.
1431 * test/test-simple.c (validate_accessible),
1432 (validate_tree): make tree dumping pretty too.
1434 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1435 it builds without debug on.
1437 * test/test-simple.c (validate_accessible): fix the most
1440 * cspi/spi_main.c (spi_object_release): leave the nicely
1441 blanked memory around if in debug mode.
1443 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1445 [committed to fixups2]
1446 2001-12-05 Michael Meeks <michael@ximian.com>
1448 * libspi/editabletext.c
1449 (spi_editable_text_class_init): g_type_class_peek_parent,
1450 not interface peek - so we finalize cleanly.
1452 * libspi/accessible.c (spi_accessible_new): kill debug.
1454 * test/test-simple.c (validate_accessible): fix ref.
1455 leak, print strings before freeing them; sigh, comment a
1456 chunk out due to strangeness.
1457 (validate_tree): unref the child after use.
1459 * cspi/spi_component.c (AccessibleComponent_getLayer):
1460 add missing break statement, switch on zlayer not the
1461 uninitialized retval.
1463 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1464 before (possibly re-entering) remote unref.
1466 * test/simple-at.c (main): unref the desktop.
1468 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1471 * cspi/spi_main.c (cspi_accessible_is_a): here to
1472 isolate bonobo API usage more.
1474 * libspi/registry.c (impl_accessibility_registry_register_application):
1475 prune bogus comment.
1477 2001-12-04 Michael Meeks <michael@ximian.com>
1479 * test/test-simple.c (validate_tree): upd.
1480 IndexInParent check to make it more lucid.
1481 (validate_accessible): dump the tree.
1483 * libspi/accessible.c (de_register_public_ref),
1484 (get_public_refs): impl.
1485 (spi_accessible_new): make more efficient & intuitive.
1486 Now IndexInParent check works.
1488 2001-12-04 Michael Meeks <michael@ximian.com>
1490 * cspi/spi-util.h: remove.
1492 * cspi/spi.h: move SPI_freeString here
1494 * libspi/component.c (impl_accessibility_component_get_layer):
1496 (impl_accessibility_component_get_mdi_z_order): ditto,
1497 return -1 on error - is this ok ?
1499 * test/test-simple.c (test_application): impl.
1501 * cspi/spi_accessible.c (Accessible_getApplication),
1502 (Accessible_isApplication): impl.
1504 * libspi/registry.c (spi_listener_struct_free): release
1505 the CORBA reference too.
1507 * libspi/accessible.c
1508 (impl_accessibility_accessible_get_parent): fix ref leak.
1510 * libspi/registry.c (spi_registry_new): make the registry
1511 immortal - we don't want it to go away ever.
1513 * libspi/application.c
1514 (spi_accessible_application_finalize): impl. cleanup.
1516 * cspi/spi_registry.c
1517 (deregisterGlobalEventListenerAll),
1518 (deregisterGlobalEventListener),
1519 (deregisterAccessibleKeystrokeListener): fix ref leak.
1521 * cspi/spi_main.c (SPI_init): remove redundant ref.
1523 * test/test-simple.c (unutterable_horror): impl. to force a
1528 (impl_accessibility_registry_deregister_application): release
1529 the application when we de-register it.
1531 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1532 until we have the infastructure to get it right.
1534 2001-12-03 Michael Meeks <michael@ximian.com>
1536 * libspi/Makefile.am: only build eventlistener.[ch]
1538 * libspi/accessible.c
1539 (impl_accessibility_accessible_get_child_at_index): don't leak.
1541 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1542 before we hit the idle handler.
1544 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1545 debugging than exit.
1547 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1549 * libspi/listener.c (impl_notify_event): check source
1550 not NIL before unref.
1552 * libspi/registry.c (impl_registry_notify_event): ditto.
1554 * libspi/eventlistener.c
1555 (impl_accessible_event_notify_event): unref the source.
1557 * libspi/accessibleeventlistener.c
1558 (impl_accessible_event_notify_event): unref the source.
1560 * idl/Event.idl: remove 'hash_id' attribute - of no
1563 * libspi/application.c (notify_listeners): upd list
1565 (spi_application_object_event_listener),
1566 (spi_application_toolkit_event_listener): upd to do correct
1570 (_registry_notify_listeners): update.
1571 (parse_event_type): this method also leaks like a sieve.
1572 (impl_accessibility_registry_deregister_global_event_listener):
1573 fix ETYPE_WINDOW case.
1575 * libspi/application.c
1576 (impl_accessibility_application_register_object_event_listener):
1579 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1581 * libspi/hypertext.c (impl_getLink): ditto.
1583 * cspi/spi_main.c (cspi_object_add): remove
1584 bogus CORBA_Object_duplicate.
1586 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1589 * cspi/spi_accessible.c
1590 (Accessible_getRelationSet): fix leak / referencing issue.
1592 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1593 (cspi_object_add, cspi_object_unref): upd.
1594 (spi_object_release, get_live_refs): impl.
1595 (cspi_cleanup): simplify.
1597 * *.[ch]: s/boolean/SpiBoolean/
1599 * cspi/spi_accessible.c (role_names): actualy order so it
1600 corresponds with the enum !
1602 * test/test-simple.c (test_roles): check some role strings
1603 vs. enums to detect offset errors.
1605 2001-12-01 Michael Meeks <michael@ximian.com>
1607 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1609 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1611 (Accessible_getChildAtIndex): use cspi_add_check so we
1612 check the ev before using a (possibly) invalid value.
1614 * libspi/accessible.c
1615 (impl_accessibility_accessible_get_parent): don't segv
1618 * at-bridge/bridge.c (gtk_module_init): upd.
1619 (bridge_property_event_listener): don't leak strings
1621 (bridge_state_event_listener),
1622 (bridge_property_event_listener): don't use a static
1623 buffer in case of recursive event emission &
1624 re-enterancy - split out the swathe of cut and paste
1626 (emit_eventv): and fix 2 ref leaks here & comply to the
1628 (bridge_register_app): rename to
1629 (bridge_idle_init): this and kill arg parsing, split
1630 various inits & bonobo-activation registration to module
1631 init time, kill referencing error.
1632 (bridge_exit_func): fix the same leak.
1633 (bridge_focus_tracker): don't leak event structures
1635 (bridge_signal_listener): more leakage and cut & paste
1637 (bridge_key_listener): return the result - FIXME is
1638 this polarity correct ?
1639 (accessibility_keystroke_from_atk_key_event): rename
1640 (accessibility_init_keystroke_from_atk_key_event): and stop
1642 (gtk_module_init): return a value - not that it is checked by
1644 (bridge_key_listener): register my horror at casting between
1645 IDL defined structs.
1646 (bridge_get_registry): kill - not used.
1648 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1650 * test/test-simple.c (test_roles): impl.
1651 (test_desktop, validate_accessible, validate_tree): impl.
1653 * cspi/spi_accessible.c (role_names): fixup bogus
1654 MAX_ROLES setup, make constants const for efficient linkage
1655 (AccessibleRole_getName): conform to coding style, make
1658 2001-11-30 Michael Meeks <michael@ximian.com>
1660 * cspi/spi.h: add missing prototype.
1662 * libspi/registry.c (spi_listener_struct_new): fix sig.
1664 * test/Makefile.am: add test-simple
1666 * test/test-simple.c: add
1668 * test/test.sh: add.
1670 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1672 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1673 do it straight - since otherwise we often get an activation race.
1675 [ work before Bill duplicated a chunk of it ... ]
1676 2001-11-30 Michael Meeks <michael@ximian.com>
1678 * libspi/keystrokelistener.c
1679 (spi_keystroke_listener_class_init): fixup arg
1682 * libspi/eventlistener.c
1683 (spi_event_listener_class_init): ditto.
1685 * tests/test.sh: add.
1687 * cspi/spi-listener-impl.h: update macros.
1689 * cspi/spi-listener-impl.c
1690 (cspi_event_listener_remove_callback): add
1691 correct pre-conditions.
1693 * cspi/spi_main.c (SPI_exit): guard vs. double
1694 exits, exit the mainloop nicely.
1695 (SPI_event_main): make more sense.
1696 (SPI_init): move the atexit evilness here so we
1697 always do it (yuck).
1698 (SPI_event_main): upd.
1700 * test/simple-at.c: update for listener changes.
1702 * registryd/registryd.c (main): prune kruft.
1704 * libspi/libspi.h: upd.
1706 * libspi/eventlistener.[ch]: rename broken macros.
1708 * libspi/accessibleeventlistener.[ch]: remove.
1710 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1712 * test/test-simple.c: Add - automated tests.
1714 * cspi/spi-listener-impl.c (cspi_event),
1715 (cspi_key_event): add user_data to invoke.
1716 (cspi_keystroke_listener_finalize): impl.
1717 (cspi_keystroke_listener_class_init): upd.
1720 (createAccessibleEventListener),
1721 (AccessibleEventListener_addCallback),
1722 (createAccessibleKeystrokeListener),
1723 (AccessibleKeystrokeListener_addCallback): upd.
1725 * libspi/deviceeventcontroller.c
1726 (spi_device_event_controller_check_key_event): add public proto.
1729 (impl_accessibility_registry_deregister_global_event_listener):
1730 always init listeners.
1731 (_registry_notify_listeners): yes it is.
1733 * cspi/spi-listener-impl.c (cspi_key_event):
1735 (cspi_event_listener_finalize): impl.
1736 (cspi_event_listener_class_init): hook up.
1737 (event_handler_new, event_handler_free),
1738 (event_list_remove_by_callback): impl.
1739 (cspi_event_listener_remove_callback),
1740 (cspi_keystroke_listener_remove_callback),
1741 (cspi_keystroke_listener_add_callback),
1742 (cspi_event_listener_add_callback): upd.
1744 * libspi/keystrokelistener.c
1745 (keystroke_listener_object_finalize): kill
1746 (spi_keystroke_listener_class_init): upd.
1747 (spi_keystroke_listener_add_callback),
1748 (spi_keystroke_listener_remove_callback): kill,
1750 (impl_key_event): prune drasticaly.
1752 * libspi/eventlistener.c
1753 (spi_event_listener_add_callback),
1754 (spi_event_listener_remove_callback): kill, use
1756 (impl_accessible_event_notify_event): upd.
1757 (spi_event_listener_object_finalize): remove.
1759 * libspi/Makefile.am: use eventlistener.[ch]
1761 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1763 * libspi/registry.c (_registry_notify_listeners):
1764 Changed listener loop iteration to use preferred convention.
1765 Got rid of string memory leaks caused be calling g_strconcat
1766 inside function calls.
1768 * libspi/registry.c (parse_event_type):
1769 Stopped g_strconcat memory leaks, free the g_strsplit return,
1770 g_strdup the split pieces when used, etc.
1772 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1775 Change method 'compare' to return a 'difference set' rather than
1776 taking a StateSet as an out parameter (more Java-friendly).
1778 * idl/Accessible.idl:
1779 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1781 * idl/Component.idl:
1783 Changed methods 'getExtents' and 'getImageExtents' in these
1784 interfaces to return a BoundingBox structure.
1785 (getPosition and getSize are redundant and possibly should be
1786 removed, rather than creating a corresponding Point struct.)
1788 * cspi/spi_component.c:
1789 Modify implementation of getExtents to reflect the above IDL
1794 Add (missing) AccessibleImage_getExtents () API.
1796 * docs/reference/cspi/at-spi-cspi-sections.txt:
1797 Added AccessibleImage_getImageExtents () to docs.
1799 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1801 * idl/Component.idl:
1802 Added two methods, getLayer () and getMDIZOrder (), to reflect
1803 the new ATK methods atk_object_get_layer and
1804 atk_object_get_mdi_z_order. (Which arguably should be part of the
1805 AtkComponent API and AtkObject). Also added an enum,
1806 ComponentLayer, for the first method's return value.
1808 * libspi/component.c:
1809 Added implementations for these methods.
1811 * cspi/spi_component.c:
1813 Added cspi binding methods for above,
1814 AccessibleComponent_getLayer() and
1815 AccessibleComponent_getMDIZOrder().
1816 Added cspi enum 'AccessibleComponentLayer'.
1818 * docs/reference/cspi/at-spi-cspi-sections.txt:
1819 Added above methods to docs.
1823 Changed typedef for 'boolean' type (and all references to it) to
1824 SPIBoolean, to avoid keyword clashes with C++.
1827 Changed usages of 'boolean' to SPIBoolean.
1829 * test/keysynth-demo.c:
1830 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1831 app), except where SPIBoolean is required by the callbacks API.
1833 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1835 * cspi/spi_registry.c:
1836 Removed obsolete X event loop for passive keygrabs (which now
1839 * registryd/registryd.c:
1840 Removed unnecessary call to gdk_init() [cruft]. This also allows
1841 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1844 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1846 * docs/reference/cspi:
1847 Included docs for SPI_freeString in generated documentation.
1850 Renamed spi_freeString to SPI_freeString, for consistency. Added
1851 documentation for this function.
1854 Renamed spi_freeString to SPI_freeString, for consistency.
1855 Removed obsolete method declaration string_from_corba_string.
1857 * test/keysynth-demo.c:
1858 Small tweak to comments.
1861 Stopped leaking the strings returned from CSPI.
1863 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1865 Merged Michael's branch (see his ChangeLog entries below).
1867 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1868 bridge is alive, release on exit.
1870 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1871 Fix type check macro.
1874 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1877 Added is_gnome_app static, and method cspi_is_gnome_app(),
1878 so we can call the appropriate shutdown routine at exit in SPI_exit.
1880 * cspi/spi_main.c (cspi_object_ref):
1881 Duplicate the corba object passed in, since we're keeping it around.
1883 * cspi/SPI_exit.c, cspi_cleanup:
1884 Moved the releasing of the live refs to its own function, so we
1885 can put it in g_atexit (). Call the appropriate shutdown API
1886 depending on whethe calling client is a gnome app or not
1887 (bonobo_main_quit or CORBA_ORB_shutdown).
1889 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1890 Unref the listener when this method is called, after
1891 deregistration. Updated the API docs to note this behavior.
1893 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1894 Bugfixes: Ref the bonobo object when returning a parent or child
1895 reference, or an AccessibleRelation. Generally made sure
1896 BonoboObject refcount is incremented whenever we return an
1899 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1900 Fixed typo/bug in signal declaration.
1902 * libspi/accessibleeventlistener.h:
1905 * libspi/application.c (spi_application_new):
1906 Fixed leak in initialization.
1909 Remembered to increment bonobo-object refcount when returning
1910 children (applications) from desktop object.
1911 Added (empty) finalize method.
1913 * libspi/deviceeventcontroller.c:
1914 Hold a ref to listeners inside DEControllerKeyListeners.
1915 Added dec_key_listener_free() method. Use prepend instead of
1916 append in key_listener list. Fixed some refcount madness and
1917 leaks in the listener registration/deregistration - deregistration
1918 now calls dec_key_listener_free() on listeners, and on the
1919 temporarily constructed dec_key_listener() used to perform the search/match.
1921 * libspi/hypertext.c (spi_hypertest_finalize):
1922 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1923 class. Also fixed spi_hypertext_interface_new() and
1924 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1926 * libspi/hypertext.h:
1927 Removed pointless and duplicate AtkObject pointer from
1930 * libspi/keystrokelistener.c:
1931 Fixed incorrect type of keystroke_listener_parent_class,
1932 renamed keystroke_listener_object_finalize to
1933 spi_keystroke_listener_object_finalize.
1934 Fixed typo in signal declaration
1935 (spi_keystroke_listener_class_init).
1937 * libspi/registry.c:
1938 Added funcsions spi_listener_struct_new() and
1939 spi_listener_struct_free() to help with memory management issues.
1940 We also now use these methods instead of gnew + poking stuff into
1941 the struct, and to decrement listener counts/free the listeners
1942 when deregistering them.
1943 Fix more refcount bugs in getDesktop() and
1944 getDeviceEventController().
1947 De-ref the desktop after enumerating the applications. Explicitly
1948 decrement the refcounts on the created listeners on exit (using
1949 _unref for keystroke listeners, and via the
1950 deregisterGlobalEventListenerAll command for other event
1953 2001-11-27 Michael Meeks <michael@ximian.com>
1955 * cspi/spi-listener.h: fixup enum.
1957 2001-11-27 Michael Meeks <michael@ximian.com>
1959 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1960 (cspi_keystroke_listener_new): Use the cspi variants.
1962 2001-11-26 Michael Meeks <michael@ximian.com>
1964 * test/keysynth-demo.c: fix 2 compile warnings, missing
1967 * test/simple-at.c (report_focussed_accessible),
1968 (report_focus_event, report_button_press),
1969 (check_property_change, is_command_key),
1970 (report_ordinary_key_event, report_command_key_event): upd.
1972 * util/mag_client.h: include pre-requisites.
1974 * libspi/accessibleeventlistener.c
1975 (spi_event_listener_object_finalize): free any lingering
1978 * libspi/keystrokelistener.c
1979 (keystroke_listener_object_finalize): ditto.
1981 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1982 callbacks, with cspi types.
1984 * cspi/spi_event.c (createAccessibleEventListener): chain to
1985 (AccessibleEventListener_addCallback): here.
1986 (createAccessibleKeystrokeListener): chain to
1987 (AccessibleKeystrokeListener_addCallback): here.
1989 * libspi/keystrokelistener.c
1990 (spi_keystroke_listener_class_init): add signal.
1991 (impl_key_event): emit the event.
1992 (boolean_handled_accumulator): impl.
1993 (marshal_BOOLEAN__POINTER): add, gack.
1995 * libspi/accessibleeventlistener.c
1996 (spi_event_listener_class_init): add signal.
1997 (impl_accessible_event_notify_event): emit the signal &
1998 make the loop efficient.
1999 (spi_event_listener_add_callback): prepend the callback.
2001 * libspi/accessibleeventlistener.h: add an 'event' signal,
2002 decl type on callback.
2004 * libspi/keystrokelistener.h: ditto.
2006 * cspi/spi-listener.h: make methods typesafe and
2007 make them use the new event typedefs.
2009 * test/simple-at.c (report_focussed_accessible):
2010 include mag_client.h
2011 Use *(void *)text_interface not the other thing.
2013 * configure.in: add gtk to registryd bits - since we use
2016 * util/magnifier.c: include libbonobo.h
2018 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2020 * test/keysynth-demo.c:
2021 Turned this into a simple scanning keyboard, to demonstrate the
2022 use of g_timeout_add () as a means of creating timers for
2023 scanning, and the use of GtkStyle for visually indicating when
2024 virtual keyboard elements are selected.
2026 keysynth-demo now listens to any keyboard keys with zero-valued
2027 keycodes (i.e. 'unused' keys) and interprets them as
2030 Reworked the shiftlatch code so that shift-down state isn't held
2031 for long periods (it's only synthesized immediately prior to
2032 the keysynth event it's modifying). Note that shiftlatch in this
2033 demo is a convenience, not intended to take the place of AccessX
2034 which is the better choice for getting 'sticky' modifier keys.
2036 * libspi/deviceeventcontroller.c:
2037 * at-bridge/bridge.c:
2038 * cspi/spi_registry.c:
2039 Removed some debug print stuff, and put other verbosity in #ifdef
2044 Implemented some more of the magnifier IDL for the simple
2045 magnifier: namely, getZoomRegionParams.
2046 Added mag_x and mag_y members to MagnifierData struct, aid of this
2048 Added GtkWindow::realize signal handler to magnifier, to keep it
2049 from receiving keyboard focus from the WM.
2051 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2053 * cspi/spi-private.h: my guess at what michael forgot
2054 before he ran off to NZ :-)
2056 2001-11-23 Michael Meeks <michael@ximian.com>
2058 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2059 comment out non existant method invoke so we link.
2061 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2062 use bonobo_exception_get_text for more friendly warnings.
2064 * cspi/spi.c (Obj_Add): move into spi_main & rename
2065 spi_object_add; kill spi.c
2067 * cspi/spi_registry.c
2068 (deregisterGlobalEventListener),
2069 (deregisterGlobalEventListenerAll),
2070 (registerGlobalEventListener): fix exception leaks.
2072 * cspi/spi_main.c (spi_exception): impl. helper, so we
2073 don't leak exceptions.
2075 * cspi/spi_selection.c
2076 (AccessibleSelection_deselectSelectedChild): return the
2079 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2080 (spi_registry): ditto.
2081 (SPI_init): guard against double inits.
2083 * cspi/*.c: use spi_ev (), and spi_registry () where
2084 appropriate - a temporary hack until we have something
2085 better. Use spi_object_add
2087 2001-11-22 Michael Meeks <michael@ximian.com>
2089 * cspi/Makefile.am: re organise, install the headers.
2091 * cspi/*.h: add G_BEGIN/END_DECLS
2093 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2096 Added non-preemptive keylistener for key events with no modifiers
2097 and shift-only modifier.
2099 * libspi/keystrokelistener.c:
2100 Removed some verbose diagnostics printout.
2102 * cspi/spi_registry.c:
2103 Fixed a bug that caused all key listeners to be registered as
2106 * libspi/deviceeventcontroller.c:
2107 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2108 for non-preemptive key masks.
2111 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2113 * docs/reference/idl/at-spi-idl-docs.sgml:
2114 * docs/reference/idl/at-spi-idl-sections.txt:
2115 * docs/reference/idl/at-spi-idl-overrides.txt:
2116 Added missing files.
2118 * docs/reference/Makefile.am:
2119 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2120 to scan the IDL files :-(
2125 Added .cvsignore files.
2127 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2129 * libspi/deviceeventcontroller.c:
2130 * libspi/keystrokelistener.c:
2132 * cspi/spi_registry.c:
2133 Added filters for KeySets, KeyEventSeq, and event types to key
2134 event dispatching, so listeners should only receive those events
2135 that they requested :-)
2137 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2142 * docs/reference:Makefile.am:
2143 * docs/reference/cspi:
2144 * docs/reference/cspi:Makefile.am:
2145 * docs/reference/cspi:tmpl:
2146 * docs/reference/cspi:tmpl:*.sgml:
2147 * docs/reference/idl:
2148 * docs/reference/idl:Makefile.am:
2149 * docs/reference/idl:at-spi-idl-sections.txt:
2150 * docs/reference/idl:at-spi-idl-docs.sgml:
2151 * docs/reference/idl:tmpl:
2152 * docs/reference/idl:tmpl:*.sgml:
2154 Restructured docs directory to allow separate 'reference' docs
2155 section, and forked idl and cspi docs. Added the sgml template
2156 files to CVS. Added the first sections/structural sgml for the
2159 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2161 * configure.in, libspi/Makefile.am: find libXtst.
2163 2001-11-21 Michael Meeks <michael@ximian.com>
2165 * test/accessx-gui.c: s/spi_value/value/ - doh.
2167 * libspi/base.[ch]: add.
2169 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2171 * idl/Accessible.idl:
2172 * idl/Application.idl:
2175 Started gtk-doc cleanup on IDL.
2177 * libspi/deviceeventcontroller.c:
2178 Added and connected non-preemptive key notification from the
2179 toolkits (in addition to the pre-emptive support from XServer
2180 which we had before, but which causes 'focus flashing'). Filters
2181 are presently limited to key modifiers and global/non-global,
2182 KeySets are presently ignored, as are KeyEvent masks.
2184 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2185 structs into the persistant structure rather than just storing
2186 pointers to things that might not persist across servant
2189 The XGrabKey call now does async keygrabs, because synchronous
2190 ones were deadlocking with GDK_event code in a very nasty way.
2192 Added boolean to internal method notify_keylisteners, to indicate
2193 whether the event came from the 'toolkit source' or the 'global
2194 (XServer) source' - this is used in the notification process to
2195 determine which listeners to send the event to.
2197 deviceeventcontroller.c is now warning-free.
2199 * libspi/registry.c:
2200 Fixed regression in application de-registration.
2201 Also fixed some really brain-dead weirdness having to do with
2202 event dispatching - event structs are now duplicated before being
2203 re-marshalled in the dispatch to listeners. This also fixes a
2204 Solaris build problem.
2207 2001-20-11 Michael Meeks <michael@ximian.com>
2210 (impl_accessibility_registry_deregister_global_event_listener):
2213 * libspi/deviceeventcontroller.c
2214 (spi_device_event_controller_check_key_event): return
2215 FALSE on no virtual method.
2217 * libspi/*..h: make includes work on a correctly pathed install.
2219 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2221 * libspi/application.h: kill unused ( and whacked out )
2222 gboolean *spi_application_set_id (AtkObject *app, long id);
2224 2001-20-11 Michael Meeks <michael@ximian.com>
2226 * libspi/*.[ch]: further convert to bonobo's type func
2227 macros, remove redundnant casts etc.
2229 * libspi/text.c s/accessibility_text/spi_text/g,
2230 re-order to de-cruft.
2232 * libspi/hypertext.c: re-order to kill a huge slew
2233 of redundant forward decls.
2235 * libspi/relation.c: ditto.
2237 * libspi/image.c: ditto.
2239 * */.cvsignore: update
2241 2001-20-11 Michael Meeks <michael@ximian.com>
2243 * libspi/deviceeventcontroller.c
2244 (_controller_register_with_devices): use g_getenv,
2245 kill stdlib.h include.
2247 * libspi/keystrokelistener.c
2248 (spi_keystroke_listener_get_type): kill
2249 (spi_keystroke_listener_class_init),
2250 (spi_keystroke_listener_init): rename to this.
2252 * libspi/text.c (impl_getAttributes): fix warning / bug.
2254 * libspi/*.[ch]: more headers, includes and over commenting.
2256 2001-20-11 Michael Meeks <michael@ximian.com>
2258 * libspi/*.[ch]: fixup headers, includes and over commenting.
2260 * libspi/image.c (impl__get_imageDescription): const
2261 correctness warning fix. remove redundant casting.
2263 * libspi/table.c (impl_getRowDescription): ditto.
2264 (impl_getColumnDescription): ditto.
2266 * libspi/libspi.h: add.
2268 2001-19-11 Michael Meeks <michael@ximian.com>
2270 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2272 * libspi/component.c (accessibility_component_get_type):
2273 rename to (spi_component_get_type): and macroify.
2274 (accessibility_component_init): rename to
2275 (spi_component_init): this
2276 (accessibility_component_class_init): rename to
2277 (spi_component_class_init): this
2279 * libspi/action.c (spi_action_get_type): kill, use the macro.
2281 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2284 * libspi/application.c (spi_application_object_event_listener),
2285 (impl_accessibility_application_register_object_event_listener):
2286 warning fixes / const understanding updates.
2288 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2291 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2293 * libspi/spi_accessible.c: Added docs and C bindings for
2294 AccessibleStateSet. (No implementations yet). Documentation
2295 coverage for C bindings now 100%. Made docs for event listeners
2300 boolean notifyListenersSync (in DeviceEventListener listener,
2301 in DeviceEvent event);
2303 oneway void notifyListenersAsync (in DeviceEventListener listener,
2304 in DeviceEvent event);
2306 Added DeviceEventListener and DeviceEvent structs (may deprecate
2307 KeyStroke and KeystrokeListener in favor of this generic
2308 event/listener framework for devices).
2310 * libspi/deviceeventcontroller.c:
2312 Changed some key listener code to take masks, etc., and paved the
2313 way for integration of toolkit/non-preemptive key events. Changed
2314 signatures of some internal methods.
2316 * at-bridge/bridge.c:
2317 Fixed regression connecting to interface signals, apparently
2318 caused by GTK+ changes.
2320 Added an internal bridge_state_listener to deal with
2321 property-change:accessible-state signals.
2323 Changed the key_listeners GList to store structs (including masks,
2324 etc.) instead of just CORBA_Objects (required for full
2325 implementation of key listener API).
2327 Connected the bridge to all currently supported Atk signals.
2328 Events now supported:
2329 object:property-change
2330 object:property-change:accessible-name
2331 object:property-change:accessible-state
2332 object:property-change:accessible-description
2333 object:property-change:accessible-parent
2334 object:property-change:accessible-value
2335 object:property-change:accessible-role
2336 object:property-change:accessible-table-caption
2337 object:property-change:accessible-table-column-description
2338 object:property-change:accessible-table-column-header
2339 object:property-change:accessible-table-row-description
2340 object:property-change:accessible-table-row-header
2341 object:property-change:accessible-table-summary
2342 object:children-changed
2343 object:visible-data-changed
2344 object:selection-changed
2345 object:text-selection-changed
2347 object:text-caret-moved
2349 object:row-reordered
2351 object:column-inserted
2352 object:column-reordered
2353 object:column-deleted
2354 object:model-changed
2356 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2358 * libspi/hyperlink.c,h:
2359 Fixed some broken stuff in hyperlink.
2361 * libspi/relation.h:
2362 * libspi/relation.c:
2363 * cspi/spi_accessible.c:
2364 Initial implementations of AccessibleRelation methods, and docs.
2366 * libspi/accessible.c:
2367 Fixed a bug that caused SEGV if an accessible
2368 object's description is NULL, and a client
2369 requests it. An empty string is now returned.
2371 * cspi/spi_editabletext.c:
2372 * cspi/spi_hypertext.c:
2374 * cspi/spi_hyperlink.c:
2378 Doc coverage now 95%.
2380 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2382 One last namespacing revision:
2383 * libspi/accessibleeventlistener.[ch]:
2384 Renamed SpiAccessibleEventListener to SpiEventListener,
2385 (no need for two namespaces ;-)
2387 And lots of documentation fixes:
2389 * docs/at-spi-docs.sgml:
2390 Fixed 'underscore vs. hyphen' bug that was preventing
2391 the gtk-doc API docs from being automatically generated.
2394 * cspi/spi-listener.h
2396 * cspi/spi_accessible.c
2398 * cspi/spi_application.c
2399 * cspi/spi_component.c
2400 * cspi/spi_editabletext.c
2402 * cspi/spi_hypertext.c
2404 * cspi/spi_registry.c
2405 * cspi/spi_selection.c
2409 * docs/at-spi-docs.sgml
2410 * docs/at-spi-sections.txt
2412 Added and fixed up gtk-doc documentation in cspi.
2414 Interfaces now (fully) documented (subject to revision and enhancement):
2416 Event Listener Support
2418 AccessibleApplication
2422 AccessibleEditableText
2429 AccessibleRelationSet
2434 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2436 * at-bridge/bridge.c:
2437 Initial work for toolkit-level key snooper connection by bridge.
2442 New typedefs and fixes to support new namespacing, and cleaner
2443 separation of cspi bindings from libspi bonobo implementation.
2444 Removed inconsistent and extraneous Spi* namespace prefix that
2445 had crept into cspi headers.
2446 Lots of comment fixes that sed had missed.
2448 * cspi/spi-roletypes.h:
2449 * cspi/spi-statetypes.h:
2450 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2451 to AccessibleRoleType.
2453 * libspi/accessibleeventlistener.h:
2454 Fixed minor namespacing weirdness.
2456 * libspi/deviceeventcontroller.c:
2457 Reordered some internal API for device listeners.
2458 Changed the key registry final boolean to 'is_system_global'
2459 rather than 'is_synchronous', which is more descriptive of its
2461 Added spi_device_event_controller_new().
2462 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2464 * libspi/keystrokelistener.[ch]:
2465 Namespaced KeystrokeListener to SpiKeystrokeListener.
2466 Changed uses of keymasks to use SPI_ prefix, and did other
2469 * libspi/keymasks.h:
2470 Namespaced keymask constants with SPI_ prefix.
2472 * libspi/registry.c:
2473 Some warning fixes, and knock-on fixes from namespace changes.
2476 Added rules for accessx-gui test program.
2478 * test/accessx-gui.c:
2479 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2480 utility. It doesn't actually use at-spi, but it's still cool and
2483 * test/keysynth-demo.c:
2487 Fixes so that these test clients work properly with the namespaced
2488 libraries. (Incompletely tested for technical reasons, fixes may follow)
2491 2001-13-11 Michael Meeks <michael@ximian.com>
2493 * libspi/application.c
2494 (impl_accessibility_application_get_version),
2495 (impl_accessibility_application_get_toolkit_name):
2497 (impl_accessibility_application_set_id),
2498 (impl_accessibility_application_get_id): remove
2499 redundant casting code.
2501 * libspi/action.c (impl_getDescription): fix warnings.
2503 * libspi/accessible.c
2504 (impl_accessibility_accessible_get_parent),
2505 (impl_accessibility_accessible_get_child_at_index),
2506 (impl_accessibility_accessible_get_state),
2507 (impl_accessibility_accessible_get_relation_set):
2508 warning fixes & include action.h
2510 2001-13-11 Michael Meeks <michael@ximian.com>
2512 * *.[ch] fix bits I screwed up:
2514 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2515 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2517 2001-13-11 Michael Meeks <michael@ximian.com>
2519 * *.[ch] Namespace libspi into spi_ and Spi.
2521 2001-13-11 Michael Meeks <michael@ximian.com>
2523 * Makefile.am: dist & install at-spi-1.0.pc
2525 * libspi/Makefile.am: install into at-spi-1.0
2527 * idl/Makefile.am (idldir): install into at-spi-1.0
2529 * at-spi-1.0.pc.in: add.
2531 * configure.in: build it.
2533 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2535 * test/keysynth-demo.c:
2536 Use a 'realize' signal-handler to set the WM properties for
2537 the virtual keyboard, rather than making it a "POPUP" type
2538 override-redirect window (thanks to anders carlsson for that
2541 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2544 * test/keysynth-demo.c:
2545 Added new test of key synthesis, which creates a simple
2546 (mouse-operated) onscreen keyboard. It inserts key events into
2547 the currently-focused window, thus it does not grab keyboard focus
2550 * cspi/spi_registry.c:
2551 Added C binding for AT-SPI generateKeyEvent.
2553 * libspi/deviceeventcontroller.c:
2554 Added call to XFilterEvent so that key listener works with XIM (we
2555 hope). Added event_synth_type to generateKeyEvent, so that we can
2556 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2557 synthesize a press/release pair for KeySyms.
2559 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2561 * libspi/Makefile.am:
2562 * registryd/Makefile.am:
2563 (temporary) hack to include libXtst in libspi and registryd.
2564 (Needed for keystroke synthesis, see below).
2567 Improved API for registerKeystrokeListener, in accordance with
2568 discussions with Gnopernicus team and X server research.
2570 * libspi/registry.c:
2571 * libspi/deviceeventcontroller.c:
2572 * libspi/accessible.c:
2573 * libspi/keystrokelistener.c:
2574 Changes and fixes to support keylisteners for potentially
2575 consumed key events (that is, 'passive grabs').
2576 Added implementation for generateKeyEvent() [untested].
2579 Changes to registerKeystrokeListener() API, as above.
2580 Added deregisterGlobalEventListenerAll(), and
2581 deregisterKeystrokeListener(), which are needed for clean exit of
2583 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2584 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2586 * cspi/spi_registry.c:
2587 Added implementations of function prototypes mentioned above.
2589 * registryd/registryd.c:
2590 Added the key listener event source as a g_timeout(), to allow
2591 receipt of key events that are not caught by GDK (since GDK
2592 doesn't support passive keygrabs, this was necessary).
2595 Changed to attach a keylistener to 'Alt' keys, and
2596 respond to the following keycommands: Alt-M (toggle magnifier);
2597 Alt-F (toggle speech); Alt-Q (quit).
2598 Added an exit routine to deregister the listeners, and a key
2599 listener that prints some key info to the console when a key
2600 matches the listener mask (and is thus received by the listener).
2602 * util/idl/Magnifier.idl:
2603 Changes to magnifier API to support multiple zoom regions,
2604 non-uniform scaling in x and y, markDirty, and a host of other
2605 features that would be useful to magnification.
2608 * util/mag_client.c:
2609 * util/mag_client.h:
2610 * util/mag_control.c:
2612 Source code changes to support the above IDL changes.
2615 As above, and also changes to use a (slower) generic conversion
2616 path for colormap conversions, since the fast RGB conversions have been
2617 reported to fail for 16-bit displays.
2619 2001-10-26 Michael Meeks <michael@ximian.com>
2621 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2623 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2625 * at-bridge/Makefile.am: fix LDFLAGS.
2627 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2629 * at-bridge/bridge.c:
2630 Re-worked listeners for toolkit events, now we have signal
2631 and property listeners. Added a private method
2632 register_atk_event_listeners(), which registers with the
2633 various atk and gtk signals we need to monitor in order to emit
2635 Added emission hook for AtkObject:property-change events, to
2636 support the 'property listeners'.
2637 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2640 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2641 which emit warnings and exit, respectively, if CORBA errors occur
2642 during remote calls, and we now use these methods to check most of
2643 our CORBA calls in the C bindings.
2645 * cspi/spi_accessible.c:
2646 Changed AccessibleSelection_refSelectedChild() to
2647 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2648 now increment refcounts.
2650 * cspi/spi_component.c:
2651 Fixed some long pointer casts (dangerous!) to pass pointers to
2652 CORBA_longs of the proper type to the CORBA stubs, and copy the
2653 data into the longs that were passed into the C bindings code.
2655 * at-bridge/bridge.c:
2657 * libspi/accessible.c:
2658 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2659 hyperlinks, AtkHyperlink is an object type.
2661 * libspi/application.c:
2662 Added various conversions to and from "generic" event types and
2663 atk-specific types; this is really part of the 'bridge'
2664 implementation but is valid for all AtkObject-based accessibility
2667 * libspi/editabletext.c:
2668 Fixed nasty bug wherein editable text's finalize method was
2669 unref'ing tha AtkObject reference that the text parent class was
2670 about to unref _again_. There was also a nasty inheritance bug
2671 that meant that the AccessibleEditableText class was corrupt.
2673 * libspi/selection.c:
2674 Provided implementations for some selection API that was broken.
2676 * idl/Application.idl:
2677 Added registerObjectEventListener () method.
2680 Fixed a number of return values that were Bonobo_Unknowns from
2681 bonobo_object_corba_objref(), which I
2682 forgot to dup before returning. Changed instances of
2683 bonobo_object_corba_objref (bonobo_object(o)) to
2684 BONOBO_OBJREF(o), for concision and clarity.
2686 <2001-10-13 Louise Miller <louise.miller@sun.com>
2688 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2689 idl/Event.idl, idl/Registry.idl
2690 Changed these files to include Bonobo_Unknown.idl instead
2693 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2695 * libspi/component.c libspi/component.h:
2696 Fixed typo. Added assertions for object checks in
2697 AccessibleComponent code.
2699 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2701 * idl/Accessible.idl:
2702 Added 'isEqual (Accessible *object)'
2703 method for Accessible. (Not Yet Implemented).
2706 Changed signature of registerKeystrokeListener() to
2707 take a KeySet and KeyEventSeq so that specific keys and event
2708 types could be requested for monitoring, and added a flag
2709 is_synchronous so that either synchronous or asynchronous
2710 notification could be requested. (However this is not all
2711 implemented yet). This also meant adding two new typedefs,
2712 KeyEventSeq and KeySet.
2715 Added two new relations, RELATION_TOOLTIP_FOR and
2716 RELATION_LEAFNODE_OF.
2719 Added new state, STATE_HAS_TOOLTIP.
2721 * libspi/text.c, editabletext.c:
2722 Added new assertions to all casts of bonobo-objects from
2723 CORBA servants, to prevent Text API calls on non-text objects.
2724 Changed suspect casts of int-pointer types, so that we
2725 always send a valid CORBA_long pointer to the CORBA APIs that use
2726 in/out long parameters. We then have to copy from the CORBA_long
2727 into the regular long or int for return to the C bindings, or
2728 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2731 * libspi/deviceeventcontroller.c:
2732 Cleaned these sources up.
2734 Changed return type for getCharacterAtOffset to
2735 CORBA_unsigned_long, to allow for 32-bit characters.
2738 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2742 Fixed 'make dist' so that distro compiles...
2743 * libspi/keymasks.h:
2745 * cspi/spi-listener.c:
2746 KeystrokeListenerCB now returns a boolean.
2748 Added KeyEventType struct, and KeyStroke.
2749 Also added createKeystrokeListener(),
2750 KeystrokeListener_addCallback(),
2751 KeystrokeListener_removeCallback(), and added a keymask to
2752 registerKeystrokeListener().
2753 * cspi/spi_accessible.c:
2754 Changed numerous return types for interfaces from
2755 AccessibleComponent to Accessible<InterfaceName>; this was
2756 probably a cut-and-paste error.
2758 Implementations of new KeystrokeListener api (from spi.h,
2761 Changes to key modifier mapping.
2762 Created ControllerEventMask struct.
2763 Made DeviceEventController derive from Bonobo::Unknown.
2765 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2766 * libspi/deviceeventcontroller.c:
2767 Added a number of new internal (private) methods.
2768 * libspi/editabletext.c:
2769 * libspi/editabletext.h:
2770 Fixed a number of bugs related to the fact that
2771 editabletext inherits from text. Fixed the EditableText struct,
2772 the init() call, and use correct casts when calling Text methods
2773 from an EditableText object. Removed (duplicate) atko from the
2774 EditableText structure, we use the one in the parent Text
2775 structure via the casts mentioned above.
2776 * libspi/keystrokelistener.[ch]:
2777 * libspi/registry.c:
2778 Changes in support of keyboard handling (above).
2780 Keyboard handling, though partly functional, is still not
2781 recommended for at-spi client use as there is considerable
2782 work yet to be done.
2785 Changed some places where pointers to various int types
2786 are cast to be pointers to CORBA_long types and vice-versa:
2787 pointer casting is not safe so we pass pointers of the correct
2788 types and then cast the result before putting it into the target
2791 * libspi/text.h: minor typos corrected.
2793 We now speak not only the name of a Text element, but the
2794 first sentence of its content, when it receives focus.
2795 I also changed the text compression to 75% from 50%.
2796 * util/Accessibility_Util.server.in:
2797 Changed the default magnifier type to be a 3x vertical
2798 splitscreen magnifier (was previously a 2x horizontal one).
2800 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2802 * libspi/keystrokelistener.h:
2803 * libspi/keystrokelistener.c:
2804 Initial functional implementations of KeystrokeListener.
2807 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2809 Fixed string handling for NULL strings in libspi.
2810 Added spi_freeString to free strings returned by C bindings.
2812 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2814 * libspi/keystrokelistener.h:
2815 * libspi/keystrokelistener.c:
2816 Began (no-op) implementations of KeystrokeListener
2818 * libspi/deviceeventcontroller.c:
2819 * libspi/deviceeventcontroller.h:
2820 Began creating implementations of DeviceEventController,
2821 to handle keystroke and mouse event listening and
2823 * libspi/accessible.c:
2824 Stubbed-in the implementations for
2825 Accessibility_Accessible_getState and
2826 Accessibility_Accessible_getRelationSet.
2827 * libspi/registry.c:
2828 Improved de-registration process and fixed some bugs,
2829 deregistration now works correctly.
2831 Added initialization of applications list (to NULL).
2833 Reduced speech compression from 0.5 to 0.7, for demo.
2834 Changed call to gdk_window_set_decorations()
2835 to gtk_window_set_decorated().
2836 * at-bridge/bridge.c:
2837 Bridge now deregisters when app exits, via
2838 registration of a cleanup function
2839 with the g_atexit() call.
2840 Required making 'app' static, renamed 'this_app'.
2841 Fixed broken use of bonobo_init, passing argv wrongly.
2843 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2847 Created a new directory for
2848 accessibility-related utilities, primarily for
2849 testing and demo purposes, but with possible
2856 Onscreen magnifier utility that
2857 is implemented as a bonobo service.
2859 * util/mag_client.c:
2860 * util/mag_client.h:
2861 Client-side support (simple C bindings)
2862 for Magnification service
2864 * util/mag_control.c:
2865 Client program example for
2866 Magnification service
2868 * util/Accessibility_Magnifier.server.in:
2869 Bonobo-activation file for the
2870 Magnification service.
2873 * util/idl/Magnifier.idl:
2874 IDL defining the bonobo Magnification
2878 Modifications to use the bonobo-activated magnifier
2879 above, in place of trying to connect to an existing
2880 magnifier that uses socket-listening IPC.
2882 If env variable MAGNIFIER is set, a magnifier service
2883 will be started if one does not exist.
2885 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2886 * at-bridge/bridge.c:
2887 applied patch from Marc to build and run
2888 against new glib and gtk+ (seemed like a change
2889 to bonobo_init signature was made ?)
2891 made festival-server support turned off by default.
2892 Added support for a simple magnifier (off by default)
2893 which will be added to a 'util' directory later.
2894 * at-bridge/Makefile.am:
2895 Changed "application.h" header from a 'source'
2896 to a 'dependency' of libat-bridge.
2898 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2906 Added interface implementation c files to list of
2907 includes so they are included in libcspi.
2910 Changed prototype of AccessibleAction_doAction to return a
2912 Changed prototype of AccessibleTable_getCaption to
2913 return an Accessible.
2914 Changed prototype of AccessibleTable_getSelectedRows
2915 and AccessibleTable_getSelectedColumns to
2916 return a long (returns the number of selected rows
2917 or columns respectively).
2918 Changed name of AccessibleText_refRunAttributes to
2919 AccessibleText_getAttributes.
2920 Changed prototype of AccessibleText_getCharacterExtents to
2921 return a void rather than a boolean.
2922 Added support for a AccessibleCoordType parameter
2923 specifying what type of coordinates are desired.
2924 Added an AccessibleCordType parameter to
2925 AccessibleText_getPointAtOffset.
2927 * cspi/spi_accessible.c:
2928 Added code to return the outstanding interfaces from
2929 Accessible_queryInterface.
2931 * cspi/spi_action.c:
2933 Corrected call to getNActions to call the c binding
2936 * cspi/spi_editabletext.c:
2938 Changed name from setRunAttributes to setAttributes.
2940 * cspi/spi_hyperlink.c:
2942 Changed call to getNAnchors to correctly call the c
2943 binding for an attribute.
2945 * cspi/spi_hypertext.c:
2947 Changed getImageDescription to correctly call the
2948 binding for an attribute.
2950 * cspi/spi_selection.c:
2951 Changed getNSelectedChildren to correctly call the c
2952 binding for the attribute.
2953 Changed refSelectedChild to getSelectedChild.
2957 Changed getCaption to return an Accessible.
2958 Fixed calls which retrieve attributes.
2959 Changed refAt to getAccessibleAt.
2960 Changed getNSelectedRows and getNSelectedColumns to
2964 Changed getCharacterExtents and getPointAtOffset to accept an
2965 AccessibleCoordType.
2967 Changed calls which retrieve attributes.
2968 Changed refRunAttributes to getAttributes.
2973 * idl/Hyperlink.idl:
2974 Changed n_anchors attribute to nAnchors to keep naming
2975 convention consistent.
2978 Made Table inherit from Bonobo::Unknown.
2979 Added nSelectedColumns and nSelectedRows attributes.
2982 Made Value inherit from Bonobo::Unknown.
2984 * libspi/hyperlink.c:
2985 Change for nAnchors attributte name change.
2987 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2995 Added interface implementation c files to list of
2996 includes so they are included in libcspi.
2999 Changed prototype of AccessibleAction_doAction to return a
3001 Changed prototype of AccessibleTable_getCaption to
3002 return an Accessible.
3003 Changed prototype of AccessibleTable_getSelectedRows
3004 and AccessibleTable_getSelectedColumns to
3005 return a long (returns the number of selected rows
3006 or columns respectively).
3007 Changed name of AccessibleText_refRunAttributes to
3008 AccessibleText_getAttributes.
3009 Changed prototype of AccessibleText_getCharacterExtents to
3010 return a void rather than a boolean.
3011 Added support for a AccessibleCoordType parameter
3012 specifying what type of coordinates are desired.
3013 Added an AccessibleCordType parameter to
3014 AccessibleText_getPointAtOffset.
3016 * cspi/spi_accessible.c:
3017 Added code to return the outstanding interfaces from
3018 Accessible_queryInterface.
3020 * cspi/spi_action.c:
3022 Corrected call to getNActions to call the c binding
3025 * cspi/spi_editabletext.c:
3027 Changed name from setRunAttributes to setAttributes.
3029 * cspi/spi_hyperlink.c:
3031 Changed call to getNAnchors to correctly call the c
3032 binding for an attribute.
3034 * cspi/spi_hypertext.c:
3036 Changed getImageDescription to correctly call the
3037 binding for an attribute.
3039 * cspi/spi_selection.c:
3040 Changed getNSelectedChildren to correctly call the c
3041 binding for the attribute.
3042 Changed refSelectedChild to getSelectedChild.
3046 Changed getCaption to return an Accessible.
3047 Fixed calls which retrieve attributes.
3048 Changed refAt to getAccessibleAt.
3049 Changed getNSelectedRows and getNSelectedColumns to
3053 Changed getCharacterExtents and getPointAtOffset to accept an
3054 AccessibleCoordType.
3056 Changed calls which retrieve attributes.
3057 Changed refRunAttributes to getAttributes.
3062 * idl/Hyperlink.idl:
3063 Changed n_anchors attribute to nAnchors to keep naming
3064 convention consistent.
3067 Made Table inherit from Bonobo::Unknown.
3068 Added nSelectedColumns and nSelectedRows attributes.
3071 Made Value inherit from Bonobo::Unknown.
3073 * libspi/hyperlink.c:
3074 Change for nAnchors attributte name change.
3077 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3079 implementations-- made server implementations own AtkObject pointers
3080 rather than their respective AtkInterrface pointers to fix
3081 refcounting. AtkHyperlink is still broken.
3083 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3084 * cspi/spi_accessible.c:
3085 Added method Accessible_Role_getName(),
3086 and requisite string array (role_names).
3087 Added conversion string_from_corba_strin() call
3088 to Accessible_getName and _getDescription.
3089 * libspi/accessible.c:
3090 Added implementation for Accessible_getRole()
3092 Added festival support, used if environment variable
3095 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3097 * at-bridge/bridge.c:
3098 Now allocate Accessibility_Event using
3099 Accessibility_Event__alloc() instead of g_new0().
3100 * libspi/accessibleeventlistener.c:
3101 Initialize AccessibleEventListener->callbacks to NULL.
3102 Fixed accessible__event_listener_init() param, changed to
3103 "AccessibleEventListener *" type.
3104 Changed a bonobo_object_release_unref() call to
3105 Accessibility_Accessible_unref().
3106 * libspi/listener.c:
3107 Changed Bonobo_Unknown_unref to (equivalent)
3108 Accessibility_Accessible_unref.
3109 * libspi/registry.c:
3110 Changed bonobo_object_release_unref to
3111 Accessibility_Accessible_unref.
3113 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3116 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3117 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3118 spi-util.c spi-util.h
3119 Implementations for C bindings to remaining accessibility
3122 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3125 changed return value of Action from void to boolean to
3126 bring in line with ATK.
3129 Changed getText funcions to return "out" start and end offsets.
3130 Changed getAttributes to take and offset and return the start
3131 and end offset of the attribute run.
3132 Changed getOffsetAtPoint and getCharacterExtents to take an
3133 enum describing whether coordinates are window or screen.
3136 libspi/action.c libspi/action.h libspi/editabletext.c
3137 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3138 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3139 libspi/image.h libspi/selection.c libspi/selection.h
3140 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3141 libspi/value.c libspi/value.h
3142 Added server implementations for outstanding ATK interfaces
3143 not yet implemented.
3145 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3148 Added (missing) getName() method.
3149 Made nActions an attribute.
3150 * idl/EditableText.idl:
3151 Changed order of params in setAttributes.
3152 * idl/Hyperlink.idl:
3153 Removed getAnchor, added getURI.
3155 Changed attributes to methods, for efficiency
3156 (so that getting extents can be done in one call)
3157 * idl/Selection.idl:
3158 Changed nSelectedChildren to attribute, and re-indented.
3159 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3161 * idl/Text.idl: reformatted to match our coding style.
3162 (temporarily?) removed getRowColumnAtOffset().
3163 Changed text selection API to support multi-select and
3164 non-contiguous selections, as in ATK.
3165 * idl/Value.idl: changed some methods to attributes.
3167 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3169 * libspi/listener.c(impl_notify_event):
3170 BonoboUnkown_unref the source instead
3171 of bonobo_object_release_unref - the ORB
3172 handles the releasing.
3174 * configure.in: require ORBit-2.3.94 for
3177 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3179 Tagged CVS repository 'EA_1_0'.
3180 * README.EARLY_ACCESS:
3181 Alphabetized acknowledgements list, and
3183 Listed some known dependencies of at-spi.
3185 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3187 * docs/at-spi-docs.sgml:
3188 * docs/at-spi-sections.txt:
3189 * docs/at-spi-overrides.txt: (Added zero-length file)
3190 Documentation improvements - gtk-doc should build
3191 docs for all implemented C bindings now.
3194 * cspi/spi.c: (New file)
3195 * cspi/spi_event.c: (New file)
3196 * cspi/spi_registry.c: (New file)
3197 * cspi/spi_accessible.c: (New file)
3198 * cspi/spi_application.c: (New file)
3199 * cspi/spi_component.c: (New file)
3200 Split spi_main.c into six parts, and included them from
3201 "spi.c". This is a bit of a hack, probably temporary,
3202 but required by gtk-doc, apparently.
3204 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3207 * docs/at-spi-docs.sgml:
3208 * docs/at-spi-sections.txt:
3210 Initial checkins/modifications for gtk-doc generation.
3213 Added (missing) interface query methods to Accessible's C binding.
3215 Added GenericInterface type definition.
3217 Added query for AccessibleComponent interface to focus event handler.
3218 Added printout of bounding box for focussed component.
3219 * libspi/component.c:
3220 Added partial implementation for AccessibleComponent to C binding.
3221 * idl/Application.idl:
3222 * libspi/registry.c:
3223 * libspi/listener.c:
3224 * libspi/application.c:
3225 * libspi/application.h:
3226 Changed "ID" attribute type from string to long.
3228 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3232 Made method naming consistent: methods taking object args
3233 start with uppercase, other methods (except those using
3234 acronyms) start with lowercase. Underscores delimit between
3235 object names and method names:
3236 SPI_init() - uppercase since it starts with an acronym.
3237 getDesktopCount () - lowercase start since no object param0.
3238 Accessible_getName() - uppercase object type name, studlyCaps method
3242 Added gtk-doc documentation for all currently implemented
3243 methods in the C bindings API.
3245 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3247 * Makefile.am : changed build order to build test last.
3250 Changed "createEventListener" to "CreateEventListener".
3251 * libspi/accessibleeventlistener.c :
3252 Bugfix for addition of callbacks.
3253 * test/Makefile.am :
3254 * test/simple-at.c :
3255 Added new test that uses the C bindings API.
3257 * libspi/listener.c :
3258 * libspi/registry.c :
3259 * libspi/accessibleeventlistener.c :
3260 * at-bridge/bridge.c :
3261 Renamed member "target" of Accessibility_Event to "source",
3262 which is more descriptive.
3265 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3269 * cspi/Makefile.am :
3270 Added makefile support for at-spi/cspi directory.
3273 * cspi/spi-listener.h : (NEW FILE)
3274 Added support for/use of spi-listener.h.
3276 C bindings now build successfully, with no warnings.
3277 * libspi/accessibleeventlistener.h : (NEW FILE)
3278 * libspi/accessibleeventlistener.c : (NEW FILE)
3279 * libspi/Makefile.am :
3280 Added new object type "AccessibleEventListener"
3281 which inherits from Listener, and allows attachment
3282 of in-process callbacks (so that a client with a listening
3283 object instance can add functionality to the local
3284 implementation, dynamically).
3286 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3288 * libspi/accessible.c:
3289 Add implementation for get_index_in_parent().
3291 Added #include of "spi-roletypes.h", and
3292 added enumerated type AccessibleCoordType.
3293 Added definition for KeystrokeListener (function type).
3296 * cspi/spi-statetypes.h :
3297 * cspi/spi-roletypes.h :
3299 Added these headers, used by spi.h.
3301 Added code (NOTE: not yet built by make).
3303 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3305 * libspi/Makefile.am: generate imodule
3306 at the same time as other idl compiler
3309 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3310 * libspi/registry.c :
3311 * libspi/application.c :
3312 * idl/Application.idl :
3313 Made registration with toolkit an application method,
3314 which is required since each app has its own toolkit static
3315 environment. Thus the bridge must register for
3316 notification of toolkit events from each application in turn.
3317 Toolkit notifications are now successfully registered for, and
3318 sent to the listening at client.
3320 Changed toolkit event string to use hyphens rather than underscores.
3321 * libspi/listener.c :
3322 listner now gives more info in debug mode - it reports the
3323 name of the event received, as well as the name of the source.
3326 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3328 * libspi/registry.c :
3329 added more implementation for toolkit events.
3330 Fixed bug such that toolkit event registrations
3331 (via atk) use the whole event name string, not
3333 Removed a useless call to an ORBit_ method.
3334 * at-bridge/bridge.c :
3335 Removed unused local sbuf[] variable.
3337 We now register for Gtk:GtkWidget:button_press_event
3338 events as well as "focus:" events.
3340 Add some more API from Registry.idl that was missing,
3341 for keystroke listening, keystroke and mouse event
3342 synthesis, and enumeration of accessible desktops.
3344 2001-08-16 Michael Meeks <michael@ximian.com>
3346 * configure.in: use AM_GLIB_GNU_GETTEXT.
3348 * Makefile.am (SUBDIRS): kill intl.
3350 2001-08-15 Michael Meeks <michael@ximian.com>
3352 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3354 * configure.in: upd.
3356 * configure.in: depend on a recent bonobo-activation that
3357 will find our server files ...
3359 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3361 * libspi/accessible.c : accessible_new() :
3362 Now we add the Component interface via bonobo_object_add_interface,
3363 if the contained AtkObject implements AtkComponent.
3364 * libspi/accessible.h : now include "component.h"
3365 * libspi/component.h :
3366 * libspi/component.c : added files - implementation of
3367 bonobo wrapper object for Accessibility/Component
3368 * libspi/listener.c :
3369 Added test code to check for Accessibility/Component:1.0
3370 interface and report whether it is implemented by the
3372 * libspi/registry.c :
3373 Now we check for not only the hash of the whole event
3374 string before relaying the event, we also check the
3375 "minor" event string (without the detail string).
3376 This allows event listeners to be registered against
3377 all events of a certain major+minor type, or just
3378 against a specific major+minor+detail type.
3379 * libspi/accessible.c :
3380 Added implementations for Accessible:get_parent(),
3381 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3382 * libspi/registry.c :
3383 * libspi/listener.c :
3384 Replaced calls to Accessibility_Accessible_ref() and
3385 Accessibility_Accessible_unref() with
3386 calls to bonobo_object_dup_ref() and
3387 bonobo_object_release_unref(), so that the CORBA object
3388 is dup-ed and released when relayed, as well as the bonobo object.
3390 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3392 * libspi/Makefile.am,
3393 registryd/Makefile.am,
3394 at-bridge/Makefile.am.
3395 test/Makefile.am, configure.in:
3396 reverse previous changes.
3398 * /idl/Image.idl: fix typo.
3400 * test/Makefile.am: put DEBUG_FLAGS
3403 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3405 * test/app.c: use argv[0] instead of
3408 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3410 * libspi/Makefile.am,
3411 registryd/Makefile.am,
3412 at-bridge/Makefile.am.
3413 test/Makefile.am, configure.in:
3414 cleanup, replace individual LIBS/CFLAGS with
3415 AT_COMMON_{LIBS|CFLAGS}.
3419 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3421 * configure.in, libspi/Makefile.am:
3422 Change IDL path checking for bonobo-activation
3425 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3427 * registryd/registry.c : separated event listeners to use
3428 3 separate lists (focus, window, toolkit). Began testing
3429 event names against hashes before relaying events.
3430 * test/at.c : now register for events of type "focus:"
3431 * test/app.c : now generate events of type "focus:"
3432 * at-bridge/bridge.c : register with ATK for focus events,
3433 and we now relay those focus events to any "focus:" listeners.
3434 This now works with the bridge as a GTK_MODULE when running test/at.
3435 * libspi/registry.c :
3436 * libspi/listener.c :
3437 now we ref event sources before propagating, and unref on receipt.
3438 * libspi/registry.c :
3439 some changes to internal structs, to support event typestring hashes.
3440 * text/app.c : changed the way the appname is generated.
3441 * cspi : added directory that will hold the C bindings library for
3442 non-CORBA/bonobo-savvy clients.
3443 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3444 * idl/Component.idl : added in parameter to indicate coord system for
3445 geometry-related calls.
3446 * idl/Hyperlink.idl : added readonly n_links attribute
3447 * idl/Image.idl : changed methods to attributes.
3449 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3451 * at-bridge/Makefile.am: link against
3452 ../libspi/libspi.la instead of -lspi.
3454 * at-spi/test/app.c: include
3455 bonobo-activation.h. Use a default appname
3456 if one is not provided.
3458 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3460 * idl/Registry.idl : temporarily changed register_Application
3461 to oneway, to work around issue with initial registration
3463 * idl/Application.idl : changed attribute "id" from readonly
3464 to read-write, since it needs to be assigned by Registry.
3465 * registryd/registryd.c : added call to set application id
3467 * registryd/registry.c : changed de-registration procedure to
3468 use CORBA_Object_hash() to find matching object ref in application
3469 lists and listener lists.
3470 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3471 began distinguishing between event types (work in progress).
3473 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3476 * libspi/application.c:
3477 Added implementations for get/set id, get_toolkitName,
3479 * registryd/registryd.c :
3483 Converted from use of OAF to bonobo-activation.
3484 * libspi/desktop.h :
3485 * libspi/desktop.c :
3487 Removed references to atksimpleobject, since base atkobject
3488 implementation now provides functionality we need.
3489 * libspi/atksimpleobject.c :
3490 * libspi/atksimpleobject.h :
3495 * at-bridge/Makefile.am
3496 * at-bridge/bridge.c
3499 Added directory "bridge" and contents, and added dependencies
3500 in Makefile.am/configure.in.
3501 Initial checkin of "at-bridge".
3502 This code is a GTK_MODULE which automatically registers
3503 GTK+ apps with the accessibility registry, using an object
3504 reference to the root ATK object.
3506 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3508 * po/Makefile.in.in: Remove. Again. If this
3509 doesn't get autogenerated - you need to update
3512 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3514 * po/Makefile.in.in: Add. Again.
3516 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3518 * libspi/accessible.c : added support for 'description' property.
3519 * libspi/accessible.c
3521 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3522 (since the two are now equivalent in libbonobo)
3530 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3531 Bonobo::Unknown as does Accessibility::Accessible.
3532 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3533 interface with Bonobo::Stream, since it was redundant with it.
3534 (The Stream returned by a StreamableContext object is expected to
3535 implement only a subset of Bonobo::Stream)
3537 2001-07-28 Anders Carlsson <andersca@gnome.org>
3539 * libspi/accessible.c (accessible_object_finalize): Change
3540 g_free to g_object_unref since the AtkObject is a GObject.
3542 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3544 * idl/Accessibility.idl: add new IDL files
3547 * idl/Action.idl: Definitions of actionable UI object
3548 * idl/Component.idl: Definitions of UI component geometry, etc.
3549 * idl/Hyperlink.idl: Defs of hyperlink behavior
3550 * idl/Image.idl: Def of accessible image
3551 * idl/Selection.idl: Definition of UI object with selectable children
3552 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3553 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3554 * idl/Text.idl: Interface defs for UI elements with complex textual content
3555 * idl/Value.idl: Definition of UI element that is a value controller or display
3557 2001-07-27 Michael Meeks <michael@ximian.com>
3559 * po/Makefile.in.in: remove autogenerated file from CVS.
3561 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3564 * idl/Registry.idl: include guard.
3566 * idl/Accessibility.idl: Add, and include all the other IDL
3569 * idl/*.idl: remove mass of pragmas etc.
3571 2001-07-26 Michael Meeks <michael@ximian.com>
3573 * registryd/Makefile.am (registryd_SOURCES): remove
3576 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3578 * libspi/.cvsignore, registryd/.cvsignore,
3579 test/.cvsignore: updated.
3581 * po/Makefile.in.in: gettext update.
3583 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3585 * initial CVS checkin
3587 2001-06-29 Michael Meeks <michael@ximian.com>
3589 * configure.in: add AM_CONFIG_HEADER to gen config.h