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