1 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
3 libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
4 implemented stateset support
6 idl/Accessibility_State.idl: Made necessary changes to the IDL to
9 2002-02-12 Bill Haneman <bill.haneman@sun.com>
11 * registryd/deviceeventcontroller.c:
12 Added implementation for generateMouseEvent.
14 * cspi/spi_registry.c:
15 Connected new implementation for generateMouseEvent
18 2002-02-12 Bill Haneman <bill.haneman@sun.com>
21 Incremented revision (but no change in public API
22 outside of 'utils', which are not installed public yet.)
25 Changed to use atk_component API for layers and
26 mdi_zorder, instead of deprecated atk_object API.
28 Magnification Utility Enhancements:
31 Added implementation of createZoomRegion, clearAllZoomRegions,
32 resizeZoomRegion. Added new commandline argument
33 "--no-initial-region". Note that clearAllZoomRegions doesn't
34 unmap the old '0' region as it should (yet), and the other
35 methods only work when creating/resizing a single region,
37 (Code for multiple region support will be added later.)
40 Now we raise the magnifier window each time it's refreshed;
41 this will help keep it on top.
44 Added simple wrappers for above, used by mag_control.
45 For general use, it's recommended to use the bonobo magnifier
46 control API directly instead of using these wrappers.
49 Moved ZoomRegionData from magnifier.c to this file.
52 Added some code to exercise new IDL implementations.
54 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
56 * libspi/text.c: Provide implementation for getAttributes.
58 2002-02-04 Bill Haneman <bill.haneman@sun.com>
64 Replaced use of deprecated g_main_iteration with
65 g_main_context_iteration.
67 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
70 Incremented revision for desktop alpha 2.
72 2002-01-28 Mark McLoughlin <mark@skynet.ie>
74 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
77 * test/simple-at.c: include netinet/in.h.
79 2002-01-24 Mark McLoughlin <mark@skynet.ie>
81 * cspi/spi_accessible.c: (Accessible_getRelationSet):
82 use NULL, not CORBA_OBJECT_NIL.
84 * libspi/accessible.c:
85 (impl_accessibility_accessible_get_relation_set):
86 allocate the sequence correctly.
88 * libspi/remoteobject.h: kill spi_remote_object_new.
90 * test/test-simple.c: (validate_accessible): add code
91 to test relation sets, now all we need is to figure
92 out how to excercise this code path :/
94 2002-01-18 Michael Meeks <michael@ximian.com>
97 (key_listener_cb): consume the key.
98 (test_keylisteners): update.
99 (main): wait for any pending unrefs on events.
101 * registryd/deviceeventcontroller.c
102 (spi_controller_update_key_grabs): only re-issue the
103 grab on a key release.
104 (spi_device_event_controller_forward_key_event):
105 refresh the keygrabs before we notify the listeners,
106 to reduce the X ungrab / re-grab race.
107 (spi_controller_register_with_devices): remove
108 XSelectInput - we do that with the gdk_window_ call.
109 (_spi_controller_device_error_handler): return a value.
110 s/GDK_DISPLAY/spi_get_display/
112 2002-01-17 Michael Meeks <michael@ximian.com>
114 * registryd/deviceeventcontroller.c
115 (_deregister_keygrab): don't blow out the later
118 * test/test-simple.c (test_keylisteners): do a
119 more intelligent validation.
121 2002-01-14 Michael Meeks <michael@ximian.com>
123 * atk-bridge/bridge.c
124 (gnome_accessibility_module_init),
125 (gnome_accessibility_module_shutdown): impl.
126 (gtk_module_init): protect vs. double inits.
127 (add_signal_listener): impl.
128 (spi_atk_bridge_state_event_listener): kill
129 (deregister_application): split out of
130 (spi_atk_bridge_exit_func): here.
132 2002-01-18 Bill Haneman <bill.haneman@sun.com>
135 Added caret tracking when using magnifier, and
136 now use text bounds for focus tracking of text elements, rather than
137 the component bounds - this is helpful for short text fields in long
138 table cells, at high magnification.
140 2002-01-16 Bill Haneman <bill.haneman@sun.com>
142 * registryd/deviceeventcontroller.c:
143 Regression fix for keylistener de-registration; global keygrabs
144 were not being released when deregisterKeystrokeListener was
145 called in cspi, since
146 Accessibility_DeviceEventController_deregisterKeystrokeListener
147 was called with a zero-length keyset. That is because the cspi
148 method, SPI_deregisterKeystrokeListener, does not take a keyset
149 parameter but instead should remove all the key grabs held be a
151 The code in impl_deregister_keystroke_listener was changed to copy
152 the keylist from the listener instance previously registered with
153 the DeviceEventController before releasing the grabs.
155 * registryd/registry.c:
156 * registryd/deviceeventcontroller.c:
157 * libspi/spi-private.h:
159 Changed spelling of "re-enterant" to "re-entrant" globally.
161 2002-01-16 Bill Haneman <bill.haneman@sun.com>
163 * test/test-simple.c:
164 Changed key listeners test - the test was slightly mis-using the
165 (admittedly poorly documented) SPI_generateKeyboardEvent API.
166 It now uses '=' as the key event listened to and generated,
167 relying on a keysym match rather than assuming that keycode 33
168 is always equal to keysym '!'.
170 2002-01-15 Bill Haneman <bill.haneman@sun.com>
173 Changed simple-at to use a specific keyset, rather than
174 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
175 manager, desktop, etc.
177 2002-01-11 Bill Haneman <bill.haneman@sun.com>
179 * registryd/deviceeventcontroller.c:
180 Replaced standard X error handler with a special handler that
181 is non-fatal for failed keygrabs. This works around
182 problems with keygrab clashes sometimes observed on
184 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
185 mouse handling code as yet).
187 2002-01-11 Bill Haneman <bill.haneman@sun.com>
190 Incremented revision for desktop alpha release.
193 Fixed a couple of the more glaring errors (still not
196 2002-01-11 Michael Meeks <michael@ximian.com>
198 * registryd/deviceeventcontroller.c
199 (spi_device_event_controller_forward_key_event): kill
200 XUngrabKey / XKeyGrab race.
201 (spi_controller_grab_keyboard): rename to
202 (spi_controller_update_key_grabs): this, and deal
203 with incremental adding / removing grabs more
205 (_register_keygrab): ensure we're not pending a remove.
206 (spi_grab_mask_free): impl.
207 (spi_controller_register_global_keygrabs): split out
209 (handle_keygrab): impl.
210 (_deregister_keygrab): impl.
211 (spi_controller_deregister_global_keygrabs): impl.
212 (spi_controller_update_key_grabs): re-issue the grab if
213 we just recieved a notification.
215 * test/test-simple.c (key_listener_cb): remove debug.
217 * registryd/deviceeventcontroller.c
218 (spi_controller_register_device_listener): after
219 registering a global keygrab, actualy register it !
220 don't wait for a timeout; doh !
222 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
223 to make it more readable / manipulable.
224 s/grabmask/grab_mask/ s/refcount/ref_count/
225 s/keyval/key_val/ s/modmask/mod_mask
227 2002-01-08 Michael Meeks <michael@ximian.com>
229 * registryd/deviceeventcontroller.c
230 (spi_controller_register_with_devices): use gdk calls to
232 (global_filter_fn): implement the filter.
233 (spi_device_event_controller_check_key_event): rename to
234 (spi_device_event_controller_forward_key_event): this & upd.
235 (spi_get_display): replace with GDK_DISPLAY.
237 * registryd/deviceeventcontroller.c
238 (spi_controller_deregister_device_listener): unroll into
239 (impl_deregister_keystroke_listener): here to simplify.
240 (spi_controller_register_global_keygrabs): split cut and
241 paste (!) out into (_register_keygrab): here, shorter & sweeter.
242 (spi_controller_deregister_device_listener): remove.
243 (impl_register_mouse_listener): remove, no mouse listener
244 support in at-spi-1.0
246 * registryd/registry.c
247 (_device_event_controller_hook): kill.
248 (spi_registry_init): upd.
250 * registryd/deviceeventcontroller.c
251 (spi_device_event_controller_class_init): upd.
252 (spi_check_key_event): merge into.
253 (spi_device_event_controller_check_key_event):
254 here and kill strange static ev init, don't leak
255 the x_event - nor dynamicaly allocate it.
257 * registryd/registry-main.c (main): re-direct
258 timeout to remove strange vtable mess.
260 * registryd/deviceeventcontroller.c
261 (remove_listener_cb): impl.
262 (spi_controller_deregister_device_listener):
263 fix re-enterancy hazard.
265 2002-01-07 Michael Meeks <michael@ximian.com>
267 * registryd/deviceeventcontroller.c
268 (spi_device_event_controller_new): upd.
269 (impl_notify_listeners_sync): upd. debug.
270 (spi_notify_keylisteners): fix re-enterancy hazards,
271 prettify, remove O(n*n) iteration.
272 (spi_controller_grab_keyboard): fix iteration.
273 (spi_check_key_event): re-format to suit coding style.
274 Clean all the warnings - we're warning free.
276 * registryd/deviceeventcontroller.h:
277 * registryd/registry.h: make mutualy referential with
278 typesafe forward references instead of (!) void pointer
281 2002-01-11 Michael Meeks <michael@ximian.com>
283 * cspi/spi_accessible.c (role_names): add a role name
284 to sync this array with the enum; and make the regression
287 2002-01-10 Michael Meeks <michael@ximian.com>
289 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
290 allow expansion of enumeration & kill warning.
292 * test/test-simple.c (key_listener_cb): impl.
293 (test_keylisteners): impl.
295 * cspi/spi-listener.h: make listener signatures const
296 on the provided (const) events.
298 * test/keysynth-demo.c: upd. to const events.
300 * test/simple-at.c: ditto.
302 2002-01-11 Bill Haneman <bill.haneman@sun.com>
305 Rev the version to 0.5 (the previous tarball was named 0.4,
306 even though the micro number was 3), so we need to rev upwards
307 again for beta2/"desktop-alpha"
310 Checked in a demo script, which requires editing before use!
311 Proceed with caution.
314 Fixed typo in header which was redefining SPI_ACTION_CLASS.
316 * cspi/spi_accessible.c:
317 Add a couple of missing enum initializations, and fix some enum
320 * cspi/spi_registry.c:
321 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
323 * docs/reference/cspi/at-spi-cspi-sections.txt:
324 Remove/fix a couple of broken document references.
327 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
328 as Alt-Control to listen for commands, since on some systems
329 Control-Alt may already be grabbed.
331 2002-01-10 Bill Haneman <bill.haneman@sun.com>
334 Update version number to 0.4 for Beta2.
336 * libspi/accessible.c, libspi/accessible.h:
337 Expose spi_accessible_construct, to enable libgail-gnome
338 construction from spi_accessible subtype.
341 Workaround for bug in some non-gnome-compliant window managers
342 which made magnifier resize improperly.
344 2002-01-09 Bill Haneman <bill.haneman@sun.com>
346 * libspi/accessible.c: (spi_accessible_new) :
347 Move the test for SPI_IS_REMOTE_OBJECT to
348 spi_accessible_new_return, fixing a bug and compile time warning.
350 2002-01-08 Michael Meeks <michael@ximian.com>
352 * registryd/registry.c (parse_event_type): remove strndup.
354 * libspi/Makefile.am (libspi_la_SOURCES): remove
355 sources already included in the headers section.
357 * libspi/util.c: add.
359 * libspi/spi-private.h: add.
361 * registryd/registry.c: update to moved list iterators.
363 2002-01-05 Michael Meeks <michael@ximian.com>
365 * test/simple-at.c (main): upd. auto-module set to atk-bridge
367 * test/test-simple.c (main): ditto.
369 2002-01-04 Michael Meeks <michael@ximian.com>
371 * libspi/accessible.c (spi_accessible_new): remove 2nd,
374 * registryd/registry.c
375 (get_listener_list): impl.
376 (impl_accessibility_registry_register_global_event_listener):
377 re-impl. to simplify using ~, remove dodgy const cast off.
378 (parse_event_type): constify.
379 (impl_accessibility_registry_deregister_global_event_listener_all):
380 re-write, more efficiency and simplicity, kill re-enterancy
382 (compare_listener_corbaref, compare_corba_objects),
383 (compare_listener_quarks): define out.
384 (impl_accessibility_registry_deregister_global_event_listener):
385 re-write for effiency, and nail re-enterancy hazard.
386 (impl_accessibility_registry_get_desktop_list): impl.
387 (re_enterant_list_delete_link): impl.
388 (re_enterant_list_foreach): impl.
389 (remove_listener_cb): impl.
390 (_registry_notify_listeners): kill.
391 (notify_listeners_cb): impl.
393 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
394 (SPI_getDesktopList): impl.
396 * test/test-simple.c (test_desktop): test the methods.
398 2002-01-03 Michael Meeks <michael@ximian.com>
400 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
401 keystrings since we free them
402 (SPI_freeAccessibleKeySet): in here.
404 * libspi/accessible.c (spi_accessible_new): kill warning,
405 wonder what is going on with the constructor here.
407 2002-03-01 Bill Haneman <bill.haneman@sun.com>
409 * libspi/accessible.c (spi_accessible_new ()) :
410 Added check to see if AtkObject is an SpiRemoteObject before
411 creating an SpiAccessible.
413 2002-05-01 Bill Haneman <bill.haneman@sun.com>
415 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
416 Enable keygrabs using the Control modifier, now that they are
417 working properly (they were previously disabled).
420 Change the command keygrab for this demo to "Control+Alt", so as
421 to conflict with fewer other key commands on the system; this
422 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
424 Removed a pointlessly-chatty keylistener for unshifted keys
425 (shifted keys are still reported).
427 2002-02-01 Bill Haneman <bill.haneman@sun.com>
429 * libspi/remoteobject.h:
430 * libspi/remoteobject.c:
431 Added definitions for special AtkObject subtype, required for
432 support of remote components (specifically, used by BonoboControl
433 accessibility implementation).
435 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
437 * cspi/spi.h: synched relation types with ATK
439 * cspi/spi_accessible.c: Added implementations of
440 AcccessibleRelation_* methods
442 * idl/Accessibility_Relation.idl: added getRelationTypeName
443 method. Synched known relation types with ATK. Allowed for
444 relation type extension with the RELATION_EXTENDED type.
446 * libspi/relation.c: Provided implementations for
447 AccessibleRelation methods.
449 2002-01-01 Bill Haneman <bill.haneman@sun.com>
451 API tweaks for today's API 'freeze'.
454 Added placeholder functions to allow future compatible expansion
455 of the IDL interfaces.
457 * idl/Accessibility_Registry.idl:
458 Changed generateKeyEvent to generateKeyboardEvent. Changed
459 signature of this method to accept an optional keystring in
460 parameter (for complex text input synthesis) and changed use of
461 simple 'boolean' parameter in registerKeystrokeListener to a
462 struct, EventListenerMode.
464 * cspi/spi_accessible.c:
466 * cspi/spi_streamablecontent.c:
467 Added references to AccessibleStreamableContent interface, and
468 definition and implementation of AccessibleStreamableContent
471 * cspi/spi_registry.c:
473 Changed generateKeyEvent API to generateKeyboardEvent,
474 taking a new (optional) keystring parameter to support complex
479 Renamed directory (to better reflect its actual purpose, bridging
480 from at-spi to ATK). The .so module is also now named
483 * idl/Accessibility_Hypertext.idl:
484 * libspi/accessible.c:
485 * libspi/hypertext.h:
486 * libspi/hypertext.c:
487 Changed Accessibility_Hypertext to *not* derive from
490 * cspi/spi_registry.c:
491 Added list of legal event type names for 'window' events, which
492 completes the registry event API.
494 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
496 * at-bridge/bridge.c: Added registration for separate
497 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
498 signals. If either of the first two parameters to the generic
499 bridge signal handler are ints, they are passed on as event
500 details. This allows an AT to determine what text was inserted.
502 2001-12-21 Bill Haneman <bill.haneman@sun.com>
504 * registryd/deviceeventcontroller.c:
505 Fixed regressions in generateKeyEvent caused by the removal of
506 gdk_init from registryd; we now use pure X calls to connect to the
507 display, which makes sense because deviceeventcontroller already
508 uses a fair bit of X API (should eventually be migrated to a
509 'portability layer').
511 * registryd/desktop.c:
512 Fixed minor regression in spi_desktop_init, changed the way the
513 desktop name is being set to work with new spi_base API
514 (gobject-based, rather than AtkObject-based).
516 * registryd/Makefile.am:
517 Minor revision of makefile to use XTST_LIBS variable rather than
518 hard-wiring the Xtst LD_ADD element.
520 * test/keysynth-demo.c:
521 Tweaked an output message; added initialization of the
522 'keystrings' member of the "switch listener" key_set.
525 Squashed compile-time warning.
527 * libspi/accessible.c:
528 Cosmetic and formatting fixes, renamed a static method.
530 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
532 * libspi/accessible.c
534 * libspi/application.c
538 * libspi/editabletext.c
546 * registryd/desktop.c:
547 Changed SpiBase to contain a GObject pointer rather than an AtkObject
549 2001-12-17 Bill Haneman <bill.haneman@sun.com>
551 * idl/Accessibility_Registry.idl:
552 Added boolean member 'is_text' to DeviceEvent. This is for the
553 use of key events, and helps prevent ambiguity between composed
554 key strings and keysym names, since both may potentially be
555 returned in the 'event_string' member.
557 * at-bridge/bridge.c:
558 * registryd/deviceeventcontroller.c:
559 Use the 'is_text' member when notifying device event listeners.
560 Knon issue: composed characters are not dealt with correctly by
561 the global key listener implementation yet.
563 2001-12-17 Bill Haneman <bill.haneman@sun.com>
565 * at-bridge/bridge.c:
566 Namespaced local static methods to spi_atk_bridge_* where
567 previously named bridge_*, and spi_* elsewhere.
569 * at-bridge/bridge.c:
570 * cspi/bonobo/cspi-bonobo-listener.c:
571 Added demarshalling/conversion for string member of
572 Accessibility_DeviceEvent to AccessibleKeystroke.
574 * registryd/deviceeventcontroller.c:
575 Added code to fill the Accessibility_DeviceEvent key string value
576 member for global key events (i.e. from XGrabKey), to match
577 behavior of Accessibility_DeviceEvent from the toolkit key events
578 from the bridge. Fixed timestamp in global key event notifications.
581 Added printout of key event's string value to
582 report_ordinary_key_event, for demo/debugging purposes.
584 2001-12-15 Bill Haneman <bill.haneman@sun.com>
586 * idl/Accessibility_Registry.idl:
587 Removed Accessibility_KeyStroke structure in favor of generic
588 Accessibility_DeviceEvent structure.
589 Changed Accessibility_ControllerEventMask from a struct to an
592 * at-bridge/bridge.c:
593 Changed APIs to use DeviceEvent structure as above, and removed
594 bogus casting between these event structures.
596 * cspi/spi-listener.h:
597 Added keystring member of AccessibleKeystroke structure, to enable
598 matching on event "names" rather than only hardware codes and
602 Added keystrings member of AccessibleKeySet struct, to allow
603 matching on event names (as above).
604 Added declarations for SPI_createAccessibleKeySet and
605 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
606 event modmasks directly as unsigned ints rather than structs with
607 refcounts, in the DeviceEventController methods.
609 * cspi/spi_registry.c:
610 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
612 * cspi/spi-roletypes.h:
613 Added documentation of newly added SPI Roles.
615 * cspi/bonobo/cspi-bonobo-listener.c:
616 Changes in support of API changes above.
618 * libspi/accessible.c:
619 Converted APIs to use DeviceEvent structure (see IDL changes
622 * registryd/deviceeventcontroller.c:
623 Added DEControllerGrabMask structure to track keygrabs not only by
624 modmask but by keyset as well; this allows us to do "global"
625 (i.e. X) keygrabs on a per-key or keyset basis rather than always
626 grabbing on AnyKey and then filtering after-the-fact.
627 Bugfixes for event filtration mean that we don't get false matches
628 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
630 * registryd/deviceeventcontroller.c:
631 Namespaced a number of static methods to use spi_ prefix. Major
632 revision to internals of global (i.e. X) key grabs.
634 * registryd/deviceeventcontroller.h:
635 Removed keymask_list and added keygrabs_list to
636 SpiDeviceEventController struct.
639 Added use of SPI_createAccessibleKeySet API when creating a
640 listener for only one key. Attach a listener to "shift spacebar
641 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
642 X key event names to SPI key event names, so that listeners are
643 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
645 * test/keysynth-demo.c:
646 Changed (incorrect) use of X key event names (KeyPressed,
647 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
650 2001-12-12 Bill Haneman <bill.haneman@sun.com>
652 * libspi/accessible.c:
653 Convert all AtkRole enumerations to Accessibility_Role enums when
654 getting a role from an AtkObject.
656 * cspi/spi_accessible.c:
657 Complete the conversion of Accessibility_Role enums at runtime to
658 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
659 role enums correctly match those given in spi-roletypes.h.
660 Re-synchronize the local names list for AccessibleRole_getName ().
661 AccessibleRole_getName is now deprecated, since it duplicates the
662 more reliable Accessible_getRoleName.
663 Added some role types from Accessibility_Role.idl.
665 * idl/Accessibility_Role.idl:
666 Added some role types used by AtkRole.
668 2001-12-12 Bill Haneman <bill.haneman@sun.com>
671 * cspi/spi_registry.c:
673 * cspi/cspi-bonobo-listener.c:
674 Namespaced all methods that did not begin with an "SPI_" or
675 "Accessible" prefix to "SPI_".
678 Homogenized internal function namespace to "cspi_" for statics.
681 Patched tests to use the new CSPI API.
683 * docs/reference/cspi/at-spi-cspi-sections.txt:
684 Updated docs to reflect namespace changes, and added a number of
685 methods to the documentation.
687 * registryd/registry.c:
688 Changed use of strings and string hashes in listener event
689 matching and parse_event_string to use GQuark, which is guaranteed
692 * registryd/registry.h:
693 Squashed annoying warning.
695 * idl/Accessibility_Role.idl:
696 Extended range of available Accessibility_Role values.
698 * cspi/spi_accessible.c:
699 Re-ordered role names.
701 2001-12-12 Bill Haneman <bill.haneman@sun.com>
703 * idl/Accessibility_Value.idl:
704 Revert use of union back to CORBA_double, since the double type is
705 more efficient and can contain the other types without loss of
708 * idl/Accessibility_Accessible.idl:
709 Added method Accessibility:Accessible:getRoleName, to complement
710 Accessibility:Accessible:getRole.
712 * cspi/spi_accessible.c:
714 Added C binding for above, Accessible_getRoleName (), and changed
715 signature of Accessible_getRole () to return an AccessibleRole.
717 * cspi/spi-roletypes.h:
718 Changed AccessibleRole_getName to return a char * instead of a
719 const char *. This method is now at least temporarily deprecated
720 in favor of asking Accessibles for their RoleNames directly.
723 Revert to match Accessibility_Value.idl;
727 Change signature of AccessibleValue methods to use double rather
731 * cspi/spi_accessible.c:
732 Changed Accessible_getRole to return an AccessibleRole enum rather
733 than a UTF-8 string. The UTF-8 string can still be obtained via
734 AccessibleRole_getName ().
736 * test/test-simple.c:
737 Add test_action. Small fixup to match API change to Accessible_getRole.
740 Bugfix for get_action_from_servant ().
742 2001-12-11 Michael Meeks <michael@ximian.com>
744 * libspi/libspi.h: remove registry.h and
745 desktop.h, deviceeventcontroller.h
747 * libspi/Makefile.am: remove registry.[ch],
748 desktop.[ch], deviceeventcontroller.[ch]
750 * registryd/Makefile.am: add registry.[ch],
751 desktop.[ch], rename registryd.c to registry-main.c.
752 add deviceeventcontroller.[ch]
754 2001-12-11 Bill Haneman <bill.haneman@sun.com>
757 Replace setenv() call with putenv ().
759 * libspi/component.c:
760 Bugfix in AccessibleComponent_getExtents (),
763 2001-12-11 Michael Meeks <michael@ximian.com>
765 * libspi/image.c (impl_getImageExtents): impl.
766 (spi_image_class_init): upd.
769 (AccessibleImage_getImageDescription): fix daft bug
772 * test/test-simple.c (global_listener_cb): update
773 to only quit if not --poke
774 (main): catch --poke.
775 (validate_accessible): upd. dumping, call test_image
778 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
781 * idl/Accessibility.idl: update all IDL includes.
783 * idl/*.idl - rename to namespace - this sucks, blame
784 mjs' bad decision for oafd.
786 * test/test-simple.c (create_test_window): add more tests.
787 (create_tree): split this out.
788 (validate_accessible): bugfix.
790 2001-12-11 Michael Meeks <michael@ximian.com>
792 * cspi/bonobo/cspi-bonobo-listener.c:
793 (cspi_kestroke_listener_unref),
794 (cspi_event_listener_unref): impl. undoing previous
795 homenous environment - for Bill.
797 * cspi/spi_table.c (long_seq_to_array): use
800 * cspi/spi_main.c: split out all bonoboish bits into
803 * cspi/spi-impl.h: upd. typedefs.
805 * cspi/spi_registry.c: update to lowlevel API,
806 return booleans to indicate success in some places.
808 * cspi/spi_event.c: update to lowlevel API.
810 * cspi/bonobo/Makefile.am: add.
812 * cspi/bonobo/cspi-lowlevel.h: add
814 * cspi/bonobo/cspi-bonobo.c: add
816 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
818 * cspi/Makefile.am: remove spi-listener-impl.[ch],
819 (SUBDIRS): add bonobo, link in the libs.
821 * cspi/spi-util.c: kill this file.
823 * TODO: merge in my bits.
825 2001-12-11 Michael Meeks <michael@ximian.com>
827 * test/test-simple.c (test_value, test_table, main):
828 remove unused variables causing warnings.
830 * configure.in: cleanup checks - require gail.
832 2001-12-11 Bill Haneman <bill.haneman@sun.com>
835 Changed Value interface to use SValue (scalars) rather than
836 assuming all values are floats. This allows floats, doubles,
837 longs, shorts, and unsigned values to be manipulated.
838 Introduced Accessibility:SValue union.
841 Updated to use new API above, and to work correctly with GValues
842 of different types in AtkValue.
845 Updated to use new API above. cspi's API is as yet unchanged.
848 Updated the Value revision action item.
850 2001-12-10 Bill Haneman <bill.haneman@sun.com>
852 * test/test-simple.c:
853 Added test_table (GtkTreeView widget in test window to follow).
854 Un-commented test_value, added GtkRange widget.
855 Added GtkTreeView widget with GtkListStore. It passes regression
856 test but leaks one SPI object for some reason.
859 Fixed bug in impl__set_currentValue.
861 2001-12-10 Michael Meeks <michael@ximian.com>
863 * cspi/spi_text.c: audit for exception handling,
864 tolerating NULL object references safely etc.
866 * cspi/spi_value.c: ditto.
868 * cspi/spi_table.c (AccessibleTable_getSummary),
869 (AccessibleTable_getAccessibleAt),
870 (AccessibleTable_getRowHeader),
871 (AccessibleTable_getColumnHeader),
872 (AccessibleTable_getCaption): fix bugs hidden by
874 (long_seq_to_array): impl.
875 (AccessibleTable_getSelectedRows),
876 (AccessibleTable_getSelectedColumns): use it.
878 2001-12-10 Bill Haneman <bill.haneman@sun.com>
881 Added a TODO list (rough and short for now).
883 * cspi/spi_hyperlink.c:
884 * cspi/spi_hypertext.c:
885 Fixed macro name typos, and remove use of obsolete macro in
886 AccessibleHyperlink_getLink.
889 * cspi/spi_accessible.c:
890 * cspi/spi_application.c:
891 * cspi/spi_component.c:
892 * cspi/spi_selection.c:
895 Documentation fixes (removed return values from ref/unref methods).
897 2001-12-10 Michael Meeks <michael@ximian.com>
899 * cspi/spi_action.c: audit for exception handling,
900 tolerating NULL object references safely etc.
902 * cspi/spi_accessible.c: ditto.
904 * cspi/spi_component.c: ditto.
906 * cspi/spi_editabletext.c: ditto.
908 * cspi/spi_hyperlink.c: ditto.
910 * cspi/spi_hypertext.c: ditto.
912 * cspi/spi_image.c: ditto.
914 * cspi/spi_selection.c: ditto.
916 2001-12-10 Michael Meeks <michael@ximian.com>
918 * configure.in: use cspi/libspi.pc.in instead.
920 * Makefile.am (pkgconfig_DATA): upd. to match.
922 * test/simple-at.c (report_focus_event): kill hacks around
923 bad return values, use putenv not setenv
925 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
926 fire ChildGone - I killed it.
929 (impl_accessibility_component_get_extents): remove
932 * idl/Accessible.idl: kill ChildGone exception.
934 * cspi/*.[ch]: kill int return from ref / unref.
936 * cspi/spi_main.c (cspi_object_add_check): fold into
937 (cspi_object_add): here.
939 * cspi/spi_component.c (AccessibleComponent_getExtents):
940 handle exceptions elegantly.
942 * cspi/spi-private.h (cspi_check_ev_return),
943 (cspi_return_if_fail): impl.
945 * cspi/spi_accessible.c: use extensively.
946 (AccessibleStateSet_equals): add direct compare check.
948 * cspi/spi_selection.c: tolerate NULL objs, and check
949 exceptions before return.
951 * cspi/spi-util.c (cspi_warn_ev): rename to
952 (cspi_check_ev): this & don't pass ev in; no point.
954 2001-12-10 Michael Meeks <michael@ximian.com>
956 * test/test-simple.c: use putenv not setenv
957 (get_environment_vars): more chatty if you're not using
960 * test/simple-at.c: do the setenv so more people see the
963 2001-12-10 Bill Haneman <bill.haneman@sun.com>
966 Changed check of CORBA_environment on notification to be a warning
967 instead of an error for the moment, since we can recover from this
968 error when caused by a queued notification from a dead app.
971 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
972 used by all current implementors of AtkValue), and coerce to
973 CORBA_float. (Proper general case fix may require change to Value.idl).
975 2001-12-09 Bill Haneman <bill.haneman@sun.com>
979 * cspi/spi_accessible.c:
980 Documentation fixes: added user_data params to documentation for
981 listeners and callbacks.
983 * cspi/spi_accessible.c:
984 Changed AccessibleStateSet_compare to return a
985 StateSet rather than return the difference set into a third parameter.
988 2001-12-09 Bill Haneman <bill.haneman@sun.com>
991 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
992 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
996 Remove subdirectory po from SUBDIRS for now.
998 * at-bridge/bridge.c:
999 Beefed up a couple of debug printouts.
1000 One-line fix for signal notification name formatting.
1002 * libspi/accessible.c:
1003 Added assertion to spi_accessible_new ().
1005 * libspi/application.c:
1006 Put #ifdef qualifiers around a printf.
1009 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1011 * registryd/Makefile.am:
1013 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1014 INTLTOOL_SERVER_RULE macro.
1017 Added an event listener for several ATK signals, for
1018 testing and debugging. Removed a few g_warnings.
1019 Added test output if focussed item implements the Value interface.
1021 * test/test-simple.c:
1022 Added test_value () function (known not to pass at the moment, so
1023 not actually called yet.
1025 2001-12-08 Michael Meeks <michael@ximian.com>
1027 * at-bridge/bridge.c (bridge_focus_tracker),
1028 (emit_eventv): fix the same ref. leak.
1029 (register_atk_event_listeners): don't leak.
1031 * cspi/spi-listener-impl.c (cspi_event): more
1032 protection from client code.
1034 * test/test-simple.c (test_desktop): unref the app.
1036 * test/Makefile.am: upd. TESTS.
1038 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1040 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1042 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1044 * cspi/spi_registry.c: constify in strings.
1045 (deregisterGlobalEventListenerAll): don't release the ref.
1047 * cspi/spi.h: start removing redundant / conflicting
1048 gtkdoc comments, making the API readable at a glance :-)
1050 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1052 * test/keysynth-demo.c (keysynth_exit, main): upd.
1054 * test/simple-at.c (main, simple_at_exit): upd.
1056 * test/test-simple.c (unutterable_horror): kill.
1057 (utterable_normal_derefs): kill.
1058 (main): upd & do a setenv before gtk_init, so that we
1059 can use memprof - and to save the pain of remembering
1060 this, if we're running under memprof - don't exit.
1062 * cspi/spi_main.c (SPI_exit): return exit status
1064 (SPI_event_quit): impl.
1065 (SPI_event_main): simplify.
1066 (cspi_is_gnome_app): kill.
1067 (SPI_init): kill isGNOMEapp arg.
1069 * at-bridge/bridge.c (register_atk_event_listeners):
1070 re-instate the unref.
1071 (bridge_exit_func): don't re-activate the registry,
1072 protect vs. theoretical re-entry, use the
1073 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1074 assert a clean shutdown - for regression tests.
1076 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1078 * configure.in: Comment out dummy i18n support for now,
1079 otherwise it fails to build.
1080 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1081 EXTRA_DIST. They are missing in tarball.
1083 2001-12-07 Michael Meeks <michael@ximian.com>
1085 * util/magnifier.c: kill bonobo activation reg. race.
1087 * libspi/component.c
1088 (impl_accessibility_component_get_extents): make it match
1091 * libspi/registry.c (_registry_notify_listeners):
1092 re-remove X headers & reconcile conflicts.
1093 (spi_listener_struct_free): bad conflict resolve.
1094 (impl_accessibility_registry_register_application):
1095 more bad merging fixed.
1096 (impl_accessibility_registry_deregister_application): ditto.
1097 (spi_registry_new): ditto.
1098 (spi_registry_init): don't have an applications field.
1100 [ merge fixups2 branch to here ]
1101 2001-12-07 Michael Meeks <michael@ximian.com>
1103 * test/simple-at.c (report_focus_event),
1104 (report_focussed_accessible): remove g_warning debug.
1106 2001-12-07 Michael Meeks <michael@ximian.com>
1108 * test/test-simple.c (validate_tree): comment out some checks.
1109 (test_desktop): app now not registered idly - horay.
1111 2001-12-07 Michael Meeks <michael@ximian.com>
1113 * cspi/spi_registry.c
1114 (registerAccessibleKeystrokeListener): clean, stop it leaking
1115 great swathes of memory, and device event controller references.
1116 ensure we always pass valid sequences.
1117 (deregisterAccessibleKeystrokeListener): ditto.
1118 (generateKeyEvent): upd.
1120 * at-bridge/bridge.c (bridge_key_listener): handle
1121 registry dead exception gracefully.
1122 (bridge_focus_tracker, emit_eventv): free ev.
1124 * test/simple-at.c (report_focus_event): fix polarity.
1126 * libspi/application.c (notify_listeners): kill the ev
1127 argument, and make sure we init the ev we use.
1128 (spi_application_object_event_listener): split out a chunk
1129 (get_atk_object_ref): here & fixup.
1130 (reverse_lookup_name_for_toolkit_event): make const.
1131 (spi_application_toolkit_event_listener): fixup, kill leaks
1134 * at-bridge/bridge.c (register_atk_event_listeners):
1135 don't unref the noop object - causes grief.
1137 * libspi/registry.c: remove the X headers.
1138 turn off the debug churn.
1140 * libspi/accessible.c (spi_accessible_new_return): only
1141 release the ref if we are supposed to [doh]
1143 * test/simple-at.c (report_button_press, report_focus_event):
1144 guard vs. unexpected exit.
1146 * at-bridge/bridge.c (gtk_module_init): prune printf.
1147 (bridge_exit_func): fix app unref.
1149 * libspi/Makefile.am: don't install registry or desktop.h
1151 * libspi/*.h: update includes.
1153 * libspi/application.h: don't include ourself, or
1154 other redundant headers.
1156 2001-12-06 Michael Meeks <michael@ximian.com>
1158 * libspi/accessible.c
1159 (get_accessible_from_servant): impl.
1160 Upd. all CORBA impl.s to use it killing cut and paste.
1162 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1164 (SPI_init): register atexit cleanup handler here.
1166 2001-12-06 Michael Meeks <michael@ximian.com>
1168 * at-bridge/bridge.c (gtk_module_init): g_error on
1169 activation exception
1171 2001-12-06 Michael Meeks <michael@ximian.com>
1173 * at-bridge/bridge.c (gtk_module_init): some sort of
1174 confusing merge clash - reverted.
1175 (bridge_idle_init): ditto.
1177 * test/test-simple.c (main, utterable_normal_derefs):
1178 merge from Bill - somehow not committed.
1180 2001-12-06 Michael Meeks <michael@ximian.com>
1182 * libspi/value.c (spi_value_class_init): upd.
1183 (spi_value_finalize): kill.
1185 * libspi/table.c (spi_table_finalize): kill.
1186 (spi_table_interface_new): upd.
1187 (spi_table_class_init): upd.
1188 (get_table_from_servant): impl.
1189 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1191 * libspi/selection.c (spi_selection_finalize): kill.
1192 (spi_selection_interface_new): upd.
1193 (spi_selection_class_init): upd.
1194 (get_selection_from_servant): impl.
1195 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1197 * libspi/relation.c (spi_relation_finalize): kill.
1198 (spi_relation_class_init, spi_relation_new): upd
1200 * libspi/image.c (spi_image_finalize): kill.
1201 (spi_image_class_init): upd.
1202 (spi_image_interface_new): upd.
1203 (get_image_from_servant): impl.
1204 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1206 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1207 (spi_hyperlink_finalize): kill.
1208 (spi_hyperlink_new): upd.
1209 (get_hyperlink_from_servant): impl.
1210 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1212 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1213 (spi_hypertext_finalize): kill.
1214 (spi_hypertext_class_init): upd.
1215 (get_hypertext_from_servant): impl.
1216 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1218 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1219 (spi_editable_text_interface_new): upd.
1220 (get_editable_text_from_servant): impl.
1221 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1223 * libspi/text.c (get_text_from_servant): impl.
1224 All impls - update to use it killing more cut and paste,
1225 also fix bad string returns on duff args ( a somewhat
1226 impossible case to handle - but hey ).
1227 (spi_text_construct): impl.
1228 (spi_text_interface_new): upd.
1229 (spi_text_object_finalize): kill.
1231 * libspi/component.c
1232 (accessibility_component_object_finalize): kill.
1233 (spi_component_class_init): upd.
1234 (get_component_from_servant): impl. helper to kill cut & paste.
1235 (impl_accessibility_component_contains):
1236 (impl_accessibility_component_get_accessible_at_point):
1237 (impl_accessibility_component_get_position):
1238 (impl_accessibility_component_get_extents):
1239 (impl_accessibility_component_get_mdi_z_order):
1240 (impl_accessibility_component_get_layer):
1241 (spi_component_interface_new): upd.
1243 * libspi/action.c (spi_action_finalize): kill.
1244 (spi_action_class_init): upd. inherit from SpiObject.
1245 (spi_action_interface_new): upd.
1246 (get_action_from_servant): impl. helper to reduce cut & paste.
1247 (impl_getKeyBinding, impl_getName, impl_doAction),
1248 (impl_getDescription): Use it everywhere.
1250 * cspi/spi_main.c (get_live_refs): a pointer hash.
1251 (spi_object_hash, spi_object_equal): comment out.
1252 There are issues with CORBA object hashing that need
1255 * libspi/application.c (spi_application_init),
1256 (spi_application_new): upd.
1258 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1259 (spi_accessible_class_init): upd.
1260 s/accessible/object/ in epv methods.
1262 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1264 * at-bridge/bridge.c:
1265 Reorder the bridge initialization into the bridge gtk_module_init,
1266 an immediate call to bridge_register_app, and an idle_add for
1267 register_atk_event_listeners (the only code that *must* wait until
1268 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1269 the activation, creates the application's Accessible object, and
1270 queues the bridge_idle_init function. Restored call to
1271 Accessibility_Registry_deregisterApplication().
1272 Prior to making this call we obtain a new reference to the
1273 registry, which is a temporary hack that helps us handle apps that
1274 shut down the bonobo mainloop before we get there.
1276 * libspi/registry.c:
1277 Fix string leakage in debug block, and don't segv if a an app
1278 dies before its event notifications have been propagated.
1281 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1282 as stopgap measure until we get proper exception handling when
1283 objects die during or before interrogation.
1287 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1288 Also changed default value of is_gnome_app to TRUE.
1291 * test/keysynth-demo.c:
1292 Changed use of SPI_init and SPI_event_main to reflect API change above.
1295 Made report_focus_event check the warning value from getName
1296 before reporting on focussed accessible; simplifies handling of
1297 notifications from dead objects.
1299 * test/test-simple.c: (Changes not in this patch since source is
1302 2001-12-05 Michael Meeks <michael@ximian.com>
1304 * registryd/registryd.c (main): protect against
1305 bonobo-activation startup race condition.
1307 * cspi/spi_main.c (cspi_object_add_check): cope
1308 with the exception elegantly.
1310 * idl/Accessible.idl: decl. ChildGone
1312 * libspi/desktop.c (spi_desktop_dispose): impl.
1313 (spi_desktop_class_init): upd.
1314 (spi_desktop_add_application),
1315 (spi_desktop_remove_application),
1316 (abnormal_application_termination): impl.
1317 (impl_desktop_get_child_at_index): re-impl.
1320 (impl_accessibility_registry_deregister_application),
1321 (impl_accessibility_registry_register_application):
1322 kill excessive debug clutter.
1324 * test/test-simple.c (test_misc): test some NULL
1325 tolerance. (main): upd.
1327 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1328 implements no interfaces - so let's not crash.
1330 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1332 * libspi/accessible.c (spi_accessible_new_return): impl.
1333 helper to calm the cut and paste, to cope with
1334 NULL AtkObjects effectively and efficiently, and to kill
1335 the referencing bugs.
1337 * libspi/table.c (impl_getAccessibleAt),
1338 (impl_getRowHeader, impl_getColumnHeader): upd.
1340 * libspi/hyperlink.c (impl_getObject): upd.
1342 * libspi/accessible.c
1343 (impl_accessibility_accessible_get_child_at_index): upd.
1345 * libspi/component.c
1346 (impl_accessibility_component_get_accessible_at_point): upd.
1348 * test/test-simple.c (test_editable_text, test_text): impl.
1351 * cspi/spi_editabletext.c
1352 (AccessibleEditableText_insertText): constify.
1354 * test/test-simple.c (focus_me): make more robust.
1356 * libspi/accessible.c: remove some printfs in methods that
1357 we test and work fine, so we can get a clean tree dump.
1359 * test/test-simple.c (validate_accessible),
1360 (validate_tree): make tree dumping pretty too.
1362 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1363 it builds without debug on.
1365 * test/test-simple.c (validate_accessible): fix the most
1368 * cspi/spi_main.c (spi_object_release): leave the nicely
1369 blanked memory around if in debug mode.
1371 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1373 [committed to fixups2]
1374 2001-12-05 Michael Meeks <michael@ximian.com>
1376 * libspi/editabletext.c
1377 (spi_editable_text_class_init): g_type_class_peek_parent,
1378 not interface peek - so we finalize cleanly.
1380 * libspi/accessible.c (spi_accessible_new): kill debug.
1382 * test/test-simple.c (validate_accessible): fix ref.
1383 leak, print strings before freeing them; sigh, comment a
1384 chunk out due to strangeness.
1385 (validate_tree): unref the child after use.
1387 * cspi/spi_component.c (AccessibleComponent_getLayer):
1388 add missing break statement, switch on zlayer not the
1389 uninitialized retval.
1391 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1392 before (possibly re-entering) remote unref.
1394 * test/simple-at.c (main): unref the desktop.
1396 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1399 * cspi/spi_main.c (cspi_accessible_is_a): here to
1400 isolate bonobo API usage more.
1402 * libspi/registry.c (impl_accessibility_registry_register_application):
1403 prune bogus comment.
1405 2001-12-04 Michael Meeks <michael@ximian.com>
1407 * test/test-simple.c (validate_tree): upd.
1408 IndexInParent check to make it more lucid.
1409 (validate_accessible): dump the tree.
1411 * libspi/accessible.c (de_register_public_ref),
1412 (get_public_refs): impl.
1413 (spi_accessible_new): make more efficient & intuitive.
1414 Now IndexInParent check works.
1416 2001-12-04 Michael Meeks <michael@ximian.com>
1418 * cspi/spi-util.h: remove.
1420 * cspi/spi.h: move SPI_freeString here
1422 * libspi/component.c (impl_accessibility_component_get_layer):
1424 (impl_accessibility_component_get_mdi_z_order): ditto,
1425 return -1 on error - is this ok ?
1427 * test/test-simple.c (test_application): impl.
1429 * cspi/spi_accessible.c (Accessible_getApplication),
1430 (Accessible_isApplication): impl.
1432 * libspi/registry.c (spi_listener_struct_free): release
1433 the CORBA reference too.
1435 * libspi/accessible.c
1436 (impl_accessibility_accessible_get_parent): fix ref leak.
1438 * libspi/registry.c (spi_registry_new): make the registry
1439 immortal - we don't want it to go away ever.
1441 * libspi/application.c
1442 (spi_accessible_application_finalize): impl. cleanup.
1444 * cspi/spi_registry.c
1445 (deregisterGlobalEventListenerAll),
1446 (deregisterGlobalEventListener),
1447 (deregisterAccessibleKeystrokeListener): fix ref leak.
1449 * cspi/spi_main.c (SPI_init): remove redundant ref.
1451 * test/test-simple.c (unutterable_horror): impl. to force a
1456 (impl_accessibility_registry_deregister_application): release
1457 the application when we de-register it.
1459 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1460 until we have the infastructure to get it right.
1462 2001-12-03 Michael Meeks <michael@ximian.com>
1464 * libspi/Makefile.am: only build eventlistener.[ch]
1466 * libspi/accessible.c
1467 (impl_accessibility_accessible_get_child_at_index): don't leak.
1469 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1470 before we hit the idle handler.
1472 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1473 debugging than exit.
1475 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1477 * libspi/listener.c (impl_notify_event): check source
1478 not NIL before unref.
1480 * libspi/registry.c (impl_registry_notify_event): ditto.
1482 * libspi/eventlistener.c
1483 (impl_accessible_event_notify_event): unref the source.
1485 * libspi/accessibleeventlistener.c
1486 (impl_accessible_event_notify_event): unref the source.
1488 * idl/Event.idl: remove 'hash_id' attribute - of no
1491 * libspi/application.c (notify_listeners): upd list
1493 (spi_application_object_event_listener),
1494 (spi_application_toolkit_event_listener): upd to do correct
1498 (_registry_notify_listeners): update.
1499 (parse_event_type): this method also leaks like a sieve.
1500 (impl_accessibility_registry_deregister_global_event_listener):
1501 fix ETYPE_WINDOW case.
1503 * libspi/application.c
1504 (impl_accessibility_application_register_object_event_listener):
1507 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1509 * libspi/hypertext.c (impl_getLink): ditto.
1511 * cspi/spi_main.c (cspi_object_add): remove
1512 bogus CORBA_Object_duplicate.
1514 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1517 * cspi/spi_accessible.c
1518 (Accessible_getRelationSet): fix leak / referencing issue.
1520 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1521 (cspi_object_add, cspi_object_unref): upd.
1522 (spi_object_release, get_live_refs): impl.
1523 (cspi_cleanup): simplify.
1525 * *.[ch]: s/boolean/SpiBoolean/
1527 * cspi/spi_accessible.c (role_names): actualy order so it
1528 corresponds with the enum !
1530 * test/test-simple.c (test_roles): check some role strings
1531 vs. enums to detect offset errors.
1533 2001-12-01 Michael Meeks <michael@ximian.com>
1535 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1537 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1539 (Accessible_getChildAtIndex): use cspi_add_check so we
1540 check the ev before using a (possibly) invalid value.
1542 * libspi/accessible.c
1543 (impl_accessibility_accessible_get_parent): don't segv
1546 * at-bridge/bridge.c (gtk_module_init): upd.
1547 (bridge_property_event_listener): don't leak strings
1549 (bridge_state_event_listener),
1550 (bridge_property_event_listener): don't use a static
1551 buffer in case of recursive event emission &
1552 re-enterancy - split out the swathe of cut and paste
1554 (emit_eventv): and fix 2 ref leaks here & comply to the
1556 (bridge_register_app): rename to
1557 (bridge_idle_init): this and kill arg parsing, split
1558 various inits & bonobo-activation registration to module
1559 init time, kill referencing error.
1560 (bridge_exit_func): fix the same leak.
1561 (bridge_focus_tracker): don't leak event structures
1563 (bridge_signal_listener): more leakage and cut & paste
1565 (bridge_key_listener): return the result - FIXME is
1566 this polarity correct ?
1567 (accessibility_keystroke_from_atk_key_event): rename
1568 (accessibility_init_keystroke_from_atk_key_event): and stop
1570 (gtk_module_init): return a value - not that it is checked by
1572 (bridge_key_listener): register my horror at casting between
1573 IDL defined structs.
1574 (bridge_get_registry): kill - not used.
1576 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1578 * test/test-simple.c (test_roles): impl.
1579 (test_desktop, validate_accessible, validate_tree): impl.
1581 * cspi/spi_accessible.c (role_names): fixup bogus
1582 MAX_ROLES setup, make constants const for efficient linkage
1583 (AccessibleRole_getName): conform to coding style, make
1586 2001-11-30 Michael Meeks <michael@ximian.com>
1588 * cspi/spi.h: add missing prototype.
1590 * libspi/registry.c (spi_listener_struct_new): fix sig.
1592 * test/Makefile.am: add test-simple
1594 * test/test-simple.c: add
1596 * test/test.sh: add.
1598 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1600 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1601 do it straight - since otherwise we often get an activation race.
1603 [ work before Bill duplicated a chunk of it ... ]
1604 2001-11-30 Michael Meeks <michael@ximian.com>
1606 * libspi/keystrokelistener.c
1607 (spi_keystroke_listener_class_init): fixup arg
1610 * libspi/eventlistener.c
1611 (spi_event_listener_class_init): ditto.
1613 * tests/test.sh: add.
1615 * cspi/spi-listener-impl.h: update macros.
1617 * cspi/spi-listener-impl.c
1618 (cspi_event_listener_remove_callback): add
1619 correct pre-conditions.
1621 * cspi/spi_main.c (SPI_exit): guard vs. double
1622 exits, exit the mainloop nicely.
1623 (SPI_event_main): make more sense.
1624 (SPI_init): move the atexit evilness here so we
1625 always do it (yuck).
1626 (SPI_event_main): upd.
1628 * test/simple-at.c: update for listener changes.
1630 * registryd/registryd.c (main): prune kruft.
1632 * libspi/libspi.h: upd.
1634 * libspi/eventlistener.[ch]: rename broken macros.
1636 * libspi/accessibleeventlistener.[ch]: remove.
1638 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1640 * test/test-simple.c: Add - automated tests.
1642 * cspi/spi-listener-impl.c (cspi_event),
1643 (cspi_key_event): add user_data to invoke.
1644 (cspi_keystroke_listener_finalize): impl.
1645 (cspi_keystroke_listener_class_init): upd.
1648 (createAccessibleEventListener),
1649 (AccessibleEventListener_addCallback),
1650 (createAccessibleKeystrokeListener),
1651 (AccessibleKeystrokeListener_addCallback): upd.
1653 * libspi/deviceeventcontroller.c
1654 (spi_device_event_controller_check_key_event): add public proto.
1657 (impl_accessibility_registry_deregister_global_event_listener):
1658 always init listeners.
1659 (_registry_notify_listeners): yes it is.
1661 * cspi/spi-listener-impl.c (cspi_key_event):
1663 (cspi_event_listener_finalize): impl.
1664 (cspi_event_listener_class_init): hook up.
1665 (event_handler_new, event_handler_free),
1666 (event_list_remove_by_callback): impl.
1667 (cspi_event_listener_remove_callback),
1668 (cspi_keystroke_listener_remove_callback),
1669 (cspi_keystroke_listener_add_callback),
1670 (cspi_event_listener_add_callback): upd.
1672 * libspi/keystrokelistener.c
1673 (keystroke_listener_object_finalize): kill
1674 (spi_keystroke_listener_class_init): upd.
1675 (spi_keystroke_listener_add_callback),
1676 (spi_keystroke_listener_remove_callback): kill,
1678 (impl_key_event): prune drasticaly.
1680 * libspi/eventlistener.c
1681 (spi_event_listener_add_callback),
1682 (spi_event_listener_remove_callback): kill, use
1684 (impl_accessible_event_notify_event): upd.
1685 (spi_event_listener_object_finalize): remove.
1687 * libspi/Makefile.am: use eventlistener.[ch]
1689 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1691 * libspi/registry.c (_registry_notify_listeners):
1692 Changed listener loop iteration to use preferred convention.
1693 Got rid of string memory leaks caused be calling g_strconcat
1694 inside function calls.
1696 * libspi/registry.c (parse_event_type):
1697 Stopped g_strconcat memory leaks, free the g_strsplit return,
1698 g_strdup the split pieces when used, etc.
1700 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1703 Change method 'compare' to return a 'difference set' rather than
1704 taking a StateSet as an out parameter (more Java-friendly).
1706 * idl/Accessible.idl:
1707 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1709 * idl/Component.idl:
1711 Changed methods 'getExtents' and 'getImageExtents' in these
1712 interfaces to return a BoundingBox structure.
1713 (getPosition and getSize are redundant and possibly should be
1714 removed, rather than creating a corresponding Point struct.)
1716 * cspi/spi_component.c:
1717 Modify implementation of getExtents to reflect the above IDL
1722 Add (missing) AccessibleImage_getExtents () API.
1724 * docs/reference/cspi/at-spi-cspi-sections.txt:
1725 Added AccessibleImage_getImageExtents () to docs.
1727 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1729 * idl/Component.idl:
1730 Added two methods, getLayer () and getMDIZOrder (), to reflect
1731 the new ATK methods atk_object_get_layer and
1732 atk_object_get_mdi_z_order. (Which arguably should be part of the
1733 AtkComponent API and AtkObject). Also added an enum,
1734 ComponentLayer, for the first method's return value.
1736 * libspi/component.c:
1737 Added implementations for these methods.
1739 * cspi/spi_component.c:
1741 Added cspi binding methods for above,
1742 AccessibleComponent_getLayer() and
1743 AccessibleComponent_getMDIZOrder().
1744 Added cspi enum 'AccessibleComponentLayer'.
1746 * docs/reference/cspi/at-spi-cspi-sections.txt:
1747 Added above methods to docs.
1751 Changed typedef for 'boolean' type (and all references to it) to
1752 SPIBoolean, to avoid keyword clashes with C++.
1755 Changed usages of 'boolean' to SPIBoolean.
1757 * test/keysynth-demo.c:
1758 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1759 app), except where SPIBoolean is required by the callbacks API.
1761 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1763 * cspi/spi_registry.c:
1764 Removed obsolete X event loop for passive keygrabs (which now
1767 * registryd/registryd.c:
1768 Removed unnecessary call to gdk_init() [cruft]. This also allows
1769 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1772 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1774 * docs/reference/cspi:
1775 Included docs for SPI_freeString in generated documentation.
1778 Renamed spi_freeString to SPI_freeString, for consistency. Added
1779 documentation for this function.
1782 Renamed spi_freeString to SPI_freeString, for consistency.
1783 Removed obsolete method declaration string_from_corba_string.
1785 * test/keysynth-demo.c:
1786 Small tweak to comments.
1789 Stopped leaking the strings returned from CSPI.
1791 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1793 Merged Michael's branch (see his ChangeLog entries below).
1795 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1796 bridge is alive, release on exit.
1798 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1799 Fix type check macro.
1802 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1805 Added is_gnome_app static, and method cspi_is_gnome_app(),
1806 so we can call the appropriate shutdown routine at exit in SPI_exit.
1808 * cspi/spi_main.c (cspi_object_ref):
1809 Duplicate the corba object passed in, since we're keeping it around.
1811 * cspi/SPI_exit.c, cspi_cleanup:
1812 Moved the releasing of the live refs to its own function, so we
1813 can put it in g_atexit (). Call the appropriate shutdown API
1814 depending on whethe calling client is a gnome app or not
1815 (bonobo_main_quit or CORBA_ORB_shutdown).
1817 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1818 Unref the listener when this method is called, after
1819 deregistration. Updated the API docs to note this behavior.
1821 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1822 Bugfixes: Ref the bonobo object when returning a parent or child
1823 reference, or an AccessibleRelation. Generally made sure
1824 BonoboObject refcount is incremented whenever we return an
1827 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1828 Fixed typo/bug in signal declaration.
1830 * libspi/accessibleeventlistener.h:
1833 * libspi/application.c (spi_application_new):
1834 Fixed leak in initialization.
1837 Remembered to increment bonobo-object refcount when returning
1838 children (applications) from desktop object.
1839 Added (empty) finalize method.
1841 * libspi/deviceeventcontroller.c:
1842 Hold a ref to listeners inside DEControllerKeyListeners.
1843 Added dec_key_listener_free() method. Use prepend instead of
1844 append in key_listener list. Fixed some refcount madness and
1845 leaks in the listener registration/deregistration - deregistration
1846 now calls dec_key_listener_free() on listeners, and on the
1847 temporarily constructed dec_key_listener() used to perform the search/match.
1849 * libspi/hypertext.c (spi_hypertest_finalize):
1850 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1851 class. Also fixed spi_hypertext_interface_new() and
1852 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1854 * libspi/hypertext.h:
1855 Removed pointless and duplicate AtkObject pointer from
1858 * libspi/keystrokelistener.c:
1859 Fixed incorrect type of keystroke_listener_parent_class,
1860 renamed keystroke_listener_object_finalize to
1861 spi_keystroke_listener_object_finalize.
1862 Fixed typo in signal declaration
1863 (spi_keystroke_listener_class_init).
1865 * libspi/registry.c:
1866 Added funcsions spi_listener_struct_new() and
1867 spi_listener_struct_free() to help with memory management issues.
1868 We also now use these methods instead of gnew + poking stuff into
1869 the struct, and to decrement listener counts/free the listeners
1870 when deregistering them.
1871 Fix more refcount bugs in getDesktop() and
1872 getDeviceEventController().
1875 De-ref the desktop after enumerating the applications. Explicitly
1876 decrement the refcounts on the created listeners on exit (using
1877 _unref for keystroke listeners, and via the
1878 deregisterGlobalEventListenerAll command for other event
1881 2001-11-27 Michael Meeks <michael@ximian.com>
1883 * cspi/spi-listener.h: fixup enum.
1885 2001-11-27 Michael Meeks <michael@ximian.com>
1887 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1888 (cspi_keystroke_listener_new): Use the cspi variants.
1890 2001-11-26 Michael Meeks <michael@ximian.com>
1892 * test/keysynth-demo.c: fix 2 compile warnings, missing
1895 * test/simple-at.c (report_focussed_accessible),
1896 (report_focus_event, report_button_press),
1897 (check_property_change, is_command_key),
1898 (report_ordinary_key_event, report_command_key_event): upd.
1900 * util/mag_client.h: include pre-requisites.
1902 * libspi/accessibleeventlistener.c
1903 (spi_event_listener_object_finalize): free any lingering
1906 * libspi/keystrokelistener.c
1907 (keystroke_listener_object_finalize): ditto.
1909 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1910 callbacks, with cspi types.
1912 * cspi/spi_event.c (createAccessibleEventListener): chain to
1913 (AccessibleEventListener_addCallback): here.
1914 (createAccessibleKeystrokeListener): chain to
1915 (AccessibleKeystrokeListener_addCallback): here.
1917 * libspi/keystrokelistener.c
1918 (spi_keystroke_listener_class_init): add signal.
1919 (impl_key_event): emit the event.
1920 (boolean_handled_accumulator): impl.
1921 (marshal_BOOLEAN__POINTER): add, gack.
1923 * libspi/accessibleeventlistener.c
1924 (spi_event_listener_class_init): add signal.
1925 (impl_accessible_event_notify_event): emit the signal &
1926 make the loop efficient.
1927 (spi_event_listener_add_callback): prepend the callback.
1929 * libspi/accessibleeventlistener.h: add an 'event' signal,
1930 decl type on callback.
1932 * libspi/keystrokelistener.h: ditto.
1934 * cspi/spi-listener.h: make methods typesafe and
1935 make them use the new event typedefs.
1937 * test/simple-at.c (report_focussed_accessible):
1938 include mag_client.h
1939 Use *(void *)text_interface not the other thing.
1941 * configure.in: add gtk to registryd bits - since we use
1944 * util/magnifier.c: include libbonobo.h
1946 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1948 * test/keysynth-demo.c:
1949 Turned this into a simple scanning keyboard, to demonstrate the
1950 use of g_timeout_add () as a means of creating timers for
1951 scanning, and the use of GtkStyle for visually indicating when
1952 virtual keyboard elements are selected.
1954 keysynth-demo now listens to any keyboard keys with zero-valued
1955 keycodes (i.e. 'unused' keys) and interprets them as
1958 Reworked the shiftlatch code so that shift-down state isn't held
1959 for long periods (it's only synthesized immediately prior to
1960 the keysynth event it's modifying). Note that shiftlatch in this
1961 demo is a convenience, not intended to take the place of AccessX
1962 which is the better choice for getting 'sticky' modifier keys.
1964 * libspi/deviceeventcontroller.c:
1965 * at-bridge/bridge.c:
1966 * cspi/spi_registry.c:
1967 Removed some debug print stuff, and put other verbosity in #ifdef
1972 Implemented some more of the magnifier IDL for the simple
1973 magnifier: namely, getZoomRegionParams.
1974 Added mag_x and mag_y members to MagnifierData struct, aid of this
1976 Added GtkWindow::realize signal handler to magnifier, to keep it
1977 from receiving keyboard focus from the WM.
1979 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1981 * cspi/spi-private.h: my guess at what michael forgot
1982 before he ran off to NZ :-)
1984 2001-11-23 Michael Meeks <michael@ximian.com>
1986 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1987 comment out non existant method invoke so we link.
1989 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1990 use bonobo_exception_get_text for more friendly warnings.
1992 * cspi/spi.c (Obj_Add): move into spi_main & rename
1993 spi_object_add; kill spi.c
1995 * cspi/spi_registry.c
1996 (deregisterGlobalEventListener),
1997 (deregisterGlobalEventListenerAll),
1998 (registerGlobalEventListener): fix exception leaks.
2000 * cspi/spi_main.c (spi_exception): impl. helper, so we
2001 don't leak exceptions.
2003 * cspi/spi_selection.c
2004 (AccessibleSelection_deselectSelectedChild): return the
2007 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2008 (spi_registry): ditto.
2009 (SPI_init): guard against double inits.
2011 * cspi/*.c: use spi_ev (), and spi_registry () where
2012 appropriate - a temporary hack until we have something
2013 better. Use spi_object_add
2015 2001-11-22 Michael Meeks <michael@ximian.com>
2017 * cspi/Makefile.am: re organise, install the headers.
2019 * cspi/*.h: add G_BEGIN/END_DECLS
2021 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2024 Added non-preemptive keylistener for key events with no modifiers
2025 and shift-only modifier.
2027 * libspi/keystrokelistener.c:
2028 Removed some verbose diagnostics printout.
2030 * cspi/spi_registry.c:
2031 Fixed a bug that caused all key listeners to be registered as
2034 * libspi/deviceeventcontroller.c:
2035 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2036 for non-preemptive key masks.
2039 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2041 * docs/reference/idl/at-spi-idl-docs.sgml:
2042 * docs/reference/idl/at-spi-idl-sections.txt:
2043 * docs/reference/idl/at-spi-idl-overrides.txt:
2044 Added missing files.
2046 * docs/reference/Makefile.am:
2047 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2048 to scan the IDL files :-(
2053 Added .cvsignore files.
2055 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2057 * libspi/deviceeventcontroller.c:
2058 * libspi/keystrokelistener.c:
2060 * cspi/spi_registry.c:
2061 Added filters for KeySets, KeyEventSeq, and event types to key
2062 event dispatching, so listeners should only receive those events
2063 that they requested :-)
2065 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2070 * docs/reference:Makefile.am:
2071 * docs/reference/cspi:
2072 * docs/reference/cspi:Makefile.am:
2073 * docs/reference/cspi:tmpl:
2074 * docs/reference/cspi:tmpl:*.sgml:
2075 * docs/reference/idl:
2076 * docs/reference/idl:Makefile.am:
2077 * docs/reference/idl:at-spi-idl-sections.txt:
2078 * docs/reference/idl:at-spi-idl-docs.sgml:
2079 * docs/reference/idl:tmpl:
2080 * docs/reference/idl:tmpl:*.sgml:
2082 Restructured docs directory to allow separate 'reference' docs
2083 section, and forked idl and cspi docs. Added the sgml template
2084 files to CVS. Added the first sections/structural sgml for the
2087 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2089 * configure.in, libspi/Makefile.am: find libXtst.
2091 2001-11-21 Michael Meeks <michael@ximian.com>
2093 * test/accessx-gui.c: s/spi_value/value/ - doh.
2095 * libspi/base.[ch]: add.
2097 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2099 * idl/Accessible.idl:
2100 * idl/Application.idl:
2103 Started gtk-doc cleanup on IDL.
2105 * libspi/deviceeventcontroller.c:
2106 Added and connected non-preemptive key notification from the
2107 toolkits (in addition to the pre-emptive support from XServer
2108 which we had before, but which causes 'focus flashing'). Filters
2109 are presently limited to key modifiers and global/non-global,
2110 KeySets are presently ignored, as are KeyEvent masks.
2112 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2113 structs into the persistant structure rather than just storing
2114 pointers to things that might not persist across servant
2117 The XGrabKey call now does async keygrabs, because synchronous
2118 ones were deadlocking with GDK_event code in a very nasty way.
2120 Added boolean to internal method notify_keylisteners, to indicate
2121 whether the event came from the 'toolkit source' or the 'global
2122 (XServer) source' - this is used in the notification process to
2123 determine which listeners to send the event to.
2125 deviceeventcontroller.c is now warning-free.
2127 * libspi/registry.c:
2128 Fixed regression in application de-registration.
2129 Also fixed some really brain-dead weirdness having to do with
2130 event dispatching - event structs are now duplicated before being
2131 re-marshalled in the dispatch to listeners. This also fixes a
2132 Solaris build problem.
2135 2001-20-11 Michael Meeks <michael@ximian.com>
2138 (impl_accessibility_registry_deregister_global_event_listener):
2141 * libspi/deviceeventcontroller.c
2142 (spi_device_event_controller_check_key_event): return
2143 FALSE on no virtual method.
2145 * libspi/*..h: make includes work on a correctly pathed install.
2147 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2149 * libspi/application.h: kill unused ( and whacked out )
2150 gboolean *spi_application_set_id (AtkObject *app, long id);
2152 2001-20-11 Michael Meeks <michael@ximian.com>
2154 * libspi/*.[ch]: further convert to bonobo's type func
2155 macros, remove redundnant casts etc.
2157 * libspi/text.c s/accessibility_text/spi_text/g,
2158 re-order to de-cruft.
2160 * libspi/hypertext.c: re-order to kill a huge slew
2161 of redundant forward decls.
2163 * libspi/relation.c: ditto.
2165 * libspi/image.c: ditto.
2167 * */.cvsignore: update
2169 2001-20-11 Michael Meeks <michael@ximian.com>
2171 * libspi/deviceeventcontroller.c
2172 (_controller_register_with_devices): use g_getenv,
2173 kill stdlib.h include.
2175 * libspi/keystrokelistener.c
2176 (spi_keystroke_listener_get_type): kill
2177 (spi_keystroke_listener_class_init),
2178 (spi_keystroke_listener_init): rename to this.
2180 * libspi/text.c (impl_getAttributes): fix warning / bug.
2182 * libspi/*.[ch]: more headers, includes and over commenting.
2184 2001-20-11 Michael Meeks <michael@ximian.com>
2186 * libspi/*.[ch]: fixup headers, includes and over commenting.
2188 * libspi/image.c (impl__get_imageDescription): const
2189 correctness warning fix. remove redundant casting.
2191 * libspi/table.c (impl_getRowDescription): ditto.
2192 (impl_getColumnDescription): ditto.
2194 * libspi/libspi.h: add.
2196 2001-19-11 Michael Meeks <michael@ximian.com>
2198 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2200 * libspi/component.c (accessibility_component_get_type):
2201 rename to (spi_component_get_type): and macroify.
2202 (accessibility_component_init): rename to
2203 (spi_component_init): this
2204 (accessibility_component_class_init): rename to
2205 (spi_component_class_init): this
2207 * libspi/action.c (spi_action_get_type): kill, use the macro.
2209 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2212 * libspi/application.c (spi_application_object_event_listener),
2213 (impl_accessibility_application_register_object_event_listener):
2214 warning fixes / const understanding updates.
2216 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2219 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2221 * libspi/spi_accessible.c: Added docs and C bindings for
2222 AccessibleStateSet. (No implementations yet). Documentation
2223 coverage for C bindings now 100%. Made docs for event listeners
2228 boolean notifyListenersSync (in DeviceEventListener listener,
2229 in DeviceEvent event);
2231 oneway void notifyListenersAsync (in DeviceEventListener listener,
2232 in DeviceEvent event);
2234 Added DeviceEventListener and DeviceEvent structs (may deprecate
2235 KeyStroke and KeystrokeListener in favor of this generic
2236 event/listener framework for devices).
2238 * libspi/deviceeventcontroller.c:
2240 Changed some key listener code to take masks, etc., and paved the
2241 way for integration of toolkit/non-preemptive key events. Changed
2242 signatures of some internal methods.
2244 * at-bridge/bridge.c:
2245 Fixed regression connecting to interface signals, apparently
2246 caused by GTK+ changes.
2248 Added an internal bridge_state_listener to deal with
2249 property-change:accessible-state signals.
2251 Changed the key_listeners GList to store structs (including masks,
2252 etc.) instead of just CORBA_Objects (required for full
2253 implementation of key listener API).
2255 Connected the bridge to all currently supported Atk signals.
2256 Events now supported:
2257 object:property-change
2258 object:property-change:accessible-name
2259 object:property-change:accessible-state
2260 object:property-change:accessible-description
2261 object:property-change:accessible-parent
2262 object:property-change:accessible-value
2263 object:property-change:accessible-role
2264 object:property-change:accessible-table-caption
2265 object:property-change:accessible-table-column-description
2266 object:property-change:accessible-table-column-header
2267 object:property-change:accessible-table-row-description
2268 object:property-change:accessible-table-row-header
2269 object:property-change:accessible-table-summary
2270 object:children-changed
2271 object:visible-data-changed
2272 object:selection-changed
2273 object:text-selection-changed
2275 object:text-caret-moved
2277 object:row-reordered
2279 object:column-inserted
2280 object:column-reordered
2281 object:column-deleted
2282 object:model-changed
2284 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2286 * libspi/hyperlink.c,h:
2287 Fixed some broken stuff in hyperlink.
2289 * libspi/relation.h:
2290 * libspi/relation.c:
2291 * cspi/spi_accessible.c:
2292 Initial implementations of AccessibleRelation methods, and docs.
2294 * libspi/accessible.c:
2295 Fixed a bug that caused SEGV if an accessible
2296 object's description is NULL, and a client
2297 requests it. An empty string is now returned.
2299 * cspi/spi_editabletext.c:
2300 * cspi/spi_hypertext.c:
2302 * cspi/spi_hyperlink.c:
2306 Doc coverage now 95%.
2308 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2310 One last namespacing revision:
2311 * libspi/accessibleeventlistener.[ch]:
2312 Renamed SpiAccessibleEventListener to SpiEventListener,
2313 (no need for two namespaces ;-)
2315 And lots of documentation fixes:
2317 * docs/at-spi-docs.sgml:
2318 Fixed 'underscore vs. hyphen' bug that was preventing
2319 the gtk-doc API docs from being automatically generated.
2322 * cspi/spi-listener.h
2324 * cspi/spi_accessible.c
2326 * cspi/spi_application.c
2327 * cspi/spi_component.c
2328 * cspi/spi_editabletext.c
2330 * cspi/spi_hypertext.c
2332 * cspi/spi_registry.c
2333 * cspi/spi_selection.c
2337 * docs/at-spi-docs.sgml
2338 * docs/at-spi-sections.txt
2340 Added and fixed up gtk-doc documentation in cspi.
2342 Interfaces now (fully) documented (subject to revision and enhancement):
2344 Event Listener Support
2346 AccessibleApplication
2350 AccessibleEditableText
2357 AccessibleRelationSet
2362 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2364 * at-bridge/bridge.c:
2365 Initial work for toolkit-level key snooper connection by bridge.
2370 New typedefs and fixes to support new namespacing, and cleaner
2371 separation of cspi bindings from libspi bonobo implementation.
2372 Removed inconsistent and extraneous Spi* namespace prefix that
2373 had crept into cspi headers.
2374 Lots of comment fixes that sed had missed.
2376 * cspi/spi-roletypes.h:
2377 * cspi/spi-statetypes.h:
2378 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2379 to AccessibleRoleType.
2381 * libspi/accessibleeventlistener.h:
2382 Fixed minor namespacing weirdness.
2384 * libspi/deviceeventcontroller.c:
2385 Reordered some internal API for device listeners.
2386 Changed the key registry final boolean to 'is_system_global'
2387 rather than 'is_synchronous', which is more descriptive of its
2389 Added spi_device_event_controller_new().
2390 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2392 * libspi/keystrokelistener.[ch]:
2393 Namespaced KeystrokeListener to SpiKeystrokeListener.
2394 Changed uses of keymasks to use SPI_ prefix, and did other
2397 * libspi/keymasks.h:
2398 Namespaced keymask constants with SPI_ prefix.
2400 * libspi/registry.c:
2401 Some warning fixes, and knock-on fixes from namespace changes.
2404 Added rules for accessx-gui test program.
2406 * test/accessx-gui.c:
2407 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2408 utility. It doesn't actually use at-spi, but it's still cool and
2411 * test/keysynth-demo.c:
2415 Fixes so that these test clients work properly with the namespaced
2416 libraries. (Incompletely tested for technical reasons, fixes may follow)
2419 2001-13-11 Michael Meeks <michael@ximian.com>
2421 * libspi/application.c
2422 (impl_accessibility_application_get_version),
2423 (impl_accessibility_application_get_toolkit_name):
2425 (impl_accessibility_application_set_id),
2426 (impl_accessibility_application_get_id): remove
2427 redundant casting code.
2429 * libspi/action.c (impl_getDescription): fix warnings.
2431 * libspi/accessible.c
2432 (impl_accessibility_accessible_get_parent),
2433 (impl_accessibility_accessible_get_child_at_index),
2434 (impl_accessibility_accessible_get_state),
2435 (impl_accessibility_accessible_get_relation_set):
2436 warning fixes & include action.h
2438 2001-13-11 Michael Meeks <michael@ximian.com>
2440 * *.[ch] fix bits I screwed up:
2442 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2443 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2445 2001-13-11 Michael Meeks <michael@ximian.com>
2447 * *.[ch] Namespace libspi into spi_ and Spi.
2449 2001-13-11 Michael Meeks <michael@ximian.com>
2451 * Makefile.am: dist & install at-spi-1.0.pc
2453 * libspi/Makefile.am: install into at-spi-1.0
2455 * idl/Makefile.am (idldir): install into at-spi-1.0
2457 * at-spi-1.0.pc.in: add.
2459 * configure.in: build it.
2461 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2463 * test/keysynth-demo.c:
2464 Use a 'realize' signal-handler to set the WM properties for
2465 the virtual keyboard, rather than making it a "POPUP" type
2466 override-redirect window (thanks to anders carlsson for that
2469 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2472 * test/keysynth-demo.c:
2473 Added new test of key synthesis, which creates a simple
2474 (mouse-operated) onscreen keyboard. It inserts key events into
2475 the currently-focused window, thus it does not grab keyboard focus
2478 * cspi/spi_registry.c:
2479 Added C binding for AT-SPI generateKeyEvent.
2481 * libspi/deviceeventcontroller.c:
2482 Added call to XFilterEvent so that key listener works with XIM (we
2483 hope). Added event_synth_type to generateKeyEvent, so that we can
2484 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2485 synthesize a press/release pair for KeySyms.
2487 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2489 * libspi/Makefile.am:
2490 * registryd/Makefile.am:
2491 (temporary) hack to include libXtst in libspi and registryd.
2492 (Needed for keystroke synthesis, see below).
2495 Improved API for registerKeystrokeListener, in accordance with
2496 discussions with Gnopernicus team and X server research.
2498 * libspi/registry.c:
2499 * libspi/deviceeventcontroller.c:
2500 * libspi/accessible.c:
2501 * libspi/keystrokelistener.c:
2502 Changes and fixes to support keylisteners for potentially
2503 consumed key events (that is, 'passive grabs').
2504 Added implementation for generateKeyEvent() [untested].
2507 Changes to registerKeystrokeListener() API, as above.
2508 Added deregisterGlobalEventListenerAll(), and
2509 deregisterKeystrokeListener(), which are needed for clean exit of
2511 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2512 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2514 * cspi/spi_registry.c:
2515 Added implementations of function prototypes mentioned above.
2517 * registryd/registryd.c:
2518 Added the key listener event source as a g_timeout(), to allow
2519 receipt of key events that are not caught by GDK (since GDK
2520 doesn't support passive keygrabs, this was necessary).
2523 Changed to attach a keylistener to 'Alt' keys, and
2524 respond to the following keycommands: Alt-M (toggle magnifier);
2525 Alt-F (toggle speech); Alt-Q (quit).
2526 Added an exit routine to deregister the listeners, and a key
2527 listener that prints some key info to the console when a key
2528 matches the listener mask (and is thus received by the listener).
2530 * util/idl/Magnifier.idl:
2531 Changes to magnifier API to support multiple zoom regions,
2532 non-uniform scaling in x and y, markDirty, and a host of other
2533 features that would be useful to magnification.
2536 * util/mag_client.c:
2537 * util/mag_client.h:
2538 * util/mag_control.c:
2540 Source code changes to support the above IDL changes.
2543 As above, and also changes to use a (slower) generic conversion
2544 path for colormap conversions, since the fast RGB conversions have been
2545 reported to fail for 16-bit displays.
2547 2001-10-26 Michael Meeks <michael@ximian.com>
2549 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2551 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2553 * at-bridge/Makefile.am: fix LDFLAGS.
2555 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2557 * at-bridge/bridge.c:
2558 Re-worked listeners for toolkit events, now we have signal
2559 and property listeners. Added a private method
2560 register_atk_event_listeners(), which registers with the
2561 various atk and gtk signals we need to monitor in order to emit
2563 Added emission hook for AtkObject:property-change events, to
2564 support the 'property listeners'.
2565 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2568 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2569 which emit warnings and exit, respectively, if CORBA errors occur
2570 during remote calls, and we now use these methods to check most of
2571 our CORBA calls in the C bindings.
2573 * cspi/spi_accessible.c:
2574 Changed AccessibleSelection_refSelectedChild() to
2575 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2576 now increment refcounts.
2578 * cspi/spi_component.c:
2579 Fixed some long pointer casts (dangerous!) to pass pointers to
2580 CORBA_longs of the proper type to the CORBA stubs, and copy the
2581 data into the longs that were passed into the C bindings code.
2583 * at-bridge/bridge.c:
2585 * libspi/accessible.c:
2586 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2587 hyperlinks, AtkHyperlink is an object type.
2589 * libspi/application.c:
2590 Added various conversions to and from "generic" event types and
2591 atk-specific types; this is really part of the 'bridge'
2592 implementation but is valid for all AtkObject-based accessibility
2595 * libspi/editabletext.c:
2596 Fixed nasty bug wherein editable text's finalize method was
2597 unref'ing tha AtkObject reference that the text parent class was
2598 about to unref _again_. There was also a nasty inheritance bug
2599 that meant that the AccessibleEditableText class was corrupt.
2601 * libspi/selection.c:
2602 Provided implementations for some selection API that was broken.
2604 * idl/Application.idl:
2605 Added registerObjectEventListener () method.
2608 Fixed a number of return values that were Bonobo_Unknowns from
2609 bonobo_object_corba_objref(), which I
2610 forgot to dup before returning. Changed instances of
2611 bonobo_object_corba_objref (bonobo_object(o)) to
2612 BONOBO_OBJREF(o), for concision and clarity.
2614 <2001-10-13 Louise Miller <louise.miller@sun.com>
2616 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2617 idl/Event.idl, idl/Registry.idl
2618 Changed these files to include Bonobo_Unknown.idl instead
2621 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2623 * libspi/component.c libspi/component.h:
2624 Fixed typo. Added assertions for object checks in
2625 AccessibleComponent code.
2627 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2629 * idl/Accessible.idl:
2630 Added 'isEqual (Accessible *object)'
2631 method for Accessible. (Not Yet Implemented).
2634 Changed signature of registerKeystrokeListener() to
2635 take a KeySet and KeyEventSeq so that specific keys and event
2636 types could be requested for monitoring, and added a flag
2637 is_synchronous so that either synchronous or asynchronous
2638 notification could be requested. (However this is not all
2639 implemented yet). This also meant adding two new typedefs,
2640 KeyEventSeq and KeySet.
2643 Added two new relations, RELATION_TOOLTIP_FOR and
2644 RELATION_LEAFNODE_OF.
2647 Added new state, STATE_HAS_TOOLTIP.
2649 * libspi/text.c, editabletext.c:
2650 Added new assertions to all casts of bonobo-objects from
2651 CORBA servants, to prevent Text API calls on non-text objects.
2652 Changed suspect casts of int-pointer types, so that we
2653 always send a valid CORBA_long pointer to the CORBA APIs that use
2654 in/out long parameters. We then have to copy from the CORBA_long
2655 into the regular long or int for return to the C bindings, or
2656 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2659 * libspi/deviceeventcontroller.c:
2660 Cleaned these sources up.
2662 Changed return type for getCharacterAtOffset to
2663 CORBA_unsigned_long, to allow for 32-bit characters.
2666 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2670 Fixed 'make dist' so that distro compiles...
2671 * libspi/keymasks.h:
2673 * cspi/spi-listener.c:
2674 KeystrokeListenerCB now returns a boolean.
2676 Added KeyEventType struct, and KeyStroke.
2677 Also added createKeystrokeListener(),
2678 KeystrokeListener_addCallback(),
2679 KeystrokeListener_removeCallback(), and added a keymask to
2680 registerKeystrokeListener().
2681 * cspi/spi_accessible.c:
2682 Changed numerous return types for interfaces from
2683 AccessibleComponent to Accessible<InterfaceName>; this was
2684 probably a cut-and-paste error.
2686 Implementations of new KeystrokeListener api (from spi.h,
2689 Changes to key modifier mapping.
2690 Created ControllerEventMask struct.
2691 Made DeviceEventController derive from Bonobo::Unknown.
2693 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2694 * libspi/deviceeventcontroller.c:
2695 Added a number of new internal (private) methods.
2696 * libspi/editabletext.c:
2697 * libspi/editabletext.h:
2698 Fixed a number of bugs related to the fact that
2699 editabletext inherits from text. Fixed the EditableText struct,
2700 the init() call, and use correct casts when calling Text methods
2701 from an EditableText object. Removed (duplicate) atko from the
2702 EditableText structure, we use the one in the parent Text
2703 structure via the casts mentioned above.
2704 * libspi/keystrokelistener.[ch]:
2705 * libspi/registry.c:
2706 Changes in support of keyboard handling (above).
2708 Keyboard handling, though partly functional, is still not
2709 recommended for at-spi client use as there is considerable
2710 work yet to be done.
2713 Changed some places where pointers to various int types
2714 are cast to be pointers to CORBA_long types and vice-versa:
2715 pointer casting is not safe so we pass pointers of the correct
2716 types and then cast the result before putting it into the target
2719 * libspi/text.h: minor typos corrected.
2721 We now speak not only the name of a Text element, but the
2722 first sentence of its content, when it receives focus.
2723 I also changed the text compression to 75% from 50%.
2724 * util/Accessibility_Util.server.in:
2725 Changed the default magnifier type to be a 3x vertical
2726 splitscreen magnifier (was previously a 2x horizontal one).
2728 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2730 * libspi/keystrokelistener.h:
2731 * libspi/keystrokelistener.c:
2732 Initial functional implementations of KeystrokeListener.
2735 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2737 Fixed string handling for NULL strings in libspi.
2738 Added spi_freeString to free strings returned by C bindings.
2740 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2742 * libspi/keystrokelistener.h:
2743 * libspi/keystrokelistener.c:
2744 Began (no-op) implementations of KeystrokeListener
2746 * libspi/deviceeventcontroller.c:
2747 * libspi/deviceeventcontroller.h:
2748 Began creating implementations of DeviceEventController,
2749 to handle keystroke and mouse event listening and
2751 * libspi/accessible.c:
2752 Stubbed-in the implementations for
2753 Accessibility_Accessible_getState and
2754 Accessibility_Accessible_getRelationSet.
2755 * libspi/registry.c:
2756 Improved de-registration process and fixed some bugs,
2757 deregistration now works correctly.
2759 Added initialization of applications list (to NULL).
2761 Reduced speech compression from 0.5 to 0.7, for demo.
2762 Changed call to gdk_window_set_decorations()
2763 to gtk_window_set_decorated().
2764 * at-bridge/bridge.c:
2765 Bridge now deregisters when app exits, via
2766 registration of a cleanup function
2767 with the g_atexit() call.
2768 Required making 'app' static, renamed 'this_app'.
2769 Fixed broken use of bonobo_init, passing argv wrongly.
2771 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2775 Created a new directory for
2776 accessibility-related utilities, primarily for
2777 testing and demo purposes, but with possible
2784 Onscreen magnifier utility that
2785 is implemented as a bonobo service.
2787 * util/mag_client.c:
2788 * util/mag_client.h:
2789 Client-side support (simple C bindings)
2790 for Magnification service
2792 * util/mag_control.c:
2793 Client program example for
2794 Magnification service
2796 * util/Accessibility_Magnifier.server.in:
2797 Bonobo-activation file for the
2798 Magnification service.
2801 * util/idl/Magnifier.idl:
2802 IDL defining the bonobo Magnification
2806 Modifications to use the bonobo-activated magnifier
2807 above, in place of trying to connect to an existing
2808 magnifier that uses socket-listening IPC.
2810 If env variable MAGNIFIER is set, a magnifier service
2811 will be started if one does not exist.
2813 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2814 * at-bridge/bridge.c:
2815 applied patch from Marc to build and run
2816 against new glib and gtk+ (seemed like a change
2817 to bonobo_init signature was made ?)
2819 made festival-server support turned off by default.
2820 Added support for a simple magnifier (off by default)
2821 which will be added to a 'util' directory later.
2822 * at-bridge/Makefile.am:
2823 Changed "application.h" header from a 'source'
2824 to a 'dependency' of libat-bridge.
2826 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2834 Added interface implementation c files to list of
2835 includes so they are included in libcspi.
2838 Changed prototype of AccessibleAction_doAction to return a
2840 Changed prototype of AccessibleTable_getCaption to
2841 return an Accessible.
2842 Changed prototype of AccessibleTable_getSelectedRows
2843 and AccessibleTable_getSelectedColumns to
2844 return a long (returns the number of selected rows
2845 or columns respectively).
2846 Changed name of AccessibleText_refRunAttributes to
2847 AccessibleText_getAttributes.
2848 Changed prototype of AccessibleText_getCharacterExtents to
2849 return a void rather than a boolean.
2850 Added support for a AccessibleCoordType parameter
2851 specifying what type of coordinates are desired.
2852 Added an AccessibleCordType parameter to
2853 AccessibleText_getPointAtOffset.
2855 * cspi/spi_accessible.c:
2856 Added code to return the outstanding interfaces from
2857 Accessible_queryInterface.
2859 * cspi/spi_action.c:
2861 Corrected call to getNActions to call the c binding
2864 * cspi/spi_editabletext.c:
2866 Changed name from setRunAttributes to setAttributes.
2868 * cspi/spi_hyperlink.c:
2870 Changed call to getNAnchors to correctly call the c
2871 binding for an attribute.
2873 * cspi/spi_hypertext.c:
2875 Changed getImageDescription to correctly call the
2876 binding for an attribute.
2878 * cspi/spi_selection.c:
2879 Changed getNSelectedChildren to correctly call the c
2880 binding for the attribute.
2881 Changed refSelectedChild to getSelectedChild.
2885 Changed getCaption to return an Accessible.
2886 Fixed calls which retrieve attributes.
2887 Changed refAt to getAccessibleAt.
2888 Changed getNSelectedRows and getNSelectedColumns to
2892 Changed getCharacterExtents and getPointAtOffset to accept an
2893 AccessibleCoordType.
2895 Changed calls which retrieve attributes.
2896 Changed refRunAttributes to getAttributes.
2901 * idl/Hyperlink.idl:
2902 Changed n_anchors attribute to nAnchors to keep naming
2903 convention consistent.
2906 Made Table inherit from Bonobo::Unknown.
2907 Added nSelectedColumns and nSelectedRows attributes.
2910 Made Value inherit from Bonobo::Unknown.
2912 * libspi/hyperlink.c:
2913 Change for nAnchors attributte name change.
2915 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2923 Added interface implementation c files to list of
2924 includes so they are included in libcspi.
2927 Changed prototype of AccessibleAction_doAction to return a
2929 Changed prototype of AccessibleTable_getCaption to
2930 return an Accessible.
2931 Changed prototype of AccessibleTable_getSelectedRows
2932 and AccessibleTable_getSelectedColumns to
2933 return a long (returns the number of selected rows
2934 or columns respectively).
2935 Changed name of AccessibleText_refRunAttributes to
2936 AccessibleText_getAttributes.
2937 Changed prototype of AccessibleText_getCharacterExtents to
2938 return a void rather than a boolean.
2939 Added support for a AccessibleCoordType parameter
2940 specifying what type of coordinates are desired.
2941 Added an AccessibleCordType parameter to
2942 AccessibleText_getPointAtOffset.
2944 * cspi/spi_accessible.c:
2945 Added code to return the outstanding interfaces from
2946 Accessible_queryInterface.
2948 * cspi/spi_action.c:
2950 Corrected call to getNActions to call the c binding
2953 * cspi/spi_editabletext.c:
2955 Changed name from setRunAttributes to setAttributes.
2957 * cspi/spi_hyperlink.c:
2959 Changed call to getNAnchors to correctly call the c
2960 binding for an attribute.
2962 * cspi/spi_hypertext.c:
2964 Changed getImageDescription to correctly call the
2965 binding for an attribute.
2967 * cspi/spi_selection.c:
2968 Changed getNSelectedChildren to correctly call the c
2969 binding for the attribute.
2970 Changed refSelectedChild to getSelectedChild.
2974 Changed getCaption to return an Accessible.
2975 Fixed calls which retrieve attributes.
2976 Changed refAt to getAccessibleAt.
2977 Changed getNSelectedRows and getNSelectedColumns to
2981 Changed getCharacterExtents and getPointAtOffset to accept an
2982 AccessibleCoordType.
2984 Changed calls which retrieve attributes.
2985 Changed refRunAttributes to getAttributes.
2990 * idl/Hyperlink.idl:
2991 Changed n_anchors attribute to nAnchors to keep naming
2992 convention consistent.
2995 Made Table inherit from Bonobo::Unknown.
2996 Added nSelectedColumns and nSelectedRows attributes.
2999 Made Value inherit from Bonobo::Unknown.
3001 * libspi/hyperlink.c:
3002 Change for nAnchors attributte name change.
3005 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
3007 implementations-- made server implementations own AtkObject pointers
3008 rather than their respective AtkInterrface pointers to fix
3009 refcounting. AtkHyperlink is still broken.
3011 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3012 * cspi/spi_accessible.c:
3013 Added method Accessible_Role_getName(),
3014 and requisite string array (role_names).
3015 Added conversion string_from_corba_strin() call
3016 to Accessible_getName and _getDescription.
3017 * libspi/accessible.c:
3018 Added implementation for Accessible_getRole()
3020 Added festival support, used if environment variable
3023 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3025 * at-bridge/bridge.c:
3026 Now allocate Accessibility_Event using
3027 Accessibility_Event__alloc() instead of g_new0().
3028 * libspi/accessibleeventlistener.c:
3029 Initialize AccessibleEventListener->callbacks to NULL.
3030 Fixed accessible__event_listener_init() param, changed to
3031 "AccessibleEventListener *" type.
3032 Changed a bonobo_object_release_unref() call to
3033 Accessibility_Accessible_unref().
3034 * libspi/listener.c:
3035 Changed Bonobo_Unknown_unref to (equivalent)
3036 Accessibility_Accessible_unref.
3037 * libspi/registry.c:
3038 Changed bonobo_object_release_unref to
3039 Accessibility_Accessible_unref.
3041 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3044 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3045 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3046 spi-util.c spi-util.h
3047 Implementations for C bindings to remaining accessibility
3050 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3053 changed return value of Action from void to boolean to
3054 bring in line with ATK.
3057 Changed getText funcions to return "out" start and end offsets.
3058 Changed getAttributes to take and offset and return the start
3059 and end offset of the attribute run.
3060 Changed getOffsetAtPoint and getCharacterExtents to take an
3061 enum describing whether coordinates are window or screen.
3064 libspi/action.c libspi/action.h libspi/editabletext.c
3065 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3066 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3067 libspi/image.h libspi/selection.c libspi/selection.h
3068 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3069 libspi/value.c libspi/value.h
3070 Added server implementations for outstanding ATK interfaces
3071 not yet implemented.
3073 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3076 Added (missing) getName() method.
3077 Made nActions an attribute.
3078 * idl/EditableText.idl:
3079 Changed order of params in setAttributes.
3080 * idl/Hyperlink.idl:
3081 Removed getAnchor, added getURI.
3083 Changed attributes to methods, for efficiency
3084 (so that getting extents can be done in one call)
3085 * idl/Selection.idl:
3086 Changed nSelectedChildren to attribute, and re-indented.
3087 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3089 * idl/Text.idl: reformatted to match our coding style.
3090 (temporarily?) removed getRowColumnAtOffset().
3091 Changed text selection API to support multi-select and
3092 non-contiguous selections, as in ATK.
3093 * idl/Value.idl: changed some methods to attributes.
3095 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3097 * libspi/listener.c(impl_notify_event):
3098 BonoboUnkown_unref the source instead
3099 of bonobo_object_release_unref - the ORB
3100 handles the releasing.
3102 * configure.in: require ORBit-2.3.94 for
3105 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3107 Tagged CVS repository 'EA_1_0'.
3108 * README.EARLY_ACCESS:
3109 Alphabetized acknowledgements list, and
3111 Listed some known dependencies of at-spi.
3113 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3115 * docs/at-spi-docs.sgml:
3116 * docs/at-spi-sections.txt:
3117 * docs/at-spi-overrides.txt: (Added zero-length file)
3118 Documentation improvements - gtk-doc should build
3119 docs for all implemented C bindings now.
3122 * cspi/spi.c: (New file)
3123 * cspi/spi_event.c: (New file)
3124 * cspi/spi_registry.c: (New file)
3125 * cspi/spi_accessible.c: (New file)
3126 * cspi/spi_application.c: (New file)
3127 * cspi/spi_component.c: (New file)
3128 Split spi_main.c into six parts, and included them from
3129 "spi.c". This is a bit of a hack, probably temporary,
3130 but required by gtk-doc, apparently.
3132 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3135 * docs/at-spi-docs.sgml:
3136 * docs/at-spi-sections.txt:
3138 Initial checkins/modifications for gtk-doc generation.
3141 Added (missing) interface query methods to Accessible's C binding.
3143 Added GenericInterface type definition.
3145 Added query for AccessibleComponent interface to focus event handler.
3146 Added printout of bounding box for focussed component.
3147 * libspi/component.c:
3148 Added partial implementation for AccessibleComponent to C binding.
3149 * idl/Application.idl:
3150 * libspi/registry.c:
3151 * libspi/listener.c:
3152 * libspi/application.c:
3153 * libspi/application.h:
3154 Changed "ID" attribute type from string to long.
3156 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3160 Made method naming consistent: methods taking object args
3161 start with uppercase, other methods (except those using
3162 acronyms) start with lowercase. Underscores delimit between
3163 object names and method names:
3164 SPI_init() - uppercase since it starts with an acronym.
3165 getDesktopCount () - lowercase start since no object param0.
3166 Accessible_getName() - uppercase object type name, studlyCaps method
3170 Added gtk-doc documentation for all currently implemented
3171 methods in the C bindings API.
3173 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3175 * Makefile.am : changed build order to build test last.
3178 Changed "createEventListener" to "CreateEventListener".
3179 * libspi/accessibleeventlistener.c :
3180 Bugfix for addition of callbacks.
3181 * test/Makefile.am :
3182 * test/simple-at.c :
3183 Added new test that uses the C bindings API.
3185 * libspi/listener.c :
3186 * libspi/registry.c :
3187 * libspi/accessibleeventlistener.c :
3188 * at-bridge/bridge.c :
3189 Renamed member "target" of Accessibility_Event to "source",
3190 which is more descriptive.
3193 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3197 * cspi/Makefile.am :
3198 Added makefile support for at-spi/cspi directory.
3201 * cspi/spi-listener.h : (NEW FILE)
3202 Added support for/use of spi-listener.h.
3204 C bindings now build successfully, with no warnings.
3205 * libspi/accessibleeventlistener.h : (NEW FILE)
3206 * libspi/accessibleeventlistener.c : (NEW FILE)
3207 * libspi/Makefile.am :
3208 Added new object type "AccessibleEventListener"
3209 which inherits from Listener, and allows attachment
3210 of in-process callbacks (so that a client with a listening
3211 object instance can add functionality to the local
3212 implementation, dynamically).
3214 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3216 * libspi/accessible.c:
3217 Add implementation for get_index_in_parent().
3219 Added #include of "spi-roletypes.h", and
3220 added enumerated type AccessibleCoordType.
3221 Added definition for KeystrokeListener (function type).
3224 * cspi/spi-statetypes.h :
3225 * cspi/spi-roletypes.h :
3227 Added these headers, used by spi.h.
3229 Added code (NOTE: not yet built by make).
3231 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3233 * libspi/Makefile.am: generate imodule
3234 at the same time as other idl compiler
3237 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3238 * libspi/registry.c :
3239 * libspi/application.c :
3240 * idl/Application.idl :
3241 Made registration with toolkit an application method,
3242 which is required since each app has its own toolkit static
3243 environment. Thus the bridge must register for
3244 notification of toolkit events from each application in turn.
3245 Toolkit notifications are now successfully registered for, and
3246 sent to the listening at client.
3248 Changed toolkit event string to use hyphens rather than underscores.
3249 * libspi/listener.c :
3250 listner now gives more info in debug mode - it reports the
3251 name of the event received, as well as the name of the source.
3254 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3256 * libspi/registry.c :
3257 added more implementation for toolkit events.
3258 Fixed bug such that toolkit event registrations
3259 (via atk) use the whole event name string, not
3261 Removed a useless call to an ORBit_ method.
3262 * at-bridge/bridge.c :
3263 Removed unused local sbuf[] variable.
3265 We now register for Gtk:GtkWidget:button_press_event
3266 events as well as "focus:" events.
3268 Add some more API from Registry.idl that was missing,
3269 for keystroke listening, keystroke and mouse event
3270 synthesis, and enumeration of accessible desktops.
3272 2001-08-16 Michael Meeks <michael@ximian.com>
3274 * configure.in: use AM_GLIB_GNU_GETTEXT.
3276 * Makefile.am (SUBDIRS): kill intl.
3278 2001-08-15 Michael Meeks <michael@ximian.com>
3280 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3282 * configure.in: upd.
3284 * configure.in: depend on a recent bonobo-activation that
3285 will find our server files ...
3287 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3289 * libspi/accessible.c : accessible_new() :
3290 Now we add the Component interface via bonobo_object_add_interface,
3291 if the contained AtkObject implements AtkComponent.
3292 * libspi/accessible.h : now include "component.h"
3293 * libspi/component.h :
3294 * libspi/component.c : added files - implementation of
3295 bonobo wrapper object for Accessibility/Component
3296 * libspi/listener.c :
3297 Added test code to check for Accessibility/Component:1.0
3298 interface and report whether it is implemented by the
3300 * libspi/registry.c :
3301 Now we check for not only the hash of the whole event
3302 string before relaying the event, we also check the
3303 "minor" event string (without the detail string).
3304 This allows event listeners to be registered against
3305 all events of a certain major+minor type, or just
3306 against a specific major+minor+detail type.
3307 * libspi/accessible.c :
3308 Added implementations for Accessible:get_parent(),
3309 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3310 * libspi/registry.c :
3311 * libspi/listener.c :
3312 Replaced calls to Accessibility_Accessible_ref() and
3313 Accessibility_Accessible_unref() with
3314 calls to bonobo_object_dup_ref() and
3315 bonobo_object_release_unref(), so that the CORBA object
3316 is dup-ed and released when relayed, as well as the bonobo object.
3318 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3320 * libspi/Makefile.am,
3321 registryd/Makefile.am,
3322 at-bridge/Makefile.am.
3323 test/Makefile.am, configure.in:
3324 reverse previous changes.
3326 * /idl/Image.idl: fix typo.
3328 * test/Makefile.am: put DEBUG_FLAGS
3331 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3333 * test/app.c: use argv[0] instead of
3336 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3338 * libspi/Makefile.am,
3339 registryd/Makefile.am,
3340 at-bridge/Makefile.am.
3341 test/Makefile.am, configure.in:
3342 cleanup, replace individual LIBS/CFLAGS with
3343 AT_COMMON_{LIBS|CFLAGS}.
3347 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3349 * configure.in, libspi/Makefile.am:
3350 Change IDL path checking for bonobo-activation
3353 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3355 * registryd/registry.c : separated event listeners to use
3356 3 separate lists (focus, window, toolkit). Began testing
3357 event names against hashes before relaying events.
3358 * test/at.c : now register for events of type "focus:"
3359 * test/app.c : now generate events of type "focus:"
3360 * at-bridge/bridge.c : register with ATK for focus events,
3361 and we now relay those focus events to any "focus:" listeners.
3362 This now works with the bridge as a GTK_MODULE when running test/at.
3363 * libspi/registry.c :
3364 * libspi/listener.c :
3365 now we ref event sources before propagating, and unref on receipt.
3366 * libspi/registry.c :
3367 some changes to internal structs, to support event typestring hashes.
3368 * text/app.c : changed the way the appname is generated.
3369 * cspi : added directory that will hold the C bindings library for
3370 non-CORBA/bonobo-savvy clients.
3371 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3372 * idl/Component.idl : added in parameter to indicate coord system for
3373 geometry-related calls.
3374 * idl/Hyperlink.idl : added readonly n_links attribute
3375 * idl/Image.idl : changed methods to attributes.
3377 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3379 * at-bridge/Makefile.am: link against
3380 ../libspi/libspi.la instead of -lspi.
3382 * at-spi/test/app.c: include
3383 bonobo-activation.h. Use a default appname
3384 if one is not provided.
3386 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3388 * idl/Registry.idl : temporarily changed register_Application
3389 to oneway, to work around issue with initial registration
3391 * idl/Application.idl : changed attribute "id" from readonly
3392 to read-write, since it needs to be assigned by Registry.
3393 * registryd/registryd.c : added call to set application id
3395 * registryd/registry.c : changed de-registration procedure to
3396 use CORBA_Object_hash() to find matching object ref in application
3397 lists and listener lists.
3398 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3399 began distinguishing between event types (work in progress).
3401 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3404 * libspi/application.c:
3405 Added implementations for get/set id, get_toolkitName,
3407 * registryd/registryd.c :
3411 Converted from use of OAF to bonobo-activation.
3412 * libspi/desktop.h :
3413 * libspi/desktop.c :
3415 Removed references to atksimpleobject, since base atkobject
3416 implementation now provides functionality we need.
3417 * libspi/atksimpleobject.c :
3418 * libspi/atksimpleobject.h :
3423 * at-bridge/Makefile.am
3424 * at-bridge/bridge.c
3427 Added directory "bridge" and contents, and added dependencies
3428 in Makefile.am/configure.in.
3429 Initial checkin of "at-bridge".
3430 This code is a GTK_MODULE which automatically registers
3431 GTK+ apps with the accessibility registry, using an object
3432 reference to the root ATK object.
3434 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3436 * po/Makefile.in.in: Remove. Again. If this
3437 doesn't get autogenerated - you need to update
3440 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3442 * po/Makefile.in.in: Add. Again.
3444 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3446 * libspi/accessible.c : added support for 'description' property.
3447 * libspi/accessible.c
3449 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3450 (since the two are now equivalent in libbonobo)
3458 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3459 Bonobo::Unknown as does Accessibility::Accessible.
3460 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3461 interface with Bonobo::Stream, since it was redundant with it.
3462 (The Stream returned by a StreamableContext object is expected to
3463 implement only a subset of Bonobo::Stream)
3465 2001-07-28 Anders Carlsson <andersca@gnome.org>
3467 * libspi/accessible.c (accessible_object_finalize): Change
3468 g_free to g_object_unref since the AtkObject is a GObject.
3470 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3472 * idl/Accessibility.idl: add new IDL files
3475 * idl/Action.idl: Definitions of actionable UI object
3476 * idl/Component.idl: Definitions of UI component geometry, etc.
3477 * idl/Hyperlink.idl: Defs of hyperlink behavior
3478 * idl/Image.idl: Def of accessible image
3479 * idl/Selection.idl: Definition of UI object with selectable children
3480 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3481 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3482 * idl/Text.idl: Interface defs for UI elements with complex textual content
3483 * idl/Value.idl: Definition of UI element that is a value controller or display
3485 2001-07-27 Michael Meeks <michael@ximian.com>
3487 * po/Makefile.in.in: remove autogenerated file from CVS.
3489 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3492 * idl/Registry.idl: include guard.
3494 * idl/Accessibility.idl: Add, and include all the other IDL
3497 * idl/*.idl: remove mass of pragmas etc.
3499 2001-07-26 Michael Meeks <michael@ximian.com>
3501 * registryd/Makefile.am (registryd_SOURCES): remove
3504 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3506 * libspi/.cvsignore, registryd/.cvsignore,
3507 test/.cvsignore: updated.
3509 * po/Makefile.in.in: gettext update.
3511 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3513 * initial CVS checkin
3515 2001-06-29 Michael Meeks <michael@ximian.com>
3517 * configure.in: add AM_CONFIG_HEADER to gen config.h