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