1 2002-03-13 Michael Meeks <michael@ximian.com>
3 * atk-bridge/bridge.c (gtk_module_init): split
4 out body to (atk_bridge_init): here, since otherwise
5 we get symbol conflicts and oddness when invoked
6 from (gnome_accessibility_module_init): here (upd.)
8 2002-03-11 Bill Haneman <bill.haneman@sun.com>
11 New file. Explicitly allow "build sheriff" putbacks provided
12 they are tested on Solaris.
14 * docs/reference/cspi/Makefile.am:
15 Added '-' to the "cp" command for index.sgml.
16 ("patch by thomasvs, soon coming to a GUADEC near you")
19 Incremented version number (0.9.0) for new release.
20 Changed macro that checks for popt, to better detect
21 obsolete versions of popt.
24 Added X_LIBS to AC_SUBST, for applications
25 that call Xlib API directly.
28 2002-03-07 Bill Haneman <bill.haneman@sun.com>
31 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
34 Fix regression caused by hard-coding major
35 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
38 * test/test-simple.c (test_editable_text),
39 (test_test): revert previous change (error was
40 a regression in gail which is now fixed).
42 2002-03-04 Michael Meeks <michael@ximian.com>
44 * test/test-simple.c (test_editable_text),
45 (test_text): pass G_MAXINT instead of '-1' for
46 whole string - is this a good thing !?
48 * cspi/spi_accessible.c
49 (Accessible_getRelationSet): fix crasher bug
50 overwriting the end of the array.
52 * test/test-simple.c (validate_accessible): free,
53 not g_free returned relation set.
55 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
57 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
58 implemented stateset support
60 * idl/Accessibility_State.idl: Made necessary changes to
61 the IDL to support state sets.
63 2002-02-12 Bill Haneman <bill.haneman@sun.com>
65 * registryd/deviceeventcontroller.c:
66 Added implementation for generateMouseEvent.
68 * cspi/spi_registry.c:
69 Connected new implementation for generateMouseEvent
72 2002-02-12 Bill Haneman <bill.haneman@sun.com>
75 Incremented revision (but no change in public API
76 outside of 'utils', which are not installed public yet.)
79 Changed to use atk_component API for layers and
80 mdi_zorder, instead of deprecated atk_object API.
82 Magnification Utility Enhancements:
85 Added implementation of createZoomRegion, clearAllZoomRegions,
86 resizeZoomRegion. Added new commandline argument
87 "--no-initial-region". Note that clearAllZoomRegions doesn't
88 unmap the old '0' region as it should (yet), and the other
89 methods only work when creating/resizing a single region,
91 (Code for multiple region support will be added later.)
94 Now we raise the magnifier window each time it's refreshed;
95 this will help keep it on top.
98 Added simple wrappers for above, used by mag_control.
99 For general use, it's recommended to use the bonobo magnifier
100 control API directly instead of using these wrappers.
103 Moved ZoomRegionData from magnifier.c to this file.
105 * util/mag_control.c:
106 Added some code to exercise new IDL implementations.
108 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
110 * libspi/text.c: Provide implementation for getAttributes.
112 2002-02-04 Bill Haneman <bill.haneman@sun.com>
115 Incremented revision.
117 * test/test-simple.c:
118 Replaced use of deprecated g_main_iteration with
119 g_main_context_iteration.
121 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
124 Incremented revision for desktop alpha 2.
126 2002-01-28 Mark McLoughlin <mark@skynet.ie>
128 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
131 * test/simple-at.c: include netinet/in.h.
133 2002-01-24 Mark McLoughlin <mark@skynet.ie>
135 * cspi/spi_accessible.c: (Accessible_getRelationSet):
136 use NULL, not CORBA_OBJECT_NIL.
138 * libspi/accessible.c:
139 (impl_accessibility_accessible_get_relation_set):
140 allocate the sequence correctly.
142 * libspi/remoteobject.h: kill spi_remote_object_new.
144 * test/test-simple.c: (validate_accessible): add code
145 to test relation sets, now all we need is to figure
146 out how to excercise this code path :/
148 2002-01-18 Michael Meeks <michael@ximian.com>
151 (key_listener_cb): consume the key.
152 (test_keylisteners): update.
153 (main): wait for any pending unrefs on events.
155 * registryd/deviceeventcontroller.c
156 (spi_controller_update_key_grabs): only re-issue the
157 grab on a key release.
158 (spi_device_event_controller_forward_key_event):
159 refresh the keygrabs before we notify the listeners,
160 to reduce the X ungrab / re-grab race.
161 (spi_controller_register_with_devices): remove
162 XSelectInput - we do that with the gdk_window_ call.
163 (_spi_controller_device_error_handler): return a value.
164 s/GDK_DISPLAY/spi_get_display/
166 2002-01-17 Michael Meeks <michael@ximian.com>
168 * registryd/deviceeventcontroller.c
169 (_deregister_keygrab): don't blow out the later
172 * test/test-simple.c (test_keylisteners): do a
173 more intelligent validation.
175 2002-01-14 Michael Meeks <michael@ximian.com>
177 * atk-bridge/bridge.c
178 (gnome_accessibility_module_init),
179 (gnome_accessibility_module_shutdown): impl.
180 (gtk_module_init): protect vs. double inits.
181 (add_signal_listener): impl.
182 (spi_atk_bridge_state_event_listener): kill
183 (deregister_application): split out of
184 (spi_atk_bridge_exit_func): here.
186 2002-01-18 Bill Haneman <bill.haneman@sun.com>
189 Added caret tracking when using magnifier, and
190 now use text bounds for focus tracking of text elements, rather than
191 the component bounds - this is helpful for short text fields in long
192 table cells, at high magnification.
194 2002-01-16 Bill Haneman <bill.haneman@sun.com>
196 * registryd/deviceeventcontroller.c:
197 Regression fix for keylistener de-registration; global keygrabs
198 were not being released when deregisterKeystrokeListener was
199 called in cspi, since
200 Accessibility_DeviceEventController_deregisterKeystrokeListener
201 was called with a zero-length keyset. That is because the cspi
202 method, SPI_deregisterKeystrokeListener, does not take a keyset
203 parameter but instead should remove all the key grabs held be a
205 The code in impl_deregister_keystroke_listener was changed to copy
206 the keylist from the listener instance previously registered with
207 the DeviceEventController before releasing the grabs.
209 * registryd/registry.c:
210 * registryd/deviceeventcontroller.c:
211 * libspi/spi-private.h:
213 Changed spelling of "re-enterant" to "re-entrant" globally.
215 2002-01-16 Bill Haneman <bill.haneman@sun.com>
217 * test/test-simple.c:
218 Changed key listeners test - the test was slightly mis-using the
219 (admittedly poorly documented) SPI_generateKeyboardEvent API.
220 It now uses '=' as the key event listened to and generated,
221 relying on a keysym match rather than assuming that keycode 33
222 is always equal to keysym '!'.
224 2002-01-15 Bill Haneman <bill.haneman@sun.com>
227 Changed simple-at to use a specific keyset, rather than
228 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
229 manager, desktop, etc.
231 2002-01-11 Bill Haneman <bill.haneman@sun.com>
233 * registryd/deviceeventcontroller.c:
234 Replaced standard X error handler with a special handler that
235 is non-fatal for failed keygrabs. This works around
236 problems with keygrab clashes sometimes observed on
238 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
239 mouse handling code as yet).
241 2002-01-11 Bill Haneman <bill.haneman@sun.com>
244 Incremented revision for desktop alpha release.
247 Fixed a couple of the more glaring errors (still not
250 2002-01-11 Michael Meeks <michael@ximian.com>
252 * registryd/deviceeventcontroller.c
253 (spi_device_event_controller_forward_key_event): kill
254 XUngrabKey / XKeyGrab race.
255 (spi_controller_grab_keyboard): rename to
256 (spi_controller_update_key_grabs): this, and deal
257 with incremental adding / removing grabs more
259 (_register_keygrab): ensure we're not pending a remove.
260 (spi_grab_mask_free): impl.
261 (spi_controller_register_global_keygrabs): split out
263 (handle_keygrab): impl.
264 (_deregister_keygrab): impl.
265 (spi_controller_deregister_global_keygrabs): impl.
266 (spi_controller_update_key_grabs): re-issue the grab if
267 we just recieved a notification.
269 * test/test-simple.c (key_listener_cb): remove debug.
271 * registryd/deviceeventcontroller.c
272 (spi_controller_register_device_listener): after
273 registering a global keygrab, actualy register it !
274 don't wait for a timeout; doh !
276 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
277 to make it more readable / manipulable.
278 s/grabmask/grab_mask/ s/refcount/ref_count/
279 s/keyval/key_val/ s/modmask/mod_mask
281 2002-01-08 Michael Meeks <michael@ximian.com>
283 * registryd/deviceeventcontroller.c
284 (spi_controller_register_with_devices): use gdk calls to
286 (global_filter_fn): implement the filter.
287 (spi_device_event_controller_check_key_event): rename to
288 (spi_device_event_controller_forward_key_event): this & upd.
289 (spi_get_display): replace with GDK_DISPLAY.
291 * registryd/deviceeventcontroller.c
292 (spi_controller_deregister_device_listener): unroll into
293 (impl_deregister_keystroke_listener): here to simplify.
294 (spi_controller_register_global_keygrabs): split cut and
295 paste (!) out into (_register_keygrab): here, shorter & sweeter.
296 (spi_controller_deregister_device_listener): remove.
297 (impl_register_mouse_listener): remove, no mouse listener
298 support in at-spi-1.0
300 * registryd/registry.c
301 (_device_event_controller_hook): kill.
302 (spi_registry_init): upd.
304 * registryd/deviceeventcontroller.c
305 (spi_device_event_controller_class_init): upd.
306 (spi_check_key_event): merge into.
307 (spi_device_event_controller_check_key_event):
308 here and kill strange static ev init, don't leak
309 the x_event - nor dynamicaly allocate it.
311 * registryd/registry-main.c (main): re-direct
312 timeout to remove strange vtable mess.
314 * registryd/deviceeventcontroller.c
315 (remove_listener_cb): impl.
316 (spi_controller_deregister_device_listener):
317 fix re-enterancy hazard.
319 2002-01-07 Michael Meeks <michael@ximian.com>
321 * registryd/deviceeventcontroller.c
322 (spi_device_event_controller_new): upd.
323 (impl_notify_listeners_sync): upd. debug.
324 (spi_notify_keylisteners): fix re-enterancy hazards,
325 prettify, remove O(n*n) iteration.
326 (spi_controller_grab_keyboard): fix iteration.
327 (spi_check_key_event): re-format to suit coding style.
328 Clean all the warnings - we're warning free.
330 * registryd/deviceeventcontroller.h:
331 * registryd/registry.h: make mutualy referential with
332 typesafe forward references instead of (!) void pointer
335 2002-01-11 Michael Meeks <michael@ximian.com>
337 * cspi/spi_accessible.c (role_names): add a role name
338 to sync this array with the enum; and make the regression
341 2002-01-10 Michael Meeks <michael@ximian.com>
343 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
344 allow expansion of enumeration & kill warning.
346 * test/test-simple.c (key_listener_cb): impl.
347 (test_keylisteners): impl.
349 * cspi/spi-listener.h: make listener signatures const
350 on the provided (const) events.
352 * test/keysynth-demo.c: upd. to const events.
354 * test/simple-at.c: ditto.
356 2002-01-11 Bill Haneman <bill.haneman@sun.com>
359 Rev the version to 0.5 (the previous tarball was named 0.4,
360 even though the micro number was 3), so we need to rev upwards
361 again for beta2/"desktop-alpha"
364 Checked in a demo script, which requires editing before use!
365 Proceed with caution.
368 Fixed typo in header which was redefining SPI_ACTION_CLASS.
370 * cspi/spi_accessible.c:
371 Add a couple of missing enum initializations, and fix some enum
374 * cspi/spi_registry.c:
375 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
377 * docs/reference/cspi/at-spi-cspi-sections.txt:
378 Remove/fix a couple of broken document references.
381 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
382 as Alt-Control to listen for commands, since on some systems
383 Control-Alt may already be grabbed.
385 2002-01-10 Bill Haneman <bill.haneman@sun.com>
388 Update version number to 0.4 for Beta2.
390 * libspi/accessible.c, libspi/accessible.h:
391 Expose spi_accessible_construct, to enable libgail-gnome
392 construction from spi_accessible subtype.
395 Workaround for bug in some non-gnome-compliant window managers
396 which made magnifier resize improperly.
398 2002-01-09 Bill Haneman <bill.haneman@sun.com>
400 * libspi/accessible.c: (spi_accessible_new) :
401 Move the test for SPI_IS_REMOTE_OBJECT to
402 spi_accessible_new_return, fixing a bug and compile time warning.
404 2002-01-08 Michael Meeks <michael@ximian.com>
406 * registryd/registry.c (parse_event_type): remove strndup.
408 * libspi/Makefile.am (libspi_la_SOURCES): remove
409 sources already included in the headers section.
411 * libspi/util.c: add.
413 * libspi/spi-private.h: add.
415 * registryd/registry.c: update to moved list iterators.
417 2002-01-05 Michael Meeks <michael@ximian.com>
419 * test/simple-at.c (main): upd. auto-module set to atk-bridge
421 * test/test-simple.c (main): ditto.
423 2002-01-04 Michael Meeks <michael@ximian.com>
425 * libspi/accessible.c (spi_accessible_new): remove 2nd,
428 * registryd/registry.c
429 (get_listener_list): impl.
430 (impl_accessibility_registry_register_global_event_listener):
431 re-impl. to simplify using ~, remove dodgy const cast off.
432 (parse_event_type): constify.
433 (impl_accessibility_registry_deregister_global_event_listener_all):
434 re-write, more efficiency and simplicity, kill re-enterancy
436 (compare_listener_corbaref, compare_corba_objects),
437 (compare_listener_quarks): define out.
438 (impl_accessibility_registry_deregister_global_event_listener):
439 re-write for effiency, and nail re-enterancy hazard.
440 (impl_accessibility_registry_get_desktop_list): impl.
441 (re_enterant_list_delete_link): impl.
442 (re_enterant_list_foreach): impl.
443 (remove_listener_cb): impl.
444 (_registry_notify_listeners): kill.
445 (notify_listeners_cb): impl.
447 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
448 (SPI_getDesktopList): impl.
450 * test/test-simple.c (test_desktop): test the methods.
452 2002-01-03 Michael Meeks <michael@ximian.com>
454 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
455 keystrings since we free them
456 (SPI_freeAccessibleKeySet): in here.
458 * libspi/accessible.c (spi_accessible_new): kill warning,
459 wonder what is going on with the constructor here.
461 2002-03-01 Bill Haneman <bill.haneman@sun.com>
463 * libspi/accessible.c (spi_accessible_new ()) :
464 Added check to see if AtkObject is an SpiRemoteObject before
465 creating an SpiAccessible.
467 2002-05-01 Bill Haneman <bill.haneman@sun.com>
469 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
470 Enable keygrabs using the Control modifier, now that they are
471 working properly (they were previously disabled).
474 Change the command keygrab for this demo to "Control+Alt", so as
475 to conflict with fewer other key commands on the system; this
476 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
478 Removed a pointlessly-chatty keylistener for unshifted keys
479 (shifted keys are still reported).
481 2002-02-01 Bill Haneman <bill.haneman@sun.com>
483 * libspi/remoteobject.h:
484 * libspi/remoteobject.c:
485 Added definitions for special AtkObject subtype, required for
486 support of remote components (specifically, used by BonoboControl
487 accessibility implementation).
489 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
491 * cspi/spi.h: synched relation types with ATK
493 * cspi/spi_accessible.c: Added implementations of
494 AcccessibleRelation_* methods
496 * idl/Accessibility_Relation.idl: added getRelationTypeName
497 method. Synched known relation types with ATK. Allowed for
498 relation type extension with the RELATION_EXTENDED type.
500 * libspi/relation.c: Provided implementations for
501 AccessibleRelation methods.
503 2002-01-01 Bill Haneman <bill.haneman@sun.com>
505 API tweaks for today's API 'freeze'.
508 Added placeholder functions to allow future compatible expansion
509 of the IDL interfaces.
511 * idl/Accessibility_Registry.idl:
512 Changed generateKeyEvent to generateKeyboardEvent. Changed
513 signature of this method to accept an optional keystring in
514 parameter (for complex text input synthesis) and changed use of
515 simple 'boolean' parameter in registerKeystrokeListener to a
516 struct, EventListenerMode.
518 * cspi/spi_accessible.c:
520 * cspi/spi_streamablecontent.c:
521 Added references to AccessibleStreamableContent interface, and
522 definition and implementation of AccessibleStreamableContent
525 * cspi/spi_registry.c:
527 Changed generateKeyEvent API to generateKeyboardEvent,
528 taking a new (optional) keystring parameter to support complex
533 Renamed directory (to better reflect its actual purpose, bridging
534 from at-spi to ATK). The .so module is also now named
537 * idl/Accessibility_Hypertext.idl:
538 * libspi/accessible.c:
539 * libspi/hypertext.h:
540 * libspi/hypertext.c:
541 Changed Accessibility_Hypertext to *not* derive from
544 * cspi/spi_registry.c:
545 Added list of legal event type names for 'window' events, which
546 completes the registry event API.
548 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
550 * at-bridge/bridge.c: Added registration for separate
551 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
552 signals. If either of the first two parameters to the generic
553 bridge signal handler are ints, they are passed on as event
554 details. This allows an AT to determine what text was inserted.
556 2001-12-21 Bill Haneman <bill.haneman@sun.com>
558 * registryd/deviceeventcontroller.c:
559 Fixed regressions in generateKeyEvent caused by the removal of
560 gdk_init from registryd; we now use pure X calls to connect to the
561 display, which makes sense because deviceeventcontroller already
562 uses a fair bit of X API (should eventually be migrated to a
563 'portability layer').
565 * registryd/desktop.c:
566 Fixed minor regression in spi_desktop_init, changed the way the
567 desktop name is being set to work with new spi_base API
568 (gobject-based, rather than AtkObject-based).
570 * registryd/Makefile.am:
571 Minor revision of makefile to use XTST_LIBS variable rather than
572 hard-wiring the Xtst LD_ADD element.
574 * test/keysynth-demo.c:
575 Tweaked an output message; added initialization of the
576 'keystrings' member of the "switch listener" key_set.
579 Squashed compile-time warning.
581 * libspi/accessible.c:
582 Cosmetic and formatting fixes, renamed a static method.
584 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
586 * libspi/accessible.c
588 * libspi/application.c
592 * libspi/editabletext.c
600 * registryd/desktop.c:
601 Changed SpiBase to contain a GObject pointer rather than an AtkObject
603 2001-12-17 Bill Haneman <bill.haneman@sun.com>
605 * idl/Accessibility_Registry.idl:
606 Added boolean member 'is_text' to DeviceEvent. This is for the
607 use of key events, and helps prevent ambiguity between composed
608 key strings and keysym names, since both may potentially be
609 returned in the 'event_string' member.
611 * at-bridge/bridge.c:
612 * registryd/deviceeventcontroller.c:
613 Use the 'is_text' member when notifying device event listeners.
614 Knon issue: composed characters are not dealt with correctly by
615 the global key listener implementation yet.
617 2001-12-17 Bill Haneman <bill.haneman@sun.com>
619 * at-bridge/bridge.c:
620 Namespaced local static methods to spi_atk_bridge_* where
621 previously named bridge_*, and spi_* elsewhere.
623 * at-bridge/bridge.c:
624 * cspi/bonobo/cspi-bonobo-listener.c:
625 Added demarshalling/conversion for string member of
626 Accessibility_DeviceEvent to AccessibleKeystroke.
628 * registryd/deviceeventcontroller.c:
629 Added code to fill the Accessibility_DeviceEvent key string value
630 member for global key events (i.e. from XGrabKey), to match
631 behavior of Accessibility_DeviceEvent from the toolkit key events
632 from the bridge. Fixed timestamp in global key event notifications.
635 Added printout of key event's string value to
636 report_ordinary_key_event, for demo/debugging purposes.
638 2001-12-15 Bill Haneman <bill.haneman@sun.com>
640 * idl/Accessibility_Registry.idl:
641 Removed Accessibility_KeyStroke structure in favor of generic
642 Accessibility_DeviceEvent structure.
643 Changed Accessibility_ControllerEventMask from a struct to an
646 * at-bridge/bridge.c:
647 Changed APIs to use DeviceEvent structure as above, and removed
648 bogus casting between these event structures.
650 * cspi/spi-listener.h:
651 Added keystring member of AccessibleKeystroke structure, to enable
652 matching on event "names" rather than only hardware codes and
656 Added keystrings member of AccessibleKeySet struct, to allow
657 matching on event names (as above).
658 Added declarations for SPI_createAccessibleKeySet and
659 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
660 event modmasks directly as unsigned ints rather than structs with
661 refcounts, in the DeviceEventController methods.
663 * cspi/spi_registry.c:
664 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
666 * cspi/spi-roletypes.h:
667 Added documentation of newly added SPI Roles.
669 * cspi/bonobo/cspi-bonobo-listener.c:
670 Changes in support of API changes above.
672 * libspi/accessible.c:
673 Converted APIs to use DeviceEvent structure (see IDL changes
676 * registryd/deviceeventcontroller.c:
677 Added DEControllerGrabMask structure to track keygrabs not only by
678 modmask but by keyset as well; this allows us to do "global"
679 (i.e. X) keygrabs on a per-key or keyset basis rather than always
680 grabbing on AnyKey and then filtering after-the-fact.
681 Bugfixes for event filtration mean that we don't get false matches
682 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
684 * registryd/deviceeventcontroller.c:
685 Namespaced a number of static methods to use spi_ prefix. Major
686 revision to internals of global (i.e. X) key grabs.
688 * registryd/deviceeventcontroller.h:
689 Removed keymask_list and added keygrabs_list to
690 SpiDeviceEventController struct.
693 Added use of SPI_createAccessibleKeySet API when creating a
694 listener for only one key. Attach a listener to "shift spacebar
695 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
696 X key event names to SPI key event names, so that listeners are
697 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
699 * test/keysynth-demo.c:
700 Changed (incorrect) use of X key event names (KeyPressed,
701 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
704 2001-12-12 Bill Haneman <bill.haneman@sun.com>
706 * libspi/accessible.c:
707 Convert all AtkRole enumerations to Accessibility_Role enums when
708 getting a role from an AtkObject.
710 * cspi/spi_accessible.c:
711 Complete the conversion of Accessibility_Role enums at runtime to
712 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
713 role enums correctly match those given in spi-roletypes.h.
714 Re-synchronize the local names list for AccessibleRole_getName ().
715 AccessibleRole_getName is now deprecated, since it duplicates the
716 more reliable Accessible_getRoleName.
717 Added some role types from Accessibility_Role.idl.
719 * idl/Accessibility_Role.idl:
720 Added some role types used by AtkRole.
722 2001-12-12 Bill Haneman <bill.haneman@sun.com>
725 * cspi/spi_registry.c:
727 * cspi/cspi-bonobo-listener.c:
728 Namespaced all methods that did not begin with an "SPI_" or
729 "Accessible" prefix to "SPI_".
732 Homogenized internal function namespace to "cspi_" for statics.
735 Patched tests to use the new CSPI API.
737 * docs/reference/cspi/at-spi-cspi-sections.txt:
738 Updated docs to reflect namespace changes, and added a number of
739 methods to the documentation.
741 * registryd/registry.c:
742 Changed use of strings and string hashes in listener event
743 matching and parse_event_string to use GQuark, which is guaranteed
746 * registryd/registry.h:
747 Squashed annoying warning.
749 * idl/Accessibility_Role.idl:
750 Extended range of available Accessibility_Role values.
752 * cspi/spi_accessible.c:
753 Re-ordered role names.
755 2001-12-12 Bill Haneman <bill.haneman@sun.com>
757 * idl/Accessibility_Value.idl:
758 Revert use of union back to CORBA_double, since the double type is
759 more efficient and can contain the other types without loss of
762 * idl/Accessibility_Accessible.idl:
763 Added method Accessibility:Accessible:getRoleName, to complement
764 Accessibility:Accessible:getRole.
766 * cspi/spi_accessible.c:
768 Added C binding for above, Accessible_getRoleName (), and changed
769 signature of Accessible_getRole () to return an AccessibleRole.
771 * cspi/spi-roletypes.h:
772 Changed AccessibleRole_getName to return a char * instead of a
773 const char *. This method is now at least temporarily deprecated
774 in favor of asking Accessibles for their RoleNames directly.
777 Revert to match Accessibility_Value.idl;
781 Change signature of AccessibleValue methods to use double rather
785 * cspi/spi_accessible.c:
786 Changed Accessible_getRole to return an AccessibleRole enum rather
787 than a UTF-8 string. The UTF-8 string can still be obtained via
788 AccessibleRole_getName ().
790 * test/test-simple.c:
791 Add test_action. Small fixup to match API change to Accessible_getRole.
794 Bugfix for get_action_from_servant ().
796 2001-12-11 Michael Meeks <michael@ximian.com>
798 * libspi/libspi.h: remove registry.h and
799 desktop.h, deviceeventcontroller.h
801 * libspi/Makefile.am: remove registry.[ch],
802 desktop.[ch], deviceeventcontroller.[ch]
804 * registryd/Makefile.am: add registry.[ch],
805 desktop.[ch], rename registryd.c to registry-main.c.
806 add deviceeventcontroller.[ch]
808 2001-12-11 Bill Haneman <bill.haneman@sun.com>
811 Replace setenv() call with putenv ().
813 * libspi/component.c:
814 Bugfix in AccessibleComponent_getExtents (),
817 2001-12-11 Michael Meeks <michael@ximian.com>
819 * libspi/image.c (impl_getImageExtents): impl.
820 (spi_image_class_init): upd.
823 (AccessibleImage_getImageDescription): fix daft bug
826 * test/test-simple.c (global_listener_cb): update
827 to only quit if not --poke
828 (main): catch --poke.
829 (validate_accessible): upd. dumping, call test_image
832 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
835 * idl/Accessibility.idl: update all IDL includes.
837 * idl/*.idl - rename to namespace - this sucks, blame
838 mjs' bad decision for oafd.
840 * test/test-simple.c (create_test_window): add more tests.
841 (create_tree): split this out.
842 (validate_accessible): bugfix.
844 2001-12-11 Michael Meeks <michael@ximian.com>
846 * cspi/bonobo/cspi-bonobo-listener.c:
847 (cspi_kestroke_listener_unref),
848 (cspi_event_listener_unref): impl. undoing previous
849 homenous environment - for Bill.
851 * cspi/spi_table.c (long_seq_to_array): use
854 * cspi/spi_main.c: split out all bonoboish bits into
857 * cspi/spi-impl.h: upd. typedefs.
859 * cspi/spi_registry.c: update to lowlevel API,
860 return booleans to indicate success in some places.
862 * cspi/spi_event.c: update to lowlevel API.
864 * cspi/bonobo/Makefile.am: add.
866 * cspi/bonobo/cspi-lowlevel.h: add
868 * cspi/bonobo/cspi-bonobo.c: add
870 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
872 * cspi/Makefile.am: remove spi-listener-impl.[ch],
873 (SUBDIRS): add bonobo, link in the libs.
875 * cspi/spi-util.c: kill this file.
877 * TODO: merge in my bits.
879 2001-12-11 Michael Meeks <michael@ximian.com>
881 * test/test-simple.c (test_value, test_table, main):
882 remove unused variables causing warnings.
884 * configure.in: cleanup checks - require gail.
886 2001-12-11 Bill Haneman <bill.haneman@sun.com>
889 Changed Value interface to use SValue (scalars) rather than
890 assuming all values are floats. This allows floats, doubles,
891 longs, shorts, and unsigned values to be manipulated.
892 Introduced Accessibility:SValue union.
895 Updated to use new API above, and to work correctly with GValues
896 of different types in AtkValue.
899 Updated to use new API above. cspi's API is as yet unchanged.
902 Updated the Value revision action item.
904 2001-12-10 Bill Haneman <bill.haneman@sun.com>
906 * test/test-simple.c:
907 Added test_table (GtkTreeView widget in test window to follow).
908 Un-commented test_value, added GtkRange widget.
909 Added GtkTreeView widget with GtkListStore. It passes regression
910 test but leaks one SPI object for some reason.
913 Fixed bug in impl__set_currentValue.
915 2001-12-10 Michael Meeks <michael@ximian.com>
917 * cspi/spi_text.c: audit for exception handling,
918 tolerating NULL object references safely etc.
920 * cspi/spi_value.c: ditto.
922 * cspi/spi_table.c (AccessibleTable_getSummary),
923 (AccessibleTable_getAccessibleAt),
924 (AccessibleTable_getRowHeader),
925 (AccessibleTable_getColumnHeader),
926 (AccessibleTable_getCaption): fix bugs hidden by
928 (long_seq_to_array): impl.
929 (AccessibleTable_getSelectedRows),
930 (AccessibleTable_getSelectedColumns): use it.
932 2001-12-10 Bill Haneman <bill.haneman@sun.com>
935 Added a TODO list (rough and short for now).
937 * cspi/spi_hyperlink.c:
938 * cspi/spi_hypertext.c:
939 Fixed macro name typos, and remove use of obsolete macro in
940 AccessibleHyperlink_getLink.
943 * cspi/spi_accessible.c:
944 * cspi/spi_application.c:
945 * cspi/spi_component.c:
946 * cspi/spi_selection.c:
949 Documentation fixes (removed return values from ref/unref methods).
951 2001-12-10 Michael Meeks <michael@ximian.com>
953 * cspi/spi_action.c: audit for exception handling,
954 tolerating NULL object references safely etc.
956 * cspi/spi_accessible.c: ditto.
958 * cspi/spi_component.c: ditto.
960 * cspi/spi_editabletext.c: ditto.
962 * cspi/spi_hyperlink.c: ditto.
964 * cspi/spi_hypertext.c: ditto.
966 * cspi/spi_image.c: ditto.
968 * cspi/spi_selection.c: ditto.
970 2001-12-10 Michael Meeks <michael@ximian.com>
972 * configure.in: use cspi/libspi.pc.in instead.
974 * Makefile.am (pkgconfig_DATA): upd. to match.
976 * test/simple-at.c (report_focus_event): kill hacks around
977 bad return values, use putenv not setenv
979 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
980 fire ChildGone - I killed it.
983 (impl_accessibility_component_get_extents): remove
986 * idl/Accessible.idl: kill ChildGone exception.
988 * cspi/*.[ch]: kill int return from ref / unref.
990 * cspi/spi_main.c (cspi_object_add_check): fold into
991 (cspi_object_add): here.
993 * cspi/spi_component.c (AccessibleComponent_getExtents):
994 handle exceptions elegantly.
996 * cspi/spi-private.h (cspi_check_ev_return),
997 (cspi_return_if_fail): impl.
999 * cspi/spi_accessible.c: use extensively.
1000 (AccessibleStateSet_equals): add direct compare check.
1002 * cspi/spi_selection.c: tolerate NULL objs, and check
1003 exceptions before return.
1005 * cspi/spi-util.c (cspi_warn_ev): rename to
1006 (cspi_check_ev): this & don't pass ev in; no point.
1008 2001-12-10 Michael Meeks <michael@ximian.com>
1010 * test/test-simple.c: use putenv not setenv
1011 (get_environment_vars): more chatty if you're not using
1014 * test/simple-at.c: do the setenv so more people see the
1017 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1019 * libspi/registry.c:
1020 Changed check of CORBA_environment on notification to be a warning
1021 instead of an error for the moment, since we can recover from this
1022 error when caused by a queued notification from a dead app.
1025 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1026 used by all current implementors of AtkValue), and coerce to
1027 CORBA_float. (Proper general case fix may require change to Value.idl).
1029 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1033 * cspi/spi_accessible.c:
1034 Documentation fixes: added user_data params to documentation for
1035 listeners and callbacks.
1037 * cspi/spi_accessible.c:
1038 Changed AccessibleStateSet_compare to return a
1039 StateSet rather than return the difference set into a third parameter.
1042 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1045 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1046 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1050 Remove subdirectory po from SUBDIRS for now.
1052 * at-bridge/bridge.c:
1053 Beefed up a couple of debug printouts.
1054 One-line fix for signal notification name formatting.
1056 * libspi/accessible.c:
1057 Added assertion to spi_accessible_new ().
1059 * libspi/application.c:
1060 Put #ifdef qualifiers around a printf.
1063 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1065 * registryd/Makefile.am:
1067 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1068 INTLTOOL_SERVER_RULE macro.
1071 Added an event listener for several ATK signals, for
1072 testing and debugging. Removed a few g_warnings.
1073 Added test output if focussed item implements the Value interface.
1075 * test/test-simple.c:
1076 Added test_value () function (known not to pass at the moment, so
1077 not actually called yet.
1079 2001-12-08 Michael Meeks <michael@ximian.com>
1081 * at-bridge/bridge.c (bridge_focus_tracker),
1082 (emit_eventv): fix the same ref. leak.
1083 (register_atk_event_listeners): don't leak.
1085 * cspi/spi-listener-impl.c (cspi_event): more
1086 protection from client code.
1088 * test/test-simple.c (test_desktop): unref the app.
1090 * test/Makefile.am: upd. TESTS.
1092 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1094 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1096 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1098 * cspi/spi_registry.c: constify in strings.
1099 (deregisterGlobalEventListenerAll): don't release the ref.
1101 * cspi/spi.h: start removing redundant / conflicting
1102 gtkdoc comments, making the API readable at a glance :-)
1104 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1106 * test/keysynth-demo.c (keysynth_exit, main): upd.
1108 * test/simple-at.c (main, simple_at_exit): upd.
1110 * test/test-simple.c (unutterable_horror): kill.
1111 (utterable_normal_derefs): kill.
1112 (main): upd & do a setenv before gtk_init, so that we
1113 can use memprof - and to save the pain of remembering
1114 this, if we're running under memprof - don't exit.
1116 * cspi/spi_main.c (SPI_exit): return exit status
1118 (SPI_event_quit): impl.
1119 (SPI_event_main): simplify.
1120 (cspi_is_gnome_app): kill.
1121 (SPI_init): kill isGNOMEapp arg.
1123 * at-bridge/bridge.c (register_atk_event_listeners):
1124 re-instate the unref.
1125 (bridge_exit_func): don't re-activate the registry,
1126 protect vs. theoretical re-entry, use the
1127 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1128 assert a clean shutdown - for regression tests.
1130 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1132 * configure.in: Comment out dummy i18n support for now,
1133 otherwise it fails to build.
1134 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1135 EXTRA_DIST. They are missing in tarball.
1137 2001-12-07 Michael Meeks <michael@ximian.com>
1139 * util/magnifier.c: kill bonobo activation reg. race.
1141 * libspi/component.c
1142 (impl_accessibility_component_get_extents): make it match
1145 * libspi/registry.c (_registry_notify_listeners):
1146 re-remove X headers & reconcile conflicts.
1147 (spi_listener_struct_free): bad conflict resolve.
1148 (impl_accessibility_registry_register_application):
1149 more bad merging fixed.
1150 (impl_accessibility_registry_deregister_application): ditto.
1151 (spi_registry_new): ditto.
1152 (spi_registry_init): don't have an applications field.
1154 [ merge fixups2 branch to here ]
1155 2001-12-07 Michael Meeks <michael@ximian.com>
1157 * test/simple-at.c (report_focus_event),
1158 (report_focussed_accessible): remove g_warning debug.
1160 2001-12-07 Michael Meeks <michael@ximian.com>
1162 * test/test-simple.c (validate_tree): comment out some checks.
1163 (test_desktop): app now not registered idly - horay.
1165 2001-12-07 Michael Meeks <michael@ximian.com>
1167 * cspi/spi_registry.c
1168 (registerAccessibleKeystrokeListener): clean, stop it leaking
1169 great swathes of memory, and device event controller references.
1170 ensure we always pass valid sequences.
1171 (deregisterAccessibleKeystrokeListener): ditto.
1172 (generateKeyEvent): upd.
1174 * at-bridge/bridge.c (bridge_key_listener): handle
1175 registry dead exception gracefully.
1176 (bridge_focus_tracker, emit_eventv): free ev.
1178 * test/simple-at.c (report_focus_event): fix polarity.
1180 * libspi/application.c (notify_listeners): kill the ev
1181 argument, and make sure we init the ev we use.
1182 (spi_application_object_event_listener): split out a chunk
1183 (get_atk_object_ref): here & fixup.
1184 (reverse_lookup_name_for_toolkit_event): make const.
1185 (spi_application_toolkit_event_listener): fixup, kill leaks
1188 * at-bridge/bridge.c (register_atk_event_listeners):
1189 don't unref the noop object - causes grief.
1191 * libspi/registry.c: remove the X headers.
1192 turn off the debug churn.
1194 * libspi/accessible.c (spi_accessible_new_return): only
1195 release the ref if we are supposed to [doh]
1197 * test/simple-at.c (report_button_press, report_focus_event):
1198 guard vs. unexpected exit.
1200 * at-bridge/bridge.c (gtk_module_init): prune printf.
1201 (bridge_exit_func): fix app unref.
1203 * libspi/Makefile.am: don't install registry or desktop.h
1205 * libspi/*.h: update includes.
1207 * libspi/application.h: don't include ourself, or
1208 other redundant headers.
1210 2001-12-06 Michael Meeks <michael@ximian.com>
1212 * libspi/accessible.c
1213 (get_accessible_from_servant): impl.
1214 Upd. all CORBA impl.s to use it killing cut and paste.
1216 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1218 (SPI_init): register atexit cleanup handler here.
1220 2001-12-06 Michael Meeks <michael@ximian.com>
1222 * at-bridge/bridge.c (gtk_module_init): g_error on
1223 activation exception
1225 2001-12-06 Michael Meeks <michael@ximian.com>
1227 * at-bridge/bridge.c (gtk_module_init): some sort of
1228 confusing merge clash - reverted.
1229 (bridge_idle_init): ditto.
1231 * test/test-simple.c (main, utterable_normal_derefs):
1232 merge from Bill - somehow not committed.
1234 2001-12-06 Michael Meeks <michael@ximian.com>
1236 * libspi/value.c (spi_value_class_init): upd.
1237 (spi_value_finalize): kill.
1239 * libspi/table.c (spi_table_finalize): kill.
1240 (spi_table_interface_new): upd.
1241 (spi_table_class_init): upd.
1242 (get_table_from_servant): impl.
1243 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1245 * libspi/selection.c (spi_selection_finalize): kill.
1246 (spi_selection_interface_new): upd.
1247 (spi_selection_class_init): upd.
1248 (get_selection_from_servant): impl.
1249 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1251 * libspi/relation.c (spi_relation_finalize): kill.
1252 (spi_relation_class_init, spi_relation_new): upd
1254 * libspi/image.c (spi_image_finalize): kill.
1255 (spi_image_class_init): upd.
1256 (spi_image_interface_new): upd.
1257 (get_image_from_servant): impl.
1258 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1260 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1261 (spi_hyperlink_finalize): kill.
1262 (spi_hyperlink_new): upd.
1263 (get_hyperlink_from_servant): impl.
1264 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1266 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1267 (spi_hypertext_finalize): kill.
1268 (spi_hypertext_class_init): upd.
1269 (get_hypertext_from_servant): impl.
1270 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1272 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1273 (spi_editable_text_interface_new): upd.
1274 (get_editable_text_from_servant): impl.
1275 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1277 * libspi/text.c (get_text_from_servant): impl.
1278 All impls - update to use it killing more cut and paste,
1279 also fix bad string returns on duff args ( a somewhat
1280 impossible case to handle - but hey ).
1281 (spi_text_construct): impl.
1282 (spi_text_interface_new): upd.
1283 (spi_text_object_finalize): kill.
1285 * libspi/component.c
1286 (accessibility_component_object_finalize): kill.
1287 (spi_component_class_init): upd.
1288 (get_component_from_servant): impl. helper to kill cut & paste.
1289 (impl_accessibility_component_contains):
1290 (impl_accessibility_component_get_accessible_at_point):
1291 (impl_accessibility_component_get_position):
1292 (impl_accessibility_component_get_extents):
1293 (impl_accessibility_component_get_mdi_z_order):
1294 (impl_accessibility_component_get_layer):
1295 (spi_component_interface_new): upd.
1297 * libspi/action.c (spi_action_finalize): kill.
1298 (spi_action_class_init): upd. inherit from SpiObject.
1299 (spi_action_interface_new): upd.
1300 (get_action_from_servant): impl. helper to reduce cut & paste.
1301 (impl_getKeyBinding, impl_getName, impl_doAction),
1302 (impl_getDescription): Use it everywhere.
1304 * cspi/spi_main.c (get_live_refs): a pointer hash.
1305 (spi_object_hash, spi_object_equal): comment out.
1306 There are issues with CORBA object hashing that need
1309 * libspi/application.c (spi_application_init),
1310 (spi_application_new): upd.
1312 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1313 (spi_accessible_class_init): upd.
1314 s/accessible/object/ in epv methods.
1316 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1318 * at-bridge/bridge.c:
1319 Reorder the bridge initialization into the bridge gtk_module_init,
1320 an immediate call to bridge_register_app, and an idle_add for
1321 register_atk_event_listeners (the only code that *must* wait until
1322 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1323 the activation, creates the application's Accessible object, and
1324 queues the bridge_idle_init function. Restored call to
1325 Accessibility_Registry_deregisterApplication().
1326 Prior to making this call we obtain a new reference to the
1327 registry, which is a temporary hack that helps us handle apps that
1328 shut down the bonobo mainloop before we get there.
1330 * libspi/registry.c:
1331 Fix string leakage in debug block, and don't segv if a an app
1332 dies before its event notifications have been propagated.
1335 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1336 as stopgap measure until we get proper exception handling when
1337 objects die during or before interrogation.
1341 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1342 Also changed default value of is_gnome_app to TRUE.
1345 * test/keysynth-demo.c:
1346 Changed use of SPI_init and SPI_event_main to reflect API change above.
1349 Made report_focus_event check the warning value from getName
1350 before reporting on focussed accessible; simplifies handling of
1351 notifications from dead objects.
1353 * test/test-simple.c: (Changes not in this patch since source is
1356 2001-12-05 Michael Meeks <michael@ximian.com>
1358 * registryd/registryd.c (main): protect against
1359 bonobo-activation startup race condition.
1361 * cspi/spi_main.c (cspi_object_add_check): cope
1362 with the exception elegantly.
1364 * idl/Accessible.idl: decl. ChildGone
1366 * libspi/desktop.c (spi_desktop_dispose): impl.
1367 (spi_desktop_class_init): upd.
1368 (spi_desktop_add_application),
1369 (spi_desktop_remove_application),
1370 (abnormal_application_termination): impl.
1371 (impl_desktop_get_child_at_index): re-impl.
1374 (impl_accessibility_registry_deregister_application),
1375 (impl_accessibility_registry_register_application):
1376 kill excessive debug clutter.
1378 * test/test-simple.c (test_misc): test some NULL
1379 tolerance. (main): upd.
1381 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1382 implements no interfaces - so let's not crash.
1384 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1386 * libspi/accessible.c (spi_accessible_new_return): impl.
1387 helper to calm the cut and paste, to cope with
1388 NULL AtkObjects effectively and efficiently, and to kill
1389 the referencing bugs.
1391 * libspi/table.c (impl_getAccessibleAt),
1392 (impl_getRowHeader, impl_getColumnHeader): upd.
1394 * libspi/hyperlink.c (impl_getObject): upd.
1396 * libspi/accessible.c
1397 (impl_accessibility_accessible_get_child_at_index): upd.
1399 * libspi/component.c
1400 (impl_accessibility_component_get_accessible_at_point): upd.
1402 * test/test-simple.c (test_editable_text, test_text): impl.
1405 * cspi/spi_editabletext.c
1406 (AccessibleEditableText_insertText): constify.
1408 * test/test-simple.c (focus_me): make more robust.
1410 * libspi/accessible.c: remove some printfs in methods that
1411 we test and work fine, so we can get a clean tree dump.
1413 * test/test-simple.c (validate_accessible),
1414 (validate_tree): make tree dumping pretty too.
1416 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1417 it builds without debug on.
1419 * test/test-simple.c (validate_accessible): fix the most
1422 * cspi/spi_main.c (spi_object_release): leave the nicely
1423 blanked memory around if in debug mode.
1425 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1427 [committed to fixups2]
1428 2001-12-05 Michael Meeks <michael@ximian.com>
1430 * libspi/editabletext.c
1431 (spi_editable_text_class_init): g_type_class_peek_parent,
1432 not interface peek - so we finalize cleanly.
1434 * libspi/accessible.c (spi_accessible_new): kill debug.
1436 * test/test-simple.c (validate_accessible): fix ref.
1437 leak, print strings before freeing them; sigh, comment a
1438 chunk out due to strangeness.
1439 (validate_tree): unref the child after use.
1441 * cspi/spi_component.c (AccessibleComponent_getLayer):
1442 add missing break statement, switch on zlayer not the
1443 uninitialized retval.
1445 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1446 before (possibly re-entering) remote unref.
1448 * test/simple-at.c (main): unref the desktop.
1450 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1453 * cspi/spi_main.c (cspi_accessible_is_a): here to
1454 isolate bonobo API usage more.
1456 * libspi/registry.c (impl_accessibility_registry_register_application):
1457 prune bogus comment.
1459 2001-12-04 Michael Meeks <michael@ximian.com>
1461 * test/test-simple.c (validate_tree): upd.
1462 IndexInParent check to make it more lucid.
1463 (validate_accessible): dump the tree.
1465 * libspi/accessible.c (de_register_public_ref),
1466 (get_public_refs): impl.
1467 (spi_accessible_new): make more efficient & intuitive.
1468 Now IndexInParent check works.
1470 2001-12-04 Michael Meeks <michael@ximian.com>
1472 * cspi/spi-util.h: remove.
1474 * cspi/spi.h: move SPI_freeString here
1476 * libspi/component.c (impl_accessibility_component_get_layer):
1478 (impl_accessibility_component_get_mdi_z_order): ditto,
1479 return -1 on error - is this ok ?
1481 * test/test-simple.c (test_application): impl.
1483 * cspi/spi_accessible.c (Accessible_getApplication),
1484 (Accessible_isApplication): impl.
1486 * libspi/registry.c (spi_listener_struct_free): release
1487 the CORBA reference too.
1489 * libspi/accessible.c
1490 (impl_accessibility_accessible_get_parent): fix ref leak.
1492 * libspi/registry.c (spi_registry_new): make the registry
1493 immortal - we don't want it to go away ever.
1495 * libspi/application.c
1496 (spi_accessible_application_finalize): impl. cleanup.
1498 * cspi/spi_registry.c
1499 (deregisterGlobalEventListenerAll),
1500 (deregisterGlobalEventListener),
1501 (deregisterAccessibleKeystrokeListener): fix ref leak.
1503 * cspi/spi_main.c (SPI_init): remove redundant ref.
1505 * test/test-simple.c (unutterable_horror): impl. to force a
1510 (impl_accessibility_registry_deregister_application): release
1511 the application when we de-register it.
1513 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1514 until we have the infastructure to get it right.
1516 2001-12-03 Michael Meeks <michael@ximian.com>
1518 * libspi/Makefile.am: only build eventlistener.[ch]
1520 * libspi/accessible.c
1521 (impl_accessibility_accessible_get_child_at_index): don't leak.
1523 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1524 before we hit the idle handler.
1526 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1527 debugging than exit.
1529 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1531 * libspi/listener.c (impl_notify_event): check source
1532 not NIL before unref.
1534 * libspi/registry.c (impl_registry_notify_event): ditto.
1536 * libspi/eventlistener.c
1537 (impl_accessible_event_notify_event): unref the source.
1539 * libspi/accessibleeventlistener.c
1540 (impl_accessible_event_notify_event): unref the source.
1542 * idl/Event.idl: remove 'hash_id' attribute - of no
1545 * libspi/application.c (notify_listeners): upd list
1547 (spi_application_object_event_listener),
1548 (spi_application_toolkit_event_listener): upd to do correct
1552 (_registry_notify_listeners): update.
1553 (parse_event_type): this method also leaks like a sieve.
1554 (impl_accessibility_registry_deregister_global_event_listener):
1555 fix ETYPE_WINDOW case.
1557 * libspi/application.c
1558 (impl_accessibility_application_register_object_event_listener):
1561 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1563 * libspi/hypertext.c (impl_getLink): ditto.
1565 * cspi/spi_main.c (cspi_object_add): remove
1566 bogus CORBA_Object_duplicate.
1568 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1571 * cspi/spi_accessible.c
1572 (Accessible_getRelationSet): fix leak / referencing issue.
1574 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1575 (cspi_object_add, cspi_object_unref): upd.
1576 (spi_object_release, get_live_refs): impl.
1577 (cspi_cleanup): simplify.
1579 * *.[ch]: s/boolean/SpiBoolean/
1581 * cspi/spi_accessible.c (role_names): actualy order so it
1582 corresponds with the enum !
1584 * test/test-simple.c (test_roles): check some role strings
1585 vs. enums to detect offset errors.
1587 2001-12-01 Michael Meeks <michael@ximian.com>
1589 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1591 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1593 (Accessible_getChildAtIndex): use cspi_add_check so we
1594 check the ev before using a (possibly) invalid value.
1596 * libspi/accessible.c
1597 (impl_accessibility_accessible_get_parent): don't segv
1600 * at-bridge/bridge.c (gtk_module_init): upd.
1601 (bridge_property_event_listener): don't leak strings
1603 (bridge_state_event_listener),
1604 (bridge_property_event_listener): don't use a static
1605 buffer in case of recursive event emission &
1606 re-enterancy - split out the swathe of cut and paste
1608 (emit_eventv): and fix 2 ref leaks here & comply to the
1610 (bridge_register_app): rename to
1611 (bridge_idle_init): this and kill arg parsing, split
1612 various inits & bonobo-activation registration to module
1613 init time, kill referencing error.
1614 (bridge_exit_func): fix the same leak.
1615 (bridge_focus_tracker): don't leak event structures
1617 (bridge_signal_listener): more leakage and cut & paste
1619 (bridge_key_listener): return the result - FIXME is
1620 this polarity correct ?
1621 (accessibility_keystroke_from_atk_key_event): rename
1622 (accessibility_init_keystroke_from_atk_key_event): and stop
1624 (gtk_module_init): return a value - not that it is checked by
1626 (bridge_key_listener): register my horror at casting between
1627 IDL defined structs.
1628 (bridge_get_registry): kill - not used.
1630 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1632 * test/test-simple.c (test_roles): impl.
1633 (test_desktop, validate_accessible, validate_tree): impl.
1635 * cspi/spi_accessible.c (role_names): fixup bogus
1636 MAX_ROLES setup, make constants const for efficient linkage
1637 (AccessibleRole_getName): conform to coding style, make
1640 2001-11-30 Michael Meeks <michael@ximian.com>
1642 * cspi/spi.h: add missing prototype.
1644 * libspi/registry.c (spi_listener_struct_new): fix sig.
1646 * test/Makefile.am: add test-simple
1648 * test/test-simple.c: add
1650 * test/test.sh: add.
1652 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1654 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1655 do it straight - since otherwise we often get an activation race.
1657 [ work before Bill duplicated a chunk of it ... ]
1658 2001-11-30 Michael Meeks <michael@ximian.com>
1660 * libspi/keystrokelistener.c
1661 (spi_keystroke_listener_class_init): fixup arg
1664 * libspi/eventlistener.c
1665 (spi_event_listener_class_init): ditto.
1667 * tests/test.sh: add.
1669 * cspi/spi-listener-impl.h: update macros.
1671 * cspi/spi-listener-impl.c
1672 (cspi_event_listener_remove_callback): add
1673 correct pre-conditions.
1675 * cspi/spi_main.c (SPI_exit): guard vs. double
1676 exits, exit the mainloop nicely.
1677 (SPI_event_main): make more sense.
1678 (SPI_init): move the atexit evilness here so we
1679 always do it (yuck).
1680 (SPI_event_main): upd.
1682 * test/simple-at.c: update for listener changes.
1684 * registryd/registryd.c (main): prune kruft.
1686 * libspi/libspi.h: upd.
1688 * libspi/eventlistener.[ch]: rename broken macros.
1690 * libspi/accessibleeventlistener.[ch]: remove.
1692 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1694 * test/test-simple.c: Add - automated tests.
1696 * cspi/spi-listener-impl.c (cspi_event),
1697 (cspi_key_event): add user_data to invoke.
1698 (cspi_keystroke_listener_finalize): impl.
1699 (cspi_keystroke_listener_class_init): upd.
1702 (createAccessibleEventListener),
1703 (AccessibleEventListener_addCallback),
1704 (createAccessibleKeystrokeListener),
1705 (AccessibleKeystrokeListener_addCallback): upd.
1707 * libspi/deviceeventcontroller.c
1708 (spi_device_event_controller_check_key_event): add public proto.
1711 (impl_accessibility_registry_deregister_global_event_listener):
1712 always init listeners.
1713 (_registry_notify_listeners): yes it is.
1715 * cspi/spi-listener-impl.c (cspi_key_event):
1717 (cspi_event_listener_finalize): impl.
1718 (cspi_event_listener_class_init): hook up.
1719 (event_handler_new, event_handler_free),
1720 (event_list_remove_by_callback): impl.
1721 (cspi_event_listener_remove_callback),
1722 (cspi_keystroke_listener_remove_callback),
1723 (cspi_keystroke_listener_add_callback),
1724 (cspi_event_listener_add_callback): upd.
1726 * libspi/keystrokelistener.c
1727 (keystroke_listener_object_finalize): kill
1728 (spi_keystroke_listener_class_init): upd.
1729 (spi_keystroke_listener_add_callback),
1730 (spi_keystroke_listener_remove_callback): kill,
1732 (impl_key_event): prune drasticaly.
1734 * libspi/eventlistener.c
1735 (spi_event_listener_add_callback),
1736 (spi_event_listener_remove_callback): kill, use
1738 (impl_accessible_event_notify_event): upd.
1739 (spi_event_listener_object_finalize): remove.
1741 * libspi/Makefile.am: use eventlistener.[ch]
1743 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1745 * libspi/registry.c (_registry_notify_listeners):
1746 Changed listener loop iteration to use preferred convention.
1747 Got rid of string memory leaks caused be calling g_strconcat
1748 inside function calls.
1750 * libspi/registry.c (parse_event_type):
1751 Stopped g_strconcat memory leaks, free the g_strsplit return,
1752 g_strdup the split pieces when used, etc.
1754 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1757 Change method 'compare' to return a 'difference set' rather than
1758 taking a StateSet as an out parameter (more Java-friendly).
1760 * idl/Accessible.idl:
1761 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1763 * idl/Component.idl:
1765 Changed methods 'getExtents' and 'getImageExtents' in these
1766 interfaces to return a BoundingBox structure.
1767 (getPosition and getSize are redundant and possibly should be
1768 removed, rather than creating a corresponding Point struct.)
1770 * cspi/spi_component.c:
1771 Modify implementation of getExtents to reflect the above IDL
1776 Add (missing) AccessibleImage_getExtents () API.
1778 * docs/reference/cspi/at-spi-cspi-sections.txt:
1779 Added AccessibleImage_getImageExtents () to docs.
1781 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1783 * idl/Component.idl:
1784 Added two methods, getLayer () and getMDIZOrder (), to reflect
1785 the new ATK methods atk_object_get_layer and
1786 atk_object_get_mdi_z_order. (Which arguably should be part of the
1787 AtkComponent API and AtkObject). Also added an enum,
1788 ComponentLayer, for the first method's return value.
1790 * libspi/component.c:
1791 Added implementations for these methods.
1793 * cspi/spi_component.c:
1795 Added cspi binding methods for above,
1796 AccessibleComponent_getLayer() and
1797 AccessibleComponent_getMDIZOrder().
1798 Added cspi enum 'AccessibleComponentLayer'.
1800 * docs/reference/cspi/at-spi-cspi-sections.txt:
1801 Added above methods to docs.
1805 Changed typedef for 'boolean' type (and all references to it) to
1806 SPIBoolean, to avoid keyword clashes with C++.
1809 Changed usages of 'boolean' to SPIBoolean.
1811 * test/keysynth-demo.c:
1812 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1813 app), except where SPIBoolean is required by the callbacks API.
1815 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1817 * cspi/spi_registry.c:
1818 Removed obsolete X event loop for passive keygrabs (which now
1821 * registryd/registryd.c:
1822 Removed unnecessary call to gdk_init() [cruft]. This also allows
1823 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1826 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1828 * docs/reference/cspi:
1829 Included docs for SPI_freeString in generated documentation.
1832 Renamed spi_freeString to SPI_freeString, for consistency. Added
1833 documentation for this function.
1836 Renamed spi_freeString to SPI_freeString, for consistency.
1837 Removed obsolete method declaration string_from_corba_string.
1839 * test/keysynth-demo.c:
1840 Small tweak to comments.
1843 Stopped leaking the strings returned from CSPI.
1845 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1847 Merged Michael's branch (see his ChangeLog entries below).
1849 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1850 bridge is alive, release on exit.
1852 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1853 Fix type check macro.
1856 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1859 Added is_gnome_app static, and method cspi_is_gnome_app(),
1860 so we can call the appropriate shutdown routine at exit in SPI_exit.
1862 * cspi/spi_main.c (cspi_object_ref):
1863 Duplicate the corba object passed in, since we're keeping it around.
1865 * cspi/SPI_exit.c, cspi_cleanup:
1866 Moved the releasing of the live refs to its own function, so we
1867 can put it in g_atexit (). Call the appropriate shutdown API
1868 depending on whethe calling client is a gnome app or not
1869 (bonobo_main_quit or CORBA_ORB_shutdown).
1871 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1872 Unref the listener when this method is called, after
1873 deregistration. Updated the API docs to note this behavior.
1875 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1876 Bugfixes: Ref the bonobo object when returning a parent or child
1877 reference, or an AccessibleRelation. Generally made sure
1878 BonoboObject refcount is incremented whenever we return an
1881 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1882 Fixed typo/bug in signal declaration.
1884 * libspi/accessibleeventlistener.h:
1887 * libspi/application.c (spi_application_new):
1888 Fixed leak in initialization.
1891 Remembered to increment bonobo-object refcount when returning
1892 children (applications) from desktop object.
1893 Added (empty) finalize method.
1895 * libspi/deviceeventcontroller.c:
1896 Hold a ref to listeners inside DEControllerKeyListeners.
1897 Added dec_key_listener_free() method. Use prepend instead of
1898 append in key_listener list. Fixed some refcount madness and
1899 leaks in the listener registration/deregistration - deregistration
1900 now calls dec_key_listener_free() on listeners, and on the
1901 temporarily constructed dec_key_listener() used to perform the search/match.
1903 * libspi/hypertext.c (spi_hypertest_finalize):
1904 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1905 class. Also fixed spi_hypertext_interface_new() and
1906 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1908 * libspi/hypertext.h:
1909 Removed pointless and duplicate AtkObject pointer from
1912 * libspi/keystrokelistener.c:
1913 Fixed incorrect type of keystroke_listener_parent_class,
1914 renamed keystroke_listener_object_finalize to
1915 spi_keystroke_listener_object_finalize.
1916 Fixed typo in signal declaration
1917 (spi_keystroke_listener_class_init).
1919 * libspi/registry.c:
1920 Added funcsions spi_listener_struct_new() and
1921 spi_listener_struct_free() to help with memory management issues.
1922 We also now use these methods instead of gnew + poking stuff into
1923 the struct, and to decrement listener counts/free the listeners
1924 when deregistering them.
1925 Fix more refcount bugs in getDesktop() and
1926 getDeviceEventController().
1929 De-ref the desktop after enumerating the applications. Explicitly
1930 decrement the refcounts on the created listeners on exit (using
1931 _unref for keystroke listeners, and via the
1932 deregisterGlobalEventListenerAll command for other event
1935 2001-11-27 Michael Meeks <michael@ximian.com>
1937 * cspi/spi-listener.h: fixup enum.
1939 2001-11-27 Michael Meeks <michael@ximian.com>
1941 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1942 (cspi_keystroke_listener_new): Use the cspi variants.
1944 2001-11-26 Michael Meeks <michael@ximian.com>
1946 * test/keysynth-demo.c: fix 2 compile warnings, missing
1949 * test/simple-at.c (report_focussed_accessible),
1950 (report_focus_event, report_button_press),
1951 (check_property_change, is_command_key),
1952 (report_ordinary_key_event, report_command_key_event): upd.
1954 * util/mag_client.h: include pre-requisites.
1956 * libspi/accessibleeventlistener.c
1957 (spi_event_listener_object_finalize): free any lingering
1960 * libspi/keystrokelistener.c
1961 (keystroke_listener_object_finalize): ditto.
1963 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1964 callbacks, with cspi types.
1966 * cspi/spi_event.c (createAccessibleEventListener): chain to
1967 (AccessibleEventListener_addCallback): here.
1968 (createAccessibleKeystrokeListener): chain to
1969 (AccessibleKeystrokeListener_addCallback): here.
1971 * libspi/keystrokelistener.c
1972 (spi_keystroke_listener_class_init): add signal.
1973 (impl_key_event): emit the event.
1974 (boolean_handled_accumulator): impl.
1975 (marshal_BOOLEAN__POINTER): add, gack.
1977 * libspi/accessibleeventlistener.c
1978 (spi_event_listener_class_init): add signal.
1979 (impl_accessible_event_notify_event): emit the signal &
1980 make the loop efficient.
1981 (spi_event_listener_add_callback): prepend the callback.
1983 * libspi/accessibleeventlistener.h: add an 'event' signal,
1984 decl type on callback.
1986 * libspi/keystrokelistener.h: ditto.
1988 * cspi/spi-listener.h: make methods typesafe and
1989 make them use the new event typedefs.
1991 * test/simple-at.c (report_focussed_accessible):
1992 include mag_client.h
1993 Use *(void *)text_interface not the other thing.
1995 * configure.in: add gtk to registryd bits - since we use
1998 * util/magnifier.c: include libbonobo.h
2000 2001-11-25 Bill Haneman <bill.haneman@sun.com>
2002 * test/keysynth-demo.c:
2003 Turned this into a simple scanning keyboard, to demonstrate the
2004 use of g_timeout_add () as a means of creating timers for
2005 scanning, and the use of GtkStyle for visually indicating when
2006 virtual keyboard elements are selected.
2008 keysynth-demo now listens to any keyboard keys with zero-valued
2009 keycodes (i.e. 'unused' keys) and interprets them as
2012 Reworked the shiftlatch code so that shift-down state isn't held
2013 for long periods (it's only synthesized immediately prior to
2014 the keysynth event it's modifying). Note that shiftlatch in this
2015 demo is a convenience, not intended to take the place of AccessX
2016 which is the better choice for getting 'sticky' modifier keys.
2018 * libspi/deviceeventcontroller.c:
2019 * at-bridge/bridge.c:
2020 * cspi/spi_registry.c:
2021 Removed some debug print stuff, and put other verbosity in #ifdef
2026 Implemented some more of the magnifier IDL for the simple
2027 magnifier: namely, getZoomRegionParams.
2028 Added mag_x and mag_y members to MagnifierData struct, aid of this
2030 Added GtkWindow::realize signal handler to magnifier, to keep it
2031 from receiving keyboard focus from the WM.
2033 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2035 * cspi/spi-private.h: my guess at what michael forgot
2036 before he ran off to NZ :-)
2038 2001-11-23 Michael Meeks <michael@ximian.com>
2040 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2041 comment out non existant method invoke so we link.
2043 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2044 use bonobo_exception_get_text for more friendly warnings.
2046 * cspi/spi.c (Obj_Add): move into spi_main & rename
2047 spi_object_add; kill spi.c
2049 * cspi/spi_registry.c
2050 (deregisterGlobalEventListener),
2051 (deregisterGlobalEventListenerAll),
2052 (registerGlobalEventListener): fix exception leaks.
2054 * cspi/spi_main.c (spi_exception): impl. helper, so we
2055 don't leak exceptions.
2057 * cspi/spi_selection.c
2058 (AccessibleSelection_deselectSelectedChild): return the
2061 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2062 (spi_registry): ditto.
2063 (SPI_init): guard against double inits.
2065 * cspi/*.c: use spi_ev (), and spi_registry () where
2066 appropriate - a temporary hack until we have something
2067 better. Use spi_object_add
2069 2001-11-22 Michael Meeks <michael@ximian.com>
2071 * cspi/Makefile.am: re organise, install the headers.
2073 * cspi/*.h: add G_BEGIN/END_DECLS
2075 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2078 Added non-preemptive keylistener for key events with no modifiers
2079 and shift-only modifier.
2081 * libspi/keystrokelistener.c:
2082 Removed some verbose diagnostics printout.
2084 * cspi/spi_registry.c:
2085 Fixed a bug that caused all key listeners to be registered as
2088 * libspi/deviceeventcontroller.c:
2089 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2090 for non-preemptive key masks.
2093 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2095 * docs/reference/idl/at-spi-idl-docs.sgml:
2096 * docs/reference/idl/at-spi-idl-sections.txt:
2097 * docs/reference/idl/at-spi-idl-overrides.txt:
2098 Added missing files.
2100 * docs/reference/Makefile.am:
2101 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2102 to scan the IDL files :-(
2107 Added .cvsignore files.
2109 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2111 * libspi/deviceeventcontroller.c:
2112 * libspi/keystrokelistener.c:
2114 * cspi/spi_registry.c:
2115 Added filters for KeySets, KeyEventSeq, and event types to key
2116 event dispatching, so listeners should only receive those events
2117 that they requested :-)
2119 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2124 * docs/reference:Makefile.am:
2125 * docs/reference/cspi:
2126 * docs/reference/cspi:Makefile.am:
2127 * docs/reference/cspi:tmpl:
2128 * docs/reference/cspi:tmpl:*.sgml:
2129 * docs/reference/idl:
2130 * docs/reference/idl:Makefile.am:
2131 * docs/reference/idl:at-spi-idl-sections.txt:
2132 * docs/reference/idl:at-spi-idl-docs.sgml:
2133 * docs/reference/idl:tmpl:
2134 * docs/reference/idl:tmpl:*.sgml:
2136 Restructured docs directory to allow separate 'reference' docs
2137 section, and forked idl and cspi docs. Added the sgml template
2138 files to CVS. Added the first sections/structural sgml for the
2141 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2143 * configure.in, libspi/Makefile.am: find libXtst.
2145 2001-11-21 Michael Meeks <michael@ximian.com>
2147 * test/accessx-gui.c: s/spi_value/value/ - doh.
2149 * libspi/base.[ch]: add.
2151 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2153 * idl/Accessible.idl:
2154 * idl/Application.idl:
2157 Started gtk-doc cleanup on IDL.
2159 * libspi/deviceeventcontroller.c:
2160 Added and connected non-preemptive key notification from the
2161 toolkits (in addition to the pre-emptive support from XServer
2162 which we had before, but which causes 'focus flashing'). Filters
2163 are presently limited to key modifiers and global/non-global,
2164 KeySets are presently ignored, as are KeyEvent masks.
2166 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2167 structs into the persistant structure rather than just storing
2168 pointers to things that might not persist across servant
2171 The XGrabKey call now does async keygrabs, because synchronous
2172 ones were deadlocking with GDK_event code in a very nasty way.
2174 Added boolean to internal method notify_keylisteners, to indicate
2175 whether the event came from the 'toolkit source' or the 'global
2176 (XServer) source' - this is used in the notification process to
2177 determine which listeners to send the event to.
2179 deviceeventcontroller.c is now warning-free.
2181 * libspi/registry.c:
2182 Fixed regression in application de-registration.
2183 Also fixed some really brain-dead weirdness having to do with
2184 event dispatching - event structs are now duplicated before being
2185 re-marshalled in the dispatch to listeners. This also fixes a
2186 Solaris build problem.
2189 2001-20-11 Michael Meeks <michael@ximian.com>
2192 (impl_accessibility_registry_deregister_global_event_listener):
2195 * libspi/deviceeventcontroller.c
2196 (spi_device_event_controller_check_key_event): return
2197 FALSE on no virtual method.
2199 * libspi/*..h: make includes work on a correctly pathed install.
2201 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2203 * libspi/application.h: kill unused ( and whacked out )
2204 gboolean *spi_application_set_id (AtkObject *app, long id);
2206 2001-20-11 Michael Meeks <michael@ximian.com>
2208 * libspi/*.[ch]: further convert to bonobo's type func
2209 macros, remove redundnant casts etc.
2211 * libspi/text.c s/accessibility_text/spi_text/g,
2212 re-order to de-cruft.
2214 * libspi/hypertext.c: re-order to kill a huge slew
2215 of redundant forward decls.
2217 * libspi/relation.c: ditto.
2219 * libspi/image.c: ditto.
2221 * */.cvsignore: update
2223 2001-20-11 Michael Meeks <michael@ximian.com>
2225 * libspi/deviceeventcontroller.c
2226 (_controller_register_with_devices): use g_getenv,
2227 kill stdlib.h include.
2229 * libspi/keystrokelistener.c
2230 (spi_keystroke_listener_get_type): kill
2231 (spi_keystroke_listener_class_init),
2232 (spi_keystroke_listener_init): rename to this.
2234 * libspi/text.c (impl_getAttributes): fix warning / bug.
2236 * libspi/*.[ch]: more headers, includes and over commenting.
2238 2001-20-11 Michael Meeks <michael@ximian.com>
2240 * libspi/*.[ch]: fixup headers, includes and over commenting.
2242 * libspi/image.c (impl__get_imageDescription): const
2243 correctness warning fix. remove redundant casting.
2245 * libspi/table.c (impl_getRowDescription): ditto.
2246 (impl_getColumnDescription): ditto.
2248 * libspi/libspi.h: add.
2250 2001-19-11 Michael Meeks <michael@ximian.com>
2252 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2254 * libspi/component.c (accessibility_component_get_type):
2255 rename to (spi_component_get_type): and macroify.
2256 (accessibility_component_init): rename to
2257 (spi_component_init): this
2258 (accessibility_component_class_init): rename to
2259 (spi_component_class_init): this
2261 * libspi/action.c (spi_action_get_type): kill, use the macro.
2263 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2266 * libspi/application.c (spi_application_object_event_listener),
2267 (impl_accessibility_application_register_object_event_listener):
2268 warning fixes / const understanding updates.
2270 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2273 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2275 * libspi/spi_accessible.c: Added docs and C bindings for
2276 AccessibleStateSet. (No implementations yet). Documentation
2277 coverage for C bindings now 100%. Made docs for event listeners
2282 boolean notifyListenersSync (in DeviceEventListener listener,
2283 in DeviceEvent event);
2285 oneway void notifyListenersAsync (in DeviceEventListener listener,
2286 in DeviceEvent event);
2288 Added DeviceEventListener and DeviceEvent structs (may deprecate
2289 KeyStroke and KeystrokeListener in favor of this generic
2290 event/listener framework for devices).
2292 * libspi/deviceeventcontroller.c:
2294 Changed some key listener code to take masks, etc., and paved the
2295 way for integration of toolkit/non-preemptive key events. Changed
2296 signatures of some internal methods.
2298 * at-bridge/bridge.c:
2299 Fixed regression connecting to interface signals, apparently
2300 caused by GTK+ changes.
2302 Added an internal bridge_state_listener to deal with
2303 property-change:accessible-state signals.
2305 Changed the key_listeners GList to store structs (including masks,
2306 etc.) instead of just CORBA_Objects (required for full
2307 implementation of key listener API).
2309 Connected the bridge to all currently supported Atk signals.
2310 Events now supported:
2311 object:property-change
2312 object:property-change:accessible-name
2313 object:property-change:accessible-state
2314 object:property-change:accessible-description
2315 object:property-change:accessible-parent
2316 object:property-change:accessible-value
2317 object:property-change:accessible-role
2318 object:property-change:accessible-table-caption
2319 object:property-change:accessible-table-column-description
2320 object:property-change:accessible-table-column-header
2321 object:property-change:accessible-table-row-description
2322 object:property-change:accessible-table-row-header
2323 object:property-change:accessible-table-summary
2324 object:children-changed
2325 object:visible-data-changed
2326 object:selection-changed
2327 object:text-selection-changed
2329 object:text-caret-moved
2331 object:row-reordered
2333 object:column-inserted
2334 object:column-reordered
2335 object:column-deleted
2336 object:model-changed
2338 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2340 * libspi/hyperlink.c,h:
2341 Fixed some broken stuff in hyperlink.
2343 * libspi/relation.h:
2344 * libspi/relation.c:
2345 * cspi/spi_accessible.c:
2346 Initial implementations of AccessibleRelation methods, and docs.
2348 * libspi/accessible.c:
2349 Fixed a bug that caused SEGV if an accessible
2350 object's description is NULL, and a client
2351 requests it. An empty string is now returned.
2353 * cspi/spi_editabletext.c:
2354 * cspi/spi_hypertext.c:
2356 * cspi/spi_hyperlink.c:
2360 Doc coverage now 95%.
2362 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2364 One last namespacing revision:
2365 * libspi/accessibleeventlistener.[ch]:
2366 Renamed SpiAccessibleEventListener to SpiEventListener,
2367 (no need for two namespaces ;-)
2369 And lots of documentation fixes:
2371 * docs/at-spi-docs.sgml:
2372 Fixed 'underscore vs. hyphen' bug that was preventing
2373 the gtk-doc API docs from being automatically generated.
2376 * cspi/spi-listener.h
2378 * cspi/spi_accessible.c
2380 * cspi/spi_application.c
2381 * cspi/spi_component.c
2382 * cspi/spi_editabletext.c
2384 * cspi/spi_hypertext.c
2386 * cspi/spi_registry.c
2387 * cspi/spi_selection.c
2391 * docs/at-spi-docs.sgml
2392 * docs/at-spi-sections.txt
2394 Added and fixed up gtk-doc documentation in cspi.
2396 Interfaces now (fully) documented (subject to revision and enhancement):
2398 Event Listener Support
2400 AccessibleApplication
2404 AccessibleEditableText
2411 AccessibleRelationSet
2416 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2418 * at-bridge/bridge.c:
2419 Initial work for toolkit-level key snooper connection by bridge.
2424 New typedefs and fixes to support new namespacing, and cleaner
2425 separation of cspi bindings from libspi bonobo implementation.
2426 Removed inconsistent and extraneous Spi* namespace prefix that
2427 had crept into cspi headers.
2428 Lots of comment fixes that sed had missed.
2430 * cspi/spi-roletypes.h:
2431 * cspi/spi-statetypes.h:
2432 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2433 to AccessibleRoleType.
2435 * libspi/accessibleeventlistener.h:
2436 Fixed minor namespacing weirdness.
2438 * libspi/deviceeventcontroller.c:
2439 Reordered some internal API for device listeners.
2440 Changed the key registry final boolean to 'is_system_global'
2441 rather than 'is_synchronous', which is more descriptive of its
2443 Added spi_device_event_controller_new().
2444 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2446 * libspi/keystrokelistener.[ch]:
2447 Namespaced KeystrokeListener to SpiKeystrokeListener.
2448 Changed uses of keymasks to use SPI_ prefix, and did other
2451 * libspi/keymasks.h:
2452 Namespaced keymask constants with SPI_ prefix.
2454 * libspi/registry.c:
2455 Some warning fixes, and knock-on fixes from namespace changes.
2458 Added rules for accessx-gui test program.
2460 * test/accessx-gui.c:
2461 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2462 utility. It doesn't actually use at-spi, but it's still cool and
2465 * test/keysynth-demo.c:
2469 Fixes so that these test clients work properly with the namespaced
2470 libraries. (Incompletely tested for technical reasons, fixes may follow)
2473 2001-13-11 Michael Meeks <michael@ximian.com>
2475 * libspi/application.c
2476 (impl_accessibility_application_get_version),
2477 (impl_accessibility_application_get_toolkit_name):
2479 (impl_accessibility_application_set_id),
2480 (impl_accessibility_application_get_id): remove
2481 redundant casting code.
2483 * libspi/action.c (impl_getDescription): fix warnings.
2485 * libspi/accessible.c
2486 (impl_accessibility_accessible_get_parent),
2487 (impl_accessibility_accessible_get_child_at_index),
2488 (impl_accessibility_accessible_get_state),
2489 (impl_accessibility_accessible_get_relation_set):
2490 warning fixes & include action.h
2492 2001-13-11 Michael Meeks <michael@ximian.com>
2494 * *.[ch] fix bits I screwed up:
2496 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2497 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2499 2001-13-11 Michael Meeks <michael@ximian.com>
2501 * *.[ch] Namespace libspi into spi_ and Spi.
2503 2001-13-11 Michael Meeks <michael@ximian.com>
2505 * Makefile.am: dist & install at-spi-1.0.pc
2507 * libspi/Makefile.am: install into at-spi-1.0
2509 * idl/Makefile.am (idldir): install into at-spi-1.0
2511 * at-spi-1.0.pc.in: add.
2513 * configure.in: build it.
2515 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2517 * test/keysynth-demo.c:
2518 Use a 'realize' signal-handler to set the WM properties for
2519 the virtual keyboard, rather than making it a "POPUP" type
2520 override-redirect window (thanks to anders carlsson for that
2523 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2526 * test/keysynth-demo.c:
2527 Added new test of key synthesis, which creates a simple
2528 (mouse-operated) onscreen keyboard. It inserts key events into
2529 the currently-focused window, thus it does not grab keyboard focus
2532 * cspi/spi_registry.c:
2533 Added C binding for AT-SPI generateKeyEvent.
2535 * libspi/deviceeventcontroller.c:
2536 Added call to XFilterEvent so that key listener works with XIM (we
2537 hope). Added event_synth_type to generateKeyEvent, so that we can
2538 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2539 synthesize a press/release pair for KeySyms.
2541 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2543 * libspi/Makefile.am:
2544 * registryd/Makefile.am:
2545 (temporary) hack to include libXtst in libspi and registryd.
2546 (Needed for keystroke synthesis, see below).
2549 Improved API for registerKeystrokeListener, in accordance with
2550 discussions with Gnopernicus team and X server research.
2552 * libspi/registry.c:
2553 * libspi/deviceeventcontroller.c:
2554 * libspi/accessible.c:
2555 * libspi/keystrokelistener.c:
2556 Changes and fixes to support keylisteners for potentially
2557 consumed key events (that is, 'passive grabs').
2558 Added implementation for generateKeyEvent() [untested].
2561 Changes to registerKeystrokeListener() API, as above.
2562 Added deregisterGlobalEventListenerAll(), and
2563 deregisterKeystrokeListener(), which are needed for clean exit of
2565 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2566 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2568 * cspi/spi_registry.c:
2569 Added implementations of function prototypes mentioned above.
2571 * registryd/registryd.c:
2572 Added the key listener event source as a g_timeout(), to allow
2573 receipt of key events that are not caught by GDK (since GDK
2574 doesn't support passive keygrabs, this was necessary).
2577 Changed to attach a keylistener to 'Alt' keys, and
2578 respond to the following keycommands: Alt-M (toggle magnifier);
2579 Alt-F (toggle speech); Alt-Q (quit).
2580 Added an exit routine to deregister the listeners, and a key
2581 listener that prints some key info to the console when a key
2582 matches the listener mask (and is thus received by the listener).
2584 * util/idl/Magnifier.idl:
2585 Changes to magnifier API to support multiple zoom regions,
2586 non-uniform scaling in x and y, markDirty, and a host of other
2587 features that would be useful to magnification.
2590 * util/mag_client.c:
2591 * util/mag_client.h:
2592 * util/mag_control.c:
2594 Source code changes to support the above IDL changes.
2597 As above, and also changes to use a (slower) generic conversion
2598 path for colormap conversions, since the fast RGB conversions have been
2599 reported to fail for 16-bit displays.
2601 2001-10-26 Michael Meeks <michael@ximian.com>
2603 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2605 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2607 * at-bridge/Makefile.am: fix LDFLAGS.
2609 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2611 * at-bridge/bridge.c:
2612 Re-worked listeners for toolkit events, now we have signal
2613 and property listeners. Added a private method
2614 register_atk_event_listeners(), which registers with the
2615 various atk and gtk signals we need to monitor in order to emit
2617 Added emission hook for AtkObject:property-change events, to
2618 support the 'property listeners'.
2619 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2622 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2623 which emit warnings and exit, respectively, if CORBA errors occur
2624 during remote calls, and we now use these methods to check most of
2625 our CORBA calls in the C bindings.
2627 * cspi/spi_accessible.c:
2628 Changed AccessibleSelection_refSelectedChild() to
2629 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2630 now increment refcounts.
2632 * cspi/spi_component.c:
2633 Fixed some long pointer casts (dangerous!) to pass pointers to
2634 CORBA_longs of the proper type to the CORBA stubs, and copy the
2635 data into the longs that were passed into the C bindings code.
2637 * at-bridge/bridge.c:
2639 * libspi/accessible.c:
2640 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2641 hyperlinks, AtkHyperlink is an object type.
2643 * libspi/application.c:
2644 Added various conversions to and from "generic" event types and
2645 atk-specific types; this is really part of the 'bridge'
2646 implementation but is valid for all AtkObject-based accessibility
2649 * libspi/editabletext.c:
2650 Fixed nasty bug wherein editable text's finalize method was
2651 unref'ing tha AtkObject reference that the text parent class was
2652 about to unref _again_. There was also a nasty inheritance bug
2653 that meant that the AccessibleEditableText class was corrupt.
2655 * libspi/selection.c:
2656 Provided implementations for some selection API that was broken.
2658 * idl/Application.idl:
2659 Added registerObjectEventListener () method.
2662 Fixed a number of return values that were Bonobo_Unknowns from
2663 bonobo_object_corba_objref(), which I
2664 forgot to dup before returning. Changed instances of
2665 bonobo_object_corba_objref (bonobo_object(o)) to
2666 BONOBO_OBJREF(o), for concision and clarity.
2668 <2001-10-13 Louise Miller <louise.miller@sun.com>
2670 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2671 idl/Event.idl, idl/Registry.idl
2672 Changed these files to include Bonobo_Unknown.idl instead
2675 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2677 * libspi/component.c libspi/component.h:
2678 Fixed typo. Added assertions for object checks in
2679 AccessibleComponent code.
2681 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2683 * idl/Accessible.idl:
2684 Added 'isEqual (Accessible *object)'
2685 method for Accessible. (Not Yet Implemented).
2688 Changed signature of registerKeystrokeListener() to
2689 take a KeySet and KeyEventSeq so that specific keys and event
2690 types could be requested for monitoring, and added a flag
2691 is_synchronous so that either synchronous or asynchronous
2692 notification could be requested. (However this is not all
2693 implemented yet). This also meant adding two new typedefs,
2694 KeyEventSeq and KeySet.
2697 Added two new relations, RELATION_TOOLTIP_FOR and
2698 RELATION_LEAFNODE_OF.
2701 Added new state, STATE_HAS_TOOLTIP.
2703 * libspi/text.c, editabletext.c:
2704 Added new assertions to all casts of bonobo-objects from
2705 CORBA servants, to prevent Text API calls on non-text objects.
2706 Changed suspect casts of int-pointer types, so that we
2707 always send a valid CORBA_long pointer to the CORBA APIs that use
2708 in/out long parameters. We then have to copy from the CORBA_long
2709 into the regular long or int for return to the C bindings, or
2710 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2713 * libspi/deviceeventcontroller.c:
2714 Cleaned these sources up.
2716 Changed return type for getCharacterAtOffset to
2717 CORBA_unsigned_long, to allow for 32-bit characters.
2720 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2724 Fixed 'make dist' so that distro compiles...
2725 * libspi/keymasks.h:
2727 * cspi/spi-listener.c:
2728 KeystrokeListenerCB now returns a boolean.
2730 Added KeyEventType struct, and KeyStroke.
2731 Also added createKeystrokeListener(),
2732 KeystrokeListener_addCallback(),
2733 KeystrokeListener_removeCallback(), and added a keymask to
2734 registerKeystrokeListener().
2735 * cspi/spi_accessible.c:
2736 Changed numerous return types for interfaces from
2737 AccessibleComponent to Accessible<InterfaceName>; this was
2738 probably a cut-and-paste error.
2740 Implementations of new KeystrokeListener api (from spi.h,
2743 Changes to key modifier mapping.
2744 Created ControllerEventMask struct.
2745 Made DeviceEventController derive from Bonobo::Unknown.
2747 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2748 * libspi/deviceeventcontroller.c:
2749 Added a number of new internal (private) methods.
2750 * libspi/editabletext.c:
2751 * libspi/editabletext.h:
2752 Fixed a number of bugs related to the fact that
2753 editabletext inherits from text. Fixed the EditableText struct,
2754 the init() call, and use correct casts when calling Text methods
2755 from an EditableText object. Removed (duplicate) atko from the
2756 EditableText structure, we use the one in the parent Text
2757 structure via the casts mentioned above.
2758 * libspi/keystrokelistener.[ch]:
2759 * libspi/registry.c:
2760 Changes in support of keyboard handling (above).
2762 Keyboard handling, though partly functional, is still not
2763 recommended for at-spi client use as there is considerable
2764 work yet to be done.
2767 Changed some places where pointers to various int types
2768 are cast to be pointers to CORBA_long types and vice-versa:
2769 pointer casting is not safe so we pass pointers of the correct
2770 types and then cast the result before putting it into the target
2773 * libspi/text.h: minor typos corrected.
2775 We now speak not only the name of a Text element, but the
2776 first sentence of its content, when it receives focus.
2777 I also changed the text compression to 75% from 50%.
2778 * util/Accessibility_Util.server.in:
2779 Changed the default magnifier type to be a 3x vertical
2780 splitscreen magnifier (was previously a 2x horizontal one).
2782 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2784 * libspi/keystrokelistener.h:
2785 * libspi/keystrokelistener.c:
2786 Initial functional implementations of KeystrokeListener.
2789 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2791 Fixed string handling for NULL strings in libspi.
2792 Added spi_freeString to free strings returned by C bindings.
2794 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2796 * libspi/keystrokelistener.h:
2797 * libspi/keystrokelistener.c:
2798 Began (no-op) implementations of KeystrokeListener
2800 * libspi/deviceeventcontroller.c:
2801 * libspi/deviceeventcontroller.h:
2802 Began creating implementations of DeviceEventController,
2803 to handle keystroke and mouse event listening and
2805 * libspi/accessible.c:
2806 Stubbed-in the implementations for
2807 Accessibility_Accessible_getState and
2808 Accessibility_Accessible_getRelationSet.
2809 * libspi/registry.c:
2810 Improved de-registration process and fixed some bugs,
2811 deregistration now works correctly.
2813 Added initialization of applications list (to NULL).
2815 Reduced speech compression from 0.5 to 0.7, for demo.
2816 Changed call to gdk_window_set_decorations()
2817 to gtk_window_set_decorated().
2818 * at-bridge/bridge.c:
2819 Bridge now deregisters when app exits, via
2820 registration of a cleanup function
2821 with the g_atexit() call.
2822 Required making 'app' static, renamed 'this_app'.
2823 Fixed broken use of bonobo_init, passing argv wrongly.
2825 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2829 Created a new directory for
2830 accessibility-related utilities, primarily for
2831 testing and demo purposes, but with possible
2838 Onscreen magnifier utility that
2839 is implemented as a bonobo service.
2841 * util/mag_client.c:
2842 * util/mag_client.h:
2843 Client-side support (simple C bindings)
2844 for Magnification service
2846 * util/mag_control.c:
2847 Client program example for
2848 Magnification service
2850 * util/Accessibility_Magnifier.server.in:
2851 Bonobo-activation file for the
2852 Magnification service.
2855 * util/idl/Magnifier.idl:
2856 IDL defining the bonobo Magnification
2860 Modifications to use the bonobo-activated magnifier
2861 above, in place of trying to connect to an existing
2862 magnifier that uses socket-listening IPC.
2864 If env variable MAGNIFIER is set, a magnifier service
2865 will be started if one does not exist.
2867 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2868 * at-bridge/bridge.c:
2869 applied patch from Marc to build and run
2870 against new glib and gtk+ (seemed like a change
2871 to bonobo_init signature was made ?)
2873 made festival-server support turned off by default.
2874 Added support for a simple magnifier (off by default)
2875 which will be added to a 'util' directory later.
2876 * at-bridge/Makefile.am:
2877 Changed "application.h" header from a 'source'
2878 to a 'dependency' of libat-bridge.
2880 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2888 Added interface implementation c files to list of
2889 includes so they are included in libcspi.
2892 Changed prototype of AccessibleAction_doAction to return a
2894 Changed prototype of AccessibleTable_getCaption to
2895 return an Accessible.
2896 Changed prototype of AccessibleTable_getSelectedRows
2897 and AccessibleTable_getSelectedColumns to
2898 return a long (returns the number of selected rows
2899 or columns respectively).
2900 Changed name of AccessibleText_refRunAttributes to
2901 AccessibleText_getAttributes.
2902 Changed prototype of AccessibleText_getCharacterExtents to
2903 return a void rather than a boolean.
2904 Added support for a AccessibleCoordType parameter
2905 specifying what type of coordinates are desired.
2906 Added an AccessibleCordType parameter to
2907 AccessibleText_getPointAtOffset.
2909 * cspi/spi_accessible.c:
2910 Added code to return the outstanding interfaces from
2911 Accessible_queryInterface.
2913 * cspi/spi_action.c:
2915 Corrected call to getNActions to call the c binding
2918 * cspi/spi_editabletext.c:
2920 Changed name from setRunAttributes to setAttributes.
2922 * cspi/spi_hyperlink.c:
2924 Changed call to getNAnchors to correctly call the c
2925 binding for an attribute.
2927 * cspi/spi_hypertext.c:
2929 Changed getImageDescription to correctly call the
2930 binding for an attribute.
2932 * cspi/spi_selection.c:
2933 Changed getNSelectedChildren to correctly call the c
2934 binding for the attribute.
2935 Changed refSelectedChild to getSelectedChild.
2939 Changed getCaption to return an Accessible.
2940 Fixed calls which retrieve attributes.
2941 Changed refAt to getAccessibleAt.
2942 Changed getNSelectedRows and getNSelectedColumns to
2946 Changed getCharacterExtents and getPointAtOffset to accept an
2947 AccessibleCoordType.
2949 Changed calls which retrieve attributes.
2950 Changed refRunAttributes to getAttributes.
2955 * idl/Hyperlink.idl:
2956 Changed n_anchors attribute to nAnchors to keep naming
2957 convention consistent.
2960 Made Table inherit from Bonobo::Unknown.
2961 Added nSelectedColumns and nSelectedRows attributes.
2964 Made Value inherit from Bonobo::Unknown.
2966 * libspi/hyperlink.c:
2967 Change for nAnchors attributte name change.
2969 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2977 Added interface implementation c files to list of
2978 includes so they are included in libcspi.
2981 Changed prototype of AccessibleAction_doAction to return a
2983 Changed prototype of AccessibleTable_getCaption to
2984 return an Accessible.
2985 Changed prototype of AccessibleTable_getSelectedRows
2986 and AccessibleTable_getSelectedColumns to
2987 return a long (returns the number of selected rows
2988 or columns respectively).
2989 Changed name of AccessibleText_refRunAttributes to
2990 AccessibleText_getAttributes.
2991 Changed prototype of AccessibleText_getCharacterExtents to
2992 return a void rather than a boolean.
2993 Added support for a AccessibleCoordType parameter
2994 specifying what type of coordinates are desired.
2995 Added an AccessibleCordType parameter to
2996 AccessibleText_getPointAtOffset.
2998 * cspi/spi_accessible.c:
2999 Added code to return the outstanding interfaces from
3000 Accessible_queryInterface.
3002 * cspi/spi_action.c:
3004 Corrected call to getNActions to call the c binding
3007 * cspi/spi_editabletext.c:
3009 Changed name from setRunAttributes to setAttributes.
3011 * cspi/spi_hyperlink.c:
3013 Changed call to getNAnchors to correctly call the c
3014 binding for an attribute.
3016 * cspi/spi_hypertext.c:
3018 Changed getImageDescription to correctly call the
3019 binding for an attribute.
3021 * cspi/spi_selection.c:
3022 Changed getNSelectedChildren to correctly call the c
3023 binding for the attribute.
3024 Changed refSelectedChild to getSelectedChild.
3028 Changed getCaption to return an Accessible.
3029 Fixed calls which retrieve attributes.
3030 Changed refAt to getAccessibleAt.
3031 Changed getNSelectedRows and getNSelectedColumns to
3035 Changed getCharacterExtents and getPointAtOffset to accept an
3036 AccessibleCoordType.
3038 Changed calls which retrieve attributes.
3039 Changed refRunAttributes to getAttributes.
3044 * idl/Hyperlink.idl:
3045 Changed n_anchors attribute to nAnchors to keep naming
3046 convention consistent.
3049 Made Table inherit from Bonobo::Unknown.
3050 Added nSelectedColumns and nSelectedRows attributes.
3053 Made Value inherit from Bonobo::Unknown.
3055 * libspi/hyperlink.c:
3056 Change for nAnchors attributte name change.
3059 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3061 implementations-- made server implementations own AtkObject pointers
3062 rather than their respective AtkInterrface pointers to fix
3063 refcounting. AtkHyperlink is still broken.
3065 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3066 * cspi/spi_accessible.c:
3067 Added method Accessible_Role_getName(),
3068 and requisite string array (role_names).
3069 Added conversion string_from_corba_strin() call
3070 to Accessible_getName and _getDescription.
3071 * libspi/accessible.c:
3072 Added implementation for Accessible_getRole()
3074 Added festival support, used if environment variable
3077 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3079 * at-bridge/bridge.c:
3080 Now allocate Accessibility_Event using
3081 Accessibility_Event__alloc() instead of g_new0().
3082 * libspi/accessibleeventlistener.c:
3083 Initialize AccessibleEventListener->callbacks to NULL.
3084 Fixed accessible__event_listener_init() param, changed to
3085 "AccessibleEventListener *" type.
3086 Changed a bonobo_object_release_unref() call to
3087 Accessibility_Accessible_unref().
3088 * libspi/listener.c:
3089 Changed Bonobo_Unknown_unref to (equivalent)
3090 Accessibility_Accessible_unref.
3091 * libspi/registry.c:
3092 Changed bonobo_object_release_unref to
3093 Accessibility_Accessible_unref.
3095 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3098 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3099 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3100 spi-util.c spi-util.h
3101 Implementations for C bindings to remaining accessibility
3104 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3107 changed return value of Action from void to boolean to
3108 bring in line with ATK.
3111 Changed getText funcions to return "out" start and end offsets.
3112 Changed getAttributes to take and offset and return the start
3113 and end offset of the attribute run.
3114 Changed getOffsetAtPoint and getCharacterExtents to take an
3115 enum describing whether coordinates are window or screen.
3118 libspi/action.c libspi/action.h libspi/editabletext.c
3119 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3120 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3121 libspi/image.h libspi/selection.c libspi/selection.h
3122 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3123 libspi/value.c libspi/value.h
3124 Added server implementations for outstanding ATK interfaces
3125 not yet implemented.
3127 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3130 Added (missing) getName() method.
3131 Made nActions an attribute.
3132 * idl/EditableText.idl:
3133 Changed order of params in setAttributes.
3134 * idl/Hyperlink.idl:
3135 Removed getAnchor, added getURI.
3137 Changed attributes to methods, for efficiency
3138 (so that getting extents can be done in one call)
3139 * idl/Selection.idl:
3140 Changed nSelectedChildren to attribute, and re-indented.
3141 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3143 * idl/Text.idl: reformatted to match our coding style.
3144 (temporarily?) removed getRowColumnAtOffset().
3145 Changed text selection API to support multi-select and
3146 non-contiguous selections, as in ATK.
3147 * idl/Value.idl: changed some methods to attributes.
3149 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3151 * libspi/listener.c(impl_notify_event):
3152 BonoboUnkown_unref the source instead
3153 of bonobo_object_release_unref - the ORB
3154 handles the releasing.
3156 * configure.in: require ORBit-2.3.94 for
3159 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3161 Tagged CVS repository 'EA_1_0'.
3162 * README.EARLY_ACCESS:
3163 Alphabetized acknowledgements list, and
3165 Listed some known dependencies of at-spi.
3167 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3169 * docs/at-spi-docs.sgml:
3170 * docs/at-spi-sections.txt:
3171 * docs/at-spi-overrides.txt: (Added zero-length file)
3172 Documentation improvements - gtk-doc should build
3173 docs for all implemented C bindings now.
3176 * cspi/spi.c: (New file)
3177 * cspi/spi_event.c: (New file)
3178 * cspi/spi_registry.c: (New file)
3179 * cspi/spi_accessible.c: (New file)
3180 * cspi/spi_application.c: (New file)
3181 * cspi/spi_component.c: (New file)
3182 Split spi_main.c into six parts, and included them from
3183 "spi.c". This is a bit of a hack, probably temporary,
3184 but required by gtk-doc, apparently.
3186 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3189 * docs/at-spi-docs.sgml:
3190 * docs/at-spi-sections.txt:
3192 Initial checkins/modifications for gtk-doc generation.
3195 Added (missing) interface query methods to Accessible's C binding.
3197 Added GenericInterface type definition.
3199 Added query for AccessibleComponent interface to focus event handler.
3200 Added printout of bounding box for focussed component.
3201 * libspi/component.c:
3202 Added partial implementation for AccessibleComponent to C binding.
3203 * idl/Application.idl:
3204 * libspi/registry.c:
3205 * libspi/listener.c:
3206 * libspi/application.c:
3207 * libspi/application.h:
3208 Changed "ID" attribute type from string to long.
3210 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3214 Made method naming consistent: methods taking object args
3215 start with uppercase, other methods (except those using
3216 acronyms) start with lowercase. Underscores delimit between
3217 object names and method names:
3218 SPI_init() - uppercase since it starts with an acronym.
3219 getDesktopCount () - lowercase start since no object param0.
3220 Accessible_getName() - uppercase object type name, studlyCaps method
3224 Added gtk-doc documentation for all currently implemented
3225 methods in the C bindings API.
3227 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3229 * Makefile.am : changed build order to build test last.
3232 Changed "createEventListener" to "CreateEventListener".
3233 * libspi/accessibleeventlistener.c :
3234 Bugfix for addition of callbacks.
3235 * test/Makefile.am :
3236 * test/simple-at.c :
3237 Added new test that uses the C bindings API.
3239 * libspi/listener.c :
3240 * libspi/registry.c :
3241 * libspi/accessibleeventlistener.c :
3242 * at-bridge/bridge.c :
3243 Renamed member "target" of Accessibility_Event to "source",
3244 which is more descriptive.
3247 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3251 * cspi/Makefile.am :
3252 Added makefile support for at-spi/cspi directory.
3255 * cspi/spi-listener.h : (NEW FILE)
3256 Added support for/use of spi-listener.h.
3258 C bindings now build successfully, with no warnings.
3259 * libspi/accessibleeventlistener.h : (NEW FILE)
3260 * libspi/accessibleeventlistener.c : (NEW FILE)
3261 * libspi/Makefile.am :
3262 Added new object type "AccessibleEventListener"
3263 which inherits from Listener, and allows attachment
3264 of in-process callbacks (so that a client with a listening
3265 object instance can add functionality to the local
3266 implementation, dynamically).
3268 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3270 * libspi/accessible.c:
3271 Add implementation for get_index_in_parent().
3273 Added #include of "spi-roletypes.h", and
3274 added enumerated type AccessibleCoordType.
3275 Added definition for KeystrokeListener (function type).
3278 * cspi/spi-statetypes.h :
3279 * cspi/spi-roletypes.h :
3281 Added these headers, used by spi.h.
3283 Added code (NOTE: not yet built by make).
3285 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3287 * libspi/Makefile.am: generate imodule
3288 at the same time as other idl compiler
3291 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3292 * libspi/registry.c :
3293 * libspi/application.c :
3294 * idl/Application.idl :
3295 Made registration with toolkit an application method,
3296 which is required since each app has its own toolkit static
3297 environment. Thus the bridge must register for
3298 notification of toolkit events from each application in turn.
3299 Toolkit notifications are now successfully registered for, and
3300 sent to the listening at client.
3302 Changed toolkit event string to use hyphens rather than underscores.
3303 * libspi/listener.c :
3304 listner now gives more info in debug mode - it reports the
3305 name of the event received, as well as the name of the source.
3308 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3310 * libspi/registry.c :
3311 added more implementation for toolkit events.
3312 Fixed bug such that toolkit event registrations
3313 (via atk) use the whole event name string, not
3315 Removed a useless call to an ORBit_ method.
3316 * at-bridge/bridge.c :
3317 Removed unused local sbuf[] variable.
3319 We now register for Gtk:GtkWidget:button_press_event
3320 events as well as "focus:" events.
3322 Add some more API from Registry.idl that was missing,
3323 for keystroke listening, keystroke and mouse event
3324 synthesis, and enumeration of accessible desktops.
3326 2001-08-16 Michael Meeks <michael@ximian.com>
3328 * configure.in: use AM_GLIB_GNU_GETTEXT.
3330 * Makefile.am (SUBDIRS): kill intl.
3332 2001-08-15 Michael Meeks <michael@ximian.com>
3334 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3336 * configure.in: upd.
3338 * configure.in: depend on a recent bonobo-activation that
3339 will find our server files ...
3341 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3343 * libspi/accessible.c : accessible_new() :
3344 Now we add the Component interface via bonobo_object_add_interface,
3345 if the contained AtkObject implements AtkComponent.
3346 * libspi/accessible.h : now include "component.h"
3347 * libspi/component.h :
3348 * libspi/component.c : added files - implementation of
3349 bonobo wrapper object for Accessibility/Component
3350 * libspi/listener.c :
3351 Added test code to check for Accessibility/Component:1.0
3352 interface and report whether it is implemented by the
3354 * libspi/registry.c :
3355 Now we check for not only the hash of the whole event
3356 string before relaying the event, we also check the
3357 "minor" event string (without the detail string).
3358 This allows event listeners to be registered against
3359 all events of a certain major+minor type, or just
3360 against a specific major+minor+detail type.
3361 * libspi/accessible.c :
3362 Added implementations for Accessible:get_parent(),
3363 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3364 * libspi/registry.c :
3365 * libspi/listener.c :
3366 Replaced calls to Accessibility_Accessible_ref() and
3367 Accessibility_Accessible_unref() with
3368 calls to bonobo_object_dup_ref() and
3369 bonobo_object_release_unref(), so that the CORBA object
3370 is dup-ed and released when relayed, as well as the bonobo object.
3372 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3374 * libspi/Makefile.am,
3375 registryd/Makefile.am,
3376 at-bridge/Makefile.am.
3377 test/Makefile.am, configure.in:
3378 reverse previous changes.
3380 * /idl/Image.idl: fix typo.
3382 * test/Makefile.am: put DEBUG_FLAGS
3385 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3387 * test/app.c: use argv[0] instead of
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 cleanup, replace individual LIBS/CFLAGS with
3397 AT_COMMON_{LIBS|CFLAGS}.
3401 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3403 * configure.in, libspi/Makefile.am:
3404 Change IDL path checking for bonobo-activation
3407 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3409 * registryd/registry.c : separated event listeners to use
3410 3 separate lists (focus, window, toolkit). Began testing
3411 event names against hashes before relaying events.
3412 * test/at.c : now register for events of type "focus:"
3413 * test/app.c : now generate events of type "focus:"
3414 * at-bridge/bridge.c : register with ATK for focus events,
3415 and we now relay those focus events to any "focus:" listeners.
3416 This now works with the bridge as a GTK_MODULE when running test/at.
3417 * libspi/registry.c :
3418 * libspi/listener.c :
3419 now we ref event sources before propagating, and unref on receipt.
3420 * libspi/registry.c :
3421 some changes to internal structs, to support event typestring hashes.
3422 * text/app.c : changed the way the appname is generated.
3423 * cspi : added directory that will hold the C bindings library for
3424 non-CORBA/bonobo-savvy clients.
3425 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3426 * idl/Component.idl : added in parameter to indicate coord system for
3427 geometry-related calls.
3428 * idl/Hyperlink.idl : added readonly n_links attribute
3429 * idl/Image.idl : changed methods to attributes.
3431 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3433 * at-bridge/Makefile.am: link against
3434 ../libspi/libspi.la instead of -lspi.
3436 * at-spi/test/app.c: include
3437 bonobo-activation.h. Use a default appname
3438 if one is not provided.
3440 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3442 * idl/Registry.idl : temporarily changed register_Application
3443 to oneway, to work around issue with initial registration
3445 * idl/Application.idl : changed attribute "id" from readonly
3446 to read-write, since it needs to be assigned by Registry.
3447 * registryd/registryd.c : added call to set application id
3449 * registryd/registry.c : changed de-registration procedure to
3450 use CORBA_Object_hash() to find matching object ref in application
3451 lists and listener lists.
3452 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3453 began distinguishing between event types (work in progress).
3455 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3458 * libspi/application.c:
3459 Added implementations for get/set id, get_toolkitName,
3461 * registryd/registryd.c :
3465 Converted from use of OAF to bonobo-activation.
3466 * libspi/desktop.h :
3467 * libspi/desktop.c :
3469 Removed references to atksimpleobject, since base atkobject
3470 implementation now provides functionality we need.
3471 * libspi/atksimpleobject.c :
3472 * libspi/atksimpleobject.h :
3477 * at-bridge/Makefile.am
3478 * at-bridge/bridge.c
3481 Added directory "bridge" and contents, and added dependencies
3482 in Makefile.am/configure.in.
3483 Initial checkin of "at-bridge".
3484 This code is a GTK_MODULE which automatically registers
3485 GTK+ apps with the accessibility registry, using an object
3486 reference to the root ATK object.
3488 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3490 * po/Makefile.in.in: Remove. Again. If this
3491 doesn't get autogenerated - you need to update
3494 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3496 * po/Makefile.in.in: Add. Again.
3498 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3500 * libspi/accessible.c : added support for 'description' property.
3501 * libspi/accessible.c
3503 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3504 (since the two are now equivalent in libbonobo)
3512 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3513 Bonobo::Unknown as does Accessibility::Accessible.
3514 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3515 interface with Bonobo::Stream, since it was redundant with it.
3516 (The Stream returned by a StreamableContext object is expected to
3517 implement only a subset of Bonobo::Stream)
3519 2001-07-28 Anders Carlsson <andersca@gnome.org>
3521 * libspi/accessible.c (accessible_object_finalize): Change
3522 g_free to g_object_unref since the AtkObject is a GObject.
3524 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3526 * idl/Accessibility.idl: add new IDL files
3529 * idl/Action.idl: Definitions of actionable UI object
3530 * idl/Component.idl: Definitions of UI component geometry, etc.
3531 * idl/Hyperlink.idl: Defs of hyperlink behavior
3532 * idl/Image.idl: Def of accessible image
3533 * idl/Selection.idl: Definition of UI object with selectable children
3534 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3535 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3536 * idl/Text.idl: Interface defs for UI elements with complex textual content
3537 * idl/Value.idl: Definition of UI element that is a value controller or display
3539 2001-07-27 Michael Meeks <michael@ximian.com>
3541 * po/Makefile.in.in: remove autogenerated file from CVS.
3543 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3546 * idl/Registry.idl: include guard.
3548 * idl/Accessibility.idl: Add, and include all the other IDL
3551 * idl/*.idl: remove mass of pragmas etc.
3553 2001-07-26 Michael Meeks <michael@ximian.com>
3555 * registryd/Makefile.am (registryd_SOURCES): remove
3558 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3560 * libspi/.cvsignore, registryd/.cvsignore,
3561 test/.cvsignore: updated.
3563 * po/Makefile.in.in: gettext update.
3565 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3567 * initial CVS checkin
3569 2001-06-29 Michael Meeks <michael@ximian.com>
3571 * configure.in: add AM_CONFIG_HEADER to gen config.h