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