1 2002-01-08 Michael Meeks <michael@ximian.com>
3 * registryd/registry.c (parse_event_type): remove strndup.
5 * libspi/Makefile.am (libspi_la_SOURCES): remove
6 sources already included in the headers section.
10 * libspi/spi-private.h: add.
12 * registryd/registry.c: update to moved list iterators.
14 2002-01-05 Michael Meeks <michael@ximian.com>
16 * test/simple-at.c (main): upd. auto-module set to atk-bridge
18 * test/test-simple.c (main): ditto.
20 2002-01-04 Michael Meeks <michael@ximian.com>
22 * libspi/accessible.c (spi_accessible_new): remove 2nd,
25 * registryd/registry.c
26 (get_listener_list): impl.
27 (impl_accessibility_registry_register_global_event_listener):
28 re-impl. to simplify using ~, remove dodgy const cast off.
29 (parse_event_type): constify.
30 (impl_accessibility_registry_deregister_global_event_listener_all):
31 re-write, more efficiency and simplicity, kill re-enterancy
33 (compare_listener_corbaref, compare_corba_objects),
34 (compare_listener_quarks): define out.
35 (impl_accessibility_registry_deregister_global_event_listener):
36 re-write for effiency, and nail re-enterancy hazard.
37 (impl_accessibility_registry_get_desktop_list): impl.
38 (re_enterant_list_delete_link): impl.
39 (re_enterant_list_foreach): impl.
40 (remove_listener_cb): impl.
41 (_registry_notify_listeners): kill.
42 (notify_listeners_cb): impl.
44 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
45 (SPI_getDesktopList): impl.
47 * test/test-simple.c (test_desktop): test the methods.
49 2002-01-03 Michael Meeks <michael@ximian.com>
51 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
52 keystrings since we free them
53 (SPI_freeAccessibleKeySet): in here.
55 * libspi/accessible.c (spi_accessible_new): kill warning,
56 wonder what is going on with the constructor here.
58 2002-03-01 Bill Haneman <bill.haneman@sun.com>
60 * libspi/accessible.c (spi_accessible_new ()) :
61 Added check to see if AtkObject is an SpiRemoteObject before
62 creating an SpiAccessible.
64 2002-05-01 Bill Haneman <bill.haneman@sun.com>
66 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
67 Enable keygrabs using the Control modifier, now that they are
68 working properly (they were previously disabled).
71 Change the command keygrab for this demo to "Control+Alt", so as
72 to conflict with fewer other key commands on the system; this
73 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
75 Removed a pointlessly-chatty keylistener for unshifted keys
76 (shifted keys are still reported).
78 2002-02-01 Bill Haneman <bill.haneman@sun.com>
80 * libspi/remoteobject.h:
81 * libspi/remoteobject.c:
82 Added definitions for special AtkObject subtype, required for
83 support of remote components (specifically, used by BonoboControl
84 accessibility implementation).
86 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
88 * cspi/spi.h: synched relation types with ATK
90 * cspi/spi_accessible.c: Added implementations of
91 AcccessibleRelation_* methods
93 * idl/Accessibility_Relation.idl: added getRelationTypeName
94 method. Synched known relation types with ATK. Allowed for
95 relation type extension with the RELATION_EXTENDED type.
97 * libspi/relation.c: Provided implementations for
98 AccessibleRelation methods.
100 2002-01-01 Bill Haneman <bill.haneman@sun.com>
102 API tweaks for today's API 'freeze'.
105 Added placeholder functions to allow future compatible expansion
106 of the IDL interfaces.
108 * idl/Accessibility_Registry.idl:
109 Changed generateKeyEvent to generateKeyboardEvent. Changed
110 signature of this method to accept an optional keystring in
111 parameter (for complex text input synthesis) and changed use of
112 simple 'boolean' parameter in registerKeystrokeListener to a
113 struct, EventListenerMode.
115 * cspi/spi_accessible.c:
117 * cspi/spi_streamablecontent.c:
118 Added references to AccessibleStreamableContent interface, and
119 definition and implementation of AccessibleStreamableContent
122 * cspi/spi_registry.c:
124 Changed generateKeyEvent API to generateKeyboardEvent,
125 taking a new (optional) keystring parameter to support complex
130 Renamed directory (to better reflect its actual purpose, bridging
131 from at-spi to ATK). The .so module is also now named
134 * idl/Accessibility_Hypertext.idl:
135 * libspi/accessible.c:
136 * libspi/hypertext.h:
137 * libspi/hypertext.c:
138 Changed Accessibility_Hypertext to *not* derive from
141 * cspi/spi_registry.c:
142 Added list of legal event type names for 'window' events, which
143 completes the registry event API.
145 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
147 * at-bridge/bridge.c: Added registration for separate
148 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
149 signals. If either of the first two parameters to the generic
150 bridge signal handler are ints, they are passed on as event
151 details. This allows an AT to determine what text was inserted.
153 2001-12-21 Bill Haneman <bill.haneman@sun.com>
155 * registryd/deviceeventcontroller.c:
156 Fixed regressions in generateKeyEvent caused by the removal of
157 gdk_init from registryd; we now use pure X calls to connect to the
158 display, which makes sense because deviceeventcontroller already
159 uses a fair bit of X API (should eventually be migrated to a
160 'portability layer').
162 * registryd/desktop.c:
163 Fixed minor regression in spi_desktop_init, changed the way the
164 desktop name is being set to work with new spi_base API
165 (gobject-based, rather than AtkObject-based).
167 * registryd/Makefile.am:
168 Minor revision of makefile to use XTST_LIBS variable rather than
169 hard-wiring the Xtst LD_ADD element.
171 * test/keysynth-demo.c:
172 Tweaked an output message; added initialization of the
173 'keystrings' member of the "switch listener" key_set.
176 Squashed compile-time warning.
178 * libspi/accessible.c:
179 Cosmetic and formatting fixes, renamed a static method.
181 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
183 * libspi/accessible.c
185 * libspi/application.c
189 * libspi/editabletext.c
197 * registryd/desktop.c:
198 Changed SpiBase to contain a GObject pointer rather than an AtkObject
200 2001-12-17 Bill Haneman <bill.haneman@sun.com>
202 * idl/Accessibility_Registry.idl:
203 Added boolean member 'is_text' to DeviceEvent. This is for the
204 use of key events, and helps prevent ambiguity between composed
205 key strings and keysym names, since both may potentially be
206 returned in the 'event_string' member.
208 * at-bridge/bridge.c:
209 * registryd/deviceeventcontroller.c:
210 Use the 'is_text' member when notifying device event listeners.
211 Knon issue: composed characters are not dealt with correctly by
212 the global key listener implementation yet.
214 2001-12-17 Bill Haneman <bill.haneman@sun.com>
216 * at-bridge/bridge.c:
217 Namespaced local static methods to spi_atk_bridge_* where
218 previously named bridge_*, and spi_* elsewhere.
220 * at-bridge/bridge.c:
221 * cspi/bonobo/cspi-bonobo-listener.c:
222 Added demarshalling/conversion for string member of
223 Accessibility_DeviceEvent to AccessibleKeystroke.
225 * registryd/deviceeventcontroller.c:
226 Added code to fill the Accessibility_DeviceEvent key string value
227 member for global key events (i.e. from XGrabKey), to match
228 behavior of Accessibility_DeviceEvent from the toolkit key events
229 from the bridge. Fixed timestamp in global key event notifications.
232 Added printout of key event's string value to
233 report_ordinary_key_event, for demo/debugging purposes.
235 2001-12-15 Bill Haneman <bill.haneman@sun.com>
237 * idl/Accessibility_Registry.idl:
238 Removed Accessibility_KeyStroke structure in favor of generic
239 Accessibility_DeviceEvent structure.
240 Changed Accessibility_ControllerEventMask from a struct to an
243 * at-bridge/bridge.c:
244 Changed APIs to use DeviceEvent structure as above, and removed
245 bogus casting between these event structures.
247 * cspi/spi-listener.h:
248 Added keystring member of AccessibleKeystroke structure, to enable
249 matching on event "names" rather than only hardware codes and
253 Added keystrings member of AccessibleKeySet struct, to allow
254 matching on event names (as above).
255 Added declarations for SPI_createAccessibleKeySet and
256 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
257 event modmasks directly as unsigned ints rather than structs with
258 refcounts, in the DeviceEventController methods.
260 * cspi/spi_registry.c:
261 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
263 * cspi/spi-roletypes.h:
264 Added documentation of newly added SPI Roles.
266 * cspi/bonobo/cspi-bonobo-listener.c:
267 Changes in support of API changes above.
269 * libspi/accessible.c:
270 Converted APIs to use DeviceEvent structure (see IDL changes
273 * registryd/deviceeventcontroller.c:
274 Added DEControllerGrabMask structure to track keygrabs not only by
275 modmask but by keyset as well; this allows us to do "global"
276 (i.e. X) keygrabs on a per-key or keyset basis rather than always
277 grabbing on AnyKey and then filtering after-the-fact.
278 Bugfixes for event filtration mean that we don't get false matches
279 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
281 * registryd/deviceeventcontroller.c:
282 Namespaced a number of static methods to use spi_ prefix. Major
283 revision to internals of global (i.e. X) key grabs.
285 * registryd/deviceeventcontroller.h:
286 Removed keymask_list and added keygrabs_list to
287 SpiDeviceEventController struct.
290 Added use of SPI_createAccessibleKeySet API when creating a
291 listener for only one key. Attach a listener to "shift spacebar
292 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
293 X key event names to SPI key event names, so that listeners are
294 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
296 * test/keysynth-demo.c:
297 Changed (incorrect) use of X key event names (KeyPressed,
298 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
301 2001-12-12 Bill Haneman <bill.haneman@sun.com>
303 * libspi/accessible.c:
304 Convert all AtkRole enumerations to Accessibility_Role enums when
305 getting a role from an AtkObject.
307 * cspi/spi_accessible.c:
308 Complete the conversion of Accessibility_Role enums at runtime to
309 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
310 role enums correctly match those given in spi-roletypes.h.
311 Re-synchronize the local names list for AccessibleRole_getName ().
312 AccessibleRole_getName is now deprecated, since it duplicates the
313 more reliable Accessible_getRoleName.
314 Added some role types from Accessibility_Role.idl.
316 * idl/Accessibility_Role.idl:
317 Added some role types used by AtkRole.
319 2001-12-12 Bill Haneman <bill.haneman@sun.com>
322 * cspi/spi_registry.c:
324 * cspi/cspi-bonobo-listener.c:
325 Namespaced all methods that did not begin with an "SPI_" or
326 "Accessible" prefix to "SPI_".
329 Homogenized internal function namespace to "cspi_" for statics.
332 Patched tests to use the new CSPI API.
334 * docs/reference/cspi/at-spi-cspi-sections.txt:
335 Updated docs to reflect namespace changes, and added a number of
336 methods to the documentation.
338 * registryd/registry.c:
339 Changed use of strings and string hashes in listener event
340 matching and parse_event_string to use GQuark, which is guaranteed
343 * registryd/registry.h:
344 Squashed annoying warning.
346 * idl/Accessibility_Role.idl:
347 Extended range of available Accessibility_Role values.
349 * cspi/spi_accessible.c:
350 Re-ordered role names.
352 2001-12-12 Bill Haneman <bill.haneman@sun.com>
354 * idl/Accessibility_Value.idl:
355 Revert use of union back to CORBA_double, since the double type is
356 more efficient and can contain the other types without loss of
359 * idl/Accessibility_Accessible.idl:
360 Added method Accessibility:Accessible:getRoleName, to complement
361 Accessibility:Accessible:getRole.
363 * cspi/spi_accessible.c:
365 Added C binding for above, Accessible_getRoleName (), and changed
366 signature of Accessible_getRole () to return an AccessibleRole.
368 * cspi/spi-roletypes.h:
369 Changed AccessibleRole_getName to return a char * instead of a
370 const char *. This method is now at least temporarily deprecated
371 in favor of asking Accessibles for their RoleNames directly.
374 Revert to match Accessibility_Value.idl;
378 Change signature of AccessibleValue methods to use double rather
382 * cspi/spi_accessible.c:
383 Changed Accessible_getRole to return an AccessibleRole enum rather
384 than a UTF-8 string. The UTF-8 string can still be obtained via
385 AccessibleRole_getName ().
387 * test/test-simple.c:
388 Add test_action. Small fixup to match API change to Accessible_getRole.
391 Bugfix for get_action_from_servant ().
393 2001-12-11 Michael Meeks <michael@ximian.com>
395 * libspi/libspi.h: remove registry.h and
396 desktop.h, deviceeventcontroller.h
398 * libspi/Makefile.am: remove registry.[ch],
399 desktop.[ch], deviceeventcontroller.[ch]
401 * registryd/Makefile.am: add registry.[ch],
402 desktop.[ch], rename registryd.c to registry-main.c.
403 add deviceeventcontroller.[ch]
405 2001-12-11 Bill Haneman <bill.haneman@sun.com>
408 Replace setenv() call with putenv ().
410 * libspi/component.c:
411 Bugfix in AccessibleComponent_getExtents (),
414 2001-12-11 Michael Meeks <michael@ximian.com>
416 * libspi/image.c (impl_getImageExtents): impl.
417 (spi_image_class_init): upd.
420 (AccessibleImage_getImageDescription): fix daft bug
423 * test/test-simple.c (global_listener_cb): update
424 to only quit if not --poke
425 (main): catch --poke.
426 (validate_accessible): upd. dumping, call test_image
429 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
432 * idl/Accessibility.idl: update all IDL includes.
434 * idl/*.idl - rename to namespace - this sucks, blame
435 mjs' bad decision for oafd.
437 * test/test-simple.c (create_test_window): add more tests.
438 (create_tree): split this out.
439 (validate_accessible): bugfix.
441 2001-12-11 Michael Meeks <michael@ximian.com>
443 * cspi/bonobo/cspi-bonobo-listener.c:
444 (cspi_kestroke_listener_unref),
445 (cspi_event_listener_unref): impl. undoing previous
446 homenous environment - for Bill.
448 * cspi/spi_table.c (long_seq_to_array): use
451 * cspi/spi_main.c: split out all bonoboish bits into
454 * cspi/spi-impl.h: upd. typedefs.
456 * cspi/spi_registry.c: update to lowlevel API,
457 return booleans to indicate success in some places.
459 * cspi/spi_event.c: update to lowlevel API.
461 * cspi/bonobo/Makefile.am: add.
463 * cspi/bonobo/cspi-lowlevel.h: add
465 * cspi/bonobo/cspi-bonobo.c: add
467 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
469 * cspi/Makefile.am: remove spi-listener-impl.[ch],
470 (SUBDIRS): add bonobo, link in the libs.
472 * cspi/spi-util.c: kill this file.
474 * TODO: merge in my bits.
476 2001-12-11 Michael Meeks <michael@ximian.com>
478 * test/test-simple.c (test_value, test_table, main):
479 remove unused variables causing warnings.
481 * configure.in: cleanup checks - require gail.
483 2001-12-11 Bill Haneman <bill.haneman@sun.com>
486 Changed Value interface to use SValue (scalars) rather than
487 assuming all values are floats. This allows floats, doubles,
488 longs, shorts, and unsigned values to be manipulated.
489 Introduced Accessibility:SValue union.
492 Updated to use new API above, and to work correctly with GValues
493 of different types in AtkValue.
496 Updated to use new API above. cspi's API is as yet unchanged.
499 Updated the Value revision action item.
501 2001-12-10 Bill Haneman <bill.haneman@sun.com>
503 * test/test-simple.c:
504 Added test_table (GtkTreeView widget in test window to follow).
505 Un-commented test_value, added GtkRange widget.
506 Added GtkTreeView widget with GtkListStore. It passes regression
507 test but leaks one SPI object for some reason.
510 Fixed bug in impl__set_currentValue.
512 2001-12-10 Michael Meeks <michael@ximian.com>
514 * cspi/spi_text.c: audit for exception handling,
515 tolerating NULL object references safely etc.
517 * cspi/spi_value.c: ditto.
519 * cspi/spi_table.c (AccessibleTable_getSummary),
520 (AccessibleTable_getAccessibleAt),
521 (AccessibleTable_getRowHeader),
522 (AccessibleTable_getColumnHeader),
523 (AccessibleTable_getCaption): fix bugs hidden by
525 (long_seq_to_array): impl.
526 (AccessibleTable_getSelectedRows),
527 (AccessibleTable_getSelectedColumns): use it.
529 2001-12-10 Bill Haneman <bill.haneman@sun.com>
532 Added a TODO list (rough and short for now).
534 * cspi/spi_hyperlink.c:
535 * cspi/spi_hypertext.c:
536 Fixed macro name typos, and remove use of obsolete macro in
537 AccessibleHyperlink_getLink.
540 * cspi/spi_accessible.c:
541 * cspi/spi_application.c:
542 * cspi/spi_component.c:
543 * cspi/spi_selection.c:
546 Documentation fixes (removed return values from ref/unref methods).
548 2001-12-10 Michael Meeks <michael@ximian.com>
550 * cspi/spi_action.c: audit for exception handling,
551 tolerating NULL object references safely etc.
553 * cspi/spi_accessible.c: ditto.
555 * cspi/spi_component.c: ditto.
557 * cspi/spi_editabletext.c: ditto.
559 * cspi/spi_hyperlink.c: ditto.
561 * cspi/spi_hypertext.c: ditto.
563 * cspi/spi_image.c: ditto.
565 * cspi/spi_selection.c: ditto.
567 2001-12-10 Michael Meeks <michael@ximian.com>
569 * configure.in: use cspi/libspi.pc.in instead.
571 * Makefile.am (pkgconfig_DATA): upd. to match.
573 * test/simple-at.c (report_focus_event): kill hacks around
574 bad return values, use putenv not setenv
576 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
577 fire ChildGone - I killed it.
580 (impl_accessibility_component_get_extents): remove
583 * idl/Accessible.idl: kill ChildGone exception.
585 * cspi/*.[ch]: kill int return from ref / unref.
587 * cspi/spi_main.c (cspi_object_add_check): fold into
588 (cspi_object_add): here.
590 * cspi/spi_component.c (AccessibleComponent_getExtents):
591 handle exceptions elegantly.
593 * cspi/spi-private.h (cspi_check_ev_return),
594 (cspi_return_if_fail): impl.
596 * cspi/spi_accessible.c: use extensively.
597 (AccessibleStateSet_equals): add direct compare check.
599 * cspi/spi_selection.c: tolerate NULL objs, and check
600 exceptions before return.
602 * cspi/spi-util.c (cspi_warn_ev): rename to
603 (cspi_check_ev): this & don't pass ev in; no point.
605 2001-12-10 Michael Meeks <michael@ximian.com>
607 * test/test-simple.c: use putenv not setenv
608 (get_environment_vars): more chatty if you're not using
611 * test/simple-at.c: do the setenv so more people see the
614 2001-12-10 Bill Haneman <bill.haneman@sun.com>
617 Changed check of CORBA_environment on notification to be a warning
618 instead of an error for the moment, since we can recover from this
619 error when caused by a queued notification from a dead app.
622 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
623 used by all current implementors of AtkValue), and coerce to
624 CORBA_float. (Proper general case fix may require change to Value.idl).
626 2001-12-09 Bill Haneman <bill.haneman@sun.com>
630 * cspi/spi_accessible.c:
631 Documentation fixes: added user_data params to documentation for
632 listeners and callbacks.
634 * cspi/spi_accessible.c:
635 Changed AccessibleStateSet_compare to return a
636 StateSet rather than return the difference set into a third parameter.
639 2001-12-09 Bill Haneman <bill.haneman@sun.com>
642 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
643 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
647 Remove subdirectory po from SUBDIRS for now.
649 * at-bridge/bridge.c:
650 Beefed up a couple of debug printouts.
651 One-line fix for signal notification name formatting.
653 * libspi/accessible.c:
654 Added assertion to spi_accessible_new ().
656 * libspi/application.c:
657 Put #ifdef qualifiers around a printf.
660 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
662 * registryd/Makefile.am:
664 Replaces use of XML_I18N_MERGE_SERVER_RULE with
665 INTLTOOL_SERVER_RULE macro.
668 Added an event listener for several ATK signals, for
669 testing and debugging. Removed a few g_warnings.
670 Added test output if focussed item implements the Value interface.
672 * test/test-simple.c:
673 Added test_value () function (known not to pass at the moment, so
674 not actually called yet.
676 2001-12-08 Michael Meeks <michael@ximian.com>
678 * at-bridge/bridge.c (bridge_focus_tracker),
679 (emit_eventv): fix the same ref. leak.
680 (register_atk_event_listeners): don't leak.
682 * cspi/spi-listener-impl.c (cspi_event): more
683 protection from client code.
685 * test/test-simple.c (test_desktop): unref the app.
687 * test/Makefile.am: upd. TESTS.
689 * at-bridge/bridge.c (bridge_exit_func): release the registry.
691 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
693 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
695 * cspi/spi_registry.c: constify in strings.
696 (deregisterGlobalEventListenerAll): don't release the ref.
698 * cspi/spi.h: start removing redundant / conflicting
699 gtkdoc comments, making the API readable at a glance :-)
701 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
703 * test/keysynth-demo.c (keysynth_exit, main): upd.
705 * test/simple-at.c (main, simple_at_exit): upd.
707 * test/test-simple.c (unutterable_horror): kill.
708 (utterable_normal_derefs): kill.
709 (main): upd & do a setenv before gtk_init, so that we
710 can use memprof - and to save the pain of remembering
711 this, if we're running under memprof - don't exit.
713 * cspi/spi_main.c (SPI_exit): return exit status
715 (SPI_event_quit): impl.
716 (SPI_event_main): simplify.
717 (cspi_is_gnome_app): kill.
718 (SPI_init): kill isGNOMEapp arg.
720 * at-bridge/bridge.c (register_atk_event_listeners):
721 re-instate the unref.
722 (bridge_exit_func): don't re-activate the registry,
723 protect vs. theoretical re-entry, use the
724 AT_BRIDGE_SHUTDOWN env. var to determine whether to
725 assert a clean shutdown - for regression tests.
727 2001-12-08 Abel Cheung <maddog@linux.org.hk>
729 * configure.in: Comment out dummy i18n support for now,
730 otherwise it fails to build.
731 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
732 EXTRA_DIST. They are missing in tarball.
734 2001-12-07 Michael Meeks <michael@ximian.com>
736 * util/magnifier.c: kill bonobo activation reg. race.
739 (impl_accessibility_component_get_extents): make it match
742 * libspi/registry.c (_registry_notify_listeners):
743 re-remove X headers & reconcile conflicts.
744 (spi_listener_struct_free): bad conflict resolve.
745 (impl_accessibility_registry_register_application):
746 more bad merging fixed.
747 (impl_accessibility_registry_deregister_application): ditto.
748 (spi_registry_new): ditto.
749 (spi_registry_init): don't have an applications field.
751 [ merge fixups2 branch to here ]
752 2001-12-07 Michael Meeks <michael@ximian.com>
754 * test/simple-at.c (report_focus_event),
755 (report_focussed_accessible): remove g_warning debug.
757 2001-12-07 Michael Meeks <michael@ximian.com>
759 * test/test-simple.c (validate_tree): comment out some checks.
760 (test_desktop): app now not registered idly - horay.
762 2001-12-07 Michael Meeks <michael@ximian.com>
764 * cspi/spi_registry.c
765 (registerAccessibleKeystrokeListener): clean, stop it leaking
766 great swathes of memory, and device event controller references.
767 ensure we always pass valid sequences.
768 (deregisterAccessibleKeystrokeListener): ditto.
769 (generateKeyEvent): upd.
771 * at-bridge/bridge.c (bridge_key_listener): handle
772 registry dead exception gracefully.
773 (bridge_focus_tracker, emit_eventv): free ev.
775 * test/simple-at.c (report_focus_event): fix polarity.
777 * libspi/application.c (notify_listeners): kill the ev
778 argument, and make sure we init the ev we use.
779 (spi_application_object_event_listener): split out a chunk
780 (get_atk_object_ref): here & fixup.
781 (reverse_lookup_name_for_toolkit_event): make const.
782 (spi_application_toolkit_event_listener): fixup, kill leaks
785 * at-bridge/bridge.c (register_atk_event_listeners):
786 don't unref the noop object - causes grief.
788 * libspi/registry.c: remove the X headers.
789 turn off the debug churn.
791 * libspi/accessible.c (spi_accessible_new_return): only
792 release the ref if we are supposed to [doh]
794 * test/simple-at.c (report_button_press, report_focus_event):
795 guard vs. unexpected exit.
797 * at-bridge/bridge.c (gtk_module_init): prune printf.
798 (bridge_exit_func): fix app unref.
800 * libspi/Makefile.am: don't install registry or desktop.h
802 * libspi/*.h: update includes.
804 * libspi/application.h: don't include ourself, or
805 other redundant headers.
807 2001-12-06 Michael Meeks <michael@ximian.com>
809 * libspi/accessible.c
810 (get_accessible_from_servant): impl.
811 Upd. all CORBA impl.s to use it killing cut and paste.
813 * cspi/spi_main.c (cspi_cleanup): guard vs. double
815 (SPI_init): register atexit cleanup handler here.
817 2001-12-06 Michael Meeks <michael@ximian.com>
819 * at-bridge/bridge.c (gtk_module_init): g_error on
822 2001-12-06 Michael Meeks <michael@ximian.com>
824 * at-bridge/bridge.c (gtk_module_init): some sort of
825 confusing merge clash - reverted.
826 (bridge_idle_init): ditto.
828 * test/test-simple.c (main, utterable_normal_derefs):
829 merge from Bill - somehow not committed.
831 2001-12-06 Michael Meeks <michael@ximian.com>
833 * libspi/value.c (spi_value_class_init): upd.
834 (spi_value_finalize): kill.
836 * libspi/table.c (spi_table_finalize): kill.
837 (spi_table_interface_new): upd.
838 (spi_table_class_init): upd.
839 (get_table_from_servant): impl.
840 Upd. all CORBA impl.s to use it killing yet more cut and paste.
842 * libspi/selection.c (spi_selection_finalize): kill.
843 (spi_selection_interface_new): upd.
844 (spi_selection_class_init): upd.
845 (get_selection_from_servant): impl.
846 Upd. all CORBA impl.s to use it killing yet more cut and paste.
848 * libspi/relation.c (spi_relation_finalize): kill.
849 (spi_relation_class_init, spi_relation_new): upd
851 * libspi/image.c (spi_image_finalize): kill.
852 (spi_image_class_init): upd.
853 (spi_image_interface_new): upd.
854 (get_image_from_servant): impl.
855 Upd. all CORBA impl.s to use it killing yet more cut and paste.
857 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
858 (spi_hyperlink_finalize): kill.
859 (spi_hyperlink_new): upd.
860 (get_hyperlink_from_servant): impl.
861 Upd. all CORBA impl.s to use it killing yet more cut and paste.
863 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
864 (spi_hypertext_finalize): kill.
865 (spi_hypertext_class_init): upd.
866 (get_hypertext_from_servant): impl.
867 Upd. all CORBA impl.s to use it killing yet more cut and paste.
869 * libspi/editabletext.c (spi_editable_text_finalize): kill.
870 (spi_editable_text_interface_new): upd.
871 (get_editable_text_from_servant): impl.
872 Upd. all CORBA impl.s to use it killing yet more cut and paste.
874 * libspi/text.c (get_text_from_servant): impl.
875 All impls - update to use it killing more cut and paste,
876 also fix bad string returns on duff args ( a somewhat
877 impossible case to handle - but hey ).
878 (spi_text_construct): impl.
879 (spi_text_interface_new): upd.
880 (spi_text_object_finalize): kill.
883 (accessibility_component_object_finalize): kill.
884 (spi_component_class_init): upd.
885 (get_component_from_servant): impl. helper to kill cut & paste.
886 (impl_accessibility_component_contains):
887 (impl_accessibility_component_get_accessible_at_point):
888 (impl_accessibility_component_get_position):
889 (impl_accessibility_component_get_extents):
890 (impl_accessibility_component_get_mdi_z_order):
891 (impl_accessibility_component_get_layer):
892 (spi_component_interface_new): upd.
894 * libspi/action.c (spi_action_finalize): kill.
895 (spi_action_class_init): upd. inherit from SpiObject.
896 (spi_action_interface_new): upd.
897 (get_action_from_servant): impl. helper to reduce cut & paste.
898 (impl_getKeyBinding, impl_getName, impl_doAction),
899 (impl_getDescription): Use it everywhere.
901 * cspi/spi_main.c (get_live_refs): a pointer hash.
902 (spi_object_hash, spi_object_equal): comment out.
903 There are issues with CORBA object hashing that need
906 * libspi/application.c (spi_application_init),
907 (spi_application_new): upd.
909 * libspi/accessible.c (spi_accessible_object_finalize): kill.
910 (spi_accessible_class_init): upd.
911 s/accessible/object/ in epv methods.
913 2001-12-05 Bill Haneman <bill.haneman@sun.com>
915 * at-bridge/bridge.c:
916 Reorder the bridge initialization into the bridge gtk_module_init,
917 an immediate call to bridge_register_app, and an idle_add for
918 register_atk_event_listeners (the only code that *must* wait until
919 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
920 the activation, creates the application's Accessible object, and
921 queues the bridge_idle_init function. Restored call to
922 Accessibility_Registry_deregisterApplication().
923 Prior to making this call we obtain a new reference to the
924 registry, which is a temporary hack that helps us handle apps that
925 shut down the bonobo mainloop before we get there.
928 Fix string leakage in debug block, and don't segv if a an app
929 dies before its event notifications have been propagated.
932 Modify cspi_check_ev() to call g_warning() rather than g_error(),
933 as stopgap measure until we get proper exception handling when
934 objects die during or before interrogation.
938 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
939 Also changed default value of is_gnome_app to TRUE.
942 * test/keysynth-demo.c:
943 Changed use of SPI_init and SPI_event_main to reflect API change above.
946 Made report_focus_event check the warning value from getName
947 before reporting on focussed accessible; simplifies handling of
948 notifications from dead objects.
950 * test/test-simple.c: (Changes not in this patch since source is
953 2001-12-05 Michael Meeks <michael@ximian.com>
955 * registryd/registryd.c (main): protect against
956 bonobo-activation startup race condition.
958 * cspi/spi_main.c (cspi_object_add_check): cope
959 with the exception elegantly.
961 * idl/Accessible.idl: decl. ChildGone
963 * libspi/desktop.c (spi_desktop_dispose): impl.
964 (spi_desktop_class_init): upd.
965 (spi_desktop_add_application),
966 (spi_desktop_remove_application),
967 (abnormal_application_termination): impl.
968 (impl_desktop_get_child_at_index): re-impl.
971 (impl_accessibility_registry_deregister_application),
972 (impl_accessibility_registry_register_application):
973 kill excessive debug clutter.
975 * test/test-simple.c (test_misc): test some NULL
976 tolerance. (main): upd.
978 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
979 implements no interfaces - so let's not crash.
981 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
983 * libspi/accessible.c (spi_accessible_new_return): impl.
984 helper to calm the cut and paste, to cope with
985 NULL AtkObjects effectively and efficiently, and to kill
986 the referencing bugs.
988 * libspi/table.c (impl_getAccessibleAt),
989 (impl_getRowHeader, impl_getColumnHeader): upd.
991 * libspi/hyperlink.c (impl_getObject): upd.
993 * libspi/accessible.c
994 (impl_accessibility_accessible_get_child_at_index): upd.
997 (impl_accessibility_component_get_accessible_at_point): upd.
999 * test/test-simple.c (test_editable_text, test_text): impl.
1002 * cspi/spi_editabletext.c
1003 (AccessibleEditableText_insertText): constify.
1005 * test/test-simple.c (focus_me): make more robust.
1007 * libspi/accessible.c: remove some printfs in methods that
1008 we test and work fine, so we can get a clean tree dump.
1010 * test/test-simple.c (validate_accessible),
1011 (validate_tree): make tree dumping pretty too.
1013 * at-bridge/bridge.c (bridge_signal_listener): upd. so
1014 it builds without debug on.
1016 * test/test-simple.c (validate_accessible): fix the most
1019 * cspi/spi_main.c (spi_object_release): leave the nicely
1020 blanked memory around if in debug mode.
1022 * cspi/spi-listener-impl.c (cspi_event): use add_check.
1024 [committed to fixups2]
1025 2001-12-05 Michael Meeks <michael@ximian.com>
1027 * libspi/editabletext.c
1028 (spi_editable_text_class_init): g_type_class_peek_parent,
1029 not interface peek - so we finalize cleanly.
1031 * libspi/accessible.c (spi_accessible_new): kill debug.
1033 * test/test-simple.c (validate_accessible): fix ref.
1034 leak, print strings before freeing them; sigh, comment a
1035 chunk out due to strangeness.
1036 (validate_tree): unref the child after use.
1038 * cspi/spi_component.c (AccessibleComponent_getLayer):
1039 add missing break statement, switch on zlayer not the
1040 uninitialized retval.
1042 * cspi/spi_main.c (cspi_object_add): add assert, local ref
1043 before (possibly re-entering) remote unref.
1045 * test/simple-at.c (main): unref the desktop.
1047 * cspi/spi_accessible.c (cspi_accessible_is_a): move
1050 * cspi/spi_main.c (cspi_accessible_is_a): here to
1051 isolate bonobo API usage more.
1053 * libspi/registry.c (impl_accessibility_registry_register_application):
1054 prune bogus comment.
1056 2001-12-04 Michael Meeks <michael@ximian.com>
1058 * test/test-simple.c (validate_tree): upd.
1059 IndexInParent check to make it more lucid.
1060 (validate_accessible): dump the tree.
1062 * libspi/accessible.c (de_register_public_ref),
1063 (get_public_refs): impl.
1064 (spi_accessible_new): make more efficient & intuitive.
1065 Now IndexInParent check works.
1067 2001-12-04 Michael Meeks <michael@ximian.com>
1069 * cspi/spi-util.h: remove.
1071 * cspi/spi.h: move SPI_freeString here
1073 * libspi/component.c (impl_accessibility_component_get_layer):
1075 (impl_accessibility_component_get_mdi_z_order): ditto,
1076 return -1 on error - is this ok ?
1078 * test/test-simple.c (test_application): impl.
1080 * cspi/spi_accessible.c (Accessible_getApplication),
1081 (Accessible_isApplication): impl.
1083 * libspi/registry.c (spi_listener_struct_free): release
1084 the CORBA reference too.
1086 * libspi/accessible.c
1087 (impl_accessibility_accessible_get_parent): fix ref leak.
1089 * libspi/registry.c (spi_registry_new): make the registry
1090 immortal - we don't want it to go away ever.
1092 * libspi/application.c
1093 (spi_accessible_application_finalize): impl. cleanup.
1095 * cspi/spi_registry.c
1096 (deregisterGlobalEventListenerAll),
1097 (deregisterGlobalEventListener),
1098 (deregisterAccessibleKeystrokeListener): fix ref leak.
1100 * cspi/spi_main.c (SPI_init): remove redundant ref.
1102 * test/test-simple.c (unutterable_horror): impl. to force a
1107 (impl_accessibility_registry_deregister_application): release
1108 the application when we de-register it.
1110 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
1111 until we have the infastructure to get it right.
1113 2001-12-03 Michael Meeks <michael@ximian.com>
1115 * libspi/Makefile.am: only build eventlistener.[ch]
1117 * libspi/accessible.c
1118 (impl_accessibility_accessible_get_child_at_index): don't leak.
1120 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
1121 before we hit the idle handler.
1123 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
1124 debugging than exit.
1126 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
1128 * libspi/listener.c (impl_notify_event): check source
1129 not NIL before unref.
1131 * libspi/registry.c (impl_registry_notify_event): ditto.
1133 * libspi/eventlistener.c
1134 (impl_accessible_event_notify_event): unref the source.
1136 * libspi/accessibleeventlistener.c
1137 (impl_accessible_event_notify_event): unref the source.
1139 * idl/Event.idl: remove 'hash_id' attribute - of no
1142 * libspi/application.c (notify_listeners): upd list
1144 (spi_application_object_event_listener),
1145 (spi_application_toolkit_event_listener): upd to do correct
1149 (_registry_notify_listeners): update.
1150 (parse_event_type): this method also leaks like a sieve.
1151 (impl_accessibility_registry_deregister_global_event_listener):
1152 fix ETYPE_WINDOW case.
1154 * libspi/application.c
1155 (impl_accessibility_application_register_object_event_listener):
1158 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
1160 * libspi/hypertext.c (impl_getLink): ditto.
1162 * cspi/spi_main.c (cspi_object_add): remove
1163 bogus CORBA_Object_duplicate.
1165 * cspi/spi-listener-impl.c (cspi_event): dup/ref
1168 * cspi/spi_accessible.c
1169 (Accessible_getRelationSet): fix leak / referencing issue.
1171 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
1172 (cspi_object_add, cspi_object_unref): upd.
1173 (spi_object_release, get_live_refs): impl.
1174 (cspi_cleanup): simplify.
1176 * *.[ch]: s/boolean/SpiBoolean/
1178 * cspi/spi_accessible.c (role_names): actualy order so it
1179 corresponds with the enum !
1181 * test/test-simple.c (test_roles): check some role strings
1182 vs. enums to detect offset errors.
1184 2001-12-01 Michael Meeks <michael@ximian.com>
1186 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
1188 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
1190 (Accessible_getChildAtIndex): use cspi_add_check so we
1191 check the ev before using a (possibly) invalid value.
1193 * libspi/accessible.c
1194 (impl_accessibility_accessible_get_parent): don't segv
1197 * at-bridge/bridge.c (gtk_module_init): upd.
1198 (bridge_property_event_listener): don't leak strings
1200 (bridge_state_event_listener),
1201 (bridge_property_event_listener): don't use a static
1202 buffer in case of recursive event emission &
1203 re-enterancy - split out the swathe of cut and paste
1205 (emit_eventv): and fix 2 ref leaks here & comply to the
1207 (bridge_register_app): rename to
1208 (bridge_idle_init): this and kill arg parsing, split
1209 various inits & bonobo-activation registration to module
1210 init time, kill referencing error.
1211 (bridge_exit_func): fix the same leak.
1212 (bridge_focus_tracker): don't leak event structures
1214 (bridge_signal_listener): more leakage and cut & paste
1216 (bridge_key_listener): return the result - FIXME is
1217 this polarity correct ?
1218 (accessibility_keystroke_from_atk_key_event): rename
1219 (accessibility_init_keystroke_from_atk_key_event): and stop
1221 (gtk_module_init): return a value - not that it is checked by
1223 (bridge_key_listener): register my horror at casting between
1224 IDL defined structs.
1225 (bridge_get_registry): kill - not used.
1227 * cspi/spi_accessible.c (Accessible_getRole): make return const.
1229 * test/test-simple.c (test_roles): impl.
1230 (test_desktop, validate_accessible, validate_tree): impl.
1232 * cspi/spi_accessible.c (role_names): fixup bogus
1233 MAX_ROLES setup, make constants const for efficient linkage
1234 (AccessibleRole_getName): conform to coding style, make
1237 2001-11-30 Michael Meeks <michael@ximian.com>
1239 * cspi/spi.h: add missing prototype.
1241 * libspi/registry.c (spi_listener_struct_new): fix sig.
1243 * test/Makefile.am: add test-simple
1245 * test/test-simple.c: add
1247 * test/test.sh: add.
1249 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
1251 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
1252 do it straight - since otherwise we often get an activation race.
1254 [ work before Bill duplicated a chunk of it ... ]
1255 2001-11-30 Michael Meeks <michael@ximian.com>
1257 * libspi/keystrokelistener.c
1258 (spi_keystroke_listener_class_init): fixup arg
1261 * libspi/eventlistener.c
1262 (spi_event_listener_class_init): ditto.
1264 * tests/test.sh: add.
1266 * cspi/spi-listener-impl.h: update macros.
1268 * cspi/spi-listener-impl.c
1269 (cspi_event_listener_remove_callback): add
1270 correct pre-conditions.
1272 * cspi/spi_main.c (SPI_exit): guard vs. double
1273 exits, exit the mainloop nicely.
1274 (SPI_event_main): make more sense.
1275 (SPI_init): move the atexit evilness here so we
1276 always do it (yuck).
1277 (SPI_event_main): upd.
1279 * test/simple-at.c: update for listener changes.
1281 * registryd/registryd.c (main): prune kruft.
1283 * libspi/libspi.h: upd.
1285 * libspi/eventlistener.[ch]: rename broken macros.
1287 * libspi/accessibleeventlistener.[ch]: remove.
1289 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
1291 * test/test-simple.c: Add - automated tests.
1293 * cspi/spi-listener-impl.c (cspi_event),
1294 (cspi_key_event): add user_data to invoke.
1295 (cspi_keystroke_listener_finalize): impl.
1296 (cspi_keystroke_listener_class_init): upd.
1299 (createAccessibleEventListener),
1300 (AccessibleEventListener_addCallback),
1301 (createAccessibleKeystrokeListener),
1302 (AccessibleKeystrokeListener_addCallback): upd.
1304 * libspi/deviceeventcontroller.c
1305 (spi_device_event_controller_check_key_event): add public proto.
1308 (impl_accessibility_registry_deregister_global_event_listener):
1309 always init listeners.
1310 (_registry_notify_listeners): yes it is.
1312 * cspi/spi-listener-impl.c (cspi_key_event):
1314 (cspi_event_listener_finalize): impl.
1315 (cspi_event_listener_class_init): hook up.
1316 (event_handler_new, event_handler_free),
1317 (event_list_remove_by_callback): impl.
1318 (cspi_event_listener_remove_callback),
1319 (cspi_keystroke_listener_remove_callback),
1320 (cspi_keystroke_listener_add_callback),
1321 (cspi_event_listener_add_callback): upd.
1323 * libspi/keystrokelistener.c
1324 (keystroke_listener_object_finalize): kill
1325 (spi_keystroke_listener_class_init): upd.
1326 (spi_keystroke_listener_add_callback),
1327 (spi_keystroke_listener_remove_callback): kill,
1329 (impl_key_event): prune drasticaly.
1331 * libspi/eventlistener.c
1332 (spi_event_listener_add_callback),
1333 (spi_event_listener_remove_callback): kill, use
1335 (impl_accessible_event_notify_event): upd.
1336 (spi_event_listener_object_finalize): remove.
1338 * libspi/Makefile.am: use eventlistener.[ch]
1340 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1342 * libspi/registry.c (_registry_notify_listeners):
1343 Changed listener loop iteration to use preferred convention.
1344 Got rid of string memory leaks caused be calling g_strconcat
1345 inside function calls.
1347 * libspi/registry.c (parse_event_type):
1348 Stopped g_strconcat memory leaks, free the g_strsplit return,
1349 g_strdup the split pieces when used, etc.
1351 2001-12-04 Bill Haneman <bill.haneman@sun.com>
1354 Change method 'compare' to return a 'difference set' rather than
1355 taking a StateSet as an out parameter (more Java-friendly).
1357 * idl/Accessible.idl:
1358 Added CORBA struct 'BoundingBox', to faciliate API changes below:
1360 * idl/Component.idl:
1362 Changed methods 'getExtents' and 'getImageExtents' in these
1363 interfaces to return a BoundingBox structure.
1364 (getPosition and getSize are redundant and possibly should be
1365 removed, rather than creating a corresponding Point struct.)
1367 * cspi/spi_component.c:
1368 Modify implementation of getExtents to reflect the above IDL
1373 Add (missing) AccessibleImage_getExtents () API.
1375 * docs/reference/cspi/at-spi-cspi-sections.txt:
1376 Added AccessibleImage_getImageExtents () to docs.
1378 2001-12-03 Bill Haneman <bill.haneman@sun.com>
1380 * idl/Component.idl:
1381 Added two methods, getLayer () and getMDIZOrder (), to reflect
1382 the new ATK methods atk_object_get_layer and
1383 atk_object_get_mdi_z_order. (Which arguably should be part of the
1384 AtkComponent API and AtkObject). Also added an enum,
1385 ComponentLayer, for the first method's return value.
1387 * libspi/component.c:
1388 Added implementations for these methods.
1390 * cspi/spi_component.c:
1392 Added cspi binding methods for above,
1393 AccessibleComponent_getLayer() and
1394 AccessibleComponent_getMDIZOrder().
1395 Added cspi enum 'AccessibleComponentLayer'.
1397 * docs/reference/cspi/at-spi-cspi-sections.txt:
1398 Added above methods to docs.
1402 Changed typedef for 'boolean' type (and all references to it) to
1403 SPIBoolean, to avoid keyword clashes with C++.
1406 Changed usages of 'boolean' to SPIBoolean.
1408 * test/keysynth-demo.c:
1409 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
1410 app), except where SPIBoolean is required by the callbacks API.
1412 2001-12-02 Bill Haneman <bill.haneman@sun.com>
1414 * cspi/spi_registry.c:
1415 Removed obsolete X event loop for passive keygrabs (which now
1418 * registryd/registryd.c:
1419 Removed unnecessary call to gdk_init() [cruft]. This also allows
1420 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
1423 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1425 * docs/reference/cspi:
1426 Included docs for SPI_freeString in generated documentation.
1429 Renamed spi_freeString to SPI_freeString, for consistency. Added
1430 documentation for this function.
1433 Renamed spi_freeString to SPI_freeString, for consistency.
1434 Removed obsolete method declaration string_from_corba_string.
1436 * test/keysynth-demo.c:
1437 Small tweak to comments.
1440 Stopped leaking the strings returned from CSPI.
1442 2001-11-28 Bill Haneman <bill.haneman@sun.com>
1444 Merged Michael's branch (see his ChangeLog entries below).
1446 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
1447 bridge is alive, release on exit.
1449 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
1450 Fix type check macro.
1453 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
1456 Added is_gnome_app static, and method cspi_is_gnome_app(),
1457 so we can call the appropriate shutdown routine at exit in SPI_exit.
1459 * cspi/spi_main.c (cspi_object_ref):
1460 Duplicate the corba object passed in, since we're keeping it around.
1462 * cspi/SPI_exit.c, cspi_cleanup:
1463 Moved the releasing of the live refs to its own function, so we
1464 can put it in g_atexit (). Call the appropriate shutdown API
1465 depending on whethe calling client is a gnome app or not
1466 (bonobo_main_quit or CORBA_ORB_shutdown).
1468 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
1469 Unref the listener when this method is called, after
1470 deregistration. Updated the API docs to note this behavior.
1472 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
1473 Bugfixes: Ref the bonobo object when returning a parent or child
1474 reference, or an AccessibleRelation. Generally made sure
1475 BonoboObject refcount is incremented whenever we return an
1478 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
1479 Fixed typo/bug in signal declaration.
1481 * libspi/accessibleeventlistener.h:
1484 * libspi/application.c (spi_application_new):
1485 Fixed leak in initialization.
1488 Remembered to increment bonobo-object refcount when returning
1489 children (applications) from desktop object.
1490 Added (empty) finalize method.
1492 * libspi/deviceeventcontroller.c:
1493 Hold a ref to listeners inside DEControllerKeyListeners.
1494 Added dec_key_listener_free() method. Use prepend instead of
1495 append in key_listener list. Fixed some refcount madness and
1496 leaks in the listener registration/deregistration - deregistration
1497 now calls dec_key_listener_free() on listeners, and on the
1498 temporarily constructed dec_key_listener() used to perform the search/match.
1500 * libspi/hypertext.c (spi_hypertest_finalize):
1501 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
1502 class. Also fixed spi_hypertext_interface_new() and
1503 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
1505 * libspi/hypertext.h:
1506 Removed pointless and duplicate AtkObject pointer from
1509 * libspi/keystrokelistener.c:
1510 Fixed incorrect type of keystroke_listener_parent_class,
1511 renamed keystroke_listener_object_finalize to
1512 spi_keystroke_listener_object_finalize.
1513 Fixed typo in signal declaration
1514 (spi_keystroke_listener_class_init).
1516 * libspi/registry.c:
1517 Added funcsions spi_listener_struct_new() and
1518 spi_listener_struct_free() to help with memory management issues.
1519 We also now use these methods instead of gnew + poking stuff into
1520 the struct, and to decrement listener counts/free the listeners
1521 when deregistering them.
1522 Fix more refcount bugs in getDesktop() and
1523 getDeviceEventController().
1526 De-ref the desktop after enumerating the applications. Explicitly
1527 decrement the refcounts on the created listeners on exit (using
1528 _unref for keystroke listeners, and via the
1529 deregisterGlobalEventListenerAll command for other event
1532 2001-11-27 Michael Meeks <michael@ximian.com>
1534 * cspi/spi-listener.h: fixup enum.
1536 2001-11-27 Michael Meeks <michael@ximian.com>
1538 * cspi/spi-listener-impl.c (cspi_event_listener_new),
1539 (cspi_keystroke_listener_new): Use the cspi variants.
1541 2001-11-26 Michael Meeks <michael@ximian.com>
1543 * test/keysynth-demo.c: fix 2 compile warnings, missing
1546 * test/simple-at.c (report_focussed_accessible),
1547 (report_focus_event, report_button_press),
1548 (check_property_change, is_command_key),
1549 (report_ordinary_key_event, report_command_key_event): upd.
1551 * util/mag_client.h: include pre-requisites.
1553 * libspi/accessibleeventlistener.c
1554 (spi_event_listener_object_finalize): free any lingering
1557 * libspi/keystrokelistener.c
1558 (keystroke_listener_object_finalize): ditto.
1560 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
1561 callbacks, with cspi types.
1563 * cspi/spi_event.c (createAccessibleEventListener): chain to
1564 (AccessibleEventListener_addCallback): here.
1565 (createAccessibleKeystrokeListener): chain to
1566 (AccessibleKeystrokeListener_addCallback): here.
1568 * libspi/keystrokelistener.c
1569 (spi_keystroke_listener_class_init): add signal.
1570 (impl_key_event): emit the event.
1571 (boolean_handled_accumulator): impl.
1572 (marshal_BOOLEAN__POINTER): add, gack.
1574 * libspi/accessibleeventlistener.c
1575 (spi_event_listener_class_init): add signal.
1576 (impl_accessible_event_notify_event): emit the signal &
1577 make the loop efficient.
1578 (spi_event_listener_add_callback): prepend the callback.
1580 * libspi/accessibleeventlistener.h: add an 'event' signal,
1581 decl type on callback.
1583 * libspi/keystrokelistener.h: ditto.
1585 * cspi/spi-listener.h: make methods typesafe and
1586 make them use the new event typedefs.
1588 * test/simple-at.c (report_focussed_accessible):
1589 include mag_client.h
1590 Use *(void *)text_interface not the other thing.
1592 * configure.in: add gtk to registryd bits - since we use
1595 * util/magnifier.c: include libbonobo.h
1597 2001-11-25 Bill Haneman <bill.haneman@sun.com>
1599 * test/keysynth-demo.c:
1600 Turned this into a simple scanning keyboard, to demonstrate the
1601 use of g_timeout_add () as a means of creating timers for
1602 scanning, and the use of GtkStyle for visually indicating when
1603 virtual keyboard elements are selected.
1605 keysynth-demo now listens to any keyboard keys with zero-valued
1606 keycodes (i.e. 'unused' keys) and interprets them as
1609 Reworked the shiftlatch code so that shift-down state isn't held
1610 for long periods (it's only synthesized immediately prior to
1611 the keysynth event it's modifying). Note that shiftlatch in this
1612 demo is a convenience, not intended to take the place of AccessX
1613 which is the better choice for getting 'sticky' modifier keys.
1615 * libspi/deviceeventcontroller.c:
1616 * at-bridge/bridge.c:
1617 * cspi/spi_registry.c:
1618 Removed some debug print stuff, and put other verbosity in #ifdef
1623 Implemented some more of the magnifier IDL for the simple
1624 magnifier: namely, getZoomRegionParams.
1625 Added mag_x and mag_y members to MagnifierData struct, aid of this
1627 Added GtkWindow::realize signal handler to magnifier, to keep it
1628 from receiving keyboard focus from the WM.
1630 2001-11-23 Mark McLoughlin <mark@skynet.ie>
1632 * cspi/spi-private.h: my guess at what michael forgot
1633 before he ran off to NZ :-)
1635 2001-11-23 Michael Meeks <michael@ximian.com>
1637 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
1638 comment out non existant method invoke so we link.
1640 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
1641 use bonobo_exception_get_text for more friendly warnings.
1643 * cspi/spi.c (Obj_Add): move into spi_main & rename
1644 spi_object_add; kill spi.c
1646 * cspi/spi_registry.c
1647 (deregisterGlobalEventListener),
1648 (deregisterGlobalEventListenerAll),
1649 (registerGlobalEventListener): fix exception leaks.
1651 * cspi/spi_main.c (spi_exception): impl. helper, so we
1652 don't leak exceptions.
1654 * cspi/spi_selection.c
1655 (AccessibleSelection_deselectSelectedChild): return the
1658 * cspi/spi_main.c (spi_ev): impl; hack - gack.
1659 (spi_registry): ditto.
1660 (SPI_init): guard against double inits.
1662 * cspi/*.c: use spi_ev (), and spi_registry () where
1663 appropriate - a temporary hack until we have something
1664 better. Use spi_object_add
1666 2001-11-22 Michael Meeks <michael@ximian.com>
1668 * cspi/Makefile.am: re organise, install the headers.
1670 * cspi/*.h: add G_BEGIN/END_DECLS
1672 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1675 Added non-preemptive keylistener for key events with no modifiers
1676 and shift-only modifier.
1678 * libspi/keystrokelistener.c:
1679 Removed some verbose diagnostics printout.
1681 * cspi/spi_registry.c:
1682 Fixed a bug that caused all key listeners to be registered as
1685 * libspi/deviceeventcontroller.c:
1686 Fixed bug that caused XGrabKey (preemptive key grab) to be called
1687 for non-preemptive key masks.
1690 2001-22-11 Bill Haneman <bill.haneman@sun.com>
1692 * docs/reference/idl/at-spi-idl-docs.sgml:
1693 * docs/reference/idl/at-spi-idl-sections.txt:
1694 * docs/reference/idl/at-spi-idl-overrides.txt:
1695 Added missing files.
1697 * docs/reference/Makefile.am:
1698 removed idl from SUBDIRS until we can figure a way to get gtk-doc
1699 to scan the IDL files :-(
1704 Added .cvsignore files.
1706 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1708 * libspi/deviceeventcontroller.c:
1709 * libspi/keystrokelistener.c:
1711 * cspi/spi_registry.c:
1712 Added filters for KeySets, KeyEventSeq, and event types to key
1713 event dispatching, so listeners should only receive those events
1714 that they requested :-)
1716 2001-21-11 Bill Haneman <bill.haneman@sun.com>
1721 * docs/reference:Makefile.am:
1722 * docs/reference/cspi:
1723 * docs/reference/cspi:Makefile.am:
1724 * docs/reference/cspi:tmpl:
1725 * docs/reference/cspi:tmpl:*.sgml:
1726 * docs/reference/idl:
1727 * docs/reference/idl:Makefile.am:
1728 * docs/reference/idl:at-spi-idl-sections.txt:
1729 * docs/reference/idl:at-spi-idl-docs.sgml:
1730 * docs/reference/idl:tmpl:
1731 * docs/reference/idl:tmpl:*.sgml:
1733 Restructured docs directory to allow separate 'reference' docs
1734 section, and forked idl and cspi docs. Added the sgml template
1735 files to CVS. Added the first sections/structural sgml for the
1738 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
1740 * configure.in, libspi/Makefile.am: find libXtst.
1742 2001-11-21 Michael Meeks <michael@ximian.com>
1744 * test/accessx-gui.c: s/spi_value/value/ - doh.
1746 * libspi/base.[ch]: add.
1748 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1750 * idl/Accessible.idl:
1751 * idl/Application.idl:
1754 Started gtk-doc cleanup on IDL.
1756 * libspi/deviceeventcontroller.c:
1757 Added and connected non-preemptive key notification from the
1758 toolkits (in addition to the pre-emptive support from XServer
1759 which we had before, but which causes 'focus flashing'). Filters
1760 are presently limited to key modifiers and global/non-global,
1761 KeySets are presently ignored, as are KeyEvent masks.
1763 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
1764 structs into the persistant structure rather than just storing
1765 pointers to things that might not persist across servant
1768 The XGrabKey call now does async keygrabs, because synchronous
1769 ones were deadlocking with GDK_event code in a very nasty way.
1771 Added boolean to internal method notify_keylisteners, to indicate
1772 whether the event came from the 'toolkit source' or the 'global
1773 (XServer) source' - this is used in the notification process to
1774 determine which listeners to send the event to.
1776 deviceeventcontroller.c is now warning-free.
1778 * libspi/registry.c:
1779 Fixed regression in application de-registration.
1780 Also fixed some really brain-dead weirdness having to do with
1781 event dispatching - event structs are now duplicated before being
1782 re-marshalled in the dispatch to listeners. This also fixes a
1783 Solaris build problem.
1786 2001-20-11 Michael Meeks <michael@ximian.com>
1789 (impl_accessibility_registry_deregister_global_event_listener):
1792 * libspi/deviceeventcontroller.c
1793 (spi_device_event_controller_check_key_event): return
1794 FALSE on no virtual method.
1796 * libspi/*..h: make includes work on a correctly pathed install.
1798 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
1800 * libspi/application.h: kill unused ( and whacked out )
1801 gboolean *spi_application_set_id (AtkObject *app, long id);
1803 2001-20-11 Michael Meeks <michael@ximian.com>
1805 * libspi/*.[ch]: further convert to bonobo's type func
1806 macros, remove redundnant casts etc.
1808 * libspi/text.c s/accessibility_text/spi_text/g,
1809 re-order to de-cruft.
1811 * libspi/hypertext.c: re-order to kill a huge slew
1812 of redundant forward decls.
1814 * libspi/relation.c: ditto.
1816 * libspi/image.c: ditto.
1818 * */.cvsignore: update
1820 2001-20-11 Michael Meeks <michael@ximian.com>
1822 * libspi/deviceeventcontroller.c
1823 (_controller_register_with_devices): use g_getenv,
1824 kill stdlib.h include.
1826 * libspi/keystrokelistener.c
1827 (spi_keystroke_listener_get_type): kill
1828 (spi_keystroke_listener_class_init),
1829 (spi_keystroke_listener_init): rename to this.
1831 * libspi/text.c (impl_getAttributes): fix warning / bug.
1833 * libspi/*.[ch]: more headers, includes and over commenting.
1835 2001-20-11 Michael Meeks <michael@ximian.com>
1837 * libspi/*.[ch]: fixup headers, includes and over commenting.
1839 * libspi/image.c (impl__get_imageDescription): const
1840 correctness warning fix. remove redundant casting.
1842 * libspi/table.c (impl_getRowDescription): ditto.
1843 (impl_getColumnDescription): ditto.
1845 * libspi/libspi.h: add.
1847 2001-19-11 Michael Meeks <michael@ximian.com>
1849 * libspi/editabletext.c (impl_setAttributes): fix warnings.
1851 * libspi/component.c (accessibility_component_get_type):
1852 rename to (spi_component_get_type): and macroify.
1853 (accessibility_component_init): rename to
1854 (spi_component_init): this
1855 (accessibility_component_class_init): rename to
1856 (spi_component_class_init): this
1858 * libspi/action.c (spi_action_get_type): kill, use the macro.
1860 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
1863 * libspi/application.c (spi_application_object_event_listener),
1864 (impl_accessibility_application_register_object_event_listener):
1865 warning fixes / const understanding updates.
1867 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
1870 2001-18-11 Bill Haneman <bill.haneman@sun.com>
1872 * libspi/spi_accessible.c: Added docs and C bindings for
1873 AccessibleStateSet. (No implementations yet). Documentation
1874 coverage for C bindings now 100%. Made docs for event listeners
1879 boolean notifyListenersSync (in DeviceEventListener listener,
1880 in DeviceEvent event);
1882 oneway void notifyListenersAsync (in DeviceEventListener listener,
1883 in DeviceEvent event);
1885 Added DeviceEventListener and DeviceEvent structs (may deprecate
1886 KeyStroke and KeystrokeListener in favor of this generic
1887 event/listener framework for devices).
1889 * libspi/deviceeventcontroller.c:
1891 Changed some key listener code to take masks, etc., and paved the
1892 way for integration of toolkit/non-preemptive key events. Changed
1893 signatures of some internal methods.
1895 * at-bridge/bridge.c:
1896 Fixed regression connecting to interface signals, apparently
1897 caused by GTK+ changes.
1899 Added an internal bridge_state_listener to deal with
1900 property-change:accessible-state signals.
1902 Changed the key_listeners GList to store structs (including masks,
1903 etc.) instead of just CORBA_Objects (required for full
1904 implementation of key listener API).
1906 Connected the bridge to all currently supported Atk signals.
1907 Events now supported:
1908 object:property-change
1909 object:property-change:accessible-name
1910 object:property-change:accessible-state
1911 object:property-change:accessible-description
1912 object:property-change:accessible-parent
1913 object:property-change:accessible-value
1914 object:property-change:accessible-role
1915 object:property-change:accessible-table-caption
1916 object:property-change:accessible-table-column-description
1917 object:property-change:accessible-table-column-header
1918 object:property-change:accessible-table-row-description
1919 object:property-change:accessible-table-row-header
1920 object:property-change:accessible-table-summary
1921 object:children-changed
1922 object:visible-data-changed
1923 object:selection-changed
1924 object:text-selection-changed
1926 object:text-caret-moved
1928 object:row-reordered
1930 object:column-inserted
1931 object:column-reordered
1932 object:column-deleted
1933 object:model-changed
1935 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1937 * libspi/hyperlink.c,h:
1938 Fixed some broken stuff in hyperlink.
1940 * libspi/relation.h:
1941 * libspi/relation.c:
1942 * cspi/spi_accessible.c:
1943 Initial implementations of AccessibleRelation methods, and docs.
1945 * libspi/accessible.c:
1946 Fixed a bug that caused SEGV if an accessible
1947 object's description is NULL, and a client
1948 requests it. An empty string is now returned.
1950 * cspi/spi_editabletext.c:
1951 * cspi/spi_hypertext.c:
1953 * cspi/spi_hyperlink.c:
1957 Doc coverage now 95%.
1959 2001-16-11 Bill Haneman <bill.haneman@sun.com>
1961 One last namespacing revision:
1962 * libspi/accessibleeventlistener.[ch]:
1963 Renamed SpiAccessibleEventListener to SpiEventListener,
1964 (no need for two namespaces ;-)
1966 And lots of documentation fixes:
1968 * docs/at-spi-docs.sgml:
1969 Fixed 'underscore vs. hyphen' bug that was preventing
1970 the gtk-doc API docs from being automatically generated.
1973 * cspi/spi-listener.h
1975 * cspi/spi_accessible.c
1977 * cspi/spi_application.c
1978 * cspi/spi_component.c
1979 * cspi/spi_editabletext.c
1981 * cspi/spi_hypertext.c
1983 * cspi/spi_registry.c
1984 * cspi/spi_selection.c
1988 * docs/at-spi-docs.sgml
1989 * docs/at-spi-sections.txt
1991 Added and fixed up gtk-doc documentation in cspi.
1993 Interfaces now (fully) documented (subject to revision and enhancement):
1995 Event Listener Support
1997 AccessibleApplication
2001 AccessibleEditableText
2008 AccessibleRelationSet
2013 2001-14-11 Bill Haneman <bill.haneman@sun.com>
2015 * at-bridge/bridge.c:
2016 Initial work for toolkit-level key snooper connection by bridge.
2021 New typedefs and fixes to support new namespacing, and cleaner
2022 separation of cspi bindings from libspi bonobo implementation.
2023 Removed inconsistent and extraneous Spi* namespace prefix that
2024 had crept into cspi headers.
2025 Lots of comment fixes that sed had missed.
2027 * cspi/spi-roletypes.h:
2028 * cspi/spi-statetypes.h:
2029 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
2030 to AccessibleRoleType.
2032 * libspi/accessibleeventlistener.h:
2033 Fixed minor namespacing weirdness.
2035 * libspi/deviceeventcontroller.c:
2036 Reordered some internal API for device listeners.
2037 Changed the key registry final boolean to 'is_system_global'
2038 rather than 'is_synchronous', which is more descriptive of its
2040 Added spi_device_event_controller_new().
2041 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
2043 * libspi/keystrokelistener.[ch]:
2044 Namespaced KeystrokeListener to SpiKeystrokeListener.
2045 Changed uses of keymasks to use SPI_ prefix, and did other
2048 * libspi/keymasks.h:
2049 Namespaced keymask constants with SPI_ prefix.
2051 * libspi/registry.c:
2052 Some warning fixes, and knock-on fixes from namespace changes.
2055 Added rules for accessx-gui test program.
2057 * test/accessx-gui.c:
2058 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
2059 utility. It doesn't actually use at-spi, but it's still cool and
2062 * test/keysynth-demo.c:
2066 Fixes so that these test clients work properly with the namespaced
2067 libraries. (Incompletely tested for technical reasons, fixes may follow)
2070 2001-13-11 Michael Meeks <michael@ximian.com>
2072 * libspi/application.c
2073 (impl_accessibility_application_get_version),
2074 (impl_accessibility_application_get_toolkit_name):
2076 (impl_accessibility_application_set_id),
2077 (impl_accessibility_application_get_id): remove
2078 redundant casting code.
2080 * libspi/action.c (impl_getDescription): fix warnings.
2082 * libspi/accessible.c
2083 (impl_accessibility_accessible_get_parent),
2084 (impl_accessibility_accessible_get_child_at_index),
2085 (impl_accessibility_accessible_get_state),
2086 (impl_accessibility_accessible_get_relation_set):
2087 warning fixes & include action.h
2089 2001-13-11 Michael Meeks <michael@ximian.com>
2091 * *.[ch] fix bits I screwed up:
2093 s/([^ \tb(\*\&\?\",])spi_/\1/g;
2094 s/([^ \tb(\*\&\?\",])Spi/\1/g;
2096 2001-13-11 Michael Meeks <michael@ximian.com>
2098 * *.[ch] Namespace libspi into spi_ and Spi.
2100 2001-13-11 Michael Meeks <michael@ximian.com>
2102 * Makefile.am: dist & install at-spi-1.0.pc
2104 * libspi/Makefile.am: install into at-spi-1.0
2106 * idl/Makefile.am (idldir): install into at-spi-1.0
2108 * at-spi-1.0.pc.in: add.
2110 * configure.in: build it.
2112 2001-12-11 Bill Haneman <bill.haneman@sun.com>
2114 * test/keysynth-demo.c:
2115 Use a 'realize' signal-handler to set the WM properties for
2116 the virtual keyboard, rather than making it a "POPUP" type
2117 override-redirect window (thanks to anders carlsson for that
2120 2001-11-11 Bill Haneman <bill.haneman@sun.com>
2123 * test/keysynth-demo.c:
2124 Added new test of key synthesis, which creates a simple
2125 (mouse-operated) onscreen keyboard. It inserts key events into
2126 the currently-focused window, thus it does not grab keyboard focus
2129 * cspi/spi_registry.c:
2130 Added C binding for AT-SPI generateKeyEvent.
2132 * libspi/deviceeventcontroller.c:
2133 Added call to XFilterEvent so that key listener works with XIM (we
2134 hope). Added event_synth_type to generateKeyEvent, so that we can
2135 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
2136 synthesize a press/release pair for KeySyms.
2138 2001-11-09 Bill Haneman <bill.haneman@sun.com>
2140 * libspi/Makefile.am:
2141 * registryd/Makefile.am:
2142 (temporary) hack to include libXtst in libspi and registryd.
2143 (Needed for keystroke synthesis, see below).
2146 Improved API for registerKeystrokeListener, in accordance with
2147 discussions with Gnopernicus team and X server research.
2149 * libspi/registry.c:
2150 * libspi/deviceeventcontroller.c:
2151 * libspi/accessible.c:
2152 * libspi/keystrokelistener.c:
2153 Changes and fixes to support keylisteners for potentially
2154 consumed key events (that is, 'passive grabs').
2155 Added implementation for generateKeyEvent() [untested].
2158 Changes to registerKeystrokeListener() API, as above.
2159 Added deregisterGlobalEventListenerAll(), and
2160 deregisterKeystrokeListener(), which are needed for clean exit of
2162 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
2163 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
2165 * cspi/spi_registry.c:
2166 Added implementations of function prototypes mentioned above.
2168 * registryd/registryd.c:
2169 Added the key listener event source as a g_timeout(), to allow
2170 receipt of key events that are not caught by GDK (since GDK
2171 doesn't support passive keygrabs, this was necessary).
2174 Changed to attach a keylistener to 'Alt' keys, and
2175 respond to the following keycommands: Alt-M (toggle magnifier);
2176 Alt-F (toggle speech); Alt-Q (quit).
2177 Added an exit routine to deregister the listeners, and a key
2178 listener that prints some key info to the console when a key
2179 matches the listener mask (and is thus received by the listener).
2181 * util/idl/Magnifier.idl:
2182 Changes to magnifier API to support multiple zoom regions,
2183 non-uniform scaling in x and y, markDirty, and a host of other
2184 features that would be useful to magnification.
2187 * util/mag_client.c:
2188 * util/mag_client.h:
2189 * util/mag_control.c:
2191 Source code changes to support the above IDL changes.
2194 As above, and also changes to use a (slower) generic conversion
2195 path for colormap conversions, since the fast RGB conversions have been
2196 reported to fail for 16-bit displays.
2198 2001-10-26 Michael Meeks <michael@ximian.com>
2200 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
2202 <2001-10-26 Laszlo Peter <laca@ireland.sun.com>
2204 * at-bridge/Makefile.am: fix LDFLAGS.
2206 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2208 * at-bridge/bridge.c:
2209 Re-worked listeners for toolkit events, now we have signal
2210 and property listeners. Added a private method
2211 register_atk_event_listeners(), which registers with the
2212 various atk and gtk signals we need to monitor in order to emit
2214 Added emission hook for AtkObject:property-change events, to
2215 support the 'property listeners'.
2216 Fixed some alloc()s of Accessibility_Event structs to use CORBA
2219 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
2220 which emit warnings and exit, respectively, if CORBA errors occur
2221 during remote calls, and we now use these methods to check most of
2222 our CORBA calls in the C bindings.
2224 * cspi/spi_accessible.c:
2225 Changed AccessibleSelection_refSelectedChild() to
2226 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
2227 now increment refcounts.
2229 * cspi/spi_component.c:
2230 Fixed some long pointer casts (dangerous!) to pass pointers to
2231 CORBA_longs of the proper type to the CORBA stubs, and copy the
2232 data into the longs that were passed into the C bindings code.
2234 * at-bridge/bridge.c:
2236 * libspi/accessible.c:
2237 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
2238 hyperlinks, AtkHyperlink is an object type.
2240 * libspi/application.c:
2241 Added various conversions to and from "generic" event types and
2242 atk-specific types; this is really part of the 'bridge'
2243 implementation but is valid for all AtkObject-based accessibility
2246 * libspi/editabletext.c:
2247 Fixed nasty bug wherein editable text's finalize method was
2248 unref'ing tha AtkObject reference that the text parent class was
2249 about to unref _again_. There was also a nasty inheritance bug
2250 that meant that the AccessibleEditableText class was corrupt.
2252 * libspi/selection.c:
2253 Provided implementations for some selection API that was broken.
2255 * idl/Application.idl:
2256 Added registerObjectEventListener () method.
2259 Fixed a number of return values that were Bonobo_Unknowns from
2260 bonobo_object_corba_objref(), which I
2261 forgot to dup before returning. Changed instances of
2262 bonobo_object_corba_objref (bonobo_object(o)) to
2263 BONOBO_OBJREF(o), for concision and clarity.
2265 <2001-10-13 Louise Miller <louise.miller@sun.com>
2267 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
2268 idl/Event.idl, idl/Registry.idl
2269 Changed these files to include Bonobo_Unknown.idl instead
2272 <2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
2274 * libspi/component.c libspi/component.h:
2275 Fixed typo. Added assertions for object checks in
2276 AccessibleComponent code.
2278 <2001-10-09 Bill Haneman <bill.haneman@sun.com>
2280 * idl/Accessible.idl:
2281 Added 'isEqual (Accessible *object)'
2282 method for Accessible. (Not Yet Implemented).
2285 Changed signature of registerKeystrokeListener() to
2286 take a KeySet and KeyEventSeq so that specific keys and event
2287 types could be requested for monitoring, and added a flag
2288 is_synchronous so that either synchronous or asynchronous
2289 notification could be requested. (However this is not all
2290 implemented yet). This also meant adding two new typedefs,
2291 KeyEventSeq and KeySet.
2294 Added two new relations, RELATION_TOOLTIP_FOR and
2295 RELATION_LEAFNODE_OF.
2298 Added new state, STATE_HAS_TOOLTIP.
2300 * libspi/text.c, editabletext.c:
2301 Added new assertions to all casts of bonobo-objects from
2302 CORBA servants, to prevent Text API calls on non-text objects.
2303 Changed suspect casts of int-pointer types, so that we
2304 always send a valid CORBA_long pointer to the CORBA APIs that use
2305 in/out long parameters. We then have to copy from the CORBA_long
2306 into the regular long or int for return to the C bindings, or
2307 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
2310 * libspi/deviceeventcontroller.c:
2311 Cleaned these sources up.
2313 Changed return type for getCharacterAtOffset to
2314 CORBA_unsigned_long, to allow for 32-bit characters.
2317 <2001-10-08 Bill Haneman <bill.haneman@sun.com>
2321 Fixed 'make dist' so that distro compiles...
2322 * libspi/keymasks.h:
2324 * cspi/spi-listener.c:
2325 KeystrokeListenerCB now returns a boolean.
2327 Added KeyEventType struct, and KeyStroke.
2328 Also added createKeystrokeListener(),
2329 KeystrokeListener_addCallback(),
2330 KeystrokeListener_removeCallback(), and added a keymask to
2331 registerKeystrokeListener().
2332 * cspi/spi_accessible.c:
2333 Changed numerous return types for interfaces from
2334 AccessibleComponent to Accessible<InterfaceName>; this was
2335 probably a cut-and-paste error.
2337 Implementations of new KeystrokeListener api (from spi.h,
2340 Changes to key modifier mapping.
2341 Created ControllerEventMask struct.
2342 Made DeviceEventController derive from Bonobo::Unknown.
2344 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
2345 * libspi/deviceeventcontroller.c:
2346 Added a number of new internal (private) methods.
2347 * libspi/editabletext.c:
2348 * libspi/editabletext.h:
2349 Fixed a number of bugs related to the fact that
2350 editabletext inherits from text. Fixed the EditableText struct,
2351 the init() call, and use correct casts when calling Text methods
2352 from an EditableText object. Removed (duplicate) atko from the
2353 EditableText structure, we use the one in the parent Text
2354 structure via the casts mentioned above.
2355 * libspi/keystrokelistener.[ch]:
2356 * libspi/registry.c:
2357 Changes in support of keyboard handling (above).
2359 Keyboard handling, though partly functional, is still not
2360 recommended for at-spi client use as there is considerable
2361 work yet to be done.
2364 Changed some places where pointers to various int types
2365 are cast to be pointers to CORBA_long types and vice-versa:
2366 pointer casting is not safe so we pass pointers of the correct
2367 types and then cast the result before putting it into the target
2370 * libspi/text.h: minor typos corrected.
2372 We now speak not only the name of a Text element, but the
2373 first sentence of its content, when it receives focus.
2374 I also changed the text compression to 75% from 50%.
2375 * util/Accessibility_Util.server.in:
2376 Changed the default magnifier type to be a 3x vertical
2377 splitscreen magnifier (was previously a 2x horizontal one).
2379 <2001-10-03 Bill Haneman <bill.haneman@sun.com>
2381 * libspi/keystrokelistener.h:
2382 * libspi/keystrokelistener.c:
2383 Initial functional implementations of KeystrokeListener.
2386 <2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
2388 Fixed string handling for NULL strings in libspi.
2389 Added spi_freeString to free strings returned by C bindings.
2391 <2001-09-30 Bill Haneman <bill.haneman@sun.com>
2393 * libspi/keystrokelistener.h:
2394 * libspi/keystrokelistener.c:
2395 Began (no-op) implementations of KeystrokeListener
2397 * libspi/deviceeventcontroller.c:
2398 * libspi/deviceeventcontroller.h:
2399 Began creating implementations of DeviceEventController,
2400 to handle keystroke and mouse event listening and
2402 * libspi/accessible.c:
2403 Stubbed-in the implementations for
2404 Accessibility_Accessible_getState and
2405 Accessibility_Accessible_getRelationSet.
2406 * libspi/registry.c:
2407 Improved de-registration process and fixed some bugs,
2408 deregistration now works correctly.
2410 Added initialization of applications list (to NULL).
2412 Reduced speech compression from 0.5 to 0.7, for demo.
2413 Changed call to gdk_window_set_decorations()
2414 to gtk_window_set_decorated().
2415 * at-bridge/bridge.c:
2416 Bridge now deregisters when app exits, via
2417 registration of a cleanup function
2418 with the g_atexit() call.
2419 Required making 'app' static, renamed 'this_app'.
2420 Fixed broken use of bonobo_init, passing argv wrongly.
2422 <2001-09-27 Bill Haneman <bill.haneman@sun.com>
2426 Created a new directory for
2427 accessibility-related utilities, primarily for
2428 testing and demo purposes, but with possible
2435 Onscreen magnifier utility that
2436 is implemented as a bonobo service.
2438 * util/mag_client.c:
2439 * util/mag_client.h:
2440 Client-side support (simple C bindings)
2441 for Magnification service
2443 * util/mag_control.c:
2444 Client program example for
2445 Magnification service
2447 * util/Accessibility_Magnifier.server.in:
2448 Bonobo-activation file for the
2449 Magnification service.
2452 * util/idl/Magnifier.idl:
2453 IDL defining the bonobo Magnification
2457 Modifications to use the bonobo-activated magnifier
2458 above, in place of trying to connect to an existing
2459 magnifier that uses socket-listening IPC.
2461 If env variable MAGNIFIER is set, a magnifier service
2462 will be started if one does not exist.
2464 <2001-09-25 Bill Haneman <bill.haneman@sun.com>
2465 * at-bridge/bridge.c:
2466 applied patch from Marc to build and run
2467 against new glib and gtk+ (seemed like a change
2468 to bonobo_init signature was made ?)
2470 made festival-server support turned off by default.
2471 Added support for a simple magnifier (off by default)
2472 which will be added to a 'util' directory later.
2473 * at-bridge/Makefile.am:
2474 Changed "application.h" header from a 'source'
2475 to a 'dependency' of libat-bridge.
2477 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2485 Added interface implementation c files to list of
2486 includes so they are included in libcspi.
2489 Changed prototype of AccessibleAction_doAction to return a
2491 Changed prototype of AccessibleTable_getCaption to
2492 return an Accessible.
2493 Changed prototype of AccessibleTable_getSelectedRows
2494 and AccessibleTable_getSelectedColumns to
2495 return a long (returns the number of selected rows
2496 or columns respectively).
2497 Changed name of AccessibleText_refRunAttributes to
2498 AccessibleText_getAttributes.
2499 Changed prototype of AccessibleText_getCharacterExtents to
2500 return a void rather than a boolean.
2501 Added support for a AccessibleCoordType parameter
2502 specifying what type of coordinates are desired.
2503 Added an AccessibleCordType parameter to
2504 AccessibleText_getPointAtOffset.
2506 * cspi/spi_accessible.c:
2507 Added code to return the outstanding interfaces from
2508 Accessible_queryInterface.
2510 * cspi/spi_action.c:
2512 Corrected call to getNActions to call the c binding
2515 * cspi/spi_editabletext.c:
2517 Changed name from setRunAttributes to setAttributes.
2519 * cspi/spi_hyperlink.c:
2521 Changed call to getNAnchors to correctly call the c
2522 binding for an attribute.
2524 * cspi/spi_hypertext.c:
2526 Changed getImageDescription to correctly call the
2527 binding for an attribute.
2529 * cspi/spi_selection.c:
2530 Changed getNSelectedChildren to correctly call the c
2531 binding for the attribute.
2532 Changed refSelectedChild to getSelectedChild.
2536 Changed getCaption to return an Accessible.
2537 Fixed calls which retrieve attributes.
2538 Changed refAt to getAccessibleAt.
2539 Changed getNSelectedRows and getNSelectedColumns to
2543 Changed getCharacterExtents and getPointAtOffset to accept an
2544 AccessibleCoordType.
2546 Changed calls which retrieve attributes.
2547 Changed refRunAttributes to getAttributes.
2552 * idl/Hyperlink.idl:
2553 Changed n_anchors attribute to nAnchors to keep naming
2554 convention consistent.
2557 Made Table inherit from Bonobo::Unknown.
2558 Added nSelectedColumns and nSelectedRows attributes.
2561 Made Value inherit from Bonobo::Unknown.
2563 * libspi/hyperlink.c:
2564 Change for nAnchors attributte name change.
2566 <2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
2574 Added interface implementation c files to list of
2575 includes so they are included in libcspi.
2578 Changed prototype of AccessibleAction_doAction to return a
2580 Changed prototype of AccessibleTable_getCaption to
2581 return an Accessible.
2582 Changed prototype of AccessibleTable_getSelectedRows
2583 and AccessibleTable_getSelectedColumns to
2584 return a long (returns the number of selected rows
2585 or columns respectively).
2586 Changed name of AccessibleText_refRunAttributes to
2587 AccessibleText_getAttributes.
2588 Changed prototype of AccessibleText_getCharacterExtents to
2589 return a void rather than a boolean.
2590 Added support for a AccessibleCoordType parameter
2591 specifying what type of coordinates are desired.
2592 Added an AccessibleCordType parameter to
2593 AccessibleText_getPointAtOffset.
2595 * cspi/spi_accessible.c:
2596 Added code to return the outstanding interfaces from
2597 Accessible_queryInterface.
2599 * cspi/spi_action.c:
2601 Corrected call to getNActions to call the c binding
2604 * cspi/spi_editabletext.c:
2606 Changed name from setRunAttributes to setAttributes.
2608 * cspi/spi_hyperlink.c:
2610 Changed call to getNAnchors to correctly call the c
2611 binding for an attribute.
2613 * cspi/spi_hypertext.c:
2615 Changed getImageDescription to correctly call the
2616 binding for an attribute.
2618 * cspi/spi_selection.c:
2619 Changed getNSelectedChildren to correctly call the c
2620 binding for the attribute.
2621 Changed refSelectedChild to getSelectedChild.
2625 Changed getCaption to return an Accessible.
2626 Fixed calls which retrieve attributes.
2627 Changed refAt to getAccessibleAt.
2628 Changed getNSelectedRows and getNSelectedColumns to
2632 Changed getCharacterExtents and getPointAtOffset to accept an
2633 AccessibleCoordType.
2635 Changed calls which retrieve attributes.
2636 Changed refRunAttributes to getAttributes.
2641 * idl/Hyperlink.idl:
2642 Changed n_anchors attribute to nAnchors to keep naming
2643 convention consistent.
2646 Made Table inherit from Bonobo::Unknown.
2647 Added nSelectedColumns and nSelectedRows attributes.
2650 Made Value inherit from Bonobo::Unknown.
2652 * libspi/hyperlink.c:
2653 Change for nAnchors attributte name change.
2656 <2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
2658 implementations-- made server implementations own AtkObject pointers
2659 rather than their respective AtkInterrface pointers to fix
2660 refcounting. AtkHyperlink is still broken.
2662 <2001-09-04 Bill Haneman <bill.haneman@sun.com>
2663 * cspi/spi_accessible.c:
2664 Added method Accessible_Role_getName(),
2665 and requisite string array (role_names).
2666 Added conversion string_from_corba_strin() call
2667 to Accessible_getName and _getDescription.
2668 * libspi/accessible.c:
2669 Added implementation for Accessible_getRole()
2671 Added festival support, used if environment variable
2674 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2676 * at-bridge/bridge.c:
2677 Now allocate Accessibility_Event using
2678 Accessibility_Event__alloc() instead of g_new0().
2679 * libspi/accessibleeventlistener.c:
2680 Initialize AccessibleEventListener->callbacks to NULL.
2681 Fixed accessible__event_listener_init() param, changed to
2682 "AccessibleEventListener *" type.
2683 Changed a bonobo_object_release_unref() call to
2684 Accessibility_Accessible_unref().
2685 * libspi/listener.c:
2686 Changed Bonobo_Unknown_unref to (equivalent)
2687 Accessibility_Accessible_unref.
2688 * libspi/registry.c:
2689 Changed bonobo_object_release_unref to
2690 Accessibility_Accessible_unref.
2692 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2695 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
2696 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
2697 spi-util.c spi-util.h
2698 Implementations for C bindings to remaining accessibility
2701 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
2704 changed return value of Action from void to boolean to
2705 bring in line with ATK.
2708 Changed getText funcions to return "out" start and end offsets.
2709 Changed getAttributes to take and offset and return the start
2710 and end offset of the attribute run.
2711 Changed getOffsetAtPoint and getCharacterExtents to take an
2712 enum describing whether coordinates are window or screen.
2715 libspi/action.c libspi/action.h libspi/editabletext.c
2716 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
2717 libspi/hypertext.c libspi/hypertext.h libspi/image.c
2718 libspi/image.h libspi/selection.c libspi/selection.h
2719 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
2720 libspi/value.c libspi/value.h
2721 Added server implementations for outstanding ATK interfaces
2722 not yet implemented.
2724 2001-09-04 Bill Haneman <bill.haneman@sun.com>
2727 Added (missing) getName() method.
2728 Made nActions an attribute.
2729 * idl/EditableText.idl:
2730 Changed order of params in setAttributes.
2731 * idl/Hyperlink.idl:
2732 Removed getAnchor, added getURI.
2734 Changed attributes to methods, for efficiency
2735 (so that getting extents can be done in one call)
2736 * idl/Selection.idl:
2737 Changed nSelectedChildren to attribute, and re-indented.
2738 * idl/Table.idl: changed nrows, ncolumns, caption, summary
2740 * idl/Text.idl: reformatted to match our coding style.
2741 (temporarily?) removed getRowColumnAtOffset().
2742 Changed text selection API to support multi-select and
2743 non-contiguous selections, as in ATK.
2744 * idl/Value.idl: changed some methods to attributes.
2746 2001-08-24 Mark McLoughlin <mark@skynet.ie>
2748 * libspi/listener.c(impl_notify_event):
2749 BonoboUnkown_unref the source instead
2750 of bonobo_object_release_unref - the ORB
2751 handles the releasing.
2753 * configure.in: require ORBit-2.3.94 for
2756 2001-08-21 Bill Haneman <bill.haneman@sun.com>
2758 Tagged CVS repository 'EA_1_0'.
2759 * README.EARLY_ACCESS:
2760 Alphabetized acknowledgements list, and
2762 Listed some known dependencies of at-spi.
2764 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2766 * docs/at-spi-docs.sgml:
2767 * docs/at-spi-sections.txt:
2768 * docs/at-spi-overrides.txt: (Added zero-length file)
2769 Documentation improvements - gtk-doc should build
2770 docs for all implemented C bindings now.
2773 * cspi/spi.c: (New file)
2774 * cspi/spi_event.c: (New file)
2775 * cspi/spi_registry.c: (New file)
2776 * cspi/spi_accessible.c: (New file)
2777 * cspi/spi_application.c: (New file)
2778 * cspi/spi_component.c: (New file)
2779 Split spi_main.c into six parts, and included them from
2780 "spi.c". This is a bit of a hack, probably temporary,
2781 but required by gtk-doc, apparently.
2783 2001-08-20 Bill Haneman <bill.haneman@sun.com>
2786 * docs/at-spi-docs.sgml:
2787 * docs/at-spi-sections.txt:
2789 Initial checkins/modifications for gtk-doc generation.
2792 Added (missing) interface query methods to Accessible's C binding.
2794 Added GenericInterface type definition.
2796 Added query for AccessibleComponent interface to focus event handler.
2797 Added printout of bounding box for focussed component.
2798 * libspi/component.c:
2799 Added partial implementation for AccessibleComponent to C binding.
2800 * idl/Application.idl:
2801 * libspi/registry.c:
2802 * libspi/listener.c:
2803 * libspi/application.c:
2804 * libspi/application.h:
2805 Changed "ID" attribute type from string to long.
2807 2001-08-19 Bill Haneman <bill.haneman@sun.com>
2811 Made method naming consistent: methods taking object args
2812 start with uppercase, other methods (except those using
2813 acronyms) start with lowercase. Underscores delimit between
2814 object names and method names:
2815 SPI_init() - uppercase since it starts with an acronym.
2816 getDesktopCount () - lowercase start since no object param0.
2817 Accessible_getName() - uppercase object type name, studlyCaps method
2821 Added gtk-doc documentation for all currently implemented
2822 methods in the C bindings API.
2824 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2826 * Makefile.am : changed build order to build test last.
2829 Changed "createEventListener" to "CreateEventListener".
2830 * libspi/accessibleeventlistener.c :
2831 Bugfix for addition of callbacks.
2832 * test/Makefile.am :
2833 * test/simple-at.c :
2834 Added new test that uses the C bindings API.
2836 * libspi/listener.c :
2837 * libspi/registry.c :
2838 * libspi/accessibleeventlistener.c :
2839 * at-bridge/bridge.c :
2840 Renamed member "target" of Accessibility_Event to "source",
2841 which is more descriptive.
2844 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2848 * cspi/Makefile.am :
2849 Added makefile support for at-spi/cspi directory.
2852 * cspi/spi-listener.h : (NEW FILE)
2853 Added support for/use of spi-listener.h.
2855 C bindings now build successfully, with no warnings.
2856 * libspi/accessibleeventlistener.h : (NEW FILE)
2857 * libspi/accessibleeventlistener.c : (NEW FILE)
2858 * libspi/Makefile.am :
2859 Added new object type "AccessibleEventListener"
2860 which inherits from Listener, and allows attachment
2861 of in-process callbacks (so that a client with a listening
2862 object instance can add functionality to the local
2863 implementation, dynamically).
2865 2001-08-18 Bill Haneman <bill.haneman@sun.com>
2867 * libspi/accessible.c:
2868 Add implementation for get_index_in_parent().
2870 Added #include of "spi-roletypes.h", and
2871 added enumerated type AccessibleCoordType.
2872 Added definition for KeystrokeListener (function type).
2875 * cspi/spi-statetypes.h :
2876 * cspi/spi-roletypes.h :
2878 Added these headers, used by spi.h.
2880 Added code (NOTE: not yet built by make).
2882 2001-08-18 Mark McLoughlin <mark@skynet.ie>
2884 * libspi/Makefile.am: generate imodule
2885 at the same time as other idl compiler
2888 2001-08-17 Bill Haneman <bill.haneman@sun.com>
2889 * libspi/registry.c :
2890 * libspi/application.c :
2891 * idl/Application.idl :
2892 Made registration with toolkit an application method,
2893 which is required since each app has its own toolkit static
2894 environment. Thus the bridge must register for
2895 notification of toolkit events from each application in turn.
2896 Toolkit notifications are now successfully registered for, and
2897 sent to the listening at client.
2899 Changed toolkit event string to use hyphens rather than underscores.
2900 * libspi/listener.c :
2901 listner now gives more info in debug mode - it reports the
2902 name of the event received, as well as the name of the source.
2905 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2907 * libspi/registry.c :
2908 added more implementation for toolkit events.
2909 Fixed bug such that toolkit event registrations
2910 (via atk) use the whole event name string, not
2912 Removed a useless call to an ORBit_ method.
2913 * at-bridge/bridge.c :
2914 Removed unused local sbuf[] variable.
2916 We now register for Gtk:GtkWidget:button_press_event
2917 events as well as "focus:" events.
2919 Add some more API from Registry.idl that was missing,
2920 for keystroke listening, keystroke and mouse event
2921 synthesis, and enumeration of accessible desktops.
2923 2001-08-16 Michael Meeks <michael@ximian.com>
2925 * configure.in: use AM_GLIB_GNU_GETTEXT.
2927 * Makefile.am (SUBDIRS): kill intl.
2929 2001-08-15 Michael Meeks <michael@ximian.com>
2931 * registryd/Makefile.am: s/oaf/server/ relocate info file.
2933 * configure.in: upd.
2935 * configure.in: depend on a recent bonobo-activation that
2936 will find our server files ...
2938 2001-08-16 Bill Haneman <bill.haneman@sun.com>
2940 * libspi/accessible.c : accessible_new() :
2941 Now we add the Component interface via bonobo_object_add_interface,
2942 if the contained AtkObject implements AtkComponent.
2943 * libspi/accessible.h : now include "component.h"
2944 * libspi/component.h :
2945 * libspi/component.c : added files - implementation of
2946 bonobo wrapper object for Accessibility/Component
2947 * libspi/listener.c :
2948 Added test code to check for Accessibility/Component:1.0
2949 interface and report whether it is implemented by the
2951 * libspi/registry.c :
2952 Now we check for not only the hash of the whole event
2953 string before relaying the event, we also check the
2954 "minor" event string (without the detail string).
2955 This allows event listeners to be registered against
2956 all events of a certain major+minor type, or just
2957 against a specific major+minor+detail type.
2958 * libspi/accessible.c :
2959 Added implementations for Accessible:get_parent(),
2960 Accessible:getChildCount(), and Accessible:getChildAtIndex().
2961 * libspi/registry.c :
2962 * libspi/listener.c :
2963 Replaced calls to Accessibility_Accessible_ref() and
2964 Accessibility_Accessible_unref() with
2965 calls to bonobo_object_dup_ref() and
2966 bonobo_object_release_unref(), so that the CORBA object
2967 is dup-ed and released when relayed, as well as the bonobo object.
2969 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2971 * libspi/Makefile.am,
2972 registryd/Makefile.am,
2973 at-bridge/Makefile.am.
2974 test/Makefile.am, configure.in:
2975 reverse previous changes.
2977 * /idl/Image.idl: fix typo.
2979 * test/Makefile.am: put DEBUG_FLAGS
2982 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2984 * test/app.c: use argv[0] instead of
2987 2001-08-15 Mark McLoughlin <mark@skynet.ie>
2989 * libspi/Makefile.am,
2990 registryd/Makefile.am,
2991 at-bridge/Makefile.am.
2992 test/Makefile.am, configure.in:
2993 cleanup, replace individual LIBS/CFLAGS with
2994 AT_COMMON_{LIBS|CFLAGS}.
2998 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3000 * configure.in, libspi/Makefile.am:
3001 Change IDL path checking for bonobo-activation
3004 2001-08-15 Bill Haneman <bill.haneman@sun.com>
3006 * registryd/registry.c : separated event listeners to use
3007 3 separate lists (focus, window, toolkit). Began testing
3008 event names against hashes before relaying events.
3009 * test/at.c : now register for events of type "focus:"
3010 * test/app.c : now generate events of type "focus:"
3011 * at-bridge/bridge.c : register with ATK for focus events,
3012 and we now relay those focus events to any "focus:" listeners.
3013 This now works with the bridge as a GTK_MODULE when running test/at.
3014 * libspi/registry.c :
3015 * libspi/listener.c :
3016 now we ref event sources before propagating, and unref on receipt.
3017 * libspi/registry.c :
3018 some changes to internal structs, to support event typestring hashes.
3019 * text/app.c : changed the way the appname is generated.
3020 * cspi : added directory that will hold the C bindings library for
3021 non-CORBA/bonobo-savvy clients.
3022 * cspi/spi.h : header file that contains the function prototypes for the C binding.
3023 * idl/Component.idl : added in parameter to indicate coord system for
3024 geometry-related calls.
3025 * idl/Hyperlink.idl : added readonly n_links attribute
3026 * idl/Image.idl : changed methods to attributes.
3028 2001-08-15 Mark McLoughlin <mark@skynet.ie>
3030 * at-bridge/Makefile.am: link against
3031 ../libspi/libspi.la instead of -lspi.
3033 * at-spi/test/app.c: include
3034 bonobo-activation.h. Use a default appname
3035 if one is not provided.
3037 2001-08-14 Bill Haneman <bill.haneman@sun.com>
3039 * idl/Registry.idl : temporarily changed register_Application
3040 to oneway, to work around issue with initial registration
3042 * idl/Application.idl : changed attribute "id" from readonly
3043 to read-write, since it needs to be assigned by Registry.
3044 * registryd/registryd.c : added call to set application id
3046 * registryd/registry.c : changed de-registration procedure to
3047 use CORBA_Object_hash() to find matching object ref in application
3048 lists and listener lists.
3049 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
3050 began distinguishing between event types (work in progress).
3052 2001-08-13 Bill Haneman <bill.haneman@sun.com>
3055 * libspi/application.c:
3056 Added implementations for get/set id, get_toolkitName,
3058 * registryd/registryd.c :
3062 Converted from use of OAF to bonobo-activation.
3063 * libspi/desktop.h :
3064 * libspi/desktop.c :
3066 Removed references to atksimpleobject, since base atkobject
3067 implementation now provides functionality we need.
3068 * libspi/atksimpleobject.c :
3069 * libspi/atksimpleobject.h :
3074 * at-bridge/Makefile.am
3075 * at-bridge/bridge.c
3078 Added directory "bridge" and contents, and added dependencies
3079 in Makefile.am/configure.in.
3080 Initial checkin of "at-bridge".
3081 This code is a GTK_MODULE which automatically registers
3082 GTK+ apps with the accessibility registry, using an object
3083 reference to the root ATK object.
3085 2001-08-10 Mark McLoughlin <mark@skynet.ie>
3087 * po/Makefile.in.in: Remove. Again. If this
3088 doesn't get autogenerated - you need to update
3091 2001-08-07 Mark McLoughlin <mark@skynet.ie>
3093 * po/Makefile.in.in: Add. Again.
3095 2001-07-31 Bill Haneman <bill.haneman@sun.com>
3097 * libspi/accessible.c : added support for 'description' property.
3098 * libspi/accessible.c
3100 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
3101 (since the two are now equivalent in libbonobo)
3109 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
3110 Bonobo::Unknown as does Accessibility::Accessible.
3111 * idl/StreamableContent.idl : as above, and replaced internal InputStream
3112 interface with Bonobo::Stream, since it was redundant with it.
3113 (The Stream returned by a StreamableContext object is expected to
3114 implement only a subset of Bonobo::Stream)
3116 2001-07-28 Anders Carlsson <andersca@gnome.org>
3118 * libspi/accessible.c (accessible_object_finalize): Change
3119 g_free to g_object_unref since the AtkObject is a GObject.
3121 2001-07-30 Bill Haneman <bill.haneman@sun.com>
3123 * idl/Accessibility.idl: add new IDL files
3126 * idl/Action.idl: Definitions of actionable UI object
3127 * idl/Component.idl: Definitions of UI component geometry, etc.
3128 * idl/Hyperlink.idl: Defs of hyperlink behavior
3129 * idl/Image.idl: Def of accessible image
3130 * idl/Selection.idl: Definition of UI object with selectable children
3131 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
3132 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
3133 * idl/Text.idl: Interface defs for UI elements with complex textual content
3134 * idl/Value.idl: Definition of UI element that is a value controller or display
3136 2001-07-27 Michael Meeks <michael@ximian.com>
3138 * po/Makefile.in.in: remove autogenerated file from CVS.
3140 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
3143 * idl/Registry.idl: include guard.
3145 * idl/Accessibility.idl: Add, and include all the other IDL
3148 * idl/*.idl: remove mass of pragmas etc.
3150 2001-07-26 Michael Meeks <michael@ximian.com>
3152 * registryd/Makefile.am (registryd_SOURCES): remove
3155 2001-07-27 Mark McLoughlin <mark@skynet.ie>
3157 * libspi/.cvsignore, registryd/.cvsignore,
3158 test/.cvsignore: updated.
3160 * po/Makefile.in.in: gettext update.
3162 2001-07-25 Bill Haneman <bill.haneman@sun.com>
3164 * initial CVS checkin
3166 2001-06-29 Michael Meeks <michael@ximian.com>
3168 * configure.in: add AM_CONFIG_HEADER to gen config.h