+2002-10-01 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in:
+ Update version number to 0.4 for Beta2.
+
+ * libspi/accessible.c, libspi/accessible.h:
+ Expose spi_accessible_construct, to enable libgail-gnome
+ construction from spi_accessible subtype.
+
+ * utils/magnifier.c:
+ Workaround for bug in some non-gnome-compliant window managers
+ which made magnifier resize improperly.
+
+2002-09-01 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/accessible.c: (spi_accessible_new) :
+ Move the test for SPI_IS_REMOTE_OBJECT to
+ spi_accessible_new_return, fixing a bug and compile time warning.
+
+2002-01-08 Michael Meeks <michael@ximian.com>
+
+ * registryd/registry.c (parse_event_type): remove strndup.
+
+ * libspi/Makefile.am (libspi_la_SOURCES): remove
+ sources already included in the headers section.
+
+ * libspi/util.c: add.
+
+ * libspi/spi-private.h: add.
+
+ * registryd/registry.c: update to moved list iterators.
+
+2002-01-05 Michael Meeks <michael@ximian.com>
+
+ * test/simple-at.c (main): upd. auto-module set to atk-bridge
+
+ * test/test-simple.c (main): ditto.
+
+2002-01-04 Michael Meeks <michael@ximian.com>
+
+ * libspi/accessible.c (spi_accessible_new): remove 2nd,
+ redundant construct.
+
+ * registryd/registry.c
+ (get_listener_list): impl.
+ (impl_accessibility_registry_register_global_event_listener):
+ re-impl. to simplify using ~, remove dodgy const cast off.
+ (parse_event_type): constify.
+ (impl_accessibility_registry_deregister_global_event_listener_all):
+ re-write, more efficiency and simplicity, kill re-enterancy
+ hazard.
+ (compare_listener_corbaref, compare_corba_objects),
+ (compare_listener_quarks): define out.
+ (impl_accessibility_registry_deregister_global_event_listener):
+ re-write for effiency, and nail re-enterancy hazard.
+ (impl_accessibility_registry_get_desktop_list): impl.
+ (re_enterant_list_delete_link): impl.
+ (re_enterant_list_foreach): impl.
+ (remove_listener_cb): impl.
+ (_registry_notify_listeners): kill.
+ (notify_listeners_cb): impl.
+
+ * cspi/spi_registry.c (SPI_freeDesktopList): impl.
+ (SPI_getDesktopList): impl.
+
+ * test/test-simple.c (test_desktop): test the methods.
+
+2002-01-03 Michael Meeks <michael@ximian.com>
+
+ * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
+ keystrings since we free them
+ (SPI_freeAccessibleKeySet): in here.
+
+ * libspi/accessible.c (spi_accessible_new): kill warning,
+ wonder what is going on with the constructor here.
+
+2002-03-01 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/accessible.c (spi_accessible_new ()) :
+ Added check to see if AtkObject is an SpiRemoteObject before
+ creating an SpiAccessible.
+
+2002-05-01 Bill Haneman <bill.haneman@sun.com>
+
+ * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
+ Enable keygrabs using the Control modifier, now that they are
+ working properly (they were previously disabled).
+
+ * test/simple-at.c:
+ Change the command keygrab for this demo to "Control+Alt", so as
+ to conflict with fewer other key commands on the system; this
+ means that the quit command for "simple-at" is now "Ctrl-Alt-q".
+
+ Removed a pointlessly-chatty keylistener for unshifted keys
+ (shifted keys are still reported).
+
+2002-02-01 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/remoteobject.h:
+ * libspi/remoteobject.c:
+ Added definitions for special AtkObject subtype, required for
+ support of remote components (specifically, used by BonoboControl
+ accessibility implementation).
+
+2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * cspi/spi.h: synched relation types with ATK
+
+ * cspi/spi_accessible.c: Added implementations of
+ AcccessibleRelation_* methods
+
+ * idl/Accessibility_Relation.idl: added getRelationTypeName
+ method. Synched known relation types with ATK. Allowed for
+ relation type extension with the RELATION_EXTENDED type.
+
+ * libspi/relation.c: Provided implementations for
+ AccessibleRelation methods.
+
+2002-01-01 Bill Haneman <bill.haneman@sun.com>
+
+ API tweaks for today's API 'freeze'.
+
+ * idl/*:
+ Added placeholder functions to allow future compatible expansion
+ of the IDL interfaces.
+
+ * idl/Accessibility_Registry.idl:
+ Changed generateKeyEvent to generateKeyboardEvent. Changed
+ signature of this method to accept an optional keystring in
+ parameter (for complex text input synthesis) and changed use of
+ simple 'boolean' parameter in registerKeystrokeListener to a
+ struct, EventListenerMode.
+
+ * cspi/spi_accessible.c:
+ * cspi/spi.h:
+ * cspi/spi_streamablecontent.c:
+ Added references to AccessibleStreamableContent interface, and
+ definition and implementation of AccessibleStreamableContent
+ C bindings.
+
+ * cspi/spi_registry.c:
+ * cspi/spi.h:
+ Changed generateKeyEvent API to generateKeyboardEvent,
+ taking a new (optional) keystring parameter to support complex
+ text input.
+
+ * at-bridge/*:
+ * atk-bridge/*:
+ Renamed directory (to better reflect its actual purpose, bridging
+ from at-spi to ATK). The .so module is also now named
+ libatk-bridge.so.
+
+ * idl/Accessibility_Hypertext.idl:
+ * libspi/accessible.c:
+ * libspi/hypertext.h:
+ * libspi/hypertext.c:
+ Changed Accessibility_Hypertext to *not* derive from
+ Accessibility_Text.
+
+ * cspi/spi_registry.c:
+ Added list of legal event type names for 'window' events, which
+ completes the registry event API.
+
+2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * at-bridge/bridge.c: Added registration for separate
+ "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
+ signals. If either of the first two parameters to the generic
+ bridge signal handler are ints, they are passed on as event
+ details. This allows an AT to determine what text was inserted.
+
+2001-12-21 Bill Haneman <bill.haneman@sun.com>
+
+ * registryd/deviceeventcontroller.c:
+ Fixed regressions in generateKeyEvent caused by the removal of
+ gdk_init from registryd; we now use pure X calls to connect to the
+ display, which makes sense because deviceeventcontroller already
+ uses a fair bit of X API (should eventually be migrated to a
+ 'portability layer').
+
+ * registryd/desktop.c:
+ Fixed minor regression in spi_desktop_init, changed the way the
+ desktop name is being set to work with new spi_base API
+ (gobject-based, rather than AtkObject-based).
+
+ * registryd/Makefile.am:
+ Minor revision of makefile to use XTST_LIBS variable rather than
+ hard-wiring the Xtst LD_ADD element.
+
+ * test/keysynth-demo.c:
+ Tweaked an output message; added initialization of the
+ 'keystrings' member of the "switch listener" key_set.
+
+ * libspi/relation.c:
+ Squashed compile-time warning.
+
+ * libspi/accessible.c:
+ Cosmetic and formatting fixes, renamed a static method.
+
+2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * libspi/accessible.c
+ * libspi/action.c
+ * libspi/application.c
+ * libspi/base.c
+ * libspi/base.h
+ * libspi/component.c
+ * libspi/editabletext.c
+ * libspi/hyperlink.c
+ * libspi/hypertext.c
+ * libspi/image.c
+ * libspi/selection.c
+ * libspi/table.c
+ * libspi/text.c
+ * libspi/value.c
+ * registryd/desktop.c:
+ Changed SpiBase to contain a GObject pointer rather than an AtkObject
+
+2001-12-17 Bill Haneman <bill.haneman@sun.com>
+
+ * idl/Accessibility_Registry.idl:
+ Added boolean member 'is_text' to DeviceEvent. This is for the
+ use of key events, and helps prevent ambiguity between composed
+ key strings and keysym names, since both may potentially be
+ returned in the 'event_string' member.
+
+ * at-bridge/bridge.c:
+ * registryd/deviceeventcontroller.c:
+ Use the 'is_text' member when notifying device event listeners.
+ Knon issue: composed characters are not dealt with correctly by
+ the global key listener implementation yet.
+
+2001-12-17 Bill Haneman <bill.haneman@sun.com>
+
+ * at-bridge/bridge.c:
+ Namespaced local static methods to spi_atk_bridge_* where
+ previously named bridge_*, and spi_* elsewhere.
+
+ * at-bridge/bridge.c:
+ * cspi/bonobo/cspi-bonobo-listener.c:
+ Added demarshalling/conversion for string member of
+ Accessibility_DeviceEvent to AccessibleKeystroke.
+
+ * registryd/deviceeventcontroller.c:
+ Added code to fill the Accessibility_DeviceEvent key string value
+ member for global key events (i.e. from XGrabKey), to match
+ behavior of Accessibility_DeviceEvent from the toolkit key events
+ from the bridge. Fixed timestamp in global key event notifications.
+
+ * test/simple-at.c:
+ Added printout of key event's string value to
+ report_ordinary_key_event, for demo/debugging purposes.
+
+2001-12-15 Bill Haneman <bill.haneman@sun.com>
+
+ * idl/Accessibility_Registry.idl:
+ Removed Accessibility_KeyStroke structure in favor of generic
+ Accessibility_DeviceEvent structure.
+ Changed Accessibility_ControllerEventMask from a struct to an
+ unsigned long.
+
+ * at-bridge/bridge.c:
+ Changed APIs to use DeviceEvent structure as above, and removed
+ bogus casting between these event structures.
+
+ * cspi/spi-listener.h:
+ Added keystring member of AccessibleKeystroke structure, to enable
+ matching on event "names" rather than only hardware codes and
+ keysyms.
+
+ * cspi/spi.h:
+ Added keystrings member of AccessibleKeySet struct, to allow
+ matching on event names (as above).
+ Added declarations for SPI_createAccessibleKeySet and
+ SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
+ event modmasks directly as unsigned ints rather than structs with
+ refcounts, in the DeviceEventController methods.
+
+ * cspi/spi_registry.c:
+ Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
+
+ * cspi/spi-roletypes.h:
+ Added documentation of newly added SPI Roles.
+
+ * cspi/bonobo/cspi-bonobo-listener.c:
+ Changes in support of API changes above.
+
+ * libspi/accessible.c:
+ Converted APIs to use DeviceEvent structure (see IDL changes
+ above).
+
+ * registryd/deviceeventcontroller.c:
+ Added DEControllerGrabMask structure to track keygrabs not only by
+ modmask but by keyset as well; this allows us to do "global"
+ (i.e. X) keygrabs on a per-key or keyset basis rather than always
+ grabbing on AnyKey and then filtering after-the-fact.
+ Bugfixes for event filtration mean that we don't get false matches
+ on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
+
+ * registryd/deviceeventcontroller.c:
+ Namespaced a number of static methods to use spi_ prefix. Major
+ revision to internals of global (i.e. X) key grabs.
+
+ * registryd/deviceeventcontroller.h:
+ Removed keymask_list and added keygrabs_list to
+ SpiDeviceEventController struct.
+
+ * test/simple-at.c:
+ Added use of SPI_createAccessibleKeySet API when creating a
+ listener for only one key. Attach a listener to "shift spacebar
+ SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
+ X key event names to SPI key event names, so that listeners are
+ registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
+
+ * test/keysynth-demo.c:
+ Changed (incorrect) use of X key event names (KeyPressed,
+ KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
+
+
+2001-12-12 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/accessible.c:
+ Convert all AtkRole enumerations to Accessibility_Role enums when
+ getting a role from an AtkObject.
+
+ * cspi/spi_accessible.c:
+ Complete the conversion of Accessibility_Role enums at runtime to
+ AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
+ role enums correctly match those given in spi-roletypes.h.
+ Re-synchronize the local names list for AccessibleRole_getName ().
+ AccessibleRole_getName is now deprecated, since it duplicates the
+ more reliable Accessible_getRoleName.
+ Added some role types from Accessibility_Role.idl.
+
+ * idl/Accessibility_Role.idl:
+ Added some role types used by AtkRole.
+
+2001-12-12 Bill Haneman <bill.haneman@sun.com>
+
+ * cspi/spi.h:
+ * cspi/spi_registry.c:
+ * cspi/spi_event.c:
+ * cspi/cspi-bonobo-listener.c:
+ Namespaced all methods that did not begin with an "SPI_" or
+ "Accessible" prefix to "SPI_".
+
+ * cspi/spi_main.c:
+ Homogenized internal function namespace to "cspi_" for statics.
+
+ * test/*.c:
+ Patched tests to use the new CSPI API.
+
+ * docs/reference/cspi/at-spi-cspi-sections.txt:
+ Updated docs to reflect namespace changes, and added a number of
+ methods to the documentation.
+
+ * registryd/registry.c:
+ Changed use of strings and string hashes in listener event
+ matching and parse_event_string to use GQuark, which is guaranteed
+ unique.
+
+ * registryd/registry.h:
+ Squashed annoying warning.
+
+ * idl/Accessibility_Role.idl:
+ Extended range of available Accessibility_Role values.
+
+ * cspi/spi_accessible.c:
+ Re-ordered role names.
+
+2001-12-12 Bill Haneman <bill.haneman@sun.com>
+
+ * idl/Accessibility_Value.idl:
+ Revert use of union back to CORBA_double, since the double type is
+ more efficient and can contain the other types without loss of
+ precision.
+
+ * idl/Accessibility_Accessible.idl:
+ Added method Accessibility:Accessible:getRoleName, to complement
+ Accessibility:Accessible:getRole.
+
+ * cspi/spi_accessible.c:
+ * cspi/spi.h:
+ Added C binding for above, Accessible_getRoleName (), and changed
+ signature of Accessible_getRole () to return an AccessibleRole.
+
+ * cspi/spi-roletypes.h:
+ Changed AccessibleRole_getName to return a char * instead of a
+ const char *. This method is now at least temporarily deprecated
+ in favor of asking Accessibles for their RoleNames directly.
+
+ * libspi/value.c:
+ Revert to match Accessibility_Value.idl;
+
+ * cspi/spi_value.c:
+ * cspi/spi.h:
+ Change signature of AccessibleValue methods to use double rather
+ than float.
+
+ * cspi/spi.h:
+ * cspi/spi_accessible.c:
+ Changed Accessible_getRole to return an AccessibleRole enum rather
+ than a UTF-8 string. The UTF-8 string can still be obtained via
+ AccessibleRole_getName ().
+
+ * test/test-simple.c:
+ Add test_action. Small fixup to match API change to Accessible_getRole.
+
+ * libspi/action.c:
+ Bugfix for get_action_from_servant ().
+
+2001-12-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/libspi.h: remove registry.h and
+ desktop.h, deviceeventcontroller.h
+
+ * libspi/Makefile.am: remove registry.[ch],
+ desktop.[ch], deviceeventcontroller.[ch]
+
+ * registryd/Makefile.am: add registry.[ch],
+ desktop.[ch], rename registryd.c to registry-main.c.
+ add deviceeventcontroller.[ch]
+
+2001-12-11 Bill Haneman <bill.haneman@sun.com>
+
+ * test/simple-at.c:
+ Replace setenv() call with putenv ().
+
+ * libspi/component.c:
+ Bugfix in AccessibleComponent_getExtents (),
+ (from Adi Dascal).
+
+2001-12-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/image.c (impl_getImageExtents): impl.
+ (spi_image_class_init): upd.
+
+ * cspi/spi_image.c
+ (AccessibleImage_getImageDescription): fix daft bug
+ of mine (doh).
+
+ * test/test-simple.c (global_listener_cb): update
+ to only quit if not --poke
+ (main): catch --poke.
+ (validate_accessible): upd. dumping, call test_image
+ (test_image): impl.
+
+ * libspi/Makefile.am (IDL_DEPS): fixup the IDL
+ dependencies.
+
+ * idl/Accessibility.idl: update all IDL includes.
+
+ * idl/*.idl - rename to namespace - this sucks, blame
+ mjs' bad decision for oafd.
+
+ * test/test-simple.c (create_test_window): add more tests.
+ (create_tree): split this out.
+ (validate_accessible): bugfix.
+
2001-12-11 Michael Meeks <michael@ximian.com>
* cspi/bonobo/cspi-bonobo-listener.c: