1 2002-03-11 Bill Haneman <bill.haneman@sun.com>
4 New file. Explicitly allow "build sheriff" putbacks provided
5 they are tested on Solaris.
8 Incremented version number (0.9.0) for new release.
9 Changed macro that checks for popt, to better detect
10 obsolete versions of popt.
13 Added X_LIBS to AC_SUBST, for applications
14 that call Xlib API directly.
17 2002-03-07 Bill Haneman <bill.haneman@sun.com>
20 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
23 Fix regression caused by hard-coding major
24 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
27 * test/test-simple.c (test_editable_text),
28 (test_test): revert previous change (error was
29 a regression in gail which is now fixed).
31 2002-03-04 Michael Meeks <michael@ximian.com>
33 * test/test-simple.c (test_editable_text),
34 (test_text): pass G_MAXINT instead of '-1' for
35 whole string - is this a good thing !?
37 * cspi/spi_accessible.c
38 (Accessible_getRelationSet): fix crasher bug
39 overwriting the end of the array.
41 * test/test-simple.c (validate_accessible): free,
42 not g_free returned relation set.
44 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
46 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
47 implemented stateset support
49 * idl/Accessibility_State.idl: Made necessary changes to
50 the IDL to support state sets.
52 2002-02-12 Bill Haneman <bill.haneman@sun.com>
54 * registryd/deviceeventcontroller.c:
55 Added implementation for generateMouseEvent.
57 * cspi/spi_registry.c:
58 Connected new implementation for generateMouseEvent
61 2002-02-12 Bill Haneman <bill.haneman@sun.com>
64 Incremented revision (but no change in public API
65 outside of 'utils', which are not installed public yet.)
68 Changed to use atk_component API for layers and
69 mdi_zorder, instead of deprecated atk_object API.
71 Magnification Utility Enhancements:
74 Added implementation of createZoomRegion, clearAllZoomRegions,
75 resizeZoomRegion. Added new commandline argument
76 "--no-initial-region". Note that clearAllZoomRegions doesn't
77 unmap the old '0' region as it should (yet), and the other
78 methods only work when creating/resizing a single region,
80 (Code for multiple region support will be added later.)
83 Now we raise the magnifier window each time it's refreshed;
84 this will help keep it on top.
87 Added simple wrappers for above, used by mag_control.
88 For general use, it's recommended to use the bonobo magnifier
89 control API directly instead of using these wrappers.
92 Moved ZoomRegionData from magnifier.c to this file.
95 Added some code to exercise new IDL implementations.
97 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
99 * libspi/text.c: Provide implementation for getAttributes.
101 2002-02-04 Bill Haneman <bill.haneman@sun.com>
104 Incremented revision.
106 * test/test-simple.c:
107 Replaced use of deprecated g_main_iteration with
108 g_main_context_iteration.
110 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
113 Incremented revision for desktop alpha 2.
115 2002-01-28 Mark McLoughlin <mark@skynet.ie>
117 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
120 * test/simple-at.c: include netinet/in.h.
122 2002-01-24 Mark McLoughlin <mark@skynet.ie>
124 * cspi/spi_accessible.c: (Accessible_getRelationSet):
125 use NULL, not CORBA_OBJECT_NIL.
127 * libspi/accessible.c:
128 (impl_accessibility_accessible_get_relation_set):
129 allocate the sequence correctly.
131 * libspi/remoteobject.h: kill spi_remote_object_new.
133 * test/test-simple.c: (validate_accessible): add code
134 to test relation sets, now all we need is to figure
135 out how to excercise this code path :/
137 2002-01-18 Michael Meeks <michael@ximian.com>
140 (key_listener_cb): consume the key.
141 (test_keylisteners): update.
142 (main): wait for any pending unrefs on events.
144 * registryd/deviceeventcontroller.c
145 (spi_controller_update_key_grabs): only re-issue the
146 grab on a key release.
147 (spi_device_event_controller_forward_key_event):
148 refresh the keygrabs before we notify the listeners,
149 to reduce the X ungrab / re-grab race.
150 (spi_controller_register_with_devices): remove
151 XSelectInput - we do that with the gdk_window_ call.
152 (_spi_controller_device_error_handler): return a value.
153 s/GDK_DISPLAY/spi_get_display/
155 2002-01-17 Michael Meeks <michael@ximian.com>
157 * registryd/deviceeventcontroller.c
158 (_deregister_keygrab): don't blow out the later
161 * test/test-simple.c (test_keylisteners): do a
162 more intelligent validation.
164 2002-01-14 Michael Meeks <michael@ximian.com>
166 * atk-bridge/bridge.c
167 (gnome_accessibility_module_init),
168 (gnome_accessibility_module_shutdown): impl.
169 (gtk_module_init): protect vs. double inits.
170 (add_signal_listener): impl.
171 (spi_atk_bridge_state_event_listener): kill
172 (deregister_application): split out of
173 (spi_atk_bridge_exit_func): here.
175 2002-01-18 Bill Haneman <bill.haneman@sun.com>
178 Added caret tracking when using magnifier, and
179 now use text bounds for focus tracking of text elements, rather than
180 the component bounds - this is helpful for short text fields in long
181 table cells, at high magnification.
183 2002-01-16 Bill Haneman <bill.haneman@sun.com>
185 * registryd/deviceeventcontroller.c:
186 Regression fix for keylistener de-registration; global keygrabs
187 were not being released when deregisterKeystrokeListener was
188 called in cspi, since
189 Accessibility_DeviceEventController_deregisterKeystrokeListener
190 was called with a zero-length keyset. That is because the cspi
191 method, SPI_deregisterKeystrokeListener, does not take a keyset
192 parameter but instead should remove all the key grabs held be a
194 The code in impl_deregister_keystroke_listener was changed to copy
195 the keylist from the listener instance previously registered with
196 the DeviceEventController before releasing the grabs.
198 * registryd/registry.c:
199 * registryd/deviceeventcontroller.c:
200 * libspi/spi-private.h:
202 Changed spelling of "re-enterant" to "re-entrant" globally.
204 2002-01-16 Bill Haneman <bill.haneman@sun.com>
206 * test/test-simple.c:
207 Changed key listeners test - the test was slightly mis-using the
208 (admittedly poorly documented) SPI_generateKeyboardEvent API.
209 It now uses '=' as the key event listened to and generated,
210 relying on a keysym match rather than assuming that keycode 33
211 is always equal to keysym '!'.
213 2002-01-15 Bill Haneman <bill.haneman@sun.com>
216 Changed simple-at to use a specific keyset, rather than
217 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
218 manager, desktop, etc.
220 2002-01-11 Bill Haneman <bill.haneman@sun.com>
222 * registryd/deviceeventcontroller.c:
223 Replaced standard X error handler with a special handler that
224 is non-fatal for failed keygrabs. This works around
225 problems with keygrab clashes sometimes observed on
227 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
228 mouse handling code as yet).
230 2002-01-11 Bill Haneman <bill.haneman@sun.com>
233 Incremented revision for desktop alpha release.
236 Fixed a couple of the more glaring errors (still not
239 2002-01-11 Michael Meeks <michael@ximian.com>
241 * registryd/deviceeventcontroller.c
242 (spi_device_event_controller_forward_key_event): kill
243 XUngrabKey / XKeyGrab race.
244 (spi_controller_grab_keyboard): rename to
245 (spi_controller_update_key_grabs): this, and deal
246 with incremental adding / removing grabs more
248 (_register_keygrab): ensure we're not pending a remove.
249 (spi_grab_mask_free): impl.
250 (spi_controller_register_global_keygrabs): split out
252 (handle_keygrab): impl.
253 (_deregister_keygrab): impl.
254 (spi_controller_deregister_global_keygrabs): impl.
255 (spi_controller_update_key_grabs): re-issue the grab if
256 we just recieved a notification.
258 * test/test-simple.c (key_listener_cb): remove debug.
260 * registryd/deviceeventcontroller.c
261 (spi_controller_register_device_listener): after
262 registering a global keygrab, actualy register it !
263 don't wait for a timeout; doh !
265 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
266 to make it more readable / manipulable.
267 s/grabmask/grab_mask/ s/refcount/ref_count/
268 s/keyval/key_val/ s/modmask/mod_mask
270 2002-01-08 Michael Meeks <michael@ximian.com>
272 * registryd/deviceeventcontroller.c
273 (spi_controller_register_with_devices): use gdk calls to
275 (global_filter_fn): implement the filter.
276 (spi_device_event_controller_check_key_event): rename to
277 (spi_device_event_controller_forward_key_event): this & upd.
278 (spi_get_display): replace with GDK_DISPLAY.
280 * registryd/deviceeventcontroller.c
281 (spi_controller_deregister_device_listener): unroll into
282 (impl_deregister_keystroke_listener): here to simplify.
283 (spi_controller_register_global_keygrabs): split cut and
284 paste (!) out into (_register_keygrab): here, shorter & sweeter.
285 (spi_controller_deregister_device_listener): remove.
286 (impl_register_mouse_listener): remove, no mouse listener
287 support in at-spi-1.0
289 * registryd/registry.c
290 (_device_event_controller_hook): kill.
291 (spi_registry_init): upd.
293 * registryd/deviceeventcontroller.c
294 (spi_device_event_controller_class_init): upd.
295 (spi_check_key_event): merge into.
296 (spi_device_event_controller_check_key_event):
297 here and kill strange static ev init, don't leak
298 the x_event - nor dynamicaly allocate it.
300 * registryd/registry-main.c (main): re-direct
301 timeout to remove strange vtable mess.
303 * registryd/deviceeventcontroller.c
304 (remove_listener_cb): impl.
305 (spi_controller_deregister_device_listener):
306 fix re-enterancy hazard.
308 2002-01-07 Michael Meeks <michael@ximian.com>
310 * registryd/deviceeventcontroller.c
311 (spi_device_event_controller_new): upd.
312 (impl_notify_listeners_sync): upd. debug.
313 (spi_notify_keylisteners): fix re-enterancy hazards,
314 prettify, remove O(n*n) iteration.
315 (spi_controller_grab_keyboard): fix iteration.
316 (spi_check_key_event): re-format to suit coding style.
317 Clean all the warnings - we're warning free.
319 * registryd/deviceeventcontroller.h:
320 * registryd/registry.h: make mutualy referential with
321 typesafe forward references instead of (!) void pointer
324 2002-01-11 Michael Meeks <michael@ximian.com>
326 * cspi/spi_accessible.c (role_names): add a role name
327 to sync this array with the enum; and make the regression
330 2002-01-10 Michael Meeks <michael@ximian.com>
332 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
333 allow expansion of enumeration & kill warning.
335 * test/test-simple.c (key_listener_cb): impl.
336 (test_keylisteners): impl.
338 * cspi/spi-listener.h: make listener signatures const
339 on the provided (const) events.
341 * test/keysynth-demo.c: upd. to const events.
343 * test/simple-at.c: ditto.
345 2002-01-11 Bill Haneman <bill.haneman@sun.com>
348 Rev the version to 0.5 (the previous tarball was named 0.4,
349 even though the micro number was 3), so we need to rev upwards
350 again for beta2/"desktop-alpha"
353 Checked in a demo script, which requires editing before use!
354 Proceed with caution.
357 Fixed typo in header which was redefining SPI_ACTION_CLASS.
359 * cspi/spi_accessible.c:
360 Add a couple of missing enum initializations, and fix some enum
363 * cspi/spi_registry.c:
364 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
366 * docs/reference/cspi/at-spi-cspi-sections.txt:
367 Remove/fix a couple of broken document references.
370 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
371 as Alt-Control to listen for commands, since on some systems
372 Control-Alt may already be grabbed.
374 2002-01-10 Bill Haneman <bill.haneman@sun.com>
377 Update version number to 0.4 for Beta2.
379 * libspi/accessible.c, libspi/accessible.h:
380 Expose spi_accessible_construct, to enable libgail-gnome
381 construction from spi_accessible subtype.
384 Workaround for bug in some non-gnome-compliant window managers
385 which made magnifier resize improperly.
387 2002-01-09 Bill Haneman <bill.haneman@sun.com>
389 * libspi/accessible.c: (spi_accessible_new) :
390 Move the test for SPI_IS_REMOTE_OBJECT to
391 spi_accessible_new_return, fixing a bug and compile time warning.
393 2002-01-08 Michael Meeks <michael@ximian.com>
395 * registryd/registry.c (parse_event_type): remove strndup.
397 * libspi/Makefile.am (libspi_la_SOURCES): remove
398 sources already included in the headers section.
400 * libspi/util.c: add.
402 * libspi/spi-private.h: add.
404 * registryd/registry.c: update to moved list iterators.
406 2002-01-05 Michael Meeks <michael@ximian.com>
408 * test/simple-at.c (main): upd. auto-module set to atk-bridge
410 * test/test-simple.c (main): ditto.
412 2002-01-04 Michael Meeks <michael@ximian.com>
414 * libspi/accessible.c (spi_accessible_new): remove 2nd,
417 * registryd/registry.c
418 (get_listener_list): impl.
419 (impl_accessibility_registry_register_global_event_listener):
420 re-impl. to simplify using ~, remove dodgy const cast off.
421 (parse_event_type): constify.
422 (impl_accessibility_registry_deregister_global_event_listener_all):
423 re-write, more efficiency and simplicity, kill re-enterancy
425 (compare_listener_corbaref, compare_corba_objects),
426 (compare_listener_quarks): define out.
427 (impl_accessibility_registry_deregister_global_event_listener):
428 re-write for effiency, and nail re-enterancy hazard.
429 (impl_accessibility_registry_get_desktop_list): impl.
430 (re_enterant_list_delete_link): impl.
431 (re_enterant_list_foreach): impl.
432 (remove_listener_cb): impl.
433 (_registry_notify_listeners): kill.
434 (notify_listeners_cb): impl.
436 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
437 (SPI_getDesktopList): impl.
439 * test/test-simple.c (test_desktop): test the methods.
441 2002-01-03 Michael Meeks <michael@ximian.com>
443 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
444 keystrings since we free them
445 (SPI_freeAccessibleKeySet): in here.
447 * libspi/accessible.c (spi_accessible_new): kill warning,
448 wonder what is going on with the constructor here.
450 2002-03-01 Bill Haneman <bill.haneman@sun.com>
452 * libspi/accessible.c (spi_accessible_new ()) :
453 Added check to see if AtkObject is an SpiRemoteObject before
454 creating an SpiAccessible.
456 2002-05-01 Bill Haneman <bill.haneman@sun.com>
458 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
459 Enable keygrabs using the Control modifier, now that they are
460 working properly (they were previously disabled).
463 Change the command keygrab for this demo to "Control+Alt", so as
464 to conflict with fewer other key commands on the system; this
465 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
467 Removed a pointlessly-chatty keylistener for unshifted keys
468 (shifted keys are still reported).
470 2002-02-01 Bill Haneman <bill.haneman@sun.com>
472 * libspi/remoteobject.h:
473 * libspi/remoteobject.c:
474 Added definitions for special AtkObject subtype, required for
475 support of remote components (specifically, used by BonoboControl
476 accessibility implementation).
478 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
480 * cspi/spi.h: synched relation types with ATK
482 * cspi/spi_accessible.c: Added implementations of
483 AcccessibleRelation_* methods
485 * idl/Accessibility_Relation.idl: added getRelationTypeName
486 method. Synched known relation types with ATK. Allowed for
487 relation type extension with the RELATION_EXTENDED type.
489 * libspi/relation.c: Provided implementations for
490 AccessibleRelation methods.
492 2002-01-01 Bill Haneman <bill.haneman@sun.com>
494 API tweaks for today's API 'freeze'.
497 Added placeholder functions to allow future compatible expansion
498 of the IDL interfaces.
500 * idl/Accessibility_Registry.idl:
501 Changed generateKeyEvent to generateKeyboardEvent. Changed
502 signature of this method to accept an optional keystring in
503 parameter (for complex text input synthesis) and changed use of
504 simple 'boolean' parameter in registerKeystrokeListener to a
505 struct, EventListenerMode.
507 * cspi/spi_accessible.c:
509 * cspi/spi_streamablecontent.c:
510 Added references to AccessibleStreamableContent interface, and
511 definition and implementation of AccessibleStreamableContent
514 * cspi/spi_registry.c:
516 Changed generateKeyEvent API to generateKeyboardEvent,
517 taking a new (optional) keystring parameter to support complex
522 Renamed directory (to better reflect its actual purpose, bridging
523 from at-spi to ATK). The .so module is also now named
526 * idl/Accessibility_Hypertext.idl:
527 * libspi/accessible.c:
528 * libspi/hypertext.h:
529 * libspi/hypertext.c:
530 Changed Accessibility_Hypertext to *not* derive from
533 * cspi/spi_registry.c:
534 Added list of legal event type names for 'window' events, which
535 completes the registry event API.
537 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
539 * at-bridge/bridge.c: Added registration for separate
540 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
541 signals. If either of the first two parameters to the generic
542 bridge signal handler are ints, they are passed on as event
543 details. This allows an AT to determine what text was inserted.
545 2001-12-21 Bill Haneman <bill.haneman@sun.com>
547 * registryd/deviceeventcontroller.c:
548 Fixed regressions in generateKeyEvent caused by the removal of
549 gdk_init from registryd; we now use pure X calls to connect to the
550 display, which makes sense because deviceeventcontroller already
551 uses a fair bit of X API (should eventually be migrated to a
552 'portability layer').
554 * registryd/desktop.c:
555 Fixed minor regression in spi_desktop_init, changed the way the
556 desktop name is being set to work with new spi_base API
557 (gobject-based, rather than AtkObject-based).
559 * registryd/Makefile.am:
560 Minor revision of makefile to use XTST_LIBS variable rather than
561 hard-wiring the Xtst LD_ADD element.
563 * test/keysynth-demo.c:
564 Tweaked an output message; added initialization of the
565 'keystrings' member of the "switch listener" key_set.
568 Squashed compile-time warning.
570 * libspi/accessible.c:
571 Cosmetic and formatting fixes, renamed a static method.
573 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
575 * libspi/accessible.c
577 * libspi/application.c
581 * libspi/editabletext.c
589 * registryd/desktop.c:
590 Changed SpiBase to contain a GObject pointer rather than an AtkObject
592 2001-12-17 Bill Haneman <bill.haneman@sun.com>
594 * idl/Accessibility_Registry.idl:
595 Added boolean member 'is_text' to DeviceEvent. This is for the
596 use of key events, and helps prevent ambiguity between composed
597 key strings and keysym names, since both may potentially be
598 returned in the 'event_string' member.
600 * at-bridge/bridge.c:
601 * registryd/deviceeventcontroller.c:
602 Use the 'is_text' member when notifying device event listeners.
603 Knon issue: composed characters are not dealt with correctly by
604 the global key listener implementation yet.
606 2001-12-17 Bill Haneman <bill.haneman@sun.com>
608 * at-bridge/bridge.c:
609 Namespaced local static methods to spi_atk_bridge_* where
610 previously named bridge_*, and spi_* elsewhere.
612 * at-bridge/bridge.c:
613 * cspi/bonobo/cspi-bonobo-listener.c:
614 Added demarshalling/conversion for string member of
615 Accessibility_DeviceEvent to AccessibleKeystroke.
617 * registryd/deviceeventcontroller.c:
618 Added code to fill the Accessibility_DeviceEvent key string value
619 member for global key events (i.e. from XGrabKey), to match
620 behavior of Accessibility_DeviceEvent from the toolkit key events
621 from the bridge. Fixed timestamp in global key event notifications.
624 Added printout of key event's string value to
625 report_ordinary_key_event, for demo/debugging purposes.
627 2001-12-15 Bill Haneman <bill.haneman@sun.com>
629 * idl/Accessibility_Registry.idl:
630 Removed Accessibility_KeyStroke structure in favor of generic
631 Accessibility_DeviceEvent structure.
632 Changed Accessibility_ControllerEventMask from a struct to an
635 * at-bridge/bridge.c:
636 Changed APIs to use DeviceEvent structure as above, and removed
637 bogus casting between these event structures.
639 * cspi/spi-listener.h:
640 Added keystring member of AccessibleKeystroke structure, to enable
641 matching on event "names" rather than only hardware codes and
645 Added keystrings member of AccessibleKeySet struct, to allow
646 matching on event names (as above).
647 Added declarations for SPI_createAccessibleKeySet and
648 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
649 event modmasks directly as unsigned ints rather than structs with
650 refcounts, in the DeviceEventController methods.
652 * cspi/spi_registry.c:
653 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
655 * cspi/spi-roletypes.h:
656 Added documentation of newly added SPI Roles.
658 * cspi/bonobo/cspi-bonobo-listener.c:
659 Changes in support of API changes above.
661 * libspi/accessible.c:
662 Converted APIs to use DeviceEvent structure (see IDL changes
665 * registryd/deviceeventcontroller.c:
666 Added DEControllerGrabMask structure to track keygrabs not only by
667 modmask but by keyset as well; this allows us to do "global"
668 (i.e. X) keygrabs on a per-key or keyset basis rather than always
669 grabbing on AnyKey and then filtering after-the-fact.
670 Bugfixes for event filtration mean that we don't get false matches
671 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
673 * registryd/deviceeventcontroller.c:
674 Namespaced a number of static methods to use spi_ prefix. Major
675 revision to internals of global (i.e. X) key grabs.
677 * registryd/deviceeventcontroller.h:
678 Removed keymask_list and added keygrabs_list to
679 SpiDeviceEventController struct.
682 Added use of SPI_createAccessibleKeySet API when creating a
683 listener for only one key. Attach a listener to "shift spacebar
684 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
685 X key event names to SPI key event names, so that listeners are
686 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
688 * test/keysynth-demo.c:
689 Changed (incorrect) use of X key event names (KeyPressed,
690 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
693 2001-12-12 Bill Haneman <bill.haneman@sun.com>
695 * libspi/accessible.c:
696 Convert all AtkRole enumerations to Accessibility_Role enums when
697 getting a role from an AtkObject.
699 * cspi/spi_accessible.c:
700 Complete the conversion of Accessibility_Role enums at runtime to
701 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
702 role enums correctly match those given in spi-roletypes.h.
703 Re-synchronize the local names list for AccessibleRole_getName ().
704 AccessibleRole_getName is now deprecated, since it duplicates the
705 more reliable Accessible_getRoleName.
706 Added some role types from Accessibility_Role.idl.
708 * idl/Accessibility_Role.idl:
709 Added some role types used by AtkRole.
711 2001-12-12 Bill Haneman <bill.haneman@sun.com>
714 * cspi/spi_registry.c:
716 * cspi/cspi-bonobo-listener.c:
717 Namespaced all methods that did not begin with an "SPI_" or
718 "Accessible" prefix to "SPI_".
721 Homogenized internal function namespace to "cspi_" for statics.
724 Patched tests to use the new CSPI API.
726 * docs/reference/cspi/at-spi-cspi-sections.txt:
727 Updated docs to reflect namespace changes, and added a number of
728 methods to the documentation.
730 * registryd/registry.c:
731 Changed use of strings and string hashes in listener event
732 matching and parse_event_string to use GQuark, which is guaranteed
735 * registryd/registry.h:
736 Squashed annoying warning.
738 * idl/Accessibility_Role.idl:
739 Extended range of available Accessibility_Role values.
741 * cspi/spi_accessible.c:
742 Re-ordered role names.
744 2001-12-12 Bill Haneman <bill.haneman@sun.com>
746 * idl/Accessibility_Value.idl:
747 Revert use of union back to CORBA_double, since the double type is
748 more efficient and can contain the other types without loss of
751 * idl/Accessibility_Accessible.idl:
752 Added method Accessibility:Accessible:getRoleName, to complement
753 Accessibility:Accessible:getRole.
755 * cspi/spi_accessible.c:
757 Added C binding for above, Accessible_getRoleName (), and changed
758 signature of Accessible_getRole () to return an AccessibleRole.
760 * cspi/spi-roletypes.h:
761 Changed AccessibleRole_getName to return a char * instead of a
762 const char *. This method is now at least temporarily deprecated
763 in favor of asking Accessibles for their RoleNames directly.
766 Revert to match Accessibility_Value.idl;
770 Change signature of AccessibleValue methods to use double rather
774 * cspi/spi_accessible.c:
775 Changed Accessible_getRole to return an AccessibleRole enum rather
776 than a UTF-8 string. The UTF-8 string can still be obtained via
777 AccessibleRole_getName ().
779 * test/test-simple.c:
780 Add test_action. Small fixup to match API change to Accessible_getRole.
783 Bugfix for get_action_from_servant ().
785 2001-12-11 Michael Meeks <michael@ximian.com>
787 * libspi/libspi.h: remove registry.h and
788 desktop.h, deviceeventcontroller.h
790 * libspi/Makefile.am: remove registry.[ch],
791 desktop.[ch], deviceeventcontroller.[ch]
793 * registryd/Makefile.am: add registry.[ch],
794 desktop.[ch], rename registryd.c to registry-main.c.
795 add deviceeventcontroller.[ch]
797 2001-12-11 Bill Haneman <bill.haneman@sun.com>
800 Replace setenv() call with putenv ().
802 * libspi/component.c:
803 Bugfix in AccessibleComponent_getExtents (),
806 2001-12-11 Michael Meeks <michael@ximian.com>
808 * libspi/image.c (impl_getImageExtents): impl.
809 (spi_image_class_init): upd.
812 (AccessibleImage_getImageDescription): fix daft bug
815 * test/test-simple.c (global_listener_cb): update
816 to only quit if not --poke
817 (main): catch --poke.
818 (validate_accessible): upd. dumping, call test_image
821 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
824 * idl/Accessibility.idl: update all IDL includes.
826 * idl/*.idl - rename to namespace - this sucks, blame
827 mjs' bad decision for oafd.
829 * test/test-simple.c (create_test_window): add more tests.
830 (create_tree): split this out.
831 (validate_accessible): bugfix.
833 2001-12-11 Michael Meeks <michael@ximian.com>
835 * cspi/bonobo/cspi-bonobo-listener.c:
836 (cspi_kestroke_listener_unref),
837 (cspi_event_listener_unref): impl. undoing previous
838 homenous environment - for Bill.
840 * cspi/spi_table.c (long_seq_to_array): use
843 * cspi/spi_main.c: split out all bonoboish bits into
846 * cspi/spi-impl.h: upd. typedefs.
848 * cspi/spi_registry.c: update to lowlevel API,
849 return booleans to indicate success in some places.
851 * cspi/spi_event.c: update to lowlevel API.
853 * cspi/bonobo/Makefile.am: add.
855 * cspi/bonobo/cspi-lowlevel.h: add
857 * cspi/bonobo/cspi-bonobo.c: add
859 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
861 * cspi/Makefile.am: remove spi-listener-impl.[ch],
862 (SUBDIRS): add bonobo, link in the libs.
864 * cspi/spi-util.c: kill this file.
866 * TODO: merge in my bits.
868 2001-12-11 Michael Meeks <michael@ximian.com>
870 * test/test-simple.c (test_value, test_table, main):
871 remove unused variables causing warnings.
873 * configure.in: cleanup checks - require gail.
875 2001-12-11 Bill Haneman <bill.haneman@sun.com>
878 Changed Value interface to use SValue (scalars) rather than
879 assuming all values are floats. This allows floats, doubles,
880 longs, shorts, and unsigned values to be manipulated.
881 Introduced Accessibility:SValue union.
884 Updated to use new API above, and to work correctly with GValues
885 of different types in AtkValue.
888 Updated to use new API above. cspi's API is as yet unchanged.
891 Updated the Value revision action item.
893 2001-12-10 Bill Haneman <bill.haneman@sun.com>
895 * test/test-simple.c:
896 Added test_table (GtkTreeView widget in test window to follow).
897 Un-commented test_value, added GtkRange widget.
898 Added GtkTreeView widget with GtkListStore. It passes regression
899 test but leaks one SPI object for some reason.
902 Fixed bug in impl__set_currentValue.
904 2001-12-10 Michael Meeks <michael@ximian.com>
906 * cspi/spi_text.c: audit for exception handling,
907 tolerating NULL object references safely etc.
909 * cspi/spi_value.c: ditto.
911 * cspi/spi_table.c (AccessibleTable_getSummary),
912 (AccessibleTable_getAccessibleAt),
913 (AccessibleTable_getRowHeader),
914 (AccessibleTable_getColumnHeader),
915 (AccessibleTable_getCaption): fix bugs hidden by
917 (long_seq_to_array): impl.
918 (AccessibleTable_getSelectedRows),
919 (AccessibleTable_getSelectedColumns): use it.
921 2001-12-10 Bill Haneman <bill.haneman@sun.com>
924 Added a TODO list (rough and short for now).
926 * cspi/spi_hyperlink.c:
927 * cspi/spi_hypertext.c:
928 Fixed macro name typos, and remove use of obsolete macro in
929 AccessibleHyperlink_getLink.
932 * cspi/spi_accessible.c:
933 * cspi/spi_application.c:
934 * cspi/spi_component.c:
935 * cspi/spi_selection.c:
938 Documentation fixes (removed return values from ref/unref methods).
940 2001-12-10 Michael Meeks <michael@ximian.com>
942 * cspi/spi_action.c: audit for exception handling,
943 tolerating NULL object references safely etc.
945 * cspi/spi_accessible.c: ditto.
947 * cspi/spi_component.c: ditto.
949 * cspi/spi_editabletext.c: ditto.
951 * cspi/spi_hyperlink.c: ditto.
953 * cspi/spi_hypertext.c: ditto.
955 * cspi/spi_image.c: ditto.
957 * cspi/spi_selection.c: ditto.
959 2001-12-10 Michael Meeks <michael@ximian.com>
961 * configure.in: use cspi/libspi.pc.in instead.
963 * Makefile.am (pkgconfig_DATA): upd. to match.
965 * test/simple-at.c (report_focus_event): kill hacks around
966 bad return values, use putenv not setenv
968 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
969 fire ChildGone - I killed it.
972 (impl_accessibility_component_get_extents): remove
975 * idl/Accessible.idl: kill ChildGone exception.
977 * cspi/*.[ch]: kill int return from ref / unref.
979 * cspi/spi_main.c (cspi_object_add_check): fold into
980 (cspi_object_add): here.
982 * cspi/spi_component.c (AccessibleComponent_getExtents):
983 handle exceptions elegantly.
985 * cspi/spi-private.h (cspi_check_ev_return),
986 (cspi_return_if_fail): impl.
988 * cspi/spi_accessible.c: use extensively.
989 (AccessibleStateSet_equals): add direct compare check.
991 * cspi/spi_selection.c: tolerate NULL objs, and check
992 exceptions before return.
994 * cspi/spi-util.c (cspi_warn_ev): rename to
995 (cspi_check_ev): this & don't pass ev in; no point.
997 2001-12-10 Michael Meeks <michael@ximian.com>
999 * test/test-simple.c: use putenv not setenv
1000 (get_environment_vars): more chatty if you're not using
1003 * test/simple-at.c: do the setenv so more people see the
1006 2001-12-10 Bill Haneman <bill.haneman@sun.com>
1008 * libspi/registry.c:
1009 Changed check of CORBA_environment on notification to be a warning
1010 instead of an error for the moment, since we can recover from this
1011 error when caused by a queued notification from a dead app.
1014 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1015 used by all current implementors of AtkValue), and coerce to
1016 CORBA_float. (Proper general case fix may require change to Value.idl).
1018 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1022 * cspi/spi_accessible.c:
1023 Documentation fixes: added user_data params to documentation for
1024 listeners and callbacks.
1026 * cspi/spi_accessible.c:
1027 Changed AccessibleStateSet_compare to return a
1028 StateSet rather than return the difference set into a third parameter.
1031 2001-12-09 Bill Haneman <bill.haneman@sun.com>
1034 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1035 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1039 Remove subdirectory po from SUBDIRS for now.
1041 * at-bridge/bridge.c:
1042 Beefed up a couple of debug printouts.
1043 One-line fix for signal notification name formatting.
1045 * libspi/accessible.c:
1046 Added assertion to spi_accessible_new ().
1048 * libspi/application.c:
1049 Put #ifdef qualifiers around a printf.
1052 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1054 * registryd/Makefile.am:
1056 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1057 INTLTOOL_SERVER_RULE macro.
1060 Added an event listener for several ATK signals, for
1061 testing and debugging. Removed a few g_warnings.
1062 Added test output if focussed item implements the Value interface.
1064 * test/test-simple.c:
1065 Added test_value () function (known not to pass at the moment, so
1066 not actually called yet.
1068 2001-12-08 Michael Meeks <michael@ximian.com>
1070 * at-bridge/bridge.c (bridge_focus_tracker),
1071 (emit_eventv): fix the same ref. leak.
1072 (register_atk_event_listeners): don't leak.
1074 * cspi/spi-listener-impl.c (cspi_event): more
1075 protection from client code.
1077 * test/test-simple.c (test_desktop): unref the app.
1079 * test/Makefile.am: upd. TESTS.
1081 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1083 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1085 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1087 * cspi/spi_registry.c: constify in strings.
1088 (deregisterGlobalEventListenerAll): don't release the ref.
1090 * cspi/spi.h: start removing redundant / conflicting
1091 gtkdoc comments, making the API readable at a glance :-)
1093 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1095 * test/keysynth-demo.c (keysynth_exit, main): upd.
1097 * test/simple-at.c (main, simple_at_exit): upd.
1099 * test/test-simple.c (unutterable_horror): kill.
1100 (utterable_normal_derefs): kill.
1101 (main): upd & do a setenv before gtk_init, so that we
1102 can use memprof - and to save the pain of remembering
1103 this, if we're running under memprof - don't exit.
1105 * cspi/spi_main.c (SPI_exit): return exit status
1107 (SPI_event_quit): impl.
1108 (SPI_event_main): simplify.
1109 (cspi_is_gnome_app): kill.
1110 (SPI_init): kill isGNOMEapp arg.
1112 * at-bridge/bridge.c (register_atk_event_listeners):
1113 re-instate the unref.
1114 (bridge_exit_func): don't re-activate the registry,
1115 protect vs. theoretical re-entry, use the
1116 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1117 assert a clean shutdown - for regression tests.
1119 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1121 * configure.in: Comment out dummy i18n support for now,
1122 otherwise it fails to build.
1123 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1124 EXTRA_DIST. They are missing in tarball.
1126 2001-12-07 Michael Meeks <michael@ximian.com>
1128 * util/magnifier.c: kill bonobo activation reg. race.
1130 * libspi/component.c
1131 (impl_accessibility_component_get_extents): make it match
1134 * libspi/registry.c (_registry_notify_listeners):
1135 re-remove X headers & reconcile conflicts.
1136 (spi_listener_struct_free): bad conflict resolve.
1137 (impl_accessibility_registry_register_application):
1138 more bad merging fixed.
1139 (impl_accessibility_registry_deregister_application): ditto.
1140 (spi_registry_new): ditto.
1141 (spi_registry_init): don't have an applications field.
1143 [ merge fixups2 branch to here ]
1144 2001-12-07 Michael Meeks <michael@ximian.com>
1146 * test/simple-at.c (report_focus_event),
1147 (report_focussed_accessible): remove g_warning debug.
1149 2001-12-07 Michael Meeks <michael@ximian.com>
1151 * test/test-simple.c (validate_tree): comment out some checks.
1152 (test_desktop): app now not registered idly - horay.
1154 2001-12-07 Michael Meeks <michael@ximian.com>
1156 * cspi/spi_registry.c
1157 (registerAccessibleKeystrokeListener): clean, stop it leaking
1158 great swathes of memory, and device event controller references.
1159 ensure we always pass valid sequences.
1160 (deregisterAccessibleKeystrokeListener): ditto.
1161 (generateKeyEvent): upd.
1163 * at-bridge/bridge.c (bridge_key_listener): handle
1164 registry dead exception gracefully.
1165 (bridge_focus_tracker, emit_eventv): free ev.
1167 * test/simple-at.c (report_focus_event): fix polarity.
1169 * libspi/application.c (notify_listeners): kill the ev
1170 argument, and make sure we init the ev we use.
1171 (spi_application_object_event_listener): split out a chunk
1172 (get_atk_object_ref): here & fixup.
1173 (reverse_lookup_name_for_toolkit_event): make const.
1174 (spi_application_toolkit_event_listener): fixup, kill leaks
1177 * at-bridge/bridge.c (register_atk_event_listeners):
1178 don't unref the noop object - causes grief.
1180 * libspi/registry.c: remove the X headers.
1181 turn off the debug churn.
1183 * libspi/accessible.c (spi_accessible_new_return): only
1184 release the ref if we are supposed to [doh]
1186 * test/simple-at.c (report_button_press, report_focus_event):
1187 guard vs. unexpected exit.
1189 * at-bridge/bridge.c (gtk_module_init): prune printf.
1190 (bridge_exit_func): fix app unref.
1192 * libspi/Makefile.am: don't install registry or desktop.h
1194 * libspi/*.h: update includes.
1196 * libspi/application.h: don't include ourself, or
1197 other redundant headers.
1199 2001-12-06 Michael Meeks <michael@ximian.com>
1201 * libspi/accessible.c
1202 (get_accessible_from_servant): impl.
1203 Upd. all CORBA impl.s to use it killing cut and paste.
1205 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1207 (SPI_init): register atexit cleanup handler here.
1209 2001-12-06 Michael Meeks <michael@ximian.com>
1211 * at-bridge/bridge.c (gtk_module_init): g_error on
1212 activation exception
1214 2001-12-06 Michael Meeks <michael@ximian.com>
1216 * at-bridge/bridge.c (gtk_module_init): some sort of
1217 confusing merge clash - reverted.
1218 (bridge_idle_init): ditto.
1220 * test/test-simple.c (main, utterable_normal_derefs):
1221 merge from Bill - somehow not committed.
1223 2001-12-06 Michael Meeks <michael@ximian.com>
1225 * libspi/value.c (spi_value_class_init): upd.
1226 (spi_value_finalize): kill.
1228 * libspi/table.c (spi_table_finalize): kill.
1229 (spi_table_interface_new): upd.
1230 (spi_table_class_init): upd.
1231 (get_table_from_servant): impl.
1232 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1234 * libspi/selection.c (spi_selection_finalize): kill.
1235 (spi_selection_interface_new): upd.
1236 (spi_selection_class_init): upd.
1237 (get_selection_from_servant): impl.
1238 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1240 * libspi/relation.c (spi_relation_finalize): kill.
1241 (spi_relation_class_init, spi_relation_new): upd
1243 * libspi/image.c (spi_image_finalize): kill.
1244 (spi_image_class_init): upd.
1245 (spi_image_interface_new): upd.
1246 (get_image_from_servant): impl.
1247 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1249 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1250 (spi_hyperlink_finalize): kill.
1251 (spi_hyperlink_new): upd.
1252 (get_hyperlink_from_servant): impl.
1253 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1255 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1256 (spi_hypertext_finalize): kill.
1257 (spi_hypertext_class_init): upd.
1258 (get_hypertext_from_servant): impl.
1259 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1261 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1262 (spi_editable_text_interface_new): upd.
1263 (get_editable_text_from_servant): impl.
1264 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1266 * libspi/text.c (get_text_from_servant): impl.
1267 All impls - update to use it killing more cut and paste,
1268 also fix bad string returns on duff args ( a somewhat
1269 impossible case to handle - but hey ).
1270 (spi_text_construct): impl.
1271 (spi_text_interface_new): upd.
1272 (spi_text_object_finalize): kill.
1274 * libspi/component.c
1275 (accessibility_component_object_finalize): kill.
1276 (spi_component_class_init): upd.
1277 (get_component_from_servant): impl. helper to kill cut & paste.
1278 (impl_accessibility_component_contains):
1279 (impl_accessibility_component_get_accessible_at_point):
1280 (impl_accessibility_component_get_position):
1281 (impl_accessibility_component_get_extents):
1282 (impl_accessibility_component_get_mdi_z_order):
1283 (impl_accessibility_component_get_layer):
1284 (spi_component_interface_new): upd.
1286 * libspi/action.c (spi_action_finalize): kill.
1287 (spi_action_class_init): upd. inherit from SpiObject.
1288 (spi_action_interface_new): upd.
1289 (get_action_from_servant): impl. helper to reduce cut & paste.
1290 (impl_getKeyBinding, impl_getName, impl_doAction),
1291 (impl_getDescription): Use it everywhere.
1293 * cspi/spi_main.c (get_live_refs): a pointer hash.
1294 (spi_object_hash, spi_object_equal): comment out.
1295 There are issues with CORBA object hashing that need
1298 * libspi/application.c (spi_application_init),
1299 (spi_application_new): upd.
1301 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1302 (spi_accessible_class_init): upd.
1303 s/accessible/object/ in epv methods.
1305 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1307 * at-bridge/bridge.c:
1308 Reorder the bridge initialization into the bridge gtk_module_init,
1309 an immediate call to bridge_register_app, and an idle_add for
1310 register_atk_event_listeners (the only code that *must* wait until
1311 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1312 the activation, creates the application's Accessible object, and
1313 queues the bridge_idle_init function. Restored call to
1314 Accessibility_Registry_deregisterApplication().
1315 Prior to making this call we obtain a new reference to the
1316 registry, which is a temporary hack that helps us handle apps that
1317 shut down the bonobo mainloop before we get there.
1319 * libspi/registry.c:
1320 Fix string leakage in debug block, and don't segv if a an app
1321 dies before its event notifications have been propagated.
1324 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1325 as stopgap measure until we get proper exception handling when
1326 objects die during or before interrogation.
1330 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1331 Also changed default value of is_gnome_app to TRUE.
1334 * test/keysynth-demo.c:
1335 Changed use of SPI_init and SPI_event_main to reflect API change above.
1338 Made report_focus_event check the warning value from getName
1339 before reporting on focussed accessible; simplifies handling of
1340 notifications from dead objects.
1342 * test/test-simple.c: (Changes not in this patch since source is
1345 2001-12-05 Michael Meeks <michael@ximian.com>
1347 * registryd/registryd.c (main): protect against
1348 bonobo-activation startup race condition.
1350 * cspi/spi_main.c (cspi_object_add_check): cope
1351 with the exception elegantly.
1353 * idl/Accessible.idl: decl. ChildGone
1355 * libspi/desktop.c (spi_desktop_dispose): impl.
1356 (spi_desktop_class_init): upd.
1357 (spi_desktop_add_application),
1358 (spi_desktop_remove_application),
1359 (abnormal_application_termination): impl.
1360 (impl_desktop_get_child_at_index): re-impl.
1363 (impl_accessibility_registry_deregister_application),
1364 (impl_accessibility_registry_register_application):
1365 kill excessive debug clutter.
1367 * test/test-simple.c (test_misc): test some NULL
1368 tolerance. (main): upd.
1370 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1371 implements no interfaces - so let's not crash.
1373 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1375 * libspi/accessible.c (spi_accessible_new_return): impl.
1376 helper to calm the cut and paste, to cope with
1377 NULL AtkObjects effectively and efficiently, and to kill
1378 the referencing bugs.
1380 * libspi/table.c (impl_getAccessibleAt),
1381 (impl_getRowHeader, impl_getColumnHeader): upd.
1383 * libspi/hyperlink.c (impl_getObject): upd.
1385 * libspi/accessible.c
1386 (impl_accessibility_accessible_get_child_at_index): upd.
1388 * libspi/component.c
1389 (impl_accessibility_component_get_accessible_at_point): upd.
1391 * test/test-simple.c (test_editable_text, test_text): impl.
1394 * cspi/spi_editabletext.c
1395 (AccessibleEditableText_insertText): constify.
1397 * test/test-simple.c (focus_me): make more robust.
1399 * libspi/accessible.c: remove some printfs in methods that
1400 we test and work fine, so we can get a clean tree dump.
1402 * test/test-simple.c (validate_accessible),
1403 (validate_tree): make tree dumping pretty too.
1405 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1406 it builds without debug on.
1408 * test/test-simple.c (validate_accessible): fix the most
1411 * cspi/spi_main.c (spi_object_release): leave the nicely
1412 blanked memory around if in debug mode.
1414 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1416 [committed to fixups2]
1417 2001-12-05 Michael Meeks <michael@ximian.com>
1419 * libspi/editabletext.c
1420 (spi_editable_text_class_init): g_type_class_peek_parent,
1421 not interface peek - so we finalize cleanly.
1423 * libspi/accessible.c (spi_accessible_new): kill debug.
1425 * test/test-simple.c (validate_accessible): fix ref.
1426 leak, print strings before freeing them; sigh, comment a
1427 chunk out due to strangeness.
1428 (validate_tree): unref the child after use.
1430 * cspi/spi_component.c (AccessibleComponent_getLayer):
1431 add missing break statement, switch on zlayer not the
1432 uninitialized retval.
1434 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1435 before (possibly re-entering) remote unref.
1437 * test/simple-at.c (main): unref the desktop.
1439 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1442 * cspi/spi_main.c (cspi_accessible_is_a): here to
1443 isolate bonobo API usage more.
1445 * libspi/registry.c (impl_accessibility_registry_register_application):
1446 prune bogus comment.
1448 2001-12-04 Michael Meeks <michael@ximian.com>
1450 * test/test-simple.c (validate_tree): upd.
1451 IndexInParent check to make it more lucid.
1452 (validate_accessible): dump the tree.
1454 * libspi/accessible.c (de_register_public_ref),
1455 (get_public_refs): impl.
1456 (spi_accessible_new): make more efficient & intuitive.
1457 Now IndexInParent check works.
1459 2001-12-04 Michael Meeks <michael@ximian.com>
1461 * cspi/spi-util.h: remove.
1463 * cspi/spi.h: move SPI_freeString here
1465 * libspi/component.c (impl_accessibility_component_get_layer):
1467 (impl_accessibility_component_get_mdi_z_order): ditto,
1468 return -1 on error - is this ok ?
1470 * test/test-simple.c (test_application): impl.
1472 * cspi/spi_accessible.c (Accessible_getApplication),
1473 (Accessible_isApplication): impl.
1475 * libspi/registry.c (spi_listener_struct_free): release
1476 the CORBA reference too.
1478 * libspi/accessible.c
1479 (impl_accessibility_accessible_get_parent): fix ref leak.
1481 * libspi/registry.c (spi_registry_new): make the registry
1482 immortal - we don't want it to go away ever.
1484 * libspi/application.c
1485 (spi_accessible_application_finalize): impl. cleanup.
1487 * cspi/spi_registry.c
1488 (deregisterGlobalEventListenerAll),
1489 (deregisterGlobalEventListener),
1490 (deregisterAccessibleKeystrokeListener): fix ref leak.
1492 * cspi/spi_main.c (SPI_init): remove redundant ref.
1494 * test/test-simple.c (unutterable_horror): impl. to force a
1499 (impl_accessibility_registry_deregister_application): release
1500 the application when we de-register it.
1502 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1503 until we have the infastructure to get it right.
1505 2001-12-03 Michael Meeks <michael@ximian.com>
1507 * libspi/Makefile.am: only build eventlistener.[ch]
1509 * libspi/accessible.c
1510 (impl_accessibility_accessible_get_child_at_index): don't leak.
1512 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1513 before we hit the idle handler.
1515 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1516 debugging than exit.
1518 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1520 * libspi/listener.c (impl_notify_event): check source
1521 not NIL before unref.
1523 * libspi/registry.c (impl_registry_notify_event): ditto.
1525 * libspi/eventlistener.c
1526 (impl_accessible_event_notify_event): unref the source.
1528 * libspi/accessibleeventlistener.c
1529 (impl_accessible_event_notify_event): unref the source.
1531 * idl/Event.idl: remove 'hash_id' attribute - of no
1534 * libspi/application.c (notify_listeners): upd list
1536 (spi_application_object_event_listener),
1537 (spi_application_toolkit_event_listener): upd to do correct
1541 (_registry_notify_listeners): update.
1542 (parse_event_type): this method also leaks like a sieve.
1543 (impl_accessibility_registry_deregister_global_event_listener):
1544 fix ETYPE_WINDOW case.
1546 * libspi/application.c
1547 (impl_accessibility_application_register_object_event_listener):
1550 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1552 * libspi/hypertext.c (impl_getLink): ditto.
1554 * cspi/spi_main.c (cspi_object_add): remove
1555 bogus CORBA_Object_duplicate.
1557 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1560 * cspi/spi_accessible.c
1561 (Accessible_getRelationSet): fix leak / referencing issue.
1563 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1564 (cspi_object_add, cspi_object_unref): upd.
1565 (spi_object_release, get_live_refs): impl.
1566 (cspi_cleanup): simplify.
1568 * *.[ch]: s/boolean/SpiBoolean/
1570 * cspi/spi_accessible.c (role_names): actualy order so it
1571 corresponds with the enum !
1573 * test/test-simple.c (test_roles): check some role strings
1574 vs. enums to detect offset errors.
1576 2001-12-01 Michael Meeks <michael@ximian.com>
1578 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1580 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1582 (Accessible_getChildAtIndex): use cspi_add_check so we
1583 check the ev before using a (possibly) invalid value.
1585 * libspi/accessible.c
1586 (impl_accessibility_accessible_get_parent): don't segv
1589 * at-bridge/bridge.c (gtk_module_init): upd.
1590 (bridge_property_event_listener): don't leak strings
1592 (bridge_state_event_listener),
1593 (bridge_property_event_listener): don't use a static
1594 buffer in case of recursive event emission &
1595 re-enterancy - split out the swathe of cut and paste
1597 (emit_eventv): and fix 2 ref leaks here & comply to the
1599 (bridge_register_app): rename to
1600 (bridge_idle_init): this and kill arg parsing, split
1601 various inits & bonobo-activation registration to module
1602 init time, kill referencing error.
1603 (bridge_exit_func): fix the same leak.
1604 (bridge_focus_tracker): don't leak event structures
1606 (bridge_signal_listener): more leakage and cut & paste
1608 (bridge_key_listener): return the result - FIXME is
1609 this polarity correct ?
1610 (accessibility_keystroke_from_atk_key_event): rename
1611 (accessibility_init_keystroke_from_atk_key_event): and stop
1613 (gtk_module_init): return a value - not that it is checked by
1615 (bridge_key_listener): register my horror at casting between
1616 IDL defined structs.
1617 (bridge_get_registry): kill - not used.
1619 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1621 * test/test-simple.c (test_roles): impl.
1622 (test_desktop, validate_accessible, validate_tree): impl.
1624 * cspi/spi_accessible.c (role_names): fixup bogus
1625 MAX_ROLES setup, make constants const for efficient linkage
1626 (AccessibleRole_getName): conform to coding style, make
1629 2001-11-30 Michael Meeks <michael@ximian.com>
1631 * cspi/spi.h: add missing prototype.
1633 * libspi/registry.c (spi_listener_struct_new): fix sig.
1635 * test/Makefile.am: add test-simple
1637 * test/test-simple.c: add
1639 * test/test.sh: add.
1641 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1643 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1644 do it straight - since otherwise we often get an activation race.
1646 [ work before Bill duplicated a chunk of it ... ]
1647 2001-11-30 Michael Meeks <michael@ximian.com>
1649 * libspi/keystrokelistener.c
1650 (spi_keystroke_listener_class_init): fixup arg
1653 * libspi/eventlistener.c
1654 (spi_event_listener_class_init): ditto.
1656 * tests/test.sh: add.
1658 * cspi/spi-listener-impl.h: update macros.
1660 * cspi/spi-listener-impl.c
1661 (cspi_event_listener_remove_callback): add
1662 correct pre-conditions.
1664 * cspi/spi_main.c (SPI_exit): guard vs. double
1665 exits, exit the mainloop nicely.
1666 (SPI_event_main): make more sense.
1667 (SPI_init): move the atexit evilness here so we
1668 always do it (yuck).
1669 (SPI_event_main): upd.
1671 * test/simple-at.c: update for listener changes.
1673 * registryd/registryd.c (main): prune kruft.
1675 * libspi/libspi.h: upd.
1677 * libspi/eventlistener.[ch]: rename broken macros.
1679 * libspi/accessibleeventlistener.[ch]: remove.
1681 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1683 * test/test-simple.c: Add - automated tests.
1685 * cspi/spi-listener-impl.c (cspi_event),
1686 (cspi_key_event): add user_data to invoke.
1687 (cspi_keystroke_listener_finalize): impl.
1688 (cspi_keystroke_listener_class_init): upd.
1691 (createAccessibleEventListener),
1692 (AccessibleEventListener_addCallback),
1693 (createAccessibleKeystrokeListener),
1694 (AccessibleKeystrokeListener_addCallback): upd.
1696 * libspi/deviceeventcontroller.c
1697 (spi_device_event_controller_check_key_event): add public proto.
1700 (impl_accessibility_registry_deregister_global_event_listener):
1701 always init listeners.
1702 (_registry_notify_listeners): yes it is.
1704 * cspi/spi-listener-impl.c (cspi_key_event):
1706 (cspi_event_listener_finalize): impl.
1707 (cspi_event_listener_class_init): hook up.
1708 (event_handler_new, event_handler_free),
1709 (event_list_remove_by_callback): impl.
1710 (cspi_event_listener_remove_callback),
1711 (cspi_keystroke_listener_remove_callback),
1712 (cspi_keystroke_listener_add_callback),
1713 (cspi_event_listener_add_callback): upd.
1715 * libspi/keystrokelistener.c
1716 (keystroke_listener_object_finalize): kill
1717 (spi_keystroke_listener_class_init): upd.
1718 (spi_keystroke_listener_add_callback),
1719 (spi_keystroke_listener_remove_callback): kill,
1721 (impl_key_event): prune drasticaly.
1723 * libspi/eventlistener.c
1724 (spi_event_listener_add_callback),
1725 (spi_event_listener_remove_callback): kill, use
1727 (impl_accessible_event_notify_event): upd.
1728 (spi_event_listener_object_finalize): remove.
1730 * libspi/Makefile.am: use eventlistener.[ch]
1732 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1734 * libspi/registry.c (_registry_notify_listeners):
1735 Changed listener loop iteration to use preferred convention.
1736 Got rid of string memory leaks caused be calling g_strconcat
1737 inside function calls.
1739 * libspi/registry.c (parse_event_type):
1740 Stopped g_strconcat memory leaks, free the g_strsplit return,
1741 g_strdup the split pieces when used, etc.
1743 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1746 Change method 'compare' to return a 'difference set' rather than
1747 taking a StateSet as an out parameter (more Java-friendly).
1749 * idl/Accessible.idl:
1750 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1752 * idl/Component.idl:
1754 Changed methods 'getExtents' and 'getImageExtents' in these
1755 interfaces to return a BoundingBox structure.
1756 (getPosition and getSize are redundant and possibly should be
1757 removed, rather than creating a corresponding Point struct.)
1759 * cspi/spi_component.c:
1760 Modify implementation of getExtents to reflect the above IDL
1765 Add (missing) AccessibleImage_getExtents () API.
1767 * docs/reference/cspi/at-spi-cspi-sections.txt:
1768 Added AccessibleImage_getImageExtents () to docs.
1770 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1772 * idl/Component.idl:
1773 Added two methods, getLayer () and getMDIZOrder (), to reflect
1774 the new ATK methods atk_object_get_layer and
1775 atk_object_get_mdi_z_order. (Which arguably should be part of the
1776 AtkComponent API and AtkObject). Also added an enum,
1777 ComponentLayer, for the first method's return value.
1779 * libspi/component.c:
1780 Added implementations for these methods.
1782 * cspi/spi_component.c:
1784 Added cspi binding methods for above,
1785 AccessibleComponent_getLayer() and
1786 AccessibleComponent_getMDIZOrder().
1787 Added cspi enum 'AccessibleComponentLayer'.
1789 * docs/reference/cspi/at-spi-cspi-sections.txt:
1790 Added above methods to docs.
1794 Changed typedef for 'boolean' type (and all references to it) to
1795 SPIBoolean, to avoid keyword clashes with C++.
1798 Changed usages of 'boolean' to SPIBoolean.
1800 * test/keysynth-demo.c:
1801 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1802 app), except where SPIBoolean is required by the callbacks API.
1804 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1806 * cspi/spi_registry.c:
1807 Removed obsolete X event loop for passive keygrabs (which now
1810 * registryd/registryd.c:
1811 Removed unnecessary call to gdk_init() [cruft]. This also allows
1812 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1815 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1817 * docs/reference/cspi:
1818 Included docs for SPI_freeString in generated documentation.
1821 Renamed spi_freeString to SPI_freeString, for consistency. Added
1822 documentation for this function.
1825 Renamed spi_freeString to SPI_freeString, for consistency.
1826 Removed obsolete method declaration string_from_corba_string.
1828 * test/keysynth-demo.c:
1829 Small tweak to comments.
1832 Stopped leaking the strings returned from CSPI.
1834 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1836 Merged Michael's branch (see his ChangeLog entries below).
1838 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1839 bridge is alive, release on exit.
1841 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1842 Fix type check macro.
1845 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1848 Added is_gnome_app static, and method cspi_is_gnome_app(),
1849 so we can call the appropriate shutdown routine at exit in SPI_exit.
1851 * cspi/spi_main.c (cspi_object_ref):
1852 Duplicate the corba object passed in, since we're keeping it around.
1854 * cspi/SPI_exit.c, cspi_cleanup:
1855 Moved the releasing of the live refs to its own function, so we
1856 can put it in g_atexit (). Call the appropriate shutdown API
1857 depending on whethe calling client is a gnome app or not
1858 (bonobo_main_quit or CORBA_ORB_shutdown).
1860 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1861 Unref the listener when this method is called, after
1862 deregistration. Updated the API docs to note this behavior.
1864 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1865 Bugfixes: Ref the bonobo object when returning a parent or child
1866 reference, or an AccessibleRelation. Generally made sure
1867 BonoboObject refcount is incremented whenever we return an
1870 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1871 Fixed typo/bug in signal declaration.
1873 * libspi/accessibleeventlistener.h:
1876 * libspi/application.c (spi_application_new):
1877 Fixed leak in initialization.
1880 Remembered to increment bonobo-object refcount when returning
1881 children (applications) from desktop object.
1882 Added (empty) finalize method.
1884 * libspi/deviceeventcontroller.c:
1885 Hold a ref to listeners inside DEControllerKeyListeners.
1886 Added dec_key_listener_free() method. Use prepend instead of
1887 append in key_listener list. Fixed some refcount madness and
1888 leaks in the listener registration/deregistration - deregistration
1889 now calls dec_key_listener_free() on listeners, and on the
1890 temporarily constructed dec_key_listener() used to perform the search/match.
1892 * libspi/hypertext.c (spi_hypertest_finalize):
1893 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1894 class. Also fixed spi_hypertext_interface_new() and
1895 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1897 * libspi/hypertext.h:
1898 Removed pointless and duplicate AtkObject pointer from
1901 * libspi/keystrokelistener.c:
1902 Fixed incorrect type of keystroke_listener_parent_class,
1903 renamed keystroke_listener_object_finalize to
1904 spi_keystroke_listener_object_finalize.
1905 Fixed typo in signal declaration
1906 (spi_keystroke_listener_class_init).
1908 * libspi/registry.c:
1909 Added funcsions spi_listener_struct_new() and
1910 spi_listener_struct_free() to help with memory management issues.
1911 We also now use these methods instead of gnew + poking stuff into
1912 the struct, and to decrement listener counts/free the listeners
1913 when deregistering them.
1914 Fix more refcount bugs in getDesktop() and
1915 getDeviceEventController().
1918 De-ref the desktop after enumerating the applications. Explicitly
1919 decrement the refcounts on the created listeners on exit (using
1920 _unref for keystroke listeners, and via the
1921 deregisterGlobalEventListenerAll command for other event
1924 2001-11-27 Michael Meeks <michael@ximian.com>
1926 * cspi/spi-listener.h: fixup enum.
1928 2001-11-27 Michael Meeks <michael@ximian.com>
1930 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1931 (cspi_keystroke_listener_new): Use the cspi variants.
1933 2001-11-26 Michael Meeks <michael@ximian.com>
1935 * test/keysynth-demo.c: fix 2 compile warnings, missing
1938 * test/simple-at.c (report_focussed_accessible),
1939 (report_focus_event, report_button_press),
1940 (check_property_change, is_command_key),
1941 (report_ordinary_key_event, report_command_key_event): upd.
1943 * util/mag_client.h: include pre-requisites.
1945 * libspi/accessibleeventlistener.c
1946 (spi_event_listener_object_finalize): free any lingering
1949 * libspi/keystrokelistener.c
1950 (keystroke_listener_object_finalize): ditto.
1952 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1953 callbacks, with cspi types.
1955 * cspi/spi_event.c (createAccessibleEventListener): chain to
1956 (AccessibleEventListener_addCallback): here.
1957 (createAccessibleKeystrokeListener): chain to
1958 (AccessibleKeystrokeListener_addCallback): here.
1960 * libspi/keystrokelistener.c
1961 (spi_keystroke_listener_class_init): add signal.
1962 (impl_key_event): emit the event.
1963 (boolean_handled_accumulator): impl.
1964 (marshal_BOOLEAN__POINTER): add, gack.
1966 * libspi/accessibleeventlistener.c
1967 (spi_event_listener_class_init): add signal.
1968 (impl_accessible_event_notify_event): emit the signal &
1969 make the loop efficient.
1970 (spi_event_listener_add_callback): prepend the callback.
1972 * libspi/accessibleeventlistener.h: add an 'event' signal,
1973 decl type on callback.
1975 * libspi/keystrokelistener.h: ditto.
1977 * cspi/spi-listener.h: make methods typesafe and
1978 make them use the new event typedefs.
1980 * test/simple-at.c (report_focussed_accessible):
1981 include mag_client.h
1982 Use *(void *)text_interface not the other thing.
1984 * configure.in: add gtk to registryd bits - since we use
1987 * util/magnifier.c: include libbonobo.h
1989 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1991 * test/keysynth-demo.c:
1992 Turned this into a simple scanning keyboard, to demonstrate the
1993 use of g_timeout_add () as a means of creating timers for
1994 scanning, and the use of GtkStyle for visually indicating when
1995 virtual keyboard elements are selected.
1997 keysynth-demo now listens to any keyboard keys with zero-valued
1998 keycodes (i.e. 'unused' keys) and interprets them as
2001 Reworked the shiftlatch code so that shift-down state isn't held
2002 for long periods (it's only synthesized immediately prior to
2003 the keysynth event it's modifying). Note that shiftlatch in this
2004 demo is a convenience, not intended to take the place of AccessX
2005 which is the better choice for getting 'sticky' modifier keys.
2007 * libspi/deviceeventcontroller.c:
2008 * at-bridge/bridge.c:
2009 * cspi/spi_registry.c:
2010 Removed some debug print stuff, and put other verbosity in #ifdef
2015 Implemented some more of the magnifier IDL for the simple
2016 magnifier: namely, getZoomRegionParams.
2017 Added mag_x and mag_y members to MagnifierData struct, aid of this
2019 Added GtkWindow::realize signal handler to magnifier, to keep it
2020 from receiving keyboard focus from the WM.
2022 2001-11-23 Mark McLoughlin <mark@skynet.ie>
2024 * cspi/spi-private.h: my guess at what michael forgot
2025 before he ran off to NZ :-)
2027 2001-11-23 Michael Meeks <michael@ximian.com>
2029 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2030 comment out non existant method invoke so we link.
2032 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2033 use bonobo_exception_get_text for more friendly warnings.
2035 * cspi/spi.c (Obj_Add): move into spi_main & rename
2036 spi_object_add; kill spi.c
2038 * cspi/spi_registry.c
2039 (deregisterGlobalEventListener),
2040 (deregisterGlobalEventListenerAll),
2041 (registerGlobalEventListener): fix exception leaks.
2043 * cspi/spi_main.c (spi_exception): impl. helper, so we
2044 don't leak exceptions.
2046 * cspi/spi_selection.c
2047 (AccessibleSelection_deselectSelectedChild): return the
2050 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2051 (spi_registry): ditto.
2052 (SPI_init): guard against double inits.
2054 * cspi/*.c: use spi_ev (), and spi_registry () where
2055 appropriate - a temporary hack until we have something
2056 better. Use spi_object_add
2058 2001-11-22 Michael Meeks <michael@ximian.com>
2060 * cspi/Makefile.am: re organise, install the headers.
2062 * cspi/*.h: add G_BEGIN/END_DECLS
2064 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2067 Added non-preemptive keylistener for key events with no modifiers
2068 and shift-only modifier.
2070 * libspi/keystrokelistener.c:
2071 Removed some verbose diagnostics printout.
2073 * cspi/spi_registry.c:
2074 Fixed a bug that caused all key listeners to be registered as
2077 * libspi/deviceeventcontroller.c:
2078 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2079 for non-preemptive key masks.
2082 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2084 * docs/reference/idl/at-spi-idl-docs.sgml:
2085 * docs/reference/idl/at-spi-idl-sections.txt:
2086 * docs/reference/idl/at-spi-idl-overrides.txt:
2087 Added missing files.
2089 * docs/reference/Makefile.am:
2090 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2091 to scan the IDL files :-(
2096 Added .cvsignore files.
2098 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2100 * libspi/deviceeventcontroller.c:
2101 * libspi/keystrokelistener.c:
2103 * cspi/spi_registry.c:
2104 Added filters for KeySets, KeyEventSeq, and event types to key
2105 event dispatching, so listeners should only receive those events
2106 that they requested :-)
2108 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2113 * docs/reference:Makefile.am:
2114 * docs/reference/cspi:
2115 * docs/reference/cspi:Makefile.am:
2116 * docs/reference/cspi:tmpl:
2117 * docs/reference/cspi:tmpl:*.sgml:
2118 * docs/reference/idl:
2119 * docs/reference/idl:Makefile.am:
2120 * docs/reference/idl:at-spi-idl-sections.txt:
2121 * docs/reference/idl:at-spi-idl-docs.sgml:
2122 * docs/reference/idl:tmpl:
2123 * docs/reference/idl:tmpl:*.sgml:
2125 Restructured docs directory to allow separate 'reference' docs
2126 section, and forked idl and cspi docs. Added the sgml template
2127 files to CVS. Added the first sections/structural sgml for the
2130 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2132 * configure.in, libspi/Makefile.am: find libXtst.
2134 2001-11-21 Michael Meeks <michael@ximian.com>
2136 * test/accessx-gui.c: s/spi_value/value/ - doh.
2138 * libspi/base.[ch]: add.
2140 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2142 * idl/Accessible.idl:
2143 * idl/Application.idl:
2146 Started gtk-doc cleanup on IDL.
2148 * libspi/deviceeventcontroller.c:
2149 Added and connected non-preemptive key notification from the
2150 toolkits (in addition to the pre-emptive support from XServer
2151 which we had before, but which causes 'focus flashing'). Filters
2152 are presently limited to key modifiers and global/non-global,
2153 KeySets are presently ignored, as are KeyEvent masks.
2155 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2156 structs into the persistant structure rather than just storing
2157 pointers to things that might not persist across servant
2160 The XGrabKey call now does async keygrabs, because synchronous
2161 ones were deadlocking with GDK_event code in a very nasty way.
2163 Added boolean to internal method notify_keylisteners, to indicate
2164 whether the event came from the 'toolkit source' or the 'global
2165 (XServer) source' - this is used in the notification process to
2166 determine which listeners to send the event to.
2168 deviceeventcontroller.c is now warning-free.
2170 * libspi/registry.c:
2171 Fixed regression in application de-registration.
2172 Also fixed some really brain-dead weirdness having to do with
2173 event dispatching - event structs are now duplicated before being
2174 re-marshalled in the dispatch to listeners. This also fixes a
2175 Solaris build problem.
2178 2001-20-11 Michael Meeks <michael@ximian.com>
2181 (impl_accessibility_registry_deregister_global_event_listener):
2184 * libspi/deviceeventcontroller.c
2185 (spi_device_event_controller_check_key_event): return
2186 FALSE on no virtual method.
2188 * libspi/*..h: make includes work on a correctly pathed install.
2190 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2192 * libspi/application.h: kill unused ( and whacked out )
2193 gboolean *spi_application_set_id (AtkObject *app, long id);
2195 2001-20-11 Michael Meeks <michael@ximian.com>
2197 * libspi/*.[ch]: further convert to bonobo's type func
2198 macros, remove redundnant casts etc.
2200 * libspi/text.c s/accessibility_text/spi_text/g,
2201 re-order to de-cruft.
2203 * libspi/hypertext.c: re-order to kill a huge slew
2204 of redundant forward decls.
2206 * libspi/relation.c: ditto.
2208 * libspi/image.c: ditto.
2210 * */.cvsignore: update
2212 2001-20-11 Michael Meeks <michael@ximian.com>
2214 * libspi/deviceeventcontroller.c
2215 (_controller_register_with_devices): use g_getenv,
2216 kill stdlib.h include.
2218 * libspi/keystrokelistener.c
2219 (spi_keystroke_listener_get_type): kill
2220 (spi_keystroke_listener_class_init),
2221 (spi_keystroke_listener_init): rename to this.
2223 * libspi/text.c (impl_getAttributes): fix warning / bug.
2225 * libspi/*.[ch]: more headers, includes and over commenting.
2227 2001-20-11 Michael Meeks <michael@ximian.com>
2229 * libspi/*.[ch]: fixup headers, includes and over commenting.
2231 * libspi/image.c (impl__get_imageDescription): const
2232 correctness warning fix. remove redundant casting.
2234 * libspi/table.c (impl_getRowDescription): ditto.
2235 (impl_getColumnDescription): ditto.
2237 * libspi/libspi.h: add.
2239 2001-19-11 Michael Meeks <michael@ximian.com>
2241 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2243 * libspi/component.c (accessibility_component_get_type):
2244 rename to (spi_component_get_type): and macroify.
2245 (accessibility_component_init): rename to
2246 (spi_component_init): this
2247 (accessibility_component_class_init): rename to
2248 (spi_component_class_init): this
2250 * libspi/action.c (spi_action_get_type): kill, use the macro.
2252 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2255 * libspi/application.c (spi_application_object_event_listener),
2256 (impl_accessibility_application_register_object_event_listener):
2257 warning fixes / const understanding updates.
2259 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2262 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2264 * libspi/spi_accessible.c: Added docs and C bindings for
2265 AccessibleStateSet. (No implementations yet). Documentation
2266 coverage for C bindings now 100%. Made docs for event listeners
2271 boolean notifyListenersSync (in DeviceEventListener listener,
2272 in DeviceEvent event);
2274 oneway void notifyListenersAsync (in DeviceEventListener listener,
2275 in DeviceEvent event);
2277 Added DeviceEventListener and DeviceEvent structs (may deprecate
2278 KeyStroke and KeystrokeListener in favor of this generic
2279 event/listener framework for devices).
2281 * libspi/deviceeventcontroller.c:
2283 Changed some key listener code to take masks, etc., and paved the
2284 way for integration of toolkit/non-preemptive key events. Changed
2285 signatures of some internal methods.
2287 * at-bridge/bridge.c:
2288 Fixed regression connecting to interface signals, apparently
2289 caused by GTK+ changes.
2291 Added an internal bridge_state_listener to deal with
2292 property-change:accessible-state signals.
2294 Changed the key_listeners GList to store structs (including masks,
2295 etc.) instead of just CORBA_Objects (required for full
2296 implementation of key listener API).
2298 Connected the bridge to all currently supported Atk signals.
2299 Events now supported:
2300 object:property-change
2301 object:property-change:accessible-name
2302 object:property-change:accessible-state
2303 object:property-change:accessible-description
2304 object:property-change:accessible-parent
2305 object:property-change:accessible-value
2306 object:property-change:accessible-role
2307 object:property-change:accessible-table-caption
2308 object:property-change:accessible-table-column-description
2309 object:property-change:accessible-table-column-header
2310 object:property-change:accessible-table-row-description
2311 object:property-change:accessible-table-row-header
2312 object:property-change:accessible-table-summary
2313 object:children-changed
2314 object:visible-data-changed
2315 object:selection-changed
2316 object:text-selection-changed
2318 object:text-caret-moved
2320 object:row-reordered
2322 object:column-inserted
2323 object:column-reordered
2324 object:column-deleted
2325 object:model-changed
2327 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2329 * libspi/hyperlink.c,h:
2330 Fixed some broken stuff in hyperlink.
2332 * libspi/relation.h:
2333 * libspi/relation.c:
2334 * cspi/spi_accessible.c:
2335 Initial implementations of AccessibleRelation methods, and docs.
2337 * libspi/accessible.c:
2338 Fixed a bug that caused SEGV if an accessible
2339 object's description is NULL, and a client
2340 requests it. An empty string is now returned.
2342 * cspi/spi_editabletext.c:
2343 * cspi/spi_hypertext.c:
2345 * cspi/spi_hyperlink.c:
2349 Doc coverage now 95%.
2351 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2353 One last namespacing revision:
2354 * libspi/accessibleeventlistener.[ch]:
2355 Renamed SpiAccessibleEventListener to SpiEventListener,
2356 (no need for two namespaces ;-)
2358 And lots of documentation fixes:
2360 * docs/at-spi-docs.sgml:
2361 Fixed 'underscore vs. hyphen' bug that was preventing
2362 the gtk-doc API docs from being automatically generated.
2365 * cspi/spi-listener.h
2367 * cspi/spi_accessible.c
2369 * cspi/spi_application.c
2370 * cspi/spi_component.c
2371 * cspi/spi_editabletext.c
2373 * cspi/spi_hypertext.c
2375 * cspi/spi_registry.c
2376 * cspi/spi_selection.c
2380 * docs/at-spi-docs.sgml
2381 * docs/at-spi-sections.txt
2383 Added and fixed up gtk-doc documentation in cspi.
2385 Interfaces now (fully) documented (subject to revision and enhancement):
2387 Event Listener Support
2389 AccessibleApplication
2393 AccessibleEditableText
2400 AccessibleRelationSet
2405 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2407 * at-bridge/bridge.c:
2408 Initial work for toolkit-level key snooper connection by bridge.
2413 New typedefs and fixes to support new namespacing, and cleaner
2414 separation of cspi bindings from libspi bonobo implementation.
2415 Removed inconsistent and extraneous Spi* namespace prefix that
2416 had crept into cspi headers.
2417 Lots of comment fixes that sed had missed.
2419 * cspi/spi-roletypes.h:
2420 * cspi/spi-statetypes.h:
2421 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2422 to AccessibleRoleType.
2424 * libspi/accessibleeventlistener.h:
2425 Fixed minor namespacing weirdness.
2427 * libspi/deviceeventcontroller.c:
2428 Reordered some internal API for device listeners.
2429 Changed the key registry final boolean to 'is_system_global'
2430 rather than 'is_synchronous', which is more descriptive of its
2432 Added spi_device_event_controller_new().
2433 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2435 * libspi/keystrokelistener.[ch]:
2436 Namespaced KeystrokeListener to SpiKeystrokeListener.
2437 Changed uses of keymasks to use SPI_ prefix, and did other
2440 * libspi/keymasks.h:
2441 Namespaced keymask constants with SPI_ prefix.
2443 * libspi/registry.c:
2444 Some warning fixes, and knock-on fixes from namespace changes.
2447 Added rules for accessx-gui test program.
2449 * test/accessx-gui.c:
2450 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2451 utility. It doesn't actually use at-spi, but it's still cool and
2454 * test/keysynth-demo.c:
2458 Fixes so that these test clients work properly with the namespaced
2459 libraries. (Incompletely tested for technical reasons, fixes may follow)
2462 2001-13-11 Michael Meeks <michael@ximian.com>
2464 * libspi/application.c
2465 (impl_accessibility_application_get_version),
2466 (impl_accessibility_application_get_toolkit_name):
2468 (impl_accessibility_application_set_id),
2469 (impl_accessibility_application_get_id): remove
2470 redundant casting code.
2472 * libspi/action.c (impl_getDescription): fix warnings.
2474 * libspi/accessible.c
2475 (impl_accessibility_accessible_get_parent),
2476 (impl_accessibility_accessible_get_child_at_index),
2477 (impl_accessibility_accessible_get_state),
2478 (impl_accessibility_accessible_get_relation_set):
2479 warning fixes & include action.h
2481 2001-13-11 Michael Meeks <michael@ximian.com>
2483 * *.[ch] fix bits I screwed up:
2485 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2486 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2488 2001-13-11 Michael Meeks <michael@ximian.com>
2490 * *.[ch] Namespace libspi into spi_ and Spi.
2492 2001-13-11 Michael Meeks <michael@ximian.com>
2494 * Makefile.am: dist & install at-spi-1.0.pc
2496 * libspi/Makefile.am: install into at-spi-1.0
2498 * idl/Makefile.am (idldir): install into at-spi-1.0
2500 * at-spi-1.0.pc.in: add.
2502 * configure.in: build it.
2504 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2506 * test/keysynth-demo.c:
2507 Use a 'realize' signal-handler to set the WM properties for
2508 the virtual keyboard, rather than making it a "POPUP" type
2509 override-redirect window (thanks to anders carlsson for that
2512 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2515 * test/keysynth-demo.c:
2516 Added new test of key synthesis, which creates a simple
2517 (mouse-operated) onscreen keyboard. It inserts key events into
2518 the currently-focused window, thus it does not grab keyboard focus
2521 * cspi/spi_registry.c:
2522 Added C binding for AT-SPI generateKeyEvent.
2524 * libspi/deviceeventcontroller.c:
2525 Added call to XFilterEvent so that key listener works with XIM (we
2526 hope). Added event_synth_type to generateKeyEvent, so that we can
2527 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2528 synthesize a press/release pair for KeySyms.
2530 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2532 * libspi/Makefile.am:
2533 * registryd/Makefile.am:
2534 (temporary) hack to include libXtst in libspi and registryd.
2535 (Needed for keystroke synthesis, see below).
2538 Improved API for registerKeystrokeListener, in accordance with
2539 discussions with Gnopernicus team and X server research.
2541 * libspi/registry.c:
2542 * libspi/deviceeventcontroller.c:
2543 * libspi/accessible.c:
2544 * libspi/keystrokelistener.c:
2545 Changes and fixes to support keylisteners for potentially
2546 consumed key events (that is, 'passive grabs').
2547 Added implementation for generateKeyEvent() [untested].
2550 Changes to registerKeystrokeListener() API, as above.
2551 Added deregisterGlobalEventListenerAll(), and
2552 deregisterKeystrokeListener(), which are needed for clean exit of
2554 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2555 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2557 * cspi/spi_registry.c:
2558 Added implementations of function prototypes mentioned above.
2560 * registryd/registryd.c:
2561 Added the key listener event source as a g_timeout(), to allow
2562 receipt of key events that are not caught by GDK (since GDK
2563 doesn't support passive keygrabs, this was necessary).
2566 Changed to attach a keylistener to 'Alt' keys, and
2567 respond to the following keycommands: Alt-M (toggle magnifier);
2568 Alt-F (toggle speech); Alt-Q (quit).
2569 Added an exit routine to deregister the listeners, and a key
2570 listener that prints some key info to the console when a key
2571 matches the listener mask (and is thus received by the listener).
2573 * util/idl/Magnifier.idl:
2574 Changes to magnifier API to support multiple zoom regions,
2575 non-uniform scaling in x and y, markDirty, and a host of other
2576 features that would be useful to magnification.
2579 * util/mag_client.c:
2580 * util/mag_client.h:
2581 * util/mag_control.c:
2583 Source code changes to support the above IDL changes.
2586 As above, and also changes to use a (slower) generic conversion
2587 path for colormap conversions, since the fast RGB conversions have been
2588 reported to fail for 16-bit displays.
2590 2001-10-26 Michael Meeks <michael@ximian.com>
2592 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2594 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2596 * at-bridge/Makefile.am: fix LDFLAGS.
2598 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2600 * at-bridge/bridge.c:
2601 Re-worked listeners for toolkit events, now we have signal
2602 and property listeners. Added a private method
2603 register_atk_event_listeners(), which registers with the
2604 various atk and gtk signals we need to monitor in order to emit
2606 Added emission hook for AtkObject:property-change events, to
2607 support the 'property listeners'.
2608 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2611 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2612 which emit warnings and exit, respectively, if CORBA errors occur
2613 during remote calls, and we now use these methods to check most of
2614 our CORBA calls in the C bindings.
2616 * cspi/spi_accessible.c:
2617 Changed AccessibleSelection_refSelectedChild() to
2618 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2619 now increment refcounts.
2621 * cspi/spi_component.c:
2622 Fixed some long pointer casts (dangerous!) to pass pointers to
2623 CORBA_longs of the proper type to the CORBA stubs, and copy the
2624 data into the longs that were passed into the C bindings code.
2626 * at-bridge/bridge.c:
2628 * libspi/accessible.c:
2629 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2630 hyperlinks, AtkHyperlink is an object type.
2632 * libspi/application.c:
2633 Added various conversions to and from "generic" event types and
2634 atk-specific types; this is really part of the 'bridge'
2635 implementation but is valid for all AtkObject-based accessibility
2638 * libspi/editabletext.c:
2639 Fixed nasty bug wherein editable text's finalize method was
2640 unref'ing tha AtkObject reference that the text parent class was
2641 about to unref _again_. There was also a nasty inheritance bug
2642 that meant that the AccessibleEditableText class was corrupt.
2644 * libspi/selection.c:
2645 Provided implementations for some selection API that was broken.
2647 * idl/Application.idl:
2648 Added registerObjectEventListener () method.
2651 Fixed a number of return values that were Bonobo_Unknowns from
2652 bonobo_object_corba_objref(), which I
2653 forgot to dup before returning. Changed instances of
2654 bonobo_object_corba_objref (bonobo_object(o)) to
2655 BONOBO_OBJREF(o), for concision and clarity.
2657 <2001-10-13 Louise Miller <louise.miller@sun.com>
2659 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2660 idl/Event.idl, idl/Registry.idl
2661 Changed these files to include Bonobo_Unknown.idl instead
2664 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2666 * libspi/component.c libspi/component.h:
2667 Fixed typo. Added assertions for object checks in
2668 AccessibleComponent code.
2670 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2672 * idl/Accessible.idl:
2673 Added 'isEqual (Accessible *object)'
2674 method for Accessible. (Not Yet Implemented).
2677 Changed signature of registerKeystrokeListener() to
2678 take a KeySet and KeyEventSeq so that specific keys and event
2679 types could be requested for monitoring, and added a flag
2680 is_synchronous so that either synchronous or asynchronous
2681 notification could be requested. (However this is not all
2682 implemented yet). This also meant adding two new typedefs,
2683 KeyEventSeq and KeySet.
2686 Added two new relations, RELATION_TOOLTIP_FOR and
2687 RELATION_LEAFNODE_OF.
2690 Added new state, STATE_HAS_TOOLTIP.
2692 * libspi/text.c, editabletext.c:
2693 Added new assertions to all casts of bonobo-objects from
2694 CORBA servants, to prevent Text API calls on non-text objects.
2695 Changed suspect casts of int-pointer types, so that we
2696 always send a valid CORBA_long pointer to the CORBA APIs that use
2697 in/out long parameters. We then have to copy from the CORBA_long
2698 into the regular long or int for return to the C bindings, or
2699 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2702 * libspi/deviceeventcontroller.c:
2703 Cleaned these sources up.
2705 Changed return type for getCharacterAtOffset to
2706 CORBA_unsigned_long, to allow for 32-bit characters.
2709 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2713 Fixed 'make dist' so that distro compiles...
2714 * libspi/keymasks.h:
2716 * cspi/spi-listener.c:
2717 KeystrokeListenerCB now returns a boolean.
2719 Added KeyEventType struct, and KeyStroke.
2720 Also added createKeystrokeListener(),
2721 KeystrokeListener_addCallback(),
2722 KeystrokeListener_removeCallback(), and added a keymask to
2723 registerKeystrokeListener().
2724 * cspi/spi_accessible.c:
2725 Changed numerous return types for interfaces from
2726 AccessibleComponent to Accessible<InterfaceName>; this was
2727 probably a cut-and-paste error.
2729 Implementations of new KeystrokeListener api (from spi.h,
2732 Changes to key modifier mapping.
2733 Created ControllerEventMask struct.
2734 Made DeviceEventController derive from Bonobo::Unknown.
2736 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2737 * libspi/deviceeventcontroller.c:
2738 Added a number of new internal (private) methods.
2739 * libspi/editabletext.c:
2740 * libspi/editabletext.h:
2741 Fixed a number of bugs related to the fact that
2742 editabletext inherits from text. Fixed the EditableText struct,
2743 the init() call, and use correct casts when calling Text methods
2744 from an EditableText object. Removed (duplicate) atko from the
2745 EditableText structure, we use the one in the parent Text
2746 structure via the casts mentioned above.
2747 * libspi/keystrokelistener.[ch]:
2748 * libspi/registry.c:
2749 Changes in support of keyboard handling (above).
2751 Keyboard handling, though partly functional, is still not
2752 recommended for at-spi client use as there is considerable
2753 work yet to be done.
2756 Changed some places where pointers to various int types
2757 are cast to be pointers to CORBA_long types and vice-versa:
2758 pointer casting is not safe so we pass pointers of the correct
2759 types and then cast the result before putting it into the target
2762 * libspi/text.h: minor typos corrected.
2764 We now speak not only the name of a Text element, but the
2765 first sentence of its content, when it receives focus.
2766 I also changed the text compression to 75% from 50%.
2767 * util/Accessibility_Util.server.in:
2768 Changed the default magnifier type to be a 3x vertical
2769 splitscreen magnifier (was previously a 2x horizontal one).
2771 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2773 * libspi/keystrokelistener.h:
2774 * libspi/keystrokelistener.c:
2775 Initial functional implementations of KeystrokeListener.
2778 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2780 Fixed string handling for NULL strings in libspi.
2781 Added spi_freeString to free strings returned by C bindings.
2783 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2785 * libspi/keystrokelistener.h:
2786 * libspi/keystrokelistener.c:
2787 Began (no-op) implementations of KeystrokeListener
2789 * libspi/deviceeventcontroller.c:
2790 * libspi/deviceeventcontroller.h:
2791 Began creating implementations of DeviceEventController,
2792 to handle keystroke and mouse event listening and
2794 * libspi/accessible.c:
2795 Stubbed-in the implementations for
2796 Accessibility_Accessible_getState and
2797 Accessibility_Accessible_getRelationSet.
2798 * libspi/registry.c:
2799 Improved de-registration process and fixed some bugs,
2800 deregistration now works correctly.
2802 Added initialization of applications list (to NULL).
2804 Reduced speech compression from 0.5 to 0.7, for demo.
2805 Changed call to gdk_window_set_decorations()
2806 to gtk_window_set_decorated().
2807 * at-bridge/bridge.c:
2808 Bridge now deregisters when app exits, via
2809 registration of a cleanup function
2810 with the g_atexit() call.
2811 Required making 'app' static, renamed 'this_app'.
2812 Fixed broken use of bonobo_init, passing argv wrongly.
2814 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2818 Created a new directory for
2819 accessibility-related utilities, primarily for
2820 testing and demo purposes, but with possible
2827 Onscreen magnifier utility that
2828 is implemented as a bonobo service.
2830 * util/mag_client.c:
2831 * util/mag_client.h:
2832 Client-side support (simple C bindings)
2833 for Magnification service
2835 * util/mag_control.c:
2836 Client program example for
2837 Magnification service
2839 * util/Accessibility_Magnifier.server.in:
2840 Bonobo-activation file for the
2841 Magnification service.
2844 * util/idl/Magnifier.idl:
2845 IDL defining the bonobo Magnification
2849 Modifications to use the bonobo-activated magnifier
2850 above, in place of trying to connect to an existing
2851 magnifier that uses socket-listening IPC.
2853 If env variable MAGNIFIER is set, a magnifier service
2854 will be started if one does not exist.
2856 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2857 * at-bridge/bridge.c:
2858 applied patch from Marc to build and run
2859 against new glib and gtk+ (seemed like a change
2860 to bonobo_init signature was made ?)
2862 made festival-server support turned off by default.
2863 Added support for a simple magnifier (off by default)
2864 which will be added to a 'util' directory later.
2865 * at-bridge/Makefile.am:
2866 Changed "application.h" header from a 'source'
2867 to a 'dependency' of libat-bridge.
2869 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2877 Added interface implementation c files to list of
2878 includes so they are included in libcspi.
2881 Changed prototype of AccessibleAction_doAction to return a
2883 Changed prototype of AccessibleTable_getCaption to
2884 return an Accessible.
2885 Changed prototype of AccessibleTable_getSelectedRows
2886 and AccessibleTable_getSelectedColumns to
2887 return a long (returns the number of selected rows
2888 or columns respectively).
2889 Changed name of AccessibleText_refRunAttributes to
2890 AccessibleText_getAttributes.
2891 Changed prototype of AccessibleText_getCharacterExtents to
2892 return a void rather than a boolean.
2893 Added support for a AccessibleCoordType parameter
2894 specifying what type of coordinates are desired.
2895 Added an AccessibleCordType parameter to
2896 AccessibleText_getPointAtOffset.
2898 * cspi/spi_accessible.c:
2899 Added code to return the outstanding interfaces from
2900 Accessible_queryInterface.
2902 * cspi/spi_action.c:
2904 Corrected call to getNActions to call the c binding
2907 * cspi/spi_editabletext.c:
2909 Changed name from setRunAttributes to setAttributes.
2911 * cspi/spi_hyperlink.c:
2913 Changed call to getNAnchors to correctly call the c
2914 binding for an attribute.
2916 * cspi/spi_hypertext.c:
2918 Changed getImageDescription to correctly call the
2919 binding for an attribute.
2921 * cspi/spi_selection.c:
2922 Changed getNSelectedChildren to correctly call the c
2923 binding for the attribute.
2924 Changed refSelectedChild to getSelectedChild.
2928 Changed getCaption to return an Accessible.
2929 Fixed calls which retrieve attributes.
2930 Changed refAt to getAccessibleAt.
2931 Changed getNSelectedRows and getNSelectedColumns to
2935 Changed getCharacterExtents and getPointAtOffset to accept an
2936 AccessibleCoordType.
2938 Changed calls which retrieve attributes.
2939 Changed refRunAttributes to getAttributes.
2944 * idl/Hyperlink.idl:
2945 Changed n_anchors attribute to nAnchors to keep naming
2946 convention consistent.
2949 Made Table inherit from Bonobo::Unknown.
2950 Added nSelectedColumns and nSelectedRows attributes.
2953 Made Value inherit from Bonobo::Unknown.
2955 * libspi/hyperlink.c:
2956 Change for nAnchors attributte name change.
2958 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2966 Added interface implementation c files to list of
2967 includes so they are included in libcspi.
2970 Changed prototype of AccessibleAction_doAction to return a
2972 Changed prototype of AccessibleTable_getCaption to
2973 return an Accessible.
2974 Changed prototype of AccessibleTable_getSelectedRows
2975 and AccessibleTable_getSelectedColumns to
2976 return a long (returns the number of selected rows
2977 or columns respectively).
2978 Changed name of AccessibleText_refRunAttributes to
2979 AccessibleText_getAttributes.
2980 Changed prototype of AccessibleText_getCharacterExtents to
2981 return a void rather than a boolean.
2982 Added support for a AccessibleCoordType parameter
2983 specifying what type of coordinates are desired.
2984 Added an AccessibleCordType parameter to
2985 AccessibleText_getPointAtOffset.
2987 * cspi/spi_accessible.c:
2988 Added code to return the outstanding interfaces from
2989 Accessible_queryInterface.
2991 * cspi/spi_action.c:
2993 Corrected call to getNActions to call the c binding
2996 * cspi/spi_editabletext.c:
2998 Changed name from setRunAttributes to setAttributes.
3000 * cspi/spi_hyperlink.c:
3002 Changed call to getNAnchors to correctly call the c
3003 binding for an attribute.
3005 * cspi/spi_hypertext.c:
3007 Changed getImageDescription to correctly call the
3008 binding for an attribute.
3010 * cspi/spi_selection.c:
3011 Changed getNSelectedChildren to correctly call the c
3012 binding for the attribute.
3013 Changed refSelectedChild to getSelectedChild.
3017 Changed getCaption to return an Accessible.
3018 Fixed calls which retrieve attributes.
3019 Changed refAt to getAccessibleAt.
3020 Changed getNSelectedRows and getNSelectedColumns to
3024 Changed getCharacterExtents and getPointAtOffset to accept an
3025 AccessibleCoordType.
3027 Changed calls which retrieve attributes.
3028 Changed refRunAttributes to getAttributes.
3033 * idl/Hyperlink.idl:
3034 Changed n_anchors attribute to nAnchors to keep naming
3035 convention consistent.
3038 Made Table inherit from Bonobo::Unknown.
3039 Added nSelectedColumns and nSelectedRows attributes.
3042 Made Value inherit from Bonobo::Unknown.
3044 * libspi/hyperlink.c:
3045 Change for nAnchors attributte name change.
3048 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3050 implementations-- made server implementations own AtkObject pointers
3051 rather than their respective AtkInterrface pointers to fix
3052 refcounting. AtkHyperlink is still broken.
3054 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3055 * cspi/spi_accessible.c:
3056 Added method Accessible_Role_getName(),
3057 and requisite string array (role_names).
3058 Added conversion string_from_corba_strin() call
3059 to Accessible_getName and _getDescription.
3060 * libspi/accessible.c:
3061 Added implementation for Accessible_getRole()
3063 Added festival support, used if environment variable
3066 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3068 * at-bridge/bridge.c:
3069 Now allocate Accessibility_Event using
3070 Accessibility_Event__alloc() instead of g_new0().
3071 * libspi/accessibleeventlistener.c:
3072 Initialize AccessibleEventListener->callbacks to NULL.
3073 Fixed accessible__event_listener_init() param, changed to
3074 "AccessibleEventListener *" type.
3075 Changed a bonobo_object_release_unref() call to
3076 Accessibility_Accessible_unref().
3077 * libspi/listener.c:
3078 Changed Bonobo_Unknown_unref to (equivalent)
3079 Accessibility_Accessible_unref.
3080 * libspi/registry.c:
3081 Changed bonobo_object_release_unref to
3082 Accessibility_Accessible_unref.
3084 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3087 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3088 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3089 spi-util.c spi-util.h
3090 Implementations for C bindings to remaining accessibility
3093 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3096 changed return value of Action from void to boolean to
3097 bring in line with ATK.
3100 Changed getText funcions to return "out" start and end offsets.
3101 Changed getAttributes to take and offset and return the start
3102 and end offset of the attribute run.
3103 Changed getOffsetAtPoint and getCharacterExtents to take an
3104 enum describing whether coordinates are window or screen.
3107 libspi/action.c libspi/action.h libspi/editabletext.c
3108 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3109 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3110 libspi/image.h libspi/selection.c libspi/selection.h
3111 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3112 libspi/value.c libspi/value.h
3113 Added server implementations for outstanding ATK interfaces
3114 not yet implemented.
3116 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3119 Added (missing) getName() method.
3120 Made nActions an attribute.
3121 * idl/EditableText.idl:
3122 Changed order of params in setAttributes.
3123 * idl/Hyperlink.idl:
3124 Removed getAnchor, added getURI.
3126 Changed attributes to methods, for efficiency
3127 (so that getting extents can be done in one call)
3128 * idl/Selection.idl:
3129 Changed nSelectedChildren to attribute, and re-indented.
3130 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3132 * idl/Text.idl: reformatted to match our coding style.
3133 (temporarily?) removed getRowColumnAtOffset().
3134 Changed text selection API to support multi-select and
3135 non-contiguous selections, as in ATK.
3136 * idl/Value.idl: changed some methods to attributes.
3138 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3140 * libspi/listener.c(impl_notify_event):
3141 BonoboUnkown_unref the source instead
3142 of bonobo_object_release_unref - the ORB
3143 handles the releasing.
3145 * configure.in: require ORBit-2.3.94 for
3148 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3150 Tagged CVS repository 'EA_1_0'.
3151 * README.EARLY_ACCESS:
3152 Alphabetized acknowledgements list, and
3154 Listed some known dependencies of at-spi.
3156 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3158 * docs/at-spi-docs.sgml:
3159 * docs/at-spi-sections.txt:
3160 * docs/at-spi-overrides.txt: (Added zero-length file)
3161 Documentation improvements - gtk-doc should build
3162 docs for all implemented C bindings now.
3165 * cspi/spi.c: (New file)
3166 * cspi/spi_event.c: (New file)
3167 * cspi/spi_registry.c: (New file)
3168 * cspi/spi_accessible.c: (New file)
3169 * cspi/spi_application.c: (New file)
3170 * cspi/spi_component.c: (New file)
3171 Split spi_main.c into six parts, and included them from
3172 "spi.c". This is a bit of a hack, probably temporary,
3173 but required by gtk-doc, apparently.
3175 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3178 * docs/at-spi-docs.sgml:
3179 * docs/at-spi-sections.txt:
3181 Initial checkins/modifications for gtk-doc generation.
3184 Added (missing) interface query methods to Accessible's C binding.
3186 Added GenericInterface type definition.
3188 Added query for AccessibleComponent interface to focus event handler.
3189 Added printout of bounding box for focussed component.
3190 * libspi/component.c:
3191 Added partial implementation for AccessibleComponent to C binding.
3192 * idl/Application.idl:
3193 * libspi/registry.c:
3194 * libspi/listener.c:
3195 * libspi/application.c:
3196 * libspi/application.h:
3197 Changed "ID" attribute type from string to long.
3199 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3203 Made method naming consistent: methods taking object args
3204 start with uppercase, other methods (except those using
3205 acronyms) start with lowercase. Underscores delimit between
3206 object names and method names:
3207 SPI_init() - uppercase since it starts with an acronym.
3208 getDesktopCount () - lowercase start since no object param0.
3209 Accessible_getName() - uppercase object type name, studlyCaps method
3213 Added gtk-doc documentation for all currently implemented
3214 methods in the C bindings API.
3216 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3218 * Makefile.am : changed build order to build test last.
3221 Changed "createEventListener" to "CreateEventListener".
3222 * libspi/accessibleeventlistener.c :
3223 Bugfix for addition of callbacks.
3224 * test/Makefile.am :
3225 * test/simple-at.c :
3226 Added new test that uses the C bindings API.
3228 * libspi/listener.c :
3229 * libspi/registry.c :
3230 * libspi/accessibleeventlistener.c :
3231 * at-bridge/bridge.c :
3232 Renamed member "target" of Accessibility_Event to "source",
3233 which is more descriptive.
3236 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3240 * cspi/Makefile.am :
3241 Added makefile support for at-spi/cspi directory.
3244 * cspi/spi-listener.h : (NEW FILE)
3245 Added support for/use of spi-listener.h.
3247 C bindings now build successfully, with no warnings.
3248 * libspi/accessibleeventlistener.h : (NEW FILE)
3249 * libspi/accessibleeventlistener.c : (NEW FILE)
3250 * libspi/Makefile.am :
3251 Added new object type "AccessibleEventListener"
3252 which inherits from Listener, and allows attachment
3253 of in-process callbacks (so that a client with a listening
3254 object instance can add functionality to the local
3255 implementation, dynamically).
3257 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3259 * libspi/accessible.c:
3260 Add implementation for get_index_in_parent().
3262 Added #include of "spi-roletypes.h", and
3263 added enumerated type AccessibleCoordType.
3264 Added definition for KeystrokeListener (function type).
3267 * cspi/spi-statetypes.h :
3268 * cspi/spi-roletypes.h :
3270 Added these headers, used by spi.h.
3272 Added code (NOTE: not yet built by make).
3274 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3276 * libspi/Makefile.am: generate imodule
3277 at the same time as other idl compiler
3280 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3281 * libspi/registry.c :
3282 * libspi/application.c :
3283 * idl/Application.idl :
3284 Made registration with toolkit an application method,
3285 which is required since each app has its own toolkit static
3286 environment. Thus the bridge must register for
3287 notification of toolkit events from each application in turn.
3288 Toolkit notifications are now successfully registered for, and
3289 sent to the listening at client.
3291 Changed toolkit event string to use hyphens rather than underscores.
3292 * libspi/listener.c :
3293 listner now gives more info in debug mode - it reports the
3294 name of the event received, as well as the name of the source.
3297 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3299 * libspi/registry.c :
3300 added more implementation for toolkit events.
3301 Fixed bug such that toolkit event registrations
3302 (via atk) use the whole event name string, not
3304 Removed a useless call to an ORBit_ method.
3305 * at-bridge/bridge.c :
3306 Removed unused local sbuf[] variable.
3308 We now register for Gtk:GtkWidget:button_press_event
3309 events as well as "focus:" events.
3311 Add some more API from Registry.idl that was missing,
3312 for keystroke listening, keystroke and mouse event
3313 synthesis, and enumeration of accessible desktops.
3315 2001-08-16 Michael Meeks <michael@ximian.com>
3317 * configure.in: use AM_GLIB_GNU_GETTEXT.
3319 * Makefile.am (SUBDIRS): kill intl.
3321 2001-08-15 Michael Meeks <michael@ximian.com>
3323 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3325 * configure.in: upd.
3327 * configure.in: depend on a recent bonobo-activation that
3328 will find our server files ...
3330 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3332 * libspi/accessible.c : accessible_new() :
3333 Now we add the Component interface via bonobo_object_add_interface,
3334 if the contained AtkObject implements AtkComponent.
3335 * libspi/accessible.h : now include "component.h"
3336 * libspi/component.h :
3337 * libspi/component.c : added files - implementation of
3338 bonobo wrapper object for Accessibility/Component
3339 * libspi/listener.c :
3340 Added test code to check for Accessibility/Component:1.0
3341 interface and report whether it is implemented by the
3343 * libspi/registry.c :
3344 Now we check for not only the hash of the whole event
3345 string before relaying the event, we also check the
3346 "minor" event string (without the detail string).
3347 This allows event listeners to be registered against
3348 all events of a certain major+minor type, or just
3349 against a specific major+minor+detail type.
3350 * libspi/accessible.c :
3351 Added implementations for Accessible:get_parent(),
3352 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3353 * libspi/registry.c :
3354 * libspi/listener.c :
3355 Replaced calls to Accessibility_Accessible_ref() and
3356 Accessibility_Accessible_unref() with
3357 calls to bonobo_object_dup_ref() and
3358 bonobo_object_release_unref(), so that the CORBA object
3359 is dup-ed and released when relayed, as well as the bonobo object.
3361 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3363 * libspi/Makefile.am,
3364 registryd/Makefile.am,
3365 at-bridge/Makefile.am.
3366 test/Makefile.am, configure.in:
3367 reverse previous changes.
3369 * /idl/Image.idl: fix typo.
3371 * test/Makefile.am: put DEBUG_FLAGS
3374 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3376 * test/app.c: use argv[0] instead of
3379 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3381 * libspi/Makefile.am,
3382 registryd/Makefile.am,
3383 at-bridge/Makefile.am.
3384 test/Makefile.am, configure.in:
3385 cleanup, replace individual LIBS/CFLAGS with
3386 AT_COMMON_{LIBS|CFLAGS}.
3390 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3392 * configure.in, libspi/Makefile.am:
3393 Change IDL path checking for bonobo-activation
3396 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3398 * registryd/registry.c : separated event listeners to use
3399 3 separate lists (focus, window, toolkit). Began testing
3400 event names against hashes before relaying events.
3401 * test/at.c : now register for events of type "focus:"
3402 * test/app.c : now generate events of type "focus:"
3403 * at-bridge/bridge.c : register with ATK for focus events,
3404 and we now relay those focus events to any "focus:" listeners.
3405 This now works with the bridge as a GTK_MODULE when running test/at.
3406 * libspi/registry.c :
3407 * libspi/listener.c :
3408 now we ref event sources before propagating, and unref on receipt.
3409 * libspi/registry.c :
3410 some changes to internal structs, to support event typestring hashes.
3411 * text/app.c : changed the way the appname is generated.
3412 * cspi : added directory that will hold the C bindings library for
3413 non-CORBA/bonobo-savvy clients.
3414 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3415 * idl/Component.idl : added in parameter to indicate coord system for
3416 geometry-related calls.
3417 * idl/Hyperlink.idl : added readonly n_links attribute
3418 * idl/Image.idl : changed methods to attributes.
3420 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3422 * at-bridge/Makefile.am: link against
3423 ../libspi/libspi.la instead of -lspi.
3425 * at-spi/test/app.c: include
3426 bonobo-activation.h. Use a default appname
3427 if one is not provided.
3429 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3431 * idl/Registry.idl : temporarily changed register_Application
3432 to oneway, to work around issue with initial registration
3434 * idl/Application.idl : changed attribute "id" from readonly
3435 to read-write, since it needs to be assigned by Registry.
3436 * registryd/registryd.c : added call to set application id
3438 * registryd/registry.c : changed de-registration procedure to
3439 use CORBA_Object_hash() to find matching object ref in application
3440 lists and listener lists.
3441 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3442 began distinguishing between event types (work in progress).
3444 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3447 * libspi/application.c:
3448 Added implementations for get/set id, get_toolkitName,
3450 * registryd/registryd.c :
3454 Converted from use of OAF to bonobo-activation.
3455 * libspi/desktop.h :
3456 * libspi/desktop.c :
3458 Removed references to atksimpleobject, since base atkobject
3459 implementation now provides functionality we need.
3460 * libspi/atksimpleobject.c :
3461 * libspi/atksimpleobject.h :
3466 * at-bridge/Makefile.am
3467 * at-bridge/bridge.c
3470 Added directory "bridge" and contents, and added dependencies
3471 in Makefile.am/configure.in.
3472 Initial checkin of "at-bridge".
3473 This code is a GTK_MODULE which automatically registers
3474 GTK+ apps with the accessibility registry, using an object
3475 reference to the root ATK object.
3477 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3479 * po/Makefile.in.in: Remove. Again. If this
3480 doesn't get autogenerated - you need to update
3483 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3485 * po/Makefile.in.in: Add. Again.
3487 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3489 * libspi/accessible.c : added support for 'description' property.
3490 * libspi/accessible.c
3492 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3493 (since the two are now equivalent in libbonobo)
3501 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3502 Bonobo::Unknown as does Accessibility::Accessible.
3503 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3504 interface with Bonobo::Stream, since it was redundant with it.
3505 (The Stream returned by a StreamableContext object is expected to
3506 implement only a subset of Bonobo::Stream)
3508 2001-07-28 Anders Carlsson <andersca@gnome.org>
3510 * libspi/accessible.c (accessible_object_finalize): Change
3511 g_free to g_object_unref since the AtkObject is a GObject.
3513 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3515 * idl/Accessibility.idl: add new IDL files
3518 * idl/Action.idl: Definitions of actionable UI object
3519 * idl/Component.idl: Definitions of UI component geometry, etc.
3520 * idl/Hyperlink.idl: Defs of hyperlink behavior
3521 * idl/Image.idl: Def of accessible image
3522 * idl/Selection.idl: Definition of UI object with selectable children
3523 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3524 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3525 * idl/Text.idl: Interface defs for UI elements with complex textual content
3526 * idl/Value.idl: Definition of UI element that is a value controller or display
3528 2001-07-27 Michael Meeks <michael@ximian.com>
3530 * po/Makefile.in.in: remove autogenerated file from CVS.
3532 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3535 * idl/Registry.idl: include guard.
3537 * idl/Accessibility.idl: Add, and include all the other IDL
3540 * idl/*.idl: remove mass of pragmas etc.
3542 2001-07-26 Michael Meeks <michael@ximian.com>
3544 * registryd/Makefile.am (registryd_SOURCES): remove
3547 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3549 * libspi/.cvsignore, registryd/.cvsignore,
3550 test/.cvsignore: updated.
3552 * po/Makefile.in.in: gettext update.
3554 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3556 * initial CVS checkin
3558 2001-06-29 Michael Meeks <michael@ximian.com>
3560 * configure.in: add AM_CONFIG_HEADER to gen config.h