1 2002-01-11 Bill Haneman <bill.haneman@sun.com>
3 * registryd/deviceeventcontroller.c:
4 Replaced standard X error handler with a special handler that
5 is non-fatal for failed keygrabs. This works around
6 problems with keygrab clashes sometimes observed on
8 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
9 mouse handling code as yet).
11 2002-01-11 Bill Haneman <bill.haneman@sun.com>
14 Incremented revision for desktop alpha release.
17 Fixed a couple of the more glaring errors (still not
20 2002-01-11 Michael Meeks <michael@ximian.com>
22 * registryd/deviceeventcontroller.c
23 (spi_device_event_controller_forward_key_event): kill
24 XUngrabKey / XKeyGrab race.
25 (spi_controller_grab_keyboard): rename to
26 (spi_controller_update_key_grabs): this, and deal
27 with incremental adding / removing grabs more
29 (_register_keygrab): ensure we're not pending a remove.
30 (spi_grab_mask_free): impl.
31 (spi_controller_register_global_keygrabs): split out
33 (handle_keygrab): impl.
34 (_deregister_keygrab): impl.
35 (spi_controller_deregister_global_keygrabs): impl.
36 (spi_controller_update_key_grabs): re-issue the grab if
37 we just recieved a notification.
39 * test/test-simple.c (key_listener_cb): remove debug.
41 * registryd/deviceeventcontroller.c
42 (spi_controller_register_device_listener): after
43 registering a global keygrab, actualy register it !
44 don't wait for a timeout; doh !
46 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
47 to make it more readable / manipulable.
48 s/grabmask/grab_mask/ s/refcount/ref_count/
49 s/keyval/key_val/ s/modmask/mod_mask
51 2002-01-08 Michael Meeks <michael@ximian.com>
53 * registryd/deviceeventcontroller.c
54 (spi_controller_register_with_devices): use gdk calls to
56 (global_filter_fn): implement the filter.
57 (spi_device_event_controller_check_key_event): rename to
58 (spi_device_event_controller_forward_key_event): this & upd.
59 (spi_get_display): replace with GDK_DISPLAY.
61 * registryd/deviceeventcontroller.c
62 (spi_controller_deregister_device_listener): unroll into
63 (impl_deregister_keystroke_listener): here to simplify.
64 (spi_controller_register_global_keygrabs): split cut and
65 paste (!) out into (_register_keygrab): here, shorter & sweeter.
66 (spi_controller_deregister_device_listener): remove.
67 (impl_register_mouse_listener): remove, no mouse listener
70 * registryd/registry.c
71 (_device_event_controller_hook): kill.
72 (spi_registry_init): upd.
74 * registryd/deviceeventcontroller.c
75 (spi_device_event_controller_class_init): upd.
76 (spi_check_key_event): merge into.
77 (spi_device_event_controller_check_key_event):
78 here and kill strange static ev init, don't leak
79 the x_event - nor dynamicaly allocate it.
81 * registryd/registry-main.c (main): re-direct
82 timeout to remove strange vtable mess.
84 * registryd/deviceeventcontroller.c
85 (remove_listener_cb): impl.
86 (spi_controller_deregister_device_listener):
87 fix re-enterancy hazard.
89 2002-01-07 Michael Meeks <michael@ximian.com>
91 * registryd/deviceeventcontroller.c
92 (spi_device_event_controller_new): upd.
93 (impl_notify_listeners_sync): upd. debug.
94 (spi_notify_keylisteners): fix re-enterancy hazards,
95 prettify, remove O(n*n) iteration.
96 (spi_controller_grab_keyboard): fix iteration.
97 (spi_check_key_event): re-format to suit coding style.
98 Clean all the warnings - we're warning free.
100 * registryd/deviceeventcontroller.h:
101 * registryd/registry.h: make mutualy referential with
102 typesafe forward references instead of (!) void pointer
105 2002-01-11 Michael Meeks <michael@ximian.com>
107 * cspi/spi_accessible.c (role_names): add a role name
108 to sync this array with the enum; and make the regression
111 2002-01-10 Michael Meeks <michael@ximian.com>
113 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
114 allow expansion of enumeration & kill warning.
116 * test/test-simple.c (key_listener_cb): impl.
117 (test_keylisteners): impl.
119 * cspi/spi-listener.h: make listener signatures const
120 on the provided (const) events.
122 * test/keysynth-demo.c: upd. to const events.
124 * test/simple-at.c: ditto.
126 2002-01-11 Bill Haneman <bill.haneman@sun.com>
129 Rev the version to 0.5 (the previous tarball was named 0.4,
130 even though the micro number was 3), so we need to rev upwards
131 again for beta2/"desktop-alpha"
134 Checked in a demo script, which requires editing before use!
135 Proceed with caution.
138 Fixed typo in header which was redefining SPI_ACTION_CLASS.
140 * cspi/spi_accessible.c:
141 Add a couple of missing enum initializations, and fix some enum
144 * cspi/spi_registry.c:
145 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
147 * docs/reference/cspi/at-spi-cspi-sections.txt:
148 Remove/fix a couple of broken document references.
151 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
152 as Alt-Control to listen for commands, since on some systems
153 Control-Alt may already be grabbed.
155 2002-01-10 Bill Haneman <bill.haneman@sun.com>
158 Update version number to 0.4 for Beta2.
160 * libspi/accessible.c, libspi/accessible.h:
161 Expose spi_accessible_construct, to enable libgail-gnome
162 construction from spi_accessible subtype.
165 Workaround for bug in some non-gnome-compliant window managers
166 which made magnifier resize improperly.
168 2002-01-09 Bill Haneman <bill.haneman@sun.com>
170 * libspi/accessible.c: (spi_accessible_new) :
171 Move the test for SPI_IS_REMOTE_OBJECT to
172 spi_accessible_new_return, fixing a bug and compile time warning.
174 2002-01-08 Michael Meeks <michael@ximian.com>
176 * registryd/registry.c (parse_event_type): remove strndup.
178 * libspi/Makefile.am (libspi_la_SOURCES): remove
179 sources already included in the headers section.
181 * libspi/util.c: add.
183 * libspi/spi-private.h: add.
185 * registryd/registry.c: update to moved list iterators.
187 2002-01-05 Michael Meeks <michael@ximian.com>
189 * test/simple-at.c (main): upd. auto-module set to atk-bridge
191 * test/test-simple.c (main): ditto.
193 2002-01-04 Michael Meeks <michael@ximian.com>
195 * libspi/accessible.c (spi_accessible_new): remove 2nd,
198 * registryd/registry.c
199 (get_listener_list): impl.
200 (impl_accessibility_registry_register_global_event_listener):
201 re-impl. to simplify using ~, remove dodgy const cast off.
202 (parse_event_type): constify.
203 (impl_accessibility_registry_deregister_global_event_listener_all):
204 re-write, more efficiency and simplicity, kill re-enterancy
206 (compare_listener_corbaref, compare_corba_objects),
207 (compare_listener_quarks): define out.
208 (impl_accessibility_registry_deregister_global_event_listener):
209 re-write for effiency, and nail re-enterancy hazard.
210 (impl_accessibility_registry_get_desktop_list): impl.
211 (re_enterant_list_delete_link): impl.
212 (re_enterant_list_foreach): impl.
213 (remove_listener_cb): impl.
214 (_registry_notify_listeners): kill.
215 (notify_listeners_cb): impl.
217 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
218 (SPI_getDesktopList): impl.
220 * test/test-simple.c (test_desktop): test the methods.
222 2002-01-03 Michael Meeks <michael@ximian.com>
224 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
225 keystrings since we free them
226 (SPI_freeAccessibleKeySet): in here.
228 * libspi/accessible.c (spi_accessible_new): kill warning,
229 wonder what is going on with the constructor here.
231 2002-03-01 Bill Haneman <bill.haneman@sun.com>
233 * libspi/accessible.c (spi_accessible_new ()) :
234 Added check to see if AtkObject is an SpiRemoteObject before
235 creating an SpiAccessible.
237 2002-05-01 Bill Haneman <bill.haneman@sun.com>
239 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
240 Enable keygrabs using the Control modifier, now that they are
241 working properly (they were previously disabled).
244 Change the command keygrab for this demo to "Control+Alt", so as
245 to conflict with fewer other key commands on the system; this
246 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
248 Removed a pointlessly-chatty keylistener for unshifted keys
249 (shifted keys are still reported).
251 2002-02-01 Bill Haneman <bill.haneman@sun.com>
253 * libspi/remoteobject.h:
254 * libspi/remoteobject.c:
255 Added definitions for special AtkObject subtype, required for
256 support of remote components (specifically, used by BonoboControl
257 accessibility implementation).
259 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
261 * cspi/spi.h: synched relation types with ATK
263 * cspi/spi_accessible.c: Added implementations of
264 AcccessibleRelation_* methods
266 * idl/Accessibility_Relation.idl: added getRelationTypeName
267 method. Synched known relation types with ATK. Allowed for
268 relation type extension with the RELATION_EXTENDED type.
270 * libspi/relation.c: Provided implementations for
271 AccessibleRelation methods.
273 2002-01-01 Bill Haneman <bill.haneman@sun.com>
275 API tweaks for today's API 'freeze'.
278 Added placeholder functions to allow future compatible expansion
279 of the IDL interfaces.
281 * idl/Accessibility_Registry.idl:
282 Changed generateKeyEvent to generateKeyboardEvent. Changed
283 signature of this method to accept an optional keystring in
284 parameter (for complex text input synthesis) and changed use of
285 simple 'boolean' parameter in registerKeystrokeListener to a
286 struct, EventListenerMode.
288 * cspi/spi_accessible.c:
290 * cspi/spi_streamablecontent.c:
291 Added references to AccessibleStreamableContent interface, and
292 definition and implementation of AccessibleStreamableContent
295 * cspi/spi_registry.c:
297 Changed generateKeyEvent API to generateKeyboardEvent,
298 taking a new (optional) keystring parameter to support complex
303 Renamed directory (to better reflect its actual purpose, bridging
304 from at-spi to ATK). The .so module is also now named
307 * idl/Accessibility_Hypertext.idl:
308 * libspi/accessible.c:
309 * libspi/hypertext.h:
310 * libspi/hypertext.c:
311 Changed Accessibility_Hypertext to *not* derive from
314 * cspi/spi_registry.c:
315 Added list of legal event type names for 'window' events, which
316 completes the registry event API.
318 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
320 * at-bridge/bridge.c: Added registration for separate
321 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
322 signals. If either of the first two parameters to the generic
323 bridge signal handler are ints, they are passed on as event
324 details. This allows an AT to determine what text was inserted.
326 2001-12-21 Bill Haneman <bill.haneman@sun.com>
328 * registryd/deviceeventcontroller.c:
329 Fixed regressions in generateKeyEvent caused by the removal of
330 gdk_init from registryd; we now use pure X calls to connect to the
331 display, which makes sense because deviceeventcontroller already
332 uses a fair bit of X API (should eventually be migrated to a
333 'portability layer').
335 * registryd/desktop.c:
336 Fixed minor regression in spi_desktop_init, changed the way the
337 desktop name is being set to work with new spi_base API
338 (gobject-based, rather than AtkObject-based).
340 * registryd/Makefile.am:
341 Minor revision of makefile to use XTST_LIBS variable rather than
342 hard-wiring the Xtst LD_ADD element.
344 * test/keysynth-demo.c:
345 Tweaked an output message; added initialization of the
346 'keystrings' member of the "switch listener" key_set.
349 Squashed compile-time warning.
351 * libspi/accessible.c:
352 Cosmetic and formatting fixes, renamed a static method.
354 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
356 * libspi/accessible.c
358 * libspi/application.c
362 * libspi/editabletext.c
370 * registryd/desktop.c:
371 Changed SpiBase to contain a GObject pointer rather than an AtkObject
373 2001-12-17 Bill Haneman <bill.haneman@sun.com>
375 * idl/Accessibility_Registry.idl:
376 Added boolean member 'is_text' to DeviceEvent. This is for the
377 use of key events, and helps prevent ambiguity between composed
378 key strings and keysym names, since both may potentially be
379 returned in the 'event_string' member.
381 * at-bridge/bridge.c:
382 * registryd/deviceeventcontroller.c:
383 Use the 'is_text' member when notifying device event listeners.
384 Knon issue: composed characters are not dealt with correctly by
385 the global key listener implementation yet.
387 2001-12-17 Bill Haneman <bill.haneman@sun.com>
389 * at-bridge/bridge.c:
390 Namespaced local static methods to spi_atk_bridge_* where
391 previously named bridge_*, and spi_* elsewhere.
393 * at-bridge/bridge.c:
394 * cspi/bonobo/cspi-bonobo-listener.c:
395 Added demarshalling/conversion for string member of
396 Accessibility_DeviceEvent to AccessibleKeystroke.
398 * registryd/deviceeventcontroller.c:
399 Added code to fill the Accessibility_DeviceEvent key string value
400 member for global key events (i.e. from XGrabKey), to match
401 behavior of Accessibility_DeviceEvent from the toolkit key events
402 from the bridge. Fixed timestamp in global key event notifications.
405 Added printout of key event's string value to
406 report_ordinary_key_event, for demo/debugging purposes.
408 2001-12-15 Bill Haneman <bill.haneman@sun.com>
410 * idl/Accessibility_Registry.idl:
411 Removed Accessibility_KeyStroke structure in favor of generic
412 Accessibility_DeviceEvent structure.
413 Changed Accessibility_ControllerEventMask from a struct to an
416 * at-bridge/bridge.c:
417 Changed APIs to use DeviceEvent structure as above, and removed
418 bogus casting between these event structures.
420 * cspi/spi-listener.h:
421 Added keystring member of AccessibleKeystroke structure, to enable
422 matching on event "names" rather than only hardware codes and
426 Added keystrings member of AccessibleKeySet struct, to allow
427 matching on event names (as above).
428 Added declarations for SPI_createAccessibleKeySet and
429 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
430 event modmasks directly as unsigned ints rather than structs with
431 refcounts, in the DeviceEventController methods.
433 * cspi/spi_registry.c:
434 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
436 * cspi/spi-roletypes.h:
437 Added documentation of newly added SPI Roles.
439 * cspi/bonobo/cspi-bonobo-listener.c:
440 Changes in support of API changes above.
442 * libspi/accessible.c:
443 Converted APIs to use DeviceEvent structure (see IDL changes
446 * registryd/deviceeventcontroller.c:
447 Added DEControllerGrabMask structure to track keygrabs not only by
448 modmask but by keyset as well; this allows us to do "global"
449 (i.e. X) keygrabs on a per-key or keyset basis rather than always
450 grabbing on AnyKey and then filtering after-the-fact.
451 Bugfixes for event filtration mean that we don't get false matches
452 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
454 * registryd/deviceeventcontroller.c:
455 Namespaced a number of static methods to use spi_ prefix. Major
456 revision to internals of global (i.e. X) key grabs.
458 * registryd/deviceeventcontroller.h:
459 Removed keymask_list and added keygrabs_list to
460 SpiDeviceEventController struct.
463 Added use of SPI_createAccessibleKeySet API when creating a
464 listener for only one key. Attach a listener to "shift spacebar
465 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
466 X key event names to SPI key event names, so that listeners are
467 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
469 * test/keysynth-demo.c:
470 Changed (incorrect) use of X key event names (KeyPressed,
471 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
474 2001-12-12 Bill Haneman <bill.haneman@sun.com>
476 * libspi/accessible.c:
477 Convert all AtkRole enumerations to Accessibility_Role enums when
478 getting a role from an AtkObject.
480 * cspi/spi_accessible.c:
481 Complete the conversion of Accessibility_Role enums at runtime to
482 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
483 role enums correctly match those given in spi-roletypes.h.
484 Re-synchronize the local names list for AccessibleRole_getName ().
485 AccessibleRole_getName is now deprecated, since it duplicates the
486 more reliable Accessible_getRoleName.
487 Added some role types from Accessibility_Role.idl.
489 * idl/Accessibility_Role.idl:
490 Added some role types used by AtkRole.
492 2001-12-12 Bill Haneman <bill.haneman@sun.com>
495 * cspi/spi_registry.c:
497 * cspi/cspi-bonobo-listener.c:
498 Namespaced all methods that did not begin with an "SPI_" or
499 "Accessible" prefix to "SPI_".
502 Homogenized internal function namespace to "cspi_" for statics.
505 Patched tests to use the new CSPI API.
507 * docs/reference/cspi/at-spi-cspi-sections.txt:
508 Updated docs to reflect namespace changes, and added a number of
509 methods to the documentation.
511 * registryd/registry.c:
512 Changed use of strings and string hashes in listener event
513 matching and parse_event_string to use GQuark, which is guaranteed
516 * registryd/registry.h:
517 Squashed annoying warning.
519 * idl/Accessibility_Role.idl:
520 Extended range of available Accessibility_Role values.
522 * cspi/spi_accessible.c:
523 Re-ordered role names.
525 2001-12-12 Bill Haneman <bill.haneman@sun.com>
527 * idl/Accessibility_Value.idl:
528 Revert use of union back to CORBA_double, since the double type is
529 more efficient and can contain the other types without loss of
532 * idl/Accessibility_Accessible.idl:
533 Added method Accessibility:Accessible:getRoleName, to complement
534 Accessibility:Accessible:getRole.
536 * cspi/spi_accessible.c:
538 Added C binding for above, Accessible_getRoleName (), and changed
539 signature of Accessible_getRole () to return an AccessibleRole.
541 * cspi/spi-roletypes.h:
542 Changed AccessibleRole_getName to return a char * instead of a
543 const char *. This method is now at least temporarily deprecated
544 in favor of asking Accessibles for their RoleNames directly.
547 Revert to match Accessibility_Value.idl;
551 Change signature of AccessibleValue methods to use double rather
555 * cspi/spi_accessible.c:
556 Changed Accessible_getRole to return an AccessibleRole enum rather
557 than a UTF-8 string. The UTF-8 string can still be obtained via
558 AccessibleRole_getName ().
560 * test/test-simple.c:
561 Add test_action. Small fixup to match API change to Accessible_getRole.
564 Bugfix for get_action_from_servant ().
566 2001-12-11 Michael Meeks <michael@ximian.com>
568 * libspi/libspi.h: remove registry.h and
569 desktop.h, deviceeventcontroller.h
571 * libspi/Makefile.am: remove registry.[ch],
572 desktop.[ch], deviceeventcontroller.[ch]
574 * registryd/Makefile.am: add registry.[ch],
575 desktop.[ch], rename registryd.c to registry-main.c.
576 add deviceeventcontroller.[ch]
578 2001-12-11 Bill Haneman <bill.haneman@sun.com>
581 Replace setenv() call with putenv ().
583 * libspi/component.c:
584 Bugfix in AccessibleComponent_getExtents (),
587 2001-12-11 Michael Meeks <michael@ximian.com>
589 * libspi/image.c (impl_getImageExtents): impl.
590 (spi_image_class_init): upd.
593 (AccessibleImage_getImageDescription): fix daft bug
596 * test/test-simple.c (global_listener_cb): update
597 to only quit if not --poke
598 (main): catch --poke.
599 (validate_accessible): upd. dumping, call test_image
602 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
605 * idl/Accessibility.idl: update all IDL includes.
607 * idl/*.idl - rename to namespace - this sucks, blame
608 mjs' bad decision for oafd.
610 * test/test-simple.c (create_test_window): add more tests.
611 (create_tree): split this out.
612 (validate_accessible): bugfix.
614 2001-12-11 Michael Meeks <michael@ximian.com>
616 * cspi/bonobo/cspi-bonobo-listener.c:
617 (cspi_kestroke_listener_unref),
618 (cspi_event_listener_unref): impl. undoing previous
619 homenous environment - for Bill.
621 * cspi/spi_table.c (long_seq_to_array): use
624 * cspi/spi_main.c: split out all bonoboish bits into
627 * cspi/spi-impl.h: upd. typedefs.
629 * cspi/spi_registry.c: update to lowlevel API,
630 return booleans to indicate success in some places.
632 * cspi/spi_event.c: update to lowlevel API.
634 * cspi/bonobo/Makefile.am: add.
636 * cspi/bonobo/cspi-lowlevel.h: add
638 * cspi/bonobo/cspi-bonobo.c: add
640 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
642 * cspi/Makefile.am: remove spi-listener-impl.[ch],
643 (SUBDIRS): add bonobo, link in the libs.
645 * cspi/spi-util.c: kill this file.
647 * TODO: merge in my bits.
649 2001-12-11 Michael Meeks <michael@ximian.com>
651 * test/test-simple.c (test_value, test_table, main):
652 remove unused variables causing warnings.
654 * configure.in: cleanup checks - require gail.
656 2001-12-11 Bill Haneman <bill.haneman@sun.com>
659 Changed Value interface to use SValue (scalars) rather than
660 assuming all values are floats. This allows floats, doubles,
661 longs, shorts, and unsigned values to be manipulated.
662 Introduced Accessibility:SValue union.
665 Updated to use new API above, and to work correctly with GValues
666 of different types in AtkValue.
669 Updated to use new API above. cspi's API is as yet unchanged.
672 Updated the Value revision action item.
674 2001-12-10 Bill Haneman <bill.haneman@sun.com>
676 * test/test-simple.c:
677 Added test_table (GtkTreeView widget in test window to follow).
678 Un-commented test_value, added GtkRange widget.
679 Added GtkTreeView widget with GtkListStore. It passes regression
680 test but leaks one SPI object for some reason.
683 Fixed bug in impl__set_currentValue.
685 2001-12-10 Michael Meeks <michael@ximian.com>
687 * cspi/spi_text.c: audit for exception handling,
688 tolerating NULL object references safely etc.
690 * cspi/spi_value.c: ditto.
692 * cspi/spi_table.c (AccessibleTable_getSummary),
693 (AccessibleTable_getAccessibleAt),
694 (AccessibleTable_getRowHeader),
695 (AccessibleTable_getColumnHeader),
696 (AccessibleTable_getCaption): fix bugs hidden by
698 (long_seq_to_array): impl.
699 (AccessibleTable_getSelectedRows),
700 (AccessibleTable_getSelectedColumns): use it.
702 2001-12-10 Bill Haneman <bill.haneman@sun.com>
705 Added a TODO list (rough and short for now).
707 * cspi/spi_hyperlink.c:
708 * cspi/spi_hypertext.c:
709 Fixed macro name typos, and remove use of obsolete macro in
710 AccessibleHyperlink_getLink.
713 * cspi/spi_accessible.c:
714 * cspi/spi_application.c:
715 * cspi/spi_component.c:
716 * cspi/spi_selection.c:
719 Documentation fixes (removed return values from ref/unref methods).
721 2001-12-10 Michael Meeks <michael@ximian.com>
723 * cspi/spi_action.c: audit for exception handling,
724 tolerating NULL object references safely etc.
726 * cspi/spi_accessible.c: ditto.
728 * cspi/spi_component.c: ditto.
730 * cspi/spi_editabletext.c: ditto.
732 * cspi/spi_hyperlink.c: ditto.
734 * cspi/spi_hypertext.c: ditto.
736 * cspi/spi_image.c: ditto.
738 * cspi/spi_selection.c: ditto.
740 2001-12-10 Michael Meeks <michael@ximian.com>
742 * configure.in: use cspi/libspi.pc.in instead.
744 * Makefile.am (pkgconfig_DATA): upd. to match.
746 * test/simple-at.c (report_focus_event): kill hacks around
747 bad return values, use putenv not setenv
749 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
750 fire ChildGone - I killed it.
753 (impl_accessibility_component_get_extents): remove
756 * idl/Accessible.idl: kill ChildGone exception.
758 * cspi/*.[ch]: kill int return from ref / unref.
760 * cspi/spi_main.c (cspi_object_add_check): fold into
761 (cspi_object_add): here.
763 * cspi/spi_component.c (AccessibleComponent_getExtents):
764 handle exceptions elegantly.
766 * cspi/spi-private.h (cspi_check_ev_return),
767 (cspi_return_if_fail): impl.
769 * cspi/spi_accessible.c: use extensively.
770 (AccessibleStateSet_equals): add direct compare check.
772 * cspi/spi_selection.c: tolerate NULL objs, and check
773 exceptions before return.
775 * cspi/spi-util.c (cspi_warn_ev): rename to
776 (cspi_check_ev): this & don't pass ev in; no point.
778 2001-12-10 Michael Meeks <michael@ximian.com>
780 * test/test-simple.c: use putenv not setenv
781 (get_environment_vars): more chatty if you're not using
784 * test/simple-at.c: do the setenv so more people see the
787 2001-12-10 Bill Haneman <bill.haneman@sun.com>
790 Changed check of CORBA_environment on notification to be a warning
791 instead of an error for the moment, since we can recover from this
792 error when caused by a queued notification from a dead app.
795 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
796 used by all current implementors of AtkValue), and coerce to
797 CORBA_float. (Proper general case fix may require change to Value.idl).
799 2001-12-09 Bill Haneman <bill.haneman@sun.com>
803 * cspi/spi_accessible.c:
804 Documentation fixes: added user_data params to documentation for
805 listeners and callbacks.
807 * cspi/spi_accessible.c:
808 Changed AccessibleStateSet_compare to return a
809 StateSet rather than return the difference set into a third parameter.
812 2001-12-09 Bill Haneman <bill.haneman@sun.com>
815 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
816 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
820 Remove subdirectory po from SUBDIRS for now.
822 * at-bridge/bridge.c:
823 Beefed up a couple of debug printouts.
824 One-line fix for signal notification name formatting.
826 * libspi/accessible.c:
827 Added assertion to spi_accessible_new ().
829 * libspi/application.c:
830 Put #ifdef qualifiers around a printf.
833 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
835 * registryd/Makefile.am:
837 Replaces use of XML_I18N_MERGE_SERVER_RULE with
838 INTLTOOL_SERVER_RULE macro.
841 Added an event listener for several ATK signals, for
842 testing and debugging. Removed a few g_warnings.
843 Added test output if focussed item implements the Value interface.
845 * test/test-simple.c:
846 Added test_value () function (known not to pass at the moment, so
847 not actually called yet.
849 2001-12-08 Michael Meeks <michael@ximian.com>
851 * at-bridge/bridge.c (bridge_focus_tracker),
852 (emit_eventv): fix the same ref. leak.
853 (register_atk_event_listeners): don't leak.
855 * cspi/spi-listener-impl.c (cspi_event): more
856 protection from client code.
858 * test/test-simple.c (test_desktop): unref the app.
860 * test/Makefile.am: upd. TESTS.
862 * at-bridge/bridge.c (bridge_exit_func): release the registry.
864 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
866 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
868 * cspi/spi_registry.c: constify in strings.
869 (deregisterGlobalEventListenerAll): don't release the ref.
871 * cspi/spi.h: start removing redundant / conflicting
872 gtkdoc comments, making the API readable at a glance :-)
874 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
876 * test/keysynth-demo.c (keysynth_exit, main): upd.
878 * test/simple-at.c (main, simple_at_exit): upd.
880 * test/test-simple.c (unutterable_horror): kill.
881 (utterable_normal_derefs): kill.
882 (main): upd & do a setenv before gtk_init, so that we
883 can use memprof - and to save the pain of remembering
884 this, if we're running under memprof - don't exit.
886 * cspi/spi_main.c (SPI_exit): return exit status
888 (SPI_event_quit): impl.
889 (SPI_event_main): simplify.
890 (cspi_is_gnome_app): kill.
891 (SPI_init): kill isGNOMEapp arg.
893 * at-bridge/bridge.c (register_atk_event_listeners):
894 re-instate the unref.
895 (bridge_exit_func): don't re-activate the registry,
896 protect vs. theoretical re-entry, use the
897 AT_BRIDGE_SHUTDOWN env. var to determine whether to
898 assert a clean shutdown - for regression tests.
900 2001-12-08 Abel Cheung <maddog@linux.org.hk>
902 * configure.in: Comment out dummy i18n support for now,
903 otherwise it fails to build.
904 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
905 EXTRA_DIST. They are missing in tarball.
907 2001-12-07 Michael Meeks <michael@ximian.com>
909 * util/magnifier.c: kill bonobo activation reg. race.
912 (impl_accessibility_component_get_extents): make it match
915 * libspi/registry.c (_registry_notify_listeners):
916 re-remove X headers & reconcile conflicts.
917 (spi_listener_struct_free): bad conflict resolve.
918 (impl_accessibility_registry_register_application):
919 more bad merging fixed.
920 (impl_accessibility_registry_deregister_application): ditto.
921 (spi_registry_new): ditto.
922 (spi_registry_init): don't have an applications field.
924 [ merge fixups2 branch to here ]
925 2001-12-07 Michael Meeks <michael@ximian.com>
927 * test/simple-at.c (report_focus_event),
928 (report_focussed_accessible): remove g_warning debug.
930 2001-12-07 Michael Meeks <michael@ximian.com>
932 * test/test-simple.c (validate_tree): comment out some checks.
933 (test_desktop): app now not registered idly - horay.
935 2001-12-07 Michael Meeks <michael@ximian.com>
937 * cspi/spi_registry.c
938 (registerAccessibleKeystrokeListener): clean, stop it leaking
939 great swathes of memory, and device event controller references.
940 ensure we always pass valid sequences.
941 (deregisterAccessibleKeystrokeListener): ditto.
942 (generateKeyEvent): upd.
944 * at-bridge/bridge.c (bridge_key_listener): handle
945 registry dead exception gracefully.
946 (bridge_focus_tracker, emit_eventv): free ev.
948 * test/simple-at.c (report_focus_event): fix polarity.
950 * libspi/application.c (notify_listeners): kill the ev
951 argument, and make sure we init the ev we use.
952 (spi_application_object_event_listener): split out a chunk
953 (get_atk_object_ref): here & fixup.
954 (reverse_lookup_name_for_toolkit_event): make const.
955 (spi_application_toolkit_event_listener): fixup, kill leaks
958 * at-bridge/bridge.c (register_atk_event_listeners):
959 don't unref the noop object - causes grief.
961 * libspi/registry.c: remove the X headers.
962 turn off the debug churn.
964 * libspi/accessible.c (spi_accessible_new_return): only
965 release the ref if we are supposed to [doh]
967 * test/simple-at.c (report_button_press, report_focus_event):
968 guard vs. unexpected exit.
970 * at-bridge/bridge.c (gtk_module_init): prune printf.
971 (bridge_exit_func): fix app unref.
973 * libspi/Makefile.am: don't install registry or desktop.h
975 * libspi/*.h: update includes.
977 * libspi/application.h: don't include ourself, or
978 other redundant headers.
980 2001-12-06 Michael Meeks <michael@ximian.com>
982 * libspi/accessible.c
983 (get_accessible_from_servant): impl.
984 Upd. all CORBA impl.s to use it killing cut and paste.
986 * cspi/spi_main.c (cspi_cleanup): guard vs. double
988 (SPI_init): register atexit cleanup handler here.
990 2001-12-06 Michael Meeks <michael@ximian.com>
992 * at-bridge/bridge.c (gtk_module_init): g_error on
995 2001-12-06 Michael Meeks <michael@ximian.com>
997 * at-bridge/bridge.c (gtk_module_init): some sort of
998 confusing merge clash - reverted.
999 (bridge_idle_init): ditto.
1001 * test/test-simple.c (main, utterable_normal_derefs):
1002 merge from Bill - somehow not committed.
1004 2001-12-06 Michael Meeks <michael@ximian.com>
1006 * libspi/value.c (spi_value_class_init): upd.
1007 (spi_value_finalize): kill.
1009 * libspi/table.c (spi_table_finalize): kill.
1010 (spi_table_interface_new): upd.
1011 (spi_table_class_init): upd.
1012 (get_table_from_servant): impl.
1013 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1015 * libspi/selection.c (spi_selection_finalize): kill.
1016 (spi_selection_interface_new): upd.
1017 (spi_selection_class_init): upd.
1018 (get_selection_from_servant): impl.
1019 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1021 * libspi/relation.c (spi_relation_finalize): kill.
1022 (spi_relation_class_init, spi_relation_new): upd
1024 * libspi/image.c (spi_image_finalize): kill.
1025 (spi_image_class_init): upd.
1026 (spi_image_interface_new): upd.
1027 (get_image_from_servant): impl.
1028 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1030 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
1031 (spi_hyperlink_finalize): kill.
1032 (spi_hyperlink_new): upd.
1033 (get_hyperlink_from_servant): impl.
1034 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1036 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
1037 (spi_hypertext_finalize): kill.
1038 (spi_hypertext_class_init): upd.
1039 (get_hypertext_from_servant): impl.
1040 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1042 * libspi/editabletext.c (spi_editable_text_finalize): kill.
1043 (spi_editable_text_interface_new): upd.
1044 (get_editable_text_from_servant): impl.
1045 Upd. all CORBA impl.s to use it killing yet more cut and paste.
1047 * libspi/text.c (get_text_from_servant): impl.
1048 All impls - update to use it killing more cut and paste,
1049 also fix bad string returns on duff args ( a somewhat
1050 impossible case to handle - but hey ).
1051 (spi_text_construct): impl.
1052 (spi_text_interface_new): upd.
1053 (spi_text_object_finalize): kill.
1055 * libspi/component.c
1056 (accessibility_component_object_finalize): kill.
1057 (spi_component_class_init): upd.
1058 (get_component_from_servant): impl. helper to kill cut & paste.
1059 (impl_accessibility_component_contains):
1060 (impl_accessibility_component_get_accessible_at_point):
1061 (impl_accessibility_component_get_position):
1062 (impl_accessibility_component_get_extents):
1063 (impl_accessibility_component_get_mdi_z_order):
1064 (impl_accessibility_component_get_layer):
1065 (spi_component_interface_new): upd.
1067 * libspi/action.c (spi_action_finalize): kill.
1068 (spi_action_class_init): upd. inherit from SpiObject.
1069 (spi_action_interface_new): upd.
1070 (get_action_from_servant): impl. helper to reduce cut & paste.
1071 (impl_getKeyBinding, impl_getName, impl_doAction),
1072 (impl_getDescription): Use it everywhere.
1074 * cspi/spi_main.c (get_live_refs): a pointer hash.
1075 (spi_object_hash, spi_object_equal): comment out.
1076 There are issues with CORBA object hashing that need
1079 * libspi/application.c (spi_application_init),
1080 (spi_application_new): upd.
1082 * libspi/accessible.c (spi_accessible_object_finalize): kill.
1083 (spi_accessible_class_init): upd.
1084 s/accessible/object/ in epv methods.
1086 2001-12-05 Bill Haneman <bill.haneman@sun.com>
1088 * at-bridge/bridge.c:
1089 Reorder the bridge initialization into the bridge gtk_module_init,
1090 an immediate call to bridge_register_app, and an idle_add for
1091 register_atk_event_listeners (the only code that *must* wait until
1092 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
1093 the activation, creates the application's Accessible object, and
1094 queues the bridge_idle_init function. Restored call to
1095 Accessibility_Registry_deregisterApplication().
1096 Prior to making this call we obtain a new reference to the
1097 registry, which is a temporary hack that helps us handle apps that
1098 shut down the bonobo mainloop before we get there.
1100 * libspi/registry.c:
1101 Fix string leakage in debug block, and don't segv if a an app
1102 dies before its event notifications have been propagated.
1105 Modify cspi_check_ev() to call g_warning() rather than g_error(),
1106 as stopgap measure until we get proper exception handling when
1107 objects die during or before interrogation.
1111 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
1112 Also changed default value of is_gnome_app to TRUE.
1115 * test/keysynth-demo.c:
1116 Changed use of SPI_init and SPI_event_main to reflect API change above.
1119 Made report_focus_event check the warning value from getName
1120 before reporting on focussed accessible; simplifies handling of
1121 notifications from dead objects.
1123 * test/test-simple.c: (Changes not in this patch since source is
1126 2001-12-05 Michael Meeks <michael@ximian.com>
1128 * registryd/registryd.c (main): protect against
1129 bonobo-activation startup race condition.
1131 * cspi/spi_main.c (cspi_object_add_check): cope
1132 with the exception elegantly.
1134 * idl/Accessible.idl: decl. ChildGone
1136 * libspi/desktop.c (spi_desktop_dispose): impl.
1137 (spi_desktop_class_init): upd.
1138 (spi_desktop_add_application),
1139 (spi_desktop_remove_application),
1140 (abnormal_application_termination): impl.
1141 (impl_desktop_get_child_at_index): re-impl.
1144 (impl_accessibility_registry_deregister_application),
1145 (impl_accessibility_registry_register_application):
1146 kill excessive debug clutter.
1148 * test/test-simple.c (test_misc): test some NULL
1149 tolerance. (main): upd.
1151 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1152 implements no interfaces - so let's not crash.
1154 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1156 * libspi/accessible.c (spi_accessible_new_return): impl.
1157 helper to calm the cut and paste, to cope with
1158 NULL AtkObjects effectively and efficiently, and to kill
1159 the referencing bugs.
1161 * libspi/table.c (impl_getAccessibleAt),
1162 (impl_getRowHeader, impl_getColumnHeader): upd.
1164 * libspi/hyperlink.c (impl_getObject): upd.
1166 * libspi/accessible.c
1167 (impl_accessibility_accessible_get_child_at_index): upd.
1169 * libspi/component.c
1170 (impl_accessibility_component_get_accessible_at_point): upd.
1172 * test/test-simple.c (test_editable_text, test_text): impl.
1175 * cspi/spi_editabletext.c
1176 (AccessibleEditableText_insertText): constify.
1178 * test/test-simple.c (focus_me): make more robust.
1180 * libspi/accessible.c: remove some printfs in methods that
1181 we test and work fine, so we can get a clean tree dump.
1183 * test/test-simple.c (validate_accessible),
1184 (validate_tree): make tree dumping pretty too.
1186 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1187 it builds without debug on.
1189 * test/test-simple.c (validate_accessible): fix the most
1192 * cspi/spi_main.c (spi_object_release): leave the nicely
1193 blanked memory around if in debug mode.
1195 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1197 [committed to fixups2]
1198 2001-12-05 Michael Meeks <michael@ximian.com>
1200 * libspi/editabletext.c
1201 (spi_editable_text_class_init): g_type_class_peek_parent,
1202 not interface peek - so we finalize cleanly.
1204 * libspi/accessible.c (spi_accessible_new): kill debug.
1206 * test/test-simple.c (validate_accessible): fix ref.
1207 leak, print strings before freeing them; sigh, comment a
1208 chunk out due to strangeness.
1209 (validate_tree): unref the child after use.
1211 * cspi/spi_component.c (AccessibleComponent_getLayer):
1212 add missing break statement, switch on zlayer not the
1213 uninitialized retval.
1215 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1216 before (possibly re-entering) remote unref.
1218 * test/simple-at.c (main): unref the desktop.
1220 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1223 * cspi/spi_main.c (cspi_accessible_is_a): here to
1224 isolate bonobo API usage more.
1226 * libspi/registry.c (impl_accessibility_registry_register_application):
1227 prune bogus comment.
1229 2001-12-04 Michael Meeks <michael@ximian.com>
1231 * test/test-simple.c (validate_tree): upd.
1232 IndexInParent check to make it more lucid.
1233 (validate_accessible): dump the tree.
1235 * libspi/accessible.c (de_register_public_ref),
1236 (get_public_refs): impl.
1237 (spi_accessible_new): make more efficient & intuitive.
1238 Now IndexInParent check works.
1240 2001-12-04 Michael Meeks <michael@ximian.com>
1242 * cspi/spi-util.h: remove.
1244 * cspi/spi.h: move SPI_freeString here
1246 * libspi/component.c (impl_accessibility_component_get_layer):
1248 (impl_accessibility_component_get_mdi_z_order): ditto,
1249 return -1 on error - is this ok ?
1251 * test/test-simple.c (test_application): impl.
1253 * cspi/spi_accessible.c (Accessible_getApplication),
1254 (Accessible_isApplication): impl.
1256 * libspi/registry.c (spi_listener_struct_free): release
1257 the CORBA reference too.
1259 * libspi/accessible.c
1260 (impl_accessibility_accessible_get_parent): fix ref leak.
1262 * libspi/registry.c (spi_registry_new): make the registry
1263 immortal - we don't want it to go away ever.
1265 * libspi/application.c
1266 (spi_accessible_application_finalize): impl. cleanup.
1268 * cspi/spi_registry.c
1269 (deregisterGlobalEventListenerAll),
1270 (deregisterGlobalEventListener),
1271 (deregisterAccessibleKeystrokeListener): fix ref leak.
1273 * cspi/spi_main.c (SPI_init): remove redundant ref.
1275 * test/test-simple.c (unutterable_horror): impl. to force a
1280 (impl_accessibility_registry_deregister_application): release
1281 the application when we de-register it.
1283 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1284 until we have the infastructure to get it right.
1286 2001-12-03 Michael Meeks <michael@ximian.com>
1288 * libspi/Makefile.am: only build eventlistener.[ch]
1290 * libspi/accessible.c
1291 (impl_accessibility_accessible_get_child_at_index): don't leak.
1293 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1294 before we hit the idle handler.
1296 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1297 debugging than exit.
1299 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1301 * libspi/listener.c (impl_notify_event): check source
1302 not NIL before unref.
1304 * libspi/registry.c (impl_registry_notify_event): ditto.
1306 * libspi/eventlistener.c
1307 (impl_accessible_event_notify_event): unref the source.
1309 * libspi/accessibleeventlistener.c
1310 (impl_accessible_event_notify_event): unref the source.
1312 * idl/Event.idl: remove 'hash_id' attribute - of no
1315 * libspi/application.c (notify_listeners): upd list
1317 (spi_application_object_event_listener),
1318 (spi_application_toolkit_event_listener): upd to do correct
1322 (_registry_notify_listeners): update.
1323 (parse_event_type): this method also leaks like a sieve.
1324 (impl_accessibility_registry_deregister_global_event_listener):
1325 fix ETYPE_WINDOW case.
1327 * libspi/application.c
1328 (impl_accessibility_application_register_object_event_listener):
1331 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1333 * libspi/hypertext.c (impl_getLink): ditto.
1335 * cspi/spi_main.c (cspi_object_add): remove
1336 bogus CORBA_Object_duplicate.
1338 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1341 * cspi/spi_accessible.c
1342 (Accessible_getRelationSet): fix leak / referencing issue.
1344 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1345 (cspi_object_add, cspi_object_unref): upd.
1346 (spi_object_release, get_live_refs): impl.
1347 (cspi_cleanup): simplify.
1349 * *.[ch]: s/boolean/SpiBoolean/
1351 * cspi/spi_accessible.c (role_names): actualy order so it
1352 corresponds with the enum !
1354 * test/test-simple.c (test_roles): check some role strings
1355 vs. enums to detect offset errors.
1357 2001-12-01 Michael Meeks <michael@ximian.com>
1359 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1361 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1363 (Accessible_getChildAtIndex): use cspi_add_check so we
1364 check the ev before using a (possibly) invalid value.
1366 * libspi/accessible.c
1367 (impl_accessibility_accessible_get_parent): don't segv
1370 * at-bridge/bridge.c (gtk_module_init): upd.
1371 (bridge_property_event_listener): don't leak strings
1373 (bridge_state_event_listener),
1374 (bridge_property_event_listener): don't use a static
1375 buffer in case of recursive event emission &
1376 re-enterancy - split out the swathe of cut and paste
1378 (emit_eventv): and fix 2 ref leaks here & comply to the
1380 (bridge_register_app): rename to
1381 (bridge_idle_init): this and kill arg parsing, split
1382 various inits & bonobo-activation registration to module
1383 init time, kill referencing error.
1384 (bridge_exit_func): fix the same leak.
1385 (bridge_focus_tracker): don't leak event structures
1387 (bridge_signal_listener): more leakage and cut & paste
1389 (bridge_key_listener): return the result - FIXME is
1390 this polarity correct ?
1391 (accessibility_keystroke_from_atk_key_event): rename
1392 (accessibility_init_keystroke_from_atk_key_event): and stop
1394 (gtk_module_init): return a value - not that it is checked by
1396 (bridge_key_listener): register my horror at casting between
1397 IDL defined structs.
1398 (bridge_get_registry): kill - not used.
1400 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1402 * test/test-simple.c (test_roles): impl.
1403 (test_desktop, validate_accessible, validate_tree): impl.
1405 * cspi/spi_accessible.c (role_names): fixup bogus
1406 MAX_ROLES setup, make constants const for efficient linkage
1407 (AccessibleRole_getName): conform to coding style, make
1410 2001-11-30 Michael Meeks <michael@ximian.com>
1412 * cspi/spi.h: add missing prototype.
1414 * libspi/registry.c (spi_listener_struct_new): fix sig.
1416 * test/Makefile.am: add test-simple
1418 * test/test-simple.c: add
1420 * test/test.sh: add.
1422 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1424 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1425 do it straight - since otherwise we often get an activation race.
1427 [ work before Bill duplicated a chunk of it ... ]
1428 2001-11-30 Michael Meeks <michael@ximian.com>
1430 * libspi/keystrokelistener.c
1431 (spi_keystroke_listener_class_init): fixup arg
1434 * libspi/eventlistener.c
1435 (spi_event_listener_class_init): ditto.
1437 * tests/test.sh: add.
1439 * cspi/spi-listener-impl.h: update macros.
1441 * cspi/spi-listener-impl.c
1442 (cspi_event_listener_remove_callback): add
1443 correct pre-conditions.
1445 * cspi/spi_main.c (SPI_exit): guard vs. double
1446 exits, exit the mainloop nicely.
1447 (SPI_event_main): make more sense.
1448 (SPI_init): move the atexit evilness here so we
1449 always do it (yuck).
1450 (SPI_event_main): upd.
1452 * test/simple-at.c: update for listener changes.
1454 * registryd/registryd.c (main): prune kruft.
1456 * libspi/libspi.h: upd.
1458 * libspi/eventlistener.[ch]: rename broken macros.
1460 * libspi/accessibleeventlistener.[ch]: remove.
1462 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1464 * test/test-simple.c: Add - automated tests.
1466 * cspi/spi-listener-impl.c (cspi_event),
1467 (cspi_key_event): add user_data to invoke.
1468 (cspi_keystroke_listener_finalize): impl.
1469 (cspi_keystroke_listener_class_init): upd.
1472 (createAccessibleEventListener),
1473 (AccessibleEventListener_addCallback),
1474 (createAccessibleKeystrokeListener),
1475 (AccessibleKeystrokeListener_addCallback): upd.
1477 * libspi/deviceeventcontroller.c
1478 (spi_device_event_controller_check_key_event): add public proto.
1481 (impl_accessibility_registry_deregister_global_event_listener):
1482 always init listeners.
1483 (_registry_notify_listeners): yes it is.
1485 * cspi/spi-listener-impl.c (cspi_key_event):
1487 (cspi_event_listener_finalize): impl.
1488 (cspi_event_listener_class_init): hook up.
1489 (event_handler_new, event_handler_free),
1490 (event_list_remove_by_callback): impl.
1491 (cspi_event_listener_remove_callback),
1492 (cspi_keystroke_listener_remove_callback),
1493 (cspi_keystroke_listener_add_callback),
1494 (cspi_event_listener_add_callback): upd.
1496 * libspi/keystrokelistener.c
1497 (keystroke_listener_object_finalize): kill
1498 (spi_keystroke_listener_class_init): upd.
1499 (spi_keystroke_listener_add_callback),
1500 (spi_keystroke_listener_remove_callback): kill,
1502 (impl_key_event): prune drasticaly.
1504 * libspi/eventlistener.c
1505 (spi_event_listener_add_callback),
1506 (spi_event_listener_remove_callback): kill, use
1508 (impl_accessible_event_notify_event): upd.
1509 (spi_event_listener_object_finalize): remove.
1511 * libspi/Makefile.am: use eventlistener.[ch]
1513 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1515 * libspi/registry.c (_registry_notify_listeners):
1516 Changed listener loop iteration to use preferred convention.
1517 Got rid of string memory leaks caused be calling g_strconcat
1518 inside function calls.
1520 * libspi/registry.c (parse_event_type):
1521 Stopped g_strconcat memory leaks, free the g_strsplit return,
1522 g_strdup the split pieces when used, etc.
1524 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1527 Change method 'compare' to return a 'difference set' rather than
1528 taking a StateSet as an out parameter (more Java-friendly).
1530 * idl/Accessible.idl:
1531 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1533 * idl/Component.idl:
1535 Changed methods 'getExtents' and 'getImageExtents' in these
1536 interfaces to return a BoundingBox structure.
1537 (getPosition and getSize are redundant and possibly should be
1538 removed, rather than creating a corresponding Point struct.)
1540 * cspi/spi_component.c:
1541 Modify implementation of getExtents to reflect the above IDL
1546 Add (missing) AccessibleImage_getExtents () API.
1548 * docs/reference/cspi/at-spi-cspi-sections.txt:
1549 Added AccessibleImage_getImageExtents () to docs.
1551 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1553 * idl/Component.idl:
1554 Added two methods, getLayer () and getMDIZOrder (), to reflect
1555 the new ATK methods atk_object_get_layer and
1556 atk_object_get_mdi_z_order. (Which arguably should be part of the
1557 AtkComponent API and AtkObject). Also added an enum,
1558 ComponentLayer, for the first method's return value.
1560 * libspi/component.c:
1561 Added implementations for these methods.
1563 * cspi/spi_component.c:
1565 Added cspi binding methods for above,
1566 AccessibleComponent_getLayer() and
1567 AccessibleComponent_getMDIZOrder().
1568 Added cspi enum 'AccessibleComponentLayer'.
1570 * docs/reference/cspi/at-spi-cspi-sections.txt:
1571 Added above methods to docs.
1575 Changed typedef for 'boolean' type (and all references to it) to
1576 SPIBoolean, to avoid keyword clashes with C++.
1579 Changed usages of 'boolean' to SPIBoolean.
1581 * test/keysynth-demo.c:
1582 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1583 app), except where SPIBoolean is required by the callbacks API.
1585 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1587 * cspi/spi_registry.c:
1588 Removed obsolete X event loop for passive keygrabs (which now
1591 * registryd/registryd.c:
1592 Removed unnecessary call to gdk_init() [cruft]. This also allows
1593 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1596 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1598 * docs/reference/cspi:
1599 Included docs for SPI_freeString in generated documentation.
1602 Renamed spi_freeString to SPI_freeString, for consistency. Added
1603 documentation for this function.
1606 Renamed spi_freeString to SPI_freeString, for consistency.
1607 Removed obsolete method declaration string_from_corba_string.
1609 * test/keysynth-demo.c:
1610 Small tweak to comments.
1613 Stopped leaking the strings returned from CSPI.
1615 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1617 Merged Michael's branch (see his ChangeLog entries below).
1619 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1620 bridge is alive, release on exit.
1622 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1623 Fix type check macro.
1626 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1629 Added is_gnome_app static, and method cspi_is_gnome_app(),
1630 so we can call the appropriate shutdown routine at exit in SPI_exit.
1632 * cspi/spi_main.c (cspi_object_ref):
1633 Duplicate the corba object passed in, since we're keeping it around.
1635 * cspi/SPI_exit.c, cspi_cleanup:
1636 Moved the releasing of the live refs to its own function, so we
1637 can put it in g_atexit (). Call the appropriate shutdown API
1638 depending on whethe calling client is a gnome app or not
1639 (bonobo_main_quit or CORBA_ORB_shutdown).
1641 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1642 Unref the listener when this method is called, after
1643 deregistration. Updated the API docs to note this behavior.
1645 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1646 Bugfixes: Ref the bonobo object when returning a parent or child
1647 reference, or an AccessibleRelation. Generally made sure
1648 BonoboObject refcount is incremented whenever we return an
1651 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1652 Fixed typo/bug in signal declaration.
1654 * libspi/accessibleeventlistener.h:
1657 * libspi/application.c (spi_application_new):
1658 Fixed leak in initialization.
1661 Remembered to increment bonobo-object refcount when returning
1662 children (applications) from desktop object.
1663 Added (empty) finalize method.
1665 * libspi/deviceeventcontroller.c:
1666 Hold a ref to listeners inside DEControllerKeyListeners.
1667 Added dec_key_listener_free() method. Use prepend instead of
1668 append in key_listener list. Fixed some refcount madness and
1669 leaks in the listener registration/deregistration - deregistration
1670 now calls dec_key_listener_free() on listeners, and on the
1671 temporarily constructed dec_key_listener() used to perform the search/match.
1673 * libspi/hypertext.c (spi_hypertest_finalize):
1674 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1675 class. Also fixed spi_hypertext_interface_new() and
1676 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1678 * libspi/hypertext.h:
1679 Removed pointless and duplicate AtkObject pointer from
1682 * libspi/keystrokelistener.c:
1683 Fixed incorrect type of keystroke_listener_parent_class,
1684 renamed keystroke_listener_object_finalize to
1685 spi_keystroke_listener_object_finalize.
1686 Fixed typo in signal declaration
1687 (spi_keystroke_listener_class_init).
1689 * libspi/registry.c:
1690 Added funcsions spi_listener_struct_new() and
1691 spi_listener_struct_free() to help with memory management issues.
1692 We also now use these methods instead of gnew + poking stuff into
1693 the struct, and to decrement listener counts/free the listeners
1694 when deregistering them.
1695 Fix more refcount bugs in getDesktop() and
1696 getDeviceEventController().
1699 De-ref the desktop after enumerating the applications. Explicitly
1700 decrement the refcounts on the created listeners on exit (using
1701 _unref for keystroke listeners, and via the
1702 deregisterGlobalEventListenerAll command for other event
1705 2001-11-27 Michael Meeks <michael@ximian.com>
1707 * cspi/spi-listener.h: fixup enum.
1709 2001-11-27 Michael Meeks <michael@ximian.com>
1711 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1712 (cspi_keystroke_listener_new): Use the cspi variants.
1714 2001-11-26 Michael Meeks <michael@ximian.com>
1716 * test/keysynth-demo.c: fix 2 compile warnings, missing
1719 * test/simple-at.c (report_focussed_accessible),
1720 (report_focus_event, report_button_press),
1721 (check_property_change, is_command_key),
1722 (report_ordinary_key_event, report_command_key_event): upd.
1724 * util/mag_client.h: include pre-requisites.
1726 * libspi/accessibleeventlistener.c
1727 (spi_event_listener_object_finalize): free any lingering
1730 * libspi/keystrokelistener.c
1731 (keystroke_listener_object_finalize): ditto.
1733 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1734 callbacks, with cspi types.
1736 * cspi/spi_event.c (createAccessibleEventListener): chain to
1737 (AccessibleEventListener_addCallback): here.
1738 (createAccessibleKeystrokeListener): chain to
1739 (AccessibleKeystrokeListener_addCallback): here.
1741 * libspi/keystrokelistener.c
1742 (spi_keystroke_listener_class_init): add signal.
1743 (impl_key_event): emit the event.
1744 (boolean_handled_accumulator): impl.
1745 (marshal_BOOLEAN__POINTER): add, gack.
1747 * libspi/accessibleeventlistener.c
1748 (spi_event_listener_class_init): add signal.
1749 (impl_accessible_event_notify_event): emit the signal &
1750 make the loop efficient.
1751 (spi_event_listener_add_callback): prepend the callback.
1753 * libspi/accessibleeventlistener.h: add an 'event' signal,
1754 decl type on callback.
1756 * libspi/keystrokelistener.h: ditto.
1758 * cspi/spi-listener.h: make methods typesafe and
1759 make them use the new event typedefs.
1761 * test/simple-at.c (report_focussed_accessible):
1762 include mag_client.h
1763 Use *(void *)text_interface not the other thing.
1765 * configure.in: add gtk to registryd bits - since we use
1768 * util/magnifier.c: include libbonobo.h
1770 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1772 * test/keysynth-demo.c:
1773 Turned this into a simple scanning keyboard, to demonstrate the
1774 use of g_timeout_add () as a means of creating timers for
1775 scanning, and the use of GtkStyle for visually indicating when
1776 virtual keyboard elements are selected.
1778 keysynth-demo now listens to any keyboard keys with zero-valued
1779 keycodes (i.e. 'unused' keys) and interprets them as
1782 Reworked the shiftlatch code so that shift-down state isn't held
1783 for long periods (it's only synthesized immediately prior to
1784 the keysynth event it's modifying). Note that shiftlatch in this
1785 demo is a convenience, not intended to take the place of AccessX
1786 which is the better choice for getting 'sticky' modifier keys.
1788 * libspi/deviceeventcontroller.c:
1789 * at-bridge/bridge.c:
1790 * cspi/spi_registry.c:
1791 Removed some debug print stuff, and put other verbosity in #ifdef
1796 Implemented some more of the magnifier IDL for the simple
1797 magnifier: namely, getZoomRegionParams.
1798 Added mag_x and mag_y members to MagnifierData struct, aid of this
1800 Added GtkWindow::realize signal handler to magnifier, to keep it
1801 from receiving keyboard focus from the WM.
1803 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1805 * cspi/spi-private.h: my guess at what michael forgot
1806 before he ran off to NZ :-)
1808 2001-11-23 Michael Meeks <michael@ximian.com>
1810 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1811 comment out non existant method invoke so we link.
1813 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1814 use bonobo_exception_get_text for more friendly warnings.
1816 * cspi/spi.c (Obj_Add): move into spi_main & rename
1817 spi_object_add; kill spi.c
1819 * cspi/spi_registry.c
1820 (deregisterGlobalEventListener),
1821 (deregisterGlobalEventListenerAll),
1822 (registerGlobalEventListener): fix exception leaks.
1824 * cspi/spi_main.c (spi_exception): impl. helper, so we
1825 don't leak exceptions.
1827 * cspi/spi_selection.c
1828 (AccessibleSelection_deselectSelectedChild): return the
1831 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1832 (spi_registry): ditto.
1833 (SPI_init): guard against double inits.
1835 * cspi/*.c: use spi_ev (), and spi_registry () where
1836 appropriate - a temporary hack until we have something
1837 better. Use spi_object_add
1839 2001-11-22 Michael Meeks <michael@ximian.com>
1841 * cspi/Makefile.am: re organise, install the headers.
1843 * cspi/*.h: add G_BEGIN/END_DECLS
1845 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1848 Added non-preemptive keylistener for key events with no modifiers
1849 and shift-only modifier.
1851 * libspi/keystrokelistener.c:
1852 Removed some verbose diagnostics printout.
1854 * cspi/spi_registry.c:
1855 Fixed a bug that caused all key listeners to be registered as
1858 * libspi/deviceeventcontroller.c:
1859 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1860 for non-preemptive key masks.
1863 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1865 * docs/reference/idl/at-spi-idl-docs.sgml:
1866 * docs/reference/idl/at-spi-idl-sections.txt:
1867 * docs/reference/idl/at-spi-idl-overrides.txt:
1868 Added missing files.
1870 * docs/reference/Makefile.am:
1871 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1872 to scan the IDL files :-(
1877 Added .cvsignore files.
1879 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1881 * libspi/deviceeventcontroller.c:
1882 * libspi/keystrokelistener.c:
1884 * cspi/spi_registry.c:
1885 Added filters for KeySets, KeyEventSeq, and event types to key
1886 event dispatching, so listeners should only receive those events
1887 that they requested :-)
1889 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1894 * docs/reference:Makefile.am:
1895 * docs/reference/cspi:
1896 * docs/reference/cspi:Makefile.am:
1897 * docs/reference/cspi:tmpl:
1898 * docs/reference/cspi:tmpl:*.sgml:
1899 * docs/reference/idl:
1900 * docs/reference/idl:Makefile.am:
1901 * docs/reference/idl:at-spi-idl-sections.txt:
1902 * docs/reference/idl:at-spi-idl-docs.sgml:
1903 * docs/reference/idl:tmpl:
1904 * docs/reference/idl:tmpl:*.sgml:
1906 Restructured docs directory to allow separate 'reference' docs
1907 section, and forked idl and cspi docs. Added the sgml template
1908 files to CVS. Added the first sections/structural sgml for the
1911 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1913 * configure.in, libspi/Makefile.am: find libXtst.
1915 2001-11-21 Michael Meeks <michael@ximian.com>
1917 * test/accessx-gui.c: s/spi_value/value/ - doh.
1919 * libspi/base.[ch]: add.
1921 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1923 * idl/Accessible.idl:
1924 * idl/Application.idl:
1927 Started gtk-doc cleanup on IDL.
1929 * libspi/deviceeventcontroller.c:
1930 Added and connected non-preemptive key notification from the
1931 toolkits (in addition to the pre-emptive support from XServer
1932 which we had before, but which causes 'focus flashing'). Filters
1933 are presently limited to key modifiers and global/non-global,
1934 KeySets are presently ignored, as are KeyEvent masks.
1936 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1937 structs into the persistant structure rather than just storing
1938 pointers to things that might not persist across servant
1941 The XGrabKey call now does async keygrabs, because synchronous
1942 ones were deadlocking with GDK_event code in a very nasty way.
1944 Added boolean to internal method notify_keylisteners, to indicate
1945 whether the event came from the 'toolkit source' or the 'global
1946 (XServer) source' - this is used in the notification process to
1947 determine which listeners to send the event to.
1949 deviceeventcontroller.c is now warning-free.
1951 * libspi/registry.c:
1952 Fixed regression in application de-registration.
1953 Also fixed some really brain-dead weirdness having to do with
1954 event dispatching - event structs are now duplicated before being
1955 re-marshalled in the dispatch to listeners. This also fixes a
1956 Solaris build problem.
1959 2001-20-11 Michael Meeks <michael@ximian.com>
1962 (impl_accessibility_registry_deregister_global_event_listener):
1965 * libspi/deviceeventcontroller.c
1966 (spi_device_event_controller_check_key_event): return
1967 FALSE on no virtual method.
1969 * libspi/*..h: make includes work on a correctly pathed install.
1971 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1973 * libspi/application.h: kill unused ( and whacked out )
1974 gboolean *spi_application_set_id (AtkObject *app, long id);
1976 2001-20-11 Michael Meeks <michael@ximian.com>
1978 * libspi/*.[ch]: further convert to bonobo's type func
1979 macros, remove redundnant casts etc.
1981 * libspi/text.c s/accessibility_text/spi_text/g,
1982 re-order to de-cruft.
1984 * libspi/hypertext.c: re-order to kill a huge slew
1985 of redundant forward decls.
1987 * libspi/relation.c: ditto.
1989 * libspi/image.c: ditto.
1991 * */.cvsignore: update
1993 2001-20-11 Michael Meeks <michael@ximian.com>
1995 * libspi/deviceeventcontroller.c
1996 (_controller_register_with_devices): use g_getenv,
1997 kill stdlib.h include.
1999 * libspi/keystrokelistener.c
2000 (spi_keystroke_listener_get_type): kill
2001 (spi_keystroke_listener_class_init),
2002 (spi_keystroke_listener_init): rename to this.
2004 * libspi/text.c (impl_getAttributes): fix warning / bug.
2006 * libspi/*.[ch]: more headers, includes and over commenting.
2008 2001-20-11 Michael Meeks <michael@ximian.com>
2010 * libspi/*.[ch]: fixup headers, includes and over commenting.
2012 * libspi/image.c (impl__get_imageDescription): const
2013 correctness warning fix. remove redundant casting.
2015 * libspi/table.c (impl_getRowDescription): ditto.
2016 (impl_getColumnDescription): ditto.
2018 * libspi/libspi.h: add.
2020 2001-19-11 Michael Meeks <michael@ximian.com>
2022 * libspi/editabletext.c (impl_setAttributes): fix warnings.
2024 * libspi/component.c (accessibility_component_get_type):
2025 rename to (spi_component_get_type): and macroify.
2026 (accessibility_component_init): rename to
2027 (spi_component_init): this
2028 (accessibility_component_class_init): rename to
2029 (spi_component_class_init): this
2031 * libspi/action.c (spi_action_get_type): kill, use the macro.
2033 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
2036 * libspi/application.c (spi_application_object_event_listener),
2037 (impl_accessibility_application_register_object_event_listener):
2038 warning fixes / const understanding updates.
2040 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
2043 2001-18-11 Bill Haneman <bill.haneman@sun.com>
2045 * libspi/spi_accessible.c: Added docs and C bindings for
2046 AccessibleStateSet. (No implementations yet). Documentation
2047 coverage for C bindings now 100%. Made docs for event listeners
2052 boolean notifyListenersSync (in DeviceEventListener listener,
2053 in DeviceEvent event);
2055 oneway void notifyListenersAsync (in DeviceEventListener listener,
2056 in DeviceEvent event);
2058 Added DeviceEventListener and DeviceEvent structs (may deprecate
2059 KeyStroke and KeystrokeListener in favor of this generic
2060 event/listener framework for devices).
2062 * libspi/deviceeventcontroller.c:
2064 Changed some key listener code to take masks, etc., and paved the
2065 way for integration of toolkit/non-preemptive key events. Changed
2066 signatures of some internal methods.
2068 * at-bridge/bridge.c:
2069 Fixed regression connecting to interface signals, apparently
2070 caused by GTK+ changes.
2072 Added an internal bridge_state_listener to deal with
2073 property-change:accessible-state signals.
2075 Changed the key_listeners GList to store structs (including masks,
2076 etc.) instead of just CORBA_Objects (required for full
2077 implementation of key listener API).
2079 Connected the bridge to all currently supported Atk signals.
2080 Events now supported:
2081 object:property-change
2082 object:property-change:accessible-name
2083 object:property-change:accessible-state
2084 object:property-change:accessible-description
2085 object:property-change:accessible-parent
2086 object:property-change:accessible-value
2087 object:property-change:accessible-role
2088 object:property-change:accessible-table-caption
2089 object:property-change:accessible-table-column-description
2090 object:property-change:accessible-table-column-header
2091 object:property-change:accessible-table-row-description
2092 object:property-change:accessible-table-row-header
2093 object:property-change:accessible-table-summary
2094 object:children-changed
2095 object:visible-data-changed
2096 object:selection-changed
2097 object:text-selection-changed
2099 object:text-caret-moved
2101 object:row-reordered
2103 object:column-inserted
2104 object:column-reordered
2105 object:column-deleted
2106 object:model-changed
2108 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2110 * libspi/hyperlink.c,h:
2111 Fixed some broken stuff in hyperlink.
2113 * libspi/relation.h:
2114 * libspi/relation.c:
2115 * cspi/spi_accessible.c:
2116 Initial implementations of AccessibleRelation methods, and docs.
2118 * libspi/accessible.c:
2119 Fixed a bug that caused SEGV if an accessible
2120 object's description is NULL, and a client
2121 requests it. An empty string is now returned.
2123 * cspi/spi_editabletext.c:
2124 * cspi/spi_hypertext.c:
2126 * cspi/spi_hyperlink.c:
2130 Doc coverage now 95%.
2132 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2134 One last namespacing revision:
2135 * libspi/accessibleeventlistener.[ch]:
2136 Renamed SpiAccessibleEventListener to SpiEventListener,
2137 (no need for two namespaces ;-)
2139 And lots of documentation fixes:
2141 * docs/at-spi-docs.sgml:
2142 Fixed 'underscore vs. hyphen' bug that was preventing
2143 the gtk-doc API docs from being automatically generated.
2146 * cspi/spi-listener.h
2148 * cspi/spi_accessible.c
2150 * cspi/spi_application.c
2151 * cspi/spi_component.c
2152 * cspi/spi_editabletext.c
2154 * cspi/spi_hypertext.c
2156 * cspi/spi_registry.c
2157 * cspi/spi_selection.c
2161 * docs/at-spi-docs.sgml
2162 * docs/at-spi-sections.txt
2164 Added and fixed up gtk-doc documentation in cspi.
2166 Interfaces now (fully) documented (subject to revision and enhancement):
2168 Event Listener Support
2170 AccessibleApplication
2174 AccessibleEditableText
2181 AccessibleRelationSet
2186 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2188 * at-bridge/bridge.c:
2189 Initial work for toolkit-level key snooper connection by bridge.
2194 New typedefs and fixes to support new namespacing, and cleaner
2195 separation of cspi bindings from libspi bonobo implementation.
2196 Removed inconsistent and extraneous Spi* namespace prefix that
2197 had crept into cspi headers.
2198 Lots of comment fixes that sed had missed.
2200 * cspi/spi-roletypes.h:
2201 * cspi/spi-statetypes.h:
2202 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2203 to AccessibleRoleType.
2205 * libspi/accessibleeventlistener.h:
2206 Fixed minor namespacing weirdness.
2208 * libspi/deviceeventcontroller.c:
2209 Reordered some internal API for device listeners.
2210 Changed the key registry final boolean to 'is_system_global'
2211 rather than 'is_synchronous', which is more descriptive of its
2213 Added spi_device_event_controller_new().
2214 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2216 * libspi/keystrokelistener.[ch]:
2217 Namespaced KeystrokeListener to SpiKeystrokeListener.
2218 Changed uses of keymasks to use SPI_ prefix, and did other
2221 * libspi/keymasks.h:
2222 Namespaced keymask constants with SPI_ prefix.
2224 * libspi/registry.c:
2225 Some warning fixes, and knock-on fixes from namespace changes.
2228 Added rules for accessx-gui test program.
2230 * test/accessx-gui.c:
2231 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2232 utility. It doesn't actually use at-spi, but it's still cool and
2235 * test/keysynth-demo.c:
2239 Fixes so that these test clients work properly with the namespaced
2240 libraries. (Incompletely tested for technical reasons, fixes may follow)
2243 2001-13-11 Michael Meeks <michael@ximian.com>
2245 * libspi/application.c
2246 (impl_accessibility_application_get_version),
2247 (impl_accessibility_application_get_toolkit_name):
2249 (impl_accessibility_application_set_id),
2250 (impl_accessibility_application_get_id): remove
2251 redundant casting code.
2253 * libspi/action.c (impl_getDescription): fix warnings.
2255 * libspi/accessible.c
2256 (impl_accessibility_accessible_get_parent),
2257 (impl_accessibility_accessible_get_child_at_index),
2258 (impl_accessibility_accessible_get_state),
2259 (impl_accessibility_accessible_get_relation_set):
2260 warning fixes & include action.h
2262 2001-13-11 Michael Meeks <michael@ximian.com>
2264 * *.[ch] fix bits I screwed up:
2266 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2267 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2269 2001-13-11 Michael Meeks <michael@ximian.com>
2271 * *.[ch] Namespace libspi into spi_ and Spi.
2273 2001-13-11 Michael Meeks <michael@ximian.com>
2275 * Makefile.am: dist & install at-spi-1.0.pc
2277 * libspi/Makefile.am: install into at-spi-1.0
2279 * idl/Makefile.am (idldir): install into at-spi-1.0
2281 * at-spi-1.0.pc.in: add.
2283 * configure.in: build it.
2285 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2287 * test/keysynth-demo.c:
2288 Use a 'realize' signal-handler to set the WM properties for
2289 the virtual keyboard, rather than making it a "POPUP" type
2290 override-redirect window (thanks to anders carlsson for that
2293 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2296 * test/keysynth-demo.c:
2297 Added new test of key synthesis, which creates a simple
2298 (mouse-operated) onscreen keyboard. It inserts key events into
2299 the currently-focused window, thus it does not grab keyboard focus
2302 * cspi/spi_registry.c:
2303 Added C binding for AT-SPI generateKeyEvent.
2305 * libspi/deviceeventcontroller.c:
2306 Added call to XFilterEvent so that key listener works with XIM (we
2307 hope). Added event_synth_type to generateKeyEvent, so that we can
2308 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2309 synthesize a press/release pair for KeySyms.
2311 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2313 * libspi/Makefile.am:
2314 * registryd/Makefile.am:
2315 (temporary) hack to include libXtst in libspi and registryd.
2316 (Needed for keystroke synthesis, see below).
2319 Improved API for registerKeystrokeListener, in accordance with
2320 discussions with Gnopernicus team and X server research.
2322 * libspi/registry.c:
2323 * libspi/deviceeventcontroller.c:
2324 * libspi/accessible.c:
2325 * libspi/keystrokelistener.c:
2326 Changes and fixes to support keylisteners for potentially
2327 consumed key events (that is, 'passive grabs').
2328 Added implementation for generateKeyEvent() [untested].
2331 Changes to registerKeystrokeListener() API, as above.
2332 Added deregisterGlobalEventListenerAll(), and
2333 deregisterKeystrokeListener(), which are needed for clean exit of
2335 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2336 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2338 * cspi/spi_registry.c:
2339 Added implementations of function prototypes mentioned above.
2341 * registryd/registryd.c:
2342 Added the key listener event source as a g_timeout(), to allow
2343 receipt of key events that are not caught by GDK (since GDK
2344 doesn't support passive keygrabs, this was necessary).
2347 Changed to attach a keylistener to 'Alt' keys, and
2348 respond to the following keycommands: Alt-M (toggle magnifier);
2349 Alt-F (toggle speech); Alt-Q (quit).
2350 Added an exit routine to deregister the listeners, and a key
2351 listener that prints some key info to the console when a key
2352 matches the listener mask (and is thus received by the listener).
2354 * util/idl/Magnifier.idl:
2355 Changes to magnifier API to support multiple zoom regions,
2356 non-uniform scaling in x and y, markDirty, and a host of other
2357 features that would be useful to magnification.
2360 * util/mag_client.c:
2361 * util/mag_client.h:
2362 * util/mag_control.c:
2364 Source code changes to support the above IDL changes.
2367 As above, and also changes to use a (slower) generic conversion
2368 path for colormap conversions, since the fast RGB conversions have been
2369 reported to fail for 16-bit displays.
2371 2001-10-26 Michael Meeks <michael@ximian.com>
2373 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2375 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2377 * at-bridge/Makefile.am: fix LDFLAGS.
2379 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2381 * at-bridge/bridge.c:
2382 Re-worked listeners for toolkit events, now we have signal
2383 and property listeners. Added a private method
2384 register_atk_event_listeners(), which registers with the
2385 various atk and gtk signals we need to monitor in order to emit
2387 Added emission hook for AtkObject:property-change events, to
2388 support the 'property listeners'.
2389 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2392 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2393 which emit warnings and exit, respectively, if CORBA errors occur
2394 during remote calls, and we now use these methods to check most of
2395 our CORBA calls in the C bindings.
2397 * cspi/spi_accessible.c:
2398 Changed AccessibleSelection_refSelectedChild() to
2399 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2400 now increment refcounts.
2402 * cspi/spi_component.c:
2403 Fixed some long pointer casts (dangerous!) to pass pointers to
2404 CORBA_longs of the proper type to the CORBA stubs, and copy the
2405 data into the longs that were passed into the C bindings code.
2407 * at-bridge/bridge.c:
2409 * libspi/accessible.c:
2410 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2411 hyperlinks, AtkHyperlink is an object type.
2413 * libspi/application.c:
2414 Added various conversions to and from "generic" event types and
2415 atk-specific types; this is really part of the 'bridge'
2416 implementation but is valid for all AtkObject-based accessibility
2419 * libspi/editabletext.c:
2420 Fixed nasty bug wherein editable text's finalize method was
2421 unref'ing tha AtkObject reference that the text parent class was
2422 about to unref _again_. There was also a nasty inheritance bug
2423 that meant that the AccessibleEditableText class was corrupt.
2425 * libspi/selection.c:
2426 Provided implementations for some selection API that was broken.
2428 * idl/Application.idl:
2429 Added registerObjectEventListener () method.
2432 Fixed a number of return values that were Bonobo_Unknowns from
2433 bonobo_object_corba_objref(), which I
2434 forgot to dup before returning. Changed instances of
2435 bonobo_object_corba_objref (bonobo_object(o)) to
2436 BONOBO_OBJREF(o), for concision and clarity.
2438 <2001-10-13 Louise Miller <louise.miller@sun.com>
2440 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2441 idl/Event.idl, idl/Registry.idl
2442 Changed these files to include Bonobo_Unknown.idl instead
2445 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2447 * libspi/component.c libspi/component.h:
2448 Fixed typo. Added assertions for object checks in
2449 AccessibleComponent code.
2451 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2453 * idl/Accessible.idl:
2454 Added 'isEqual (Accessible *object)'
2455 method for Accessible. (Not Yet Implemented).
2458 Changed signature of registerKeystrokeListener() to
2459 take a KeySet and KeyEventSeq so that specific keys and event
2460 types could be requested for monitoring, and added a flag
2461 is_synchronous so that either synchronous or asynchronous
2462 notification could be requested. (However this is not all
2463 implemented yet). This also meant adding two new typedefs,
2464 KeyEventSeq and KeySet.
2467 Added two new relations, RELATION_TOOLTIP_FOR and
2468 RELATION_LEAFNODE_OF.
2471 Added new state, STATE_HAS_TOOLTIP.
2473 * libspi/text.c, editabletext.c:
2474 Added new assertions to all casts of bonobo-objects from
2475 CORBA servants, to prevent Text API calls on non-text objects.
2476 Changed suspect casts of int-pointer types, so that we
2477 always send a valid CORBA_long pointer to the CORBA APIs that use
2478 in/out long parameters. We then have to copy from the CORBA_long
2479 into the regular long or int for return to the C bindings, or
2480 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2483 * libspi/deviceeventcontroller.c:
2484 Cleaned these sources up.
2486 Changed return type for getCharacterAtOffset to
2487 CORBA_unsigned_long, to allow for 32-bit characters.
2490 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2494 Fixed 'make dist' so that distro compiles...
2495 * libspi/keymasks.h:
2497 * cspi/spi-listener.c:
2498 KeystrokeListenerCB now returns a boolean.
2500 Added KeyEventType struct, and KeyStroke.
2501 Also added createKeystrokeListener(),
2502 KeystrokeListener_addCallback(),
2503 KeystrokeListener_removeCallback(), and added a keymask to
2504 registerKeystrokeListener().
2505 * cspi/spi_accessible.c:
2506 Changed numerous return types for interfaces from
2507 AccessibleComponent to Accessible<InterfaceName>; this was
2508 probably a cut-and-paste error.
2510 Implementations of new KeystrokeListener api (from spi.h,
2513 Changes to key modifier mapping.
2514 Created ControllerEventMask struct.
2515 Made DeviceEventController derive from Bonobo::Unknown.
2517 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2518 * libspi/deviceeventcontroller.c:
2519 Added a number of new internal (private) methods.
2520 * libspi/editabletext.c:
2521 * libspi/editabletext.h:
2522 Fixed a number of bugs related to the fact that
2523 editabletext inherits from text. Fixed the EditableText struct,
2524 the init() call, and use correct casts when calling Text methods
2525 from an EditableText object. Removed (duplicate) atko from the
2526 EditableText structure, we use the one in the parent Text
2527 structure via the casts mentioned above.
2528 * libspi/keystrokelistener.[ch]:
2529 * libspi/registry.c:
2530 Changes in support of keyboard handling (above).
2532 Keyboard handling, though partly functional, is still not
2533 recommended for at-spi client use as there is considerable
2534 work yet to be done.
2537 Changed some places where pointers to various int types
2538 are cast to be pointers to CORBA_long types and vice-versa:
2539 pointer casting is not safe so we pass pointers of the correct
2540 types and then cast the result before putting it into the target
2543 * libspi/text.h: minor typos corrected.
2545 We now speak not only the name of a Text element, but the
2546 first sentence of its content, when it receives focus.
2547 I also changed the text compression to 75% from 50%.
2548 * util/Accessibility_Util.server.in:
2549 Changed the default magnifier type to be a 3x vertical
2550 splitscreen magnifier (was previously a 2x horizontal one).
2552 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2554 * libspi/keystrokelistener.h:
2555 * libspi/keystrokelistener.c:
2556 Initial functional implementations of KeystrokeListener.
2559 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2561 Fixed string handling for NULL strings in libspi.
2562 Added spi_freeString to free strings returned by C bindings.
2564 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2566 * libspi/keystrokelistener.h:
2567 * libspi/keystrokelistener.c:
2568 Began (no-op) implementations of KeystrokeListener
2570 * libspi/deviceeventcontroller.c:
2571 * libspi/deviceeventcontroller.h:
2572 Began creating implementations of DeviceEventController,
2573 to handle keystroke and mouse event listening and
2575 * libspi/accessible.c:
2576 Stubbed-in the implementations for
2577 Accessibility_Accessible_getState and
2578 Accessibility_Accessible_getRelationSet.
2579 * libspi/registry.c:
2580 Improved de-registration process and fixed some bugs,
2581 deregistration now works correctly.
2583 Added initialization of applications list (to NULL).
2585 Reduced speech compression from 0.5 to 0.7, for demo.
2586 Changed call to gdk_window_set_decorations()
2587 to gtk_window_set_decorated().
2588 * at-bridge/bridge.c:
2589 Bridge now deregisters when app exits, via
2590 registration of a cleanup function
2591 with the g_atexit() call.
2592 Required making 'app' static, renamed 'this_app'.
2593 Fixed broken use of bonobo_init, passing argv wrongly.
2595 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2599 Created a new directory for
2600 accessibility-related utilities, primarily for
2601 testing and demo purposes, but with possible
2608 Onscreen magnifier utility that
2609 is implemented as a bonobo service.
2611 * util/mag_client.c:
2612 * util/mag_client.h:
2613 Client-side support (simple C bindings)
2614 for Magnification service
2616 * util/mag_control.c:
2617 Client program example for
2618 Magnification service
2620 * util/Accessibility_Magnifier.server.in:
2621 Bonobo-activation file for the
2622 Magnification service.
2625 * util/idl/Magnifier.idl:
2626 IDL defining the bonobo Magnification
2630 Modifications to use the bonobo-activated magnifier
2631 above, in place of trying to connect to an existing
2632 magnifier that uses socket-listening IPC.
2634 If env variable MAGNIFIER is set, a magnifier service
2635 will be started if one does not exist.
2637 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2638 * at-bridge/bridge.c:
2639 applied patch from Marc to build and run
2640 against new glib and gtk+ (seemed like a change
2641 to bonobo_init signature was made ?)
2643 made festival-server support turned off by default.
2644 Added support for a simple magnifier (off by default)
2645 which will be added to a 'util' directory later.
2646 * at-bridge/Makefile.am:
2647 Changed "application.h" header from a 'source'
2648 to a 'dependency' of libat-bridge.
2650 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2658 Added interface implementation c files to list of
2659 includes so they are included in libcspi.
2662 Changed prototype of AccessibleAction_doAction to return a
2664 Changed prototype of AccessibleTable_getCaption to
2665 return an Accessible.
2666 Changed prototype of AccessibleTable_getSelectedRows
2667 and AccessibleTable_getSelectedColumns to
2668 return a long (returns the number of selected rows
2669 or columns respectively).
2670 Changed name of AccessibleText_refRunAttributes to
2671 AccessibleText_getAttributes.
2672 Changed prototype of AccessibleText_getCharacterExtents to
2673 return a void rather than a boolean.
2674 Added support for a AccessibleCoordType parameter
2675 specifying what type of coordinates are desired.
2676 Added an AccessibleCordType parameter to
2677 AccessibleText_getPointAtOffset.
2679 * cspi/spi_accessible.c:
2680 Added code to return the outstanding interfaces from
2681 Accessible_queryInterface.
2683 * cspi/spi_action.c:
2685 Corrected call to getNActions to call the c binding
2688 * cspi/spi_editabletext.c:
2690 Changed name from setRunAttributes to setAttributes.
2692 * cspi/spi_hyperlink.c:
2694 Changed call to getNAnchors to correctly call the c
2695 binding for an attribute.
2697 * cspi/spi_hypertext.c:
2699 Changed getImageDescription to correctly call the
2700 binding for an attribute.
2702 * cspi/spi_selection.c:
2703 Changed getNSelectedChildren to correctly call the c
2704 binding for the attribute.
2705 Changed refSelectedChild to getSelectedChild.
2709 Changed getCaption to return an Accessible.
2710 Fixed calls which retrieve attributes.
2711 Changed refAt to getAccessibleAt.
2712 Changed getNSelectedRows and getNSelectedColumns to
2716 Changed getCharacterExtents and getPointAtOffset to accept an
2717 AccessibleCoordType.
2719 Changed calls which retrieve attributes.
2720 Changed refRunAttributes to getAttributes.
2725 * idl/Hyperlink.idl:
2726 Changed n_anchors attribute to nAnchors to keep naming
2727 convention consistent.
2730 Made Table inherit from Bonobo::Unknown.
2731 Added nSelectedColumns and nSelectedRows attributes.
2734 Made Value inherit from Bonobo::Unknown.
2736 * libspi/hyperlink.c:
2737 Change for nAnchors attributte name change.
2739 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2747 Added interface implementation c files to list of
2748 includes so they are included in libcspi.
2751 Changed prototype of AccessibleAction_doAction to return a
2753 Changed prototype of AccessibleTable_getCaption to
2754 return an Accessible.
2755 Changed prototype of AccessibleTable_getSelectedRows
2756 and AccessibleTable_getSelectedColumns to
2757 return a long (returns the number of selected rows
2758 or columns respectively).
2759 Changed name of AccessibleText_refRunAttributes to
2760 AccessibleText_getAttributes.
2761 Changed prototype of AccessibleText_getCharacterExtents to
2762 return a void rather than a boolean.
2763 Added support for a AccessibleCoordType parameter
2764 specifying what type of coordinates are desired.
2765 Added an AccessibleCordType parameter to
2766 AccessibleText_getPointAtOffset.
2768 * cspi/spi_accessible.c:
2769 Added code to return the outstanding interfaces from
2770 Accessible_queryInterface.
2772 * cspi/spi_action.c:
2774 Corrected call to getNActions to call the c binding
2777 * cspi/spi_editabletext.c:
2779 Changed name from setRunAttributes to setAttributes.
2781 * cspi/spi_hyperlink.c:
2783 Changed call to getNAnchors to correctly call the c
2784 binding for an attribute.
2786 * cspi/spi_hypertext.c:
2788 Changed getImageDescription to correctly call the
2789 binding for an attribute.
2791 * cspi/spi_selection.c:
2792 Changed getNSelectedChildren to correctly call the c
2793 binding for the attribute.
2794 Changed refSelectedChild to getSelectedChild.
2798 Changed getCaption to return an Accessible.
2799 Fixed calls which retrieve attributes.
2800 Changed refAt to getAccessibleAt.
2801 Changed getNSelectedRows and getNSelectedColumns to
2805 Changed getCharacterExtents and getPointAtOffset to accept an
2806 AccessibleCoordType.
2808 Changed calls which retrieve attributes.
2809 Changed refRunAttributes to getAttributes.
2814 * idl/Hyperlink.idl:
2815 Changed n_anchors attribute to nAnchors to keep naming
2816 convention consistent.
2819 Made Table inherit from Bonobo::Unknown.
2820 Added nSelectedColumns and nSelectedRows attributes.
2823 Made Value inherit from Bonobo::Unknown.
2825 * libspi/hyperlink.c:
2826 Change for nAnchors attributte name change.
2829 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2831 implementations-- made server implementations own AtkObject pointers
2832 rather than their respective AtkInterrface pointers to fix
2833 refcounting. AtkHyperlink is still broken.
2835 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2836 * cspi/spi_accessible.c:
2837 Added method Accessible_Role_getName(),
2838 and requisite string array (role_names).
2839 Added conversion string_from_corba_strin() call
2840 to Accessible_getName and _getDescription.
2841 * libspi/accessible.c:
2842 Added implementation for Accessible_getRole()
2844 Added festival support, used if environment variable
2847 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2849 * at-bridge/bridge.c:
2850 Now allocate Accessibility_Event using
2851 Accessibility_Event__alloc() instead of g_new0().
2852 * libspi/accessibleeventlistener.c:
2853 Initialize AccessibleEventListener->callbacks to NULL.
2854 Fixed accessible__event_listener_init() param, changed to
2855 "AccessibleEventListener *" type.
2856 Changed a bonobo_object_release_unref() call to
2857 Accessibility_Accessible_unref().
2858 * libspi/listener.c:
2859 Changed Bonobo_Unknown_unref to (equivalent)
2860 Accessibility_Accessible_unref.
2861 * libspi/registry.c:
2862 Changed bonobo_object_release_unref to
2863 Accessibility_Accessible_unref.
2865 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2868 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2869 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2870 spi-util.c spi-util.h
2871 Implementations for C bindings to remaining accessibility
2874 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2877 changed return value of Action from void to boolean to
2878 bring in line with ATK.
2881 Changed getText funcions to return "out" start and end offsets.
2882 Changed getAttributes to take and offset and return the start
2883 and end offset of the attribute run.
2884 Changed getOffsetAtPoint and getCharacterExtents to take an
2885 enum describing whether coordinates are window or screen.
2888 libspi/action.c libspi/action.h libspi/editabletext.c
2889 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2890 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2891 libspi/image.h libspi/selection.c libspi/selection.h
2892 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2893 libspi/value.c libspi/value.h
2894 Added server implementations for outstanding ATK interfaces
2895 not yet implemented.
2897 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2900 Added (missing) getName() method.
2901 Made nActions an attribute.
2902 * idl/EditableText.idl:
2903 Changed order of params in setAttributes.
2904 * idl/Hyperlink.idl:
2905 Removed getAnchor, added getURI.
2907 Changed attributes to methods, for efficiency
2908 (so that getting extents can be done in one call)
2909 * idl/Selection.idl:
2910 Changed nSelectedChildren to attribute, and re-indented.
2911 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2913 * idl/Text.idl: reformatted to match our coding style.
2914 (temporarily?) removed getRowColumnAtOffset().
2915 Changed text selection API to support multi-select and
2916 non-contiguous selections, as in ATK.
2917 * idl/Value.idl: changed some methods to attributes.
2919 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2921 * libspi/listener.c(impl_notify_event):
2922 BonoboUnkown_unref the source instead
2923 of bonobo_object_release_unref - the ORB
2924 handles the releasing.
2926 * configure.in: require ORBit-2.3.94 for
2929 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2931 Tagged CVS repository 'EA_1_0'.
2932 * README.EARLY_ACCESS:
2933 Alphabetized acknowledgements list, and
2935 Listed some known dependencies of at-spi.
2937 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2939 * docs/at-spi-docs.sgml:
2940 * docs/at-spi-sections.txt:
2941 * docs/at-spi-overrides.txt: (Added zero-length file)
2942 Documentation improvements - gtk-doc should build
2943 docs for all implemented C bindings now.
2946 * cspi/spi.c: (New file)
2947 * cspi/spi_event.c: (New file)
2948 * cspi/spi_registry.c: (New file)
2949 * cspi/spi_accessible.c: (New file)
2950 * cspi/spi_application.c: (New file)
2951 * cspi/spi_component.c: (New file)
2952 Split spi_main.c into six parts, and included them from
2953 "spi.c". This is a bit of a hack, probably temporary,
2954 but required by gtk-doc, apparently.
2956 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2959 * docs/at-spi-docs.sgml:
2960 * docs/at-spi-sections.txt:
2962 Initial checkins/modifications for gtk-doc generation.
2965 Added (missing) interface query methods to Accessible's C binding.
2967 Added GenericInterface type definition.
2969 Added query for AccessibleComponent interface to focus event handler.
2970 Added printout of bounding box for focussed component.
2971 * libspi/component.c:
2972 Added partial implementation for AccessibleComponent to C binding.
2973 * idl/Application.idl:
2974 * libspi/registry.c:
2975 * libspi/listener.c:
2976 * libspi/application.c:
2977 * libspi/application.h:
2978 Changed "ID" attribute type from string to long.
2980 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2984 Made method naming consistent: methods taking object args
2985 start with uppercase, other methods (except those using
2986 acronyms) start with lowercase. Underscores delimit between
2987 object names and method names:
2988 SPI_init() - uppercase since it starts with an acronym.
2989 getDesktopCount () - lowercase start since no object param0.
2990 Accessible_getName() - uppercase object type name, studlyCaps method
2994 Added gtk-doc documentation for all currently implemented
2995 methods in the C bindings API.
2997 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2999 * Makefile.am : changed build order to build test last.
3002 Changed "createEventListener" to "CreateEventListener".
3003 * libspi/accessibleeventlistener.c :
3004 Bugfix for addition of callbacks.
3005 * test/Makefile.am :
3006 * test/simple-at.c :
3007 Added new test that uses the C bindings API.
3009 * libspi/listener.c :
3010 * libspi/registry.c :
3011 * libspi/accessibleeventlistener.c :
3012 * at-bridge/bridge.c :
3013 Renamed member "target" of Accessibility_Event to "source",
3014 which is more descriptive.
3017 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3021 * cspi/Makefile.am :
3022 Added makefile support for at-spi/cspi directory.
3025 * cspi/spi-listener.h : (NEW FILE)
3026 Added support for/use of spi-listener.h.
3028 C bindings now build successfully, with no warnings.
3029 * libspi/accessibleeventlistener.h : (NEW FILE)
3030 * libspi/accessibleeventlistener.c : (NEW FILE)
3031 * libspi/Makefile.am :
3032 Added new object type "AccessibleEventListener"
3033 which inherits from Listener, and allows attachment
3034 of in-process callbacks (so that a client with a listening
3035 object instance can add functionality to the local
3036 implementation, dynamically).
3038 2001-08-18 Bill Haneman <bill.haneman@sun.com>
3040 * libspi/accessible.c:
3041 Add implementation for get_index_in_parent().
3043 Added #include of "spi-roletypes.h", and
3044 added enumerated type AccessibleCoordType.
3045 Added definition for KeystrokeListener (function type).
3048 * cspi/spi-statetypes.h :
3049 * cspi/spi-roletypes.h :
3051 Added these headers, used by spi.h.
3053 Added code (NOTE: not yet built by make).
3055 2001-08-18 Mark McLoughlin <mark@skynet.ie>
3057 * libspi/Makefile.am: generate imodule
3058 at the same time as other idl compiler
3061 2001-08-17 Bill Haneman <bill.haneman@sun.com>
3062 * libspi/registry.c :
3063 * libspi/application.c :
3064 * idl/Application.idl :
3065 Made registration with toolkit an application method,
3066 which is required since each app has its own toolkit static
3067 environment. Thus the bridge must register for
3068 notification of toolkit events from each application in turn.
3069 Toolkit notifications are now successfully registered for, and
3070 sent to the listening at client.
3072 Changed toolkit event string to use hyphens rather than underscores.
3073 * libspi/listener.c :
3074 listner now gives more info in debug mode - it reports the
3075 name of the event received, as well as the name of the source.
3078 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3080 * libspi/registry.c :
3081 added more implementation for toolkit events.
3082 Fixed bug such that toolkit event registrations
3083 (via atk) use the whole event name string, not
3085 Removed a useless call to an ORBit_ method.
3086 * at-bridge/bridge.c :
3087 Removed unused local sbuf[] variable.
3089 We now register for Gtk:GtkWidget:button_press_event
3090 events as well as "focus:" events.
3092 Add some more API from Registry.idl that was missing,
3093 for keystroke listening, keystroke and mouse event
3094 synthesis, and enumeration of accessible desktops.
3096 2001-08-16 Michael Meeks <michael@ximian.com>
3098 * configure.in: use AM_GLIB_GNU_GETTEXT.
3100 * Makefile.am (SUBDIRS): kill intl.
3102 2001-08-15 Michael Meeks <michael@ximian.com>
3104 * registryd/Makefile.am: s/oaf/server/ relocate info file.
3106 * configure.in: upd.
3108 * configure.in: depend on a recent bonobo-activation that
3109 will find our server files ...
3111 2001-08-16 Bill Haneman <bill.haneman@sun.com>
3113 * libspi/accessible.c : accessible_new() :
3114 Now we add the Component interface via bonobo_object_add_interface,
3115 if the contained AtkObject implements AtkComponent.
3116 * libspi/accessible.h : now include "component.h"
3117 * libspi/component.h :
3118 * libspi/component.c : added files - implementation of
3119 bonobo wrapper object for Accessibility/Component
3120 * libspi/listener.c :
3121 Added test code to check for Accessibility/Component:1.0
3122 interface and report whether it is implemented by the
3124 * libspi/registry.c :
3125 Now we check for not only the hash of the whole event
3126 string before relaying the event, we also check the
3127 "minor" event string (without the detail string).
3128 This allows event listeners to be registered against
3129 all events of a certain major+minor type, or just
3130 against a specific major+minor+detail type.
3131 * libspi/accessible.c :
3132 Added implementations for Accessible:get_parent(),
3133 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3134 * libspi/registry.c :
3135 * libspi/listener.c :
3136 Replaced calls to Accessibility_Accessible_ref() and
3137 Accessibility_Accessible_unref() with
3138 calls to bonobo_object_dup_ref() and
3139 bonobo_object_release_unref(), so that the CORBA object
3140 is dup-ed and released when relayed, as well as the bonobo object.
3142 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3144 * libspi/Makefile.am,
3145 registryd/Makefile.am,
3146 at-bridge/Makefile.am.
3147 test/Makefile.am, configure.in:
3148 reverse previous changes.
3150 * /idl/Image.idl: fix typo.
3152 * test/Makefile.am: put DEBUG_FLAGS
3155 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3157 * test/app.c: use argv[0] instead of
3160 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3162 * libspi/Makefile.am,
3163 registryd/Makefile.am,
3164 at-bridge/Makefile.am.
3165 test/Makefile.am, configure.in:
3166 cleanup, replace individual LIBS/CFLAGS with
3167 AT_COMMON_{LIBS|CFLAGS}.
3171 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3173 * configure.in, libspi/Makefile.am:
3174 Change IDL path checking for bonobo-activation
3177 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3179 * registryd/registry.c : separated event listeners to use
3180 3 separate lists (focus, window, toolkit). Began testing
3181 event names against hashes before relaying events.
3182 * test/at.c : now register for events of type "focus:"
3183 * test/app.c : now generate events of type "focus:"
3184 * at-bridge/bridge.c : register with ATK for focus events,
3185 and we now relay those focus events to any "focus:" listeners.
3186 This now works with the bridge as a GTK_MODULE when running test/at.
3187 * libspi/registry.c :
3188 * libspi/listener.c :
3189 now we ref event sources before propagating, and unref on receipt.
3190 * libspi/registry.c :
3191 some changes to internal structs, to support event typestring hashes.
3192 * text/app.c : changed the way the appname is generated.
3193 * cspi : added directory that will hold the C bindings library for
3194 non-CORBA/bonobo-savvy clients.
3195 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3196 * idl/Component.idl : added in parameter to indicate coord system for
3197 geometry-related calls.
3198 * idl/Hyperlink.idl : added readonly n_links attribute
3199 * idl/Image.idl : changed methods to attributes.
3201 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3203 * at-bridge/Makefile.am: link against
3204 ../libspi/libspi.la instead of -lspi.
3206 * at-spi/test/app.c: include
3207 bonobo-activation.h. Use a default appname
3208 if one is not provided.
3210 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3212 * idl/Registry.idl : temporarily changed register_Application
3213 to oneway, to work around issue with initial registration
3215 * idl/Application.idl : changed attribute "id" from readonly
3216 to read-write, since it needs to be assigned by Registry.
3217 * registryd/registryd.c : added call to set application id
3219 * registryd/registry.c : changed de-registration procedure to
3220 use CORBA_Object_hash() to find matching object ref in application
3221 lists and listener lists.
3222 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3223 began distinguishing between event types (work in progress).
3225 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3228 * libspi/application.c:
3229 Added implementations for get/set id, get_toolkitName,
3231 * registryd/registryd.c :
3235 Converted from use of OAF to bonobo-activation.
3236 * libspi/desktop.h :
3237 * libspi/desktop.c :
3239 Removed references to atksimpleobject, since base atkobject
3240 implementation now provides functionality we need.
3241 * libspi/atksimpleobject.c :
3242 * libspi/atksimpleobject.h :
3247 * at-bridge/Makefile.am
3248 * at-bridge/bridge.c
3251 Added directory "bridge" and contents, and added dependencies
3252 in Makefile.am/configure.in.
3253 Initial checkin of "at-bridge".
3254 This code is a GTK_MODULE which automatically registers
3255 GTK+ apps with the accessibility registry, using an object
3256 reference to the root ATK object.
3258 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3260 * po/Makefile.in.in: Remove. Again. If this
3261 doesn't get autogenerated - you need to update
3264 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3266 * po/Makefile.in.in: Add. Again.
3268 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3270 * libspi/accessible.c : added support for 'description' property.
3271 * libspi/accessible.c
3273 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3274 (since the two are now equivalent in libbonobo)
3282 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3283 Bonobo::Unknown as does Accessibility::Accessible.
3284 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3285 interface with Bonobo::Stream, since it was redundant with it.
3286 (The Stream returned by a StreamableContext object is expected to
3287 implement only a subset of Bonobo::Stream)
3289 2001-07-28 Anders Carlsson <andersca@gnome.org>
3291 * libspi/accessible.c (accessible_object_finalize): Change
3292 g_free to g_object_unref since the AtkObject is a GObject.
3294 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3296 * idl/Accessibility.idl: add new IDL files
3299 * idl/Action.idl: Definitions of actionable UI object
3300 * idl/Component.idl: Definitions of UI component geometry, etc.
3301 * idl/Hyperlink.idl: Defs of hyperlink behavior
3302 * idl/Image.idl: Def of accessible image
3303 * idl/Selection.idl: Definition of UI object with selectable children
3304 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3305 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3306 * idl/Text.idl: Interface defs for UI elements with complex textual content
3307 * idl/Value.idl: Definition of UI element that is a value controller or display
3309 2001-07-27 Michael Meeks <michael@ximian.com>
3311 * po/Makefile.in.in: remove autogenerated file from CVS.
3313 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3316 * idl/Registry.idl: include guard.
3318 * idl/Accessibility.idl: Add, and include all the other IDL
3321 * idl/*.idl: remove mass of pragmas etc.
3323 2001-07-26 Michael Meeks <michael@ximian.com>
3325 * registryd/Makefile.am (registryd_SOURCES): remove
3328 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3330 * libspi/.cvsignore, registryd/.cvsignore,
3331 test/.cvsignore: updated.
3333 * po/Makefile.in.in: gettext update.
3335 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3337 * initial CVS checkin
3339 2001-06-29 Michael Meeks <michael@ximian.com>
3341 * configure.in: add AM_CONFIG_HEADER to gen config.h