7f8f671227dc296ee2a6dd52c5cf393063adb649
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2001-12-02  Bill Haneman  <bill.haneman@sun.com>
2
3         * cspi/spi_registry.c:
4         Removed obsolete X event loop for passive keygrabs (which now
5         lives in libspi).
6
7         * registryd/registryd.c:
8         Removed unnecessary call to gdk_init() [cruft]. This also allows
9         removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
10         * configure.in.
11
12 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
13
14         * docs/reference/cspi:
15         Included docs for SPI_freeString in generated documentation.
16
17         * cspi/spi-util.c:c
18         Renamed spi_freeString to SPI_freeString, for consistency.  Added
19         documentation for this function.
20
21         * cspi/spi-util.h:
22         Renamed spi_freeString to SPI_freeString, for consistency.  
23         Removed obsolete method declaration string_from_corba_string.
24
25         * test/keysynth-demo.c:
26         Small tweak to comments.
27
28         * test/simple-at.c:
29         Stopped leaking the strings returned from CSPI. 
30
31 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
32
33         Merged Michael's branch (see his ChangeLog entries below).
34         
35         * at-bridge/bridge.c: Explicitly hold a ref to the registry while
36         bridge is alive, release on exit.
37         
38         * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
39         Fix type check macro.
40         
41         * cspi/spi_event.c:
42         Added AccessibleKeystrokeListener_unref() method to reduce leakage.
43         
44         * cspi/spi_main.c: 
45         Added is_gnome_app static, and method cspi_is_gnome_app(), 
46         so we can call the appropriate shutdown routine at exit in SPI_exit.
47         
48         * cspi/spi_main.c (cspi_object_ref):
49         Duplicate the corba object passed in, since we're keeping it around.
50         
51         * cspi/SPI_exit.c, cspi_cleanup:
52         Moved the releasing of the live refs to its own function, so we
53         can put it in g_atexit ().  Call the appropriate shutdown API
54         depending on whethe calling client is a gnome app or not
55         (bonobo_main_quit or CORBA_ORB_shutdown).
56         
57         * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
58         Unref the listener when this method is called, after
59         deregistration.  Updated the API docs to note this behavior.
60
61         * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
62         Bugfixes: Ref the bonobo object when returning a parent or child 
63         reference, or an AccessibleRelation.  Generally made sure
64         BonoboObject refcount is incremented whenever we return an
65         Accessible.
66
67         * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
68         Fixed typo/bug in signal declaration.
69         
70         * libspi/accessibleeventlistener.h:
71         Fixed a type macro.
72
73         * libspi/application.c (spi_application_new):
74         Fixed leak in initialization.
75
76         * libspi/desktop.c:
77         Remembered to increment bonobo-object refcount when returning
78         children (applications) from desktop object.
79         Added (empty) finalize method.
80
81         * libspi/deviceeventcontroller.c:
82         Hold a ref to listeners inside DEControllerKeyListeners.
83         Added dec_key_listener_free() method.  Use prepend instead of
84         append in key_listener list.  Fixed some refcount madness and
85         leaks in the listener registration/deregistration - deregistration
86         now calls dec_key_listener_free() on listeners, and on the
87         temporarily constructed dec_key_listener() used to perform the search/match.
88
89         * libspi/hypertext.c (spi_hypertest_finalize):
90         Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
91         class.  Also fixed spi_hypertext_interface_new() and
92         SpiHypertextClass.  Fixed a couple of paren-whitespace formatting bugs.
93
94         * libspi/hypertext.h: 
95         Removed pointless and duplicate AtkObject pointer from
96         SpiHypertextClass.
97
98         * libspi/keystrokelistener.c:
99         Fixed incorrect type of keystroke_listener_parent_class,
100         renamed keystroke_listener_object_finalize to
101         spi_keystroke_listener_object_finalize.
102         Fixed typo in signal declaration
103         (spi_keystroke_listener_class_init).
104
105         * libspi/registry.c:
106         Added funcsions spi_listener_struct_new() and
107         spi_listener_struct_free() to help with memory management issues.
108         We also now use these methods instead of gnew + poking stuff into
109         the struct, and to decrement listener counts/free the listeners
110         when deregistering them.
111         Fix more refcount bugs in getDesktop() and
112         getDeviceEventController().  
113
114         * test/simple-at.c:
115         De-ref the desktop after enumerating the applications.  Explicitly
116         decrement the refcounts on the created listeners on exit (using
117         _unref for keystroke listeners, and via the
118         deregisterGlobalEventListenerAll command for other event
119         listeners).
120         
121 2001-11-27  Michael Meeks  <michael@ximian.com>
122
123         * cspi/spi-listener.h: fixup enum.
124
125 2001-11-27  Michael Meeks  <michael@ximian.com>
126
127         * cspi/spi-listener-impl.c (cspi_event_listener_new),
128         (cspi_keystroke_listener_new): Use the cspi variants.
129
130 2001-11-26  Michael Meeks  <michael@ximian.com>
131
132         * test/keysynth-demo.c: fix 2 compile warnings, missing
133         type in decl. etc.
134
135         * test/simple-at.c (report_focussed_accessible),
136         (report_focus_event, report_button_press),
137         (check_property_change, is_command_key),
138         (report_ordinary_key_event, report_command_key_event): upd.
139
140         * util/mag_client.h: include pre-requisites.
141
142         * libspi/accessibleeventlistener.c
143         (spi_event_listener_object_finalize): free any lingering
144         callbacks.
145         
146         * libspi/keystrokelistener.c
147         (keystroke_listener_object_finalize): ditto.
148
149         * cspi/spi-listener-impl.[ch]: Add to implement cspi style
150         callbacks, with cspi types.
151         
152         * cspi/spi_event.c (createAccessibleEventListener): chain to
153         (AccessibleEventListener_addCallback): here.
154         (createAccessibleKeystrokeListener): chain to 
155         (AccessibleKeystrokeListener_addCallback): here.
156
157         * libspi/keystrokelistener.c
158         (spi_keystroke_listener_class_init): add signal.
159         (impl_key_event): emit the event.
160         (boolean_handled_accumulator): impl.
161         (marshal_BOOLEAN__POINTER): add, gack.
162
163         * libspi/accessibleeventlistener.c
164         (spi_event_listener_class_init): add signal.
165         (impl_accessible_event_notify_event): emit the signal &
166         make the loop efficient.
167         (spi_event_listener_add_callback): prepend the callback.
168
169         * libspi/accessibleeventlistener.h: add an 'event' signal,
170         decl type on callback.
171
172         * libspi/keystrokelistener.h: ditto.
173
174         * cspi/spi-listener.h: make methods typesafe and
175         make them use the new event typedefs.
176
177         * test/simple-at.c (report_focussed_accessible):
178         include mag_client.h
179         Use *(void *)text_interface not the other thing.
180         
181         * configure.in: add gtk to registryd bits - since we use
182         gdk there ( why ? )
183
184         * util/magnifier.c: include libbonobo.h
185         
186 2001-11-25  Bill Haneman  <bill.haneman@sun.com>
187
188         * test/keysynth-demo.c:
189         Turned this into a simple scanning keyboard, to demonstrate the
190         use of g_timeout_add () as a means of creating timers for
191         scanning, and the use of GtkStyle for visually indicating when
192         virtual keyboard elements are selected.
193
194         keysynth-demo now listens to any keyboard keys with zero-valued
195         keycodes (i.e. 'unused' keys) and interprets them as
196         single-switches.
197
198         Reworked the shiftlatch code so that shift-down state isn't held
199         for long periods (it's only synthesized immediately prior to
200         the keysynth event it's modifying).  Note that shiftlatch in this
201         demo is a convenience, not intended to take the place of AccessX 
202         which is the better choice for getting 'sticky' modifier keys.
203
204         * libspi/deviceeventcontroller.c:
205         * at-bridge/bridge.c:
206         * cspi/spi_registry.c:
207         Removed some debug print stuff, and put other verbosity in #ifdef
208         blocks.
209
210         * util/magnifier.c:
211         * util/mag_image.h:
212         Implemented some more of the magnifier IDL for the simple
213         magnifier: namely, getZoomRegionParams. 
214         Added mag_x and mag_y members to MagnifierData struct, aid of this
215         implementation.
216         Added GtkWindow::realize signal handler to magnifier, to keep it
217         from receiving keyboard focus from the WM.
218
219 2001-11-23  Mark McLoughlin  <mark@skynet.ie>
220
221         * cspi/spi-private.h: my guess at what michael forgot
222         before he ran off to NZ :-)
223
224 2001-11-23  Michael Meeks  <michael@ximian.com>
225
226         * cspi/spi_event.c (AccessibleEventListener_removeCallback):
227         comment out non existant method invoke so we link.
228
229         * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
230         use bonobo_exception_get_text for more friendly warnings.
231
232         * cspi/spi.c (Obj_Add): move into spi_main & rename
233         spi_object_add; kill spi.c
234
235         * cspi/spi_registry.c
236         (deregisterGlobalEventListener),
237         (deregisterGlobalEventListenerAll),
238         (registerGlobalEventListener): fix exception leaks.
239
240         * cspi/spi_main.c (spi_exception): impl. helper, so we
241         don't leak exceptions.
242
243         * cspi/spi_selection.c
244         (AccessibleSelection_deselectSelectedChild): return the
245         success state.
246
247         * cspi/spi_main.c (spi_ev): impl; hack - gack.
248         (spi_registry): ditto.
249         (SPI_init): guard against double inits.
250
251         * cspi/*.c: use spi_ev (), and spi_registry () where
252         appropriate - a temporary hack until we have something
253         better. Use spi_object_add
254
255 2001-11-22  Michael Meeks  <michael@ximian.com>
256
257         * cspi/Makefile.am: re organise, install the headers.
258
259         * cspi/*.h: add G_BEGIN/END_DECLS
260
261 2001-22-11  Bill Haneman  <bill.haneman@sun.com>
262
263         * test/simple-at.c:
264         Added non-preemptive keylistener for key events with no modifiers
265         and shift-only modifier.
266
267         * libspi/keystrokelistener.c:
268         Removed some verbose diagnostics printout.
269
270         * cspi/spi_registry.c:
271         Fixed a bug that caused all key listeners to be registered as
272         pre-emptive.
273         
274         * libspi/deviceeventcontroller.c:
275         Fixed bug that caused XGrabKey (preemptive key grab) to be called
276         for non-preemptive key masks.
277
278
279 2001-22-11  Bill Haneman  <bill.haneman@sun.com>
280
281         * docs/reference/idl/at-spi-idl-docs.sgml:
282         * docs/reference/idl/at-spi-idl-sections.txt:
283         * docs/reference/idl/at-spi-idl-overrides.txt:
284         Added missing files.
285
286         * docs/reference/Makefile.am:
287         removed idl from SUBDIRS until we can figure a way to get gtk-doc
288         to scan the IDL files :-(
289
290         * docs/reference:
291         * docs/cspi:
292         * docs/idl:
293         Added .cvsignore files.
294         
295 2001-21-11  Bill Haneman  <bill.haneman@sun.com>
296
297         * libspi/deviceeventcontroller.c:
298         * libspi/keystrokelistener.c:
299         * cspi/spi_event.c:
300         * cspi/spi_registry.c:
301         Added filters for KeySets, KeyEventSeq, and event types to key
302         event dispatching, so listeners should only receive those events
303         that they requested :-)
304
305 2001-21-11  Bill Haneman  <bill.haneman@sun.com>
306
307         * configure.in:
308         * docs/Makefile.am:
309         * docs/reference:
310         * docs/reference:Makefile.am:
311         * docs/reference/cspi:
312         * docs/reference/cspi:Makefile.am:
313         * docs/reference/cspi:tmpl:
314         * docs/reference/cspi:tmpl:*.sgml:
315         * docs/reference/idl:
316         * docs/reference/idl:Makefile.am:
317         * docs/reference/idl:at-spi-idl-sections.txt:
318         * docs/reference/idl:at-spi-idl-docs.sgml:
319         * docs/reference/idl:tmpl:
320         * docs/reference/idl:tmpl:*.sgml:
321
322         Restructured docs directory to allow separate 'reference' docs
323         section, and forked idl and cspi docs.  Added the sgml template
324         files to CVS.  Added the first sections/structural sgml for the
325         IDL docs.
326
327 2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
328
329         * configure.in, libspi/Makefile.am: find libXtst.
330
331 2001-11-21  Michael Meeks  <michael@ximian.com>
332
333         * test/accessx-gui.c: s/spi_value/value/ - doh.
334
335         * libspi/base.[ch]: add.
336
337 2001-18-11  Bill Haneman <bill.haneman@sun.com>
338
339         * idl/Accessible.idl:
340         * idl/Application.idl:
341         * idl/Registry.idl:
342         * idl/Action.idl:
343         Started gtk-doc cleanup on IDL.
344
345         * libspi/deviceeventcontroller.c:
346         Added and connected non-preemptive key notification from the
347         toolkits (in addition to the pre-emptive support from XServer
348         which we had before, but which causes 'focus flashing').  Filters
349         are presently limited to key modifiers and global/non-global,
350         KeySets are presently ignored, as are KeyEvent masks.
351
352         Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
353         structs into the persistant structure rather than just storing
354         pointers to things that might not persist across servant
355         invocations.
356
357         The XGrabKey call now does async keygrabs, because synchronous
358         ones were deadlocking with GDK_event code in a very nasty way.
359
360         Added boolean to internal method notify_keylisteners, to indicate
361         whether the event came from the 'toolkit source' or the 'global
362         (XServer) source' - this is used in the notification process to
363         determine which listeners to send the event to.
364
365         deviceeventcontroller.c is now warning-free.
366         
367         * libspi/registry.c:
368         Fixed regression in application de-registration.
369         Also fixed some really brain-dead weirdness having to do with
370         event dispatching - event structs are now duplicated before being
371         re-marshalled in the dispatch to listeners.  This also fixes a
372         Solaris build problem.
373         
374         
375 2001-20-11  Michael Meeks  <michael@ximian.com>
376
377         * libspi/registry.c
378         (impl_accessibility_registry_deregister_global_event_listener): 
379         segv. protection.
380
381         * libspi/deviceeventcontroller.c
382         (spi_device_event_controller_check_key_event): return
383         FALSE on no virtual method.
384
385         * libspi/*..h: make includes work on a correctly pathed install.
386
387         * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
388
389         * libspi/application.h: kill unused ( and whacked out )
390         gboolean *spi_application_set_id (AtkObject *app, long id);
391
392 2001-20-11  Michael Meeks  <michael@ximian.com>
393
394         * libspi/*.[ch]: further convert to bonobo's type func
395         macros, remove redundnant casts etc.
396
397         * libspi/text.c s/accessibility_text/spi_text/g,
398         re-order to de-cruft.
399
400         * libspi/hypertext.c: re-order to kill a huge slew
401         of redundant forward decls.
402
403         * libspi/relation.c: ditto.
404
405         * libspi/image.c: ditto.
406
407         * */.cvsignore: update
408         
409 2001-20-11  Michael Meeks  <michael@ximian.com>
410
411         * libspi/deviceeventcontroller.c
412         (_controller_register_with_devices): use g_getenv,
413         kill stdlib.h include.
414
415         * libspi/keystrokelistener.c
416         (spi_keystroke_listener_get_type): kill
417         (spi_keystroke_listener_class_init),
418         (spi_keystroke_listener_init): rename to this.
419
420         * libspi/text.c (impl_getAttributes): fix warning / bug.
421
422         * libspi/*.[ch]: more headers, includes and over commenting.
423         
424 2001-20-11  Michael Meeks  <michael@ximian.com>
425
426         * libspi/*.[ch]: fixup headers, includes and over commenting.
427
428         * libspi/image.c (impl__get_imageDescription): const
429         correctness warning fix. remove redundant casting.
430
431         * libspi/table.c (impl_getRowDescription): ditto.
432         (impl_getColumnDescription): ditto.
433
434         * libspi/libspi.h: add.
435
436 2001-19-11  Michael Meeks  <michael@ximian.com>
437
438         * libspi/editabletext.c (impl_setAttributes): fix warnings.
439
440         * libspi/component.c (accessibility_component_get_type): 
441         rename to (spi_component_get_type): and macroify.
442         (accessibility_component_init): rename to
443         (spi_component_init): this
444         (accessibility_component_class_init): rename to
445         (spi_component_class_init): this
446
447         * libspi/action.c (spi_action_get_type): kill, use the macro.
448
449         * libspi/deviceeventcontroller.c (_compare_listeners): re-order
450         to avoid prototype.
451
452         * libspi/application.c (spi_application_object_event_listener),
453         (impl_accessibility_application_register_object_event_listener):
454         warning fixes / const understanding updates.
455
456         * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
457         warning fixes.
458
459 2001-18-11  Bill Haneman <bill.haneman@sun.com>
460
461         * libspi/spi_accessible.c: Added docs and C bindings for
462         AccessibleStateSet. (No implementations yet).  Documentation
463         coverage for C bindings now 100%. Made docs for event listeners
464         more explicit.
465         
466         * idl/Registry.idl:
467         Added methods 
468             boolean notifyListenersSync (in DeviceEventListener listener,
469                                      in DeviceEvent event);
470
471             oneway void notifyListenersAsync (in DeviceEventListener listener,
472                                           in DeviceEvent event);
473
474         Added DeviceEventListener and DeviceEvent structs (may deprecate
475         KeyStroke and KeystrokeListener in favor of this generic
476         event/listener framework for devices).
477
478         * libspi/deviceeventcontroller.c:
479
480         Changed some key listener code to take masks, etc., and paved the
481         way for integration of toolkit/non-preemptive key events. Changed
482         signatures of some internal methods.
483
484         * at-bridge/bridge.c:
485         Fixed regression connecting to interface signals, apparently
486         caused by GTK+ changes.
487
488         Added an internal bridge_state_listener to deal with
489         property-change:accessible-state signals.
490
491         Changed the key_listeners GList to store structs (including masks,
492         etc.) instead of just CORBA_Objects (required for full
493         implementation of key listener API).
494
495         Connected the bridge to all currently supported Atk signals.
496         Events now supported: 
497             object:property-change
498             object:property-change:accessible-name
499             object:property-change:accessible-state
500             object:property-change:accessible-description
501             object:property-change:accessible-parent
502             object:property-change:accessible-value
503             object:property-change:accessible-role
504             object:property-change:accessible-table-caption
505             object:property-change:accessible-table-column-description
506             object:property-change:accessible-table-column-header
507             object:property-change:accessible-table-row-description
508             object:property-change:accessible-table-row-header
509             object:property-change:accessible-table-summary
510             object:children-changed
511             object:visible-data-changed
512             object:selection-changed
513             object:text-selection-changed
514             object:text-changed
515             object:text-caret-moved
516             object:row-inserted
517             object:row-reordered
518             object:row-deleted
519             object:column-inserted
520             object:column-reordered
521             object:column-deleted
522             object:model-changed        
523
524 2001-16-11  Bill Haneman <bill.haneman@sun.com>
525
526         * libspi/hyperlink.c,h:
527         Fixed some broken stuff in hyperlink.
528         
529         * libspi/relation.h:
530         * libspi/relation.c:
531         * cspi/spi_accessible.c:
532         Initial implementations of AccessibleRelation methods, and docs.
533
534         * libspi/accessible.c:
535         Fixed a bug that caused SEGV  if an accessible
536         object's description is NULL, and a client
537         requests it.  An empty string is now returned.
538
539         * cspi/spi_editabletext.c:
540         * cspi/spi_hypertext.c:
541         * cspi/spi_image.c:
542         * cspi/spi_hyperlink.c:
543         * cspi/spi_table.c:
544         Added docs.  
545
546         Doc coverage now 95%.
547
548 2001-16-11  Bill Haneman <bill.haneman@sun.com>
549
550         One last namespacing revision:
551         * libspi/accessibleeventlistener.[ch]:
552         Renamed SpiAccessibleEventListener to SpiEventListener,
553         (no need for two namespaces ;-)
554
555         And lots of documentation fixes:
556
557         * docs/at-spi-docs.sgml:
558         Fixed 'underscore vs. hyphen' bug that was preventing
559         the gtk-doc API docs from being automatically generated.
560
561         * cspi/spi-impl.h
562         * cspi/spi-listener.h
563         * cspi/spi.h
564         * cspi/spi_accessible.c
565         * cspi/spi_action.c
566         * cspi/spi_application.c
567         * cspi/spi_component.c
568         * cspi/spi_editabletext.c
569         * cspi/spi_event.c
570         * cspi/spi_hypertext.c
571         * cspi/spi_main.c
572         * cspi/spi_registry.c
573         * cspi/spi_selection.c
574         * cspi/spi_text.c
575         * cspi/spi_value.c
576         * docs/Makefile.am
577         * docs/at-spi-docs.sgml
578         * docs/at-spi-sections.txt
579         
580         Added and fixed up gtk-doc documentation in cspi.
581         
582         Interfaces now (fully) documented (subject to revision and enhancement):
583         SPI_main
584         Event Listener Support
585         Registry API
586         AccessibleApplication
587         Accessible
588         AccessibleAction
589         AccessibleComponent
590         AccessibleEditableText
591         AccessibleSelection
592         AccessibleText
593         AccessibleValue
594
595         still pending:
596         AccessibleStateSet
597         AccessibleRelationSet
598         AccessibleImage
599         AccessibleTable
600         AccessibleHyperlink
601         
602 2001-14-11  Bill Haneman <bill.haneman@sun.com>
603
604         * at-bridge/bridge.c:
605         Initial work for toolkit-level key snooper connection by bridge.
606
607         * cspi/spi-impl.h:
608         * cspi/spi_*.h:
609         * cspi/spi_*.c:
610         New typedefs and fixes to support new namespacing, and cleaner
611         separation of cspi bindings from libspi bonobo implementation.  
612         Removed inconsistent and extraneous Spi* namespace prefix that
613         had crept into cspi headers.
614         Lots of comment fixes that sed had missed.
615
616         * cspi/spi-roletypes.h:
617         * cspi/spi-statetypes.h:
618         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
619         to AccessibleRoleType.
620         
621         * libspi/accessibleeventlistener.h:
622         Fixed minor namespacing weirdness.
623
624         * libspi/deviceeventcontroller.c:
625         Reordered some internal API for device listeners.
626         Changed the key registry final boolean to 'is_system_global'
627         rather than 'is_synchronous', which is more descriptive of its 
628         actual meaning.
629         Added spi_device_event_controller_new().
630         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
631          
632         * libspi/keystrokelistener.[ch]:
633         Namespaced KeystrokeListener to SpiKeystrokeListener.
634         Changed uses of keymasks to use SPI_ prefix, and did other
635         knock-on fixups.
636
637         * libspi/keymasks.h:
638         Namespaced keymask constants with SPI_ prefix.
639
640         * libspi/registry.c:
641         Some warning fixes, and knock-on fixes from namespace changes.
642
643         * test/Makefile.am:
644         Added rules for accessx-gui test program.
645
646         * test/accessx-gui.c:
647         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
648         utility.  It doesn't actually use at-spi, but it's still cool and
649         useful ;-)
650
651         * test/keysynth-demo.c:
652         * test/simple-at.c:
653         * test/at.c:
654         * test/app.c:
655         Fixes so that these test clients work properly with the namespaced
656         libraries. (Incompletely tested for technical reasons, fixes may follow)
657         
658
659 2001-13-11  Michael Meeks  <michael@ximian.com>
660
661         * libspi/application.c
662         (impl_accessibility_application_get_version),
663         (impl_accessibility_application_get_toolkit_name):
664         warning fixes.
665         (impl_accessibility_application_set_id),
666         (impl_accessibility_application_get_id): remove
667         redundant casting code.
668
669         * libspi/action.c (impl_getDescription): fix warnings.
670
671         * libspi/accessible.c
672         (impl_accessibility_accessible_get_parent),
673         (impl_accessibility_accessible_get_child_at_index),
674         (impl_accessibility_accessible_get_state),
675         (impl_accessibility_accessible_get_relation_set):
676         warning fixes & include action.h
677
678 2001-13-11  Michael Meeks  <michael@ximian.com>
679
680         * *.[ch] fix bits I screwed up:
681
682                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
683                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
684         
685 2001-13-11  Michael Meeks  <michael@ximian.com>
686
687         * *.[ch] Namespace libspi into spi_ and Spi.
688
689 2001-13-11  Michael Meeks  <michael@ximian.com>
690
691         * Makefile.am: dist & install at-spi-1.0.pc
692
693         * libspi/Makefile.am: install into at-spi-1.0
694
695         * idl/Makefile.am (idldir): install into at-spi-1.0
696
697         * at-spi-1.0.pc.in: add.
698
699         * configure.in: build it.
700
701 2001-12-11  Bill Haneman <bill.haneman@sun.com>
702
703         * test/keysynth-demo.c:
704         Use a 'realize' signal-handler to set the WM properties for
705         the virtual keyboard, rather than making it a "POPUP" type
706         override-redirect window (thanks to anders carlsson for that
707         tip!)
708
709 2001-11-11  Bill Haneman <bill.haneman@sun.com>
710
711         * test/Makefile.am:
712         * test/keysynth-demo.c:
713         Added new test of key synthesis, which creates a simple
714         (mouse-operated) onscreen keyboard.  It inserts key events into
715         the currently-focused window, thus it does not grab keyboard focus
716         itself.
717
718         * cspi/spi_registry.c:
719         Added C binding for AT-SPI generateKeyEvent.
720
721         * libspi/deviceeventcontroller.c:
722         Added call to XFilterEvent so that key listener works with XIM (we
723         hope).  Added event_synth_type to generateKeyEvent, so that we can
724         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
725         synthesize a press/release pair for KeySyms.    
726         
727 2001-11-09  Bill Haneman <bill.haneman@sun.com>
728
729         * libspi/Makefile.am: 
730         * registryd/Makefile.am:
731         (temporary) hack to include libXtst in libspi and registryd.
732         (Needed for keystroke synthesis, see below).
733
734         * idl/Registry.idl:
735         Improved API for registerKeystrokeListener, in accordance with
736         discussions with Gnopernicus team and X server research.
737
738         * libspi/registry.c:
739         * libspi/deviceeventcontroller.c:
740         * libspi/accessible.c:
741         * libspi/keystrokelistener.c:
742         Changes and fixes to support keylisteners for potentially
743         consumed key events (that is, 'passive grabs').
744         Added implementation for generateKeyEvent() [untested].
745
746         * cspi/spi.h:
747         Changes to registerKeystrokeListener() API, as above.
748         Added deregisterGlobalEventListenerAll(), and 
749         deregisterKeystrokeListener(), which are needed for clean exit of
750         clients.
751         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
752         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
753         
754         * cspi/spi_registry.c:
755         Added implementations of function prototypes mentioned above.
756         
757         * registryd/registryd.c:
758         Added the key listener event source as a g_timeout(), to allow
759         receipt of key events that are not caught by GDK (since GDK
760         doesn't support passive keygrabs, this was necessary).
761
762         * test/simple-at.c:
763         Changed to attach a keylistener to 'Alt' keys, and
764         respond to the following keycommands: Alt-M (toggle magnifier);
765         Alt-F (toggle speech); Alt-Q (quit).
766         Added an exit routine to deregister the listeners, and a key
767         listener that prints some key info to the console when a key
768         matches the listener mask (and is thus received by the listener).
769         
770         * util/idl/Magnifier.idl:
771         Changes to magnifier API to support multiple zoom regions,
772         non-uniform scaling in x and y, markDirty, and a host of other
773         features that would be useful to magnification.
774
775         * util/mag_image.h:
776         * util/mag_client.c:
777         * util/mag_client.h:
778         * util/mag_control.c:
779         * util/magnifier.c:
780         Source code changes to support the above IDL changes.
781         
782         * util/mag_image.c:
783         As above, and also changes to use a (slower) generic conversion
784         path for colormap conversions, since the fast RGB conversions have been
785         reported to fail for 16-bit displays.
786
787 2001-10-26  Michael Meeks  <michael@ximian.com>
788
789         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
790
791 <2001-10-26  Laszlo Peter <laca@ireland.sun.com>
792
793         * at-bridge/Makefile.am: fix LDFLAGS.
794
795 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
796
797         * at-bridge/bridge.c:
798         Re-worked listeners for toolkit events, now we have signal
799         and property listeners. Added a private method
800         register_atk_event_listeners(), which registers with the
801         various atk and gtk signals we need to monitor in order to emit
802         our at-spi events.
803         Added emission hook for AtkObject:property-change events, to
804         support the 'property listeners'.
805         Fixed some alloc()s of Accessibility_Event structs to use CORBA
806         allocation.
807
808         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
809         which emit warnings and exit, respectively, if CORBA errors occur
810         during remote calls, and we now use these methods to check most of
811         our CORBA calls in the C bindings.
812
813         * cspi/spi_accessible.c:
814         Changed AccessibleSelection_refSelectedChild() to
815         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
816         now increment refcounts.
817
818         * cspi/spi_component.c:
819         Fixed some long pointer casts (dangerous!) to pass pointers to
820         CORBA_longs of the proper type to the CORBA stubs, and copy the
821         data into the longs that were passed into the C bindings code.
822         
823         * at-bridge/bridge.c:
824         
825         * libspi/accessible.c:
826         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
827         hyperlinks, AtkHyperlink is an object type.     
828
829         * libspi/application.c:
830         Added various conversions to and from "generic" event types and
831         atk-specific types; this is really part of the 'bridge'
832         implementation but is valid for all AtkObject-based accessibility 
833         implementations.
834
835         * libspi/editabletext.c:
836         Fixed nasty bug wherein editable text's finalize method was
837         unref'ing tha AtkObject reference that the text parent class was
838         about to unref _again_.  There was also a nasty inheritance bug
839         that meant that the AccessibleEditableText class was corrupt.
840
841         * libspi/selection.c:
842         Provided implementations for some selection API that was broken.
843         
844         * idl/Application.idl:
845         Added registerObjectEventListener () method.
846
847         * THROUGHOUT:
848         Fixed a number of return values that were Bonobo_Unknowns from
849         bonobo_object_corba_objref(), which I
850         forgot to dup before returning.  Changed instances of 
851         bonobo_object_corba_objref (bonobo_object(o)) to
852         BONOBO_OBJREF(o), for concision and clarity.
853         
854 <2001-10-13  Louise Miller <louise.miller@sun.com>
855
856         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
857         idl/Event.idl, idl/Registry.idl
858         Changed these files to include Bonobo_Unknown.idl instead
859         of Bonobo.idl
860
861 <2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
862
863         * libspi/component.c libspi/component.h:
864                 Fixed typo.  Added assertions for object checks in 
865         AccessibleComponent code.
866
867 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
868
869         * idl/Accessible.idl:
870                 Added 'isEqual (Accessible *object)' 
871         method for Accessible. (Not Yet Implemented).
872         
873         * idl/Registry.idl:
874                 Changed signature of registerKeystrokeListener() to
875         take a KeySet and KeyEventSeq so that specific keys and event
876         types could be requested for monitoring, and added a flag
877         is_synchronous so that either synchronous or asynchronous
878         notification could be requested.  (However this is not all
879         implemented yet). This also meant adding two new typedefs,
880         KeyEventSeq and KeySet.
881
882         * idl/Relation.idl: 
883                 Added two new relations, RELATION_TOOLTIP_FOR and
884         RELATION_LEAFNODE_OF.
885
886         * idl/State.idl:
887                 Added new state, STATE_HAS_TOOLTIP.
888         
889         * libspi/text.c, editabletext.c:
890                 Added new assertions to all casts of bonobo-objects from
891         CORBA servants, to prevent Text API calls on non-text objects.
892                 Changed suspect casts of int-pointer types, so that we
893         always send a valid CORBA_long pointer to the CORBA APIs that use
894         in/out long parameters.  We then have to copy from the CORBA_long
895         into the regular long or int for return to the C bindings, or
896         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
897         
898         * cspi/spi_text.c:
899         * libspi/deviceeventcontroller.c:
900                 Cleaned these sources up.
901         * idl/Text.idl:
902                 Changed return type for getCharacterAtOffset to
903         CORBA_unsigned_long, to allow for 32-bit characters.
904         
905                 
906 <2001-10-08  Bill Haneman <bill.haneman@sun.com>
907
908         * util/Makefile.am:
909         * idl/Makefile.am:
910                 Fixed 'make dist' so that distro compiles...
911         * libspi/keymasks.h:
912                 new file.
913         * cspi/spi-listener.c:
914                 KeystrokeListenerCB now returns a boolean.
915         * cspi/spi.h:
916                 Added KeyEventType struct, and KeyStroke.
917                 Also added createKeystrokeListener(),
918         KeystrokeListener_addCallback(),
919         KeystrokeListener_removeCallback(), and added a keymask to
920         registerKeystrokeListener().
921         * cspi/spi_accessible.c:
922                 Changed numerous return types for interfaces from
923         AccessibleComponent to Accessible<InterfaceName>; this was
924         probably a cut-and-paste error.
925         * cspi/spi_event.c:
926                 Implementations of new KeystrokeListener api (from spi.h,
927         above).
928         * idl/Registry.idl:
929                 Changes to key modifier mapping.
930                 Created ControllerEventMask struct.
931                 Made DeviceEventController derive from Bonobo::Unknown.
932         * idl/Text.idl:
933                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
934         * libspi/deviceeventcontroller.c:
935                 Added a number of new internal (private) methods.
936         * libspi/editabletext.c:
937         * libspi/editabletext.h:
938                 Fixed a number of bugs related to the fact that
939         editabletext inherits from text.  Fixed the EditableText struct,
940         the init() call, and use correct casts when calling Text methods
941         from an EditableText object.  Removed (duplicate) atko from the
942         EditableText structure, we use the one in the parent Text
943         structure via the casts mentioned above.
944         * libspi/keystrokelistener.[ch]:
945         * libspi/registry.c:
946                 Changes in support of keyboard handling (above).
947         
948         Keyboard handling, though partly functional, is still not
949         recommended for at-spi client use as there is considerable 
950         work yet to be done.
951
952         * libspi/text.c:
953                 Changed some places where pointers to various int types
954         are cast to be pointers to CORBA_long types and vice-versa:
955         pointer casting is not safe so we pass pointers of the correct
956         types and then cast the result before putting it into the target
957         pointers.
958
959         * libspi/text.h: minor typos corrected.
960         * test/simple-at.c: 
961                 We now speak not only the name of a Text element, but the
962         first sentence of its content, when it receives focus.
963                 I also changed the text compression to 75% from 50%.
964         * util/Accessibility_Util.server.in:
965                 Changed the default magnifier type to be a 3x vertical
966         splitscreen magnifier (was previously a 2x horizontal one).
967
968 <2001-10-03  Bill Haneman <bill.haneman@sun.com>
969
970         * libspi/keystrokelistener.h:
971         * libspi/keystrokelistener.c:
972                 Initial functional implementations of KeystrokeListener.
973         * idl/Registry.idl:
974         
975 <2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
976
977         Fixed string handling for NULL strings in libspi.
978         Added spi_freeString to free strings returned by C bindings.
979
980 <2001-09-30  Bill Haneman <bill.haneman@sun.com>
981
982         * libspi/keystrokelistener.h:
983         * libspi/keystrokelistener.c:
984                 Began (no-op) implementations of KeystrokeListener
985                         (see below).
986         * libspi/deviceeventcontroller.c:
987         * libspi/deviceeventcontroller.h:
988                 Began creating implementations of DeviceEventController,
989                         to handle keystroke and mouse event listening and
990                         synthesis.
991         * libspi/accessible.c:
992                 Stubbed-in the implementations for
993                         Accessibility_Accessible_getState and
994                         Accessibility_Accessible_getRelationSet.
995         * libspi/registry.c:
996                 Improved de-registration process and fixed some bugs, 
997                         deregistration now works correctly.
998         * libspi/desktop.c:
999                 Added initialization of applications list (to NULL).
1000         * util/magnifier.c:
1001                 Reduced speech compression from 0.5 to 0.7, for demo.
1002                 Changed call to gdk_window_set_decorations()
1003                         to gtk_window_set_decorated().
1004         * at-bridge/bridge.c:
1005                 Bridge now deregisters when app exits, via
1006                         registration of a cleanup function
1007                         with the g_atexit() call.
1008                         Required making 'app' static, renamed 'this_app'.
1009                 Fixed broken use of bonobo_init, passing argv wrongly.
1010
1011 <2001-09-27  Bill Haneman <bill.haneman@sun.com>
1012
1013         * util:
1014         * util/Makefile.am: 
1015                 Created a new directory for 
1016                         accessibility-related utilities, primarily for
1017                         testing and demo purposes, but with possible
1018                         end-user utility.
1019         
1020         * util/magnifier.c:
1021         * util/magnifier.h:
1022         * util/mag_image.c:
1023         * util/mag_image.h:
1024                 Onscreen magnifier utility that
1025                         is implemented as a bonobo service.
1026         
1027         * util/mag_client.c:
1028         * util/mag_client.h:
1029                 Client-side support (simple C bindings) 
1030                         for Magnification service
1031         
1032         * util/mag_control.c:
1033                 Client program example for 
1034                         Magnification service
1035         
1036         * util/Accessibility_Magnifier.server.in:
1037                 Bonobo-activation file for the 
1038                         Magnification service.
1039         
1040         * util/idl:
1041         * util/idl/Magnifier.idl:
1042                 IDL defining the bonobo Magnification
1043                         service interface.
1044
1045         * test/simple-at.c:
1046                 Modifications to use the bonobo-activated magnifier
1047                         above, in place of trying to connect to an existing
1048                         magnifier that uses socket-listening IPC.
1049
1050                 If env variable MAGNIFIER is set, a magnifier service
1051                         will be started if one does not exist.
1052         
1053 <2001-09-25  Bill Haneman <bill.haneman@sun.com>
1054         * at-bridge/bridge.c:
1055                 applied patch from Marc to build and run 
1056                 against new glib and gtk+ (seemed like a change 
1057                 to bonobo_init signature was made ?)
1058         * test/simple-at.c:
1059                 made festival-server support turned off by default.
1060                 Added support for a simple magnifier (off by default)
1061                 which will be added to a 'util' directory later.
1062         * at-bridge/Makefile.am:
1063                 Changed "application.h" header from a 'source'
1064                 to a 'dependency' of libat-bridge.
1065
1066 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
1067         * cspi/Makefile.am:
1068                 Added spi-util.c.
1069
1070         * cspi/spi-util.c:
1071                 Fixed typo
1072
1073         * cspi/spi.c:
1074                 Added interface implementation c files to list of
1075                         includes so they are included in libcspi.
1076
1077         * cspi/spi.h:
1078                 Changed prototype of AccessibleAction_doAction to return a
1079                         boolean.
1080                 Changed prototype of AccessibleTable_getCaption to
1081                         return an Accessible.
1082                 Changed prototype of AccessibleTable_getSelectedRows
1083                         and AccessibleTable_getSelectedColumns to
1084                         return a long (returns the number of selected rows
1085                         or columns respectively).
1086                 Changed name of AccessibleText_refRunAttributes to
1087                         AccessibleText_getAttributes.
1088                 Changed prototype of AccessibleText_getCharacterExtents to
1089                         return a void rather than a boolean. 
1090                 Added support for a AccessibleCoordType parameter
1091                         specifying what type of coordinates are desired.
1092                 Added an AccessibleCordType parameter to
1093                         AccessibleText_getPointAtOffset.
1094
1095         * cspi/spi_accessible.c:
1096                 Added code to return the outstanding interfaces from
1097                         Accessible_queryInterface.
1098
1099         * cspi/spi_action.c:
1100                 Fixed typos.
1101                 Corrected call to getNActions to call the c binding
1102                         for an attribute.
1103
1104         * cspi/spi_editabletext.c:
1105                 Fixed typos.
1106                 Changed name from setRunAttributes to setAttributes.
1107
1108         * cspi/spi_hyperlink.c:
1109                 Fixed typos.
1110                 Changed call to getNAnchors to correctly call the c
1111                         binding for an attribute.
1112
1113         * cspi/spi_hypertext.c:
1114                 Fixed typos.
1115                 Changed getImageDescription to correctly call the
1116                         binding for an attribute.
1117
1118         * cspi/spi_selection.c:
1119                 Changed getNSelectedChildren to correctly call the c
1120                         binding for the attribute.
1121                 Changed refSelectedChild to getSelectedChild.
1122
1123         * cspi/spi_table.c:
1124                 Fixed typos.
1125                 Changed getCaption to return an Accessible.
1126                 Fixed calls which retrieve attributes.
1127                 Changed refAt to getAccessibleAt.
1128                 Changed getNSelectedRows and getNSelectedColumns to
1129                         return longs.
1130
1131         * cspi/spi_text.c:
1132                 Changed getCharacterExtents and getPointAtOffset to accept an
1133                         AccessibleCoordType.
1134                 Fixed typos.
1135                 Changed calls which retrieve attributes.
1136                 Changed refRunAttributes to getAttributes.
1137
1138         * cspi/spi_value.c:
1139                 Fixed typos.
1140
1141         * idl/Hyperlink.idl:
1142                 Changed n_anchors attribute to nAnchors to keep naming
1143                         convention consistent.
1144
1145         * idl/Table.idl:
1146                 Made Table inherit from Bonobo::Unknown.
1147                 Added nSelectedColumns and nSelectedRows attributes.
1148
1149         * idl/Value.idl:
1150                 Made Value inherit from Bonobo::Unknown.
1151
1152         * libspi/hyperlink.c:
1153                 Change for nAnchors attributte name change.
1154
1155 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
1156         * cspi/Makefile.am:
1157                 Added spi-util.c.
1158
1159         * cspi/spi-util.c:
1160                 Fixed typo
1161
1162         * cspi/spi.c:
1163                 Added interface implementation c files to list of
1164                         includes so they are included in libcspi.
1165
1166         * cspi/spi.h:
1167                 Changed prototype of AccessibleAction_doAction to return a
1168                         boolean.
1169                 Changed prototype of AccessibleTable_getCaption to
1170                         return an Accessible.
1171                 Changed prototype of AccessibleTable_getSelectedRows
1172                         and AccessibleTable_getSelectedColumns to
1173                         return a long (returns the number of selected rows
1174                         or columns respectively).
1175                 Changed name of AccessibleText_refRunAttributes to
1176                         AccessibleText_getAttributes.
1177                 Changed prototype of AccessibleText_getCharacterExtents to
1178                         return a void rather than a boolean. 
1179                 Added support for a AccessibleCoordType parameter
1180                         specifying what type of coordinates are desired.
1181                 Added an AccessibleCordType parameter to
1182                         AccessibleText_getPointAtOffset.
1183
1184         * cspi/spi_accessible.c:
1185                 Added code to return the outstanding interfaces from
1186                         Accessible_queryInterface.
1187
1188         * cspi/spi_action.c:
1189                 Fixed typos.
1190                 Corrected call to getNActions to call the c binding
1191                         for an attribute.
1192
1193         * cspi/spi_editabletext.c:
1194                 Fixed typos.
1195                 Changed name from setRunAttributes to setAttributes.
1196
1197         * cspi/spi_hyperlink.c:
1198                 Fixed typos.
1199                 Changed call to getNAnchors to correctly call the c
1200                         binding for an attribute.
1201
1202         * cspi/spi_hypertext.c:
1203                 Fixed typos.
1204                 Changed getImageDescription to correctly call the
1205                         binding for an attribute.
1206
1207         * cspi/spi_selection.c:
1208                 Changed getNSelectedChildren to correctly call the c
1209                         binding for the attribute.
1210                 Changed refSelectedChild to getSelectedChild.
1211
1212         * cspi/spi_table.c:
1213                 Fixed typos.
1214                 Changed getCaption to return an Accessible.
1215                 Fixed calls which retrieve attributes.
1216                 Changed refAt to getAccessibleAt.
1217                 Changed getNSelectedRows and getNSelectedColumns to
1218                         return longs.
1219
1220         * cspi/spi_text.c:
1221                 Changed getCharacterExtents and getPointAtOffset to accept an
1222                         AccessibleCoordType.
1223                 Fixed typos.
1224                 Changed calls which retrieve attributes.
1225                 Changed refRunAttributes to getAttributes.
1226
1227         * cspi/spi_value.c:
1228                 Fixed typos.
1229
1230         * idl/Hyperlink.idl:
1231                 Changed n_anchors attribute to nAnchors to keep naming
1232                         convention consistent.
1233
1234         * idl/Table.idl:
1235                 Made Table inherit from Bonobo::Unknown.
1236                 Added nSelectedColumns and nSelectedRows attributes.
1237
1238         * idl/Value.idl:
1239                 Made Value inherit from Bonobo::Unknown.
1240
1241         * libspi/hyperlink.c:
1242                 Change for nAnchors attributte name change.
1243
1244
1245 <2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
1246
1247         implementations-- made server implementations own AtkObject pointers
1248         rather than their respective AtkInterrface pointers to fix
1249         refcounting.  AtkHyperlink is still broken.
1250
1251 <2001-09-04  Bill Haneman <bill.haneman@sun.com>
1252         * cspi/spi_accessible.c:
1253                 Added method Accessible_Role_getName(),
1254                         and requisite string array (role_names).
1255                 Added conversion string_from_corba_strin() call
1256                         to Accessible_getName and _getDescription.
1257         * libspi/accessible.c:
1258                 Added implementation for Accessible_getRole()
1259         * test/simple-at.c:
1260                 Added festival support, used if environment variable
1261                         FESTIVAL is set.
1262         
1263 2001-09-04  Bill Haneman <bill.haneman@sun.com>
1264
1265         * at-bridge/bridge.c:
1266             Now allocate Accessibility_Event using
1267             Accessibility_Event__alloc() instead of g_new0().
1268         * libspi/accessibleeventlistener.c:
1269             Initialize AccessibleEventListener->callbacks to NULL.
1270             Fixed accessible__event_listener_init() param, changed to
1271             "AccessibleEventListener *" type.
1272             Changed a bonobo_object_release_unref() call to
1273             Accessibility_Accessible_unref().
1274         * libspi/listener.c:
1275             Changed Bonobo_Unknown_unref to (equivalent) 
1276             Accessibility_Accessible_unref.
1277         * libspi/registry.c:
1278             Changed bonobo_object_release_unref to 
1279             Accessibility_Accessible_unref.
1280         
1281 <2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
1282         
1283         * Added files:
1284             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
1285             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
1286             spi-util.c spi-util.h
1287             Implementations for C bindings to remaining accessibility 
1288             interfaces.
1289
1290 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
1291         
1292         * idl/Action.idl:
1293             changed return value of Action from void to boolean to 
1294             bring in line with ATK.
1295
1296         * idl/Text.idl:
1297             Changed getText funcions to return "out" start and end offsets.
1298             Changed getAttributes to take and offset and return the start 
1299             and end offset of the attribute run.
1300             Changed getOffsetAtPoint and getCharacterExtents to take an 
1301              enum describing whether coordinates are window or screen.
1302
1303         * Added files:
1304             libspi/action.c libspi/action.h libspi/editabletext.c 
1305             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
1306             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
1307             libspi/image.h libspi/selection.c libspi/selection.h
1308             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
1309             libspi/value.c libspi/value.h
1310             Added server implementations for outstanding ATK interfaces 
1311             not yet implemented.
1312  
1313 2001-09-04  Bill Haneman <bill.haneman@sun.com>
1314
1315         * idl/Action.idl:
1316                 Added (missing) getName() method. 
1317                 Made nActions an attribute.
1318         * idl/EditableText.idl:
1319                 Changed order of params in setAttributes.
1320         * idl/Hyperlink.idl:
1321                 Removed getAnchor, added getURI.
1322         * idl/Image.idl:
1323                 Changed attributes to methods, for efficiency
1324                 (so that getting extents can be done in one call)
1325         * idl/Selection.idl:
1326                 Changed nSelectedChildren to attribute, and re-indented.
1327         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
1328                 to attributes.
1329         * idl/Text.idl: reformatted to match our coding style.
1330                 (temporarily?) removed getRowColumnAtOffset().
1331                 Changed text selection API to support multi-select and
1332                 non-contiguous selections, as in ATK.
1333         * idl/Value.idl: changed some methods to attributes.
1334
1335 2001-08-24  Mark McLoughlin <mark@skynet.ie>
1336
1337         * libspi/listener.c(impl_notify_event):
1338         BonoboUnkown_unref the source instead
1339         of bonobo_object_release_unref - the ORB
1340         handles the releasing.
1341
1342         * configure.in: require ORBit-2.3.94 for
1343         this behaviour.
1344
1345 2001-08-21  Bill Haneman <bill.haneman@sun.com>
1346
1347         Tagged CVS repository 'EA_1_0'.
1348         * README.EARLY_ACCESS:
1349         Alphabetized acknowledgements list, and
1350         added someone.
1351         Listed some known dependencies of at-spi.
1352
1353 2001-08-20  Bill Haneman <bill.haneman@sun.com>
1354
1355         * docs/at-spi-docs.sgml:
1356         * docs/at-spi-sections.txt:
1357         * docs/at-spi-overrides.txt: (Added zero-length file)
1358         Documentation improvements - gtk-doc should build
1359         docs for all implemented C bindings now.
1360         * cspi/Makefile.am:
1361         * cspi/spi_main.c:
1362         * cspi/spi.c: (New file)
1363         * cspi/spi_event.c: (New file)
1364         * cspi/spi_registry.c: (New file)
1365         * cspi/spi_accessible.c: (New file)
1366         * cspi/spi_application.c: (New file)
1367         * cspi/spi_component.c: (New file)
1368         Split spi_main.c into six parts, and included them from
1369         "spi.c".  This is a bit of a hack, probably temporary,
1370         but required by gtk-doc, apparently.
1371         
1372 2001-08-20  Bill Haneman <bill.haneman@sun.com>
1373
1374         * docs/Makefile.am:
1375         * docs/at-spi-docs.sgml:
1376         * docs/at-spi-sections.txt:
1377         * configure.in:
1378         Initial checkins/modifications for gtk-doc generation.
1379         * cspi/spi.h:
1380         * cspi/spi.c:
1381         Added (missing) interface query methods to Accessible's C binding.
1382         * cspi/spi-impl.h:
1383         Added GenericInterface type definition.
1384         * test/simple-at.c:
1385         Added query for AccessibleComponent interface to focus event handler.
1386         Added printout of bounding box for focussed component.
1387         * libspi/component.c:
1388         Added partial implementation for AccessibleComponent to C binding.
1389         * idl/Application.idl:
1390         * libspi/registry.c:
1391         * libspi/listener.c:
1392         * libspi/application.c:
1393         * libspi/application.h:
1394         Changed "ID" attribute type from string to long.
1395
1396 2001-08-19  Bill Haneman <bill.haneman@sun.com>
1397
1398         * cspi/spi.h:
1399         * cspi/spi.c:
1400         Made method naming consistent: methods taking object args
1401         start with uppercase, other methods (except those using
1402         acronyms) start with lowercase.  Underscores delimit between
1403         object names and method names:
1404         SPI_init() - uppercase since it starts with an acronym.
1405         getDesktopCount () - lowercase start since no object param0.
1406         Accessible_getName() - uppercase object type name, studlyCaps method
1407                                name.
1408
1409         *cspi/spi.h:
1410         Added gtk-doc documentation for all currently implemented
1411         methods in the C bindings API.
1412
1413 2001-08-18  Bill Haneman <bill.haneman@sun.com>
1414
1415         * Makefile.am : changed build order to build test last.
1416         * cspi/spi.h :
1417         * cspi/spi_main.c :
1418         Changed "createEventListener" to "CreateEventListener".
1419         * libspi/accessibleeventlistener.c :
1420         Bugfix for addition of callbacks.
1421         * test/Makefile.am :
1422         * test/simple-at.c :
1423         Added new test that uses the C bindings API.
1424         * idl/Event.idl :
1425         * libspi/listener.c :
1426         * libspi/registry.c :
1427         * libspi/accessibleeventlistener.c :
1428         * at-bridge/bridge.c :
1429         Renamed member "target" of Accessibility_Event to "source",
1430         which is more descriptive.
1431         
1432
1433 2001-08-18  Bill Haneman <bill.haneman@sun.com>
1434
1435         * Makefile.am: 
1436         * configure.in :
1437         * cspi/Makefile.am :
1438         Added makefile support for at-spi/cspi directory.
1439         * cspi/spi.h : 
1440         * cspi/spi-impl.h :
1441         * cspi/spi-listener.h : (NEW FILE)
1442         Added support for/use of spi-listener.h.
1443         * cspi/spi_main.c :
1444         C bindings now build successfully, with no warnings.
1445         * libspi/accessibleeventlistener.h : (NEW FILE)
1446         * libspi/accessibleeventlistener.c : (NEW FILE)
1447         * libspi/Makefile.am :
1448         Added new object type "AccessibleEventListener"
1449         which inherits from Listener, and allows attachment
1450         of in-process callbacks (so that a client with a listening
1451         object instance can add functionality to the local 
1452         implementation, dynamically).
1453
1454 2001-08-18  Bill Haneman <bill.haneman@sun.com>
1455
1456         * libspi/accessible.c: 
1457         Add implementation for get_index_in_parent().
1458         * cspi/spi.h : 
1459         Added #include of "spi-roletypes.h", and
1460         added enumerated type AccessibleCoordType.
1461         Added definition for KeystrokeListener (function type).
1462
1463         ADDED FILES:
1464         * cspi/spi-statetypes.h :
1465         * cspi/spi-roletypes.h :
1466         * cspi/spi-impl.h :
1467         Added these headers, used by spi.h.
1468         * cspi/spi_main.c : 
1469         Added code (NOTE: not yet built by make).
1470
1471 2001-08-18  Mark McLoughlin <mark@skynet.ie>
1472
1473         * libspi/Makefile.am: generate imodule
1474         at the same time as other idl compiler 
1475         generated files. 
1476
1477 2001-08-17  Bill Haneman <bill.haneman@sun.com>
1478         * libspi/registry.c :
1479         * libspi/application.c :
1480         * idl/Application.idl :
1481         Made registration with toolkit an application method,
1482         which is required since each app has its own toolkit static
1483         environment.  Thus the bridge must register for 
1484         notification of toolkit events from each application in turn.
1485         Toolkit notifications are now successfully registered for, and
1486         sent to the listening at client.
1487         * test/at.c :
1488         Changed toolkit event string to use hyphens rather than underscores.
1489         * libspi/listener.c :
1490         listner now gives more info in debug mode - it reports the
1491         name of the event received, as well as the name of the source.
1492         
1493
1494 2001-08-16  Bill Haneman <bill.haneman@sun.com>
1495
1496         * libspi/registry.c :
1497         added more implementation for toolkit events.
1498         Fixed bug such that toolkit event registrations
1499         (via atk) use the whole event name string, not 
1500         just minor+detail.
1501         Removed a useless call to an ORBit_ method.
1502         * at-bridge/bridge.c :
1503         Removed unused local sbuf[] variable.
1504         * test/at.c :
1505         We now register for Gtk:GtkWidget:button_press_event 
1506         events as well as "focus:" events.
1507         * cspi/spi.h :
1508         Add some more API from Registry.idl that was missing,
1509         for keystroke listening, keystroke and mouse event
1510         synthesis, and enumeration of accessible desktops.
1511
1512 2001-08-16  Michael Meeks  <michael@ximian.com>
1513
1514         * configure.in: use AM_GLIB_GNU_GETTEXT.
1515
1516         * Makefile.am (SUBDIRS): kill intl.
1517
1518 2001-08-15  Michael Meeks  <michael@ximian.com>
1519
1520         * registryd/Makefile.am: s/oaf/server/ relocate info file.
1521
1522         * configure.in: upd.
1523
1524         * configure.in: depend on a recent bonobo-activation that
1525         will find our server files ...
1526
1527 2001-08-16  Bill Haneman <bill.haneman@sun.com>
1528
1529         * libspi/accessible.c : accessible_new() :
1530         Now we add the Component interface via bonobo_object_add_interface,
1531         if the contained AtkObject implements AtkComponent.
1532         * libspi/accessible.h : now include "component.h"
1533         * libspi/component.h :
1534         * libspi/component.c : added files - implementation of
1535         bonobo wrapper object for Accessibility/Component
1536         * libspi/listener.c :
1537         Added test code to check for Accessibility/Component:1.0
1538         interface and report whether it is implemented by the
1539         event source.
1540         * libspi/registry.c :
1541         Now we check for not only the hash of the whole event 
1542         string before relaying the event, we also check the
1543         "minor" event string (without the detail string).
1544         This allows event listeners to be registered against
1545         all events of a certain major+minor type, or just
1546         against a specific major+minor+detail type.
1547         * libspi/accessible.c :
1548         Added implementations for Accessible:get_parent(),
1549         Accessible:getChildCount(), and Accessible:getChildAtIndex().
1550         * libspi/registry.c :
1551         * libspi/listener.c :
1552         Replaced calls to Accessibility_Accessible_ref() and
1553         Accessibility_Accessible_unref() with 
1554         calls to bonobo_object_dup_ref() and 
1555         bonobo_object_release_unref(), so that the CORBA object
1556         is dup-ed and released when relayed, as well as the bonobo object.
1557
1558 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1559
1560         * libspi/Makefile.am,
1561           registryd/Makefile.am,
1562           at-bridge/Makefile.am.
1563           test/Makefile.am, configure.in:
1564         reverse previous changes.
1565
1566         * /idl/Image.idl: fix typo.
1567
1568         * test/Makefile.am: put DEBUG_FLAGS
1569         in CFLAGS.
1570
1571 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1572
1573         * test/app.c: use argv[0] instead of
1574         g_type_prgname.
1575
1576 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1577
1578         * libspi/Makefile.am,
1579           registryd/Makefile.am,
1580           at-bridge/Makefile.am.
1581           test/Makefile.am, configure.in:
1582         cleanup, replace individual LIBS/CFLAGS with
1583         AT_COMMON_{LIBS|CFLAGS}.
1584
1585         * README: format.
1586
1587 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1588         
1589         * configure.in, libspi/Makefile.am:
1590         Change IDL path checking for bonobo-activation
1591         as opposed to oaf.
1592
1593 2001-08-15  Bill Haneman <bill.haneman@sun.com>
1594
1595         * registryd/registry.c : separated event listeners to use
1596         3 separate lists (focus, window, toolkit).  Began testing
1597         event names against hashes before relaying events.
1598         * test/at.c : now register for events of type "focus:"
1599         * test/app.c : now generate events of type "focus:"
1600         * at-bridge/bridge.c : register with ATK for focus events,
1601         and we now relay those focus events to any "focus:" listeners.
1602         This now works with the bridge as a GTK_MODULE when running test/at.
1603         * libspi/registry.c :
1604         * libspi/listener.c : 
1605         now we ref event sources before propagating, and unref on receipt.
1606         * libspi/registry.c : 
1607         some changes to internal structs, to support event typestring hashes.
1608         * text/app.c : changed the way the appname is generated.
1609         * cspi : added directory that will hold the C bindings library for 
1610                 non-CORBA/bonobo-savvy clients.
1611         * cspi/spi.h : header file that contains the function prototypes for the C binding.
1612         * idl/Component.idl : added in parameter to indicate coord system for
1613                 geometry-related calls.
1614         * idl/Hyperlink.idl : added readonly n_links attribute
1615         * idl/Image.idl : changed methods to attributes.
1616         
1617 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1618
1619         * at-bridge/Makefile.am: link against
1620         ../libspi/libspi.la instead of -lspi.
1621
1622         * at-spi/test/app.c: include 
1623         bonobo-activation.h. Use a default appname
1624         if one is not provided.
1625
1626 2001-08-14  Bill Haneman <bill.haneman@sun.com>
1627
1628         * idl/Registry.idl : temporarily changed register_Application
1629         to oneway, to work around issue with initial registration 
1630         re-entrancy.
1631         * idl/Application.idl : changed attribute "id" from readonly 
1632         to read-write, since it needs to be assigned by Registry.
1633         * registryd/registryd.c : added call to set application id 
1634         on registration.
1635         * registryd/registry.c : changed de-registration procedure to
1636         use CORBA_Object_hash() to find matching object ref in application
1637         lists and listener lists.
1638         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
1639         began distinguishing between event types (work in progress).
1640
1641 2001-08-13  Bill Haneman <bill.haneman@sun.com>
1642
1643         CHANGES:
1644         * libspi/application.c:
1645         Added implementations for get/set id, get_toolkitName,
1646         get_version.
1647         * registryd/registryd.c :
1648         * test/at.c :
1649         * test/app.c :
1650         * Makefile.am :
1651         Converted from use of OAF to bonobo-activation.
1652         * libspi/desktop.h :
1653         * libspi/desktop.c :
1654         * test/app.c :
1655         Removed references to atksimpleobject, since base atkobject
1656         implementation now provides functionality we need.
1657         * libspi/atksimpleobject.c :
1658         * libspi/atksimpleobject.h :
1659         Removed.
1660         
1661         ADDITIONS:
1662         * at-bridge
1663         * at-bridge/Makefile.am
1664         * at-bridge/bridge.c
1665         * configure.in
1666         * Makefile.am
1667         Added directory "bridge" and contents, and added dependencies
1668         in Makefile.am/configure.in.  
1669         Initial checkin of "at-bridge".
1670         This code is a GTK_MODULE which automatically registers
1671         GTK+ apps with the accessibility registry, using an object
1672         reference to the root ATK object.
1673         
1674 2001-08-10  Mark McLoughlin <mark@skynet.ie>
1675
1676         * po/Makefile.in.in: Remove. Again. If this
1677         doesn't get autogenerated - you need to update
1678         gnome-common.
1679
1680 2001-08-07  Mark McLoughlin <mark@skynet.ie>
1681
1682         * po/Makefile.in.in: Add. Again.
1683
1684 2001-07-31  Bill Haneman <bill.haneman@sun.com>
1685
1686         * libspi/accessible.c : added support for 'description' property.
1687         * libspi/accessible.c
1688         * libspi/desktop.c
1689         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
1690             (since the two are now equivalent in libbonobo)
1691         * idl/Action.idl
1692         * idl/Component.idl
1693         * idl/Hyperlink.idl
1694         * idl/Image.idl
1695         * idl/Selection.idl
1696         * idl/Table.idl
1697         * idl/Text.idl
1698         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
1699              Bonobo::Unknown as does Accessibility::Accessible.
1700         * idl/StreamableContent.idl : as above, and replaced internal InputStream
1701              interface with Bonobo::Stream, since it was redundant with it.
1702              (The Stream returned by a StreamableContext object is expected to
1703              implement only a subset of Bonobo::Stream)
1704
1705 2001-07-28  Anders Carlsson  <andersca@gnome.org>
1706
1707         * libspi/accessible.c (accessible_object_finalize): Change
1708           g_free to g_object_unref since the AtkObject is a GObject.
1709
1710 2001-07-30  Bill Haneman <bill.haneman@sun.com>
1711
1712         * idl/Accessibility.idl: add new IDL files
1713         
1714         Added:
1715         * idl/Action.idl: Definitions of actionable UI object
1716         * idl/Component.idl: Definitions of UI component geometry, etc.
1717         * idl/Hyperlink.idl: Defs of hyperlink behavior
1718         * idl/Image.idl: Def of accessible image
1719         * idl/Selection.idl: Definition of UI object with selectable children
1720         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
1721         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
1722         * idl/Text.idl: Interface defs for UI elements with complex textual content
1723         * idl/Value.idl: Definition of UI element that is a value controller or display
1724         
1725 2001-07-27  Michael Meeks  <michael@ximian.com>
1726
1727         * po/Makefile.in.in: remove autogenerated file from CVS.
1728
1729         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
1730         type library.
1731
1732         * idl/Registry.idl: include guard.
1733
1734         * idl/Accessibility.idl: Add, and include all the other IDL
1735         files.
1736
1737         * idl/*.idl: remove mass of pragmas etc.
1738
1739 2001-07-26  Michael Meeks  <michael@ximian.com>
1740
1741         * registryd/Makefile.am (registryd_SOURCES): remove
1742         redundant at_.
1743
1744 2001-07-27  Mark McLoughlin <mark@skynet.ie>
1745
1746         * libspi/.cvsignore, registryd/.cvsignore,
1747           test/.cvsignore: updated.
1748
1749         * po/Makefile.in.in: gettext update.
1750
1751 2001-07-25  Bill Haneman <bill.haneman@sun.com>
1752
1753         * initial CVS checkin
1754
1755 2001-06-29  Michael Meeks  <michael@ximian.com>
1756
1757         * configure.in: add AM_CONFIG_HEADER to gen config.h
1758
1759         * acconfig.h: add.
1760