1 2002-02-12 Bill Haneman <bill.haneman@sun.com>
3 * registryd/deviceeventcontroller.c:
4 Added implementation for generateMouseEvent.
7 Connected new implementation for generateMouseEvent
10 2002-02-12 Bill Haneman <bill.haneman@sun.com>
13 Incremented revision (but no change in public API
14 outside of 'utils', which are not installed public yet.)
17 Changed to use atk_component API for layers and
18 mdi_zorder, instead of deprecated atk_object API.
20 Magnification Utility Enhancements:
23 Added implementation of createZoomRegion, clearAllZoomRegions,
24 resizeZoomRegion. Added new commandline argument
25 "--no-initial-region". Note that clearAllZoomRegions doesn't
26 unmap the old '0' region as it should (yet), and the other
27 methods only work when creating/resizing a single region,
29 (Code for multiple region support will be added later.)
32 Now we raise the magnifier window each time it's refreshed;
33 this will help keep it on top.
36 Added simple wrappers for above, used by mag_control.
37 For general use, it's recommended to use the bonobo magnifier
38 control API directly instead of using these wrappers.
41 Moved ZoomRegionData from magnifier.c to this file.
44 Added some code to exercise new IDL implementations.
46 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
48 * libspi/text.c: Provide implementation for getAttributes.
50 2002-02-04 Bill Haneman <bill.haneman@sun.com>
56 Replaced use of deprecated g_main_iteration with
57 g_main_context_iteration.
59 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
62 Incremented revision for desktop alpha 2.
64 2002-01-28 Mark McLoughlin <mark@skynet.ie>
66 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
69 * test/simple-at.c: include netinet/in.h.
71 2002-01-24 Mark McLoughlin <mark@skynet.ie>
73 * cspi/spi_accessible.c: (Accessible_getRelationSet):
74 use NULL, not CORBA_OBJECT_NIL.
76 * libspi/accessible.c:
77 (impl_accessibility_accessible_get_relation_set):
78 allocate the sequence correctly.
80 * libspi/remoteobject.h: kill spi_remote_object_new.
82 * test/test-simple.c: (validate_accessible): add code
83 to test relation sets, now all we need is to figure
84 out how to excercise this code path :/
86 2002-01-18 Michael Meeks <michael@ximian.com>
89 (key_listener_cb): consume the key.
90 (test_keylisteners): update.
91 (main): wait for any pending unrefs on events.
93 * registryd/deviceeventcontroller.c
94 (spi_controller_update_key_grabs): only re-issue the
95 grab on a key release.
96 (spi_device_event_controller_forward_key_event):
97 refresh the keygrabs before we notify the listeners,
98 to reduce the X ungrab / re-grab race.
99 (spi_controller_register_with_devices): remove
100 XSelectInput - we do that with the gdk_window_ call.
101 (_spi_controller_device_error_handler): return a value.
102 s/GDK_DISPLAY/spi_get_display/
104 2002-01-17 Michael Meeks <michael@ximian.com>
106 * registryd/deviceeventcontroller.c
107 (_deregister_keygrab): don't blow out the later
110 * test/test-simple.c (test_keylisteners): do a
111 more intelligent validation.
113 2002-01-14 Michael Meeks <michael@ximian.com>
115 * atk-bridge/bridge.c
116 (gnome_accessibility_module_init),
117 (gnome_accessibility_module_shutdown): impl.
118 (gtk_module_init): protect vs. double inits.
119 (add_signal_listener): impl.
120 (spi_atk_bridge_state_event_listener): kill
121 (deregister_application): split out of
122 (spi_atk_bridge_exit_func): here.
124 2002-01-18 Bill Haneman <bill.haneman@sun.com>
127 Added caret tracking when using magnifier, and
128 now use text bounds for focus tracking of text elements, rather than
129 the component bounds - this is helpful for short text fields in long
130 table cells, at high magnification.
132 2002-01-16 Bill Haneman <bill.haneman@sun.com>
134 * registryd/deviceeventcontroller.c:
135 Regression fix for keylistener de-registration; global keygrabs
136 were not being released when deregisterKeystrokeListener was
137 called in cspi, since
138 Accessibility_DeviceEventController_deregisterKeystrokeListener
139 was called with a zero-length keyset. That is because the cspi
140 method, SPI_deregisterKeystrokeListener, does not take a keyset
141 parameter but instead should remove all the key grabs held be a
143 The code in impl_deregister_keystroke_listener was changed to copy
144 the keylist from the listener instance previously registered with
145 the DeviceEventController before releasing the grabs.
147 * registryd/registry.c:
148 * registryd/deviceeventcontroller.c:
149 * libspi/spi-private.h:
151 Changed spelling of "re-enterant" to "re-entrant" globally.
153 2002-01-16 Bill Haneman <bill.haneman@sun.com>
155 * test/test-simple.c:
156 Changed key listeners test - the test was slightly mis-using the
157 (admittedly poorly documented) SPI_generateKeyboardEvent API.
158 It now uses '=' as the key event listened to and generated,
159 relying on a keysym match rather than assuming that keycode 33
160 is always equal to keysym '!'.
162 2002-01-15 Bill Haneman <bill.haneman@sun.com>
165 Changed simple-at to use a specific keyset, rather than
166 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
167 manager, desktop, etc.
169 2002-01-11 Bill Haneman <bill.haneman@sun.com>
171 * registryd/deviceeventcontroller.c:
172 Replaced standard X error handler with a special handler that
173 is non-fatal for failed keygrabs. This works around
174 problems with keygrab clashes sometimes observed on
176 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
177 mouse handling code as yet).
179 2002-01-11 Bill Haneman <bill.haneman@sun.com>
182 Incremented revision for desktop alpha release.
185 Fixed a couple of the more glaring errors (still not
188 2002-01-11 Michael Meeks <michael@ximian.com>
190 * registryd/deviceeventcontroller.c
191 (spi_device_event_controller_forward_key_event): kill
192 XUngrabKey / XKeyGrab race.
193 (spi_controller_grab_keyboard): rename to
194 (spi_controller_update_key_grabs): this, and deal
195 with incremental adding / removing grabs more
197 (_register_keygrab): ensure we're not pending a remove.
198 (spi_grab_mask_free): impl.
199 (spi_controller_register_global_keygrabs): split out
201 (handle_keygrab): impl.
202 (_deregister_keygrab): impl.
203 (spi_controller_deregister_global_keygrabs): impl.
204 (spi_controller_update_key_grabs): re-issue the grab if
205 we just recieved a notification.
207 * test/test-simple.c (key_listener_cb): remove debug.
209 * registryd/deviceeventcontroller.c
210 (spi_controller_register_device_listener): after
211 registering a global keygrab, actualy register it !
212 don't wait for a timeout; doh !
214 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
215 to make it more readable / manipulable.
216 s/grabmask/grab_mask/ s/refcount/ref_count/
217 s/keyval/key_val/ s/modmask/mod_mask
219 2002-01-08 Michael Meeks <michael@ximian.com>
221 * registryd/deviceeventcontroller.c
222 (spi_controller_register_with_devices): use gdk calls to
224 (global_filter_fn): implement the filter.
225 (spi_device_event_controller_check_key_event): rename to
226 (spi_device_event_controller_forward_key_event): this & upd.
227 (spi_get_display): replace with GDK_DISPLAY.
229 * registryd/deviceeventcontroller.c
230 (spi_controller_deregister_device_listener): unroll into
231 (impl_deregister_keystroke_listener): here to simplify.
232 (spi_controller_register_global_keygrabs): split cut and
233 paste (!) out into (_register_keygrab): here, shorter & sweeter.
234 (spi_controller_deregister_device_listener): remove.
235 (impl_register_mouse_listener): remove, no mouse listener
236 support in at-spi-1.0
238 * registryd/registry.c
239 (_device_event_controller_hook): kill.
240 (spi_registry_init): upd.
242 * registryd/deviceeventcontroller.c
243 (spi_device_event_controller_class_init): upd.
244 (spi_check_key_event): merge into.
245 (spi_device_event_controller_check_key_event):
246 here and kill strange static ev init, don't leak
247 the x_event - nor dynamicaly allocate it.
249 * registryd/registry-main.c (main): re-direct
250 timeout to remove strange vtable mess.
252 * registryd/deviceeventcontroller.c
253 (remove_listener_cb): impl.
254 (spi_controller_deregister_device_listener):
255 fix re-enterancy hazard.
257 2002-01-07 Michael Meeks <michael@ximian.com>
259 * registryd/deviceeventcontroller.c
260 (spi_device_event_controller_new): upd.
261 (impl_notify_listeners_sync): upd. debug.
262 (spi_notify_keylisteners): fix re-enterancy hazards,
263 prettify, remove O(n*n) iteration.
264 (spi_controller_grab_keyboard): fix iteration.
265 (spi_check_key_event): re-format to suit coding style.
266 Clean all the warnings - we're warning free.
268 * registryd/deviceeventcontroller.h:
269 * registryd/registry.h: make mutualy referential with
270 typesafe forward references instead of (!) void pointer
273 2002-01-11 Michael Meeks <michael@ximian.com>
275 * cspi/spi_accessible.c (role_names): add a role name
276 to sync this array with the enum; and make the regression
279 2002-01-10 Michael Meeks <michael@ximian.com>
281 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
282 allow expansion of enumeration & kill warning.
284 * test/test-simple.c (key_listener_cb): impl.
285 (test_keylisteners): impl.
287 * cspi/spi-listener.h: make listener signatures const
288 on the provided (const) events.
290 * test/keysynth-demo.c: upd. to const events.
292 * test/simple-at.c: ditto.
294 2002-01-11 Bill Haneman <bill.haneman@sun.com>
297 Rev the version to 0.5 (the previous tarball was named 0.4,
298 even though the micro number was 3), so we need to rev upwards
299 again for beta2/"desktop-alpha"
302 Checked in a demo script, which requires editing before use!
303 Proceed with caution.
306 Fixed typo in header which was redefining SPI_ACTION_CLASS.
308 * cspi/spi_accessible.c:
309 Add a couple of missing enum initializations, and fix some enum
312 * cspi/spi_registry.c:
313 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
315 * docs/reference/cspi/at-spi-cspi-sections.txt:
316 Remove/fix a couple of broken document references.
319 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
320 as Alt-Control to listen for commands, since on some systems
321 Control-Alt may already be grabbed.
323 2002-01-10 Bill Haneman <bill.haneman@sun.com>
326 Update version number to 0.4 for Beta2.
328 * libspi/accessible.c, libspi/accessible.h:
329 Expose spi_accessible_construct, to enable libgail-gnome
330 construction from spi_accessible subtype.
333 Workaround for bug in some non-gnome-compliant window managers
334 which made magnifier resize improperly.
336 2002-01-09 Bill Haneman <bill.haneman@sun.com>
338 * libspi/accessible.c: (spi_accessible_new) :
339 Move the test for SPI_IS_REMOTE_OBJECT to
340 spi_accessible_new_return, fixing a bug and compile time warning.
342 2002-01-08 Michael Meeks <michael@ximian.com>
344 * registryd/registry.c (parse_event_type): remove strndup.
346 * libspi/Makefile.am (libspi_la_SOURCES): remove
347 sources already included in the headers section.
349 * libspi/util.c: add.
351 * libspi/spi-private.h: add.
353 * registryd/registry.c: update to moved list iterators.
355 2002-01-05 Michael Meeks <michael@ximian.com>
357 * test/simple-at.c (main): upd. auto-module set to atk-bridge
359 * test/test-simple.c (main): ditto.
361 2002-01-04 Michael Meeks <michael@ximian.com>
363 * libspi/accessible.c (spi_accessible_new): remove 2nd,
366 * registryd/registry.c
367 (get_listener_list): impl.
368 (impl_accessibility_registry_register_global_event_listener):
369 re-impl. to simplify using ~, remove dodgy const cast off.
370 (parse_event_type): constify.
371 (impl_accessibility_registry_deregister_global_event_listener_all):
372 re-write, more efficiency and simplicity, kill re-enterancy
374 (compare_listener_corbaref, compare_corba_objects),
375 (compare_listener_quarks): define out.
376 (impl_accessibility_registry_deregister_global_event_listener):
377 re-write for effiency, and nail re-enterancy hazard.
378 (impl_accessibility_registry_get_desktop_list): impl.
379 (re_enterant_list_delete_link): impl.
380 (re_enterant_list_foreach): impl.
381 (remove_listener_cb): impl.
382 (_registry_notify_listeners): kill.
383 (notify_listeners_cb): impl.
385 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
386 (SPI_getDesktopList): impl.
388 * test/test-simple.c (test_desktop): test the methods.
390 2002-01-03 Michael Meeks <michael@ximian.com>
392 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
393 keystrings since we free them
394 (SPI_freeAccessibleKeySet): in here.
396 * libspi/accessible.c (spi_accessible_new): kill warning,
397 wonder what is going on with the constructor here.
399 2002-03-01 Bill Haneman <bill.haneman@sun.com>
401 * libspi/accessible.c (spi_accessible_new ()) :
402 Added check to see if AtkObject is an SpiRemoteObject before
403 creating an SpiAccessible.
405 2002-05-01 Bill Haneman <bill.haneman@sun.com>
407 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
408 Enable keygrabs using the Control modifier, now that they are
409 working properly (they were previously disabled).
412 Change the command keygrab for this demo to "Control+Alt", so as
413 to conflict with fewer other key commands on the system; this
414 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
416 Removed a pointlessly-chatty keylistener for unshifted keys
417 (shifted keys are still reported).
419 2002-02-01 Bill Haneman <bill.haneman@sun.com>
421 * libspi/remoteobject.h:
422 * libspi/remoteobject.c:
423 Added definitions for special AtkObject subtype, required for
424 support of remote components (specifically, used by BonoboControl
425 accessibility implementation).
427 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
429 * cspi/spi.h: synched relation types with ATK
431 * cspi/spi_accessible.c: Added implementations of
432 AcccessibleRelation_* methods
434 * idl/Accessibility_Relation.idl: added getRelationTypeName
435 method. Synched known relation types with ATK. Allowed for
436 relation type extension with the RELATION_EXTENDED type.
438 * libspi/relation.c: Provided implementations for
439 AccessibleRelation methods.
441 2002-01-01 Bill Haneman <bill.haneman@sun.com>
443 API tweaks for today's API 'freeze'.
446 Added placeholder functions to allow future compatible expansion
447 of the IDL interfaces.
449 * idl/Accessibility_Registry.idl:
450 Changed generateKeyEvent to generateKeyboardEvent. Changed
451 signature of this method to accept an optional keystring in
452 parameter (for complex text input synthesis) and changed use of
453 simple 'boolean' parameter in registerKeystrokeListener to a
454 struct, EventListenerMode.
456 * cspi/spi_accessible.c:
458 * cspi/spi_streamablecontent.c:
459 Added references to AccessibleStreamableContent interface, and
460 definition and implementation of AccessibleStreamableContent
463 * cspi/spi_registry.c:
465 Changed generateKeyEvent API to generateKeyboardEvent,
466 taking a new (optional) keystring parameter to support complex
471 Renamed directory (to better reflect its actual purpose, bridging
472 from at-spi to ATK). The .so module is also now named
475 * idl/Accessibility_Hypertext.idl:
476 * libspi/accessible.c:
477 * libspi/hypertext.h:
478 * libspi/hypertext.c:
479 Changed Accessibility_Hypertext to *not* derive from
482 * cspi/spi_registry.c:
483 Added list of legal event type names for 'window' events, which
484 completes the registry event API.
486 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
488 * at-bridge/bridge.c: Added registration for separate
489 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
490 signals. If either of the first two parameters to the generic
491 bridge signal handler are ints, they are passed on as event
492 details. This allows an AT to determine what text was inserted.
494 2001-12-21 Bill Haneman <bill.haneman@sun.com>
496 * registryd/deviceeventcontroller.c:
497 Fixed regressions in generateKeyEvent caused by the removal of
498 gdk_init from registryd; we now use pure X calls to connect to the
499 display, which makes sense because deviceeventcontroller already
500 uses a fair bit of X API (should eventually be migrated to a
501 'portability layer').
503 * registryd/desktop.c:
504 Fixed minor regression in spi_desktop_init, changed the way the
505 desktop name is being set to work with new spi_base API
506 (gobject-based, rather than AtkObject-based).
508 * registryd/Makefile.am:
509 Minor revision of makefile to use XTST_LIBS variable rather than
510 hard-wiring the Xtst LD_ADD element.
512 * test/keysynth-demo.c:
513 Tweaked an output message; added initialization of the
514 'keystrings' member of the "switch listener" key_set.
517 Squashed compile-time warning.
519 * libspi/accessible.c:
520 Cosmetic and formatting fixes, renamed a static method.
522 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
524 * libspi/accessible.c
526 * libspi/application.c
530 * libspi/editabletext.c
538 * registryd/desktop.c:
539 Changed SpiBase to contain a GObject pointer rather than an AtkObject
541 2001-12-17 Bill Haneman <bill.haneman@sun.com>
543 * idl/Accessibility_Registry.idl:
544 Added boolean member 'is_text' to DeviceEvent. This is for the
545 use of key events, and helps prevent ambiguity between composed
546 key strings and keysym names, since both may potentially be
547 returned in the 'event_string' member.
549 * at-bridge/bridge.c:
550 * registryd/deviceeventcontroller.c:
551 Use the 'is_text' member when notifying device event listeners.
552 Knon issue: composed characters are not dealt with correctly by
553 the global key listener implementation yet.
555 2001-12-17 Bill Haneman <bill.haneman@sun.com>
557 * at-bridge/bridge.c:
558 Namespaced local static methods to spi_atk_bridge_* where
559 previously named bridge_*, and spi_* elsewhere.
561 * at-bridge/bridge.c:
562 * cspi/bonobo/cspi-bonobo-listener.c:
563 Added demarshalling/conversion for string member of
564 Accessibility_DeviceEvent to AccessibleKeystroke.
566 * registryd/deviceeventcontroller.c:
567 Added code to fill the Accessibility_DeviceEvent key string value
568 member for global key events (i.e. from XGrabKey), to match
569 behavior of Accessibility_DeviceEvent from the toolkit key events
570 from the bridge. Fixed timestamp in global key event notifications.
573 Added printout of key event's string value to
574 report_ordinary_key_event, for demo/debugging purposes.
576 2001-12-15 Bill Haneman <bill.haneman@sun.com>
578 * idl/Accessibility_Registry.idl:
579 Removed Accessibility_KeyStroke structure in favor of generic
580 Accessibility_DeviceEvent structure.
581 Changed Accessibility_ControllerEventMask from a struct to an
584 * at-bridge/bridge.c:
585 Changed APIs to use DeviceEvent structure as above, and removed
586 bogus casting between these event structures.
588 * cspi/spi-listener.h:
589 Added keystring member of AccessibleKeystroke structure, to enable
590 matching on event "names" rather than only hardware codes and
594 Added keystrings member of AccessibleKeySet struct, to allow
595 matching on event names (as above).
596 Added declarations for SPI_createAccessibleKeySet and
597 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
598 event modmasks directly as unsigned ints rather than structs with
599 refcounts, in the DeviceEventController methods.
601 * cspi/spi_registry.c:
602 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
604 * cspi/spi-roletypes.h:
605 Added documentation of newly added SPI Roles.
607 * cspi/bonobo/cspi-bonobo-listener.c:
608 Changes in support of API changes above.
610 * libspi/accessible.c:
611 Converted APIs to use DeviceEvent structure (see IDL changes
614 * registryd/deviceeventcontroller.c:
615 Added DEControllerGrabMask structure to track keygrabs not only by
616 modmask but by keyset as well; this allows us to do "global"
617 (i.e. X) keygrabs on a per-key or keyset basis rather than always
618 grabbing on AnyKey and then filtering after-the-fact.
619 Bugfixes for event filtration mean that we don't get false matches
620 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
622 * registryd/deviceeventcontroller.c:
623 Namespaced a number of static methods to use spi_ prefix. Major
624 revision to internals of global (i.e. X) key grabs.
626 * registryd/deviceeventcontroller.h:
627 Removed keymask_list and added keygrabs_list to
628 SpiDeviceEventController struct.
631 Added use of SPI_createAccessibleKeySet API when creating a
632 listener for only one key. Attach a listener to "shift spacebar
633 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
634 X key event names to SPI key event names, so that listeners are
635 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
637 * test/keysynth-demo.c:
638 Changed (incorrect) use of X key event names (KeyPressed,
639 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
642 2001-12-12 Bill Haneman <bill.haneman@sun.com>
644 * libspi/accessible.c:
645 Convert all AtkRole enumerations to Accessibility_Role enums when
646 getting a role from an AtkObject.
648 * cspi/spi_accessible.c:
649 Complete the conversion of Accessibility_Role enums at runtime to
650 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
651 role enums correctly match those given in spi-roletypes.h.
652 Re-synchronize the local names list for AccessibleRole_getName ().
653 AccessibleRole_getName is now deprecated, since it duplicates the
654 more reliable Accessible_getRoleName.
655 Added some role types from Accessibility_Role.idl.
657 * idl/Accessibility_Role.idl:
658 Added some role types used by AtkRole.
660 2001-12-12 Bill Haneman <bill.haneman@sun.com>
663 * cspi/spi_registry.c:
665 * cspi/cspi-bonobo-listener.c:
666 Namespaced all methods that did not begin with an "SPI_" or
667 "Accessible" prefix to "SPI_".
670 Homogenized internal function namespace to "cspi_" for statics.
673 Patched tests to use the new CSPI API.
675 * docs/reference/cspi/at-spi-cspi-sections.txt:
676 Updated docs to reflect namespace changes, and added a number of
677 methods to the documentation.
679 * registryd/registry.c:
680 Changed use of strings and string hashes in listener event
681 matching and parse_event_string to use GQuark, which is guaranteed
684 * registryd/registry.h:
685 Squashed annoying warning.
687 * idl/Accessibility_Role.idl:
688 Extended range of available Accessibility_Role values.
690 * cspi/spi_accessible.c:
691 Re-ordered role names.
693 2001-12-12 Bill Haneman <bill.haneman@sun.com>
695 * idl/Accessibility_Value.idl:
696 Revert use of union back to CORBA_double, since the double type is
697 more efficient and can contain the other types without loss of
700 * idl/Accessibility_Accessible.idl:
701 Added method Accessibility:Accessible:getRoleName, to complement
702 Accessibility:Accessible:getRole.
704 * cspi/spi_accessible.c:
706 Added C binding for above, Accessible_getRoleName (), and changed
707 signature of Accessible_getRole () to return an AccessibleRole.
709 * cspi/spi-roletypes.h:
710 Changed AccessibleRole_getName to return a char * instead of a
711 const char *. This method is now at least temporarily deprecated
712 in favor of asking Accessibles for their RoleNames directly.
715 Revert to match Accessibility_Value.idl;
719 Change signature of AccessibleValue methods to use double rather
723 * cspi/spi_accessible.c:
724 Changed Accessible_getRole to return an AccessibleRole enum rather
725 than a UTF-8 string. The UTF-8 string can still be obtained via
726 AccessibleRole_getName ().
728 * test/test-simple.c:
729 Add test_action. Small fixup to match API change to Accessible_getRole.
732 Bugfix for get_action_from_servant ().
734 2001-12-11 Michael Meeks <michael@ximian.com>
736 * libspi/libspi.h: remove registry.h and
737 desktop.h, deviceeventcontroller.h
739 * libspi/Makefile.am: remove registry.[ch],
740 desktop.[ch], deviceeventcontroller.[ch]
742 * registryd/Makefile.am: add registry.[ch],
743 desktop.[ch], rename registryd.c to registry-main.c.
744 add deviceeventcontroller.[ch]
746 2001-12-11 Bill Haneman <bill.haneman@sun.com>
749 Replace setenv() call with putenv ().
751 * libspi/component.c:
752 Bugfix in AccessibleComponent_getExtents (),
755 2001-12-11 Michael Meeks <michael@ximian.com>
757 * libspi/image.c (impl_getImageExtents): impl.
758 (spi_image_class_init): upd.
761 (AccessibleImage_getImageDescription): fix daft bug
764 * test/test-simple.c (global_listener_cb): update
765 to only quit if not --poke
766 (main): catch --poke.
767 (validate_accessible): upd. dumping, call test_image
770 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
773 * idl/Accessibility.idl: update all IDL includes.
775 * idl/*.idl - rename to namespace - this sucks, blame
776 mjs' bad decision for oafd.
778 * test/test-simple.c (create_test_window): add more tests.
779 (create_tree): split this out.
780 (validate_accessible): bugfix.
782 2001-12-11 Michael Meeks <michael@ximian.com>
784 * cspi/bonobo/cspi-bonobo-listener.c:
785 (cspi_kestroke_listener_unref),
786 (cspi_event_listener_unref): impl. undoing previous
787 homenous environment - for Bill.
789 * cspi/spi_table.c (long_seq_to_array): use
792 * cspi/spi_main.c: split out all bonoboish bits into
795 * cspi/spi-impl.h: upd. typedefs.
797 * cspi/spi_registry.c: update to lowlevel API,
798 return booleans to indicate success in some places.
800 * cspi/spi_event.c: update to lowlevel API.
802 * cspi/bonobo/Makefile.am: add.
804 * cspi/bonobo/cspi-lowlevel.h: add
806 * cspi/bonobo/cspi-bonobo.c: add
808 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
810 * cspi/Makefile.am: remove spi-listener-impl.[ch],
811 (SUBDIRS): add bonobo, link in the libs.
813 * cspi/spi-util.c: kill this file.
815 * TODO: merge in my bits.
817 2001-12-11 Michael Meeks <michael@ximian.com>
819 * test/test-simple.c (test_value, test_table, main):
820 remove unused variables causing warnings.
822 * configure.in: cleanup checks - require gail.
824 2001-12-11 Bill Haneman <bill.haneman@sun.com>
827 Changed Value interface to use SValue (scalars) rather than
828 assuming all values are floats. This allows floats, doubles,
829 longs, shorts, and unsigned values to be manipulated.
830 Introduced Accessibility:SValue union.
833 Updated to use new API above, and to work correctly with GValues
834 of different types in AtkValue.
837 Updated to use new API above. cspi's API is as yet unchanged.
840 Updated the Value revision action item.
842 2001-12-10 Bill Haneman <bill.haneman@sun.com>
844 * test/test-simple.c:
845 Added test_table (GtkTreeView widget in test window to follow).
846 Un-commented test_value, added GtkRange widget.
847 Added GtkTreeView widget with GtkListStore. It passes regression
848 test but leaks one SPI object for some reason.
851 Fixed bug in impl__set_currentValue.
853 2001-12-10 Michael Meeks <michael@ximian.com>
855 * cspi/spi_text.c: audit for exception handling,
856 tolerating NULL object references safely etc.
858 * cspi/spi_value.c: ditto.
860 * cspi/spi_table.c (AccessibleTable_getSummary),
861 (AccessibleTable_getAccessibleAt),
862 (AccessibleTable_getRowHeader),
863 (AccessibleTable_getColumnHeader),
864 (AccessibleTable_getCaption): fix bugs hidden by
866 (long_seq_to_array): impl.
867 (AccessibleTable_getSelectedRows),
868 (AccessibleTable_getSelectedColumns): use it.
870 2001-12-10 Bill Haneman <bill.haneman@sun.com>
873 Added a TODO list (rough and short for now).
875 * cspi/spi_hyperlink.c:
876 * cspi/spi_hypertext.c:
877 Fixed macro name typos, and remove use of obsolete macro in
878 AccessibleHyperlink_getLink.
881 * cspi/spi_accessible.c:
882 * cspi/spi_application.c:
883 * cspi/spi_component.c:
884 * cspi/spi_selection.c:
887 Documentation fixes (removed return values from ref/unref methods).
889 2001-12-10 Michael Meeks <michael@ximian.com>
891 * cspi/spi_action.c: audit for exception handling,
892 tolerating NULL object references safely etc.
894 * cspi/spi_accessible.c: ditto.
896 * cspi/spi_component.c: ditto.
898 * cspi/spi_editabletext.c: ditto.
900 * cspi/spi_hyperlink.c: ditto.
902 * cspi/spi_hypertext.c: ditto.
904 * cspi/spi_image.c: ditto.
906 * cspi/spi_selection.c: ditto.
908 2001-12-10 Michael Meeks <michael@ximian.com>
910 * configure.in: use cspi/libspi.pc.in instead.
912 * Makefile.am (pkgconfig_DATA): upd. to match.
914 * test/simple-at.c (report_focus_event): kill hacks around
915 bad return values, use putenv not setenv
917 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
918 fire ChildGone - I killed it.
921 (impl_accessibility_component_get_extents): remove
924 * idl/Accessible.idl: kill ChildGone exception.
926 * cspi/*.[ch]: kill int return from ref / unref.
928 * cspi/spi_main.c (cspi_object_add_check): fold into
929 (cspi_object_add): here.
931 * cspi/spi_component.c (AccessibleComponent_getExtents):
932 handle exceptions elegantly.
934 * cspi/spi-private.h (cspi_check_ev_return),
935 (cspi_return_if_fail): impl.
937 * cspi/spi_accessible.c: use extensively.
938 (AccessibleStateSet_equals): add direct compare check.
940 * cspi/spi_selection.c: tolerate NULL objs, and check
941 exceptions before return.
943 * cspi/spi-util.c (cspi_warn_ev): rename to
944 (cspi_check_ev): this & don't pass ev in; no point.
946 2001-12-10 Michael Meeks <michael@ximian.com>
948 * test/test-simple.c: use putenv not setenv
949 (get_environment_vars): more chatty if you're not using
952 * test/simple-at.c: do the setenv so more people see the
955 2001-12-10 Bill Haneman <bill.haneman@sun.com>
958 Changed check of CORBA_environment on notification to be a warning
959 instead of an error for the moment, since we can recover from this
960 error when caused by a queued notification from a dead app.
963 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
964 used by all current implementors of AtkValue), and coerce to
965 CORBA_float. (Proper general case fix may require change to Value.idl).
967 2001-12-09 Bill Haneman <bill.haneman@sun.com>
971 * cspi/spi_accessible.c:
972 Documentation fixes: added user_data params to documentation for
973 listeners and callbacks.
975 * cspi/spi_accessible.c:
976 Changed AccessibleStateSet_compare to return a
977 StateSet rather than return the difference set into a third parameter.
980 2001-12-09 Bill Haneman <bill.haneman@sun.com>
983 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
984 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
988 Remove subdirectory po from SUBDIRS for now.
990 * at-bridge/bridge.c:
991 Beefed up a couple of debug printouts.
992 One-line fix for signal notification name formatting.
994 * libspi/accessible.c:
995 Added assertion to spi_accessible_new ().
997 * libspi/application.c:
998 Put #ifdef qualifiers around a printf.
1001 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1003 * registryd/Makefile.am:
1005 Replaces use of XML_I18N_MERGE_SERVER_RULE with
1006 INTLTOOL_SERVER_RULE macro.
1009 Added an event listener for several ATK signals, for
1010 testing and debugging. Removed a few g_warnings.
1011 Added test output if focussed item implements the Value interface.
1013 * test/test-simple.c:
1014 Added test_value () function (known not to pass at the moment, so
1015 not actually called yet.
1017 2001-12-08 Michael Meeks <michael@ximian.com>
1019 * at-bridge/bridge.c (bridge_focus_tracker),
1020 (emit_eventv): fix the same ref. leak.
1021 (register_atk_event_listeners): don't leak.
1023 * cspi/spi-listener-impl.c (cspi_event): more
1024 protection from client code.
1026 * test/test-simple.c (test_desktop): unref the app.
1028 * test/Makefile.am: upd. TESTS.
1030 * at-bridge/bridge.c (bridge_exit_func): release the registry.
1032 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1034 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1036 * cspi/spi_registry.c: constify in strings.
1037 (deregisterGlobalEventListenerAll): don't release the ref.
1039 * cspi/spi.h: start removing redundant / conflicting
1040 gtkdoc comments, making the API readable at a glance :-)
1042 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1044 * test/keysynth-demo.c (keysynth_exit, main): upd.
1046 * test/simple-at.c (main, simple_at_exit): upd.
1048 * test/test-simple.c (unutterable_horror): kill.
1049 (utterable_normal_derefs): kill.
1050 (main): upd & do a setenv before gtk_init, so that we
1051 can use memprof - and to save the pain of remembering
1052 this, if we're running under memprof - don't exit.
1054 * cspi/spi_main.c (SPI_exit): return exit status
1056 (SPI_event_quit): impl.
1057 (SPI_event_main): simplify.
1058 (cspi_is_gnome_app): kill.
1059 (SPI_init): kill isGNOMEapp arg.
1061 * at-bridge/bridge.c (register_atk_event_listeners):
1062 re-instate the unref.
1063 (bridge_exit_func): don't re-activate the registry,
1064 protect vs. theoretical re-entry, use the
1065 AT_BRIDGE_SHUTDOWN env. var to determine whether to
1066 assert a clean shutdown - for regression tests.
1068 2001-12-08 Abel Cheung <maddog@linux.org.hk>
1070 * configure.in: Comment out dummy i18n support for now,
1071 otherwise it fails to build.
1072 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1073 EXTRA_DIST. They are missing in tarball.
1075 2001-12-07 Michael Meeks <michael@ximian.com>
1077 * util/magnifier.c: kill bonobo activation reg. race.
1079 * libspi/component.c
1080 (impl_accessibility_component_get_extents): make it match
1083 * libspi/registry.c (_registry_notify_listeners):
1084 re-remove X headers & reconcile conflicts.
1085 (spi_listener_struct_free): bad conflict resolve.
1086 (impl_accessibility_registry_register_application):
1087 more bad merging fixed.
1088 (impl_accessibility_registry_deregister_application): ditto.
1089 (spi_registry_new): ditto.
1090 (spi_registry_init): don't have an applications field.
1092 [ merge fixups2 branch to here ]
1093 2001-12-07 Michael Meeks <michael@ximian.com>
1095 * test/simple-at.c (report_focus_event),
1096 (report_focussed_accessible): remove g_warning debug.
1098 2001-12-07 Michael Meeks <michael@ximian.com>
1100 * test/test-simple.c (validate_tree): comment out some checks.
1101 (test_desktop): app now not registered idly - horay.
1103 2001-12-07 Michael Meeks <michael@ximian.com>
1105 * cspi/spi_registry.c
1106 (registerAccessibleKeystrokeListener): clean, stop it leaking
1107 great swathes of memory, and device event controller references.
1108 ensure we always pass valid sequences.
1109 (deregisterAccessibleKeystrokeListener): ditto.
1110 (generateKeyEvent): upd.
1112 * at-bridge/bridge.c (bridge_key_listener): handle
1113 registry dead exception gracefully.
1114 (bridge_focus_tracker, emit_eventv): free ev.
1116 * test/simple-at.c (report_focus_event): fix polarity.
1118 * libspi/application.c (notify_listeners): kill the ev
1119 argument, and make sure we init the ev we use.
1120 (spi_application_object_event_listener): split out a chunk
1121 (get_atk_object_ref): here & fixup.
1122 (reverse_lookup_name_for_toolkit_event): make const.
1123 (spi_application_toolkit_event_listener): fixup, kill leaks
1126 * at-bridge/bridge.c (register_atk_event_listeners):
1127 don't unref the noop object - causes grief.
1129 * libspi/registry.c: remove the X headers.
1130 turn off the debug churn.
1132 * libspi/accessible.c (spi_accessible_new_return): only
1133 release the ref if we are supposed to [doh]
1135 * test/simple-at.c (report_button_press, report_focus_event):
1136 guard vs. unexpected exit.
1138 * at-bridge/bridge.c (gtk_module_init): prune printf.
1139 (bridge_exit_func): fix app unref.
1141 * libspi/Makefile.am: don't install registry or desktop.h
1143 * libspi/*.h: update includes.
1145 * libspi/application.h: don't include ourself, or
1146 other redundant headers.
1148 2001-12-06 Michael Meeks <michael@ximian.com>
1150 * libspi/accessible.c
1151 (get_accessible_from_servant): impl.
1152 Upd. all CORBA impl.s to use it killing cut and paste.
1154 * cspi/spi_main.c (cspi_cleanup): guard vs. double
1156 (SPI_init): register atexit cleanup handler here.
1158 2001-12-06 Michael Meeks <michael@ximian.com>
1160 * at-bridge/bridge.c (gtk_module_init): g_error on
1161 activation exception
1163 2001-12-06 Michael Meeks <michael@ximian.com>
1165 * at-bridge/bridge.c (gtk_module_init): some sort of
1166 confusing merge clash - reverted.
1167 (bridge_idle_init): ditto.
1169 * test/test-simple.c (main, utterable_normal_derefs):
1170 merge from Bill - somehow not committed.
1172 2001-12-06 Michael Meeks <michael@ximian.com>
1174 * libspi/value.c (spi_value_class_init): upd.
1175 (spi_value_finalize): kill.
1177 * libspi/table.c (spi_table_finalize): kill.
1178 (spi_table_interface_new): upd.
1179 (spi_table_class_init): upd.
1180 (get_table_from_servant): impl.
1181 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1183 * libspi/selection.c (spi_selection_finalize): kill.
1184 (spi_selection_interface_new): upd.
1185 (spi_selection_class_init): upd.
1186 (get_selection_from_servant): impl.
1187 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1189 * libspi/relation.c (spi_relation_finalize): kill.
1190 (spi_relation_class_init, spi_relation_new): upd
1192 * libspi/image.c (spi_image_finalize): kill.
1193 (spi_image_class_init): upd.
1194 (spi_image_interface_new): upd.
1195 (get_image_from_servant): impl.
1196 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1198 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1199 (spi_hyperlink_finalize): kill.
1200 (spi_hyperlink_new): upd.
1201 (get_hyperlink_from_servant): impl.
1202 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1204 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1205 (spi_hypertext_finalize): kill.
1206 (spi_hypertext_class_init): upd.
1207 (get_hypertext_from_servant): impl.
1208 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1210 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1211 (spi_editable_text_interface_new): upd.
1212 (get_editable_text_from_servant): impl.
1213 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1215 * libspi/text.c (get_text_from_servant): impl.
1216 All impls - update to use it killing more cut and paste,
1217 also fix bad string returns on duff args ( a somewhat
1218 impossible case to handle - but hey ).
1219 (spi_text_construct): impl.
1220 (spi_text_interface_new): upd.
1221 (spi_text_object_finalize): kill.
1223 * libspi/component.c
1224 (accessibility_component_object_finalize): kill.
1225 (spi_component_class_init): upd.
1226 (get_component_from_servant): impl. helper to kill cut & paste.
1227 (impl_accessibility_component_contains):
1228 (impl_accessibility_component_get_accessible_at_point):
1229 (impl_accessibility_component_get_position):
1230 (impl_accessibility_component_get_extents):
1231 (impl_accessibility_component_get_mdi_z_order):
1232 (impl_accessibility_component_get_layer):
1233 (spi_component_interface_new): upd.
1235 * libspi/action.c (spi_action_finalize): kill.
1236 (spi_action_class_init): upd. inherit from SpiObject.
1237 (spi_action_interface_new): upd.
1238 (get_action_from_servant): impl. helper to reduce cut & paste.
1239 (impl_getKeyBinding, impl_getName, impl_doAction),
1240 (impl_getDescription): Use it everywhere.
1242 * cspi/spi_main.c (get_live_refs): a pointer hash.
1243 (spi_object_hash, spi_object_equal): comment out.
1244 There are issues with CORBA object hashing that need
1247 * libspi/application.c (spi_application_init),
1248 (spi_application_new): upd.
1250 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1251 (spi_accessible_class_init): upd.
1252 s/accessible/object/ in epv methods.
1254 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1256 * at-bridge/bridge.c:
1257 Reorder the bridge initialization into the bridge gtk_module_init,
1258 an immediate call to bridge_register_app, and an idle_add for
1259 register_atk_event_listeners (the only code that *must* wait until
1260 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1261 the activation, creates the application's Accessible object, and
1262 queues the bridge_idle_init function. Restored call to
1263 Accessibility_Registry_deregisterApplication().
1264 Prior to making this call we obtain a new reference to the
1265 registry, which is a temporary hack that helps us handle apps that
1266 shut down the bonobo mainloop before we get there.
1268 * libspi/registry.c:
1269 Fix string leakage in debug block, and don't segv if a an app
1270 dies before its event notifications have been propagated.
1273 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1274 as stopgap measure until we get proper exception handling when
1275 objects die during or before interrogation.
1279 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1280 Also changed default value of is_gnome_app to TRUE.
1283 * test/keysynth-demo.c:
1284 Changed use of SPI_init and SPI_event_main to reflect API change above.
1287 Made report_focus_event check the warning value from getName
1288 before reporting on focussed accessible; simplifies handling of
1289 notifications from dead objects.
1291 * test/test-simple.c: (Changes not in this patch since source is
1294 2001-12-05 Michael Meeks <michael@ximian.com>
1296 * registryd/registryd.c (main): protect against
1297 bonobo-activation startup race condition.
1299 * cspi/spi_main.c (cspi_object_add_check): cope
1300 with the exception elegantly.
1302 * idl/Accessible.idl: decl. ChildGone
1304 * libspi/desktop.c (spi_desktop_dispose): impl.
1305 (spi_desktop_class_init): upd.
1306 (spi_desktop_add_application),
1307 (spi_desktop_remove_application),
1308 (abnormal_application_termination): impl.
1309 (impl_desktop_get_child_at_index): re-impl.
1312 (impl_accessibility_registry_deregister_application),
1313 (impl_accessibility_registry_register_application):
1314 kill excessive debug clutter.
1316 * test/test-simple.c (test_misc): test some NULL
1317 tolerance. (main): upd.
1319 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1320 implements no interfaces - so let's not crash.
1322 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1324 * libspi/accessible.c (spi_accessible_new_return): impl.
1325 helper to calm the cut and paste, to cope with
1326 NULL AtkObjects effectively and efficiently, and to kill
1327 the referencing bugs.
1329 * libspi/table.c (impl_getAccessibleAt),
1330 (impl_getRowHeader, impl_getColumnHeader): upd.
1332 * libspi/hyperlink.c (impl_getObject): upd.
1334 * libspi/accessible.c
1335 (impl_accessibility_accessible_get_child_at_index): upd.
1337 * libspi/component.c
1338 (impl_accessibility_component_get_accessible_at_point): upd.
1340 * test/test-simple.c (test_editable_text, test_text): impl.
1343 * cspi/spi_editabletext.c
1344 (AccessibleEditableText_insertText): constify.
1346 * test/test-simple.c (focus_me): make more robust.
1348 * libspi/accessible.c: remove some printfs in methods that
1349 we test and work fine, so we can get a clean tree dump.
1351 * test/test-simple.c (validate_accessible),
1352 (validate_tree): make tree dumping pretty too.
1354 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1355 it builds without debug on.
1357 * test/test-simple.c (validate_accessible): fix the most
1360 * cspi/spi_main.c (spi_object_release): leave the nicely
1361 blanked memory around if in debug mode.
1363 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1365 [committed to fixups2]
1366 2001-12-05 Michael Meeks <michael@ximian.com>
1368 * libspi/editabletext.c
1369 (spi_editable_text_class_init): g_type_class_peek_parent,
1370 not interface peek - so we finalize cleanly.
1372 * libspi/accessible.c (spi_accessible_new): kill debug.
1374 * test/test-simple.c (validate_accessible): fix ref.
1375 leak, print strings before freeing them; sigh, comment a
1376 chunk out due to strangeness.
1377 (validate_tree): unref the child after use.
1379 * cspi/spi_component.c (AccessibleComponent_getLayer):
1380 add missing break statement, switch on zlayer not the
1381 uninitialized retval.
1383 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1384 before (possibly re-entering) remote unref.
1386 * test/simple-at.c (main): unref the desktop.
1388 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1391 * cspi/spi_main.c (cspi_accessible_is_a): here to
1392 isolate bonobo API usage more.
1394 * libspi/registry.c (impl_accessibility_registry_register_application):
1395 prune bogus comment.
1397 2001-12-04 Michael Meeks <michael@ximian.com>
1399 * test/test-simple.c (validate_tree): upd.
1400 IndexInParent check to make it more lucid.
1401 (validate_accessible): dump the tree.
1403 * libspi/accessible.c (de_register_public_ref),
1404 (get_public_refs): impl.
1405 (spi_accessible_new): make more efficient & intuitive.
1406 Now IndexInParent check works.
1408 2001-12-04 Michael Meeks <michael@ximian.com>
1410 * cspi/spi-util.h: remove.
1412 * cspi/spi.h: move SPI_freeString here
1414 * libspi/component.c (impl_accessibility_component_get_layer):
1416 (impl_accessibility_component_get_mdi_z_order): ditto,
1417 return -1 on error - is this ok ?
1419 * test/test-simple.c (test_application): impl.
1421 * cspi/spi_accessible.c (Accessible_getApplication),
1422 (Accessible_isApplication): impl.
1424 * libspi/registry.c (spi_listener_struct_free): release
1425 the CORBA reference too.
1427 * libspi/accessible.c
1428 (impl_accessibility_accessible_get_parent): fix ref leak.
1430 * libspi/registry.c (spi_registry_new): make the registry
1431 immortal - we don't want it to go away ever.
1433 * libspi/application.c
1434 (spi_accessible_application_finalize): impl. cleanup.
1436 * cspi/spi_registry.c
1437 (deregisterGlobalEventListenerAll),
1438 (deregisterGlobalEventListener),
1439 (deregisterAccessibleKeystrokeListener): fix ref leak.
1441 * cspi/spi_main.c (SPI_init): remove redundant ref.
1443 * test/test-simple.c (unutterable_horror): impl. to force a
1448 (impl_accessibility_registry_deregister_application): release
1449 the application when we de-register it.
1451 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1452 until we have the infastructure to get it right.
1454 2001-12-03 Michael Meeks <michael@ximian.com>
1456 * libspi/Makefile.am: only build eventlistener.[ch]
1458 * libspi/accessible.c
1459 (impl_accessibility_accessible_get_child_at_index): don't leak.
1461 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1462 before we hit the idle handler.
1464 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1465 debugging than exit.
1467 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1469 * libspi/listener.c (impl_notify_event): check source
1470 not NIL before unref.
1472 * libspi/registry.c (impl_registry_notify_event): ditto.
1474 * libspi/eventlistener.c
1475 (impl_accessible_event_notify_event): unref the source.
1477 * libspi/accessibleeventlistener.c
1478 (impl_accessible_event_notify_event): unref the source.
1480 * idl/Event.idl: remove 'hash_id' attribute - of no
1483 * libspi/application.c (notify_listeners): upd list
1485 (spi_application_object_event_listener),
1486 (spi_application_toolkit_event_listener): upd to do correct
1490 (_registry_notify_listeners): update.
1491 (parse_event_type): this method also leaks like a sieve.
1492 (impl_accessibility_registry_deregister_global_event_listener):
1493 fix ETYPE_WINDOW case.
1495 * libspi/application.c
1496 (impl_accessibility_application_register_object_event_listener):
1499 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1501 * libspi/hypertext.c (impl_getLink): ditto.
1503 * cspi/spi_main.c (cspi_object_add): remove
1504 bogus CORBA_Object_duplicate.
1506 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1509 * cspi/spi_accessible.c
1510 (Accessible_getRelationSet): fix leak / referencing issue.
1512 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1513 (cspi_object_add, cspi_object_unref): upd.
1514 (spi_object_release, get_live_refs): impl.
1515 (cspi_cleanup): simplify.
1517 * *.[ch]: s/boolean/SpiBoolean/
1519 * cspi/spi_accessible.c (role_names): actualy order so it
1520 corresponds with the enum !
1522 * test/test-simple.c (test_roles): check some role strings
1523 vs. enums to detect offset errors.
1525 2001-12-01 Michael Meeks <michael@ximian.com>
1527 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1529 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1531 (Accessible_getChildAtIndex): use cspi_add_check so we
1532 check the ev before using a (possibly) invalid value.
1534 * libspi/accessible.c
1535 (impl_accessibility_accessible_get_parent): don't segv
1538 * at-bridge/bridge.c (gtk_module_init): upd.
1539 (bridge_property_event_listener): don't leak strings
1541 (bridge_state_event_listener),
1542 (bridge_property_event_listener): don't use a static
1543 buffer in case of recursive event emission &
1544 re-enterancy - split out the swathe of cut and paste
1546 (emit_eventv): and fix 2 ref leaks here & comply to the
1548 (bridge_register_app): rename to
1549 (bridge_idle_init): this and kill arg parsing, split
1550 various inits & bonobo-activation registration to module
1551 init time, kill referencing error.
1552 (bridge_exit_func): fix the same leak.
1553 (bridge_focus_tracker): don't leak event structures
1555 (bridge_signal_listener): more leakage and cut & paste
1557 (bridge_key_listener): return the result - FIXME is
1558 this polarity correct ?
1559 (accessibility_keystroke_from_atk_key_event): rename
1560 (accessibility_init_keystroke_from_atk_key_event): and stop
1562 (gtk_module_init): return a value - not that it is checked by
1564 (bridge_key_listener): register my horror at casting between
1565 IDL defined structs.
1566 (bridge_get_registry): kill - not used.
1568 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1570 * test/test-simple.c (test_roles): impl.
1571 (test_desktop, validate_accessible, validate_tree): impl.
1573 * cspi/spi_accessible.c (role_names): fixup bogus
1574 MAX_ROLES setup, make constants const for efficient linkage
1575 (AccessibleRole_getName): conform to coding style, make
1578 2001-11-30 Michael Meeks <michael@ximian.com>
1580 * cspi/spi.h: add missing prototype.
1582 * libspi/registry.c (spi_listener_struct_new): fix sig.
1584 * test/Makefile.am: add test-simple
1586 * test/test-simple.c: add
1588 * test/test.sh: add.
1590 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1592 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1593 do it straight - since otherwise we often get an activation race.
1595 [ work before Bill duplicated a chunk of it ... ]
1596 2001-11-30 Michael Meeks <michael@ximian.com>
1598 * libspi/keystrokelistener.c
1599 (spi_keystroke_listener_class_init): fixup arg
1602 * libspi/eventlistener.c
1603 (spi_event_listener_class_init): ditto.
1605 * tests/test.sh: add.
1607 * cspi/spi-listener-impl.h: update macros.
1609 * cspi/spi-listener-impl.c
1610 (cspi_event_listener_remove_callback): add
1611 correct pre-conditions.
1613 * cspi/spi_main.c (SPI_exit): guard vs. double
1614 exits, exit the mainloop nicely.
1615 (SPI_event_main): make more sense.
1616 (SPI_init): move the atexit evilness here so we
1617 always do it (yuck).
1618 (SPI_event_main): upd.
1620 * test/simple-at.c: update for listener changes.
1622 * registryd/registryd.c (main): prune kruft.
1624 * libspi/libspi.h: upd.
1626 * libspi/eventlistener.[ch]: rename broken macros.
1628 * libspi/accessibleeventlistener.[ch]: remove.
1630 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1632 * test/test-simple.c: Add - automated tests.
1634 * cspi/spi-listener-impl.c (cspi_event),
1635 (cspi_key_event): add user_data to invoke.
1636 (cspi_keystroke_listener_finalize): impl.
1637 (cspi_keystroke_listener_class_init): upd.
1640 (createAccessibleEventListener),
1641 (AccessibleEventListener_addCallback),
1642 (createAccessibleKeystrokeListener),
1643 (AccessibleKeystrokeListener_addCallback): upd.
1645 * libspi/deviceeventcontroller.c
1646 (spi_device_event_controller_check_key_event): add public proto.
1649 (impl_accessibility_registry_deregister_global_event_listener):
1650 always init listeners.
1651 (_registry_notify_listeners): yes it is.
1653 * cspi/spi-listener-impl.c (cspi_key_event):
1655 (cspi_event_listener_finalize): impl.
1656 (cspi_event_listener_class_init): hook up.
1657 (event_handler_new, event_handler_free),
1658 (event_list_remove_by_callback): impl.
1659 (cspi_event_listener_remove_callback),
1660 (cspi_keystroke_listener_remove_callback),
1661 (cspi_keystroke_listener_add_callback),
1662 (cspi_event_listener_add_callback): upd.
1664 * libspi/keystrokelistener.c
1665 (keystroke_listener_object_finalize): kill
1666 (spi_keystroke_listener_class_init): upd.
1667 (spi_keystroke_listener_add_callback),
1668 (spi_keystroke_listener_remove_callback): kill,
1670 (impl_key_event): prune drasticaly.
1672 * libspi/eventlistener.c
1673 (spi_event_listener_add_callback),
1674 (spi_event_listener_remove_callback): kill, use
1676 (impl_accessible_event_notify_event): upd.
1677 (spi_event_listener_object_finalize): remove.
1679 * libspi/Makefile.am: use eventlistener.[ch]
1681 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1683 * libspi/registry.c (_registry_notify_listeners):
1684 Changed listener loop iteration to use preferred convention.
1685 Got rid of string memory leaks caused be calling g_strconcat
1686 inside function calls.
1688 * libspi/registry.c (parse_event_type):
1689 Stopped g_strconcat memory leaks, free the g_strsplit return,
1690 g_strdup the split pieces when used, etc.
1692 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1695 Change method 'compare' to return a 'difference set' rather than
1696 taking a StateSet as an out parameter (more Java-friendly).
1698 * idl/Accessible.idl:
1699 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1701 * idl/Component.idl:
1703 Changed methods 'getExtents' and 'getImageExtents' in these
1704 interfaces to return a BoundingBox structure.
1705 (getPosition and getSize are redundant and possibly should be
1706 removed, rather than creating a corresponding Point struct.)
1708 * cspi/spi_component.c:
1709 Modify implementation of getExtents to reflect the above IDL
1714 Add (missing) AccessibleImage_getExtents () API.
1716 * docs/reference/cspi/at-spi-cspi-sections.txt:
1717 Added AccessibleImage_getImageExtents () to docs.
1719 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1721 * idl/Component.idl:
1722 Added two methods, getLayer () and getMDIZOrder (), to reflect
1723 the new ATK methods atk_object_get_layer and
1724 atk_object_get_mdi_z_order. (Which arguably should be part of the
1725 AtkComponent API and AtkObject). Also added an enum,
1726 ComponentLayer, for the first method's return value.
1728 * libspi/component.c:
1729 Added implementations for these methods.
1731 * cspi/spi_component.c:
1733 Added cspi binding methods for above,
1734 AccessibleComponent_getLayer() and
1735 AccessibleComponent_getMDIZOrder().
1736 Added cspi enum 'AccessibleComponentLayer'.
1738 * docs/reference/cspi/at-spi-cspi-sections.txt:
1739 Added above methods to docs.
1743 Changed typedef for 'boolean' type (and all references to it) to
1744 SPIBoolean, to avoid keyword clashes with C++.
1747 Changed usages of 'boolean' to SPIBoolean.
1749 * test/keysynth-demo.c:
1750 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1751 app), except where SPIBoolean is required by the callbacks API.
1753 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1755 * cspi/spi_registry.c:
1756 Removed obsolete X event loop for passive keygrabs (which now
1759 * registryd/registryd.c:
1760 Removed unnecessary call to gdk_init() [cruft]. This also allows
1761 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1764 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1766 * docs/reference/cspi:
1767 Included docs for SPI_freeString in generated documentation.
1770 Renamed spi_freeString to SPI_freeString, for consistency. Added
1771 documentation for this function.
1774 Renamed spi_freeString to SPI_freeString, for consistency.
1775 Removed obsolete method declaration string_from_corba_string.
1777 * test/keysynth-demo.c:
1778 Small tweak to comments.
1781 Stopped leaking the strings returned from CSPI.
1783 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1785 Merged Michael's branch (see his ChangeLog entries below).
1787 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1788 bridge is alive, release on exit.
1790 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1791 Fix type check macro.
1794 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1797 Added is_gnome_app static, and method cspi_is_gnome_app(),
1798 so we can call the appropriate shutdown routine at exit in SPI_exit.
1800 * cspi/spi_main.c (cspi_object_ref):
1801 Duplicate the corba object passed in, since we're keeping it around.
1803 * cspi/SPI_exit.c, cspi_cleanup:
1804 Moved the releasing of the live refs to its own function, so we
1805 can put it in g_atexit (). Call the appropriate shutdown API
1806 depending on whethe calling client is a gnome app or not
1807 (bonobo_main_quit or CORBA_ORB_shutdown).
1809 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1810 Unref the listener when this method is called, after
1811 deregistration. Updated the API docs to note this behavior.
1813 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1814 Bugfixes: Ref the bonobo object when returning a parent or child
1815 reference, or an AccessibleRelation. Generally made sure
1816 BonoboObject refcount is incremented whenever we return an
1819 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1820 Fixed typo/bug in signal declaration.
1822 * libspi/accessibleeventlistener.h:
1825 * libspi/application.c (spi_application_new):
1826 Fixed leak in initialization.
1829 Remembered to increment bonobo-object refcount when returning
1830 children (applications) from desktop object.
1831 Added (empty) finalize method.
1833 * libspi/deviceeventcontroller.c:
1834 Hold a ref to listeners inside DEControllerKeyListeners.
1835 Added dec_key_listener_free() method. Use prepend instead of
1836 append in key_listener list. Fixed some refcount madness and
1837 leaks in the listener registration/deregistration - deregistration
1838 now calls dec_key_listener_free() on listeners, and on the
1839 temporarily constructed dec_key_listener() used to perform the search/match.
1841 * libspi/hypertext.c (spi_hypertest_finalize):
1842 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1843 class. Also fixed spi_hypertext_interface_new() and
1844 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1846 * libspi/hypertext.h:
1847 Removed pointless and duplicate AtkObject pointer from
1850 * libspi/keystrokelistener.c:
1851 Fixed incorrect type of keystroke_listener_parent_class,
1852 renamed keystroke_listener_object_finalize to
1853 spi_keystroke_listener_object_finalize.
1854 Fixed typo in signal declaration
1855 (spi_keystroke_listener_class_init).
1857 * libspi/registry.c:
1858 Added funcsions spi_listener_struct_new() and
1859 spi_listener_struct_free() to help with memory management issues.
1860 We also now use these methods instead of gnew + poking stuff into
1861 the struct, and to decrement listener counts/free the listeners
1862 when deregistering them.
1863 Fix more refcount bugs in getDesktop() and
1864 getDeviceEventController().
1867 De-ref the desktop after enumerating the applications. Explicitly
1868 decrement the refcounts on the created listeners on exit (using
1869 _unref for keystroke listeners, and via the
1870 deregisterGlobalEventListenerAll command for other event
1873 2001-11-27 Michael Meeks <michael@ximian.com>
1875 * cspi/spi-listener.h: fixup enum.
1877 2001-11-27 Michael Meeks <michael@ximian.com>
1879 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1880 (cspi_keystroke_listener_new): Use the cspi variants.
1882 2001-11-26 Michael Meeks <michael@ximian.com>
1884 * test/keysynth-demo.c: fix 2 compile warnings, missing
1887 * test/simple-at.c (report_focussed_accessible),
1888 (report_focus_event, report_button_press),
1889 (check_property_change, is_command_key),
1890 (report_ordinary_key_event, report_command_key_event): upd.
1892 * util/mag_client.h: include pre-requisites.
1894 * libspi/accessibleeventlistener.c
1895 (spi_event_listener_object_finalize): free any lingering
1898 * libspi/keystrokelistener.c
1899 (keystroke_listener_object_finalize): ditto.
1901 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1902 callbacks, with cspi types.
1904 * cspi/spi_event.c (createAccessibleEventListener): chain to
1905 (AccessibleEventListener_addCallback): here.
1906 (createAccessibleKeystrokeListener): chain to
1907 (AccessibleKeystrokeListener_addCallback): here.
1909 * libspi/keystrokelistener.c
1910 (spi_keystroke_listener_class_init): add signal.
1911 (impl_key_event): emit the event.
1912 (boolean_handled_accumulator): impl.
1913 (marshal_BOOLEAN__POINTER): add, gack.
1915 * libspi/accessibleeventlistener.c
1916 (spi_event_listener_class_init): add signal.
1917 (impl_accessible_event_notify_event): emit the signal &
1918 make the loop efficient.
1919 (spi_event_listener_add_callback): prepend the callback.
1921 * libspi/accessibleeventlistener.h: add an 'event' signal,
1922 decl type on callback.
1924 * libspi/keystrokelistener.h: ditto.
1926 * cspi/spi-listener.h: make methods typesafe and
1927 make them use the new event typedefs.
1929 * test/simple-at.c (report_focussed_accessible):
1930 include mag_client.h
1931 Use *(void *)text_interface not the other thing.
1933 * configure.in: add gtk to registryd bits - since we use
1936 * util/magnifier.c: include libbonobo.h
1938 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1940 * test/keysynth-demo.c:
1941 Turned this into a simple scanning keyboard, to demonstrate the
1942 use of g_timeout_add () as a means of creating timers for
1943 scanning, and the use of GtkStyle for visually indicating when
1944 virtual keyboard elements are selected.
1946 keysynth-demo now listens to any keyboard keys with zero-valued
1947 keycodes (i.e. 'unused' keys) and interprets them as
1950 Reworked the shiftlatch code so that shift-down state isn't held
1951 for long periods (it's only synthesized immediately prior to
1952 the keysynth event it's modifying). Note that shiftlatch in this
1953 demo is a convenience, not intended to take the place of AccessX
1954 which is the better choice for getting 'sticky' modifier keys.
1956 * libspi/deviceeventcontroller.c:
1957 * at-bridge/bridge.c:
1958 * cspi/spi_registry.c:
1959 Removed some debug print stuff, and put other verbosity in #ifdef
1964 Implemented some more of the magnifier IDL for the simple
1965 magnifier: namely, getZoomRegionParams.
1966 Added mag_x and mag_y members to MagnifierData struct, aid of this
1968 Added GtkWindow::realize signal handler to magnifier, to keep it
1969 from receiving keyboard focus from the WM.
1971 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1973 * cspi/spi-private.h: my guess at what michael forgot
1974 before he ran off to NZ :-)
1976 2001-11-23 Michael Meeks <michael@ximian.com>
1978 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1979 comment out non existant method invoke so we link.
1981 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1982 use bonobo_exception_get_text for more friendly warnings.
1984 * cspi/spi.c (Obj_Add): move into spi_main & rename
1985 spi_object_add; kill spi.c
1987 * cspi/spi_registry.c
1988 (deregisterGlobalEventListener),
1989 (deregisterGlobalEventListenerAll),
1990 (registerGlobalEventListener): fix exception leaks.
1992 * cspi/spi_main.c (spi_exception): impl. helper, so we
1993 don't leak exceptions.
1995 * cspi/spi_selection.c
1996 (AccessibleSelection_deselectSelectedChild): return the
1999 * cspi/spi_main.c (spi_ev): impl; hack - gack.
2000 (spi_registry): ditto.
2001 (SPI_init): guard against double inits.
2003 * cspi/*.c: use spi_ev (), and spi_registry () where
2004 appropriate - a temporary hack until we have something
2005 better. Use spi_object_add
2007 2001-11-22 Michael Meeks <michael@ximian.com>
2009 * cspi/Makefile.am: re organise, install the headers.
2011 * cspi/*.h: add G_BEGIN/END_DECLS
2013 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2016 Added non-preemptive keylistener for key events with no modifiers
2017 and shift-only modifier.
2019 * libspi/keystrokelistener.c:
2020 Removed some verbose diagnostics printout.
2022 * cspi/spi_registry.c:
2023 Fixed a bug that caused all key listeners to be registered as
2026 * libspi/deviceeventcontroller.c:
2027 Fixed bug that caused XGrabKey (preemptive key grab) to be called
2028 for non-preemptive key masks.
2031 2001-22-11 Bill Haneman <bill.haneman@sun.com>
2033 * docs/reference/idl/at-spi-idl-docs.sgml:
2034 * docs/reference/idl/at-spi-idl-sections.txt:
2035 * docs/reference/idl/at-spi-idl-overrides.txt:
2036 Added missing files.
2038 * docs/reference/Makefile.am:
2039 removed idl from SUBDIRS until we can figure a way to get gtk-doc
2040 to scan the IDL files :-(
2045 Added .cvsignore files.
2047 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2049 * libspi/deviceeventcontroller.c:
2050 * libspi/keystrokelistener.c:
2052 * cspi/spi_registry.c:
2053 Added filters for KeySets, KeyEventSeq, and event types to key
2054 event dispatching, so listeners should only receive those events
2055 that they requested :-)
2057 2001-21-11 Bill Haneman <bill.haneman@sun.com>
2062 * docs/reference:Makefile.am:
2063 * docs/reference/cspi:
2064 * docs/reference/cspi:Makefile.am:
2065 * docs/reference/cspi:tmpl:
2066 * docs/reference/cspi:tmpl:*.sgml:
2067 * docs/reference/idl:
2068 * docs/reference/idl:Makefile.am:
2069 * docs/reference/idl:at-spi-idl-sections.txt:
2070 * docs/reference/idl:at-spi-idl-docs.sgml:
2071 * docs/reference/idl:tmpl:
2072 * docs/reference/idl:tmpl:*.sgml:
2074 Restructured docs directory to allow separate 'reference' docs
2075 section, and forked idl and cspi docs. Added the sgml template
2076 files to CVS. Added the first sections/structural sgml for the
2079 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
2081 * configure.in, libspi/Makefile.am: find libXtst.
2083 2001-11-21 Michael Meeks <michael@ximian.com>
2085 * test/accessx-gui.c: s/spi_value/value/ - doh.
2087 * libspi/base.[ch]: add.
2089 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2091 * idl/Accessible.idl:
2092 * idl/Application.idl:
2095 Started gtk-doc cleanup on IDL.
2097 * libspi/deviceeventcontroller.c:
2098 Added and connected non-preemptive key notification from the
2099 toolkits (in addition to the pre-emptive support from XServer
2100 which we had before, but which causes 'focus flashing'). Filters
2101 are presently limited to key modifiers and global/non-global,
2102 KeySets are presently ignored, as are KeyEvent masks.
2104 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
2105 structs into the persistant structure rather than just storing
2106 pointers to things that might not persist across servant
2109 The XGrabKey call now does async keygrabs, because synchronous
2110 ones were deadlocking with GDK_event code in a very nasty way.
2112 Added boolean to internal method notify_keylisteners, to indicate
2113 whether the event came from the 'toolkit source' or the 'global
2114 (XServer) source' - this is used in the notification process to
2115 determine which listeners to send the event to.
2117 deviceeventcontroller.c is now warning-free.
2119 * libspi/registry.c:
2120 Fixed regression in application de-registration.
2121 Also fixed some really brain-dead weirdness having to do with
2122 event dispatching - event structs are now duplicated before being
2123 re-marshalled in the dispatch to listeners. This also fixes a
2124 Solaris build problem.
2127 2001-20-11 Michael Meeks <michael@ximian.com>
2130 (impl_accessibility_registry_deregister_global_event_listener):
2133 * libspi/deviceeventcontroller.c
2134 (spi_device_event_controller_check_key_event): return
2135 FALSE on no virtual method.
2137 * libspi/*..h: make includes work on a correctly pathed install.
2139 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
2141 * libspi/application.h: kill unused ( and whacked out )
2142 gboolean *spi_application_set_id (AtkObject *app, long id);
2144 2001-20-11 Michael Meeks <michael@ximian.com>
2146 * libspi/*.[ch]: further convert to bonobo's type func
2147 macros, remove redundnant casts etc.
2149 * libspi/text.c s/accessibility_text/spi_text/g,
2150 re-order to de-cruft.
2152 * libspi/hypertext.c: re-order to kill a huge slew
2153 of redundant forward decls.
2155 * libspi/relation.c: ditto.
2157 * libspi/image.c: ditto.
2159 * */.cvsignore: update
2161 2001-20-11 Michael Meeks <michael@ximian.com>
2163 * libspi/deviceeventcontroller.c
2164 (_controller_register_with_devices): use g_getenv,
2165 kill stdlib.h include.
2167 * libspi/keystrokelistener.c
2168 (spi_keystroke_listener_get_type): kill
2169 (spi_keystroke_listener_class_init),
2170 (spi_keystroke_listener_init): rename to this.
2172 * libspi/text.c (impl_getAttributes): fix warning / bug.
2174 * libspi/*.[ch]: more headers, includes and over commenting.
2176 2001-20-11 Michael Meeks <michael@ximian.com>
2178 * libspi/*.[ch]: fixup headers, includes and over commenting.
2180 * libspi/image.c (impl__get_imageDescription): const
2181 correctness warning fix. remove redundant casting.
2183 * libspi/table.c (impl_getRowDescription): ditto.
2184 (impl_getColumnDescription): ditto.
2186 * libspi/libspi.h: add.
2188 2001-19-11 Michael Meeks <michael@ximian.com>
2190 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2192 * libspi/component.c (accessibility_component_get_type):
2193 rename to (spi_component_get_type): and macroify.
2194 (accessibility_component_init): rename to
2195 (spi_component_init): this
2196 (accessibility_component_class_init): rename to
2197 (spi_component_class_init): this
2199 * libspi/action.c (spi_action_get_type): kill, use the macro.
2201 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2204 * libspi/application.c (spi_application_object_event_listener),
2205 (impl_accessibility_application_register_object_event_listener):
2206 warning fixes / const understanding updates.
2208 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2211 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2213 * libspi/spi_accessible.c: Added docs and C bindings for
2214 AccessibleStateSet. (No implementations yet). Documentation
2215 coverage for C bindings now 100%. Made docs for event listeners
2220 boolean notifyListenersSync (in DeviceEventListener listener,
2221 in DeviceEvent event);
2223 oneway void notifyListenersAsync (in DeviceEventListener listener,
2224 in DeviceEvent event);
2226 Added DeviceEventListener and DeviceEvent structs (may deprecate
2227 KeyStroke and KeystrokeListener in favor of this generic
2228 event/listener framework for devices).
2230 * libspi/deviceeventcontroller.c:
2232 Changed some key listener code to take masks, etc., and paved the
2233 way for integration of toolkit/non-preemptive key events. Changed
2234 signatures of some internal methods.
2236 * at-bridge/bridge.c:
2237 Fixed regression connecting to interface signals, apparently
2238 caused by GTK+ changes.
2240 Added an internal bridge_state_listener to deal with
2241 property-change:accessible-state signals.
2243 Changed the key_listeners GList to store structs (including masks,
2244 etc.) instead of just CORBA_Objects (required for full
2245 implementation of key listener API).
2247 Connected the bridge to all currently supported Atk signals.
2248 Events now supported:
2249 object:property-change
2250 object:property-change:accessible-name
2251 object:property-change:accessible-state
2252 object:property-change:accessible-description
2253 object:property-change:accessible-parent
2254 object:property-change:accessible-value
2255 object:property-change:accessible-role
2256 object:property-change:accessible-table-caption
2257 object:property-change:accessible-table-column-description
2258 object:property-change:accessible-table-column-header
2259 object:property-change:accessible-table-row-description
2260 object:property-change:accessible-table-row-header
2261 object:property-change:accessible-table-summary
2262 object:children-changed
2263 object:visible-data-changed
2264 object:selection-changed
2265 object:text-selection-changed
2267 object:text-caret-moved
2269 object:row-reordered
2271 object:column-inserted
2272 object:column-reordered
2273 object:column-deleted
2274 object:model-changed
2276 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2278 * libspi/hyperlink.c,h:
2279 Fixed some broken stuff in hyperlink.
2281 * libspi/relation.h:
2282 * libspi/relation.c:
2283 * cspi/spi_accessible.c:
2284 Initial implementations of AccessibleRelation methods, and docs.
2286 * libspi/accessible.c:
2287 Fixed a bug that caused SEGV if an accessible
2288 object's description is NULL, and a client
2289 requests it. An empty string is now returned.
2291 * cspi/spi_editabletext.c:
2292 * cspi/spi_hypertext.c:
2294 * cspi/spi_hyperlink.c:
2298 Doc coverage now 95%.
2300 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2302 One last namespacing revision:
2303 * libspi/accessibleeventlistener.[ch]:
2304 Renamed SpiAccessibleEventListener to SpiEventListener,
2305 (no need for two namespaces ;-)
2307 And lots of documentation fixes:
2309 * docs/at-spi-docs.sgml:
2310 Fixed 'underscore vs. hyphen' bug that was preventing
2311 the gtk-doc API docs from being automatically generated.
2314 * cspi/spi-listener.h
2316 * cspi/spi_accessible.c
2318 * cspi/spi_application.c
2319 * cspi/spi_component.c
2320 * cspi/spi_editabletext.c
2322 * cspi/spi_hypertext.c
2324 * cspi/spi_registry.c
2325 * cspi/spi_selection.c
2329 * docs/at-spi-docs.sgml
2330 * docs/at-spi-sections.txt
2332 Added and fixed up gtk-doc documentation in cspi.
2334 Interfaces now (fully) documented (subject to revision and enhancement):
2336 Event Listener Support
2338 AccessibleApplication
2342 AccessibleEditableText
2349 AccessibleRelationSet
2354 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2356 * at-bridge/bridge.c:
2357 Initial work for toolkit-level key snooper connection by bridge.
2362 New typedefs and fixes to support new namespacing, and cleaner
2363 separation of cspi bindings from libspi bonobo implementation.
2364 Removed inconsistent and extraneous Spi* namespace prefix that
2365 had crept into cspi headers.
2366 Lots of comment fixes that sed had missed.
2368 * cspi/spi-roletypes.h:
2369 * cspi/spi-statetypes.h:
2370 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2371 to AccessibleRoleType.
2373 * libspi/accessibleeventlistener.h:
2374 Fixed minor namespacing weirdness.
2376 * libspi/deviceeventcontroller.c:
2377 Reordered some internal API for device listeners.
2378 Changed the key registry final boolean to 'is_system_global'
2379 rather than 'is_synchronous', which is more descriptive of its
2381 Added spi_device_event_controller_new().
2382 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2384 * libspi/keystrokelistener.[ch]:
2385 Namespaced KeystrokeListener to SpiKeystrokeListener.
2386 Changed uses of keymasks to use SPI_ prefix, and did other
2389 * libspi/keymasks.h:
2390 Namespaced keymask constants with SPI_ prefix.
2392 * libspi/registry.c:
2393 Some warning fixes, and knock-on fixes from namespace changes.
2396 Added rules for accessx-gui test program.
2398 * test/accessx-gui.c:
2399 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2400 utility. It doesn't actually use at-spi, but it's still cool and
2403 * test/keysynth-demo.c:
2407 Fixes so that these test clients work properly with the namespaced
2408 libraries. (Incompletely tested for technical reasons, fixes may follow)
2411 2001-13-11 Michael Meeks <michael@ximian.com>
2413 * libspi/application.c
2414 (impl_accessibility_application_get_version),
2415 (impl_accessibility_application_get_toolkit_name):
2417 (impl_accessibility_application_set_id),
2418 (impl_accessibility_application_get_id): remove
2419 redundant casting code.
2421 * libspi/action.c (impl_getDescription): fix warnings.
2423 * libspi/accessible.c
2424 (impl_accessibility_accessible_get_parent),
2425 (impl_accessibility_accessible_get_child_at_index),
2426 (impl_accessibility_accessible_get_state),
2427 (impl_accessibility_accessible_get_relation_set):
2428 warning fixes & include action.h
2430 2001-13-11 Michael Meeks <michael@ximian.com>
2432 * *.[ch] fix bits I screwed up:
2434 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2435 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2437 2001-13-11 Michael Meeks <michael@ximian.com>
2439 * *.[ch] Namespace libspi into spi_ and Spi.
2441 2001-13-11 Michael Meeks <michael@ximian.com>
2443 * Makefile.am: dist & install at-spi-1.0.pc
2445 * libspi/Makefile.am: install into at-spi-1.0
2447 * idl/Makefile.am (idldir): install into at-spi-1.0
2449 * at-spi-1.0.pc.in: add.
2451 * configure.in: build it.
2453 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2455 * test/keysynth-demo.c:
2456 Use a 'realize' signal-handler to set the WM properties for
2457 the virtual keyboard, rather than making it a "POPUP" type
2458 override-redirect window (thanks to anders carlsson for that
2461 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2464 * test/keysynth-demo.c:
2465 Added new test of key synthesis, which creates a simple
2466 (mouse-operated) onscreen keyboard. It inserts key events into
2467 the currently-focused window, thus it does not grab keyboard focus
2470 * cspi/spi_registry.c:
2471 Added C binding for AT-SPI generateKeyEvent.
2473 * libspi/deviceeventcontroller.c:
2474 Added call to XFilterEvent so that key listener works with XIM (we
2475 hope). Added event_synth_type to generateKeyEvent, so that we can
2476 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2477 synthesize a press/release pair for KeySyms.
2479 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2481 * libspi/Makefile.am:
2482 * registryd/Makefile.am:
2483 (temporary) hack to include libXtst in libspi and registryd.
2484 (Needed for keystroke synthesis, see below).
2487 Improved API for registerKeystrokeListener, in accordance with
2488 discussions with Gnopernicus team and X server research.
2490 * libspi/registry.c:
2491 * libspi/deviceeventcontroller.c:
2492 * libspi/accessible.c:
2493 * libspi/keystrokelistener.c:
2494 Changes and fixes to support keylisteners for potentially
2495 consumed key events (that is, 'passive grabs').
2496 Added implementation for generateKeyEvent() [untested].
2499 Changes to registerKeystrokeListener() API, as above.
2500 Added deregisterGlobalEventListenerAll(), and
2501 deregisterKeystrokeListener(), which are needed for clean exit of
2503 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2504 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2506 * cspi/spi_registry.c:
2507 Added implementations of function prototypes mentioned above.
2509 * registryd/registryd.c:
2510 Added the key listener event source as a g_timeout(), to allow
2511 receipt of key events that are not caught by GDK (since GDK
2512 doesn't support passive keygrabs, this was necessary).
2515 Changed to attach a keylistener to 'Alt' keys, and
2516 respond to the following keycommands: Alt-M (toggle magnifier);
2517 Alt-F (toggle speech); Alt-Q (quit).
2518 Added an exit routine to deregister the listeners, and a key
2519 listener that prints some key info to the console when a key
2520 matches the listener mask (and is thus received by the listener).
2522 * util/idl/Magnifier.idl:
2523 Changes to magnifier API to support multiple zoom regions,
2524 non-uniform scaling in x and y, markDirty, and a host of other
2525 features that would be useful to magnification.
2528 * util/mag_client.c:
2529 * util/mag_client.h:
2530 * util/mag_control.c:
2532 Source code changes to support the above IDL changes.
2535 As above, and also changes to use a (slower) generic conversion
2536 path for colormap conversions, since the fast RGB conversions have been
2537 reported to fail for 16-bit displays.
2539 2001-10-26 Michael Meeks <michael@ximian.com>
2541 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2543 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2545 * at-bridge/Makefile.am: fix LDFLAGS.
2547 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2549 * at-bridge/bridge.c:
2550 Re-worked listeners for toolkit events, now we have signal
2551 and property listeners. Added a private method
2552 register_atk_event_listeners(), which registers with the
2553 various atk and gtk signals we need to monitor in order to emit
2555 Added emission hook for AtkObject:property-change events, to
2556 support the 'property listeners'.
2557 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2560 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2561 which emit warnings and exit, respectively, if CORBA errors occur
2562 during remote calls, and we now use these methods to check most of
2563 our CORBA calls in the C bindings.
2565 * cspi/spi_accessible.c:
2566 Changed AccessibleSelection_refSelectedChild() to
2567 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2568 now increment refcounts.
2570 * cspi/spi_component.c:
2571 Fixed some long pointer casts (dangerous!) to pass pointers to
2572 CORBA_longs of the proper type to the CORBA stubs, and copy the
2573 data into the longs that were passed into the C bindings code.
2575 * at-bridge/bridge.c:
2577 * libspi/accessible.c:
2578 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2579 hyperlinks, AtkHyperlink is an object type.
2581 * libspi/application.c:
2582 Added various conversions to and from "generic" event types and
2583 atk-specific types; this is really part of the 'bridge'
2584 implementation but is valid for all AtkObject-based accessibility
2587 * libspi/editabletext.c:
2588 Fixed nasty bug wherein editable text's finalize method was
2589 unref'ing tha AtkObject reference that the text parent class was
2590 about to unref _again_. There was also a nasty inheritance bug
2591 that meant that the AccessibleEditableText class was corrupt.
2593 * libspi/selection.c:
2594 Provided implementations for some selection API that was broken.
2596 * idl/Application.idl:
2597 Added registerObjectEventListener () method.
2600 Fixed a number of return values that were Bonobo_Unknowns from
2601 bonobo_object_corba_objref(), which I
2602 forgot to dup before returning. Changed instances of
2603 bonobo_object_corba_objref (bonobo_object(o)) to
2604 BONOBO_OBJREF(o), for concision and clarity.
2606 <2001-10-13 Louise Miller <louise.miller@sun.com>
2608 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2609 idl/Event.idl, idl/Registry.idl
2610 Changed these files to include Bonobo_Unknown.idl instead
2613 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2615 * libspi/component.c libspi/component.h:
2616 Fixed typo. Added assertions for object checks in
2617 AccessibleComponent code.
2619 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2621 * idl/Accessible.idl:
2622 Added 'isEqual (Accessible *object)'
2623 method for Accessible. (Not Yet Implemented).
2626 Changed signature of registerKeystrokeListener() to
2627 take a KeySet and KeyEventSeq so that specific keys and event
2628 types could be requested for monitoring, and added a flag
2629 is_synchronous so that either synchronous or asynchronous
2630 notification could be requested. (However this is not all
2631 implemented yet). This also meant adding two new typedefs,
2632 KeyEventSeq and KeySet.
2635 Added two new relations, RELATION_TOOLTIP_FOR and
2636 RELATION_LEAFNODE_OF.
2639 Added new state, STATE_HAS_TOOLTIP.
2641 * libspi/text.c, editabletext.c:
2642 Added new assertions to all casts of bonobo-objects from
2643 CORBA servants, to prevent Text API calls on non-text objects.
2644 Changed suspect casts of int-pointer types, so that we
2645 always send a valid CORBA_long pointer to the CORBA APIs that use
2646 in/out long parameters. We then have to copy from the CORBA_long
2647 into the regular long or int for return to the C bindings, or
2648 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2651 * libspi/deviceeventcontroller.c:
2652 Cleaned these sources up.
2654 Changed return type for getCharacterAtOffset to
2655 CORBA_unsigned_long, to allow for 32-bit characters.
2658 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2662 Fixed 'make dist' so that distro compiles...
2663 * libspi/keymasks.h:
2665 * cspi/spi-listener.c:
2666 KeystrokeListenerCB now returns a boolean.
2668 Added KeyEventType struct, and KeyStroke.
2669 Also added createKeystrokeListener(),
2670 KeystrokeListener_addCallback(),
2671 KeystrokeListener_removeCallback(), and added a keymask to
2672 registerKeystrokeListener().
2673 * cspi/spi_accessible.c:
2674 Changed numerous return types for interfaces from
2675 AccessibleComponent to Accessible<InterfaceName>; this was
2676 probably a cut-and-paste error.
2678 Implementations of new KeystrokeListener api (from spi.h,
2681 Changes to key modifier mapping.
2682 Created ControllerEventMask struct.
2683 Made DeviceEventController derive from Bonobo::Unknown.
2685 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2686 * libspi/deviceeventcontroller.c:
2687 Added a number of new internal (private) methods.
2688 * libspi/editabletext.c:
2689 * libspi/editabletext.h:
2690 Fixed a number of bugs related to the fact that
2691 editabletext inherits from text. Fixed the EditableText struct,
2692 the init() call, and use correct casts when calling Text methods
2693 from an EditableText object. Removed (duplicate) atko from the
2694 EditableText structure, we use the one in the parent Text
2695 structure via the casts mentioned above.
2696 * libspi/keystrokelistener.[ch]:
2697 * libspi/registry.c:
2698 Changes in support of keyboard handling (above).
2700 Keyboard handling, though partly functional, is still not
2701 recommended for at-spi client use as there is considerable
2702 work yet to be done.
2705 Changed some places where pointers to various int types
2706 are cast to be pointers to CORBA_long types and vice-versa:
2707 pointer casting is not safe so we pass pointers of the correct
2708 types and then cast the result before putting it into the target
2711 * libspi/text.h: minor typos corrected.
2713 We now speak not only the name of a Text element, but the
2714 first sentence of its content, when it receives focus.
2715 I also changed the text compression to 75% from 50%.
2716 * util/Accessibility_Util.server.in:
2717 Changed the default magnifier type to be a 3x vertical
2718 splitscreen magnifier (was previously a 2x horizontal one).
2720 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2722 * libspi/keystrokelistener.h:
2723 * libspi/keystrokelistener.c:
2724 Initial functional implementations of KeystrokeListener.
2727 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2729 Fixed string handling for NULL strings in libspi.
2730 Added spi_freeString to free strings returned by C bindings.
2732 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2734 * libspi/keystrokelistener.h:
2735 * libspi/keystrokelistener.c:
2736 Began (no-op) implementations of KeystrokeListener
2738 * libspi/deviceeventcontroller.c:
2739 * libspi/deviceeventcontroller.h:
2740 Began creating implementations of DeviceEventController,
2741 to handle keystroke and mouse event listening and
2743 * libspi/accessible.c:
2744 Stubbed-in the implementations for
2745 Accessibility_Accessible_getState and
2746 Accessibility_Accessible_getRelationSet.
2747 * libspi/registry.c:
2748 Improved de-registration process and fixed some bugs,
2749 deregistration now works correctly.
2751 Added initialization of applications list (to NULL).
2753 Reduced speech compression from 0.5 to 0.7, for demo.
2754 Changed call to gdk_window_set_decorations()
2755 to gtk_window_set_decorated().
2756 * at-bridge/bridge.c:
2757 Bridge now deregisters when app exits, via
2758 registration of a cleanup function
2759 with the g_atexit() call.
2760 Required making 'app' static, renamed 'this_app'.
2761 Fixed broken use of bonobo_init, passing argv wrongly.
2763 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2767 Created a new directory for
2768 accessibility-related utilities, primarily for
2769 testing and demo purposes, but with possible
2776 Onscreen magnifier utility that
2777 is implemented as a bonobo service.
2779 * util/mag_client.c:
2780 * util/mag_client.h:
2781 Client-side support (simple C bindings)
2782 for Magnification service
2784 * util/mag_control.c:
2785 Client program example for
2786 Magnification service
2788 * util/Accessibility_Magnifier.server.in:
2789 Bonobo-activation file for the
2790 Magnification service.
2793 * util/idl/Magnifier.idl:
2794 IDL defining the bonobo Magnification
2798 Modifications to use the bonobo-activated magnifier
2799 above, in place of trying to connect to an existing
2800 magnifier that uses socket-listening IPC.
2802 If env variable MAGNIFIER is set, a magnifier service
2803 will be started if one does not exist.
2805 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2806 * at-bridge/bridge.c:
2807 applied patch from Marc to build and run
2808 against new glib and gtk+ (seemed like a change
2809 to bonobo_init signature was made ?)
2811 made festival-server support turned off by default.
2812 Added support for a simple magnifier (off by default)
2813 which will be added to a 'util' directory later.
2814 * at-bridge/Makefile.am:
2815 Changed "application.h" header from a 'source'
2816 to a 'dependency' of libat-bridge.
2818 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2826 Added interface implementation c files to list of
2827 includes so they are included in libcspi.
2830 Changed prototype of AccessibleAction_doAction to return a
2832 Changed prototype of AccessibleTable_getCaption to
2833 return an Accessible.
2834 Changed prototype of AccessibleTable_getSelectedRows
2835 and AccessibleTable_getSelectedColumns to
2836 return a long (returns the number of selected rows
2837 or columns respectively).
2838 Changed name of AccessibleText_refRunAttributes to
2839 AccessibleText_getAttributes.
2840 Changed prototype of AccessibleText_getCharacterExtents to
2841 return a void rather than a boolean.
2842 Added support for a AccessibleCoordType parameter
2843 specifying what type of coordinates are desired.
2844 Added an AccessibleCordType parameter to
2845 AccessibleText_getPointAtOffset.
2847 * cspi/spi_accessible.c:
2848 Added code to return the outstanding interfaces from
2849 Accessible_queryInterface.
2851 * cspi/spi_action.c:
2853 Corrected call to getNActions to call the c binding
2856 * cspi/spi_editabletext.c:
2858 Changed name from setRunAttributes to setAttributes.
2860 * cspi/spi_hyperlink.c:
2862 Changed call to getNAnchors to correctly call the c
2863 binding for an attribute.
2865 * cspi/spi_hypertext.c:
2867 Changed getImageDescription to correctly call the
2868 binding for an attribute.
2870 * cspi/spi_selection.c:
2871 Changed getNSelectedChildren to correctly call the c
2872 binding for the attribute.
2873 Changed refSelectedChild to getSelectedChild.
2877 Changed getCaption to return an Accessible.
2878 Fixed calls which retrieve attributes.
2879 Changed refAt to getAccessibleAt.
2880 Changed getNSelectedRows and getNSelectedColumns to
2884 Changed getCharacterExtents and getPointAtOffset to accept an
2885 AccessibleCoordType.
2887 Changed calls which retrieve attributes.
2888 Changed refRunAttributes to getAttributes.
2893 * idl/Hyperlink.idl:
2894 Changed n_anchors attribute to nAnchors to keep naming
2895 convention consistent.
2898 Made Table inherit from Bonobo::Unknown.
2899 Added nSelectedColumns and nSelectedRows attributes.
2902 Made Value inherit from Bonobo::Unknown.
2904 * libspi/hyperlink.c:
2905 Change for nAnchors attributte name change.
2907 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2915 Added interface implementation c files to list of
2916 includes so they are included in libcspi.
2919 Changed prototype of AccessibleAction_doAction to return a
2921 Changed prototype of AccessibleTable_getCaption to
2922 return an Accessible.
2923 Changed prototype of AccessibleTable_getSelectedRows
2924 and AccessibleTable_getSelectedColumns to
2925 return a long (returns the number of selected rows
2926 or columns respectively).
2927 Changed name of AccessibleText_refRunAttributes to
2928 AccessibleText_getAttributes.
2929 Changed prototype of AccessibleText_getCharacterExtents to
2930 return a void rather than a boolean.
2931 Added support for a AccessibleCoordType parameter
2932 specifying what type of coordinates are desired.
2933 Added an AccessibleCordType parameter to
2934 AccessibleText_getPointAtOffset.
2936 * cspi/spi_accessible.c:
2937 Added code to return the outstanding interfaces from
2938 Accessible_queryInterface.
2940 * cspi/spi_action.c:
2942 Corrected call to getNActions to call the c binding
2945 * cspi/spi_editabletext.c:
2947 Changed name from setRunAttributes to setAttributes.
2949 * cspi/spi_hyperlink.c:
2951 Changed call to getNAnchors to correctly call the c
2952 binding for an attribute.
2954 * cspi/spi_hypertext.c:
2956 Changed getImageDescription to correctly call the
2957 binding for an attribute.
2959 * cspi/spi_selection.c:
2960 Changed getNSelectedChildren to correctly call the c
2961 binding for the attribute.
2962 Changed refSelectedChild to getSelectedChild.
2966 Changed getCaption to return an Accessible.
2967 Fixed calls which retrieve attributes.
2968 Changed refAt to getAccessibleAt.
2969 Changed getNSelectedRows and getNSelectedColumns to
2973 Changed getCharacterExtents and getPointAtOffset to accept an
2974 AccessibleCoordType.
2976 Changed calls which retrieve attributes.
2977 Changed refRunAttributes to getAttributes.
2982 * idl/Hyperlink.idl:
2983 Changed n_anchors attribute to nAnchors to keep naming
2984 convention consistent.
2987 Made Table inherit from Bonobo::Unknown.
2988 Added nSelectedColumns and nSelectedRows attributes.
2991 Made Value inherit from Bonobo::Unknown.
2993 * libspi/hyperlink.c:
2994 Change for nAnchors attributte name change.
2997 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2999 implementations-- made server implementations own AtkObject pointers
3000 rather than their respective AtkInterrface pointers to fix
3001 refcounting. AtkHyperlink is still broken.
3003 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
3004 * cspi/spi_accessible.c:
3005 Added method Accessible_Role_getName(),
3006 and requisite string array (role_names).
3007 Added conversion string_from_corba_strin() call
3008 to Accessible_getName and _getDescription.
3009 * libspi/accessible.c:
3010 Added implementation for Accessible_getRole()
3012 Added festival support, used if environment variable
3015 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3017 * at-bridge/bridge.c:
3018 Now allocate Accessibility_Event using
3019 Accessibility_Event__alloc() instead of g_new0().
3020 * libspi/accessibleeventlistener.c:
3021 Initialize AccessibleEventListener->callbacks to NULL.
3022 Fixed accessible__event_listener_init() param, changed to
3023 "AccessibleEventListener *" type.
3024 Changed a bonobo_object_release_unref() call to
3025 Accessibility_Accessible_unref().
3026 * libspi/listener.c:
3027 Changed Bonobo_Unknown_unref to (equivalent)
3028 Accessibility_Accessible_unref.
3029 * libspi/registry.c:
3030 Changed bonobo_object_release_unref to
3031 Accessibility_Accessible_unref.
3033 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3036 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3037 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3038 spi-util.c spi-util.h
3039 Implementations for C bindings to remaining accessibility
3042 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3045 changed return value of Action from void to boolean to
3046 bring in line with ATK.
3049 Changed getText funcions to return "out" start and end offsets.
3050 Changed getAttributes to take and offset and return the start
3051 and end offset of the attribute run.
3052 Changed getOffsetAtPoint and getCharacterExtents to take an
3053 enum describing whether coordinates are window or screen.
3056 libspi/action.c libspi/action.h libspi/editabletext.c
3057 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3058 libspi/hypertext.c libspi/hypertext.h libspi/image.c
3059 libspi/image.h libspi/selection.c libspi/selection.h
3060 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
3061 libspi/value.c libspi/value.h
3062 Added server implementations for outstanding ATK interfaces
3063 not yet implemented.
3065 2001-09-04 Bill Haneman <bill.haneman@sun.com>
3068 Added (missing) getName() method.
3069 Made nActions an attribute.
3070 * idl/EditableText.idl:
3071 Changed order of params in setAttributes.
3072 * idl/Hyperlink.idl:
3073 Removed getAnchor, added getURI.
3075 Changed attributes to methods, for efficiency
3076 (so that getting extents can be done in one call)
3077 * idl/Selection.idl:
3078 Changed nSelectedChildren to attribute, and re-indented.
3079 * idl/Table.idl: changed nrows, ncolumns, caption, summary
3081 * idl/Text.idl: reformatted to match our coding style.
3082 (temporarily?) removed getRowColumnAtOffset().
3083 Changed text selection API to support multi-select and
3084 non-contiguous selections, as in ATK.
3085 * idl/Value.idl: changed some methods to attributes.
3087 2001-08-24 Mark McLoughlin <mark@skynet.ie>
3089 * libspi/listener.c(impl_notify_event):
3090 BonoboUnkown_unref the source instead
3091 of bonobo_object_release_unref - the ORB
3092 handles the releasing.
3094 * configure.in: require ORBit-2.3.94 for
3097 2001-08-21 Bill Haneman <bill.haneman@sun.com>
3099 Tagged CVS repository 'EA_1_0'.
3100 * README.EARLY_ACCESS:
3101 Alphabetized acknowledgements list, and
3103 Listed some known dependencies of at-spi.
3105 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3107 * docs/at-spi-docs.sgml:
3108 * docs/at-spi-sections.txt:
3109 * docs/at-spi-overrides.txt: (Added zero-length file)
3110 Documentation improvements - gtk-doc should build
3111 docs for all implemented C bindings now.
3114 * cspi/spi.c: (New file)
3115 * cspi/spi_event.c: (New file)
3116 * cspi/spi_registry.c: (New file)
3117 * cspi/spi_accessible.c: (New file)
3118 * cspi/spi_application.c: (New file)
3119 * cspi/spi_component.c: (New file)
3120 Split spi_main.c into six parts, and included them from
3121 "spi.c". This is a bit of a hack, probably temporary,
3122 but required by gtk-doc, apparently.
3124 2001-08-20 Bill Haneman <bill.haneman@sun.com>
3127 * docs/at-spi-docs.sgml:
3128 * docs/at-spi-sections.txt:
3130 Initial checkins/modifications for gtk-doc generation.
3133 Added (missing) interface query methods to Accessible's C binding.
3135 Added GenericInterface type definition.
3137 Added query for AccessibleComponent interface to focus event handler.
3138 Added printout of bounding box for focussed component.
3139 * libspi/component.c:
3140 Added partial implementation for AccessibleComponent to C binding.
3141 * idl/Application.idl:
3142 * libspi/registry.c:
3143 * libspi/listener.c:
3144 * libspi/application.c:
3145 * libspi/application.h:
3146 Changed "ID" attribute type from string to long.
3148 2001-08-19 Bill Haneman <bill.haneman@sun.com>
3152 Made method naming consistent: methods taking object args
3153 start with uppercase, other methods (except those using
3154 acronyms) start with lowercase. Underscores delimit between
3155 object names and method names:
3156 SPI_init() - uppercase since it starts with an acronym.
3157 getDesktopCount () - lowercase start since no object param0.
3158 Accessible_getName() - uppercase object type name, studlyCaps method
3162 Added gtk-doc documentation for all currently implemented
3163 methods in the C bindings API.
3165 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3167 * Makefile.am : changed build order to build test last.
3170 Changed "createEventListener" to "CreateEventListener".
3171 * libspi/accessibleeventlistener.c :
3172 Bugfix for addition of callbacks.
3173 * test/Makefile.am :
3174 * test/simple-at.c :
3175 Added new test that uses the C bindings API.
3177 * libspi/listener.c :
3178 * libspi/registry.c :
3179 * libspi/accessibleeventlistener.c :
3180 * at-bridge/bridge.c :
3181 Renamed member "target" of Accessibility_Event to "source",
3182 which is more descriptive.
3185 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3189 * cspi/Makefile.am :
3190 Added makefile support for at-spi/cspi directory.
3193 * cspi/spi-listener.h : (NEW FILE)
3194 Added support for/use of spi-listener.h.
3196 C bindings now build successfully, with no warnings.
3197 * libspi/accessibleeventlistener.h : (NEW FILE)
3198 * libspi/accessibleeventlistener.c : (NEW FILE)
3199 * libspi/Makefile.am :
3200 Added new object type "AccessibleEventListener"
3201 which inherits from Listener, and allows attachment
3202 of in-process callbacks (so that a client with a listening
3203 object instance can add functionality to the local
3204 implementation, dynamically).
3206 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3208 * libspi/accessible.c:
3209 Add implementation for get_index_in_parent().
3211 Added #include of "spi-roletypes.h", and
3212 added enumerated type AccessibleCoordType.
3213 Added definition for KeystrokeListener (function type).
3216 * cspi/spi-statetypes.h :
3217 * cspi/spi-roletypes.h :
3219 Added these headers, used by spi.h.
3221 Added code (NOTE: not yet built by make).
3223 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3225 * libspi/Makefile.am: generate imodule
3226 at the same time as other idl compiler
3229 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3230 * libspi/registry.c :
3231 * libspi/application.c :
3232 * idl/Application.idl :
3233 Made registration with toolkit an application method,
3234 which is required since each app has its own toolkit static
3235 environment. Thus the bridge must register for
3236 notification of toolkit events from each application in turn.
3237 Toolkit notifications are now successfully registered for, and
3238 sent to the listening at client.
3240 Changed toolkit event string to use hyphens rather than underscores.
3241 * libspi/listener.c :
3242 listner now gives more info in debug mode - it reports the
3243 name of the event received, as well as the name of the source.
3246 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3248 * libspi/registry.c :
3249 added more implementation for toolkit events.
3250 Fixed bug such that toolkit event registrations
3251 (via atk) use the whole event name string, not
3253 Removed a useless call to an ORBit_ method.
3254 * at-bridge/bridge.c :
3255 Removed unused local sbuf[] variable.
3257 We now register for Gtk:GtkWidget:button_press_event
3258 events as well as "focus:" events.
3260 Add some more API from Registry.idl that was missing,
3261 for keystroke listening, keystroke and mouse event
3262 synthesis, and enumeration of accessible desktops.
3264 2001-08-16 Michael Meeks <michael@ximian.com>
3266 * configure.in: use AM_GLIB_GNU_GETTEXT.
3268 * Makefile.am (SUBDIRS): kill intl.
3270 2001-08-15 Michael Meeks <michael@ximian.com>
3272 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3274 * configure.in: upd.
3276 * configure.in: depend on a recent bonobo-activation that
3277 will find our server files ...
3279 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3281 * libspi/accessible.c : accessible_new() :
3282 Now we add the Component interface via bonobo_object_add_interface,
3283 if the contained AtkObject implements AtkComponent.
3284 * libspi/accessible.h : now include "component.h"
3285 * libspi/component.h :
3286 * libspi/component.c : added files - implementation of
3287 bonobo wrapper object for Accessibility/Component
3288 * libspi/listener.c :
3289 Added test code to check for Accessibility/Component:1.0
3290 interface and report whether it is implemented by the
3292 * libspi/registry.c :
3293 Now we check for not only the hash of the whole event
3294 string before relaying the event, we also check the
3295 "minor" event string (without the detail string).
3296 This allows event listeners to be registered against
3297 all events of a certain major+minor type, or just
3298 against a specific major+minor+detail type.
3299 * libspi/accessible.c :
3300 Added implementations for Accessible:get_parent(),
3301 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3302 * libspi/registry.c :
3303 * libspi/listener.c :
3304 Replaced calls to Accessibility_Accessible_ref() and
3305 Accessibility_Accessible_unref() with
3306 calls to bonobo_object_dup_ref() and
3307 bonobo_object_release_unref(), so that the CORBA object
3308 is dup-ed and released when relayed, as well as the bonobo object.
3310 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3312 * libspi/Makefile.am,
3313 registryd/Makefile.am,
3314 at-bridge/Makefile.am.
3315 test/Makefile.am, configure.in:
3316 reverse previous changes.
3318 * /idl/Image.idl: fix typo.
3320 * test/Makefile.am: put DEBUG_FLAGS
3323 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3325 * test/app.c: use argv[0] instead of
3328 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3330 * libspi/Makefile.am,
3331 registryd/Makefile.am,
3332 at-bridge/Makefile.am.
3333 test/Makefile.am, configure.in:
3334 cleanup, replace individual LIBS/CFLAGS with
3335 AT_COMMON_{LIBS|CFLAGS}.
3339 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3341 * configure.in, libspi/Makefile.am:
3342 Change IDL path checking for bonobo-activation
3345 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3347 * registryd/registry.c : separated event listeners to use
3348 3 separate lists (focus, window, toolkit). Began testing
3349 event names against hashes before relaying events.
3350 * test/at.c : now register for events of type "focus:"
3351 * test/app.c : now generate events of type "focus:"
3352 * at-bridge/bridge.c : register with ATK for focus events,
3353 and we now relay those focus events to any "focus:" listeners.
3354 This now works with the bridge as a GTK_MODULE when running test/at.
3355 * libspi/registry.c :
3356 * libspi/listener.c :
3357 now we ref event sources before propagating, and unref on receipt.
3358 * libspi/registry.c :
3359 some changes to internal structs, to support event typestring hashes.
3360 * text/app.c : changed the way the appname is generated.
3361 * cspi : added directory that will hold the C bindings library for
3362 non-CORBA/bonobo-savvy clients.
3363 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3364 * idl/Component.idl : added in parameter to indicate coord system for
3365 geometry-related calls.
3366 * idl/Hyperlink.idl : added readonly n_links attribute
3367 * idl/Image.idl : changed methods to attributes.
3369 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3371 * at-bridge/Makefile.am: link against
3372 ../libspi/libspi.la instead of -lspi.
3374 * at-spi/test/app.c: include
3375 bonobo-activation.h. Use a default appname
3376 if one is not provided.
3378 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3380 * idl/Registry.idl : temporarily changed register_Application
3381 to oneway, to work around issue with initial registration
3383 * idl/Application.idl : changed attribute "id" from readonly
3384 to read-write, since it needs to be assigned by Registry.
3385 * registryd/registryd.c : added call to set application id
3387 * registryd/registry.c : changed de-registration procedure to
3388 use CORBA_Object_hash() to find matching object ref in application
3389 lists and listener lists.
3390 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3391 began distinguishing between event types (work in progress).
3393 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3396 * libspi/application.c:
3397 Added implementations for get/set id, get_toolkitName,
3399 * registryd/registryd.c :
3403 Converted from use of OAF to bonobo-activation.
3404 * libspi/desktop.h :
3405 * libspi/desktop.c :
3407 Removed references to atksimpleobject, since base atkobject
3408 implementation now provides functionality we need.
3409 * libspi/atksimpleobject.c :
3410 * libspi/atksimpleobject.h :
3415 * at-bridge/Makefile.am
3416 * at-bridge/bridge.c
3419 Added directory "bridge" and contents, and added dependencies
3420 in Makefile.am/configure.in.
3421 Initial checkin of "at-bridge".
3422 This code is a GTK_MODULE which automatically registers
3423 GTK+ apps with the accessibility registry, using an object
3424 reference to the root ATK object.
3426 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3428 * po/Makefile.in.in: Remove. Again. If this
3429 doesn't get autogenerated - you need to update
3432 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3434 * po/Makefile.in.in: Add. Again.
3436 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3438 * libspi/accessible.c : added support for 'description' property.
3439 * libspi/accessible.c
3441 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3442 (since the two are now equivalent in libbonobo)
3450 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3451 Bonobo::Unknown as does Accessibility::Accessible.
3452 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3453 interface with Bonobo::Stream, since it was redundant with it.
3454 (The Stream returned by a StreamableContext object is expected to
3455 implement only a subset of Bonobo::Stream)
3457 2001-07-28 Anders Carlsson <andersca@gnome.org>
3459 * libspi/accessible.c (accessible_object_finalize): Change
3460 g_free to g_object_unref since the AtkObject is a GObject.
3462 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3464 * idl/Accessibility.idl: add new IDL files
3467 * idl/Action.idl: Definitions of actionable UI object
3468 * idl/Component.idl: Definitions of UI component geometry, etc.
3469 * idl/Hyperlink.idl: Defs of hyperlink behavior
3470 * idl/Image.idl: Def of accessible image
3471 * idl/Selection.idl: Definition of UI object with selectable children
3472 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3473 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3474 * idl/Text.idl: Interface defs for UI elements with complex textual content
3475 * idl/Value.idl: Definition of UI element that is a value controller or display
3477 2001-07-27 Michael Meeks <michael@ximian.com>
3479 * po/Makefile.in.in: remove autogenerated file from CVS.
3481 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3484 * idl/Registry.idl: include guard.
3486 * idl/Accessibility.idl: Add, and include all the other IDL
3489 * idl/*.idl: remove mass of pragmas etc.
3491 2001-07-26 Michael Meeks <michael@ximian.com>
3493 * registryd/Makefile.am (registryd_SOURCES): remove
3496 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3498 * libspi/.cvsignore, registryd/.cvsignore,
3499 test/.cvsignore: updated.
3501 * po/Makefile.in.in: gettext update.
3503 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3505 * initial CVS checkin
3507 2001-06-29 Michael Meeks <michael@ximian.com>
3509 * configure.in: add AM_CONFIG_HEADER to gen config.h