+2001-22-11 Bill Haneman <bill.haneman@sun.com>
+
+ * test/simple-at.c:
+ Added non-preemptive keylistener for key events with no modifiers
+ and shift-only modifier.
+
+ * libspi/keystrokelistener.c:
+ Removed some verbose diagnostics printout.
+
+ * cspi/spi_registry.c:
+ Fixed a bug that caused all key listeners to be registered as
+ pre-emptive.
+
+ * libspi/deviceeventcontroller.c:
+ Fixed bug that caused XGrabKey (preemptive key grab) to be called
+ for non-preemptive key masks.
+
+
+2001-22-11 Bill Haneman <bill.haneman@sun.com>
+
+ * docs/reference/idl/at-spi-idl-docs.sgml:
+ * docs/reference/idl/at-spi-idl-sections.txt:
+ * docs/reference/idl/at-spi-idl-overrides.txt:
+ Added missing files.
+
+ * docs/reference/Makefile.am:
+ removed idl from SUBDIRS until we can figure a way to get gtk-doc
+ to scan the IDL files :-(
+
+ * docs/reference:
+ * docs/cspi:
+ * docs/idl:
+ Added .cvsignore files.
+
+2001-21-11 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/deviceeventcontroller.c:
+ * libspi/keystrokelistener.c:
+ * cspi/spi_event.c:
+ * cspi/spi_registry.c:
+ Added filters for KeySets, KeyEventSeq, and event types to key
+ event dispatching, so listeners should only receive those events
+ that they requested :-)
+
+2001-21-11 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in:
+ * docs/Makefile.am:
+ * docs/reference:
+ * docs/reference:Makefile.am:
+ * docs/reference/cspi:
+ * docs/reference/cspi:Makefile.am:
+ * docs/reference/cspi:tmpl:
+ * docs/reference/cspi:tmpl:*.sgml:
+ * docs/reference/idl:
+ * docs/reference/idl:Makefile.am:
+ * docs/reference/idl:at-spi-idl-sections.txt:
+ * docs/reference/idl:at-spi-idl-docs.sgml:
+ * docs/reference/idl:tmpl:
+ * docs/reference/idl:tmpl:*.sgml:
+
+ Restructured docs directory to allow separate 'reference' docs
+ section, and forked idl and cspi docs. Added the sgml template
+ files to CVS. Added the first sections/structural sgml for the
+ IDL docs.
+
+2001-11-21 Laszlo Peter <laca@ireland.sun.com>
+
+ * configure.in, libspi/Makefile.am: find libXtst.
+
+2001-11-21 Michael Meeks <michael@ximian.com>
+
+ * test/accessx-gui.c: s/spi_value/value/ - doh.
+
+ * libspi/base.[ch]: add.
+
+2001-18-11 Bill Haneman <bill.haneman@sun.com>
+
+ * idl/Accessible.idl:
+ * idl/Application.idl:
+ * idl/Registry.idl:
+ * idl/Action.idl:
+ Started gtk-doc cleanup on IDL.
+
+ * libspi/deviceeventcontroller.c:
+ Added and connected non-preemptive key notification from the
+ toolkits (in addition to the pre-emptive support from XServer
+ which we had before, but which causes 'focus flashing'). Filters
+ are presently limited to key modifiers and global/non-global,
+ KeySets are presently ignored, as are KeyEvent masks.
+
+ Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
+ structs into the persistant structure rather than just storing
+ pointers to things that might not persist across servant
+ invocations.
+
+ The XGrabKey call now does async keygrabs, because synchronous
+ ones were deadlocking with GDK_event code in a very nasty way.
+
+ Added boolean to internal method notify_keylisteners, to indicate
+ whether the event came from the 'toolkit source' or the 'global
+ (XServer) source' - this is used in the notification process to
+ determine which listeners to send the event to.
+
+ deviceeventcontroller.c is now warning-free.
+
+ * libspi/registry.c:
+ Fixed regression in application de-registration.
+ Also fixed some really brain-dead weirdness having to do with
+ event dispatching - event structs are now duplicated before being
+ re-marshalled in the dispatch to listeners. This also fixes a
+ Solaris build problem.
+
+
+2001-20-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/registry.c
+ (impl_accessibility_registry_deregister_global_event_listener):
+ segv. protection.
+
+ * libspi/deviceeventcontroller.c
+ (spi_device_event_controller_check_key_event): return
+ FALSE on no virtual method.
+
+ * libspi/*..h: make includes work on a correctly pathed install.
+
+ * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
+
+ * libspi/application.h: kill unused ( and whacked out )
+ gboolean *spi_application_set_id (AtkObject *app, long id);
+
+2001-20-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/*.[ch]: further convert to bonobo's type func
+ macros, remove redundnant casts etc.
+
+ * libspi/text.c s/accessibility_text/spi_text/g,
+ re-order to de-cruft.
+
+ * libspi/hypertext.c: re-order to kill a huge slew
+ of redundant forward decls.
+
+ * libspi/relation.c: ditto.
+
+ * libspi/image.c: ditto.
+
+ * */.cvsignore: update
+
+2001-20-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/deviceeventcontroller.c
+ (_controller_register_with_devices): use g_getenv,
+ kill stdlib.h include.
+
+ * libspi/keystrokelistener.c
+ (spi_keystroke_listener_get_type): kill
+ (spi_keystroke_listener_class_init),
+ (spi_keystroke_listener_init): rename to this.
+
+ * libspi/text.c (impl_getAttributes): fix warning / bug.
+
+ * libspi/*.[ch]: more headers, includes and over commenting.
+
+2001-20-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/*.[ch]: fixup headers, includes and over commenting.
+
+ * libspi/image.c (impl__get_imageDescription): const
+ correctness warning fix. remove redundant casting.
+
+ * libspi/table.c (impl_getRowDescription): ditto.
+ (impl_getColumnDescription): ditto.
+
+ * libspi/libspi.h: add.
+
+2001-19-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/editabletext.c (impl_setAttributes): fix warnings.
+
+ * libspi/component.c (accessibility_component_get_type):
+ rename to (spi_component_get_type): and macroify.
+ (accessibility_component_init): rename to
+ (spi_component_init): this
+ (accessibility_component_class_init): rename to
+ (spi_component_class_init): this
+
+ * libspi/action.c (spi_action_get_type): kill, use the macro.
+
+ * libspi/deviceeventcontroller.c (_compare_listeners): re-order
+ to avoid prototype.
+
+ * libspi/application.c (spi_application_object_event_listener),
+ (impl_accessibility_application_register_object_event_listener):
+ warning fixes / const understanding updates.
+
+ * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
+ warning fixes.
+
+2001-18-11 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/spi_accessible.c: Added docs and C bindings for
+ AccessibleStateSet. (No implementations yet). Documentation
+ coverage for C bindings now 100%. Made docs for event listeners
+ more explicit.
+
+ * idl/Registry.idl:
+ Added methods
+ boolean notifyListenersSync (in DeviceEventListener listener,
+ in DeviceEvent event);
+
+ oneway void notifyListenersAsync (in DeviceEventListener listener,
+ in DeviceEvent event);
+
+ Added DeviceEventListener and DeviceEvent structs (may deprecate
+ KeyStroke and KeystrokeListener in favor of this generic
+ event/listener framework for devices).
+
+ * libspi/deviceeventcontroller.c:
+
+ Changed some key listener code to take masks, etc., and paved the
+ way for integration of toolkit/non-preemptive key events. Changed
+ signatures of some internal methods.
+
+ * at-bridge/bridge.c:
+ Fixed regression connecting to interface signals, apparently
+ caused by GTK+ changes.
+
+ Added an internal bridge_state_listener to deal with
+ property-change:accessible-state signals.
+
+ Changed the key_listeners GList to store structs (including masks,
+ etc.) instead of just CORBA_Objects (required for full
+ implementation of key listener API).
+
+ Connected the bridge to all currently supported Atk signals.
+ Events now supported:
+ object:property-change
+ object:property-change:accessible-name
+ object:property-change:accessible-state
+ object:property-change:accessible-description
+ object:property-change:accessible-parent
+ object:property-change:accessible-value
+ object:property-change:accessible-role
+ object:property-change:accessible-table-caption
+ object:property-change:accessible-table-column-description
+ object:property-change:accessible-table-column-header
+ object:property-change:accessible-table-row-description
+ object:property-change:accessible-table-row-header
+ object:property-change:accessible-table-summary
+ object:children-changed
+ object:visible-data-changed
+ object:selection-changed
+ object:text-selection-changed
+ object:text-changed
+ object:text-caret-moved
+ object:row-inserted
+ object:row-reordered
+ object:row-deleted
+ object:column-inserted
+ object:column-reordered
+ object:column-deleted
+ object:model-changed
+
+2001-16-11 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/hyperlink.c,h:
+ Fixed some broken stuff in hyperlink.
+
+ * libspi/relation.h:
+ * libspi/relation.c:
+ * cspi/spi_accessible.c:
+ Initial implementations of AccessibleRelation methods, and docs.
+
+ * libspi/accessible.c:
+ Fixed a bug that caused SEGV if an accessible
+ object's description is NULL, and a client
+ requests it. An empty string is now returned.
+
+ * cspi/spi_editabletext.c:
+ * cspi/spi_hypertext.c:
+ * cspi/spi_image.c:
+ * cspi/spi_hyperlink.c:
+ * cspi/spi_table.c:
+ Added docs.
+
+ Doc coverage now 95%.
+
+2001-16-11 Bill Haneman <bill.haneman@sun.com>
+
+ One last namespacing revision:
+ * libspi/accessibleeventlistener.[ch]:
+ Renamed SpiAccessibleEventListener to SpiEventListener,
+ (no need for two namespaces ;-)
+
+ And lots of documentation fixes:
+
+ * docs/at-spi-docs.sgml:
+ Fixed 'underscore vs. hyphen' bug that was preventing
+ the gtk-doc API docs from being automatically generated.
+
+ * cspi/spi-impl.h
+ * cspi/spi-listener.h
+ * cspi/spi.h
+ * cspi/spi_accessible.c
+ * cspi/spi_action.c
+ * cspi/spi_application.c
+ * cspi/spi_component.c
+ * cspi/spi_editabletext.c
+ * cspi/spi_event.c
+ * cspi/spi_hypertext.c
+ * cspi/spi_main.c
+ * cspi/spi_registry.c
+ * cspi/spi_selection.c
+ * cspi/spi_text.c
+ * cspi/spi_value.c
+ * docs/Makefile.am
+ * docs/at-spi-docs.sgml
+ * docs/at-spi-sections.txt
+
+ Added and fixed up gtk-doc documentation in cspi.
+
+ Interfaces now (fully) documented (subject to revision and enhancement):
+ SPI_main
+ Event Listener Support
+ Registry API
+ AccessibleApplication
+ Accessible
+ AccessibleAction
+ AccessibleComponent
+ AccessibleEditableText
+ AccessibleSelection
+ AccessibleText
+ AccessibleValue
+
+ still pending:
+ AccessibleStateSet
+ AccessibleRelationSet
+ AccessibleImage
+ AccessibleTable
+ AccessibleHyperlink
+
+2001-14-11 Bill Haneman <bill.haneman@sun.com>
+
+ * at-bridge/bridge.c:
+ Initial work for toolkit-level key snooper connection by bridge.
+
+ * cspi/spi-impl.h:
+ * cspi/spi_*.h:
+ * cspi/spi_*.c:
+ New typedefs and fixes to support new namespacing, and cleaner
+ separation of cspi bindings from libspi bonobo implementation.
+ Removed inconsistent and extraneous Spi* namespace prefix that
+ had crept into cspi headers.
+ Lots of comment fixes that sed had missed.
+
+ * cspi/spi-roletypes.h:
+ * cspi/spi-statetypes.h:
+ Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
+ to AccessibleRoleType.
+
+ * libspi/accessibleeventlistener.h:
+ Fixed minor namespacing weirdness.
+
+ * libspi/deviceeventcontroller.c:
+ Reordered some internal API for device listeners.
+ Changed the key registry final boolean to 'is_system_global'
+ rather than 'is_synchronous', which is more descriptive of its
+ actual meaning.
+ Added spi_device_event_controller_new().
+ Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
+
+ * libspi/keystrokelistener.[ch]:
+ Namespaced KeystrokeListener to SpiKeystrokeListener.
+ Changed uses of keymasks to use SPI_ prefix, and did other
+ knock-on fixups.
+
+ * libspi/keymasks.h:
+ Namespaced keymask constants with SPI_ prefix.
+
+ * libspi/registry.c:
+ Some warning fixes, and knock-on fixes from namespace changes.
+
+ * test/Makefile.am:
+ Added rules for accessx-gui test program.
+
+ * test/accessx-gui.c:
+ Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
+ utility. It doesn't actually use at-spi, but it's still cool and
+ useful ;-)
+
+ * test/keysynth-demo.c:
+ * test/simple-at.c:
+ * test/at.c:
+ * test/app.c:
+ Fixes so that these test clients work properly with the namespaced
+ libraries. (Incompletely tested for technical reasons, fixes may follow)
+
+
+2001-13-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/application.c
+ (impl_accessibility_application_get_version),
+ (impl_accessibility_application_get_toolkit_name):
+ warning fixes.
+ (impl_accessibility_application_set_id),
+ (impl_accessibility_application_get_id): remove
+ redundant casting code.
+
+ * libspi/action.c (impl_getDescription): fix warnings.
+
+ * libspi/accessible.c
+ (impl_accessibility_accessible_get_parent),
+ (impl_accessibility_accessible_get_child_at_index),
+ (impl_accessibility_accessible_get_state),
+ (impl_accessibility_accessible_get_relation_set):
+ warning fixes & include action.h
+
+2001-13-11 Michael Meeks <michael@ximian.com>
+
+ * *.[ch] fix bits I screwed up:
+
+ s/([^ \tb(\*\&\?\",])spi_/\1/g;
+ s/([^ \tb(\*\&\?\",])Spi/\1/g;
+
+2001-13-11 Michael Meeks <michael@ximian.com>
+
+ * *.[ch] Namespace libspi into spi_ and Spi.
+
+2001-13-11 Michael Meeks <michael@ximian.com>
+
+ * Makefile.am: dist & install at-spi-1.0.pc
+
+ * libspi/Makefile.am: install into at-spi-1.0
+
+ * idl/Makefile.am (idldir): install into at-spi-1.0
+
+ * at-spi-1.0.pc.in: add.
+
+ * configure.in: build it.
+
+2001-12-11 Bill Haneman <bill.haneman@sun.com>
+
+ * test/keysynth-demo.c:
+ Use a 'realize' signal-handler to set the WM properties for
+ the virtual keyboard, rather than making it a "POPUP" type
+ override-redirect window (thanks to anders carlsson for that
+ tip!)
+
+2001-11-11 Bill Haneman <bill.haneman@sun.com>
+
+ * test/Makefile.am:
+ * test/keysynth-demo.c:
+ Added new test of key synthesis, which creates a simple
+ (mouse-operated) onscreen keyboard. It inserts key events into
+ the currently-focused window, thus it does not grab keyboard focus
+ itself.
+
+ * cspi/spi_registry.c:
+ Added C binding for AT-SPI generateKeyEvent.
+
+ * libspi/deviceeventcontroller.c:
+ Added call to XFilterEvent so that key listener works with XIM (we
+ hope). Added event_synth_type to generateKeyEvent, so that we can
+ produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
+ synthesize a press/release pair for KeySyms.
+
+2001-11-09 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/Makefile.am:
+ * registryd/Makefile.am:
+ (temporary) hack to include libXtst in libspi and registryd.
+ (Needed for keystroke synthesis, see below).
+
+ * idl/Registry.idl:
+ Improved API for registerKeystrokeListener, in accordance with
+ discussions with Gnopernicus team and X server research.
+
+ * libspi/registry.c:
+ * libspi/deviceeventcontroller.c:
+ * libspi/accessible.c:
+ * libspi/keystrokelistener.c:
+ Changes and fixes to support keylisteners for potentially
+ consumed key events (that is, 'passive grabs').
+ Added implementation for generateKeyEvent() [untested].
+
+ * cspi/spi.h:
+ Changes to registerKeystrokeListener() API, as above.
+ Added deregisterGlobalEventListenerAll(), and
+ deregisterKeystrokeListener(), which are needed for clean exit of
+ clients.
+ Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
+ and a macro ALL_KEYS which may be used in place of a KeySet pointer.
+
+ * cspi/spi_registry.c:
+ Added implementations of function prototypes mentioned above.
+
+ * registryd/registryd.c:
+ Added the key listener event source as a g_timeout(), to allow
+ receipt of key events that are not caught by GDK (since GDK
+ doesn't support passive keygrabs, this was necessary).
+
+ * test/simple-at.c:
+ Changed to attach a keylistener to 'Alt' keys, and
+ respond to the following keycommands: Alt-M (toggle magnifier);
+ Alt-F (toggle speech); Alt-Q (quit).
+ Added an exit routine to deregister the listeners, and a key
+ listener that prints some key info to the console when a key
+ matches the listener mask (and is thus received by the listener).
+
+ * util/idl/Magnifier.idl:
+ Changes to magnifier API to support multiple zoom regions,
+ non-uniform scaling in x and y, markDirty, and a host of other
+ features that would be useful to magnification.
+
+ * util/mag_image.h:
+ * util/mag_client.c:
+ * util/mag_client.h:
+ * util/mag_control.c:
+ * util/magnifier.c:
+ Source code changes to support the above IDL changes.
+
+ * util/mag_image.c:
+ As above, and also changes to use a (slower) generic conversion
+ path for colormap conversions, since the fast RGB conversions have been
+ reported to fail for 16-bit displays.
+
+2001-10-26 Michael Meeks <michael@ximian.com>
+
+ * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
+
+<2001-10-26 Laszlo Peter <laca@ireland.sun.com>
+
+ * at-bridge/Makefile.am: fix LDFLAGS.
+
+<2001-10-09 Bill Haneman <bill.haneman@sun.com>
+
+ * at-bridge/bridge.c:
+ Re-worked listeners for toolkit events, now we have signal
+ and property listeners. Added a private method
+ register_atk_event_listeners(), which registers with the
+ various atk and gtk signals we need to monitor in order to emit
+ our at-spi events.
+ Added emission hook for AtkObject:property-change events, to
+ support the 'property listeners'.
+ Fixed some alloc()s of Accessibility_Event structs to use CORBA
+ allocation.
+
+ * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
+ which emit warnings and exit, respectively, if CORBA errors occur
+ during remote calls, and we now use these methods to check most of
+ our CORBA calls in the C bindings.
+
+ * cspi/spi_accessible.c:
+ Changed AccessibleSelection_refSelectedChild() to
+ AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
+ now increment refcounts.
+
+ * cspi/spi_component.c:
+ Fixed some long pointer casts (dangerous!) to pass pointers to
+ CORBA_longs of the proper type to the CORBA stubs, and copy the
+ data into the longs that were passed into the C bindings code.
+
+ * at-bridge/bridge.c:
+
+ * libspi/accessible.c:
+ Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
+ hyperlinks, AtkHyperlink is an object type.
+
+ * libspi/application.c:
+ Added various conversions to and from "generic" event types and
+ atk-specific types; this is really part of the 'bridge'
+ implementation but is valid for all AtkObject-based accessibility
+ implementations.
+
+ * libspi/editabletext.c:
+ Fixed nasty bug wherein editable text's finalize method was
+ unref'ing tha AtkObject reference that the text parent class was
+ about to unref _again_. There was also a nasty inheritance bug
+ that meant that the AccessibleEditableText class was corrupt.
+
+ * libspi/selection.c:
+ Provided implementations for some selection API that was broken.
+
+ * idl/Application.idl:
+ Added registerObjectEventListener () method.
+
+ * THROUGHOUT:
+ Fixed a number of return values that were Bonobo_Unknowns from
+ bonobo_object_corba_objref(), which I
+ forgot to dup before returning. Changed instances of
+ bonobo_object_corba_objref (bonobo_object(o)) to
+ BONOBO_OBJREF(o), for concision and clarity.
+
+<2001-10-13 Louise Miller <louise.miller@sun.com>
+
+ * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
+ idl/Event.idl, idl/Registry.idl
+ Changed these files to include Bonobo_Unknown.idl instead
+ of Bonobo.idl
+
+<2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
+
+ * libspi/component.c libspi/component.h:
+ Fixed typo. Added assertions for object checks in
+ AccessibleComponent code.
+
+<2001-10-09 Bill Haneman <bill.haneman@sun.com>
+
+ * idl/Accessible.idl:
+ Added 'isEqual (Accessible *object)'
+ method for Accessible. (Not Yet Implemented).
+
+ * idl/Registry.idl:
+ Changed signature of registerKeystrokeListener() to
+ take a KeySet and KeyEventSeq so that specific keys and event
+ types could be requested for monitoring, and added a flag
+ is_synchronous so that either synchronous or asynchronous
+ notification could be requested. (However this is not all
+ implemented yet). This also meant adding two new typedefs,
+ KeyEventSeq and KeySet.
+
+ * idl/Relation.idl:
+ Added two new relations, RELATION_TOOLTIP_FOR and
+ RELATION_LEAFNODE_OF.
+
+ * idl/State.idl:
+ Added new state, STATE_HAS_TOOLTIP.
+
+ * libspi/text.c, editabletext.c:
+ Added new assertions to all casts of bonobo-objects from
+ CORBA servants, to prevent Text API calls on non-text objects.
+ Changed suspect casts of int-pointer types, so that we
+ always send a valid CORBA_long pointer to the CORBA APIs that use
+ in/out long parameters. We then have to copy from the CORBA_long
+ into the regular long or int for return to the C bindings, or
+ vice-versa when returning parameters from ATK calls to the bonobo wrappers.
+
+ * cspi/spi_text.c:
+ * libspi/deviceeventcontroller.c:
+ Cleaned these sources up.
+ * idl/Text.idl:
+ Changed return type for getCharacterAtOffset to
+ CORBA_unsigned_long, to allow for 32-bit characters.
+
+
+<2001-10-08 Bill Haneman <bill.haneman@sun.com>
+
+ * util/Makefile.am:
+ * idl/Makefile.am:
+ Fixed 'make dist' so that distro compiles...
+ * libspi/keymasks.h:
+ new file.
+ * cspi/spi-listener.c:
+ KeystrokeListenerCB now returns a boolean.
+ * cspi/spi.h:
+ Added KeyEventType struct, and KeyStroke.
+ Also added createKeystrokeListener(),
+ KeystrokeListener_addCallback(),
+ KeystrokeListener_removeCallback(), and added a keymask to
+ registerKeystrokeListener().
+ * cspi/spi_accessible.c:
+ Changed numerous return types for interfaces from
+ AccessibleComponent to Accessible<InterfaceName>; this was
+ probably a cut-and-paste error.
+ * cspi/spi_event.c:
+ Implementations of new KeystrokeListener api (from spi.h,
+ above).
+ * idl/Registry.idl:
+ Changes to key modifier mapping.
+ Created ControllerEventMask struct.
+ Made DeviceEventController derive from Bonobo::Unknown.
+ * idl/Text.idl:
+ Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
+ * libspi/deviceeventcontroller.c:
+ Added a number of new internal (private) methods.
+ * libspi/editabletext.c:
+ * libspi/editabletext.h:
+ Fixed a number of bugs related to the fact that
+ editabletext inherits from text. Fixed the EditableText struct,
+ the init() call, and use correct casts when calling Text methods
+ from an EditableText object. Removed (duplicate) atko from the
+ EditableText structure, we use the one in the parent Text
+ structure via the casts mentioned above.
+ * libspi/keystrokelistener.[ch]:
+ * libspi/registry.c:
+ Changes in support of keyboard handling (above).
+
+ Keyboard handling, though partly functional, is still not
+ recommended for at-spi client use as there is considerable
+ work yet to be done.
+
+ * libspi/text.c:
+ Changed some places where pointers to various int types
+ are cast to be pointers to CORBA_long types and vice-versa:
+ pointer casting is not safe so we pass pointers of the correct
+ types and then cast the result before putting it into the target
+ pointers.
+
+ * libspi/text.h: minor typos corrected.
+ * test/simple-at.c:
+ We now speak not only the name of a Text element, but the
+ first sentence of its content, when it receives focus.
+ I also changed the text compression to 75% from 50%.
+ * util/Accessibility_Util.server.in:
+ Changed the default magnifier type to be a 3x vertical
+ splitscreen magnifier (was previously a 2x horizontal one).
+
+<2001-10-03 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/keystrokelistener.h:
+ * libspi/keystrokelistener.c:
+ Initial functional implementations of KeystrokeListener.
+ * idl/Registry.idl:
+
+<2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ Fixed string handling for NULL strings in libspi.
+ Added spi_freeString to free strings returned by C bindings.
+
+<2001-09-30 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/keystrokelistener.h:
+ * libspi/keystrokelistener.c:
+ Began (no-op) implementations of KeystrokeListener
+ (see below).
+ * libspi/deviceeventcontroller.c:
+ * libspi/deviceeventcontroller.h:
+ Began creating implementations of DeviceEventController,
+ to handle keystroke and mouse event listening and
+ synthesis.
+ * libspi/accessible.c:
+ Stubbed-in the implementations for
+ Accessibility_Accessible_getState and
+ Accessibility_Accessible_getRelationSet.
+ * libspi/registry.c:
+ Improved de-registration process and fixed some bugs,
+ deregistration now works correctly.
+ * libspi/desktop.c:
+ Added initialization of applications list (to NULL).
+ * util/magnifier.c:
+ Reduced speech compression from 0.5 to 0.7, for demo.
+ Changed call to gdk_window_set_decorations()
+ to gtk_window_set_decorated().
+ * at-bridge/bridge.c:
+ Bridge now deregisters when app exits, via
+ registration of a cleanup function
+ with the g_atexit() call.
+ Required making 'app' static, renamed 'this_app'.
+ Fixed broken use of bonobo_init, passing argv wrongly.
+
+<2001-09-27 Bill Haneman <bill.haneman@sun.com>
+
+ * util:
+ * util/Makefile.am:
+ Created a new directory for
+ accessibility-related utilities, primarily for
+ testing and demo purposes, but with possible
+ end-user utility.
+
+ * util/magnifier.c:
+ * util/magnifier.h:
+ * util/mag_image.c:
+ * util/mag_image.h:
+ Onscreen magnifier utility that
+ is implemented as a bonobo service.
+
+ * util/mag_client.c:
+ * util/mag_client.h:
+ Client-side support (simple C bindings)
+ for Magnification service
+
+ * util/mag_control.c:
+ Client program example for
+ Magnification service
+
+ * util/Accessibility_Magnifier.server.in:
+ Bonobo-activation file for the
+ Magnification service.
+
+ * util/idl:
+ * util/idl/Magnifier.idl:
+ IDL defining the bonobo Magnification
+ service interface.
+
+ * test/simple-at.c:
+ Modifications to use the bonobo-activated magnifier
+ above, in place of trying to connect to an existing
+ magnifier that uses socket-listening IPC.
+
+ If env variable MAGNIFIER is set, a magnifier service
+ will be started if one does not exist.
+
+<2001-09-25 Bill Haneman <bill.haneman@sun.com>
+ * at-bridge/bridge.c:
+ applied patch from Marc to build and run
+ against new glib and gtk+ (seemed like a change
+ to bonobo_init signature was made ?)
+ * test/simple-at.c:
+ made festival-server support turned off by default.
+ Added support for a simple magnifier (off by default)
+ which will be added to a 'util' directory later.
+ * at-bridge/Makefile.am:
+ Changed "application.h" header from a 'source'
+ to a 'dependency' of libat-bridge.
+
+<2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
+ * cspi/Makefile.am:
+ Added spi-util.c.
+
+ * cspi/spi-util.c:
+ Fixed typo
+
+ * cspi/spi.c:
+ Added interface implementation c files to list of
+ includes so they are included in libcspi.
+
+ * cspi/spi.h:
+ Changed prototype of AccessibleAction_doAction to return a
+ boolean.
+ Changed prototype of AccessibleTable_getCaption to
+ return an Accessible.
+ Changed prototype of AccessibleTable_getSelectedRows
+ and AccessibleTable_getSelectedColumns to
+ return a long (returns the number of selected rows
+ or columns respectively).
+ Changed name of AccessibleText_refRunAttributes to
+ AccessibleText_getAttributes.
+ Changed prototype of AccessibleText_getCharacterExtents to
+ return a void rather than a boolean.
+ Added support for a AccessibleCoordType parameter
+ specifying what type of coordinates are desired.
+ Added an AccessibleCordType parameter to
+ AccessibleText_getPointAtOffset.
+
+ * cspi/spi_accessible.c:
+ Added code to return the outstanding interfaces from
+ Accessible_queryInterface.
+
+ * cspi/spi_action.c:
+ Fixed typos.
+ Corrected call to getNActions to call the c binding
+ for an attribute.
+
+ * cspi/spi_editabletext.c:
+ Fixed typos.
+ Changed name from setRunAttributes to setAttributes.
+
+ * cspi/spi_hyperlink.c:
+ Fixed typos.
+ Changed call to getNAnchors to correctly call the c
+ binding for an attribute.
+
+ * cspi/spi_hypertext.c:
+ Fixed typos.
+ Changed getImageDescription to correctly call the
+ binding for an attribute.
+
+ * cspi/spi_selection.c:
+ Changed getNSelectedChildren to correctly call the c
+ binding for the attribute.
+ Changed refSelectedChild to getSelectedChild.
+
+ * cspi/spi_table.c:
+ Fixed typos.
+ Changed getCaption to return an Accessible.
+ Fixed calls which retrieve attributes.
+ Changed refAt to getAccessibleAt.
+ Changed getNSelectedRows and getNSelectedColumns to
+ return longs.
+
+ * cspi/spi_text.c:
+ Changed getCharacterExtents and getPointAtOffset to accept an
+ AccessibleCoordType.
+ Fixed typos.
+ Changed calls which retrieve attributes.
+ Changed refRunAttributes to getAttributes.
+
+ * cspi/spi_value.c:
+ Fixed typos.
+
+ * idl/Hyperlink.idl:
+ Changed n_anchors attribute to nAnchors to keep naming
+ convention consistent.
+
+ * idl/Table.idl:
+ Made Table inherit from Bonobo::Unknown.
+ Added nSelectedColumns and nSelectedRows attributes.
+
+ * idl/Value.idl:
+ Made Value inherit from Bonobo::Unknown.
+
+ * libspi/hyperlink.c:
+ Change for nAnchors attributte name change.
+
+<2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
+ * cspi/Makefile.am:
+ Added spi-util.c.
+
+ * cspi/spi-util.c:
+ Fixed typo
+
+ * cspi/spi.c:
+ Added interface implementation c files to list of
+ includes so they are included in libcspi.
+
+ * cspi/spi.h:
+ Changed prototype of AccessibleAction_doAction to return a
+ boolean.
+ Changed prototype of AccessibleTable_getCaption to
+ return an Accessible.
+ Changed prototype of AccessibleTable_getSelectedRows
+ and AccessibleTable_getSelectedColumns to
+ return a long (returns the number of selected rows
+ or columns respectively).
+ Changed name of AccessibleText_refRunAttributes to
+ AccessibleText_getAttributes.
+ Changed prototype of AccessibleText_getCharacterExtents to
+ return a void rather than a boolean.
+ Added support for a AccessibleCoordType parameter
+ specifying what type of coordinates are desired.
+ Added an AccessibleCordType parameter to
+ AccessibleText_getPointAtOffset.
+
+ * cspi/spi_accessible.c:
+ Added code to return the outstanding interfaces from
+ Accessible_queryInterface.
+
+ * cspi/spi_action.c:
+ Fixed typos.
+ Corrected call to getNActions to call the c binding
+ for an attribute.
+
+ * cspi/spi_editabletext.c:
+ Fixed typos.
+ Changed name from setRunAttributes to setAttributes.
+
+ * cspi/spi_hyperlink.c:
+ Fixed typos.
+ Changed call to getNAnchors to correctly call the c
+ binding for an attribute.
+
+ * cspi/spi_hypertext.c:
+ Fixed typos.
+ Changed getImageDescription to correctly call the
+ binding for an attribute.
+
+ * cspi/spi_selection.c:
+ Changed getNSelectedChildren to correctly call the c
+ binding for the attribute.
+ Changed refSelectedChild to getSelectedChild.
+
+ * cspi/spi_table.c:
+ Fixed typos.
+ Changed getCaption to return an Accessible.
+ Fixed calls which retrieve attributes.
+ Changed refAt to getAccessibleAt.
+ Changed getNSelectedRows and getNSelectedColumns to
+ return longs.
+
+ * cspi/spi_text.c:
+ Changed getCharacterExtents and getPointAtOffset to accept an
+ AccessibleCoordType.
+ Fixed typos.
+ Changed calls which retrieve attributes.
+ Changed refRunAttributes to getAttributes.
+
+ * cspi/spi_value.c:
+ Fixed typos.
+
+ * idl/Hyperlink.idl:
+ Changed n_anchors attribute to nAnchors to keep naming
+ convention consistent.
+
+ * idl/Table.idl:
+ Made Table inherit from Bonobo::Unknown.
+ Added nSelectedColumns and nSelectedRows attributes.
+
+ * idl/Value.idl:
+ Made Value inherit from Bonobo::Unknown.
+
+ * libspi/hyperlink.c:
+ Change for nAnchors attributte name change.
+
+
+<2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ implementations-- made server implementations own AtkObject pointers
+ rather than their respective AtkInterrface pointers to fix
+ refcounting. AtkHyperlink is still broken.
+
+<2001-09-04 Bill Haneman <bill.haneman@sun.com>
+ * cspi/spi_accessible.c:
+ Added method Accessible_Role_getName(),
+ and requisite string array (role_names).
+ Added conversion string_from_corba_strin() call
+ to Accessible_getName and _getDescription.
+ * libspi/accessible.c:
+ Added implementation for Accessible_getRole()
+ * test/simple-at.c:
+ Added festival support, used if environment variable
+ FESTIVAL is set.
+
+2001-09-04 Bill Haneman <bill.haneman@sun.com>
+
+ * at-bridge/bridge.c:
+ Now allocate Accessibility_Event using
+ Accessibility_Event__alloc() instead of g_new0().
+ * libspi/accessibleeventlistener.c:
+ Initialize AccessibleEventListener->callbacks to NULL.
+ Fixed accessible__event_listener_init() param, changed to
+ "AccessibleEventListener *" type.
+ Changed a bonobo_object_release_unref() call to
+ Accessibility_Accessible_unref().
+ * libspi/listener.c:
+ Changed Bonobo_Unknown_unref to (equivalent)
+ Accessibility_Accessible_unref.
+ * libspi/registry.c:
+ Changed bonobo_object_release_unref to
+ Accessibility_Accessible_unref.
+
+<2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * Added files:
+ spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
+ spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
+ spi-util.c spi-util.h
+ Implementations for C bindings to remaining accessibility
+ interfaces.
+
+<2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * idl/Action.idl:
+ changed return value of Action from void to boolean to
+ bring in line with ATK.
+
+ * idl/Text.idl:
+ Changed getText funcions to return "out" start and end offsets.
+ Changed getAttributes to take and offset and return the start
+ and end offset of the attribute run.
+ Changed getOffsetAtPoint and getCharacterExtents to take an
+ enum describing whether coordinates are window or screen.
+
+ * Added files:
+ libspi/action.c libspi/action.h libspi/editabletext.c
+ libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
+ libspi/hypertext.c libspi/hypertext.h libspi/image.c
+ libspi/image.h libspi/selection.c libspi/selection.h
+ libspi/table.c libspi/table.h libspi/text.c libspi/text.h
+ libspi/value.c libspi/value.h
+ Added server implementations for outstanding ATK interfaces
+ not yet implemented.
+
+2001-09-04 Bill Haneman <bill.haneman@sun.com>
+
+ * idl/Action.idl:
+ Added (missing) getName() method.
+ Made nActions an attribute.
+ * idl/EditableText.idl:
+ Changed order of params in setAttributes.
+ * idl/Hyperlink.idl:
+ Removed getAnchor, added getURI.
+ * idl/Image.idl:
+ Changed attributes to methods, for efficiency
+ (so that getting extents can be done in one call)
+ * idl/Selection.idl:
+ Changed nSelectedChildren to attribute, and re-indented.
+ * idl/Table.idl: changed nrows, ncolumns, caption, summary
+ to attributes.
+ * idl/Text.idl: reformatted to match our coding style.
+ (temporarily?) removed getRowColumnAtOffset().
+ Changed text selection API to support multi-select and
+ non-contiguous selections, as in ATK.
+ * idl/Value.idl: changed some methods to attributes.
+
+2001-08-24 Mark McLoughlin <mark@skynet.ie>
+
+ * libspi/listener.c(impl_notify_event):
+ BonoboUnkown_unref the source instead
+ of bonobo_object_release_unref - the ORB
+ handles the releasing.
+
+ * configure.in: require ORBit-2.3.94 for
+ this behaviour.
+
+2001-08-21 Bill Haneman <bill.haneman@sun.com>
+
+ Tagged CVS repository 'EA_1_0'.
+ * README.EARLY_ACCESS:
+ Alphabetized acknowledgements list, and
+ added someone.
+ Listed some known dependencies of at-spi.
+
+2001-08-20 Bill Haneman <bill.haneman@sun.com>
+
+ * docs/at-spi-docs.sgml:
+ * docs/at-spi-sections.txt:
+ * docs/at-spi-overrides.txt: (Added zero-length file)
+ Documentation improvements - gtk-doc should build
+ docs for all implemented C bindings now.
+ * cspi/Makefile.am:
+ * cspi/spi_main.c:
+ * cspi/spi.c: (New file)
+ * cspi/spi_event.c: (New file)
+ * cspi/spi_registry.c: (New file)
+ * cspi/spi_accessible.c: (New file)
+ * cspi/spi_application.c: (New file)
+ * cspi/spi_component.c: (New file)
+ Split spi_main.c into six parts, and included them from
+ "spi.c". This is a bit of a hack, probably temporary,
+ but required by gtk-doc, apparently.
+
+2001-08-20 Bill Haneman <bill.haneman@sun.com>
+
+ * docs/Makefile.am:
+ * docs/at-spi-docs.sgml:
+ * docs/at-spi-sections.txt:
+ * configure.in:
+ Initial checkins/modifications for gtk-doc generation.
+ * cspi/spi.h:
+ * cspi/spi.c:
+ Added (missing) interface query methods to Accessible's C binding.
+ * cspi/spi-impl.h:
+ Added GenericInterface type definition.
+ * test/simple-at.c:
+ Added query for AccessibleComponent interface to focus event handler.
+ Added printout of bounding box for focussed component.
+ * libspi/component.c:
+ Added partial implementation for AccessibleComponent to C binding.
+ * idl/Application.idl:
+ * libspi/registry.c:
+ * libspi/listener.c:
+ * libspi/application.c:
+ * libspi/application.h:
+ Changed "ID" attribute type from string to long.
+
+2001-08-19 Bill Haneman <bill.haneman@sun.com>
+
+ * cspi/spi.h:
+ * cspi/spi.c:
+ Made method naming consistent: methods taking object args
+ start with uppercase, other methods (except those using
+ acronyms) start with lowercase. Underscores delimit between
+ object names and method names:
+ SPI_init() - uppercase since it starts with an acronym.
+ getDesktopCount () - lowercase start since no object param0.
+ Accessible_getName() - uppercase object type name, studlyCaps method
+ name.
+
+ *cspi/spi.h:
+ Added gtk-doc documentation for all currently implemented
+ methods in the C bindings API.
+
+2001-08-18 Bill Haneman <bill.haneman@sun.com>
+
+ * Makefile.am : changed build order to build test last.
+ * cspi/spi.h :
+ * cspi/spi_main.c :
+ Changed "createEventListener" to "CreateEventListener".
+ * libspi/accessibleeventlistener.c :
+ Bugfix for addition of callbacks.
+ * test/Makefile.am :
+ * test/simple-at.c :
+ Added new test that uses the C bindings API.
+ * idl/Event.idl :
+ * libspi/listener.c :
+ * libspi/registry.c :
+ * libspi/accessibleeventlistener.c :
+ * at-bridge/bridge.c :
+ Renamed member "target" of Accessibility_Event to "source",
+ which is more descriptive.
+
+
+2001-08-18 Bill Haneman <bill.haneman@sun.com>
+
+ * Makefile.am:
+ * configure.in :
+ * cspi/Makefile.am :
+ Added makefile support for at-spi/cspi directory.
+ * cspi/spi.h :
+ * cspi/spi-impl.h :
+ * cspi/spi-listener.h : (NEW FILE)
+ Added support for/use of spi-listener.h.
+ * cspi/spi_main.c :
+ C bindings now build successfully, with no warnings.
+ * libspi/accessibleeventlistener.h : (NEW FILE)
+ * libspi/accessibleeventlistener.c : (NEW FILE)
+ * libspi/Makefile.am :
+ Added new object type "AccessibleEventListener"
+ which inherits from Listener, and allows attachment
+ of in-process callbacks (so that a client with a listening
+ object instance can add functionality to the local
+ implementation, dynamically).
+
+2001-08-18 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/accessible.c:
+ Add implementation for get_index_in_parent().
+ * cspi/spi.h :
+ Added #include of "spi-roletypes.h", and
+ added enumerated type AccessibleCoordType.
+ Added definition for KeystrokeListener (function type).
+
+ ADDED FILES:
+ * cspi/spi-statetypes.h :
+ * cspi/spi-roletypes.h :
+ * cspi/spi-impl.h :
+ Added these headers, used by spi.h.
+ * cspi/spi_main.c :
+ Added code (NOTE: not yet built by make).
+
+2001-08-18 Mark McLoughlin <mark@skynet.ie>
+
+ * libspi/Makefile.am: generate imodule
+ at the same time as other idl compiler
+ generated files.
+
+2001-08-17 Bill Haneman <bill.haneman@sun.com>
+ * libspi/registry.c :
+ * libspi/application.c :
+ * idl/Application.idl :
+ Made registration with toolkit an application method,
+ which is required since each app has its own toolkit static
+ environment. Thus the bridge must register for
+ notification of toolkit events from each application in turn.
+ Toolkit notifications are now successfully registered for, and
+ sent to the listening at client.
+ * test/at.c :
+ Changed toolkit event string to use hyphens rather than underscores.
+ * libspi/listener.c :
+ listner now gives more info in debug mode - it reports the
+ name of the event received, as well as the name of the source.
+
+
+2001-08-16 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/registry.c :
+ added more implementation for toolkit events.
+ Fixed bug such that toolkit event registrations
+ (via atk) use the whole event name string, not
+ just minor+detail.
+ Removed a useless call to an ORBit_ method.
+ * at-bridge/bridge.c :
+ Removed unused local sbuf[] variable.
+ * test/at.c :
+ We now register for Gtk:GtkWidget:button_press_event
+ events as well as "focus:" events.
+ * cspi/spi.h :
+ Add some more API from Registry.idl that was missing,
+ for keystroke listening, keystroke and mouse event
+ synthesis, and enumeration of accessible desktops.
+
2001-08-16 Michael Meeks <michael@ximian.com>
* configure.in: use AM_GLIB_GNU_GETTEXT.
and we now relay those focus events to any "focus:" listeners.
This now works with the bridge as a GTK_MODULE when running test/at.
* libspi/registry.c :
- * libspi/listener.c : now we ref event sources before propagating, and unref on receipt.
- * libspi/registry.c : some changes to internal structs, to support event typestring hashes.
+ * libspi/listener.c :
+ now we ref event sources before propagating, and unref on receipt.
+ * libspi/registry.c :
+ some changes to internal structs, to support event typestring hashes.
* text/app.c : changed the way the appname is generated.
* cspi : added directory that will hold the C bindings library for
non-CORBA/bonobo-savvy clients.
* idl/Hyperlink.idl : added readonly n_links attribute
* idl/Image.idl : changed methods to attributes.
- KNOWN PROBLEMS:
- poll() fails after a few event notifications, when the number of file descriptors
- gets too large. Investigating.
-
2001-08-15 Mark McLoughlin <mark@skynet.ie>
* at-bridge/Makefile.am: link against