1 2002-01-11 Bill Haneman <bill.haneman@sun.com>
4 Fixed typo in header which was redefining SPI_ACTION_CLASS.
6 * cspi/spi_accessible.c:
7 Add a couple of missing enum initializations, and fix some enum
10 * cspi/spi_registry.c:
11 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
13 * docs/reference/cspi/at-spi-cspi-sections.txt:
14 Remove/fix a couple of broken document references.
17 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
18 as Alt-Control to listen for commands, since on some systems
19 Control-Alt may already be grabbed.
21 2002-01-10 Bill Haneman <bill.haneman@sun.com>
24 Update version number to 0.4 for Beta2.
26 * libspi/accessible.c, libspi/accessible.h:
27 Expose spi_accessible_construct, to enable libgail-gnome
28 construction from spi_accessible subtype.
31 Workaround for bug in some non-gnome-compliant window managers
32 which made magnifier resize improperly.
34 2002-01-09 Bill Haneman <bill.haneman@sun.com>
36 * libspi/accessible.c: (spi_accessible_new) :
37 Move the test for SPI_IS_REMOTE_OBJECT to
38 spi_accessible_new_return, fixing a bug and compile time warning.
40 2002-01-08 Michael Meeks <michael@ximian.com>
42 * registryd/registry.c (parse_event_type): remove strndup.
44 * libspi/Makefile.am (libspi_la_SOURCES): remove
45 sources already included in the headers section.
49 * libspi/spi-private.h: add.
51 * registryd/registry.c: update to moved list iterators.
53 2002-01-05 Michael Meeks <michael@ximian.com>
55 * test/simple-at.c (main): upd. auto-module set to atk-bridge
57 * test/test-simple.c (main): ditto.
59 2002-01-04 Michael Meeks <michael@ximian.com>
61 * libspi/accessible.c (spi_accessible_new): remove 2nd,
64 * registryd/registry.c
65 (get_listener_list): impl.
66 (impl_accessibility_registry_register_global_event_listener):
67 re-impl. to simplify using ~, remove dodgy const cast off.
68 (parse_event_type): constify.
69 (impl_accessibility_registry_deregister_global_event_listener_all):
70 re-write, more efficiency and simplicity, kill re-enterancy
72 (compare_listener_corbaref, compare_corba_objects),
73 (compare_listener_quarks): define out.
74 (impl_accessibility_registry_deregister_global_event_listener):
75 re-write for effiency, and nail re-enterancy hazard.
76 (impl_accessibility_registry_get_desktop_list): impl.
77 (re_enterant_list_delete_link): impl.
78 (re_enterant_list_foreach): impl.
79 (remove_listener_cb): impl.
80 (_registry_notify_listeners): kill.
81 (notify_listeners_cb): impl.
83 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
84 (SPI_getDesktopList): impl.
86 * test/test-simple.c (test_desktop): test the methods.
88 2002-01-03 Michael Meeks <michael@ximian.com>
90 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
91 keystrings since we free them
92 (SPI_freeAccessibleKeySet): in here.
94 * libspi/accessible.c (spi_accessible_new): kill warning,
95 wonder what is going on with the constructor here.
97 2002-03-01 Bill Haneman <bill.haneman@sun.com>
99 * libspi/accessible.c (spi_accessible_new ()) :
100 Added check to see if AtkObject is an SpiRemoteObject before
101 creating an SpiAccessible.
103 2002-05-01 Bill Haneman <bill.haneman@sun.com>
105 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
106 Enable keygrabs using the Control modifier, now that they are
107 working properly (they were previously disabled).
110 Change the command keygrab for this demo to "Control+Alt", so as
111 to conflict with fewer other key commands on the system; this
112 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
114 Removed a pointlessly-chatty keylistener for unshifted keys
115 (shifted keys are still reported).
117 2002-02-01 Bill Haneman <bill.haneman@sun.com>
119 * libspi/remoteobject.h:
120 * libspi/remoteobject.c:
121 Added definitions for special AtkObject subtype, required for
122 support of remote components (specifically, used by BonoboControl
123 accessibility implementation).
125 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
127 * cspi/spi.h: synched relation types with ATK
129 * cspi/spi_accessible.c: Added implementations of
130 AcccessibleRelation_* methods
132 * idl/Accessibility_Relation.idl: added getRelationTypeName
133 method. Synched known relation types with ATK. Allowed for
134 relation type extension with the RELATION_EXTENDED type.
136 * libspi/relation.c: Provided implementations for
137 AccessibleRelation methods.
139 2002-01-01 Bill Haneman <bill.haneman@sun.com>
141 API tweaks for today's API 'freeze'.
144 Added placeholder functions to allow future compatible expansion
145 of the IDL interfaces.
147 * idl/Accessibility_Registry.idl:
148 Changed generateKeyEvent to generateKeyboardEvent. Changed
149 signature of this method to accept an optional keystring in
150 parameter (for complex text input synthesis) and changed use of
151 simple 'boolean' parameter in registerKeystrokeListener to a
152 struct, EventListenerMode.
154 * cspi/spi_accessible.c:
156 * cspi/spi_streamablecontent.c:
157 Added references to AccessibleStreamableContent interface, and
158 definition and implementation of AccessibleStreamableContent
161 * cspi/spi_registry.c:
163 Changed generateKeyEvent API to generateKeyboardEvent,
164 taking a new (optional) keystring parameter to support complex
169 Renamed directory (to better reflect its actual purpose, bridging
170 from at-spi to ATK). The .so module is also now named
173 * idl/Accessibility_Hypertext.idl:
174 * libspi/accessible.c:
175 * libspi/hypertext.h:
176 * libspi/hypertext.c:
177 Changed Accessibility_Hypertext to *not* derive from
180 * cspi/spi_registry.c:
181 Added list of legal event type names for 'window' events, which
182 completes the registry event API.
184 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
186 * at-bridge/bridge.c: Added registration for separate
187 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
188 signals. If either of the first two parameters to the generic
189 bridge signal handler are ints, they are passed on as event
190 details. This allows an AT to determine what text was inserted.
192 2001-12-21 Bill Haneman <bill.haneman@sun.com>
194 * registryd/deviceeventcontroller.c:
195 Fixed regressions in generateKeyEvent caused by the removal of
196 gdk_init from registryd; we now use pure X calls to connect to the
197 display, which makes sense because deviceeventcontroller already
198 uses a fair bit of X API (should eventually be migrated to a
199 'portability layer').
201 * registryd/desktop.c:
202 Fixed minor regression in spi_desktop_init, changed the way the
203 desktop name is being set to work with new spi_base API
204 (gobject-based, rather than AtkObject-based).
206 * registryd/Makefile.am:
207 Minor revision of makefile to use XTST_LIBS variable rather than
208 hard-wiring the Xtst LD_ADD element.
210 * test/keysynth-demo.c:
211 Tweaked an output message; added initialization of the
212 'keystrings' member of the "switch listener" key_set.
215 Squashed compile-time warning.
217 * libspi/accessible.c:
218 Cosmetic and formatting fixes, renamed a static method.
220 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
222 * libspi/accessible.c
224 * libspi/application.c
228 * libspi/editabletext.c
236 * registryd/desktop.c:
237 Changed SpiBase to contain a GObject pointer rather than an AtkObject
239 2001-12-17 Bill Haneman <bill.haneman@sun.com>
241 * idl/Accessibility_Registry.idl:
242 Added boolean member 'is_text' to DeviceEvent. This is for the
243 use of key events, and helps prevent ambiguity between composed
244 key strings and keysym names, since both may potentially be
245 returned in the 'event_string' member.
247 * at-bridge/bridge.c:
248 * registryd/deviceeventcontroller.c:
249 Use the 'is_text' member when notifying device event listeners.
250 Knon issue: composed characters are not dealt with correctly by
251 the global key listener implementation yet.
253 2001-12-17 Bill Haneman <bill.haneman@sun.com>
255 * at-bridge/bridge.c:
256 Namespaced local static methods to spi_atk_bridge_* where
257 previously named bridge_*, and spi_* elsewhere.
259 * at-bridge/bridge.c:
260 * cspi/bonobo/cspi-bonobo-listener.c:
261 Added demarshalling/conversion for string member of
262 Accessibility_DeviceEvent to AccessibleKeystroke.
264 * registryd/deviceeventcontroller.c:
265 Added code to fill the Accessibility_DeviceEvent key string value
266 member for global key events (i.e. from XGrabKey), to match
267 behavior of Accessibility_DeviceEvent from the toolkit key events
268 from the bridge. Fixed timestamp in global key event notifications.
271 Added printout of key event's string value to
272 report_ordinary_key_event, for demo/debugging purposes.
274 2001-12-15 Bill Haneman <bill.haneman@sun.com>
276 * idl/Accessibility_Registry.idl:
277 Removed Accessibility_KeyStroke structure in favor of generic
278 Accessibility_DeviceEvent structure.
279 Changed Accessibility_ControllerEventMask from a struct to an
282 * at-bridge/bridge.c:
283 Changed APIs to use DeviceEvent structure as above, and removed
284 bogus casting between these event structures.
286 * cspi/spi-listener.h:
287 Added keystring member of AccessibleKeystroke structure, to enable
288 matching on event "names" rather than only hardware codes and
292 Added keystrings member of AccessibleKeySet struct, to allow
293 matching on event names (as above).
294 Added declarations for SPI_createAccessibleKeySet and
295 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
296 event modmasks directly as unsigned ints rather than structs with
297 refcounts, in the DeviceEventController methods.
299 * cspi/spi_registry.c:
300 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
302 * cspi/spi-roletypes.h:
303 Added documentation of newly added SPI Roles.
305 * cspi/bonobo/cspi-bonobo-listener.c:
306 Changes in support of API changes above.
308 * libspi/accessible.c:
309 Converted APIs to use DeviceEvent structure (see IDL changes
312 * registryd/deviceeventcontroller.c:
313 Added DEControllerGrabMask structure to track keygrabs not only by
314 modmask but by keyset as well; this allows us to do "global"
315 (i.e. X) keygrabs on a per-key or keyset basis rather than always
316 grabbing on AnyKey and then filtering after-the-fact.
317 Bugfixes for event filtration mean that we don't get false matches
318 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
320 * registryd/deviceeventcontroller.c:
321 Namespaced a number of static methods to use spi_ prefix. Major
322 revision to internals of global (i.e. X) key grabs.
324 * registryd/deviceeventcontroller.h:
325 Removed keymask_list and added keygrabs_list to
326 SpiDeviceEventController struct.
329 Added use of SPI_createAccessibleKeySet API when creating a
330 listener for only one key. Attach a listener to "shift spacebar
331 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
332 X key event names to SPI key event names, so that listeners are
333 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
335 * test/keysynth-demo.c:
336 Changed (incorrect) use of X key event names (KeyPressed,
337 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
340 2001-12-12 Bill Haneman <bill.haneman@sun.com>
342 * libspi/accessible.c:
343 Convert all AtkRole enumerations to Accessibility_Role enums when
344 getting a role from an AtkObject.
346 * cspi/spi_accessible.c:
347 Complete the conversion of Accessibility_Role enums at runtime to
348 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
349 role enums correctly match those given in spi-roletypes.h.
350 Re-synchronize the local names list for AccessibleRole_getName ().
351 AccessibleRole_getName is now deprecated, since it duplicates the
352 more reliable Accessible_getRoleName.
353 Added some role types from Accessibility_Role.idl.
355 * idl/Accessibility_Role.idl:
356 Added some role types used by AtkRole.
358 2001-12-12 Bill Haneman <bill.haneman@sun.com>
361 * cspi/spi_registry.c:
363 * cspi/cspi-bonobo-listener.c:
364 Namespaced all methods that did not begin with an "SPI_" or
365 "Accessible" prefix to "SPI_".
368 Homogenized internal function namespace to "cspi_" for statics.
371 Patched tests to use the new CSPI API.
373 * docs/reference/cspi/at-spi-cspi-sections.txt:
374 Updated docs to reflect namespace changes, and added a number of
375 methods to the documentation.
377 * registryd/registry.c:
378 Changed use of strings and string hashes in listener event
379 matching and parse_event_string to use GQuark, which is guaranteed
382 * registryd/registry.h:
383 Squashed annoying warning.
385 * idl/Accessibility_Role.idl:
386 Extended range of available Accessibility_Role values.
388 * cspi/spi_accessible.c:
389 Re-ordered role names.
391 2001-12-12 Bill Haneman <bill.haneman@sun.com>
393 * idl/Accessibility_Value.idl:
394 Revert use of union back to CORBA_double, since the double type is
395 more efficient and can contain the other types without loss of
398 * idl/Accessibility_Accessible.idl:
399 Added method Accessibility:Accessible:getRoleName, to complement
400 Accessibility:Accessible:getRole.
402 * cspi/spi_accessible.c:
404 Added C binding for above, Accessible_getRoleName (), and changed
405 signature of Accessible_getRole () to return an AccessibleRole.
407 * cspi/spi-roletypes.h:
408 Changed AccessibleRole_getName to return a char * instead of a
409 const char *. This method is now at least temporarily deprecated
410 in favor of asking Accessibles for their RoleNames directly.
413 Revert to match Accessibility_Value.idl;
417 Change signature of AccessibleValue methods to use double rather
421 * cspi/spi_accessible.c:
422 Changed Accessible_getRole to return an AccessibleRole enum rather
423 than a UTF-8 string. The UTF-8 string can still be obtained via
424 AccessibleRole_getName ().
426 * test/test-simple.c:
427 Add test_action. Small fixup to match API change to Accessible_getRole.
430 Bugfix for get_action_from_servant ().
432 2001-12-11 Michael Meeks <michael@ximian.com>
434 * libspi/libspi.h: remove registry.h and
435 desktop.h, deviceeventcontroller.h
437 * libspi/Makefile.am: remove registry.[ch],
438 desktop.[ch], deviceeventcontroller.[ch]
440 * registryd/Makefile.am: add registry.[ch],
441 desktop.[ch], rename registryd.c to registry-main.c.
442 add deviceeventcontroller.[ch]
444 2001-12-11 Bill Haneman <bill.haneman@sun.com>
447 Replace setenv() call with putenv ().
449 * libspi/component.c:
450 Bugfix in AccessibleComponent_getExtents (),
453 2001-12-11 Michael Meeks <michael@ximian.com>
455 * libspi/image.c (impl_getImageExtents): impl.
456 (spi_image_class_init): upd.
459 (AccessibleImage_getImageDescription): fix daft bug
462 * test/test-simple.c (global_listener_cb): update
463 to only quit if not --poke
464 (main): catch --poke.
465 (validate_accessible): upd. dumping, call test_image
468 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
471 * idl/Accessibility.idl: update all IDL includes.
473 * idl/*.idl - rename to namespace - this sucks, blame
474 mjs' bad decision for oafd.
476 * test/test-simple.c (create_test_window): add more tests.
477 (create_tree): split this out.
478 (validate_accessible): bugfix.
480 2001-12-11 Michael Meeks <michael@ximian.com>
482 * cspi/bonobo/cspi-bonobo-listener.c:
483 (cspi_kestroke_listener_unref),
484 (cspi_event_listener_unref): impl. undoing previous
485 homenous environment - for Bill.
487 * cspi/spi_table.c (long_seq_to_array): use
490 * cspi/spi_main.c: split out all bonoboish bits into
493 * cspi/spi-impl.h: upd. typedefs.
495 * cspi/spi_registry.c: update to lowlevel API,
496 return booleans to indicate success in some places.
498 * cspi/spi_event.c: update to lowlevel API.
500 * cspi/bonobo/Makefile.am: add.
502 * cspi/bonobo/cspi-lowlevel.h: add
504 * cspi/bonobo/cspi-bonobo.c: add
506 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
508 * cspi/Makefile.am: remove spi-listener-impl.[ch],
509 (SUBDIRS): add bonobo, link in the libs.
511 * cspi/spi-util.c: kill this file.
513 * TODO: merge in my bits.
515 2001-12-11 Michael Meeks <michael@ximian.com>
517 * test/test-simple.c (test_value, test_table, main):
518 remove unused variables causing warnings.
520 * configure.in: cleanup checks - require gail.
522 2001-12-11 Bill Haneman <bill.haneman@sun.com>
525 Changed Value interface to use SValue (scalars) rather than
526 assuming all values are floats. This allows floats, doubles,
527 longs, shorts, and unsigned values to be manipulated.
528 Introduced Accessibility:SValue union.
531 Updated to use new API above, and to work correctly with GValues
532 of different types in AtkValue.
535 Updated to use new API above. cspi's API is as yet unchanged.
538 Updated the Value revision action item.
540 2001-12-10 Bill Haneman <bill.haneman@sun.com>
542 * test/test-simple.c:
543 Added test_table (GtkTreeView widget in test window to follow).
544 Un-commented test_value, added GtkRange widget.
545 Added GtkTreeView widget with GtkListStore. It passes regression
546 test but leaks one SPI object for some reason.
549 Fixed bug in impl__set_currentValue.
551 2001-12-10 Michael Meeks <michael@ximian.com>
553 * cspi/spi_text.c: audit for exception handling,
554 tolerating NULL object references safely etc.
556 * cspi/spi_value.c: ditto.
558 * cspi/spi_table.c (AccessibleTable_getSummary),
559 (AccessibleTable_getAccessibleAt),
560 (AccessibleTable_getRowHeader),
561 (AccessibleTable_getColumnHeader),
562 (AccessibleTable_getCaption): fix bugs hidden by
564 (long_seq_to_array): impl.
565 (AccessibleTable_getSelectedRows),
566 (AccessibleTable_getSelectedColumns): use it.
568 2001-12-10 Bill Haneman <bill.haneman@sun.com>
571 Added a TODO list (rough and short for now).
573 * cspi/spi_hyperlink.c:
574 * cspi/spi_hypertext.c:
575 Fixed macro name typos, and remove use of obsolete macro in
576 AccessibleHyperlink_getLink.
579 * cspi/spi_accessible.c:
580 * cspi/spi_application.c:
581 * cspi/spi_component.c:
582 * cspi/spi_selection.c:
585 Documentation fixes (removed return values from ref/unref methods).
587 2001-12-10 Michael Meeks <michael@ximian.com>
589 * cspi/spi_action.c: audit for exception handling,
590 tolerating NULL object references safely etc.
592 * cspi/spi_accessible.c: ditto.
594 * cspi/spi_component.c: ditto.
596 * cspi/spi_editabletext.c: ditto.
598 * cspi/spi_hyperlink.c: ditto.
600 * cspi/spi_hypertext.c: ditto.
602 * cspi/spi_image.c: ditto.
604 * cspi/spi_selection.c: ditto.
606 2001-12-10 Michael Meeks <michael@ximian.com>
608 * configure.in: use cspi/libspi.pc.in instead.
610 * Makefile.am (pkgconfig_DATA): upd. to match.
612 * test/simple-at.c (report_focus_event): kill hacks around
613 bad return values, use putenv not setenv
615 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
616 fire ChildGone - I killed it.
619 (impl_accessibility_component_get_extents): remove
622 * idl/Accessible.idl: kill ChildGone exception.
624 * cspi/*.[ch]: kill int return from ref / unref.
626 * cspi/spi_main.c (cspi_object_add_check): fold into
627 (cspi_object_add): here.
629 * cspi/spi_component.c (AccessibleComponent_getExtents):
630 handle exceptions elegantly.
632 * cspi/spi-private.h (cspi_check_ev_return),
633 (cspi_return_if_fail): impl.
635 * cspi/spi_accessible.c: use extensively.
636 (AccessibleStateSet_equals): add direct compare check.
638 * cspi/spi_selection.c: tolerate NULL objs, and check
639 exceptions before return.
641 * cspi/spi-util.c (cspi_warn_ev): rename to
642 (cspi_check_ev): this & don't pass ev in; no point.
644 2001-12-10 Michael Meeks <michael@ximian.com>
646 * test/test-simple.c: use putenv not setenv
647 (get_environment_vars): more chatty if you're not using
650 * test/simple-at.c: do the setenv so more people see the
653 2001-12-10 Bill Haneman <bill.haneman@sun.com>
656 Changed check of CORBA_environment on notification to be a warning
657 instead of an error for the moment, since we can recover from this
658 error when caused by a queued notification from a dead app.
661 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
662 used by all current implementors of AtkValue), and coerce to
663 CORBA_float. (Proper general case fix may require change to Value.idl).
665 2001-12-09 Bill Haneman <bill.haneman@sun.com>
669 * cspi/spi_accessible.c:
670 Documentation fixes: added user_data params to documentation for
671 listeners and callbacks.
673 * cspi/spi_accessible.c:
674 Changed AccessibleStateSet_compare to return a
675 StateSet rather than return the difference set into a third parameter.
678 2001-12-09 Bill Haneman <bill.haneman@sun.com>
681 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
682 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
686 Remove subdirectory po from SUBDIRS for now.
688 * at-bridge/bridge.c:
689 Beefed up a couple of debug printouts.
690 One-line fix for signal notification name formatting.
692 * libspi/accessible.c:
693 Added assertion to spi_accessible_new ().
695 * libspi/application.c:
696 Put #ifdef qualifiers around a printf.
699 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
701 * registryd/Makefile.am:
703 Replaces use of XML_I18N_MERGE_SERVER_RULE with
704 INTLTOOL_SERVER_RULE macro.
707 Added an event listener for several ATK signals, for
708 testing and debugging. Removed a few g_warnings.
709 Added test output if focussed item implements the Value interface.
711 * test/test-simple.c:
712 Added test_value () function (known not to pass at the moment, so
713 not actually called yet.
715 2001-12-08 Michael Meeks <michael@ximian.com>
717 * at-bridge/bridge.c (bridge_focus_tracker),
718 (emit_eventv): fix the same ref. leak.
719 (register_atk_event_listeners): don't leak.
721 * cspi/spi-listener-impl.c (cspi_event): more
722 protection from client code.
724 * test/test-simple.c (test_desktop): unref the app.
726 * test/Makefile.am: upd. TESTS.
728 * at-bridge/bridge.c (bridge_exit_func): release the registry.
730 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
732 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
734 * cspi/spi_registry.c: constify in strings.
735 (deregisterGlobalEventListenerAll): don't release the ref.
737 * cspi/spi.h: start removing redundant / conflicting
738 gtkdoc comments, making the API readable at a glance :-)
740 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
742 * test/keysynth-demo.c (keysynth_exit, main): upd.
744 * test/simple-at.c (main, simple_at_exit): upd.
746 * test/test-simple.c (unutterable_horror): kill.
747 (utterable_normal_derefs): kill.
748 (main): upd & do a setenv before gtk_init, so that we
749 can use memprof - and to save the pain of remembering
750 this, if we're running under memprof - don't exit.
752 * cspi/spi_main.c (SPI_exit): return exit status
754 (SPI_event_quit): impl.
755 (SPI_event_main): simplify.
756 (cspi_is_gnome_app): kill.
757 (SPI_init): kill isGNOMEapp arg.
759 * at-bridge/bridge.c (register_atk_event_listeners):
760 re-instate the unref.
761 (bridge_exit_func): don't re-activate the registry,
762 protect vs. theoretical re-entry, use the
763 AT_BRIDGE_SHUTDOWN env. var to determine whether to
764 assert a clean shutdown - for regression tests.
766 2001-12-08 Abel Cheung <maddog@linux.org.hk>
768 * configure.in: Comment out dummy i18n support for now,
769 otherwise it fails to build.
770 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
771 EXTRA_DIST. They are missing in tarball.
773 2001-12-07 Michael Meeks <michael@ximian.com>
775 * util/magnifier.c: kill bonobo activation reg. race.
778 (impl_accessibility_component_get_extents): make it match
781 * libspi/registry.c (_registry_notify_listeners):
782 re-remove X headers & reconcile conflicts.
783 (spi_listener_struct_free): bad conflict resolve.
784 (impl_accessibility_registry_register_application):
785 more bad merging fixed.
786 (impl_accessibility_registry_deregister_application): ditto.
787 (spi_registry_new): ditto.
788 (spi_registry_init): don't have an applications field.
790 [ merge fixups2 branch to here ]
791 2001-12-07 Michael Meeks <michael@ximian.com>
793 * test/simple-at.c (report_focus_event),
794 (report_focussed_accessible): remove g_warning debug.
796 2001-12-07 Michael Meeks <michael@ximian.com>
798 * test/test-simple.c (validate_tree): comment out some checks.
799 (test_desktop): app now not registered idly - horay.
801 2001-12-07 Michael Meeks <michael@ximian.com>
803 * cspi/spi_registry.c
804 (registerAccessibleKeystrokeListener): clean, stop it leaking
805 great swathes of memory, and device event controller references.
806 ensure we always pass valid sequences.
807 (deregisterAccessibleKeystrokeListener): ditto.
808 (generateKeyEvent): upd.
810 * at-bridge/bridge.c (bridge_key_listener): handle
811 registry dead exception gracefully.
812 (bridge_focus_tracker, emit_eventv): free ev.
814 * test/simple-at.c (report_focus_event): fix polarity.
816 * libspi/application.c (notify_listeners): kill the ev
817 argument, and make sure we init the ev we use.
818 (spi_application_object_event_listener): split out a chunk
819 (get_atk_object_ref): here & fixup.
820 (reverse_lookup_name_for_toolkit_event): make const.
821 (spi_application_toolkit_event_listener): fixup, kill leaks
824 * at-bridge/bridge.c (register_atk_event_listeners):
825 don't unref the noop object - causes grief.
827 * libspi/registry.c: remove the X headers.
828 turn off the debug churn.
830 * libspi/accessible.c (spi_accessible_new_return): only
831 release the ref if we are supposed to [doh]
833 * test/simple-at.c (report_button_press, report_focus_event):
834 guard vs. unexpected exit.
836 * at-bridge/bridge.c (gtk_module_init): prune printf.
837 (bridge_exit_func): fix app unref.
839 * libspi/Makefile.am: don't install registry or desktop.h
841 * libspi/*.h: update includes.
843 * libspi/application.h: don't include ourself, or
844 other redundant headers.
846 2001-12-06 Michael Meeks <michael@ximian.com>
848 * libspi/accessible.c
849 (get_accessible_from_servant): impl.
850 Upd. all CORBA impl.s to use it killing cut and paste.
852 * cspi/spi_main.c (cspi_cleanup): guard vs. double
854 (SPI_init): register atexit cleanup handler here.
856 2001-12-06 Michael Meeks <michael@ximian.com>
858 * at-bridge/bridge.c (gtk_module_init): g_error on
861 2001-12-06 Michael Meeks <michael@ximian.com>
863 * at-bridge/bridge.c (gtk_module_init): some sort of
864 confusing merge clash - reverted.
865 (bridge_idle_init): ditto.
867 * test/test-simple.c (main, utterable_normal_derefs):
868 merge from Bill - somehow not committed.
870 2001-12-06 Michael Meeks <michael@ximian.com>
872 * libspi/value.c (spi_value_class_init): upd.
873 (spi_value_finalize): kill.
875 * libspi/table.c (spi_table_finalize): kill.
876 (spi_table_interface_new): upd.
877 (spi_table_class_init): upd.
878 (get_table_from_servant): impl.
879 Upd. all CORBA impl.s to use it killing yet more cut and paste.
881 * libspi/selection.c (spi_selection_finalize): kill.
882 (spi_selection_interface_new): upd.
883 (spi_selection_class_init): upd.
884 (get_selection_from_servant): impl.
885 Upd. all CORBA impl.s to use it killing yet more cut and paste.
887 * libspi/relation.c (spi_relation_finalize): kill.
888 (spi_relation_class_init, spi_relation_new): upd
890 * libspi/image.c (spi_image_finalize): kill.
891 (spi_image_class_init): upd.
892 (spi_image_interface_new): upd.
893 (get_image_from_servant): impl.
894 Upd. all CORBA impl.s to use it killing yet more cut and paste.
896 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
897 (spi_hyperlink_finalize): kill.
898 (spi_hyperlink_new): upd.
899 (get_hyperlink_from_servant): impl.
900 Upd. all CORBA impl.s to use it killing yet more cut and paste.
902 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
903 (spi_hypertext_finalize): kill.
904 (spi_hypertext_class_init): upd.
905 (get_hypertext_from_servant): impl.
906 Upd. all CORBA impl.s to use it killing yet more cut and paste.
908 * libspi/editabletext.c (spi_editable_text_finalize): kill.
909 (spi_editable_text_interface_new): upd.
910 (get_editable_text_from_servant): impl.
911 Upd. all CORBA impl.s to use it killing yet more cut and paste.
913 * libspi/text.c (get_text_from_servant): impl.
914 All impls - update to use it killing more cut and paste,
915 also fix bad string returns on duff args ( a somewhat
916 impossible case to handle - but hey ).
917 (spi_text_construct): impl.
918 (spi_text_interface_new): upd.
919 (spi_text_object_finalize): kill.
922 (accessibility_component_object_finalize): kill.
923 (spi_component_class_init): upd.
924 (get_component_from_servant): impl. helper to kill cut & paste.
925 (impl_accessibility_component_contains):
926 (impl_accessibility_component_get_accessible_at_point):
927 (impl_accessibility_component_get_position):
928 (impl_accessibility_component_get_extents):
929 (impl_accessibility_component_get_mdi_z_order):
930 (impl_accessibility_component_get_layer):
931 (spi_component_interface_new): upd.
933 * libspi/action.c (spi_action_finalize): kill.
934 (spi_action_class_init): upd. inherit from SpiObject.
935 (spi_action_interface_new): upd.
936 (get_action_from_servant): impl. helper to reduce cut & paste.
937 (impl_getKeyBinding, impl_getName, impl_doAction),
938 (impl_getDescription): Use it everywhere.
940 * cspi/spi_main.c (get_live_refs): a pointer hash.
941 (spi_object_hash, spi_object_equal): comment out.
942 There are issues with CORBA object hashing that need
945 * libspi/application.c (spi_application_init),
946 (spi_application_new): upd.
948 * libspi/accessible.c (spi_accessible_object_finalize): kill.
949 (spi_accessible_class_init): upd.
950 s/accessible/object/ in epv methods.
952 2001-12-05 Bill Haneman <bill.haneman@sun.com>
954 * at-bridge/bridge.c:
955 Reorder the bridge initialization into the bridge gtk_module_init,
956 an immediate call to bridge_register_app, and an idle_add for
957 register_atk_event_listeners (the only code that *must* wait until
958 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
959 the activation, creates the application's Accessible object, and
960 queues the bridge_idle_init function. Restored call to
961 Accessibility_Registry_deregisterApplication().
962 Prior to making this call we obtain a new reference to the
963 registry, which is a temporary hack that helps us handle apps that
964 shut down the bonobo mainloop before we get there.
967 Fix string leakage in debug block, and don't segv if a an app
968 dies before its event notifications have been propagated.
971 Modify cspi_check_ev() to call g_warning() rather than g_error(),
972 as stopgap measure until we get proper exception handling when
973 objects die during or before interrogation.
977 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
978 Also changed default value of is_gnome_app to TRUE.
981 * test/keysynth-demo.c:
982 Changed use of SPI_init and SPI_event_main to reflect API change above.
985 Made report_focus_event check the warning value from getName
986 before reporting on focussed accessible; simplifies handling of
987 notifications from dead objects.
989 * test/test-simple.c: (Changes not in this patch since source is
992 2001-12-05 Michael Meeks <michael@ximian.com>
994 * registryd/registryd.c (main): protect against
995 bonobo-activation startup race condition.
997 * cspi/spi_main.c (cspi_object_add_check): cope
998 with the exception elegantly.
1000 * idl/Accessible.idl: decl. ChildGone
1002 * libspi/desktop.c (spi_desktop_dispose): impl.
1003 (spi_desktop_class_init): upd.
1004 (spi_desktop_add_application),
1005 (spi_desktop_remove_application),
1006 (abnormal_application_termination): impl.
1007 (impl_desktop_get_child_at_index): re-impl.
1010 (impl_accessibility_registry_deregister_application),
1011 (impl_accessibility_registry_register_application):
1012 kill excessive debug clutter.
1014 * test/test-simple.c (test_misc): test some NULL
1015 tolerance. (main): upd.
1017 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
1018 implements no interfaces - so let's not crash.
1020 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
1022 * libspi/accessible.c (spi_accessible_new_return): impl.
1023 helper to calm the cut and paste, to cope with
1024 NULL AtkObjects effectively and efficiently, and to kill
1025 the referencing bugs.
1027 * libspi/table.c (impl_getAccessibleAt),
1028 (impl_getRowHeader, impl_getColumnHeader): upd.
1030 * libspi/hyperlink.c (impl_getObject): upd.
1032 * libspi/accessible.c
1033 (impl_accessibility_accessible_get_child_at_index): upd.
1035 * libspi/component.c
1036 (impl_accessibility_component_get_accessible_at_point): upd.
1038 * test/test-simple.c (test_editable_text, test_text): impl.
1041 * cspi/spi_editabletext.c
1042 (AccessibleEditableText_insertText): constify.
1044 * test/test-simple.c (focus_me): make more robust.
1046 * libspi/accessible.c: remove some printfs in methods that
1047 we test and work fine, so we can get a clean tree dump.
1049 * test/test-simple.c (validate_accessible),
1050 (validate_tree): make tree dumping pretty too.
1052 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1053 it builds without debug on.
1055 * test/test-simple.c (validate_accessible): fix the most
1058 * cspi/spi_main.c (spi_object_release): leave the nicely
1059 blanked memory around if in debug mode.
1061 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1063 [committed to fixups2]
1064 2001-12-05 Michael Meeks <michael@ximian.com>
1066 * libspi/editabletext.c
1067 (spi_editable_text_class_init): g_type_class_peek_parent,
1068 not interface peek - so we finalize cleanly.
1070 * libspi/accessible.c (spi_accessible_new): kill debug.
1072 * test/test-simple.c (validate_accessible): fix ref.
1073 leak, print strings before freeing them; sigh, comment a
1074 chunk out due to strangeness.
1075 (validate_tree): unref the child after use.
1077 * cspi/spi_component.c (AccessibleComponent_getLayer):
1078 add missing break statement, switch on zlayer not the
1079 uninitialized retval.
1081 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1082 before (possibly re-entering) remote unref.
1084 * test/simple-at.c (main): unref the desktop.
1086 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1089 * cspi/spi_main.c (cspi_accessible_is_a): here to
1090 isolate bonobo API usage more.
1092 * libspi/registry.c (impl_accessibility_registry_register_application):
1093 prune bogus comment.
1095 2001-12-04 Michael Meeks <michael@ximian.com>
1097 * test/test-simple.c (validate_tree): upd.
1098 IndexInParent check to make it more lucid.
1099 (validate_accessible): dump the tree.
1101 * libspi/accessible.c (de_register_public_ref),
1102 (get_public_refs): impl.
1103 (spi_accessible_new): make more efficient & intuitive.
1104 Now IndexInParent check works.
1106 2001-12-04 Michael Meeks <michael@ximian.com>
1108 * cspi/spi-util.h: remove.
1110 * cspi/spi.h: move SPI_freeString here
1112 * libspi/component.c (impl_accessibility_component_get_layer):
1114 (impl_accessibility_component_get_mdi_z_order): ditto,
1115 return -1 on error - is this ok ?
1117 * test/test-simple.c (test_application): impl.
1119 * cspi/spi_accessible.c (Accessible_getApplication),
1120 (Accessible_isApplication): impl.
1122 * libspi/registry.c (spi_listener_struct_free): release
1123 the CORBA reference too.
1125 * libspi/accessible.c
1126 (impl_accessibility_accessible_get_parent): fix ref leak.
1128 * libspi/registry.c (spi_registry_new): make the registry
1129 immortal - we don't want it to go away ever.
1131 * libspi/application.c
1132 (spi_accessible_application_finalize): impl. cleanup.
1134 * cspi/spi_registry.c
1135 (deregisterGlobalEventListenerAll),
1136 (deregisterGlobalEventListener),
1137 (deregisterAccessibleKeystrokeListener): fix ref leak.
1139 * cspi/spi_main.c (SPI_init): remove redundant ref.
1141 * test/test-simple.c (unutterable_horror): impl. to force a
1146 (impl_accessibility_registry_deregister_application): release
1147 the application when we de-register it.
1149 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1150 until we have the infastructure to get it right.
1152 2001-12-03 Michael Meeks <michael@ximian.com>
1154 * libspi/Makefile.am: only build eventlistener.[ch]
1156 * libspi/accessible.c
1157 (impl_accessibility_accessible_get_child_at_index): don't leak.
1159 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1160 before we hit the idle handler.
1162 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1163 debugging than exit.
1165 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1167 * libspi/listener.c (impl_notify_event): check source
1168 not NIL before unref.
1170 * libspi/registry.c (impl_registry_notify_event): ditto.
1172 * libspi/eventlistener.c
1173 (impl_accessible_event_notify_event): unref the source.
1175 * libspi/accessibleeventlistener.c
1176 (impl_accessible_event_notify_event): unref the source.
1178 * idl/Event.idl: remove 'hash_id' attribute - of no
1181 * libspi/application.c (notify_listeners): upd list
1183 (spi_application_object_event_listener),
1184 (spi_application_toolkit_event_listener): upd to do correct
1188 (_registry_notify_listeners): update.
1189 (parse_event_type): this method also leaks like a sieve.
1190 (impl_accessibility_registry_deregister_global_event_listener):
1191 fix ETYPE_WINDOW case.
1193 * libspi/application.c
1194 (impl_accessibility_application_register_object_event_listener):
1197 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1199 * libspi/hypertext.c (impl_getLink): ditto.
1201 * cspi/spi_main.c (cspi_object_add): remove
1202 bogus CORBA_Object_duplicate.
1204 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1207 * cspi/spi_accessible.c
1208 (Accessible_getRelationSet): fix leak / referencing issue.
1210 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1211 (cspi_object_add, cspi_object_unref): upd.
1212 (spi_object_release, get_live_refs): impl.
1213 (cspi_cleanup): simplify.
1215 * *.[ch]: s/boolean/SpiBoolean/
1217 * cspi/spi_accessible.c (role_names): actualy order so it
1218 corresponds with the enum !
1220 * test/test-simple.c (test_roles): check some role strings
1221 vs. enums to detect offset errors.
1223 2001-12-01 Michael Meeks <michael@ximian.com>
1225 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1227 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1229 (Accessible_getChildAtIndex): use cspi_add_check so we
1230 check the ev before using a (possibly) invalid value.
1232 * libspi/accessible.c
1233 (impl_accessibility_accessible_get_parent): don't segv
1236 * at-bridge/bridge.c (gtk_module_init): upd.
1237 (bridge_property_event_listener): don't leak strings
1239 (bridge_state_event_listener),
1240 (bridge_property_event_listener): don't use a static
1241 buffer in case of recursive event emission &
1242 re-enterancy - split out the swathe of cut and paste
1244 (emit_eventv): and fix 2 ref leaks here & comply to the
1246 (bridge_register_app): rename to
1247 (bridge_idle_init): this and kill arg parsing, split
1248 various inits & bonobo-activation registration to module
1249 init time, kill referencing error.
1250 (bridge_exit_func): fix the same leak.
1251 (bridge_focus_tracker): don't leak event structures
1253 (bridge_signal_listener): more leakage and cut & paste
1255 (bridge_key_listener): return the result - FIXME is
1256 this polarity correct ?
1257 (accessibility_keystroke_from_atk_key_event): rename
1258 (accessibility_init_keystroke_from_atk_key_event): and stop
1260 (gtk_module_init): return a value - not that it is checked by
1262 (bridge_key_listener): register my horror at casting between
1263 IDL defined structs.
1264 (bridge_get_registry): kill - not used.
1266 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1268 * test/test-simple.c (test_roles): impl.
1269 (test_desktop, validate_accessible, validate_tree): impl.
1271 * cspi/spi_accessible.c (role_names): fixup bogus
1272 MAX_ROLES setup, make constants const for efficient linkage
1273 (AccessibleRole_getName): conform to coding style, make
1276 2001-11-30 Michael Meeks <michael@ximian.com>
1278 * cspi/spi.h: add missing prototype.
1280 * libspi/registry.c (spi_listener_struct_new): fix sig.
1282 * test/Makefile.am: add test-simple
1284 * test/test-simple.c: add
1286 * test/test.sh: add.
1288 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1290 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1291 do it straight - since otherwise we often get an activation race.
1293 [ work before Bill duplicated a chunk of it ... ]
1294 2001-11-30 Michael Meeks <michael@ximian.com>
1296 * libspi/keystrokelistener.c
1297 (spi_keystroke_listener_class_init): fixup arg
1300 * libspi/eventlistener.c
1301 (spi_event_listener_class_init): ditto.
1303 * tests/test.sh: add.
1305 * cspi/spi-listener-impl.h: update macros.
1307 * cspi/spi-listener-impl.c
1308 (cspi_event_listener_remove_callback): add
1309 correct pre-conditions.
1311 * cspi/spi_main.c (SPI_exit): guard vs. double
1312 exits, exit the mainloop nicely.
1313 (SPI_event_main): make more sense.
1314 (SPI_init): move the atexit evilness here so we
1315 always do it (yuck).
1316 (SPI_event_main): upd.
1318 * test/simple-at.c: update for listener changes.
1320 * registryd/registryd.c (main): prune kruft.
1322 * libspi/libspi.h: upd.
1324 * libspi/eventlistener.[ch]: rename broken macros.
1326 * libspi/accessibleeventlistener.[ch]: remove.
1328 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1330 * test/test-simple.c: Add - automated tests.
1332 * cspi/spi-listener-impl.c (cspi_event),
1333 (cspi_key_event): add user_data to invoke.
1334 (cspi_keystroke_listener_finalize): impl.
1335 (cspi_keystroke_listener_class_init): upd.
1338 (createAccessibleEventListener),
1339 (AccessibleEventListener_addCallback),
1340 (createAccessibleKeystrokeListener),
1341 (AccessibleKeystrokeListener_addCallback): upd.
1343 * libspi/deviceeventcontroller.c
1344 (spi_device_event_controller_check_key_event): add public proto.
1347 (impl_accessibility_registry_deregister_global_event_listener):
1348 always init listeners.
1349 (_registry_notify_listeners): yes it is.
1351 * cspi/spi-listener-impl.c (cspi_key_event):
1353 (cspi_event_listener_finalize): impl.
1354 (cspi_event_listener_class_init): hook up.
1355 (event_handler_new, event_handler_free),
1356 (event_list_remove_by_callback): impl.
1357 (cspi_event_listener_remove_callback),
1358 (cspi_keystroke_listener_remove_callback),
1359 (cspi_keystroke_listener_add_callback),
1360 (cspi_event_listener_add_callback): upd.
1362 * libspi/keystrokelistener.c
1363 (keystroke_listener_object_finalize): kill
1364 (spi_keystroke_listener_class_init): upd.
1365 (spi_keystroke_listener_add_callback),
1366 (spi_keystroke_listener_remove_callback): kill,
1368 (impl_key_event): prune drasticaly.
1370 * libspi/eventlistener.c
1371 (spi_event_listener_add_callback),
1372 (spi_event_listener_remove_callback): kill, use
1374 (impl_accessible_event_notify_event): upd.
1375 (spi_event_listener_object_finalize): remove.
1377 * libspi/Makefile.am: use eventlistener.[ch]
1379 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1381 * libspi/registry.c (_registry_notify_listeners):
1382 Changed listener loop iteration to use preferred convention.
1383 Got rid of string memory leaks caused be calling g_strconcat
1384 inside function calls.
1386 * libspi/registry.c (parse_event_type):
1387 Stopped g_strconcat memory leaks, free the g_strsplit return,
1388 g_strdup the split pieces when used, etc.
1390 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1393 Change method 'compare' to return a 'difference set' rather than
1394 taking a StateSet as an out parameter (more Java-friendly).
1396 * idl/Accessible.idl:
1397 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1399 * idl/Component.idl:
1401 Changed methods 'getExtents' and 'getImageExtents' in these
1402 interfaces to return a BoundingBox structure.
1403 (getPosition and getSize are redundant and possibly should be
1404 removed, rather than creating a corresponding Point struct.)
1406 * cspi/spi_component.c:
1407 Modify implementation of getExtents to reflect the above IDL
1412 Add (missing) AccessibleImage_getExtents () API.
1414 * docs/reference/cspi/at-spi-cspi-sections.txt:
1415 Added AccessibleImage_getImageExtents () to docs.
1417 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1419 * idl/Component.idl:
1420 Added two methods, getLayer () and getMDIZOrder (), to reflect
1421 the new ATK methods atk_object_get_layer and
1422 atk_object_get_mdi_z_order. (Which arguably should be part of the
1423 AtkComponent API and AtkObject). Also added an enum,
1424 ComponentLayer, for the first method's return value.
1426 * libspi/component.c:
1427 Added implementations for these methods.
1429 * cspi/spi_component.c:
1431 Added cspi binding methods for above,
1432 AccessibleComponent_getLayer() and
1433 AccessibleComponent_getMDIZOrder().
1434 Added cspi enum 'AccessibleComponentLayer'.
1436 * docs/reference/cspi/at-spi-cspi-sections.txt:
1437 Added above methods to docs.
1441 Changed typedef for 'boolean' type (and all references to it) to
1442 SPIBoolean, to avoid keyword clashes with C++.
1445 Changed usages of 'boolean' to SPIBoolean.
1447 * test/keysynth-demo.c:
1448 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1449 app), except where SPIBoolean is required by the callbacks API.
1451 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1453 * cspi/spi_registry.c:
1454 Removed obsolete X event loop for passive keygrabs (which now
1457 * registryd/registryd.c:
1458 Removed unnecessary call to gdk_init() [cruft]. This also allows
1459 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1462 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1464 * docs/reference/cspi:
1465 Included docs for SPI_freeString in generated documentation.
1468 Renamed spi_freeString to SPI_freeString, for consistency. Added
1469 documentation for this function.
1472 Renamed spi_freeString to SPI_freeString, for consistency.
1473 Removed obsolete method declaration string_from_corba_string.
1475 * test/keysynth-demo.c:
1476 Small tweak to comments.
1479 Stopped leaking the strings returned from CSPI.
1481 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1483 Merged Michael's branch (see his ChangeLog entries below).
1485 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1486 bridge is alive, release on exit.
1488 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1489 Fix type check macro.
1492 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1495 Added is_gnome_app static, and method cspi_is_gnome_app(),
1496 so we can call the appropriate shutdown routine at exit in SPI_exit.
1498 * cspi/spi_main.c (cspi_object_ref):
1499 Duplicate the corba object passed in, since we're keeping it around.
1501 * cspi/SPI_exit.c, cspi_cleanup:
1502 Moved the releasing of the live refs to its own function, so we
1503 can put it in g_atexit (). Call the appropriate shutdown API
1504 depending on whethe calling client is a gnome app or not
1505 (bonobo_main_quit or CORBA_ORB_shutdown).
1507 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1508 Unref the listener when this method is called, after
1509 deregistration. Updated the API docs to note this behavior.
1511 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1512 Bugfixes: Ref the bonobo object when returning a parent or child
1513 reference, or an AccessibleRelation. Generally made sure
1514 BonoboObject refcount is incremented whenever we return an
1517 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1518 Fixed typo/bug in signal declaration.
1520 * libspi/accessibleeventlistener.h:
1523 * libspi/application.c (spi_application_new):
1524 Fixed leak in initialization.
1527 Remembered to increment bonobo-object refcount when returning
1528 children (applications) from desktop object.
1529 Added (empty) finalize method.
1531 * libspi/deviceeventcontroller.c:
1532 Hold a ref to listeners inside DEControllerKeyListeners.
1533 Added dec_key_listener_free() method. Use prepend instead of
1534 append in key_listener list. Fixed some refcount madness and
1535 leaks in the listener registration/deregistration - deregistration
1536 now calls dec_key_listener_free() on listeners, and on the
1537 temporarily constructed dec_key_listener() used to perform the search/match.
1539 * libspi/hypertext.c (spi_hypertest_finalize):
1540 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1541 class. Also fixed spi_hypertext_interface_new() and
1542 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1544 * libspi/hypertext.h:
1545 Removed pointless and duplicate AtkObject pointer from
1548 * libspi/keystrokelistener.c:
1549 Fixed incorrect type of keystroke_listener_parent_class,
1550 renamed keystroke_listener_object_finalize to
1551 spi_keystroke_listener_object_finalize.
1552 Fixed typo in signal declaration
1553 (spi_keystroke_listener_class_init).
1555 * libspi/registry.c:
1556 Added funcsions spi_listener_struct_new() and
1557 spi_listener_struct_free() to help with memory management issues.
1558 We also now use these methods instead of gnew + poking stuff into
1559 the struct, and to decrement listener counts/free the listeners
1560 when deregistering them.
1561 Fix more refcount bugs in getDesktop() and
1562 getDeviceEventController().
1565 De-ref the desktop after enumerating the applications. Explicitly
1566 decrement the refcounts on the created listeners on exit (using
1567 _unref for keystroke listeners, and via the
1568 deregisterGlobalEventListenerAll command for other event
1571 2001-11-27 Michael Meeks <michael@ximian.com>
1573 * cspi/spi-listener.h: fixup enum.
1575 2001-11-27 Michael Meeks <michael@ximian.com>
1577 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1578 (cspi_keystroke_listener_new): Use the cspi variants.
1580 2001-11-26 Michael Meeks <michael@ximian.com>
1582 * test/keysynth-demo.c: fix 2 compile warnings, missing
1585 * test/simple-at.c (report_focussed_accessible),
1586 (report_focus_event, report_button_press),
1587 (check_property_change, is_command_key),
1588 (report_ordinary_key_event, report_command_key_event): upd.
1590 * util/mag_client.h: include pre-requisites.
1592 * libspi/accessibleeventlistener.c
1593 (spi_event_listener_object_finalize): free any lingering
1596 * libspi/keystrokelistener.c
1597 (keystroke_listener_object_finalize): ditto.
1599 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1600 callbacks, with cspi types.
1602 * cspi/spi_event.c (createAccessibleEventListener): chain to
1603 (AccessibleEventListener_addCallback): here.
1604 (createAccessibleKeystrokeListener): chain to
1605 (AccessibleKeystrokeListener_addCallback): here.
1607 * libspi/keystrokelistener.c
1608 (spi_keystroke_listener_class_init): add signal.
1609 (impl_key_event): emit the event.
1610 (boolean_handled_accumulator): impl.
1611 (marshal_BOOLEAN__POINTER): add, gack.
1613 * libspi/accessibleeventlistener.c
1614 (spi_event_listener_class_init): add signal.
1615 (impl_accessible_event_notify_event): emit the signal &
1616 make the loop efficient.
1617 (spi_event_listener_add_callback): prepend the callback.
1619 * libspi/accessibleeventlistener.h: add an 'event' signal,
1620 decl type on callback.
1622 * libspi/keystrokelistener.h: ditto.
1624 * cspi/spi-listener.h: make methods typesafe and
1625 make them use the new event typedefs.
1627 * test/simple-at.c (report_focussed_accessible):
1628 include mag_client.h
1629 Use *(void *)text_interface not the other thing.
1631 * configure.in: add gtk to registryd bits - since we use
1634 * util/magnifier.c: include libbonobo.h
1636 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1638 * test/keysynth-demo.c:
1639 Turned this into a simple scanning keyboard, to demonstrate the
1640 use of g_timeout_add () as a means of creating timers for
1641 scanning, and the use of GtkStyle for visually indicating when
1642 virtual keyboard elements are selected.
1644 keysynth-demo now listens to any keyboard keys with zero-valued
1645 keycodes (i.e. 'unused' keys) and interprets them as
1648 Reworked the shiftlatch code so that shift-down state isn't held
1649 for long periods (it's only synthesized immediately prior to
1650 the keysynth event it's modifying). Note that shiftlatch in this
1651 demo is a convenience, not intended to take the place of AccessX
1652 which is the better choice for getting 'sticky' modifier keys.
1654 * libspi/deviceeventcontroller.c:
1655 * at-bridge/bridge.c:
1656 * cspi/spi_registry.c:
1657 Removed some debug print stuff, and put other verbosity in #ifdef
1662 Implemented some more of the magnifier IDL for the simple
1663 magnifier: namely, getZoomRegionParams.
1664 Added mag_x and mag_y members to MagnifierData struct, aid of this
1666 Added GtkWindow::realize signal handler to magnifier, to keep it
1667 from receiving keyboard focus from the WM.
1669 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1671 * cspi/spi-private.h: my guess at what michael forgot
1672 before he ran off to NZ :-)
1674 2001-11-23 Michael Meeks <michael@ximian.com>
1676 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1677 comment out non existant method invoke so we link.
1679 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1680 use bonobo_exception_get_text for more friendly warnings.
1682 * cspi/spi.c (Obj_Add): move into spi_main & rename
1683 spi_object_add; kill spi.c
1685 * cspi/spi_registry.c
1686 (deregisterGlobalEventListener),
1687 (deregisterGlobalEventListenerAll),
1688 (registerGlobalEventListener): fix exception leaks.
1690 * cspi/spi_main.c (spi_exception): impl. helper, so we
1691 don't leak exceptions.
1693 * cspi/spi_selection.c
1694 (AccessibleSelection_deselectSelectedChild): return the
1697 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1698 (spi_registry): ditto.
1699 (SPI_init): guard against double inits.
1701 * cspi/*.c: use spi_ev (), and spi_registry () where
1702 appropriate - a temporary hack until we have something
1703 better. Use spi_object_add
1705 2001-11-22 Michael Meeks <michael@ximian.com>
1707 * cspi/Makefile.am: re organise, install the headers.
1709 * cspi/*.h: add G_BEGIN/END_DECLS
1711 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1714 Added non-preemptive keylistener for key events with no modifiers
1715 and shift-only modifier.
1717 * libspi/keystrokelistener.c:
1718 Removed some verbose diagnostics printout.
1720 * cspi/spi_registry.c:
1721 Fixed a bug that caused all key listeners to be registered as
1724 * libspi/deviceeventcontroller.c:
1725 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1726 for non-preemptive key masks.
1729 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1731 * docs/reference/idl/at-spi-idl-docs.sgml:
1732 * docs/reference/idl/at-spi-idl-sections.txt:
1733 * docs/reference/idl/at-spi-idl-overrides.txt:
1734 Added missing files.
1736 * docs/reference/Makefile.am:
1737 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1738 to scan the IDL files :-(
1743 Added .cvsignore files.
1745 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1747 * libspi/deviceeventcontroller.c:
1748 * libspi/keystrokelistener.c:
1750 * cspi/spi_registry.c:
1751 Added filters for KeySets, KeyEventSeq, and event types to key
1752 event dispatching, so listeners should only receive those events
1753 that they requested :-)
1755 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1760 * docs/reference:Makefile.am:
1761 * docs/reference/cspi:
1762 * docs/reference/cspi:Makefile.am:
1763 * docs/reference/cspi:tmpl:
1764 * docs/reference/cspi:tmpl:*.sgml:
1765 * docs/reference/idl:
1766 * docs/reference/idl:Makefile.am:
1767 * docs/reference/idl:at-spi-idl-sections.txt:
1768 * docs/reference/idl:at-spi-idl-docs.sgml:
1769 * docs/reference/idl:tmpl:
1770 * docs/reference/idl:tmpl:*.sgml:
1772 Restructured docs directory to allow separate 'reference' docs
1773 section, and forked idl and cspi docs. Added the sgml template
1774 files to CVS. Added the first sections/structural sgml for the
1777 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1779 * configure.in, libspi/Makefile.am: find libXtst.
1781 2001-11-21 Michael Meeks <michael@ximian.com>
1783 * test/accessx-gui.c: s/spi_value/value/ - doh.
1785 * libspi/base.[ch]: add.
1787 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1789 * idl/Accessible.idl:
1790 * idl/Application.idl:
1793 Started gtk-doc cleanup on IDL.
1795 * libspi/deviceeventcontroller.c:
1796 Added and connected non-preemptive key notification from the
1797 toolkits (in addition to the pre-emptive support from XServer
1798 which we had before, but which causes 'focus flashing'). Filters
1799 are presently limited to key modifiers and global/non-global,
1800 KeySets are presently ignored, as are KeyEvent masks.
1802 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1803 structs into the persistant structure rather than just storing
1804 pointers to things that might not persist across servant
1807 The XGrabKey call now does async keygrabs, because synchronous
1808 ones were deadlocking with GDK_event code in a very nasty way.
1810 Added boolean to internal method notify_keylisteners, to indicate
1811 whether the event came from the 'toolkit source' or the 'global
1812 (XServer) source' - this is used in the notification process to
1813 determine which listeners to send the event to.
1815 deviceeventcontroller.c is now warning-free.
1817 * libspi/registry.c:
1818 Fixed regression in application de-registration.
1819 Also fixed some really brain-dead weirdness having to do with
1820 event dispatching - event structs are now duplicated before being
1821 re-marshalled in the dispatch to listeners. This also fixes a
1822 Solaris build problem.
1825 2001-20-11 Michael Meeks <michael@ximian.com>
1828 (impl_accessibility_registry_deregister_global_event_listener):
1831 * libspi/deviceeventcontroller.c
1832 (spi_device_event_controller_check_key_event): return
1833 FALSE on no virtual method.
1835 * libspi/*..h: make includes work on a correctly pathed install.
1837 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1839 * libspi/application.h: kill unused ( and whacked out )
1840 gboolean *spi_application_set_id (AtkObject *app, long id);
1842 2001-20-11 Michael Meeks <michael@ximian.com>
1844 * libspi/*.[ch]: further convert to bonobo's type func
1845 macros, remove redundnant casts etc.
1847 * libspi/text.c s/accessibility_text/spi_text/g,
1848 re-order to de-cruft.
1850 * libspi/hypertext.c: re-order to kill a huge slew
1851 of redundant forward decls.
1853 * libspi/relation.c: ditto.
1855 * libspi/image.c: ditto.
1857 * */.cvsignore: update
1859 2001-20-11 Michael Meeks <michael@ximian.com>
1861 * libspi/deviceeventcontroller.c
1862 (_controller_register_with_devices): use g_getenv,
1863 kill stdlib.h include.
1865 * libspi/keystrokelistener.c
1866 (spi_keystroke_listener_get_type): kill
1867 (spi_keystroke_listener_class_init),
1868 (spi_keystroke_listener_init): rename to this.
1870 * libspi/text.c (impl_getAttributes): fix warning / bug.
1872 * libspi/*.[ch]: more headers, includes and over commenting.
1874 2001-20-11 Michael Meeks <michael@ximian.com>
1876 * libspi/*.[ch]: fixup headers, includes and over commenting.
1878 * libspi/image.c (impl__get_imageDescription): const
1879 correctness warning fix. remove redundant casting.
1881 * libspi/table.c (impl_getRowDescription): ditto.
1882 (impl_getColumnDescription): ditto.
1884 * libspi/libspi.h: add.
1886 2001-19-11 Michael Meeks <michael@ximian.com>
1888 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1890 * libspi/component.c (accessibility_component_get_type):
1891 rename to (spi_component_get_type): and macroify.
1892 (accessibility_component_init): rename to
1893 (spi_component_init): this
1894 (accessibility_component_class_init): rename to
1895 (spi_component_class_init): this
1897 * libspi/action.c (spi_action_get_type): kill, use the macro.
1899 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1902 * libspi/application.c (spi_application_object_event_listener),
1903 (impl_accessibility_application_register_object_event_listener):
1904 warning fixes / const understanding updates.
1906 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1909 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1911 * libspi/spi_accessible.c: Added docs and C bindings for
1912 AccessibleStateSet. (No implementations yet). Documentation
1913 coverage for C bindings now 100%. Made docs for event listeners
1918 boolean notifyListenersSync (in DeviceEventListener listener,
1919 in DeviceEvent event);
1921 oneway void notifyListenersAsync (in DeviceEventListener listener,
1922 in DeviceEvent event);
1924 Added DeviceEventListener and DeviceEvent structs (may deprecate
1925 KeyStroke and KeystrokeListener in favor of this generic
1926 event/listener framework for devices).
1928 * libspi/deviceeventcontroller.c:
1930 Changed some key listener code to take masks, etc., and paved the
1931 way for integration of toolkit/non-preemptive key events. Changed
1932 signatures of some internal methods.
1934 * at-bridge/bridge.c:
1935 Fixed regression connecting to interface signals, apparently
1936 caused by GTK+ changes.
1938 Added an internal bridge_state_listener to deal with
1939 property-change:accessible-state signals.
1941 Changed the key_listeners GList to store structs (including masks,
1942 etc.) instead of just CORBA_Objects (required for full
1943 implementation of key listener API).
1945 Connected the bridge to all currently supported Atk signals.
1946 Events now supported:
1947 object:property-change
1948 object:property-change:accessible-name
1949 object:property-change:accessible-state
1950 object:property-change:accessible-description
1951 object:property-change:accessible-parent
1952 object:property-change:accessible-value
1953 object:property-change:accessible-role
1954 object:property-change:accessible-table-caption
1955 object:property-change:accessible-table-column-description
1956 object:property-change:accessible-table-column-header
1957 object:property-change:accessible-table-row-description
1958 object:property-change:accessible-table-row-header
1959 object:property-change:accessible-table-summary
1960 object:children-changed
1961 object:visible-data-changed
1962 object:selection-changed
1963 object:text-selection-changed
1965 object:text-caret-moved
1967 object:row-reordered
1969 object:column-inserted
1970 object:column-reordered
1971 object:column-deleted
1972 object:model-changed
1974 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1976 * libspi/hyperlink.c,h:
1977 Fixed some broken stuff in hyperlink.
1979 * libspi/relation.h:
1980 * libspi/relation.c:
1981 * cspi/spi_accessible.c:
1982 Initial implementations of AccessibleRelation methods, and docs.
1984 * libspi/accessible.c:
1985 Fixed a bug that caused SEGV if an accessible
1986 object's description is NULL, and a client
1987 requests it. An empty string is now returned.
1989 * cspi/spi_editabletext.c:
1990 * cspi/spi_hypertext.c:
1992 * cspi/spi_hyperlink.c:
1996 Doc coverage now 95%.
1998 2001-16-11 Bill Haneman <bill.haneman@sun.com>
2000 One last namespacing revision:
2001 * libspi/accessibleeventlistener.[ch]:
2002 Renamed SpiAccessibleEventListener to SpiEventListener,
2003 (no need for two namespaces ;-)
2005 And lots of documentation fixes:
2007 * docs/at-spi-docs.sgml:
2008 Fixed 'underscore vs. hyphen' bug that was preventing
2009 the gtk-doc API docs from being automatically generated.
2012 * cspi/spi-listener.h
2014 * cspi/spi_accessible.c
2016 * cspi/spi_application.c
2017 * cspi/spi_component.c
2018 * cspi/spi_editabletext.c
2020 * cspi/spi_hypertext.c
2022 * cspi/spi_registry.c
2023 * cspi/spi_selection.c
2027 * docs/at-spi-docs.sgml
2028 * docs/at-spi-sections.txt
2030 Added and fixed up gtk-doc documentation in cspi.
2032 Interfaces now (fully) documented (subject to revision and enhancement):
2034 Event Listener Support
2036 AccessibleApplication
2040 AccessibleEditableText
2047 AccessibleRelationSet
2052 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2054 * at-bridge/bridge.c:
2055 Initial work for toolkit-level key snooper connection by bridge.
2060 New typedefs and fixes to support new namespacing, and cleaner
2061 separation of cspi bindings from libspi bonobo implementation.
2062 Removed inconsistent and extraneous Spi* namespace prefix that
2063 had crept into cspi headers.
2064 Lots of comment fixes that sed had missed.
2066 * cspi/spi-roletypes.h:
2067 * cspi/spi-statetypes.h:
2068 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2069 to AccessibleRoleType.
2071 * libspi/accessibleeventlistener.h:
2072 Fixed minor namespacing weirdness.
2074 * libspi/deviceeventcontroller.c:
2075 Reordered some internal API for device listeners.
2076 Changed the key registry final boolean to 'is_system_global'
2077 rather than 'is_synchronous', which is more descriptive of its
2079 Added spi_device_event_controller_new().
2080 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2082 * libspi/keystrokelistener.[ch]:
2083 Namespaced KeystrokeListener to SpiKeystrokeListener.
2084 Changed uses of keymasks to use SPI_ prefix, and did other
2087 * libspi/keymasks.h:
2088 Namespaced keymask constants with SPI_ prefix.
2090 * libspi/registry.c:
2091 Some warning fixes, and knock-on fixes from namespace changes.
2094 Added rules for accessx-gui test program.
2096 * test/accessx-gui.c:
2097 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2098 utility. It doesn't actually use at-spi, but it's still cool and
2101 * test/keysynth-demo.c:
2105 Fixes so that these test clients work properly with the namespaced
2106 libraries. (Incompletely tested for technical reasons, fixes may follow)
2109 2001-13-11 Michael Meeks <michael@ximian.com>
2111 * libspi/application.c
2112 (impl_accessibility_application_get_version),
2113 (impl_accessibility_application_get_toolkit_name):
2115 (impl_accessibility_application_set_id),
2116 (impl_accessibility_application_get_id): remove
2117 redundant casting code.
2119 * libspi/action.c (impl_getDescription): fix warnings.
2121 * libspi/accessible.c
2122 (impl_accessibility_accessible_get_parent),
2123 (impl_accessibility_accessible_get_child_at_index),
2124 (impl_accessibility_accessible_get_state),
2125 (impl_accessibility_accessible_get_relation_set):
2126 warning fixes & include action.h
2128 2001-13-11 Michael Meeks <michael@ximian.com>
2130 * *.[ch] fix bits I screwed up:
2132 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2133 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2135 2001-13-11 Michael Meeks <michael@ximian.com>
2137 * *.[ch] Namespace libspi into spi_ and Spi.
2139 2001-13-11 Michael Meeks <michael@ximian.com>
2141 * Makefile.am: dist & install at-spi-1.0.pc
2143 * libspi/Makefile.am: install into at-spi-1.0
2145 * idl/Makefile.am (idldir): install into at-spi-1.0
2147 * at-spi-1.0.pc.in: add.
2149 * configure.in: build it.
2151 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2153 * test/keysynth-demo.c:
2154 Use a 'realize' signal-handler to set the WM properties for
2155 the virtual keyboard, rather than making it a "POPUP" type
2156 override-redirect window (thanks to anders carlsson for that
2159 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2162 * test/keysynth-demo.c:
2163 Added new test of key synthesis, which creates a simple
2164 (mouse-operated) onscreen keyboard. It inserts key events into
2165 the currently-focused window, thus it does not grab keyboard focus
2168 * cspi/spi_registry.c:
2169 Added C binding for AT-SPI generateKeyEvent.
2171 * libspi/deviceeventcontroller.c:
2172 Added call to XFilterEvent so that key listener works with XIM (we
2173 hope). Added event_synth_type to generateKeyEvent, so that we can
2174 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2175 synthesize a press/release pair for KeySyms.
2177 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2179 * libspi/Makefile.am:
2180 * registryd/Makefile.am:
2181 (temporary) hack to include libXtst in libspi and registryd.
2182 (Needed for keystroke synthesis, see below).
2185 Improved API for registerKeystrokeListener, in accordance with
2186 discussions with Gnopernicus team and X server research.
2188 * libspi/registry.c:
2189 * libspi/deviceeventcontroller.c:
2190 * libspi/accessible.c:
2191 * libspi/keystrokelistener.c:
2192 Changes and fixes to support keylisteners for potentially
2193 consumed key events (that is, 'passive grabs').
2194 Added implementation for generateKeyEvent() [untested].
2197 Changes to registerKeystrokeListener() API, as above.
2198 Added deregisterGlobalEventListenerAll(), and
2199 deregisterKeystrokeListener(), which are needed for clean exit of
2201 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2202 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2204 * cspi/spi_registry.c:
2205 Added implementations of function prototypes mentioned above.
2207 * registryd/registryd.c:
2208 Added the key listener event source as a g_timeout(), to allow
2209 receipt of key events that are not caught by GDK (since GDK
2210 doesn't support passive keygrabs, this was necessary).
2213 Changed to attach a keylistener to 'Alt' keys, and
2214 respond to the following keycommands: Alt-M (toggle magnifier);
2215 Alt-F (toggle speech); Alt-Q (quit).
2216 Added an exit routine to deregister the listeners, and a key
2217 listener that prints some key info to the console when a key
2218 matches the listener mask (and is thus received by the listener).
2220 * util/idl/Magnifier.idl:
2221 Changes to magnifier API to support multiple zoom regions,
2222 non-uniform scaling in x and y, markDirty, and a host of other
2223 features that would be useful to magnification.
2226 * util/mag_client.c:
2227 * util/mag_client.h:
2228 * util/mag_control.c:
2230 Source code changes to support the above IDL changes.
2233 As above, and also changes to use a (slower) generic conversion
2234 path for colormap conversions, since the fast RGB conversions have been
2235 reported to fail for 16-bit displays.
2237 2001-10-26 Michael Meeks <michael@ximian.com>
2239 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2241 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2243 * at-bridge/Makefile.am: fix LDFLAGS.
2245 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2247 * at-bridge/bridge.c:
2248 Re-worked listeners for toolkit events, now we have signal
2249 and property listeners. Added a private method
2250 register_atk_event_listeners(), which registers with the
2251 various atk and gtk signals we need to monitor in order to emit
2253 Added emission hook for AtkObject:property-change events, to
2254 support the 'property listeners'.
2255 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2258 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2259 which emit warnings and exit, respectively, if CORBA errors occur
2260 during remote calls, and we now use these methods to check most of
2261 our CORBA calls in the C bindings.
2263 * cspi/spi_accessible.c:
2264 Changed AccessibleSelection_refSelectedChild() to
2265 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2266 now increment refcounts.
2268 * cspi/spi_component.c:
2269 Fixed some long pointer casts (dangerous!) to pass pointers to
2270 CORBA_longs of the proper type to the CORBA stubs, and copy the
2271 data into the longs that were passed into the C bindings code.
2273 * at-bridge/bridge.c:
2275 * libspi/accessible.c:
2276 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2277 hyperlinks, AtkHyperlink is an object type.
2279 * libspi/application.c:
2280 Added various conversions to and from "generic" event types and
2281 atk-specific types; this is really part of the 'bridge'
2282 implementation but is valid for all AtkObject-based accessibility
2285 * libspi/editabletext.c:
2286 Fixed nasty bug wherein editable text's finalize method was
2287 unref'ing tha AtkObject reference that the text parent class was
2288 about to unref _again_. There was also a nasty inheritance bug
2289 that meant that the AccessibleEditableText class was corrupt.
2291 * libspi/selection.c:
2292 Provided implementations for some selection API that was broken.
2294 * idl/Application.idl:
2295 Added registerObjectEventListener () method.
2298 Fixed a number of return values that were Bonobo_Unknowns from
2299 bonobo_object_corba_objref(), which I
2300 forgot to dup before returning. Changed instances of
2301 bonobo_object_corba_objref (bonobo_object(o)) to
2302 BONOBO_OBJREF(o), for concision and clarity.
2304 <2001-10-13 Louise Miller <louise.miller@sun.com>
2306 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2307 idl/Event.idl, idl/Registry.idl
2308 Changed these files to include Bonobo_Unknown.idl instead
2311 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2313 * libspi/component.c libspi/component.h:
2314 Fixed typo. Added assertions for object checks in
2315 AccessibleComponent code.
2317 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2319 * idl/Accessible.idl:
2320 Added 'isEqual (Accessible *object)'
2321 method for Accessible. (Not Yet Implemented).
2324 Changed signature of registerKeystrokeListener() to
2325 take a KeySet and KeyEventSeq so that specific keys and event
2326 types could be requested for monitoring, and added a flag
2327 is_synchronous so that either synchronous or asynchronous
2328 notification could be requested. (However this is not all
2329 implemented yet). This also meant adding two new typedefs,
2330 KeyEventSeq and KeySet.
2333 Added two new relations, RELATION_TOOLTIP_FOR and
2334 RELATION_LEAFNODE_OF.
2337 Added new state, STATE_HAS_TOOLTIP.
2339 * libspi/text.c, editabletext.c:
2340 Added new assertions to all casts of bonobo-objects from
2341 CORBA servants, to prevent Text API calls on non-text objects.
2342 Changed suspect casts of int-pointer types, so that we
2343 always send a valid CORBA_long pointer to the CORBA APIs that use
2344 in/out long parameters. We then have to copy from the CORBA_long
2345 into the regular long or int for return to the C bindings, or
2346 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2349 * libspi/deviceeventcontroller.c:
2350 Cleaned these sources up.
2352 Changed return type for getCharacterAtOffset to
2353 CORBA_unsigned_long, to allow for 32-bit characters.
2356 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2360 Fixed 'make dist' so that distro compiles...
2361 * libspi/keymasks.h:
2363 * cspi/spi-listener.c:
2364 KeystrokeListenerCB now returns a boolean.
2366 Added KeyEventType struct, and KeyStroke.
2367 Also added createKeystrokeListener(),
2368 KeystrokeListener_addCallback(),
2369 KeystrokeListener_removeCallback(), and added a keymask to
2370 registerKeystrokeListener().
2371 * cspi/spi_accessible.c:
2372 Changed numerous return types for interfaces from
2373 AccessibleComponent to Accessible<InterfaceName>; this was
2374 probably a cut-and-paste error.
2376 Implementations of new KeystrokeListener api (from spi.h,
2379 Changes to key modifier mapping.
2380 Created ControllerEventMask struct.
2381 Made DeviceEventController derive from Bonobo::Unknown.
2383 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2384 * libspi/deviceeventcontroller.c:
2385 Added a number of new internal (private) methods.
2386 * libspi/editabletext.c:
2387 * libspi/editabletext.h:
2388 Fixed a number of bugs related to the fact that
2389 editabletext inherits from text. Fixed the EditableText struct,
2390 the init() call, and use correct casts when calling Text methods
2391 from an EditableText object. Removed (duplicate) atko from the
2392 EditableText structure, we use the one in the parent Text
2393 structure via the casts mentioned above.
2394 * libspi/keystrokelistener.[ch]:
2395 * libspi/registry.c:
2396 Changes in support of keyboard handling (above).
2398 Keyboard handling, though partly functional, is still not
2399 recommended for at-spi client use as there is considerable
2400 work yet to be done.
2403 Changed some places where pointers to various int types
2404 are cast to be pointers to CORBA_long types and vice-versa:
2405 pointer casting is not safe so we pass pointers of the correct
2406 types and then cast the result before putting it into the target
2409 * libspi/text.h: minor typos corrected.
2411 We now speak not only the name of a Text element, but the
2412 first sentence of its content, when it receives focus.
2413 I also changed the text compression to 75% from 50%.
2414 * util/Accessibility_Util.server.in:
2415 Changed the default magnifier type to be a 3x vertical
2416 splitscreen magnifier (was previously a 2x horizontal one).
2418 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2420 * libspi/keystrokelistener.h:
2421 * libspi/keystrokelistener.c:
2422 Initial functional implementations of KeystrokeListener.
2425 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2427 Fixed string handling for NULL strings in libspi.
2428 Added spi_freeString to free strings returned by C bindings.
2430 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2432 * libspi/keystrokelistener.h:
2433 * libspi/keystrokelistener.c:
2434 Began (no-op) implementations of KeystrokeListener
2436 * libspi/deviceeventcontroller.c:
2437 * libspi/deviceeventcontroller.h:
2438 Began creating implementations of DeviceEventController,
2439 to handle keystroke and mouse event listening and
2441 * libspi/accessible.c:
2442 Stubbed-in the implementations for
2443 Accessibility_Accessible_getState and
2444 Accessibility_Accessible_getRelationSet.
2445 * libspi/registry.c:
2446 Improved de-registration process and fixed some bugs,
2447 deregistration now works correctly.
2449 Added initialization of applications list (to NULL).
2451 Reduced speech compression from 0.5 to 0.7, for demo.
2452 Changed call to gdk_window_set_decorations()
2453 to gtk_window_set_decorated().
2454 * at-bridge/bridge.c:
2455 Bridge now deregisters when app exits, via
2456 registration of a cleanup function
2457 with the g_atexit() call.
2458 Required making 'app' static, renamed 'this_app'.
2459 Fixed broken use of bonobo_init, passing argv wrongly.
2461 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2465 Created a new directory for
2466 accessibility-related utilities, primarily for
2467 testing and demo purposes, but with possible
2474 Onscreen magnifier utility that
2475 is implemented as a bonobo service.
2477 * util/mag_client.c:
2478 * util/mag_client.h:
2479 Client-side support (simple C bindings)
2480 for Magnification service
2482 * util/mag_control.c:
2483 Client program example for
2484 Magnification service
2486 * util/Accessibility_Magnifier.server.in:
2487 Bonobo-activation file for the
2488 Magnification service.
2491 * util/idl/Magnifier.idl:
2492 IDL defining the bonobo Magnification
2496 Modifications to use the bonobo-activated magnifier
2497 above, in place of trying to connect to an existing
2498 magnifier that uses socket-listening IPC.
2500 If env variable MAGNIFIER is set, a magnifier service
2501 will be started if one does not exist.
2503 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2504 * at-bridge/bridge.c:
2505 applied patch from Marc to build and run
2506 against new glib and gtk+ (seemed like a change
2507 to bonobo_init signature was made ?)
2509 made festival-server support turned off by default.
2510 Added support for a simple magnifier (off by default)
2511 which will be added to a 'util' directory later.
2512 * at-bridge/Makefile.am:
2513 Changed "application.h" header from a 'source'
2514 to a 'dependency' of libat-bridge.
2516 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2524 Added interface implementation c files to list of
2525 includes so they are included in libcspi.
2528 Changed prototype of AccessibleAction_doAction to return a
2530 Changed prototype of AccessibleTable_getCaption to
2531 return an Accessible.
2532 Changed prototype of AccessibleTable_getSelectedRows
2533 and AccessibleTable_getSelectedColumns to
2534 return a long (returns the number of selected rows
2535 or columns respectively).
2536 Changed name of AccessibleText_refRunAttributes to
2537 AccessibleText_getAttributes.
2538 Changed prototype of AccessibleText_getCharacterExtents to
2539 return a void rather than a boolean.
2540 Added support for a AccessibleCoordType parameter
2541 specifying what type of coordinates are desired.
2542 Added an AccessibleCordType parameter to
2543 AccessibleText_getPointAtOffset.
2545 * cspi/spi_accessible.c:
2546 Added code to return the outstanding interfaces from
2547 Accessible_queryInterface.
2549 * cspi/spi_action.c:
2551 Corrected call to getNActions to call the c binding
2554 * cspi/spi_editabletext.c:
2556 Changed name from setRunAttributes to setAttributes.
2558 * cspi/spi_hyperlink.c:
2560 Changed call to getNAnchors to correctly call the c
2561 binding for an attribute.
2563 * cspi/spi_hypertext.c:
2565 Changed getImageDescription to correctly call the
2566 binding for an attribute.
2568 * cspi/spi_selection.c:
2569 Changed getNSelectedChildren to correctly call the c
2570 binding for the attribute.
2571 Changed refSelectedChild to getSelectedChild.
2575 Changed getCaption to return an Accessible.
2576 Fixed calls which retrieve attributes.
2577 Changed refAt to getAccessibleAt.
2578 Changed getNSelectedRows and getNSelectedColumns to
2582 Changed getCharacterExtents and getPointAtOffset to accept an
2583 AccessibleCoordType.
2585 Changed calls which retrieve attributes.
2586 Changed refRunAttributes to getAttributes.
2591 * idl/Hyperlink.idl:
2592 Changed n_anchors attribute to nAnchors to keep naming
2593 convention consistent.
2596 Made Table inherit from Bonobo::Unknown.
2597 Added nSelectedColumns and nSelectedRows attributes.
2600 Made Value inherit from Bonobo::Unknown.
2602 * libspi/hyperlink.c:
2603 Change for nAnchors attributte name change.
2605 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2613 Added interface implementation c files to list of
2614 includes so they are included in libcspi.
2617 Changed prototype of AccessibleAction_doAction to return a
2619 Changed prototype of AccessibleTable_getCaption to
2620 return an Accessible.
2621 Changed prototype of AccessibleTable_getSelectedRows
2622 and AccessibleTable_getSelectedColumns to
2623 return a long (returns the number of selected rows
2624 or columns respectively).
2625 Changed name of AccessibleText_refRunAttributes to
2626 AccessibleText_getAttributes.
2627 Changed prototype of AccessibleText_getCharacterExtents to
2628 return a void rather than a boolean.
2629 Added support for a AccessibleCoordType parameter
2630 specifying what type of coordinates are desired.
2631 Added an AccessibleCordType parameter to
2632 AccessibleText_getPointAtOffset.
2634 * cspi/spi_accessible.c:
2635 Added code to return the outstanding interfaces from
2636 Accessible_queryInterface.
2638 * cspi/spi_action.c:
2640 Corrected call to getNActions to call the c binding
2643 * cspi/spi_editabletext.c:
2645 Changed name from setRunAttributes to setAttributes.
2647 * cspi/spi_hyperlink.c:
2649 Changed call to getNAnchors to correctly call the c
2650 binding for an attribute.
2652 * cspi/spi_hypertext.c:
2654 Changed getImageDescription to correctly call the
2655 binding for an attribute.
2657 * cspi/spi_selection.c:
2658 Changed getNSelectedChildren to correctly call the c
2659 binding for the attribute.
2660 Changed refSelectedChild to getSelectedChild.
2664 Changed getCaption to return an Accessible.
2665 Fixed calls which retrieve attributes.
2666 Changed refAt to getAccessibleAt.
2667 Changed getNSelectedRows and getNSelectedColumns to
2671 Changed getCharacterExtents and getPointAtOffset to accept an
2672 AccessibleCoordType.
2674 Changed calls which retrieve attributes.
2675 Changed refRunAttributes to getAttributes.
2680 * idl/Hyperlink.idl:
2681 Changed n_anchors attribute to nAnchors to keep naming
2682 convention consistent.
2685 Made Table inherit from Bonobo::Unknown.
2686 Added nSelectedColumns and nSelectedRows attributes.
2689 Made Value inherit from Bonobo::Unknown.
2691 * libspi/hyperlink.c:
2692 Change for nAnchors attributte name change.
2695 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2697 implementations-- made server implementations own AtkObject pointers
2698 rather than their respective AtkInterrface pointers to fix
2699 refcounting. AtkHyperlink is still broken.
2701 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2702 * cspi/spi_accessible.c:
2703 Added method Accessible_Role_getName(),
2704 and requisite string array (role_names).
2705 Added conversion string_from_corba_strin() call
2706 to Accessible_getName and _getDescription.
2707 * libspi/accessible.c:
2708 Added implementation for Accessible_getRole()
2710 Added festival support, used if environment variable
2713 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2715 * at-bridge/bridge.c:
2716 Now allocate Accessibility_Event using
2717 Accessibility_Event__alloc() instead of g_new0().
2718 * libspi/accessibleeventlistener.c:
2719 Initialize AccessibleEventListener->callbacks to NULL.
2720 Fixed accessible__event_listener_init() param, changed to
2721 "AccessibleEventListener *" type.
2722 Changed a bonobo_object_release_unref() call to
2723 Accessibility_Accessible_unref().
2724 * libspi/listener.c:
2725 Changed Bonobo_Unknown_unref to (equivalent)
2726 Accessibility_Accessible_unref.
2727 * libspi/registry.c:
2728 Changed bonobo_object_release_unref to
2729 Accessibility_Accessible_unref.
2731 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2734 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2735 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2736 spi-util.c spi-util.h
2737 Implementations for C bindings to remaining accessibility
2740 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2743 changed return value of Action from void to boolean to
2744 bring in line with ATK.
2747 Changed getText funcions to return "out" start and end offsets.
2748 Changed getAttributes to take and offset and return the start
2749 and end offset of the attribute run.
2750 Changed getOffsetAtPoint and getCharacterExtents to take an
2751 enum describing whether coordinates are window or screen.
2754 libspi/action.c libspi/action.h libspi/editabletext.c
2755 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2756 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2757 libspi/image.h libspi/selection.c libspi/selection.h
2758 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2759 libspi/value.c libspi/value.h
2760 Added server implementations for outstanding ATK interfaces
2761 not yet implemented.
2763 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2766 Added (missing) getName() method.
2767 Made nActions an attribute.
2768 * idl/EditableText.idl:
2769 Changed order of params in setAttributes.
2770 * idl/Hyperlink.idl:
2771 Removed getAnchor, added getURI.
2773 Changed attributes to methods, for efficiency
2774 (so that getting extents can be done in one call)
2775 * idl/Selection.idl:
2776 Changed nSelectedChildren to attribute, and re-indented.
2777 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2779 * idl/Text.idl: reformatted to match our coding style.
2780 (temporarily?) removed getRowColumnAtOffset().
2781 Changed text selection API to support multi-select and
2782 non-contiguous selections, as in ATK.
2783 * idl/Value.idl: changed some methods to attributes.
2785 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2787 * libspi/listener.c(impl_notify_event):
2788 BonoboUnkown_unref the source instead
2789 of bonobo_object_release_unref - the ORB
2790 handles the releasing.
2792 * configure.in: require ORBit-2.3.94 for
2795 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2797 Tagged CVS repository 'EA_1_0'.
2798 * README.EARLY_ACCESS:
2799 Alphabetized acknowledgements list, and
2801 Listed some known dependencies of at-spi.
2803 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2805 * docs/at-spi-docs.sgml:
2806 * docs/at-spi-sections.txt:
2807 * docs/at-spi-overrides.txt: (Added zero-length file)
2808 Documentation improvements - gtk-doc should build
2809 docs for all implemented C bindings now.
2812 * cspi/spi.c: (New file)
2813 * cspi/spi_event.c: (New file)
2814 * cspi/spi_registry.c: (New file)
2815 * cspi/spi_accessible.c: (New file)
2816 * cspi/spi_application.c: (New file)
2817 * cspi/spi_component.c: (New file)
2818 Split spi_main.c into six parts, and included them from
2819 "spi.c". This is a bit of a hack, probably temporary,
2820 but required by gtk-doc, apparently.
2822 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2825 * docs/at-spi-docs.sgml:
2826 * docs/at-spi-sections.txt:
2828 Initial checkins/modifications for gtk-doc generation.
2831 Added (missing) interface query methods to Accessible's C binding.
2833 Added GenericInterface type definition.
2835 Added query for AccessibleComponent interface to focus event handler.
2836 Added printout of bounding box for focussed component.
2837 * libspi/component.c:
2838 Added partial implementation for AccessibleComponent to C binding.
2839 * idl/Application.idl:
2840 * libspi/registry.c:
2841 * libspi/listener.c:
2842 * libspi/application.c:
2843 * libspi/application.h:
2844 Changed "ID" attribute type from string to long.
2846 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2850 Made method naming consistent: methods taking object args
2851 start with uppercase, other methods (except those using
2852 acronyms) start with lowercase. Underscores delimit between
2853 object names and method names:
2854 SPI_init() - uppercase since it starts with an acronym.
2855 getDesktopCount () - lowercase start since no object param0.
2856 Accessible_getName() - uppercase object type name, studlyCaps method
2860 Added gtk-doc documentation for all currently implemented
2861 methods in the C bindings API.
2863 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2865 * Makefile.am : changed build order to build test last.
2868 Changed "createEventListener" to "CreateEventListener".
2869 * libspi/accessibleeventlistener.c :
2870 Bugfix for addition of callbacks.
2871 * test/Makefile.am :
2872 * test/simple-at.c :
2873 Added new test that uses the C bindings API.
2875 * libspi/listener.c :
2876 * libspi/registry.c :
2877 * libspi/accessibleeventlistener.c :
2878 * at-bridge/bridge.c :
2879 Renamed member "target" of Accessibility_Event to "source",
2880 which is more descriptive.
2883 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2887 * cspi/Makefile.am :
2888 Added makefile support for at-spi/cspi directory.
2891 * cspi/spi-listener.h : (NEW FILE)
2892 Added support for/use of spi-listener.h.
2894 C bindings now build successfully, with no warnings.
2895 * libspi/accessibleeventlistener.h : (NEW FILE)
2896 * libspi/accessibleeventlistener.c : (NEW FILE)
2897 * libspi/Makefile.am :
2898 Added new object type "AccessibleEventListener"
2899 which inherits from Listener, and allows attachment
2900 of in-process callbacks (so that a client with a listening
2901 object instance can add functionality to the local
2902 implementation, dynamically).
2904 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2906 * libspi/accessible.c:
2907 Add implementation for get_index_in_parent().
2909 Added #include of "spi-roletypes.h", and
2910 added enumerated type AccessibleCoordType.
2911 Added definition for KeystrokeListener (function type).
2914 * cspi/spi-statetypes.h :
2915 * cspi/spi-roletypes.h :
2917 Added these headers, used by spi.h.
2919 Added code (NOTE: not yet built by make).
2921 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2923 * libspi/Makefile.am: generate imodule
2924 at the same time as other idl compiler
2927 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2928 * libspi/registry.c :
2929 * libspi/application.c :
2930 * idl/Application.idl :
2931 Made registration with toolkit an application method,
2932 which is required since each app has its own toolkit static
2933 environment. Thus the bridge must register for
2934 notification of toolkit events from each application in turn.
2935 Toolkit notifications are now successfully registered for, and
2936 sent to the listening at client.
2938 Changed toolkit event string to use hyphens rather than underscores.
2939 * libspi/listener.c :
2940 listner now gives more info in debug mode - it reports the
2941 name of the event received, as well as the name of the source.
2944 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2946 * libspi/registry.c :
2947 added more implementation for toolkit events.
2948 Fixed bug such that toolkit event registrations
2949 (via atk) use the whole event name string, not
2951 Removed a useless call to an ORBit_ method.
2952 * at-bridge/bridge.c :
2953 Removed unused local sbuf[] variable.
2955 We now register for Gtk:GtkWidget:button_press_event
2956 events as well as "focus:" events.
2958 Add some more API from Registry.idl that was missing,
2959 for keystroke listening, keystroke and mouse event
2960 synthesis, and enumeration of accessible desktops.
2962 2001-08-16 Michael Meeks <michael@ximian.com>
2964 * configure.in: use AM_GLIB_GNU_GETTEXT.
2966 * Makefile.am (SUBDIRS): kill intl.
2968 2001-08-15 Michael Meeks <michael@ximian.com>
2970 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2972 * configure.in: upd.
2974 * configure.in: depend on a recent bonobo-activation that
2975 will find our server files ...
2977 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2979 * libspi/accessible.c : accessible_new() :
2980 Now we add the Component interface via bonobo_object_add_interface,
2981 if the contained AtkObject implements AtkComponent.
2982 * libspi/accessible.h : now include "component.h"
2983 * libspi/component.h :
2984 * libspi/component.c : added files - implementation of
2985 bonobo wrapper object for Accessibility/Component
2986 * libspi/listener.c :
2987 Added test code to check for Accessibility/Component:1.0
2988 interface and report whether it is implemented by the
2990 * libspi/registry.c :
2991 Now we check for not only the hash of the whole event
2992 string before relaying the event, we also check the
2993 "minor" event string (without the detail string).
2994 This allows event listeners to be registered against
2995 all events of a certain major+minor type, or just
2996 against a specific major+minor+detail type.
2997 * libspi/accessible.c :
2998 Added implementations for Accessible:get_parent(),
2999 Accessible:getChildCount(), and Accessible:getChildAtIndex().
3000 * libspi/registry.c :
3001 * libspi/listener.c :
3002 Replaced calls to Accessibility_Accessible_ref() and
3003 Accessibility_Accessible_unref() with
3004 calls to bonobo_object_dup_ref() and
3005 bonobo_object_release_unref(), so that the CORBA object
3006 is dup-ed and released when relayed, as well as the bonobo object.
3008 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3010 * libspi/Makefile.am,
3011 registryd/Makefile.am,
3012 at-bridge/Makefile.am.
3013 test/Makefile.am, configure.in:
3014 reverse previous changes.
3016 * /idl/Image.idl: fix typo.
3018 * test/Makefile.am: put DEBUG_FLAGS
3021 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3023 * test/app.c: use argv[0] instead of
3026 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3028 * libspi/Makefile.am,
3029 registryd/Makefile.am,
3030 at-bridge/Makefile.am.
3031 test/Makefile.am, configure.in:
3032 cleanup, replace individual LIBS/CFLAGS with
3033 AT_COMMON_{LIBS|CFLAGS}.
3037 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3039 * configure.in, libspi/Makefile.am:
3040 Change IDL path checking for bonobo-activation
3043 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3045 * registryd/registry.c : separated event listeners to use
3046 3 separate lists (focus, window, toolkit). Began testing
3047 event names against hashes before relaying events.
3048 * test/at.c : now register for events of type "focus:"
3049 * test/app.c : now generate events of type "focus:"
3050 * at-bridge/bridge.c : register with ATK for focus events,
3051 and we now relay those focus events to any "focus:" listeners.
3052 This now works with the bridge as a GTK_MODULE when running test/at.
3053 * libspi/registry.c :
3054 * libspi/listener.c :
3055 now we ref event sources before propagating, and unref on receipt.
3056 * libspi/registry.c :
3057 some changes to internal structs, to support event typestring hashes.
3058 * text/app.c : changed the way the appname is generated.
3059 * cspi : added directory that will hold the C bindings library for
3060 non-CORBA/bonobo-savvy clients.
3061 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3062 * idl/Component.idl : added in parameter to indicate coord system for
3063 geometry-related calls.
3064 * idl/Hyperlink.idl : added readonly n_links attribute
3065 * idl/Image.idl : changed methods to attributes.
3067 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3069 * at-bridge/Makefile.am: link against
3070 ../libspi/libspi.la instead of -lspi.
3072 * at-spi/test/app.c: include
3073 bonobo-activation.h. Use a default appname
3074 if one is not provided.
3076 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3078 * idl/Registry.idl : temporarily changed register_Application
3079 to oneway, to work around issue with initial registration
3081 * idl/Application.idl : changed attribute "id" from readonly
3082 to read-write, since it needs to be assigned by Registry.
3083 * registryd/registryd.c : added call to set application id
3085 * registryd/registry.c : changed de-registration procedure to
3086 use CORBA_Object_hash() to find matching object ref in application
3087 lists and listener lists.
3088 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3089 began distinguishing between event types (work in progress).
3091 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3094 * libspi/application.c:
3095 Added implementations for get/set id, get_toolkitName,
3097 * registryd/registryd.c :
3101 Converted from use of OAF to bonobo-activation.
3102 * libspi/desktop.h :
3103 * libspi/desktop.c :
3105 Removed references to atksimpleobject, since base atkobject
3106 implementation now provides functionality we need.
3107 * libspi/atksimpleobject.c :
3108 * libspi/atksimpleobject.h :
3113 * at-bridge/Makefile.am
3114 * at-bridge/bridge.c
3117 Added directory "bridge" and contents, and added dependencies
3118 in Makefile.am/configure.in.
3119 Initial checkin of "at-bridge".
3120 This code is a GTK_MODULE which automatically registers
3121 GTK+ apps with the accessibility registry, using an object
3122 reference to the root ATK object.
3124 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3126 * po/Makefile.in.in: Remove. Again. If this
3127 doesn't get autogenerated - you need to update
3130 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3132 * po/Makefile.in.in: Add. Again.
3134 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3136 * libspi/accessible.c : added support for 'description' property.
3137 * libspi/accessible.c
3139 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3140 (since the two are now equivalent in libbonobo)
3148 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3149 Bonobo::Unknown as does Accessibility::Accessible.
3150 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3151 interface with Bonobo::Stream, since it was redundant with it.
3152 (The Stream returned by a StreamableContext object is expected to
3153 implement only a subset of Bonobo::Stream)
3155 2001-07-28 Anders Carlsson <andersca@gnome.org>
3157 * libspi/accessible.c (accessible_object_finalize): Change
3158 g_free to g_object_unref since the AtkObject is a GObject.
3160 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3162 * idl/Accessibility.idl: add new IDL files
3165 * idl/Action.idl: Definitions of actionable UI object
3166 * idl/Component.idl: Definitions of UI component geometry, etc.
3167 * idl/Hyperlink.idl: Defs of hyperlink behavior
3168 * idl/Image.idl: Def of accessible image
3169 * idl/Selection.idl: Definition of UI object with selectable children
3170 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3171 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3172 * idl/Text.idl: Interface defs for UI elements with complex textual content
3173 * idl/Value.idl: Definition of UI element that is a value controller or display
3175 2001-07-27 Michael Meeks <michael@ximian.com>
3177 * po/Makefile.in.in: remove autogenerated file from CVS.
3179 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3182 * idl/Registry.idl: include guard.
3184 * idl/Accessibility.idl: Add, and include all the other IDL
3187 * idl/*.idl: remove mass of pragmas etc.
3189 2001-07-26 Michael Meeks <michael@ximian.com>
3191 * registryd/Makefile.am (registryd_SOURCES): remove
3194 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3196 * libspi/.cvsignore, registryd/.cvsignore,
3197 test/.cvsignore: updated.
3199 * po/Makefile.in.in: gettext update.
3201 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3203 * initial CVS checkin
3205 2001-06-29 Michael Meeks <michael@ximian.com>
3207 * configure.in: add AM_CONFIG_HEADER to gen config.h