94f7aaf0b03a42d24f936c7a36ee50c8ecd1f583
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2002-06-20  Bill Haneman  <bill.haneman@sun.com>
2
3         * cspi/spi_main.c: [fix for bug 85980]
4         (cspi_object_ref):
5         Replaced use of bonobo_object_dup_ref with call to the wrapper
6         method, csou_dup_ref (); this silences a compiler warning and
7         provided more portability.
8         (cspi_registry):
9         Ping the registry before return, and restart if necessary.
10
11         * cspi/bonobo/cspi-bonobo.c:
12         (cspi_ping):
13         New internal method.
14         (cspi_dup_ref):
15         Fixed this method to return an object reference, as it should have
16         all along.
17
18         * cspi/cspi-lowlevel.h:
19         Added internal definition for cspi_ping() and fixed 
20         return type of cspi_dup_ref().
21         
22
23 2002-06-19  Bill Haneman  <bill.haneman@sun.com>
24
25         * atk-bridge/bridge.c:  [fix for bug 85305]
26         (spi_atk_bridge_register_application):
27         New method where the initial application registry calls have been
28         moved; it allows an application to re-register in response to
29         certain error conditions (such as a registry restart, see below).
30         (atk_bridge_init):
31         Moved some initialization code to the method
32         spi_atk_bridge_get_registry, below.
33         (spi_atk_bridge_get_registry):
34         New, private accessor function for the Accessibility_Registry
35         instance.  If the registry has not been started before, or has
36         died (as detected by failure of a CORBA exception), it is
37         restarted before return, and spi_atk_bridge_register_application
38         is called again to register with the new bridge instance.
39         (spi_atk_emit_eventv):
40         Set registry_died on error; use spi_atk_bridge_get_registry () to
41         access the registry.
42         
43         * registryd/registry.c:
44         (impl_accessibility_registry_register_global_event_listener):
45         Set listener's event_type_quark to etype.minor instead of
46         etype.major (fix for bug 84856).
47
48         * test/event-listener-test.c:
49         (report_detail_event):
50         Change the output string so that user/tester can tell that the
51         'detail listener' was called instead of the 'generic listener'.
52         
53 2002-06-18  Bill Haneman  <bill.haneman@sun.com>
54
55         Fixes for bugs 84900, 84908, 84897, 84898.
56
57         * NEWS: updated.
58         
59         * configure.in:
60         Revved version to 1.1.0 
61         (reserving the 1.0.X branch for gnome-2-0-0 branch, this
62         version is going to HEAD which will be used for gnome-2-0-1 and later.)
63         
64         * idl/Accessibility_Registry.idl:
65         (EventListener::notifyEvent):
66         Removed 'oneway' directive after extensive consulation with
67         ORBit2 team and others.  This means also that unref() of the event
68         source can and should be done synchronously after emission, rather
69         than remotely in the client, after servicing the notify call on
70         the listener side.
71
72         NOTE: This change speeds up listener performance considerably, but
73         introduces new latency on the application side.  We may want to
74         add an event queue to the atk-bridge.
75
76         * atk-bridge/bridge.c:
77         (spi_atk_bridge_focus_tracker):
78         Do a local unref() on the event source after emission.
79         
80         * registryd/registry.c:
81         (desktop_remove_application):
82         Do an unref() on the event source after emission.
83         (desktop_add_application):
84         Do an unref() on the event source after emission.
85         (notify_listeners_cb):
86         When relaying an event, don't automatically add the event source
87         to the local object cache, just CORBA_dup it instead.  Likewise,
88         if this method reenters, release the ref rather than calling
89         unref() as well.
90         (impl_registry_notify_event):
91         No longer call remote unref() on the event source after dispatch.
92
93         * libspi/eventlistener.c:
94         (impl_accessible_event_notify_event):
95         Removed remote unref ()
96         
97         * cspi/bonobo/cspi-bonobo-listener.c:
98         (cspi_event):
99         We now call cspi_object_new() instead of cspi_object_add() on
100         receipt of an event; thus we only have an implicit object ref
101         while the cspi_event method is being executed.  If we need to keep
102         a reference to the object, the listener must call ref() on the
103         object.  Thus also we don't need to call cspi_object_unref() after
104         invoking the listener callbacks in this method.
105         
106         * cspi/spi_main.c:
107         (cspi_object_new):
108         New internal API for creating a new cspi object, without adding it
109         to the object cache.
110         (cspi_object_add):
111         Now uses cspi_object_new() to create the cspi object instance.
112         (cspi_object_ref):
113         Now checks to see if the object is in the internal object cache,
114         and adds it if necessary before incrementing its refcount (note
115         that new objects are added with a refcount of 1).
116         (report_leaked_ref):
117         New method which gives some information on leaked object instances
118         if leak detection is turned on.
119
120         * test/event-listener-test.c:
121         (timing_test_event):
122         New method, used for testing event delivery timing for special
123         events of type "object:test".  It reports elapsed time and
124         events/sec every 500 events.
125         (main):
126         Added a new listener, 'test listener', to check timing of event
127         receipt as noted above.
128         (report_event):
129         Added some timing output here also, reports elapsed time every 100
130         events.
131
132         * test/stress-test.c:
133         Emit events of type "object:test", for use with "event-listener-test".
134
135         * test/test-simple.c:
136         (global_listener_cb):
137         Call Accessible_ref() on the event source before calling
138         validate_accessible, since the validation process does pointer
139         comparisons on the event source, meaning that the event source
140         needs to be added to the local object cache first.  Any use of
141         such pointer comparisons between Accessible objects requires that
142         the caller hold an explicit reference to those objects.
143         We also must therefore call Accessible_unref() when leaving this method.
144
145 2002-06-13  Bill Haneman  <bill.haneman@sun.com>
146
147         * registryd/deviceeventcontroller.c:
148         (spi_controller_update_key_grabs):
149         Fix for #84735, subsequent keygrab listeners not informed of
150         registration failure.
151
152         * libspi/base.c:
153         (spi_base_construct):
154         Add an assertion on construct, to make sure the GObject passed in
155         is really a GObject.
156         (spi_base_init):
157         Explicitly initialize object->gobj pointer to NULL;
158
159         * cspi/bonobo/cspi-bonobo-listener.c:
160         (cspi_object_add_ref):
161         New method, can specify whether to dup-ref a bonobo object passed
162         in if it's newly added to the object cache.
163         (cspi_object_add):
164         Now calls cspi_object_add_ref with second param of "FALSE".  This
165         prevents us from doing a pointless dup-ref followed by
166         release-unref for all those cases where the object is already in
167         our object cache (fix for #85205).
168
169         * atk-bridge/bridge.c:
170         (spi_atk_bridge_idle_init):
171         Removed this method, we don't need to initialize in an idle
172         handler anymore;
173         (atk_bridge_init):
174         Changed to call spi_atk_register_event_listeners directly, not via an
175         idle handler. (fix for #81139)
176         (gnome_accessibility_module_shutdown):
177         Removed conditional around deregistration of listeners, since we
178         don't use the idle handler and thus have always registered when
179         shutdown is called.
180         (spi_init_keystroke_from_atk_key_event):
181         Changed references to Accessibility_KEY_PRESSED to 
182         Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
183         
184 2002-06-12  Bill Haneman  <bill.haneman@sun.com>
185
186         (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
187         
188         * configure.in:
189         Revved to 1.0.1
190
191         * test/stress-test.c:
192         Added file.
193
194         (may have been an incomplete commit yesterday?)
195
196 2002-06-12  Bill Haneman  <bill.haneman@sun.com>
197
198         * test/Makefile.am:
199         Added target for new stress-test.
200         
201         * test/stress-test.c:
202         New test, sends 1000 focus notifies in quick succession.
203
204         * test/key-listener-test.c:
205         Now we report whether a keylistener registration
206         request succeeded or failed.
207
208         * test/event-listener-test.c:
209         Uncommented some listeners which are now implemented.
210
211
212 2002-06-06  Bill Haneman  <bill.haneman@sun.com>
213
214         * registryd/deviceeventcontroller.c:
215         (spi_controller_update_key_grabs):
216         Fix for #82509, lack of failure notification when
217         ALL_WINDOWS keygrabs fail due to XGrabKey
218         failure: we synchronize the server when 
219         registering a passive grab, to make sure we get the
220         error message before the call returns.
221
222 2002-06-03  Bill Haneman  <bill.haneman@sun.com>
223
224         * test/test-simple.c:
225         (key_listener_cb):
226         Removed #ifdef KEY_IMPL_WORKS guards.
227         (test_keylisteners):
228         Removed #ifdef KEY_IMPL_WORKS guards.
229         Fixed bug which was causing a hang waiting for a 
230         "press" event (which was already overwritten by a "release" 
231         event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
232         (key_listener_cb):
233         Added code to set globals 'key_press_received' and
234         'key_release_received'.
235
236         * TODO:
237         Added section "1.1 API Proposed Additions" which
238         lists API additions desired for at-spi-1.1 (only one so far).
239         Updated TODO list a little.
240         
241 2002-06-02  Bill Haneman  <bill.haneman@sun.com>
242
243         AT-SPI 1.0 API FINAL: at-spi 1.0 is now
244         API frozen.
245         
246         * configure.in: Revved to 1.0.0.
247
248         * idl/Accessibility_Registry.idl:
249         (registerKeystrokeListener):
250         Added boolean return value.
251         
252         * registryd/registry.c:
253         (notify_listeners_cb): Minor fix to debug output.
254
255         * registryd/Accessibility_Registry.server.in.in:
256         Revved version number in OAFIID to 1.0.
257
258         * registryd/registryd.c:
259         (main):
260         Use new OAFIID version.
261
262         * cspi/bonobo/cspi-bonobo.c:
263         (cspi_init):
264         Use new OAFIID version.
265
266         * test/at.c:
267         (main):
268         * test/app.c:
269         (main):
270         * atk-bridge/bridge.c:
271         (atk_bridge_init):
272         Use new OAFIID version.
273
274         * registryd/deviceeventcontroller.c:
275         (impl_register_keystroke_listener):
276         Added CORBA_boolean return value.
277         (spi_controller_register_device_listener):
278         Added gboolean return value.
279         (spi_controller_register_global_keygrabs):
280         Added gboolean return value.
281         (spi_key_set_contains_key):
282         Added implementation for many more control keys,
283         for instance F1-F12, arrow keys, End, Home, Page_Up,
284         Page_Down, Escape.
285         [TODO: some still not implemented]. 
286         
287         * text/screen-review-test.c:
288         (text_chunk_pad_string):
289         New function: it provides mapping between coordinate
290         positions of text chunks and character positions in the
291         screen-review-line output string.
292         (text_chunk_to_string):
293         New function, calls text_chunk_pad_string with various
294         pad/delimiter characters. Pushbuttons are delimited with
295         square brackets, Frames with vertical 'pipe' lines, and 
296         other text with double quotes.
297         (text_chunk_list_to_string):
298         Calls new function text_chunk_to_string.
299         (toplevel_composite):
300         New function to composite layers CANVAS through
301         POPUP in each toplevel (other layers are composited
302         across toplevels, i.e. BACKGROUND and OVERLAY).
303         (review_buffer_composite):
304         Revise to use new methods.
305         
306         
307         
308         
309
310 2002-05-31  Laszlo Peter  <laca@sun.com>
311
312         * configure.in: add the Xtst libdir to the runpath on Solaris,
313         since it's not in the default library search path.
314
315 2002-05-29  jacob berkman  <jacob@ximian.com>
316
317         * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
318
319 2002-05-29  Bill Haneman  <bill.haneman@sun.com>
320
321         * test/screen-review-test.c:
322         (text_chunk_pad_string):
323         Added method, which pads the string according to the 
324         text bounds of the chunk.  It also takes a 3-character
325         string as a param which indicates the characters to be 
326         used for start, padding, and end delimitation of the chunk.
327         (text_chunk_to_string):
328         Changed to use text_chunk_pad_string.
329         
330         * configure.in: Fixed bug in AC_OUTPUT that was
331         causing path substitution in Accessibility_Registry.server
332         to fail.
333
334 2002-05-23  Bill Haneman  <bill.haneman@sun.com>
335
336         * text/screen-review-test.c:
337         (guess_string_clip):
338         New method which attempts a best-guess at clipping
339         text from components (like Java labels) which don't
340         actually implement AccessibleText.  This inaccurate
341         clip is based on the assumption that the label is
342         justified left-and-right, and monospaced.
343         (text_chunk_get_clipped_string):
344         We now call guess_string_clip() for text-containing
345         components that don't implement AccessibleText.
346
347         * test/screen-review-test.c:
348         (review_buffer_get_text_chunk):
349         We now pull "name" from labels if they do not implement
350         AccessibleText (i.e. for Java labels).
351         (get_screen_review_line_at):
352         Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
353
354         * configure.in:
355         Replaceded AC_OUTPUT target
356         registryd/Accessibility_Registry.server with 
357         registryd/Accessibility_Registry.server.in.
358
359         * registryd/Accessibility_Registry.server.in:
360         Removed (this is now a Makefile target).
361
362         * registryd/Accessibility_Registry.server.in.in:
363         Added (source for target above).  We now use $(libexecdir) as
364         prefix for the executable at-spi-registryd.
365
366         * registry/Makefile.am: 
367         Now install at-spi-registryd into $(libexecdir), and build .server
368         file with path (see above).
369         
370 2002-05-22  Bill Haneman  <bill.haneman@sun.com>
371
372         * test/screen-review-test.c:
373         (text_chunk_get_clipped_string):        
374         We now check to see if words fall within clip bounds 
375         before resorting to character-by-character clip bounds testing.
376
377         * TODO: Added a section for "2.2 Proposed API Additions".
378
379 2002-05-21  Bill Haneman  <bill.haneman@sun.com>
380
381         * test/screen-review-test.c:
382         * test/Makefile.am:
383         Added a screen review benchmarking and test program to test
384         directory.
385
386         * cspi/spi_accessible.c:
387         * cspi/spi_main.c:
388         Made some of the debug strings passed to cspi_check_ev a
389         little more specific.
390
391 2002-05-21  Padraig O'Briain  <padraig.obriain@sun.com>
392
393         * test/screen-review-test.c: Fix crashes in debug statements
394
395 2002-05-20  Bill Haneman  <bill.haneman@sun.com>
396
397         * test/screen-review-test.c: Added this file.
398
399 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
400
401         * atk-bridge/bridge.c: changed "object:state-change" to
402         "object:state-changed" to match docs.
403
404 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
405
406         * atk-bridge/bridge.c: Hooked up state-change event details.
407
408 2002-05-11  Bill Haneman <bill.haneman@sun.com>
409
410         * registryd/registry.c:
411         Fixed quarking bug in event string parsing; now events with
412         detail parameters get matched correctly to listeners.
413         [Bugzilla 80608].
414
415         * util/idl/Magnifier.idl: remove.
416         * util/idl: remove
417         * util/*.[ch]: Remove.
418         Magnification utilities and IDL are now in module gnome-mag.
419
420 2002-05-10  Bill Haneman <bill.haneman@sun.com>
421
422         * registryd/deviceeventcontroller.c:
423         Fixed bug in grab key conversion which was causing keycode grabs
424         to be converted to AnyKey grabs.
425
426         * NEWS:
427         updated NEWS file to reflect recent spin-off of gnome-mag.
428
429 2002-05-09  Marc Mulcahy <marc.mulcahy@sun.com>
430
431         * cspi/spi_accessible.c: Added exception checks.  Fixed completely
432         busted AccessibleStateSet_compare.  Removed redundant casts.
433         
434         * cspi/spi-action.c: Removed redundant casts.
435
436         * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
437
438         * cspi/spi_component.c: Fixed typos and casting error.
439
440         * cspi/spi_editabletext.c: Removed redundant casts.
441
442         * cspi/spi_hyperlink.c: Fixed casting and exception checking.
443
444         * cspi/spi_hypertext.c: Eliminated redundant casts.
445
446         * cspi/spi_image.c: Eliminated redundant casts.
447
448         * cspi/spi_registry.c: Eliminated redundant casts.
449         SPI_deregisterGlobalEventListenerAll () removed retval variable.
450         * cspi/spi_selection.c: Removed redundant casts.
451         * cspi/spi_text.c: Eliminated redundant casts.  Fixed exception
452         handling.  Screen geometry and text offsets were being returned as 0
453         on error which is technically valid-- changed these to return -1.
454         Added marshaller for text boundary types to fix bug with boundary
455         types being passed incorrectly to atk.
456                         
457 2002-05-09  Bill Haneman <bill.haneman@sun.com>
458
459         
460         * cspi/spi_registry.c:
461         Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
462         which was uncovered by the recent key changes.
463
464 2002-05-09  Bill Haneman <bill.haneman@sun.com>
465
466         * test/event-listener-test.c:
467         * test/Makefile.am:
468         Added new test, "event-listener-test"; 
469         this code does two things; it benchmarks traversal time 
470         for the accessible hierarchy for the first running accessible 
471         app, and it connects listeners for all supported event types.  
472         It is thus useful as an example event listener and for 
473         diagnostics/debugging of event generation.
474         
475 2002-05-08  Bill Haneman <bill.haneman@sun.com>
476
477         * test/Makefile.am:
478         Removed unnecessary dependency on libutil.
479
480         * configure.in:
481         Revved micro version: 0.13.1
482
483 2002-05-08  Bill Haneman <bill.haneman@sun.com>
484
485         * configure.in: 
486         Removed util/Makefile from targets.
487
488         * Makefile.am:
489         Removed util subdir from SUBDIRS (temporarily, 
490         pending removal of magnifier-only code
491         from UTIL).
492
493         * test/simple-at.c:
494         #ifdef-ed out magnifier dependencies, since
495         magnifier IDL, headers, and binary now live in
496         module gnome-mag and we don't want at-spi to depend 
497         on gnome-mag.  A magnifier demo which can run alongside
498         simple-at is forthcoming in the gnome-mag module.
499         
500         NOTE: Split magnifier binary, IDL, and magnification
501         activation code from at-spi into module gnome-mag.
502
503 2002-05-03  Marc Mulcahy <marc.mulcahy@sun.com>
504  
505         * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
506         cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
507  
508 2002-05-03  Bill Haneman <bill.haneman@sun.com>
509
510         * configure.in:
511         Revved to version 0.13.0
512         
513         * idl/Accessibility_Registry.idl:
514         Changed definition of KeySet from sequence of longs to sequence of
515         KeyDefinitions, and added KeyDefinition struct.
516         Required for fix to bug 80616.
517
518         * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
519         Changed AccessibleKeySet to Accessibility_KeySet marshalling code
520         to use new definition (see above).  
521
522         * registryd/deviceeventcontroller.c: handle_keygrab(), 
523         spi_keyset_contains_key():
524         Changed to make use of new struct; this allows matching based on
525         string key-name, for instance "Tab".  This also allows matching of
526         composed characters, non-alphanumeric characters in a way that
527         doesn't involve dependencies on X keysym codes directly, etc.
528         
529         * test/key-listener-test.c:
530         Added test for Alt-Tab key using "string" specification of keyset,
531         and modified one of the tests to use a keycode-based keyset.
532         Thus this test both tests and demonstrates the creation and use of
533         keysets of three forms:  specified via keycode array, 
534         keysym array, and string array. (The string case only contains a
535         single string, i.e. a string array of length 1).        
536
537         * test/simple-at.c:
538         Turned on PRINT_TREE option by default.  Also fixed a
539         string-freeing bug in the PRINT_TREE code.  
540         Added a listener to window:minimize events.
541         
542 2002-05-08  Padraig O'Briain  <padraig.obriain@sun.com>
543
544         * atk-bridge/bridge.c:
545         (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
546         for window:activate and window:deactiveate
547         (atk_bridge_property_event_listener atk_bridge_signal_listener
548         atk_bridge_window_event_listener) Tidy debug code
549
550 2002-05-02  Marc Mulcahy <marc.mulcahy@sun.com>
551
552         * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
553         Fixed handling for NULL return value from ATK.
554
555         * libspi/action.c libspi/component.c libspi/editabletext.
556         libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
557         libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
558         Removed redundant casts.
559         
560         * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
561         Fixed off by one bug.
562         
563         *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
564         function not present in idl)
565         
566 2002-05-02  jacob berkman  <jacob@ximian.com>
567
568         * atk-bridge/Makefile.am: make atk-bridge a real module
569
570 2002-04-26  Radek Doulik  <rodo@ximian.com>
571
572         * libspi/stateset.c (spi_init_state_type_tables): fix size of
573         atk_state_types table
574
575 2002-04-22  jacob berkman  <jacob@ximian.com>
576
577         * util/Makefile.am: 
578         * libspi/Makefile.am: add deps on the built files to help
579         automake, and don't version the ORBit typelib
580
581 2002-04-19  Padraig O'Briain  <padraig.obriain@sun.com>
582
583         * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h 
584         cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
585         cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c 
586         cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
587         cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
588         cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
589         cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
590         libspi/accessible.h libspi/accessible.h libspi/base.h 
591         libspi/component.h libspi/editabletext.h libspi/hyperlink.h 
592         libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
593         libspi/relation.h libspi/remoteobject.h libspi/selection.h 
594         libspi/spi-private.h libspi/statetset.h libspi/table.h
595         libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
596         util/mag_client.h util/mag_control.c util/mag_image.c
597         util/mag_image.h util/magnifier.c util/magnifier.h: 
598         Add missing file headers; standardize existing ones
599
600 2002-04-18  Marc Mulcahy  <marc.mulcahy@sun.com>
601
602         * atk-bridge/bridge.c: Added window event support.
603
604 2002-04-18  Michael Meeks  <michael@ximian.com>
605
606         * libspi/relation.c (impl_getNTargets): impl.
607         (impl_getTarget): impl.
608
609         * libspi/Makefile.am: fix stateset install.
610
611 2002-04-17  Bill Haneman <bill.haneman@sun.com>
612
613         * NEWS:
614         Started putting useful info in this file.
615         
616 2002-04-17  Marc Mulcahy <marc.mulcahy@sun.com>
617  
618         * atk-bridge/bridge.c: 
619         Propagate state-changed notifications to ATs
620  
621         * cspi/spi_registry.c: update docs to reflect actual behavior of
622         state-change events.
623
624 2002-04-17  Bill Haneman <bill.haneman@sun.com>
625
626         * configure.in:
627         Incremented version to 0.12.1
628         
629         * util/mag_client.h:
630         Add missing declaration for magnifier_exit, 
631         used by mag_control.c - Forte compiler didn't like
632         the implicit redeclaration of the function :-(
633
634
635 2002-04-16  Bill Haneman <bill.haneman@sun.com>
636
637         * configure.in:
638         Revved version to 0.12 due to API change (see below).
639
640         * cspi/spi-roletypes.h:
641         removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE 
642         definition from the inline docs, and added docs
643         for SPI_ROLE_LAST_DEFINED.
644
645         * cspi/spi.h:
646         * cspi/spi_streamablecontent.c:
647         Added missing seek_type parameter to
648         (so far unused) method, 
649         AccessibleStreamableContent_seek().
650         [ RT approval JodyG. ]
651
652         * cspi/spi_event.c:
653         Fixed docs for SPI_createAccessibleKeystrokeListener.
654
655         * cspi/spi_registry.c:
656         Fixed docs for SPI_KEYSET_ALL_KEYS.
657         
658         * docs/reference/cspi/at-spi-cspi-sections.txt:
659         Added a number of missing APIs to SECTIONS.
660         
661 2002-04-16  Bill Haneman <bill.haneman@sun.com>
662
663         * registryd/Makefile.am:
664         * cspi/Makefile.am:
665         * cspi/bonobo/Makefile.am:
666         Add $(X_LIBS) to makefiles.
667
668 2002-04-15  Bill Haneman <bill.haneman@sun.com>
669
670         * configure.in:
671         Revved version to 0.11.
672
673         * libspi/component.c:
674         Added implementation for grabFocus.
675
676         * idl/Accessibility_Component.idl
677         (Accessibility_Component_grabFocus):
678         Made this method return boolean to indicate success or failure, to
679         be consistent with cspi and the corresponding ATK method.
680         
681         * idl/Accessibility_Selection.idl
682         (Accessibility_Selection_selectAll) :
683         Made these methods return boolean to indicate success or
684         failure, to be consistent with cspi and the corresponding ATK methods.
685         
686         * idl/Accessibility_EditableText.idl 
687         (Accessibility_EditableText_setTextContents,
688          Accessibility_EditableText_insertText,
689          Accessibility_EditableText_cutText,
690          Accessibility_EditableText_deleteText,
691          Accessibility_EditableText_pasteText):
692         Made these methods return boolean to indicate
693         success or failure.
694
695         * cspi/spi_editabletext.c:
696         Made these methods return booleans.
697
698         * libspi/selection.c:
699         * libspi/component.c:
700         * libspi/editabletext.c:
701         Connected the boolean returns from ATK
702         to the server-side code referenced above.
703         
704 2002-04-14  Bill Haneman <bill.haneman@sun.com>
705
706         * idl/Accessibility_Table.idl: Added missing methods,
707         Accessibility_Table_addRowSelection,
708         Accessibility_Table_addColumnSelection,
709         Accessibility_Table_removeRowSelection,
710         Accessibility_Table_removeColumnSelection.
711
712         * cspi/spi_table.c:
713         Added C wrappers for above IDL:
714         AccessibleTable_addRowSelection,
715         AccessibleTable_addColumnSelection,
716         AccessibleTable_removeRowSelection,
717         AccessibleTable_removeColumnSelection.
718         
719         * libspi/table.c:
720         Added server-side implementation code for IDL above, connecting
721         to pre-existing ATK api.
722         
723 2002-04-13  Marc Mulcahy <marc.mulcahy@sun.com>
724
725         * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
726
727         * libspi/accessible.c: Added implementation fo
728         Accessibility_Accessible_get_state.
729         
730         * libspi/libspi.h: Added stateset.h to the list of includes.
731
732         * libspi/stateset.c: Fixed broken implementation.
733
734 2002-04-13  Bill Haneman <bill.haneman@sun.com>
735
736         * util/magnifier.c:
737         Added implementation code for Accessibility_Magnifier_exit ().
738
739         * util/mag_control.c:
740         Added test code for above method; you can
741         now kill an existing magnifier via 
742         ./mag_control q, from the util directory.
743
744         * test/key-listener-test.c:
745         * test/Makefile.am:
746         Added a new test, for our key listener API.
747
748 2002-04-11  Bill Haneman <bill.haneman@sun.com>
749
750         * test/app.c, test/keysynth-demo.c:
751         * util/magnifier.c:
752         Replace use of snprintf with g_snprintf.
753         (fix for bugzilla 78249)
754
755 2002-03-27  Michael Meeks  <michael@ximian.com>
756
757         * Version 0.10.0
758
759         * util/Makefile.am (INCLUDES): fix.
760         (DONT_DIST_SOURCE): don't distribute the
761         generated files.
762
763         * libspi/Makefile.am (dist-hook): ditto.
764
765 2002-03-27  Padraig O'Briain  <padraig.obriain@sun.com>
766
767         * libspi/hypertext.c:
768         Fix warnings when yelp is used with atk-bridge
769
770 2002-03-21  Michael Meeks  <michael@ximian.com>
771
772         * libspi/application.c (spi_application_new):
773         use spi_accessible_construct so we use the AtkObject
774         cache correctly.
775
776 2002-03-19  Michael Meeks  <michael@ximian.com>
777
778         * registryd/registry.c (desktop_remove_application),
779         (desktop_add_application): clean coding style.
780
781         * registryd/desktop.c (spi_desktop_remove_application),
782         (spi_desktop_add_application): kill re-enterency hazards.
783         (spi_desktop_dispose): remove bogus redundant cast
784         obscuring bug; fix bug too.
785         (spi_desktop_init): make the desktop object immortal.
786
787 2002-03-16 Bill Haneman <bill.haneman@sun.com>
788
789         * test/simple-at.c:
790         Added a #define-guarded tree-traversal step
791         when enumerating the apps (diagnostic tool).
792
793 2002-03-15 Bill Haneman <bill.haneman@sun.com>
794
795         * idl/Accessibility_Role.idl:
796         Added ROLE_DRAWING_AREA which seemed to be missing from the
797         previous commit.
798
799 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
800
801         * cspi/spi-roletypes.h cspi/spi_accessible.c
802         idl/Accessibility_Role.idl libspi/accessible.c: synched up role
803         types with ATK.
804
805         * registryd/desktop.c registryd/desktop.h registryd/registry.c:
806         Added signals to SpiDesktop and callbacks in SpiRegistry to notify
807         AT when applications are added and removed from the desktop.  This
808         reverts the previous broken implementation using the backing
809         AtkObject for the SpiDesktop.
810         
811         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
812
813         * registryd/desktop.c: emit the "children-changed::add" and
814         "children-changed::remove" signals on the backing ATK object for
815         the desktop so AT can tell when applications are started and shut
816         down.
817
818         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
819
820         * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
821
822         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
823
824         * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
825
826         * cspi/spi_accessible.c: Implemented c bindings for stateset support
827
828         * cspi/state-types.h: synched with IDL and ATK
829
830         2002-03-13  Bill Haneman <bill.haneman@sun.com>
831
832         * libspi/accessible.c 
833         (impl_accessibility_accessible_get_child_at_index):
834         Change return value for g_return_if_fail ()
835         to CORBA_OBJECT_NIL instead of "0" (!)
836
837         * registryd/Makefile.am:
838         * registryd/Accessibility_Register.server.in:
839         Changed name of executable, "registryd",
840         to something more informative:
841         "at-spi-registryd".
842
843 2002-03-13  Michael Meeks  <michael@ximian.com>
844
845         * atk-bridge/bridge.c (atk_bridge_init): don't register
846         if we're in a bonobo-component, rather than a bonobo app.
847
848 2002-03-13  Michael Meeks  <michael@ximian.com>
849
850         * atk-bridge/bridge.c (gtk_module_init): split
851         out body to (atk_bridge_init): here, since otherwise
852         we get symbol conflicts and oddness when invoked
853         from (gnome_accessibility_module_init): here (upd.)
854
855 2002-03-11  Bill Haneman  <bill.haneman@sun.com>
856
857         * HACKING:
858         New file.  Explicitly allow "build sheriff" putbacks provided
859         they are tested on Solaris.
860         
861         * docs/reference/cspi/Makefile.am:
862         Added '-' to the "cp" command for index.sgml.
863         ("patch by thomasvs, soon coming to a GUADEC near you")
864
865         * configure.in:
866         Incremented version number (0.9.0) for new release.
867         Changed macro that checks for popt, to better detect
868         obsolete versions of popt.
869         
870         * configure.in:
871         Added X_LIBS to AC_SUBST, for applications
872         that call Xlib API directly.
873         
874
875 2002-03-07  Bill Haneman  <bill.haneman@sun.com>
876
877         * configure.in:
878         Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
879
880         * util/Makefile.am:
881         Fix regression caused by hard-coding major
882         version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
883         (see above change).
884         
885         * test/test-simple.c (test_editable_text),
886         (test_test): revert previous change (error was 
887         a regression in gail which is now fixed).
888         
889 2002-03-04  Michael Meeks  <michael@ximian.com>
890
891         * test/test-simple.c (test_editable_text),
892         (test_text): pass G_MAXINT instead of '-1' for
893         whole string - is this a good thing !?
894
895         * cspi/spi_accessible.c
896         (Accessible_getRelationSet): fix crasher bug
897         overwriting the end of the array.
898
899         * test/test-simple.c (validate_accessible): free,
900         not g_free returned relation set.
901
902 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
903
904         * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
905         implemented stateset support
906
907         * idl/Accessibility_State.idl: Made necessary changes to
908         the IDL to support state sets.
909
910 2002-02-12 Bill Haneman <bill.haneman@sun.com>
911
912         * registryd/deviceeventcontroller.c:
913         Added implementation for generateMouseEvent.
914
915         * cspi/spi_registry.c:
916         Connected new implementation for generateMouseEvent
917         to the C bindings.
918         
919 2002-02-12 Bill Haneman <bill.haneman@sun.com>
920
921         * configure.in: 0.8
922         Incremented revision (but no change in public API
923         outside of 'utils', which are not installed public yet.)
924
925         * libspi/component.c:
926         Changed to use atk_component API for layers and
927         mdi_zorder, instead of deprecated atk_object API.
928         
929         Magnification Utility Enhancements:
930         
931         * util/magnifier.c:
932         Added implementation of createZoomRegion, clearAllZoomRegions,
933         resizeZoomRegion.  Added new commandline argument
934         "--no-initial-region".  Note that clearAllZoomRegions doesn't
935         unmap the old '0' region as it should (yet), and the other
936         methods only work when creating/resizing a single region,
937         which is "region 0".  
938         (Code for multiple region support will be added later.)
939
940         * util/mag_image.c:
941         Now we raise the magnifier window each time it's refreshed;
942         this will help keep it on top.
943         
944         * util/mag_client.h:
945         Added simple wrappers for above, used by mag_control.
946         For general use, it's recommended to use the bonobo magnifier
947         control API directly instead of using these wrappers.
948
949         * util/mag_image.h:
950         Moved ZoomRegionData from magnifier.c to this file.
951         
952         * util/mag_control.c: 
953         Added some code to exercise new IDL implementations.
954         
955 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
956
957         * libspi/text.c: Provide implementation for getAttributes.
958
959 2002-02-04  Bill Haneman <bill.haneman@sun.com>
960         
961         * configure.in:
962         Incremented revision.
963
964         * test/test-simple.c:
965         Replaced use of deprecated g_main_iteration with 
966         g_main_context_iteration.
967         
968 2002-01-28  Padraig O'Briain <padraig.obriain@sun.com>
969
970         * configure.in:
971         Incremented revision for desktop alpha 2.
972
973 2002-01-28  Mark McLoughlin  <mark@skynet.ie>
974
975         * libspi/remoteobject.[ch]: make RemoteObject and interface rather
976         than an atk object.
977
978         * test/simple-at.c: include netinet/in.h.
979
980 2002-01-24  Mark McLoughlin  <mark@skynet.ie>
981
982         * cspi/spi_accessible.c: (Accessible_getRelationSet):
983         use NULL, not CORBA_OBJECT_NIL.
984
985         * libspi/accessible.c:
986         (impl_accessibility_accessible_get_relation_set):
987         allocate the sequence correctly.
988
989         * libspi/remoteobject.h: kill spi_remote_object_new.
990
991         * test/test-simple.c: (validate_accessible): add code
992         to test relation sets, now all we need is to figure
993         out how to excercise this code path :/
994
995 2002-01-18  Michael Meeks  <michael@ximian.com>
996
997         * test/test-simple.c
998         (key_listener_cb): consume the key.
999         (test_keylisteners): update.
1000         (main): wait for any pending unrefs on events.
1001
1002         * registryd/deviceeventcontroller.c
1003         (spi_controller_update_key_grabs): only re-issue the
1004         grab on a key release.
1005         (spi_device_event_controller_forward_key_event):
1006         refresh the keygrabs before we notify the listeners,
1007         to reduce the X ungrab / re-grab race.
1008         (spi_controller_register_with_devices): remove
1009         XSelectInput - we do that with the gdk_window_ call.
1010         (_spi_controller_device_error_handler): return a value.
1011         s/GDK_DISPLAY/spi_get_display/
1012
1013 2002-01-17  Michael Meeks  <michael@ximian.com>
1014
1015         * registryd/deviceeventcontroller.c
1016         (_deregister_keygrab): don't blow out the later
1017         assertion.
1018
1019         * test/test-simple.c (test_keylisteners): do a
1020         more intelligent validation.
1021
1022 2002-01-14  Michael Meeks  <michael@ximian.com>
1023
1024         * atk-bridge/bridge.c
1025         (gnome_accessibility_module_init),
1026         (gnome_accessibility_module_shutdown): impl.
1027         (gtk_module_init): protect vs. double inits.
1028         (add_signal_listener): impl.
1029         (spi_atk_bridge_state_event_listener): kill
1030         (deregister_application): split out of
1031         (spi_atk_bridge_exit_func): here.
1032
1033 2002-01-18  Bill Haneman <bill.haneman@sun.com>
1034
1035         * test/simple-at.c:
1036         Added caret tracking when using magnifier, and 
1037         now use text bounds for focus tracking of text elements, rather than
1038         the component bounds - this is helpful for short text fields in long
1039         table cells, at high magnification.
1040         
1041 2002-01-16  Bill Haneman <bill.haneman@sun.com>
1042
1043         * registryd/deviceeventcontroller.c:
1044         Regression fix for keylistener de-registration; global keygrabs
1045         were not being released when deregisterKeystrokeListener was
1046         called in cspi, since 
1047         Accessibility_DeviceEventController_deregisterKeystrokeListener
1048         was called with a zero-length keyset.  That is because the cspi
1049         method, SPI_deregisterKeystrokeListener, does not take a keyset
1050         parameter but instead should remove all the key grabs held be a
1051         keystroke listener.  
1052         The code in impl_deregister_keystroke_listener was changed to copy
1053         the keylist from the listener instance previously registered with
1054         the DeviceEventController before releasing the grabs.
1055
1056         * registryd/registry.c:
1057         * registryd/deviceeventcontroller.c:
1058         * libspi/spi-private.h:
1059         * libspi/util.c:
1060         Changed spelling of "re-enterant" to "re-entrant" globally.
1061
1062 2002-01-16  Bill Haneman <bill.haneman@sun.com>
1063
1064         * test/test-simple.c:
1065         Changed key listeners test - the test was slightly mis-using the
1066         (admittedly poorly documented) SPI_generateKeyboardEvent API.
1067         It now uses '=' as the key event listened to and generated,
1068         relying on a keysym match rather than assuming that keycode 33 
1069         is always equal to keysym '!'.
1070
1071 2002-01-15  Bill Haneman <bill.haneman@sun.com>
1072
1073         * test/simple-at.c:
1074         Changed simple-at to use a specific keyset, rather than
1075         SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
1076         manager, desktop, etc.
1077         
1078 2002-01-11  Bill Haneman <bill.haneman@sun.com>
1079
1080         * registryd/deviceeventcontroller.c:
1081         Replaced standard X error handler with a special handler that 
1082         is non-fatal for failed keygrabs.  This works around 
1083         problems with keygrab clashes sometimes observed on 
1084         Solaris using CDE.
1085         Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate 
1086         mouse handling code as yet).
1087         
1088 2002-01-11  Bill Haneman <bill.haneman@sun.com>
1089
1090         * configure.in:
1091         Incremented revision for desktop alpha release.
1092
1093         * README:
1094         Fixed a couple of the more glaring errors (still not 
1095         very up-to-date).
1096
1097 2002-01-11  Michael Meeks  <michael@ximian.com>
1098
1099         * registryd/deviceeventcontroller.c
1100         (spi_device_event_controller_forward_key_event): kill
1101         XUngrabKey / XKeyGrab race.
1102         (spi_controller_grab_keyboard): rename to
1103         (spi_controller_update_key_grabs): this, and deal
1104         with incremental adding / removing grabs more
1105         sensibly.
1106         (_register_keygrab): ensure we're not pending a remove.
1107         (spi_grab_mask_free): impl.
1108         (spi_controller_register_global_keygrabs): split out
1109         common code into:
1110         (handle_keygrab): impl.
1111         (_deregister_keygrab): impl.
1112         (spi_controller_deregister_global_keygrabs): impl.
1113         (spi_controller_update_key_grabs): re-issue the grab if
1114         we just recieved a notification.
1115
1116         * test/test-simple.c (key_listener_cb): remove debug.
1117
1118         * registryd/deviceeventcontroller.c
1119         (spi_controller_register_device_listener): after
1120         registering a global keygrab, actualy register it !
1121         don't wait for a timeout; doh !
1122
1123         * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
1124         to make it more readable / manipulable.
1125         s/grabmask/grab_mask/ s/refcount/ref_count/
1126         s/keyval/key_val/ s/modmask/mod_mask
1127
1128 2002-01-08  Michael Meeks  <michael@ximian.com>
1129
1130         * registryd/deviceeventcontroller.c
1131         (spi_controller_register_with_devices): use gdk calls to
1132         setup a filter.
1133         (global_filter_fn): implement the filter.
1134         (spi_device_event_controller_check_key_event): rename to
1135         (spi_device_event_controller_forward_key_event): this & upd.
1136         (spi_get_display): replace with GDK_DISPLAY.
1137
1138         * registryd/deviceeventcontroller.c
1139         (spi_controller_deregister_device_listener): unroll into
1140         (impl_deregister_keystroke_listener): here to simplify.
1141         (spi_controller_register_global_keygrabs): split cut and
1142         paste (!) out into (_register_keygrab): here, shorter & sweeter.
1143         (spi_controller_deregister_device_listener): remove.
1144         (impl_register_mouse_listener): remove, no mouse listener
1145         support in at-spi-1.0
1146
1147         * registryd/registry.c
1148         (_device_event_controller_hook): kill.
1149         (spi_registry_init): upd.
1150
1151         * registryd/deviceeventcontroller.c
1152         (spi_device_event_controller_class_init): upd.
1153         (spi_check_key_event): merge into.
1154         (spi_device_event_controller_check_key_event):
1155         here and kill strange static ev init, don't leak
1156         the x_event - nor dynamicaly allocate it.
1157
1158         * registryd/registry-main.c (main): re-direct
1159         timeout to remove strange vtable mess.
1160
1161         * registryd/deviceeventcontroller.c
1162         (remove_listener_cb): impl.
1163         (spi_controller_deregister_device_listener):
1164         fix re-enterancy hazard.
1165
1166 2002-01-07  Michael Meeks  <michael@ximian.com>
1167
1168         * registryd/deviceeventcontroller.c
1169         (spi_device_event_controller_new): upd.
1170         (impl_notify_listeners_sync): upd. debug.
1171         (spi_notify_keylisteners): fix re-enterancy hazards,
1172         prettify, remove O(n*n) iteration.
1173         (spi_controller_grab_keyboard): fix iteration.
1174         (spi_check_key_event): re-format to suit coding style.
1175         Clean all the warnings - we're warning free.
1176
1177         * registryd/deviceeventcontroller.h:
1178         * registryd/registry.h: make mutualy referential with
1179         typesafe forward references instead of (!) void pointer
1180         hacks.
1181
1182 2002-01-11  Michael Meeks  <michael@ximian.com>
1183
1184         * cspi/spi_accessible.c (role_names): add a role name
1185         to sync this array with the enum; and make the regression
1186         tests pass, sigh.
1187
1188 2002-01-10  Michael Meeks  <michael@ximian.com>
1189
1190         * cspi/spi_registry.c (SPI_generateKeyboardEvent): 
1191         allow expansion of enumeration & kill warning.
1192
1193         * test/test-simple.c (key_listener_cb): impl.
1194         (test_keylisteners): impl.
1195
1196         * cspi/spi-listener.h: make listener signatures const
1197         on the provided (const) events.
1198
1199         * test/keysynth-demo.c: upd. to const events.
1200
1201         * test/simple-at.c: ditto.
1202
1203 2002-01-11  Bill Haneman <bill.haneman@sun.com>
1204
1205         * configure.in:
1206         Rev the version to 0.5 (the previous tarball was named 0.4, 
1207         even though the micro number was 3), so we need to rev upwards
1208         again for beta2/"desktop-alpha" 
1209  
1210         * test/demo.csh:
1211         Checked in a demo script, which requires editing before use!
1212         Proceed with caution.
1213         
1214         * libspi/value.h:
1215         Fixed typo in header which was redefining SPI_ACTION_CLASS.
1216
1217         * cspi/spi_accessible.c:
1218         Add a couple of missing enum initializations, and fix some enum
1219         comments.
1220
1221         * cspi/spi_registry.c:
1222         Add comment describing keystring parameter to SPI_generateKeyboardEvent.
1223         
1224         * docs/reference/cspi/at-spi-cspi-sections.txt:
1225         Remove/fix a couple of broken document references.
1226
1227         * test/simple-at.c:
1228         Minor tweaks to the demo.  We now (sigh) use Alt-SHIFTLOCK as well
1229         as Alt-Control to listen for commands, since on some systems
1230         Control-Alt may already be grabbed.
1231
1232 2002-01-10  Bill Haneman <bill.haneman@sun.com>
1233
1234         * configure.in:
1235         Update version number to 0.4 for Beta2.
1236         
1237         * libspi/accessible.c, libspi/accessible.h:
1238         Expose spi_accessible_construct, to enable libgail-gnome
1239         construction from spi_accessible subtype.
1240
1241         * utils/magnifier.c:
1242         Workaround for bug in some non-gnome-compliant window managers
1243         which made magnifier resize improperly.
1244
1245 2002-01-09  Bill Haneman <bill.haneman@sun.com>
1246
1247         * libspi/accessible.c: (spi_accessible_new) :
1248         Move the test for SPI_IS_REMOTE_OBJECT to
1249         spi_accessible_new_return, fixing a bug and compile time warning.
1250         
1251 2002-01-08  Michael Meeks  <michael@ximian.com>
1252
1253         * registryd/registry.c (parse_event_type): remove strndup.
1254
1255         * libspi/Makefile.am (libspi_la_SOURCES): remove
1256         sources already included in the headers section.
1257
1258         * libspi/util.c: add.
1259
1260         * libspi/spi-private.h: add.
1261
1262         * registryd/registry.c: update to moved list iterators.
1263
1264 2002-01-05  Michael Meeks  <michael@ximian.com>
1265
1266         * test/simple-at.c (main): upd. auto-module set to atk-bridge
1267
1268         * test/test-simple.c (main): ditto.
1269
1270 2002-01-04  Michael Meeks  <michael@ximian.com>
1271
1272         * libspi/accessible.c (spi_accessible_new): remove 2nd,
1273         redundant construct.
1274
1275         * registryd/registry.c
1276         (get_listener_list): impl.
1277         (impl_accessibility_registry_register_global_event_listener):
1278         re-impl. to simplify using ~, remove dodgy const cast off.
1279         (parse_event_type): constify.
1280         (impl_accessibility_registry_deregister_global_event_listener_all): 
1281         re-write, more efficiency and simplicity, kill re-enterancy
1282         hazard.
1283         (compare_listener_corbaref, compare_corba_objects),
1284         (compare_listener_quarks): define out.
1285         (impl_accessibility_registry_deregister_global_event_listener): 
1286         re-write for effiency, and nail re-enterancy hazard.
1287         (impl_accessibility_registry_get_desktop_list): impl.
1288         (re_enterant_list_delete_link): impl.
1289         (re_enterant_list_foreach): impl.
1290         (remove_listener_cb): impl.
1291         (_registry_notify_listeners): kill.
1292         (notify_listeners_cb): impl.
1293
1294         * cspi/spi_registry.c (SPI_freeDesktopList): impl.
1295         (SPI_getDesktopList): impl.
1296
1297         * test/test-simple.c (test_desktop): test the methods.
1298
1299 2002-01-03  Michael Meeks  <michael@ximian.com>
1300
1301         * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
1302         keystrings since we free them
1303         (SPI_freeAccessibleKeySet): in here.
1304
1305         * libspi/accessible.c (spi_accessible_new): kill warning,
1306         wonder what is going on with the constructor here.
1307
1308 2002-03-01  Bill Haneman <bill.haneman@sun.com>
1309
1310         * libspi/accessible.c (spi_accessible_new ()) :
1311         Added check to see if AtkObject is an SpiRemoteObject before
1312         creating an SpiAccessible.
1313         
1314 2002-05-01  Bill Haneman <bill.haneman@sun.com>
1315
1316         * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
1317         Enable keygrabs using the Control modifier, now that they are
1318         working properly (they were previously disabled).
1319
1320         * test/simple-at.c:
1321         Change the command keygrab for this demo to "Control+Alt", so as
1322         to conflict with fewer other key commands on the system; this
1323         means that the quit command for "simple-at" is now "Ctrl-Alt-q".
1324
1325         Removed a pointlessly-chatty keylistener for unshifted keys
1326         (shifted keys are still reported).
1327         
1328 2002-02-01  Bill Haneman <bill.haneman@sun.com>
1329
1330         * libspi/remoteobject.h:
1331         * libspi/remoteobject.c:
1332         Added definitions for special AtkObject subtype, required for
1333         support of remote components (specifically, used by BonoboControl
1334         accessibility implementation).
1335         
1336 2002-01-02 Marc Mulcahy  <marc.mulcahy@sun.com>
1337
1338         * cspi/spi.h: synched relation types with ATK
1339
1340         * cspi/spi_accessible.c: Added implementations of
1341         AcccessibleRelation_* methods
1342
1343         * idl/Accessibility_Relation.idl: added getRelationTypeName
1344         method.  Synched known relation types with ATK.  Allowed for
1345         relation type extension with the RELATION_EXTENDED type.
1346         
1347         * libspi/relation.c: Provided implementations for
1348         AccessibleRelation methods.
1349
1350 2002-01-01  Bill Haneman <bill.haneman@sun.com>
1351
1352         API tweaks for today's API 'freeze'.
1353
1354         * idl/*:
1355         Added placeholder functions to allow future compatible expansion
1356         of the IDL interfaces.
1357
1358         * idl/Accessibility_Registry.idl:
1359         Changed generateKeyEvent to generateKeyboardEvent.  Changed
1360         signature of this method to accept an optional keystring in
1361         parameter (for complex text input synthesis) and changed use of
1362         simple 'boolean' parameter in registerKeystrokeListener to a
1363         struct, EventListenerMode.
1364
1365         * cspi/spi_accessible.c:
1366         * cspi/spi.h:
1367         * cspi/spi_streamablecontent.c:
1368         Added references to AccessibleStreamableContent interface, and
1369         definition and implementation of AccessibleStreamableContent 
1370         C bindings.
1371
1372         * cspi/spi_registry.c:
1373         * cspi/spi.h:
1374         Changed generateKeyEvent API to generateKeyboardEvent,
1375         taking a new (optional) keystring parameter to support complex
1376         text input.
1377         
1378         * at-bridge/*:
1379         * atk-bridge/*:
1380         Renamed directory (to better reflect its actual purpose, bridging
1381         from at-spi to ATK).  The .so module is also now named
1382         libatk-bridge.so.
1383
1384         * idl/Accessibility_Hypertext.idl:
1385         * libspi/accessible.c:
1386         * libspi/hypertext.h:
1387         * libspi/hypertext.c:
1388         Changed Accessibility_Hypertext to *not* derive from
1389         Accessibility_Text.
1390
1391         * cspi/spi_registry.c:
1392         Added list of legal event type names for 'window' events, which
1393         completes the registry event API.
1394
1395 2001-12-22  Marc Mulcahy  <marc.mulcahy@sun.com>
1396
1397         * at-bridge/bridge.c: Added registration for separate
1398         "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
1399         signals.  If either of the first two parameters to the generic
1400         bridge signal handler are ints, they are passed on as event
1401         details.  This allows an AT to determine what text was inserted.
1402
1403 2001-12-21  Bill Haneman <bill.haneman@sun.com>
1404
1405         * registryd/deviceeventcontroller.c:
1406         Fixed regressions in generateKeyEvent caused by the removal of
1407         gdk_init from registryd; we now use pure X calls to connect to the
1408         display, which makes sense because deviceeventcontroller already
1409         uses a fair bit of X API (should eventually be migrated to a
1410         'portability layer').
1411
1412         * registryd/desktop.c:
1413         Fixed minor regression in spi_desktop_init, changed the way the
1414         desktop name is being set to work with new spi_base API
1415         (gobject-based, rather than AtkObject-based).
1416
1417         * registryd/Makefile.am:
1418         Minor revision of makefile to use XTST_LIBS variable rather than
1419         hard-wiring the Xtst LD_ADD element.
1420
1421         * test/keysynth-demo.c:
1422         Tweaked an output message; added initialization of the
1423         'keystrings' member of the "switch listener" key_set.
1424
1425         * libspi/relation.c:
1426         Squashed compile-time warning.
1427
1428         * libspi/accessible.c:
1429         Cosmetic and formatting fixes, renamed a static method.
1430         
1431 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
1432
1433         * libspi/accessible.c 
1434         * libspi/action.c
1435         * libspi/application.c 
1436         * libspi/base.c 
1437         * libspi/base.h
1438         * libspi/component.c 
1439         * libspi/editabletext.c
1440         * libspi/hyperlink.c 
1441         * libspi/hypertext.c
1442         * libspi/image.c 
1443         * libspi/selection.c 
1444         * libspi/table.c
1445         * libspi/text.c 
1446         * libspi/value.c 
1447         * registryd/desktop.c:
1448         Changed SpiBase to contain a GObject pointer rather than an AtkObject
1449
1450 2001-12-17  Bill Haneman <bill.haneman@sun.com>
1451
1452         * idl/Accessibility_Registry.idl:
1453         Added boolean member 'is_text' to DeviceEvent.  This is for the
1454         use of key events, and helps prevent ambiguity between composed
1455         key strings and keysym names, since both may potentially be
1456         returned in the 'event_string' member.
1457
1458         * at-bridge/bridge.c:
1459         * registryd/deviceeventcontroller.c:
1460         Use the 'is_text' member when notifying device event listeners.
1461         Knon issue: composed characters are not dealt with correctly by
1462         the global key listener implementation yet.
1463         
1464 2001-12-17  Bill Haneman <bill.haneman@sun.com>
1465
1466         * at-bridge/bridge.c:
1467         Namespaced local static methods to spi_atk_bridge_* where
1468         previously named bridge_*, and spi_* elsewhere.
1469
1470         * at-bridge/bridge.c:
1471         * cspi/bonobo/cspi-bonobo-listener.c:
1472         Added demarshalling/conversion for string member of
1473         Accessibility_DeviceEvent to AccessibleKeystroke.
1474
1475         * registryd/deviceeventcontroller.c:
1476         Added code to fill the Accessibility_DeviceEvent key string value
1477         member for global key events (i.e. from XGrabKey), to match
1478         behavior of Accessibility_DeviceEvent from the toolkit key events
1479         from the bridge.  Fixed timestamp in global key event notifications.
1480
1481         * test/simple-at.c:
1482         Added printout of key event's string value to
1483         report_ordinary_key_event, for demo/debugging purposes.
1484
1485 2001-12-15  Bill Haneman <bill.haneman@sun.com>
1486
1487         * idl/Accessibility_Registry.idl:
1488         Removed Accessibility_KeyStroke structure in favor of generic
1489         Accessibility_DeviceEvent structure.
1490         Changed Accessibility_ControllerEventMask from a struct to an
1491         unsigned long.
1492
1493         * at-bridge/bridge.c:
1494         Changed APIs to use DeviceEvent structure as above, and removed
1495         bogus casting between these event structures.
1496
1497         * cspi/spi-listener.h:
1498         Added keystring member of AccessibleKeystroke structure, to enable
1499         matching on event "names" rather than only hardware codes and
1500         keysyms.
1501
1502         * cspi/spi.h:
1503         Added keystrings member of AccessibleKeySet struct, to allow
1504         matching on event names (as above).
1505         Added declarations for SPI_createAccessibleKeySet and
1506         SPI_freeAccessibleKeySet.  Due to changes in libspi, we now pass
1507         event modmasks directly as unsigned ints rather than structs with
1508         refcounts, in the DeviceEventController methods.
1509
1510         * cspi/spi_registry.c:
1511         Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
1512
1513         * cspi/spi-roletypes.h:
1514         Added documentation of newly added SPI Roles.
1515
1516         * cspi/bonobo/cspi-bonobo-listener.c:
1517         Changes in support of API changes above.
1518         
1519         * libspi/accessible.c:
1520         Converted APIs to use DeviceEvent structure (see IDL changes
1521         above). 
1522
1523         * registryd/deviceeventcontroller.c:
1524         Added DEControllerGrabMask structure to track keygrabs not only by
1525         modmask but by keyset as well; this allows us to do "global"
1526         (i.e. X) keygrabs on a per-key or keyset basis rather than always
1527         grabbing on AnyKey and then filtering after-the-fact.
1528         Bugfixes for event filtration mean that we don't get false matches
1529         on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
1530
1531         * registryd/deviceeventcontroller.c:
1532         Namespaced a number of static methods to use spi_ prefix.  Major
1533         revision to internals of global (i.e. X) key grabs.
1534
1535         * registryd/deviceeventcontroller.h:
1536         Removed keymask_list and added keygrabs_list to
1537         SpiDeviceEventController struct.
1538
1539         * test/simple-at.c:
1540         Added use of SPI_createAccessibleKeySet API when creating a
1541         listener for only one key.  Attach a listener to "shift spacebar
1542         SPI_KEY_RELEASE" as a demonstration.  Changed (incorrect) usage of
1543         X key event names to SPI key event names, so that listeners are
1544         registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
1545         
1546         * test/keysynth-demo.c:
1547         Changed (incorrect) use of X key event names (KeyPressed,
1548         KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
1549         
1550
1551 2001-12-12  Bill Haneman <bill.haneman@sun.com>
1552
1553         * libspi/accessible.c:
1554         Convert all AtkRole enumerations to Accessibility_Role enums when
1555         getting a role from an AtkObject.
1556         
1557         * cspi/spi_accessible.c:
1558         Complete the conversion of Accessibility_Role enums at runtime to
1559         AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
1560         role enums correctly match those given in spi-roletypes.h.  
1561         Re-synchronize the local names list for AccessibleRole_getName ().
1562         AccessibleRole_getName is now deprecated, since it duplicates the
1563         more reliable Accessible_getRoleName.
1564         Added some role types from Accessibility_Role.idl.
1565
1566         * idl/Accessibility_Role.idl:
1567         Added some role types used by AtkRole.
1568
1569 2001-12-12  Bill Haneman <bill.haneman@sun.com>
1570         
1571         * cspi/spi.h:
1572         * cspi/spi_registry.c:
1573         * cspi/spi_event.c:
1574         * cspi/cspi-bonobo-listener.c:
1575         Namespaced all methods that did not begin with an "SPI_" or
1576         "Accessible" prefix to "SPI_".  
1577
1578         * cspi/spi_main.c:
1579         Homogenized internal function namespace to "cspi_" for statics.
1580         
1581         * test/*.c:
1582         Patched tests to use the new CSPI API.
1583
1584         * docs/reference/cspi/at-spi-cspi-sections.txt:
1585         Updated docs to reflect namespace changes, and added a number of
1586         methods to the documentation.
1587         
1588         * registryd/registry.c:
1589         Changed use of strings and string hashes in listener event
1590         matching and parse_event_string to use GQuark, which is guaranteed
1591         unique.
1592         
1593         * registryd/registry.h:
1594         Squashed annoying warning.
1595
1596         * idl/Accessibility_Role.idl:
1597         Extended range of available Accessibility_Role values.
1598
1599         * cspi/spi_accessible.c:
1600         Re-ordered role names. 
1601
1602 2001-12-12  Bill Haneman <bill.haneman@sun.com>
1603
1604         * idl/Accessibility_Value.idl:
1605         Revert use of union back to CORBA_double, since the double type is
1606         more efficient and can contain the other types without loss of
1607         precision.
1608
1609         * idl/Accessibility_Accessible.idl:
1610         Added method Accessibility:Accessible:getRoleName, to complement
1611         Accessibility:Accessible:getRole.
1612
1613         * cspi/spi_accessible.c:
1614         * cspi/spi.h:
1615         Added C binding for above, Accessible_getRoleName (), and changed
1616         signature of Accessible_getRole () to return an AccessibleRole.
1617
1618         * cspi/spi-roletypes.h:
1619         Changed AccessibleRole_getName to return a char * instead of a
1620         const char *.  This method is now at least temporarily deprecated 
1621         in favor of asking Accessibles for their RoleNames directly.
1622
1623         * libspi/value.c:
1624         Revert to match Accessibility_Value.idl;
1625
1626         * cspi/spi_value.c:
1627         * cspi/spi.h:
1628         Change signature of AccessibleValue methods to use double rather
1629         than float.
1630
1631         * cspi/spi.h:
1632         * cspi/spi_accessible.c:
1633         Changed Accessible_getRole to return an AccessibleRole enum rather
1634         than a UTF-8 string.  The UTF-8 string can still be obtained via
1635         AccessibleRole_getName ().
1636         
1637         * test/test-simple.c:
1638         Add test_action.  Small fixup to match API change to Accessible_getRole.
1639
1640         * libspi/action.c:
1641         Bugfix for get_action_from_servant ().
1642
1643 2001-12-11  Michael Meeks  <michael@ximian.com>
1644
1645         * libspi/libspi.h: remove registry.h and
1646         desktop.h, deviceeventcontroller.h
1647
1648         * libspi/Makefile.am: remove registry.[ch],
1649         desktop.[ch], deviceeventcontroller.[ch]
1650
1651         * registryd/Makefile.am: add registry.[ch],
1652         desktop.[ch], rename registryd.c to registry-main.c.
1653         add deviceeventcontroller.[ch]
1654
1655 2001-12-11  Bill Haneman <bill.haneman@sun.com>
1656
1657         * test/simple-at.c:
1658         Replace setenv() call with putenv ().
1659
1660         * libspi/component.c:
1661         Bugfix in AccessibleComponent_getExtents (),
1662         (from Adi Dascal).
1663         
1664 2001-12-11  Michael Meeks  <michael@ximian.com>
1665
1666         * libspi/image.c (impl_getImageExtents): impl.
1667         (spi_image_class_init): upd.
1668
1669         * cspi/spi_image.c
1670         (AccessibleImage_getImageDescription): fix daft bug
1671         of mine (doh).
1672
1673         * test/test-simple.c (global_listener_cb): update
1674         to only quit if not --poke
1675         (main): catch --poke.
1676         (validate_accessible): upd. dumping, call test_image
1677         (test_image): impl.
1678
1679         * libspi/Makefile.am (IDL_DEPS): fixup the IDL
1680         dependencies.
1681
1682         * idl/Accessibility.idl: update all IDL includes.
1683
1684         * idl/*.idl - rename to namespace - this sucks, blame
1685         mjs' bad decision for oafd.
1686
1687         * test/test-simple.c (create_test_window): add more tests.
1688         (create_tree): split this out.
1689         (validate_accessible): bugfix.
1690
1691 2001-12-11  Michael Meeks  <michael@ximian.com>
1692
1693         * cspi/bonobo/cspi-bonobo-listener.c: 
1694         (cspi_kestroke_listener_unref),
1695         (cspi_event_listener_unref): impl. undoing previous
1696         homenous environment - for Bill.
1697
1698         * cspi/spi_table.c (long_seq_to_array): use
1699         malloc instead.
1700
1701         * cspi/spi_main.c: split out all bonoboish bits into
1702         bonobo/
1703
1704         * cspi/spi-impl.h: upd. typedefs.
1705
1706         * cspi/spi_registry.c: update to lowlevel API,
1707         return booleans to indicate success in some places.
1708
1709         * cspi/spi_event.c: update to lowlevel API.
1710
1711         * cspi/bonobo/Makefile.am: add.
1712
1713         * cspi/bonobo/cspi-lowlevel.h: add
1714
1715         * cspi/bonobo/cspi-bonobo.c: add
1716
1717         * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
1718
1719         * cspi/Makefile.am: remove spi-listener-impl.[ch],
1720         (SUBDIRS): add bonobo, link in the libs.
1721
1722         * cspi/spi-util.c: kill this file.
1723
1724         * TODO: merge in my bits.
1725
1726 2001-12-11  Michael Meeks  <michael@ximian.com>
1727
1728         * test/test-simple.c (test_value, test_table, main):
1729         remove unused variables causing warnings.
1730
1731         * configure.in: cleanup checks - require gail.
1732
1733 2001-12-11  Bill Haneman  <bill.haneman@sun.com>
1734
1735         * idl/Value.idl:
1736         Changed Value interface to use SValue (scalars) rather than
1737         assuming all values are floats.  This allows floats, doubles,
1738         longs, shorts, and unsigned values to be manipulated.
1739         Introduced Accessibility:SValue union.
1740
1741         * libspi/value.c:
1742         Updated to use new API above, and to work correctly with GValues
1743         of different types in AtkValue.
1744
1745         * cspi/spi_value.c:
1746         Updated to use new API above.  cspi's API is as yet unchanged.
1747
1748         * TODO: 
1749         Updated the Value revision action item.
1750         
1751 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
1752
1753         * test/test-simple.c:
1754         Added test_table (GtkTreeView widget in test window to follow).
1755         Un-commented test_value, added GtkRange widget.
1756         Added GtkTreeView widget with GtkListStore.  It passes regression
1757         test but leaks one SPI object for some reason.
1758
1759         * libspi/value.c:
1760         Fixed bug in impl__set_currentValue.
1761
1762 2001-12-10  Michael Meeks  <michael@ximian.com>
1763
1764         * cspi/spi_text.c: audit for exception handling,
1765         tolerating NULL object references safely etc.
1766
1767         * cspi/spi_value.c: ditto.
1768
1769         * cspi/spi_table.c (AccessibleTable_getSummary),
1770         (AccessibleTable_getAccessibleAt),
1771         (AccessibleTable_getRowHeader),
1772         (AccessibleTable_getColumnHeader),
1773         (AccessibleTable_getCaption): fix bugs hidden by
1774         incorrect casts.
1775         (long_seq_to_array): impl.
1776         (AccessibleTable_getSelectedRows),
1777         (AccessibleTable_getSelectedColumns): use it.
1778
1779 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
1780
1781         * TODO:
1782         Added a TODO list (rough and short for now).
1783
1784         * cspi/spi_hyperlink.c:
1785         * cspi/spi_hypertext.c:
1786         Fixed macro name typos, and remove use of obsolete macro in 
1787         AccessibleHyperlink_getLink.
1788
1789         * cspi/spi_action.c:
1790         * cspi/spi_accessible.c:
1791         * cspi/spi_application.c:
1792         * cspi/spi_component.c:
1793         * cspi/spi_selection.c:
1794         * cspi/spi_text.c:
1795         * cspi/spi_value.c:
1796         Documentation fixes (removed return values from ref/unref methods).
1797
1798 2001-12-10  Michael Meeks  <michael@ximian.com>
1799
1800         * cspi/spi_action.c: audit for exception handling,
1801         tolerating NULL object references safely etc.
1802
1803         * cspi/spi_accessible.c: ditto.
1804
1805         * cspi/spi_component.c: ditto.
1806
1807         * cspi/spi_editabletext.c: ditto.
1808
1809         * cspi/spi_hyperlink.c: ditto.
1810
1811         * cspi/spi_hypertext.c: ditto.
1812
1813         * cspi/spi_image.c: ditto.
1814
1815         * cspi/spi_selection.c: ditto.
1816
1817 2001-12-10  Michael Meeks  <michael@ximian.com>
1818
1819         * configure.in: use cspi/libspi.pc.in instead.
1820
1821         * Makefile.am (pkgconfig_DATA): upd. to match.
1822
1823         * test/simple-at.c (report_focus_event): kill hacks around
1824         bad return values, use putenv not setenv
1825
1826         * libspi/desktop.c (impl_desktop_get_child_at_index): don't
1827         fire ChildGone - I killed it.
1828
1829         * libspi/component.c
1830         (impl_accessibility_component_get_extents): remove
1831         bogus return.
1832
1833         * idl/Accessible.idl: kill ChildGone exception.
1834
1835         * cspi/*.[ch]: kill int return from ref / unref.
1836         
1837         * cspi/spi_main.c (cspi_object_add_check): fold into
1838         (cspi_object_add): here.
1839
1840         * cspi/spi_component.c (AccessibleComponent_getExtents):
1841         handle exceptions elegantly.
1842
1843         * cspi/spi-private.h (cspi_check_ev_return),
1844         (cspi_return_if_fail): impl.
1845
1846         * cspi/spi_accessible.c: use extensively.
1847         (AccessibleStateSet_equals): add direct compare check.
1848
1849         * cspi/spi_selection.c: tolerate NULL objs, and check
1850         exceptions before return.
1851
1852         * cspi/spi-util.c (cspi_warn_ev): rename to
1853         (cspi_check_ev): this & don't pass ev in; no point.
1854
1855 2001-12-10  Michael Meeks  <michael@ximian.com>
1856
1857         * test/test-simple.c: use putenv not setenv
1858         (get_environment_vars): more chatty if you're not using
1859         the fun bits.
1860
1861         * test/simple-at.c: do the setenv so more people see the
1862         nice demo easily.
1863
1864 2001-12-10  Bill Haneman <bill.haneman@sun.com>
1865
1866         * libspi/registry.c:
1867         Changed check of CORBA_environment on notification to be a warning
1868         instead of an error for the moment, since we can recover from this
1869         error when caused by a queued notification from a dead app.
1870         
1871         * libspi/value.c:
1872         Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
1873         used by all current implementors of AtkValue), and coerce to
1874         CORBA_float. (Proper general case fix may require change to Value.idl).
1875
1876 2001-12-09  Bill Haneman <bill.haneman@sun.com>
1877
1878         * cspi/spi.h:
1879         * cspi/spi_event.c:
1880         * cspi/spi_accessible.c:
1881         Documentation fixes: added user_data params to documentation for 
1882         listeners and callbacks.  
1883
1884         * cspi/spi_accessible.c: 
1885         Changed AccessibleStateSet_compare to return a
1886         StateSet rather than return the difference set into a third parameter.
1887         
1888         
1889 2001-12-09  Bill Haneman <bill.haneman@sun.com>
1890
1891         * configure.in:
1892         Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
1893         remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
1894         it). 
1895
1896         * Makefile.am:
1897         Remove subdirectory po from SUBDIRS for now.
1898
1899         * at-bridge/bridge.c:
1900         Beefed up a couple of debug printouts.
1901         One-line fix for signal notification name formatting.
1902
1903         * libspi/accessible.c:
1904         Added assertion to spi_accessible_new ().
1905
1906         * libspi/application.c:
1907         Put #ifdef qualifiers around a printf.
1908
1909         * libspi/value.c:
1910         Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
1911
1912         * registryd/Makefile.am:
1913         * util/Makefile.am:
1914         Replaces use of XML_I18N_MERGE_SERVER_RULE with
1915         INTLTOOL_SERVER_RULE macro.
1916
1917         * test/simple-at.c:
1918         Added an event listener for several ATK signals, for
1919         testing and debugging.  Removed a few g_warnings.
1920         Added test output if focussed item implements the Value interface.
1921
1922         * test/test-simple.c:
1923         Added test_value () function (known not to pass at the moment, so
1924         not actually called yet.
1925         
1926 2001-12-08  Michael Meeks  <michael@ximian.com>
1927
1928         * at-bridge/bridge.c (bridge_focus_tracker),
1929         (emit_eventv): fix the same ref. leak.
1930         (register_atk_event_listeners): don't leak.
1931
1932         * cspi/spi-listener-impl.c (cspi_event): more 
1933         protection from client code.
1934
1935         * test/test-simple.c (test_desktop): unref the app.
1936
1937         * test/Makefile.am: upd. TESTS.
1938
1939         * at-bridge/bridge.c (bridge_exit_func): release the registry.
1940
1941         * test/keysynth-demo.c (keysynth_exit): unref the listeners.
1942
1943         * cspi/spi_accessible.c (Accessible_queryInterface): constify.
1944
1945         * cspi/spi_registry.c: constify in strings.
1946         (deregisterGlobalEventListenerAll): don't release the ref.
1947
1948         * cspi/spi.h: start removing redundant / conflicting
1949         gtkdoc comments, making the API readable at a glance :-)
1950         
1951         * cspi/spi_event.c (AccessibleEventListener_unref): impl.
1952
1953         * test/keysynth-demo.c (keysynth_exit, main): upd.
1954
1955         * test/simple-at.c (main, simple_at_exit): upd.
1956
1957         * test/test-simple.c (unutterable_horror): kill.
1958         (utterable_normal_derefs): kill.
1959         (main): upd & do a setenv before gtk_init, so that we
1960         can use memprof - and to save the pain of remembering
1961         this, if we're running under memprof - don't exit.
1962
1963         * cspi/spi_main.c (SPI_exit): return exit status
1964         for cspi.
1965         (SPI_event_quit): impl.
1966         (SPI_event_main): simplify.
1967         (cspi_is_gnome_app): kill.
1968         (SPI_init): kill isGNOMEapp arg.
1969
1970         * at-bridge/bridge.c (register_atk_event_listeners):
1971         re-instate the unref.
1972         (bridge_exit_func): don't re-activate the registry,
1973         protect vs. theoretical re-entry, use the
1974         AT_BRIDGE_SHUTDOWN env. var to determine whether to
1975         assert a clean shutdown - for regression tests.
1976
1977 2001-12-08  Abel Cheung  <maddog@linux.org.hk>
1978
1979         * configure.in: Comment out dummy i18n support for now,
1980           otherwise it fails to build.
1981         * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
1982           EXTRA_DIST. They are missing in tarball.
1983
1984 2001-12-07  Michael Meeks  <michael@ximian.com>
1985
1986         * util/magnifier.c: kill bonobo activation reg. race.
1987
1988         * libspi/component.c
1989         (impl_accessibility_component_get_extents): make it match
1990         it's sig.
1991
1992         * libspi/registry.c (_registry_notify_listeners):
1993         re-remove X headers & reconcile conflicts.
1994         (spi_listener_struct_free): bad conflict resolve.
1995         (impl_accessibility_registry_register_application):
1996         more bad merging fixed.
1997         (impl_accessibility_registry_deregister_application): ditto.
1998         (spi_registry_new): ditto.
1999         (spi_registry_init): don't have an applications field.
2000
2001 [ merge fixups2 branch to here ]
2002 2001-12-07  Michael Meeks  <michael@ximian.com>
2003
2004         * test/simple-at.c (report_focus_event),
2005         (report_focussed_accessible): remove g_warning debug.
2006
2007 2001-12-07  Michael Meeks  <michael@ximian.com>
2008
2009         * test/test-simple.c (validate_tree): comment out some checks.
2010         (test_desktop): app now not registered idly - horay.
2011
2012 2001-12-07  Michael Meeks  <michael@ximian.com>
2013
2014         * cspi/spi_registry.c
2015         (registerAccessibleKeystrokeListener): clean, stop it leaking
2016         great swathes of memory, and device event controller references.
2017         ensure we always pass valid sequences.
2018         (deregisterAccessibleKeystrokeListener): ditto.
2019         (generateKeyEvent): upd.
2020
2021         * at-bridge/bridge.c (bridge_key_listener): handle
2022         registry dead exception gracefully.
2023         (bridge_focus_tracker, emit_eventv): free ev.
2024
2025         * test/simple-at.c (report_focus_event): fix polarity.
2026
2027         * libspi/application.c (notify_listeners): kill the ev
2028         argument, and make sure we init the ev we use.
2029         (spi_application_object_event_listener): split out a chunk
2030         (get_atk_object_ref): here & fixup.
2031         (reverse_lookup_name_for_toolkit_event): make const.
2032         (spi_application_toolkit_event_listener): fixup, kill leaks
2033         ref problems etc.
2034
2035         * at-bridge/bridge.c (register_atk_event_listeners):
2036         don't unref the noop object - causes grief.
2037
2038         * libspi/registry.c: remove the X headers.
2039         turn off the debug churn.
2040
2041         * libspi/accessible.c (spi_accessible_new_return): only
2042         release the ref if we are supposed to [doh]
2043
2044         * test/simple-at.c (report_button_press, report_focus_event):
2045         guard vs. unexpected exit.
2046
2047         * at-bridge/bridge.c (gtk_module_init): prune printf.
2048         (bridge_exit_func): fix app unref.
2049
2050         * libspi/Makefile.am: don't install registry or desktop.h
2051
2052         * libspi/*.h: update includes.
2053
2054         * libspi/application.h: don't include ourself, or
2055         other redundant headers.
2056
2057 2001-12-06  Michael Meeks  <michael@ximian.com>
2058
2059         * libspi/accessible.c
2060         (get_accessible_from_servant): impl.
2061         Upd. all CORBA impl.s to use it killing cut and paste.
2062
2063         * cspi/spi_main.c (cspi_cleanup): guard vs. double
2064         invokes.
2065         (SPI_init): register atexit cleanup handler here.
2066
2067 2001-12-06  Michael Meeks  <michael@ximian.com>
2068
2069         * at-bridge/bridge.c (gtk_module_init): g_error on
2070         activation exception
2071
2072 2001-12-06  Michael Meeks  <michael@ximian.com>
2073
2074         * at-bridge/bridge.c (gtk_module_init): some sort of
2075         confusing merge clash - reverted.
2076         (bridge_idle_init): ditto.
2077
2078         * test/test-simple.c (main, utterable_normal_derefs):
2079         merge from Bill - somehow not committed.
2080
2081 2001-12-06  Michael Meeks  <michael@ximian.com>
2082
2083         * libspi/value.c (spi_value_class_init): upd.
2084         (spi_value_finalize): kill.
2085
2086         * libspi/table.c (spi_table_finalize): kill.
2087         (spi_table_interface_new): upd.
2088         (spi_table_class_init): upd.
2089         (get_table_from_servant): impl.
2090         Upd. all CORBA impl.s to use it killing yet more cut and paste.
2091
2092         * libspi/selection.c (spi_selection_finalize): kill.
2093         (spi_selection_interface_new): upd.
2094         (spi_selection_class_init): upd.
2095         (get_selection_from_servant): impl.
2096         Upd. all CORBA impl.s to use it killing yet more cut and paste.
2097
2098         * libspi/relation.c (spi_relation_finalize): kill.
2099         (spi_relation_class_init, spi_relation_new): upd
2100
2101         * libspi/image.c (spi_image_finalize): kill.
2102         (spi_image_class_init): upd.
2103         (spi_image_interface_new): upd.
2104         (get_image_from_servant): impl.
2105         Upd. all CORBA impl.s to use it killing yet more cut and paste.
2106
2107         * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
2108         (spi_hyperlink_finalize): kill.
2109         (spi_hyperlink_new): upd.
2110         (get_hyperlink_from_servant): impl.
2111         Upd. all CORBA impl.s to use it killing yet more cut and paste.
2112
2113         * libspi/hypertext.c (spi_hypertext_interface_new): upd.
2114         (spi_hypertext_finalize): kill.
2115         (spi_hypertext_class_init): upd.
2116         (get_hypertext_from_servant): impl.
2117         Upd. all CORBA impl.s to use it killing yet more cut and paste.
2118
2119         * libspi/editabletext.c (spi_editable_text_finalize): kill.
2120         (spi_editable_text_interface_new): upd.
2121         (get_editable_text_from_servant): impl.
2122         Upd. all CORBA impl.s to use it killing yet more cut and paste.
2123         
2124         * libspi/text.c (get_text_from_servant): impl.
2125         All impls - update to use it killing more cut and paste,
2126         also fix bad string returns on duff args ( a somewhat
2127         impossible case to handle - but hey ).
2128         (spi_text_construct): impl.
2129         (spi_text_interface_new): upd.
2130         (spi_text_object_finalize): kill.
2131
2132         * libspi/component.c
2133         (accessibility_component_object_finalize): kill.
2134         (spi_component_class_init): upd.
2135         (get_component_from_servant): impl. helper to kill cut & paste.
2136         (impl_accessibility_component_contains): 
2137         (impl_accessibility_component_get_accessible_at_point): 
2138         (impl_accessibility_component_get_position): 
2139         (impl_accessibility_component_get_extents): 
2140         (impl_accessibility_component_get_mdi_z_order): 
2141         (impl_accessibility_component_get_layer): 
2142         (spi_component_interface_new): upd.
2143
2144         * libspi/action.c (spi_action_finalize): kill.
2145         (spi_action_class_init): upd. inherit from SpiObject.
2146         (spi_action_interface_new): upd.
2147         (get_action_from_servant): impl. helper to reduce cut & paste.
2148         (impl_getKeyBinding, impl_getName, impl_doAction),
2149         (impl_getDescription): Use it everywhere.
2150
2151         * cspi/spi_main.c (get_live_refs): a pointer hash.
2152         (spi_object_hash, spi_object_equal): comment out.
2153         There are issues with CORBA object hashing that need
2154         solving.
2155
2156         * libspi/application.c (spi_application_init),
2157         (spi_application_new): upd.
2158
2159         * libspi/accessible.c (spi_accessible_object_finalize): kill.
2160         (spi_accessible_class_init): upd.
2161         s/accessible/object/ in epv methods.
2162
2163 2001-12-05  Bill Haneman <bill.haneman@sun.com>
2164
2165         * at-bridge/bridge.c:
2166         Reorder the bridge initialization into the bridge gtk_module_init,
2167         an immediate call to bridge_register_app, and an idle_add for
2168         register_atk_event_listeners (the only code that *must* wait until
2169         GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
2170         the activation, creates the application's Accessible object, and
2171         queues the bridge_idle_init function.  Restored call to
2172         Accessibility_Registry_deregisterApplication().  
2173         Prior to making this call we obtain a new reference to the
2174         registry, which is a temporary hack that helps us handle apps that
2175         shut down the bonobo mainloop before we get there.
2176
2177         * libspi/registry.c:
2178         Fix string leakage in debug block, and don't segv if a an app
2179         dies before its event notifications have been propagated.
2180
2181         * cpi/spi_util.c:
2182         Modify cspi_check_ev() to call g_warning() rather than g_error(),
2183         as stopgap measure until we get proper exception handling when 
2184         objects die during or before interrogation.  
2185
2186         * cspi/spi_main.c:
2187         * cspi/spi.h:
2188         Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
2189         Also changed default value of is_gnome_app to TRUE.
2190
2191         * test/simple-at.c:
2192         * test/keysynth-demo.c:
2193         Changed use of SPI_init and SPI_event_main to reflect API change above.
2194
2195         * test/simple-at.c:
2196         Made report_focus_event check the warning value from getName
2197         before reporting on focussed accessible; simplifies handling of
2198         notifications from dead objects.
2199
2200         * test/test-simple.c: (Changes not in this patch since source is
2201         not in CVS ?)
2202         
2203 2001-12-05  Michael Meeks  <michael@ximian.com>
2204
2205         * registryd/registryd.c (main): protect against
2206         bonobo-activation startup race condition.
2207
2208         * cspi/spi_main.c (cspi_object_add_check): cope
2209         with the exception elegantly.
2210
2211         * idl/Accessible.idl: decl. ChildGone
2212
2213         * libspi/desktop.c (spi_desktop_dispose): impl.
2214         (spi_desktop_class_init): upd.
2215         (spi_desktop_add_application),
2216         (spi_desktop_remove_application),
2217         (abnormal_application_termination): impl.
2218         (impl_desktop_get_child_at_index): re-impl.
2219
2220         * libspi/registry.c
2221         (impl_accessibility_registry_deregister_application),
2222         (impl_accessibility_registry_register_application): 
2223         kill excessive debug clutter.
2224
2225         * test/test-simple.c (test_misc): test some NULL
2226         tolerance. (main): upd.
2227
2228         * cspi/spi_main.c (cspi_accessible_is_a): a NULL
2229         implements no interfaces - so let's not crash.
2230
2231         * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
2232
2233         * libspi/accessible.c (spi_accessible_new_return): impl.
2234         helper to calm the cut and paste, to cope with
2235         NULL AtkObjects effectively and efficiently, and to kill
2236         the referencing bugs.
2237
2238         * libspi/table.c (impl_getAccessibleAt),
2239         (impl_getRowHeader, impl_getColumnHeader): upd.
2240
2241         * libspi/hyperlink.c (impl_getObject): upd.
2242
2243         * libspi/accessible.c
2244         (impl_accessibility_accessible_get_child_at_index): upd.
2245
2246         * libspi/component.c
2247         (impl_accessibility_component_get_accessible_at_point): upd.
2248
2249         * test/test-simple.c (test_editable_text, test_text): impl.
2250         some simple tests.
2251
2252         * cspi/spi_editabletext.c
2253         (AccessibleEditableText_insertText): constify.
2254
2255         * test/test-simple.c (focus_me): make more robust.
2256
2257         * libspi/accessible.c: remove some printfs in methods that
2258         we test and work fine, so we can get a clean tree dump.
2259
2260         * test/test-simple.c (validate_accessible),
2261         (validate_tree): make tree dumping pretty too.
2262
2263         * at-bridge/bridge.c (bridge_signal_listener): upd. so
2264         it builds without debug on.
2265
2266         * test/test-simple.c (validate_accessible): fix the most
2267         ludicrous bug.
2268
2269         * cspi/spi_main.c (spi_object_release): leave the nicely
2270         blanked memory around if in debug mode.
2271
2272         * cspi/spi-listener-impl.c (cspi_event): use add_check.
2273
2274 [committed to fixups2]
2275 2001-12-05  Michael Meeks  <michael@ximian.com>
2276
2277         * libspi/editabletext.c
2278         (spi_editable_text_class_init): g_type_class_peek_parent,
2279         not interface peek - so we finalize cleanly.
2280
2281         * libspi/accessible.c (spi_accessible_new): kill debug.
2282
2283         * test/test-simple.c (validate_accessible): fix ref.
2284         leak, print strings before freeing them; sigh, comment a
2285         chunk out due to strangeness.
2286         (validate_tree): unref the child after use.
2287
2288         * cspi/spi_component.c (AccessibleComponent_getLayer):
2289         add missing break statement, switch on zlayer not the
2290         uninitialized retval.
2291
2292         * cspi/spi_main.c (cspi_object_add): add assert, local ref
2293         before (possibly re-entering) remote unref.
2294
2295         * test/simple-at.c (main): unref the desktop.
2296
2297         * cspi/spi_accessible.c (cspi_accessible_is_a): move 
2298         into:
2299         
2300         * cspi/spi_main.c (cspi_accessible_is_a): here to 
2301         isolate bonobo API usage more.
2302
2303         * libspi/registry.c (impl_accessibility_registry_register_application): 
2304         prune bogus comment.
2305
2306 2001-12-04  Michael Meeks  <michael@ximian.com>
2307
2308         * test/test-simple.c (validate_tree): upd.
2309         IndexInParent check to make it more lucid.
2310         (validate_accessible): dump the tree.
2311
2312         * libspi/accessible.c (de_register_public_ref),
2313         (get_public_refs): impl.
2314         (spi_accessible_new): make more efficient & intuitive.
2315         Now IndexInParent check works.
2316
2317 2001-12-04  Michael Meeks  <michael@ximian.com>
2318
2319         * cspi/spi-util.h: remove.
2320
2321         * cspi/spi.h: move SPI_freeString here
2322
2323         * libspi/component.c (impl_accessibility_component_get_layer): 
2324         warning fixage.
2325         (impl_accessibility_component_get_mdi_z_order): ditto,
2326         return -1 on error - is this ok ?
2327
2328         * test/test-simple.c (test_application): impl.
2329
2330         * cspi/spi_accessible.c (Accessible_getApplication),
2331         (Accessible_isApplication): impl.
2332
2333         * libspi/registry.c (spi_listener_struct_free): release
2334         the CORBA reference too.
2335
2336         * libspi/accessible.c
2337         (impl_accessibility_accessible_get_parent): fix ref leak.
2338
2339         * libspi/registry.c (spi_registry_new): make the registry
2340         immortal - we don't want it to go away ever.
2341
2342         * libspi/application.c
2343         (spi_accessible_application_finalize): impl. cleanup.
2344
2345         * cspi/spi_registry.c
2346         (deregisterGlobalEventListenerAll),
2347         (deregisterGlobalEventListener),
2348         (deregisterAccessibleKeystrokeListener): fix ref leak.
2349
2350         * cspi/spi_main.c (SPI_init): remove redundant ref.
2351
2352         * test/test-simple.c (unutterable_horror): impl. to force a
2353         clean shutdown.
2354         (main): use it.
2355
2356         * libspi/registry.c
2357         (impl_accessibility_registry_deregister_application): release
2358         the application when we de-register it.
2359
2360         * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
2361         until we have the infastructure to get it right.
2362
2363 2001-12-03  Michael Meeks  <michael@ximian.com>
2364
2365         * libspi/Makefile.am: only build eventlistener.[ch]
2366
2367         * libspi/accessible.c
2368         (impl_accessibility_accessible_get_child_at_index): don't leak.
2369
2370         * at-bridge/bridge.c (bridge_exit_func): cope with an exit
2371         before we hit the idle handler.
2372
2373         * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
2374         debugging than exit.
2375
2376         * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
2377
2378         * libspi/listener.c (impl_notify_event): check source
2379         not NIL before unref.
2380
2381         * libspi/registry.c (impl_registry_notify_event): ditto.
2382
2383         * libspi/eventlistener.c
2384         (impl_accessible_event_notify_event): unref the source.
2385
2386         * libspi/accessibleeventlistener.c
2387         (impl_accessible_event_notify_event): unref the source.
2388
2389         * idl/Event.idl: remove 'hash_id' attribute - of no
2390         concievable use.
2391
2392         * libspi/application.c (notify_listeners): upd list
2393         iteration & sig.
2394         (spi_application_object_event_listener), 
2395         (spi_application_toolkit_event_listener): upd to do correct
2396         CORBA ref counting.
2397
2398         * libspi/registry.c
2399         (_registry_notify_listeners): update.
2400         (parse_event_type): this method also leaks like a sieve.
2401         (impl_accessibility_registry_deregister_global_event_listener): 
2402         fix ETYPE_WINDOW case.
2403
2404         * libspi/application.c
2405         (impl_accessibility_application_register_object_event_listener): 
2406         kill leak.
2407
2408         * libspi/hyperlink.c (impl_getObject): fix ref mistake.
2409
2410         * libspi/hypertext.c (impl_getLink): ditto.
2411
2412         * cspi/spi_main.c (cspi_object_add): remove
2413         bogus CORBA_Object_duplicate.
2414
2415         * cspi/spi-listener-impl.c (cspi_event): dup/ref
2416         on the object_add.
2417
2418         * cspi/spi_accessible.c
2419         (Accessible_getRelationSet): fix leak / referencing issue.
2420
2421         * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
2422         (cspi_object_add, cspi_object_unref): upd.
2423         (spi_object_release, get_live_refs): impl.
2424         (cspi_cleanup): simplify.
2425
2426         * *.[ch]: s/boolean/SpiBoolean/
2427
2428         * cspi/spi_accessible.c (role_names): actualy order so it
2429         corresponds with the enum !
2430
2431         * test/test-simple.c (test_roles): check some role strings
2432         vs. enums to detect offset errors.
2433
2434 2001-12-01  Michael Meeks  <michael@ximian.com>
2435
2436         * cspi/spi_main.c (cspi_object_add_check): impl. helper.
2437
2438         * cspi/spi_accessible.c (Accessible_getChildAtIndex):
2439         check ev before 
2440         (Accessible_getChildAtIndex): use cspi_add_check so we
2441         check the ev before using a (possibly) invalid value.
2442
2443         * libspi/accessible.c
2444         (impl_accessibility_accessible_get_parent): don't segv
2445         on a NULL parent.
2446
2447         * at-bridge/bridge.c (gtk_module_init): upd.
2448         (bridge_property_event_listener): don't leak strings
2449         and events !
2450         (bridge_state_event_listener),
2451         (bridge_property_event_listener): don't use a static
2452         buffer in case of recursive event emission &
2453         re-enterancy - split out the swathe of cut and paste
2454         into:
2455         (emit_eventv): and fix 2 ref leaks here & comply to the
2456         coding style.
2457         (bridge_register_app): rename to 
2458         (bridge_idle_init): this and kill arg parsing, split
2459         various inits & bonobo-activation registration to module
2460         init time, kill referencing error.
2461         (bridge_exit_func): fix the same leak.
2462         (bridge_focus_tracker): don't leak event structures
2463         and strings.
2464         (bridge_signal_listener): more leakage and cut & paste
2465         fixage.
2466         (bridge_key_listener): return the result - FIXME is
2467         this polarity correct ?
2468         (accessibility_keystroke_from_atk_key_event): rename
2469         (accessibility_init_keystroke_from_atk_key_event): and stop
2470         leakage.
2471         (gtk_module_init): return a value - not that it is checked by
2472         Gtk - but hey.
2473         (bridge_key_listener): register my horror at casting between
2474         IDL defined structs.
2475         (bridge_get_registry): kill - not used.
2476
2477         * cspi/spi_accessible.c (Accessible_getRole): make return const.
2478
2479         * test/test-simple.c (test_roles): impl.
2480         (test_desktop, validate_accessible, validate_tree): impl.
2481
2482         * cspi/spi_accessible.c (role_names): fixup bogus
2483         MAX_ROLES setup, make constants const for efficient linkage
2484         (AccessibleRole_getName): conform to coding style, make
2485         return 'const'
2486
2487 2001-11-30  Michael Meeks  <michael@ximian.com>
2488
2489         * cspi/spi.h: add missing prototype.
2490
2491         * libspi/registry.c (spi_listener_struct_new): fix sig.
2492
2493         * test/Makefile.am: add test-simple
2494
2495         * test/test-simple.c: add
2496
2497         * test/test.sh: add.
2498
2499         * cspi/spi_main.c (SPI_init): make SPI_inited module global,
2500
2501         * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
2502         do it straight - since otherwise we often get an activation race.
2503
2504 [ work before Bill duplicated a chunk of it ... ]
2505 2001-11-30  Michael Meeks  <michael@ximian.com>
2506
2507         * libspi/keystrokelistener.c
2508         (spi_keystroke_listener_class_init): fixup arg
2509         count (doh).
2510
2511         * libspi/eventlistener.c
2512         (spi_event_listener_class_init): ditto.
2513
2514         * tests/test.sh: add.
2515
2516         * cspi/spi-listener-impl.h: update macros.
2517
2518         * cspi/spi-listener-impl.c
2519         (cspi_event_listener_remove_callback): add
2520         correct pre-conditions.
2521
2522         * cspi/spi_main.c (SPI_exit): guard vs. double
2523         exits, exit the mainloop nicely.
2524         (SPI_event_main): make more sense.
2525         (SPI_init): move the atexit evilness here so we
2526         always do it (yuck).
2527         (SPI_event_main): upd.
2528
2529         * test/simple-at.c: update for listener changes.
2530
2531         * registryd/registryd.c (main): prune kruft.
2532
2533         * libspi/libspi.h: upd.
2534
2535         * libspi/eventlistener.[ch]: rename broken macros.
2536
2537         * libspi/accessibleeventlistener.[ch]: remove.
2538
2539         * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
2540
2541         * test/test-simple.c: Add - automated tests.
2542
2543         * cspi/spi-listener-impl.c (cspi_event),
2544         (cspi_key_event): add user_data to invoke.
2545         (cspi_keystroke_listener_finalize): impl.
2546         (cspi_keystroke_listener_class_init): upd.
2547
2548         * cspi/spi_event.c
2549         (createAccessibleEventListener),
2550         (AccessibleEventListener_addCallback),
2551         (createAccessibleKeystrokeListener),
2552         (AccessibleKeystrokeListener_addCallback): upd.
2553
2554         * libspi/deviceeventcontroller.c
2555         (spi_device_event_controller_check_key_event): add public proto.
2556
2557         * libspi/registry.c
2558         (impl_accessibility_registry_deregister_global_event_listener): 
2559         always init listeners.
2560         (_registry_notify_listeners): yes it is.
2561
2562         * cspi/spi-listener-impl.c (cspi_key_event): 
2563         move debug to here.
2564         (cspi_event_listener_finalize): impl.
2565         (cspi_event_listener_class_init): hook up.
2566         (event_handler_new, event_handler_free),
2567         (event_list_remove_by_callback): impl.
2568         (cspi_event_listener_remove_callback),
2569         (cspi_keystroke_listener_remove_callback),
2570         (cspi_keystroke_listener_add_callback),
2571         (cspi_event_listener_add_callback): upd.
2572
2573         * libspi/keystrokelistener.c
2574         (keystroke_listener_object_finalize): kill
2575         (spi_keystroke_listener_class_init): upd.
2576         (spi_keystroke_listener_add_callback),
2577         (spi_keystroke_listener_remove_callback): kill,
2578         use signals.
2579         (impl_key_event): prune drasticaly.
2580
2581         * libspi/eventlistener.c
2582         (spi_event_listener_add_callback),
2583         (spi_event_listener_remove_callback): kill, use
2584         signals.
2585         (impl_accessible_event_notify_event): upd.
2586         (spi_event_listener_object_finalize): remove.
2587
2588         * libspi/Makefile.am: use eventlistener.[ch]
2589
2590 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
2591
2592         * libspi/registry.c (_registry_notify_listeners):
2593         Changed listener loop iteration to use preferred convention.
2594         Got rid of string memory leaks caused be calling g_strconcat
2595         inside function calls.
2596
2597         * libspi/registry.c (parse_event_type):
2598         Stopped g_strconcat memory leaks, free the g_strsplit return,
2599         g_strdup the split pieces when used, etc.
2600
2601 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
2602
2603         * idl/State.idl: 
2604         Change method 'compare' to return a 'difference set' rather than
2605         taking a StateSet as an out parameter (more Java-friendly).
2606
2607         * idl/Accessible.idl:
2608         Added CORBA struct 'BoundingBox', to faciliate API changes below:
2609         
2610         * idl/Component.idl:
2611         * idl/Image.idl:
2612         Changed methods 'getExtents' and 'getImageExtents' in these
2613         interfaces to return a BoundingBox structure.  
2614         (getPosition and getSize are redundant and possibly should be
2615         removed, rather than creating a corresponding Point struct.)
2616
2617         * cspi/spi_component.c:
2618         Modify implementation of getExtents to reflect the above IDL
2619         change.
2620         
2621         * cspi/spi_image.c:
2622         * cspi/spi.h:
2623         Add (missing) AccessibleImage_getExtents () API.
2624
2625         * docs/reference/cspi/at-spi-cspi-sections.txt:
2626         Added AccessibleImage_getImageExtents () to docs.
2627         
2628 2001-12-03  Bill Haneman  <bill.haneman@sun.com>
2629
2630         * idl/Component.idl:
2631         Added two methods, getLayer () and getMDIZOrder (), to reflect
2632         the new ATK methods atk_object_get_layer and
2633         atk_object_get_mdi_z_order. (Which arguably should be part of the
2634         AtkComponent API and AtkObject).  Also added an enum,
2635         ComponentLayer, for the first method's return value.
2636
2637         * libspi/component.c:
2638         Added implementations for these methods.
2639
2640         * cspi/spi_component.c:
2641         * cspi/spi.h:
2642         Added cspi binding methods for above, 
2643         AccessibleComponent_getLayer() and
2644         AccessibleComponent_getMDIZOrder().
2645         Added cspi enum 'AccessibleComponentLayer'.
2646
2647         * docs/reference/cspi/at-spi-cspi-sections.txt:
2648         Added above methods to docs.
2649
2650         * cspi/spi-impl.h:
2651         * cspi/spi*.[ch]:
2652         Changed typedef for 'boolean' type (and all references to it) to
2653         SPIBoolean, to avoid keyword clashes with C++.
2654
2655         * test/simple-at.c:
2656         Changed usages of 'boolean' to SPIBoolean.
2657
2658         * test/keysynth-demo.c:
2659         Changed usages of 'boolean' to 'gboolean' (since this is a gnome
2660         app), except where SPIBoolean is required by the callbacks API.
2661         
2662 2001-12-02  Bill Haneman  <bill.haneman@sun.com>
2663
2664         * cspi/spi_registry.c:
2665         Removed obsolete X event loop for passive keygrabs (which now
2666         lives in libspi).
2667
2668         * registryd/registryd.c:
2669         Removed unnecessary call to gdk_init() [cruft]. This also allows
2670         removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
2671         * configure.in.
2672
2673 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
2674
2675         * docs/reference/cspi:
2676         Included docs for SPI_freeString in generated documentation.
2677
2678         * cspi/spi-util.c:c
2679         Renamed spi_freeString to SPI_freeString, for consistency.  Added
2680         documentation for this function.
2681
2682         * cspi/spi-util.h:
2683         Renamed spi_freeString to SPI_freeString, for consistency.  
2684         Removed obsolete method declaration string_from_corba_string.
2685
2686         * test/keysynth-demo.c:
2687         Small tweak to comments.
2688
2689         * test/simple-at.c:
2690         Stopped leaking the strings returned from CSPI. 
2691
2692 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
2693
2694         Merged Michael's branch (see his ChangeLog entries below).
2695         
2696         * at-bridge/bridge.c: Explicitly hold a ref to the registry while
2697         bridge is alive, release on exit.
2698         
2699         * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
2700         Fix type check macro.
2701         
2702         * cspi/spi_event.c:
2703         Added AccessibleKeystrokeListener_unref() method to reduce leakage.
2704         
2705         * cspi/spi_main.c: 
2706         Added is_gnome_app static, and method cspi_is_gnome_app(), 
2707         so we can call the appropriate shutdown routine at exit in SPI_exit.
2708         
2709         * cspi/spi_main.c (cspi_object_ref):
2710         Duplicate the corba object passed in, since we're keeping it around.
2711         
2712         * cspi/SPI_exit.c, cspi_cleanup:
2713         Moved the releasing of the live refs to its own function, so we
2714         can put it in g_atexit ().  Call the appropriate shutdown API
2715         depending on whethe calling client is a gnome app or not
2716         (bonobo_main_quit or CORBA_ORB_shutdown).
2717         
2718         * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
2719         Unref the listener when this method is called, after
2720         deregistration.  Updated the API docs to note this behavior.
2721
2722         * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
2723         Bugfixes: Ref the bonobo object when returning a parent or child 
2724         reference, or an AccessibleRelation.  Generally made sure
2725         BonoboObject refcount is incremented whenever we return an
2726         Accessible.
2727
2728         * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
2729         Fixed typo/bug in signal declaration.
2730         
2731         * libspi/accessibleeventlistener.h:
2732         Fixed a type macro.
2733
2734         * libspi/application.c (spi_application_new):
2735         Fixed leak in initialization.
2736
2737         * libspi/desktop.c:
2738         Remembered to increment bonobo-object refcount when returning
2739         children (applications) from desktop object.
2740         Added (empty) finalize method.
2741
2742         * libspi/deviceeventcontroller.c:
2743         Hold a ref to listeners inside DEControllerKeyListeners.
2744         Added dec_key_listener_free() method.  Use prepend instead of
2745         append in key_listener list.  Fixed some refcount madness and
2746         leaks in the listener registration/deregistration - deregistration
2747         now calls dec_key_listener_free() on listeners, and on the
2748         temporarily constructed dec_key_listener() used to perform the search/match.
2749
2750         * libspi/hypertext.c (spi_hypertest_finalize):
2751         Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
2752         class.  Also fixed spi_hypertext_interface_new() and
2753         SpiHypertextClass.  Fixed a couple of paren-whitespace formatting bugs.
2754
2755         * libspi/hypertext.h: 
2756         Removed pointless and duplicate AtkObject pointer from
2757         SpiHypertextClass.
2758
2759         * libspi/keystrokelistener.c:
2760         Fixed incorrect type of keystroke_listener_parent_class,
2761         renamed keystroke_listener_object_finalize to
2762         spi_keystroke_listener_object_finalize.
2763         Fixed typo in signal declaration
2764         (spi_keystroke_listener_class_init).
2765
2766         * libspi/registry.c:
2767         Added funcsions spi_listener_struct_new() and
2768         spi_listener_struct_free() to help with memory management issues.
2769         We also now use these methods instead of gnew + poking stuff into
2770         the struct, and to decrement listener counts/free the listeners
2771         when deregistering them.
2772         Fix more refcount bugs in getDesktop() and
2773         getDeviceEventController().  
2774
2775         * test/simple-at.c:
2776         De-ref the desktop after enumerating the applications.  Explicitly
2777         decrement the refcounts on the created listeners on exit (using
2778         _unref for keystroke listeners, and via the
2779         deregisterGlobalEventListenerAll command for other event
2780         listeners).
2781         
2782 2001-11-27  Michael Meeks  <michael@ximian.com>
2783
2784         * cspi/spi-listener.h: fixup enum.
2785
2786 2001-11-27  Michael Meeks  <michael@ximian.com>
2787
2788         * cspi/spi-listener-impl.c (cspi_event_listener_new),
2789         (cspi_keystroke_listener_new): Use the cspi variants.
2790
2791 2001-11-26  Michael Meeks  <michael@ximian.com>
2792
2793         * test/keysynth-demo.c: fix 2 compile warnings, missing
2794         type in decl. etc.
2795
2796         * test/simple-at.c (report_focussed_accessible),
2797         (report_focus_event, report_button_press),
2798         (check_property_change, is_command_key),
2799         (report_ordinary_key_event, report_command_key_event): upd.
2800
2801         * util/mag_client.h: include pre-requisites.
2802
2803         * libspi/accessibleeventlistener.c
2804         (spi_event_listener_object_finalize): free any lingering
2805         callbacks.
2806         
2807         * libspi/keystrokelistener.c
2808         (keystroke_listener_object_finalize): ditto.
2809
2810         * cspi/spi-listener-impl.[ch]: Add to implement cspi style
2811         callbacks, with cspi types.
2812         
2813         * cspi/spi_event.c (createAccessibleEventListener): chain to
2814         (AccessibleEventListener_addCallback): here.
2815         (createAccessibleKeystrokeListener): chain to 
2816         (AccessibleKeystrokeListener_addCallback): here.
2817
2818         * libspi/keystrokelistener.c
2819         (spi_keystroke_listener_class_init): add signal.
2820         (impl_key_event): emit the event.
2821         (boolean_handled_accumulator): impl.
2822         (marshal_BOOLEAN__POINTER): add, gack.
2823
2824         * libspi/accessibleeventlistener.c
2825         (spi_event_listener_class_init): add signal.
2826         (impl_accessible_event_notify_event): emit the signal &
2827         make the loop efficient.
2828         (spi_event_listener_add_callback): prepend the callback.
2829
2830         * libspi/accessibleeventlistener.h: add an 'event' signal,
2831         decl type on callback.
2832
2833         * libspi/keystrokelistener.h: ditto.
2834
2835         * cspi/spi-listener.h: make methods typesafe and
2836         make them use the new event typedefs.
2837
2838         * test/simple-at.c (report_focussed_accessible):
2839         include mag_client.h
2840         Use *(void *)text_interface not the other thing.
2841         
2842         * configure.in: add gtk to registryd bits - since we use
2843         gdk there ( why ? )
2844
2845         * util/magnifier.c: include libbonobo.h
2846         
2847 2001-11-25  Bill Haneman  <bill.haneman@sun.com>
2848
2849         * test/keysynth-demo.c:
2850         Turned this into a simple scanning keyboard, to demonstrate the
2851         use of g_timeout_add () as a means of creating timers for
2852         scanning, and the use of GtkStyle for visually indicating when
2853         virtual keyboard elements are selected.
2854
2855         keysynth-demo now listens to any keyboard keys with zero-valued
2856         keycodes (i.e. 'unused' keys) and interprets them as
2857         single-switches.
2858
2859         Reworked the shiftlatch code so that shift-down state isn't held
2860         for long periods (it's only synthesized immediately prior to
2861         the keysynth event it's modifying).  Note that shiftlatch in this
2862         demo is a convenience, not intended to take the place of AccessX 
2863         which is the better choice for getting 'sticky' modifier keys.
2864
2865         * libspi/deviceeventcontroller.c:
2866         * at-bridge/bridge.c:
2867         * cspi/spi_registry.c:
2868         Removed some debug print stuff, and put other verbosity in #ifdef
2869         blocks.
2870
2871         * util/magnifier.c:
2872         * util/mag_image.h:
2873         Implemented some more of the magnifier IDL for the simple
2874         magnifier: namely, getZoomRegionParams. 
2875         Added mag_x and mag_y members to MagnifierData struct, aid of this
2876         implementation.
2877         Added GtkWindow::realize signal handler to magnifier, to keep it
2878         from receiving keyboard focus from the WM.
2879
2880 2001-11-23  Mark McLoughlin  <mark@skynet.ie>
2881
2882         * cspi/spi-private.h: my guess at what michael forgot
2883         before he ran off to NZ :-)
2884
2885 2001-11-23  Michael Meeks  <michael@ximian.com>
2886
2887         * cspi/spi_event.c (AccessibleEventListener_removeCallback):
2888         comment out non existant method invoke so we link.
2889
2890         * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
2891         use bonobo_exception_get_text for more friendly warnings.
2892
2893         * cspi/spi.c (Obj_Add): move into spi_main & rename
2894         spi_object_add; kill spi.c
2895
2896         * cspi/spi_registry.c
2897         (deregisterGlobalEventListener),
2898         (deregisterGlobalEventListenerAll),
2899         (registerGlobalEventListener): fix exception leaks.
2900
2901         * cspi/spi_main.c (spi_exception): impl. helper, so we
2902         don't leak exceptions.
2903
2904         * cspi/spi_selection.c
2905         (AccessibleSelection_deselectSelectedChild): return the
2906         success state.
2907
2908         * cspi/spi_main.c (spi_ev): impl; hack - gack.
2909         (spi_registry): ditto.
2910         (SPI_init): guard against double inits.
2911
2912         * cspi/*.c: use spi_ev (), and spi_registry () where
2913         appropriate - a temporary hack until we have something
2914         better. Use spi_object_add
2915
2916 2001-11-22  Michael Meeks  <michael@ximian.com>
2917
2918         * cspi/Makefile.am: re organise, install the headers.
2919
2920         * cspi/*.h: add G_BEGIN/END_DECLS
2921
2922 2001-11-22  Bill Haneman  <bill.haneman@sun.com>
2923
2924         * test/simple-at.c:
2925         Added non-preemptive keylistener for key events with no modifiers
2926         and shift-only modifier.
2927
2928         * libspi/keystrokelistener.c:
2929         Removed some verbose diagnostics printout.
2930
2931         * cspi/spi_registry.c:
2932         Fixed a bug that caused all key listeners to be registered as
2933         pre-emptive.
2934         
2935         * libspi/deviceeventcontroller.c:
2936         Fixed bug that caused XGrabKey (preemptive key grab) to be called
2937         for non-preemptive key masks.
2938
2939
2940 2001-11-22  Bill Haneman  <bill.haneman@sun.com>
2941
2942         * docs/reference/idl/at-spi-idl-docs.sgml:
2943         * docs/reference/idl/at-spi-idl-sections.txt:
2944         * docs/reference/idl/at-spi-idl-overrides.txt:
2945         Added missing files.
2946
2947         * docs/reference/Makefile.am:
2948         removed idl from SUBDIRS until we can figure a way to get gtk-doc
2949         to scan the IDL files :-(
2950
2951         * docs/reference:
2952         * docs/cspi:
2953         * docs/idl:
2954         Added .cvsignore files.
2955         
2956 2001-11-21  Bill Haneman  <bill.haneman@sun.com>
2957
2958         * libspi/deviceeventcontroller.c:
2959         * libspi/keystrokelistener.c:
2960         * cspi/spi_event.c:
2961         * cspi/spi_registry.c:
2962         Added filters for KeySets, KeyEventSeq, and event types to key
2963         event dispatching, so listeners should only receive those events
2964         that they requested :-)
2965
2966 2001-11-21  Bill Haneman  <bill.haneman@sun.com>
2967
2968         * configure.in:
2969         * docs/Makefile.am:
2970         * docs/reference:
2971         * docs/reference:Makefile.am:
2972         * docs/reference/cspi:
2973         * docs/reference/cspi:Makefile.am:
2974         * docs/reference/cspi:tmpl:
2975         * docs/reference/cspi:tmpl:*.sgml:
2976         * docs/reference/idl:
2977         * docs/reference/idl:Makefile.am:
2978         * docs/reference/idl:at-spi-idl-sections.txt:
2979         * docs/reference/idl:at-spi-idl-docs.sgml:
2980         * docs/reference/idl:tmpl:
2981         * docs/reference/idl:tmpl:*.sgml:
2982
2983         Restructured docs directory to allow separate 'reference' docs
2984         section, and forked idl and cspi docs.  Added the sgml template
2985         files to CVS.  Added the first sections/structural sgml for the
2986         IDL docs.
2987
2988 2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
2989
2990         * configure.in, libspi/Makefile.am: find libXtst.
2991
2992 2001-11-21  Michael Meeks  <michael@ximian.com>
2993
2994         * test/accessx-gui.c: s/spi_value/value/ - doh.
2995
2996         * libspi/base.[ch]: add.
2997
2998 2001-11-18  Bill Haneman <bill.haneman@sun.com>
2999
3000         * idl/Accessible.idl:
3001         * idl/Application.idl:
3002         * idl/Registry.idl:
3003         * idl/Action.idl:
3004         Started gtk-doc cleanup on IDL.
3005
3006         * libspi/deviceeventcontroller.c:
3007         Added and connected non-preemptive key notification from the
3008         toolkits (in addition to the pre-emptive support from XServer
3009         which we had before, but which causes 'focus flashing').  Filters
3010         are presently limited to key modifiers and global/non-global,
3011         KeySets are presently ignored, as are KeyEvent masks.
3012
3013         Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
3014         structs into the persistant structure rather than just storing
3015         pointers to things that might not persist across servant
3016         invocations.
3017
3018         The XGrabKey call now does async keygrabs, because synchronous
3019         ones were deadlocking with GDK_event code in a very nasty way.
3020
3021         Added boolean to internal method notify_keylisteners, to indicate
3022         whether the event came from the 'toolkit source' or the 'global
3023         (XServer) source' - this is used in the notification process to
3024         determine which listeners to send the event to.
3025
3026         deviceeventcontroller.c is now warning-free.
3027         
3028         * libspi/registry.c:
3029         Fixed regression in application de-registration.
3030         Also fixed some really brain-dead weirdness having to do with
3031         event dispatching - event structs are now duplicated before being
3032         re-marshalled in the dispatch to listeners.  This also fixes a
3033         Solaris build problem.
3034         
3035         
3036 2001-11-20  Michael Meeks  <michael@ximian.com>
3037
3038         * libspi/registry.c
3039         (impl_accessibility_registry_deregister_global_event_listener): 
3040         segv. protection.
3041
3042         * libspi/deviceeventcontroller.c
3043         (spi_device_event_controller_check_key_event): return
3044         FALSE on no virtual method.
3045
3046         * libspi/*..h: make includes work on a correctly pathed install.
3047
3048         * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
3049
3050         * libspi/application.h: kill unused ( and whacked out )
3051         gboolean *spi_application_set_id (AtkObject *app, long id);
3052
3053 2001-11-20  Michael Meeks  <michael@ximian.com>
3054
3055         * libspi/*.[ch]: further convert to bonobo's type func
3056         macros, remove redundnant casts etc.
3057
3058         * libspi/text.c s/accessibility_text/spi_text/g,
3059         re-order to de-cruft.
3060
3061         * libspi/hypertext.c: re-order to kill a huge slew
3062         of redundant forward decls.
3063
3064         * libspi/relation.c: ditto.
3065
3066         * libspi/image.c: ditto.
3067
3068         * */.cvsignore: update
3069         
3070 2001-11-20  Michael Meeks  <michael@ximian.com>
3071
3072         * libspi/deviceeventcontroller.c
3073         (_controller_register_with_devices): use g_getenv,
3074         kill stdlib.h include.
3075
3076         * libspi/keystrokelistener.c
3077         (spi_keystroke_listener_get_type): kill
3078         (spi_keystroke_listener_class_init),
3079         (spi_keystroke_listener_init): rename to this.
3080
3081         * libspi/text.c (impl_getAttributes): fix warning / bug.
3082
3083         * libspi/*.[ch]: more headers, includes and over commenting.
3084         
3085 2001-11-20  Michael Meeks  <michael@ximian.com>
3086
3087         * libspi/*.[ch]: fixup headers, includes and over commenting.
3088
3089         * libspi/image.c (impl__get_imageDescription): const
3090         correctness warning fix. remove redundant casting.
3091
3092         * libspi/table.c (impl_getRowDescription): ditto.
3093         (impl_getColumnDescription): ditto.
3094
3095         * libspi/libspi.h: add.
3096
3097 2001-11-19  Michael Meeks  <michael@ximian.com>
3098
3099         * libspi/editabletext.c (impl_setAttributes): fix warnings.
3100
3101         * libspi/component.c (accessibility_component_get_type): 
3102         rename to (spi_component_get_type): and macroify.
3103         (accessibility_component_init): rename to
3104         (spi_component_init): this
3105         (accessibility_component_class_init): rename to
3106         (spi_component_class_init): this
3107
3108         * libspi/action.c (spi_action_get_type): kill, use the macro.
3109
3110         * libspi/deviceeventcontroller.c (_compare_listeners): re-order
3111         to avoid prototype.
3112
3113         * libspi/application.c (spi_application_object_event_listener),
3114         (impl_accessibility_application_register_object_event_listener):
3115         warning fixes / const understanding updates.
3116
3117         * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
3118         warning fixes.
3119
3120 2001-11-18  Bill Haneman <bill.haneman@sun.com>
3121
3122         * libspi/spi_accessible.c: Added docs and C bindings for
3123         AccessibleStateSet. (No implementations yet).  Documentation
3124         coverage for C bindings now 100%. Made docs for event listeners
3125         more explicit.
3126         
3127         * idl/Registry.idl:
3128         Added methods 
3129             boolean notifyListenersSync (in DeviceEventListener listener,
3130                                      in DeviceEvent event);
3131
3132             oneway void notifyListenersAsync (in DeviceEventListener listener,
3133                                           in DeviceEvent event);
3134
3135         Added DeviceEventListener and DeviceEvent structs (may deprecate
3136         KeyStroke and KeystrokeListener in favor of this generic
3137         event/listener framework for devices).
3138
3139         * libspi/deviceeventcontroller.c:
3140
3141         Changed some key listener code to take masks, etc., and paved the
3142         way for integration of toolkit/non-preemptive key events. Changed
3143         signatures of some internal methods.
3144
3145         * at-bridge/bridge.c:
3146         Fixed regression connecting to interface signals, apparently
3147         caused by GTK+ changes.
3148
3149         Added an internal bridge_state_listener to deal with
3150         property-change:accessible-state signals.
3151
3152         Changed the key_listeners GList to store structs (including masks,
3153         etc.) instead of just CORBA_Objects (required for full
3154         implementation of key listener API).
3155
3156         Connected the bridge to all currently supported Atk signals.
3157         Events now supported: 
3158             object:property-change
3159             object:property-change:accessible-name
3160             object:property-change:accessible-state
3161             object:property-change:accessible-description
3162             object:property-change:accessible-parent
3163             object:property-change:accessible-value
3164             object:property-change:accessible-role
3165             object:property-change:accessible-table-caption
3166             object:property-change:accessible-table-column-description
3167             object:property-change:accessible-table-column-header
3168             object:property-change:accessible-table-row-description
3169             object:property-change:accessible-table-row-header
3170             object:property-change:accessible-table-summary
3171             object:children-changed
3172             object:visible-data-changed
3173             object:selection-changed
3174             object:text-selection-changed
3175             object:text-changed
3176             object:text-caret-moved
3177             object:row-inserted
3178             object:row-reordered
3179             object:row-deleted
3180             object:column-inserted
3181             object:column-reordered
3182             object:column-deleted
3183             object:model-changed        
3184
3185 2001-11-16  Bill Haneman <bill.haneman@sun.com>
3186
3187         * libspi/hyperlink.c,h:
3188         Fixed some broken stuff in hyperlink.
3189         
3190         * libspi/relation.h:
3191         * libspi/relation.c:
3192         * cspi/spi_accessible.c:
3193         Initial implementations of AccessibleRelation methods, and docs.
3194
3195         * libspi/accessible.c:
3196         Fixed a bug that caused SEGV  if an accessible
3197         object's description is NULL, and a client
3198         requests it.  An empty string is now returned.
3199
3200         * cspi/spi_editabletext.c:
3201         * cspi/spi_hypertext.c:
3202         * cspi/spi_image.c:
3203         * cspi/spi_hyperlink.c:
3204         * cspi/spi_table.c:
3205         Added docs.  
3206
3207         Doc coverage now 95%.
3208
3209 2001-11-16  Bill Haneman <bill.haneman@sun.com>
3210
3211         One last namespacing revision:
3212         * libspi/accessibleeventlistener.[ch]:
3213         Renamed SpiAccessibleEventListener to SpiEventListener,
3214         (no need for two namespaces ;-)
3215
3216         And lots of documentation fixes:
3217
3218         * docs/at-spi-docs.sgml:
3219         Fixed 'underscore vs. hyphen' bug that was preventing
3220         the gtk-doc API docs from being automatically generated.
3221
3222         * cspi/spi-impl.h
3223         * cspi/spi-listener.h
3224         * cspi/spi.h
3225         * cspi/spi_accessible.c
3226         * cspi/spi_action.c
3227         * cspi/spi_application.c
3228         * cspi/spi_component.c
3229         * cspi/spi_editabletext.c
3230         * cspi/spi_event.c
3231         * cspi/spi_hypertext.c
3232         * cspi/spi_main.c
3233         * cspi/spi_registry.c
3234         * cspi/spi_selection.c
3235         * cspi/spi_text.c
3236         * cspi/spi_value.c
3237         * docs/Makefile.am
3238         * docs/at-spi-docs.sgml
3239         * docs/at-spi-sections.txt
3240         
3241         Added and fixed up gtk-doc documentation in cspi.
3242         
3243         Interfaces now (fully) documented (subject to revision and enhancement):
3244         SPI_main
3245         Event Listener Support
3246         Registry API
3247         AccessibleApplication
3248         Accessible
3249         AccessibleAction
3250         AccessibleComponent
3251         AccessibleEditableText
3252         AccessibleSelection
3253         AccessibleText
3254         AccessibleValue
3255
3256         still pending:
3257         AccessibleStateSet
3258         AccessibleRelationSet
3259         AccessibleImage
3260         AccessibleTable
3261         AccessibleHyperlink
3262         
3263 2001-11-14  Bill Haneman <bill.haneman@sun.com>
3264
3265         * at-bridge/bridge.c:
3266         Initial work for toolkit-level key snooper connection by bridge.
3267
3268         * cspi/spi-impl.h:
3269         * cspi/spi_*.h:
3270         * cspi/spi_*.c:
3271         New typedefs and fixes to support new namespacing, and cleaner
3272         separation of cspi bindings from libspi bonobo implementation.  
3273         Removed inconsistent and extraneous Spi* namespace prefix that
3274         had crept into cspi headers.
3275         Lots of comment fixes that sed had missed.
3276
3277         * cspi/spi-roletypes.h:
3278         * cspi/spi-statetypes.h:
3279         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
3280         to AccessibleRoleType.
3281         
3282         * libspi/accessibleeventlistener.h:
3283         Fixed minor namespacing weirdness.
3284
3285         * libspi/deviceeventcontroller.c:
3286         Reordered some internal API for device listeners.
3287         Changed the key registry final boolean to 'is_system_global'
3288         rather than 'is_synchronous', which is more descriptive of its 
3289         actual meaning.
3290         Added spi_device_event_controller_new().
3291         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
3292          
3293         * libspi/keystrokelistener.[ch]:
3294         Namespaced KeystrokeListener to SpiKeystrokeListener.
3295         Changed uses of keymasks to use SPI_ prefix, and did other
3296         knock-on fixups.
3297
3298         * libspi/keymasks.h:
3299         Namespaced keymask constants with SPI_ prefix.
3300
3301         * libspi/registry.c:
3302         Some warning fixes, and knock-on fixes from namespace changes.
3303
3304         * test/Makefile.am:
3305         Added rules for accessx-gui test program.
3306
3307         * test/accessx-gui.c:
3308         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
3309         utility.  It doesn't actually use at-spi, but it's still cool and
3310         useful ;-)
3311
3312         * test/keysynth-demo.c:
3313         * test/simple-at.c:
3314         * test/at.c:
3315         * test/app.c:
3316         Fixes so that these test clients work properly with the namespaced
3317         libraries. (Incompletely tested for technical reasons, fixes may follow)
3318         
3319
3320 2001-11-13  Michael Meeks  <michael@ximian.com>
3321
3322         * libspi/application.c
3323         (impl_accessibility_application_get_version),
3324         (impl_accessibility_application_get_toolkit_name):
3325         warning fixes.
3326         (impl_accessibility_application_set_id),
3327         (impl_accessibility_application_get_id): remove
3328         redundant casting code.
3329
3330         * libspi/action.c (impl_getDescription): fix warnings.
3331
3332         * libspi/accessible.c
3333         (impl_accessibility_accessible_get_parent),
3334         (impl_accessibility_accessible_get_child_at_index),
3335         (impl_accessibility_accessible_get_state),
3336         (impl_accessibility_accessible_get_relation_set):
3337         warning fixes & include action.h
3338
3339 2001-11-13  Michael Meeks  <michael@ximian.com>
3340
3341         * *.[ch] fix bits I screwed up:
3342
3343                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
3344                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
3345         
3346 2001-11-13  Michael Meeks  <michael@ximian.com>
3347
3348         * *.[ch] Namespace libspi into spi_ and Spi.
3349
3350 2001-13-11  Michael Meeks  <michael@ximian.com>
3351
3352         * Makefile.am: dist & install at-spi-1.0.pc
3353
3354         * libspi/Makefile.am: install into at-spi-1.0
3355
3356         * idl/Makefile.am (idldir): install into at-spi-1.0
3357
3358         * at-spi-1.0.pc.in: add.
3359
3360         * configure.in: build it.
3361
3362 2001-11-12  Bill Haneman <bill.haneman@sun.com>
3363
3364         * test/keysynth-demo.c:
3365         Use a 'realize' signal-handler to set the WM properties for
3366         the virtual keyboard, rather than making it a "POPUP" type
3367         override-redirect window (thanks to anders carlsson for that
3368         tip!)
3369
3370 2001-11-11  Bill Haneman <bill.haneman@sun.com>
3371
3372         * test/Makefile.am:
3373         * test/keysynth-demo.c:
3374         Added new test of key synthesis, which creates a simple
3375         (mouse-operated) onscreen keyboard.  It inserts key events into
3376         the currently-focused window, thus it does not grab keyboard focus
3377         itself.
3378
3379         * cspi/spi_registry.c:
3380         Added C binding for AT-SPI generateKeyEvent.
3381
3382         * libspi/deviceeventcontroller.c:
3383         Added call to XFilterEvent so that key listener works with XIM (we
3384         hope).  Added event_synth_type to generateKeyEvent, so that we can
3385         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
3386         synthesize a press/release pair for KeySyms.    
3387         
3388 2001-11-09  Bill Haneman <bill.haneman@sun.com>
3389
3390         * libspi/Makefile.am: 
3391         * registryd/Makefile.am:
3392         (temporary) hack to include libXtst in libspi and registryd.
3393         (Needed for keystroke synthesis, see below).
3394
3395         * idl/Registry.idl:
3396         Improved API for registerKeystrokeListener, in accordance with
3397         discussions with Gnopernicus team and X server research.
3398
3399         * libspi/registry.c:
3400         * libspi/deviceeventcontroller.c:
3401         * libspi/accessible.c:
3402         * libspi/keystrokelistener.c:
3403         Changes and fixes to support keylisteners for potentially
3404         consumed key events (that is, 'passive grabs').
3405         Added implementation for generateKeyEvent() [untested].
3406
3407         * cspi/spi.h:
3408         Changes to registerKeystrokeListener() API, as above.
3409         Added deregisterGlobalEventListenerAll(), and 
3410         deregisterKeystrokeListener(), which are needed for clean exit of
3411         clients.
3412         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
3413         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
3414         
3415         * cspi/spi_registry.c:
3416         Added implementations of function prototypes mentioned above.
3417         
3418         * registryd/registryd.c:
3419         Added the key listener event source as a g_timeout(), to allow
3420         receipt of key events that are not caught by GDK (since GDK
3421         doesn't support passive keygrabs, this was necessary).
3422
3423         * test/simple-at.c:
3424         Changed to attach a keylistener to 'Alt' keys, and
3425         respond to the following keycommands: Alt-M (toggle magnifier);
3426         Alt-F (toggle speech); Alt-Q (quit).
3427         Added an exit routine to deregister the listeners, and a key
3428         listener that prints some key info to the console when a key
3429         matches the listener mask (and is thus received by the listener).
3430         
3431         * util/idl/Magnifier.idl:
3432         Changes to magnifier API to support multiple zoom regions,
3433         non-uniform scaling in x and y, markDirty, and a host of other
3434         features that would be useful to magnification.
3435
3436         * util/mag_image.h:
3437         * util/mag_client.c:
3438         * util/mag_client.h:
3439         * util/mag_control.c:
3440         * util/magnifier.c:
3441         Source code changes to support the above IDL changes.
3442         
3443         * util/mag_image.c:
3444         As above, and also changes to use a (slower) generic conversion
3445         path for colormap conversions, since the fast RGB conversions have been
3446         reported to fail for 16-bit displays.
3447
3448 2001-10-26  Michael Meeks  <michael@ximian.com>
3449
3450         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
3451
3452 2001-10-26  Laszlo Peter <laca@ireland.sun.com>
3453
3454         * at-bridge/Makefile.am: fix LDFLAGS.
3455
3456 2001-10-09  Bill Haneman <bill.haneman@sun.com>
3457
3458         * at-bridge/bridge.c:
3459         Re-worked listeners for toolkit events, now we have signal
3460         and property listeners. Added a private method
3461         register_atk_event_listeners(), which registers with the
3462         various atk and gtk signals we need to monitor in order to emit
3463         our at-spi events.
3464         Added emission hook for AtkObject:property-change events, to
3465         support the 'property listeners'.
3466         Fixed some alloc()s of Accessibility_Event structs to use CORBA
3467         allocation.
3468
3469         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
3470         which emit warnings and exit, respectively, if CORBA errors occur
3471         during remote calls, and we now use these methods to check most of
3472         our CORBA calls in the C bindings.
3473
3474         * cspi/spi_accessible.c:
3475         Changed AccessibleSelection_refSelectedChild() to
3476         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
3477         now increment refcounts.
3478
3479         * cspi/spi_component.c:
3480         Fixed some long pointer casts (dangerous!) to pass pointers to
3481         CORBA_longs of the proper type to the CORBA stubs, and copy the
3482         data into the longs that were passed into the C bindings code.
3483         
3484         * at-bridge/bridge.c:
3485         
3486         * libspi/accessible.c:
3487         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
3488         hyperlinks, AtkHyperlink is an object type.     
3489
3490         * libspi/application.c:
3491         Added various conversions to and from "generic" event types and
3492         atk-specific types; this is really part of the 'bridge'
3493         implementation but is valid for all AtkObject-based accessibility 
3494         implementations.
3495
3496         * libspi/editabletext.c:
3497         Fixed nasty bug wherein editable text's finalize method was
3498         unref'ing tha AtkObject reference that the text parent class was
3499         about to unref _again_.  There was also a nasty inheritance bug
3500         that meant that the AccessibleEditableText class was corrupt.
3501
3502         * libspi/selection.c:
3503         Provided implementations for some selection API that was broken.
3504         
3505         * idl/Application.idl:
3506         Added registerObjectEventListener () method.
3507
3508         * THROUGHOUT:
3509         Fixed a number of return values that were Bonobo_Unknowns from
3510         bonobo_object_corba_objref(), which I
3511         forgot to dup before returning.  Changed instances of 
3512         bonobo_object_corba_objref (bonobo_object(o)) to
3513         BONOBO_OBJREF(o), for concision and clarity.
3514         
3515 2001-10-13  Louise Miller <louise.miller@sun.com>
3516
3517         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
3518         idl/Event.idl, idl/Registry.idl
3519         Changed these files to include Bonobo_Unknown.idl instead
3520         of Bonobo.idl
3521
3522 2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
3523
3524         * libspi/component.c libspi/component.h:
3525                 Fixed typo.  Added assertions for object checks in 
3526         AccessibleComponent code.
3527
3528 2001-10-09  Bill Haneman <bill.haneman@sun.com>
3529
3530         * idl/Accessible.idl:
3531                 Added 'isEqual (Accessible *object)' 
3532         method for Accessible. (Not Yet Implemented).
3533         
3534         * idl/Registry.idl:
3535                 Changed signature of registerKeystrokeListener() to
3536         take a KeySet and KeyEventSeq so that specific keys and event
3537         types could be requested for monitoring, and added a flag
3538         is_synchronous so that either synchronous or asynchronous
3539         notification could be requested.  (However this is not all
3540         implemented yet). This also meant adding two new typedefs,
3541         KeyEventSeq and KeySet.
3542
3543         * idl/Relation.idl: 
3544                 Added two new relations, RELATION_TOOLTIP_FOR and
3545         RELATION_LEAFNODE_OF.
3546
3547         * idl/State.idl:
3548                 Added new state, STATE_HAS_TOOLTIP.
3549         
3550         * libspi/text.c, editabletext.c:
3551                 Added new assertions to all casts of bonobo-objects from
3552         CORBA servants, to prevent Text API calls on non-text objects.
3553                 Changed suspect casts of int-pointer types, so that we
3554         always send a valid CORBA_long pointer to the CORBA APIs that use
3555         in/out long parameters.  We then have to copy from the CORBA_long
3556         into the regular long or int for return to the C bindings, or
3557         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
3558         
3559         * cspi/spi_text.c:
3560         * libspi/deviceeventcontroller.c:
3561                 Cleaned these sources up.
3562         * idl/Text.idl:
3563                 Changed return type for getCharacterAtOffset to
3564         CORBA_unsigned_long, to allow for 32-bit characters.
3565         
3566                 
3567 2001-10-08  Bill Haneman <bill.haneman@sun.com>
3568
3569         * util/Makefile.am:
3570         * idl/Makefile.am:
3571                 Fixed 'make dist' so that distro compiles...
3572         * libspi/keymasks.h:
3573                 new file.
3574         * cspi/spi-listener.c:
3575                 KeystrokeListenerCB now returns a boolean.
3576         * cspi/spi.h:
3577                 Added KeyEventType struct, and KeyStroke.
3578                 Also added createKeystrokeListener(),
3579         KeystrokeListener_addCallback(),
3580         KeystrokeListener_removeCallback(), and added a keymask to
3581         registerKeystrokeListener().
3582         * cspi/spi_accessible.c:
3583                 Changed numerous return types for interfaces from
3584         AccessibleComponent to Accessible<InterfaceName>; this was
3585         probably a cut-and-paste error.
3586         * cspi/spi_event.c:
3587                 Implementations of new KeystrokeListener api (from spi.h,
3588         above).
3589         * idl/Registry.idl:
3590                 Changes to key modifier mapping.
3591                 Created ControllerEventMask struct.
3592                 Made DeviceEventController derive from Bonobo::Unknown.
3593         * idl/Text.idl:
3594                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
3595         * libspi/deviceeventcontroller.c:
3596                 Added a number of new internal (private) methods.
3597         * libspi/editabletext.c:
3598         * libspi/editabletext.h:
3599                 Fixed a number of bugs related to the fact that
3600         editabletext inherits from text.  Fixed the EditableText struct,
3601         the init() call, and use correct casts when calling Text methods
3602         from an EditableText object.  Removed (duplicate) atko from the
3603         EditableText structure, we use the one in the parent Text
3604         structure via the casts mentioned above.
3605         * libspi/keystrokelistener.[ch]:
3606         * libspi/registry.c:
3607                 Changes in support of keyboard handling (above).
3608         
3609         Keyboard handling, though partly functional, is still not
3610         recommended for at-spi client use as there is considerable 
3611         work yet to be done.
3612
3613         * libspi/text.c:
3614                 Changed some places where pointers to various int types
3615         are cast to be pointers to CORBA_long types and vice-versa:
3616         pointer casting is not safe so we pass pointers of the correct
3617         types and then cast the result before putting it into the target
3618         pointers.
3619
3620         * libspi/text.h: minor typos corrected.
3621         * test/simple-at.c: 
3622                 We now speak not only the name of a Text element, but the
3623         first sentence of its content, when it receives focus.
3624                 I also changed the text compression to 75% from 50%.
3625         * util/Accessibility_Util.server.in:
3626                 Changed the default magnifier type to be a 3x vertical
3627         splitscreen magnifier (was previously a 2x horizontal one).
3628
3629 2001-10-03  Bill Haneman <bill.haneman@sun.com>
3630
3631         * libspi/keystrokelistener.h:
3632         * libspi/keystrokelistener.c:
3633                 Initial functional implementations of KeystrokeListener.
3634         * idl/Registry.idl:
3635         
3636 2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
3637
3638         Fixed string handling for NULL strings in libspi.
3639         Added spi_freeString to free strings returned by C bindings.
3640
3641 2001-09-30  Bill Haneman <bill.haneman@sun.com>
3642
3643         * libspi/keystrokelistener.h:
3644         * libspi/keystrokelistener.c:
3645                 Began (no-op) implementations of KeystrokeListener
3646                         (see below).
3647         * libspi/deviceeventcontroller.c:
3648         * libspi/deviceeventcontroller.h:
3649                 Began creating implementations of DeviceEventController,
3650                         to handle keystroke and mouse event listening and
3651                         synthesis.
3652         * libspi/accessible.c:
3653                 Stubbed-in the implementations for
3654                         Accessibility_Accessible_getState and
3655                         Accessibility_Accessible_getRelationSet.
3656         * libspi/registry.c:
3657                 Improved de-registration process and fixed some bugs, 
3658                         deregistration now works correctly.
3659         * libspi/desktop.c:
3660                 Added initialization of applications list (to NULL).
3661         * util/magnifier.c:
3662                 Reduced speech compression from 0.5 to 0.7, for demo.
3663                 Changed call to gdk_window_set_decorations()
3664                         to gtk_window_set_decorated().
3665         * at-bridge/bridge.c:
3666                 Bridge now deregisters when app exits, via
3667                         registration of a cleanup function
3668                         with the g_atexit() call.
3669                         Required making 'app' static, renamed 'this_app'.
3670                 Fixed broken use of bonobo_init, passing argv wrongly.
3671
3672 2001-09-27  Bill Haneman <bill.haneman@sun.com>
3673
3674         * util:
3675         * util/Makefile.am: 
3676                 Created a new directory for 
3677                         accessibility-related utilities, primarily for
3678                         testing and demo purposes, but with possible
3679                         end-user utility.
3680         
3681         * util/magnifier.c:
3682         * util/magnifier.h:
3683         * util/mag_image.c:
3684         * util/mag_image.h:
3685                 Onscreen magnifier utility that
3686                         is implemented as a bonobo service.
3687         
3688         * util/mag_client.c:
3689         * util/mag_client.h:
3690                 Client-side support (simple C bindings) 
3691                         for Magnification service
3692         
3693         * util/mag_control.c:
3694                 Client program example for 
3695                         Magnification service
3696         
3697         * util/Accessibility_Magnifier.server.in:
3698                 Bonobo-activation file for the 
3699                         Magnification service.
3700         
3701         * util/idl:
3702         * util/idl/Magnifier.idl:
3703                 IDL defining the bonobo Magnification
3704                         service interface.
3705
3706         * test/simple-at.c:
3707                 Modifications to use the bonobo-activated magnifier
3708                         above, in place of trying to connect to an existing
3709                         magnifier that uses socket-listening IPC.
3710
3711                 If env variable MAGNIFIER is set, a magnifier service
3712                         will be started if one does not exist.
3713         
3714 2001-09-25  Bill Haneman <bill.haneman@sun.com>
3715
3716         * at-bridge/bridge.c:
3717                 applied patch from Marc to build and run 
3718                 against new glib and gtk+ (seemed like a change 
3719                 to bonobo_init signature was made ?)
3720         * test/simple-at.c:
3721                 made festival-server support turned off by default.
3722                 Added support for a simple magnifier (off by default)
3723                 which will be added to a 'util' directory later.
3724         * at-bridge/Makefile.am:
3725                 Changed "application.h" header from a 'source'
3726                 to a 'dependency' of libat-bridge.
3727
3728 2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
3729
3730         * cspi/Makefile.am:
3731                 Added spi-util.c.
3732
3733         * cspi/spi-util.c:
3734                 Fixed typo
3735
3736         * cspi/spi.c:
3737                 Added interface implementation c files to list of
3738                         includes so they are included in libcspi.
3739
3740         * cspi/spi.h:
3741                 Changed prototype of AccessibleAction_doAction to return a
3742                         boolean.
3743                 Changed prototype of AccessibleTable_getCaption to
3744                         return an Accessible.
3745                 Changed prototype of AccessibleTable_getSelectedRows
3746                         and AccessibleTable_getSelectedColumns to
3747                         return a long (returns the number of selected rows
3748                         or columns respectively).
3749                 Changed name of AccessibleText_refRunAttributes to
3750                         AccessibleText_getAttributes.
3751                 Changed prototype of AccessibleText_getCharacterExtents to
3752                         return a void rather than a boolean. 
3753                 Added support for a AccessibleCoordType parameter
3754                         specifying what type of coordinates are desired.
3755                 Added an AccessibleCordType parameter to
3756                         AccessibleText_getPointAtOffset.
3757
3758         * cspi/spi_accessible.c:
3759                 Added code to return the outstanding interfaces from
3760                         Accessible_queryInterface.
3761
3762         * cspi/spi_action.c:
3763                 Fixed typos.
3764                 Corrected call to getNActions to call the c binding
3765                         for an attribute.
3766
3767         * cspi/spi_editabletext.c:
3768                 Fixed typos.
3769                 Changed name from setRunAttributes to setAttributes.
3770
3771         * cspi/spi_hyperlink.c:
3772                 Fixed typos.
3773                 Changed call to getNAnchors to correctly call the c
3774                         binding for an attribute.
3775
3776         * cspi/spi_hypertext.c:
3777                 Fixed typos.
3778                 Changed getImageDescription to correctly call the
3779                         binding for an attribute.
3780
3781         * cspi/spi_selection.c:
3782                 Changed getNSelectedChildren to correctly call the c
3783                         binding for the attribute.
3784                 Changed refSelectedChild to getSelectedChild.
3785
3786         * cspi/spi_table.c:
3787                 Fixed typos.
3788                 Changed getCaption to return an Accessible.
3789                 Fixed calls which retrieve attributes.
3790                 Changed refAt to getAccessibleAt.
3791                 Changed getNSelectedRows and getNSelectedColumns to
3792                         return longs.
3793
3794         * cspi/spi_text.c:
3795                 Changed getCharacterExtents and getPointAtOffset to accept an
3796                         AccessibleCoordType.
3797                 Fixed typos.
3798                 Changed calls which retrieve attributes.
3799                 Changed refRunAttributes to getAttributes.
3800
3801         * cspi/spi_value.c:
3802                 Fixed typos.
3803
3804         * idl/Hyperlink.idl:
3805                 Changed n_anchors attribute to nAnchors to keep naming
3806                         convention consistent.
3807
3808         * idl/Table.idl:
3809                 Made Table inherit from Bonobo::Unknown.
3810                 Added nSelectedColumns and nSelectedRows attributes.
3811
3812         * idl/Value.idl:
3813                 Made Value inherit from Bonobo::Unknown.
3814
3815         * libspi/hyperlink.c:
3816                 Change for nAnchors attributte name change.
3817
3818 2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
3819         * cspi/Makefile.am:
3820                 Added spi-util.c.
3821
3822         * cspi/spi-util.c:
3823                 Fixed typo
3824
3825         * cspi/spi.c:
3826                 Added interface implementation c files to list of
3827                         includes so they are included in libcspi.
3828
3829         * cspi/spi.h:
3830                 Changed prototype of AccessibleAction_doAction to return a
3831                         boolean.
3832                 Changed prototype of AccessibleTable_getCaption to
3833                         return an Accessible.
3834                 Changed prototype of AccessibleTable_getSelectedRows
3835                         and AccessibleTable_getSelectedColumns to
3836                         return a long (returns the number of selected rows
3837                         or columns respectively).
3838                 Changed name of AccessibleText_refRunAttributes to
3839                         AccessibleText_getAttributes.
3840                 Changed prototype of AccessibleText_getCharacterExtents to
3841                         return a void rather than a boolean. 
3842                 Added support for a AccessibleCoordType parameter
3843                         specifying what type of coordinates are desired.
3844                 Added an AccessibleCordType parameter to
3845                         AccessibleText_getPointAtOffset.
3846
3847         * cspi/spi_accessible.c:
3848                 Added code to return the outstanding interfaces from
3849                         Accessible_queryInterface.
3850
3851         * cspi/spi_action.c:
3852                 Fixed typos.
3853                 Corrected call to getNActions to call the c binding
3854                         for an attribute.
3855
3856         * cspi/spi_editabletext.c:
3857                 Fixed typos.
3858                 Changed name from setRunAttributes to setAttributes.
3859
3860         * cspi/spi_hyperlink.c:
3861                 Fixed typos.
3862                 Changed call to getNAnchors to correctly call the c
3863                         binding for an attribute.
3864
3865         * cspi/spi_hypertext.c:
3866                 Fixed typos.
3867                 Changed getImageDescription to correctly call the
3868                         binding for an attribute.
3869
3870         * cspi/spi_selection.c:
3871                 Changed getNSelectedChildren to correctly call the c
3872                         binding for the attribute.
3873                 Changed refSelectedChild to getSelectedChild.
3874
3875         * cspi/spi_table.c:
3876                 Fixed typos.
3877                 Changed getCaption to return an Accessible.
3878                 Fixed calls which retrieve attributes.
3879                 Changed refAt to getAccessibleAt.
3880                 Changed getNSelectedRows and getNSelectedColumns to
3881                         return longs.
3882
3883         * cspi/spi_text.c:
3884                 Changed getCharacterExtents and getPointAtOffset to accept an
3885                         AccessibleCoordType.
3886                 Fixed typos.
3887                 Changed calls which retrieve attributes.
3888                 Changed refRunAttributes to getAttributes.
3889
3890         * cspi/spi_value.c:
3891                 Fixed typos.
3892
3893         * idl/Hyperlink.idl:
3894                 Changed n_anchors attribute to nAnchors to keep naming
3895                         convention consistent.
3896
3897         * idl/Table.idl:
3898                 Made Table inherit from Bonobo::Unknown.
3899                 Added nSelectedColumns and nSelectedRows attributes.
3900
3901         * idl/Value.idl:
3902                 Made Value inherit from Bonobo::Unknown.
3903
3904         * libspi/hyperlink.c:
3905                 Change for nAnchors attributte name change.
3906
3907
3908 2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
3909
3910         implementations-- made server implementations own AtkObject pointers
3911         rather than their respective AtkInterrface pointers to fix
3912         refcounting.  AtkHyperlink is still broken.
3913
3914 2001-09-04  Bill Haneman <bill.haneman@sun.com>
3915         * cspi/spi_accessible.c:
3916                 Added method Accessible_Role_getName(),
3917                         and requisite string array (role_names).
3918                 Added conversion string_from_corba_strin() call
3919                         to Accessible_getName and _getDescription.
3920         * libspi/accessible.c:
3921                 Added implementation for Accessible_getRole()
3922         * test/simple-at.c:
3923                 Added festival support, used if environment variable
3924                         FESTIVAL is set.
3925         
3926 2001-09-04  Bill Haneman <bill.haneman@sun.com>
3927
3928         * at-bridge/bridge.c:
3929             Now allocate Accessibility_Event using
3930             Accessibility_Event__alloc() instead of g_new0().
3931         * libspi/accessibleeventlistener.c:
3932             Initialize AccessibleEventListener->callbacks to NULL.
3933             Fixed accessible__event_listener_init() param, changed to
3934             "AccessibleEventListener *" type.
3935             Changed a bonobo_object_release_unref() call to
3936             Accessibility_Accessible_unref().
3937         * libspi/listener.c:
3938             Changed Bonobo_Unknown_unref to (equivalent) 
3939             Accessibility_Accessible_unref.
3940         * libspi/registry.c:
3941             Changed bonobo_object_release_unref to 
3942             Accessibility_Accessible_unref.
3943         
3944 2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
3945         
3946         * Added files:
3947             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
3948             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
3949             spi-util.c spi-util.h
3950             Implementations for C bindings to remaining accessibility 
3951             interfaces.
3952
3953 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
3954         
3955         * idl/Action.idl:
3956             changed return value of Action from void to boolean to 
3957             bring in line with ATK.
3958
3959         * idl/Text.idl:
3960             Changed getText funcions to return "out" start and end offsets.
3961             Changed getAttributes to take and offset and return the start 
3962             and end offset of the attribute run.
3963             Changed getOffsetAtPoint and getCharacterExtents to take an 
3964              enum describing whether coordinates are window or screen.
3965
3966         * Added files:
3967             libspi/action.c libspi/action.h libspi/editabletext.c 
3968             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
3969             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
3970             libspi/image.h libspi/selection.c libspi/selection.h
3971             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
3972             libspi/value.c libspi/value.h
3973             Added server implementations for outstanding ATK interfaces 
3974             not yet implemented.
3975  
3976 2001-09-04  Bill Haneman <bill.haneman@sun.com>
3977
3978         * idl/Action.idl:
3979                 Added (missing) getName() method. 
3980                 Made nActions an attribute.
3981         * idl/EditableText.idl:
3982                 Changed order of params in setAttributes.
3983         * idl/Hyperlink.idl:
3984                 Removed getAnchor, added getURI.
3985         * idl/Image.idl:
3986                 Changed attributes to methods, for efficiency
3987                 (so that getting extents can be done in one call)
3988         * idl/Selection.idl:
3989                 Changed nSelectedChildren to attribute, and re-indented.
3990         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
3991                 to attributes.
3992         * idl/Text.idl: reformatted to match our coding style.
3993                 (temporarily?) removed getRowColumnAtOffset().
3994                 Changed text selection API to support multi-select and
3995                 non-contiguous selections, as in ATK.
3996         * idl/Value.idl: changed some methods to attributes.
3997
3998 2001-08-24  Mark McLoughlin <mark@skynet.ie>
3999
4000         * libspi/listener.c(impl_notify_event):
4001         BonoboUnkown_unref the source instead
4002         of bonobo_object_release_unref - the ORB
4003         handles the releasing.
4004
4005         * configure.in: require ORBit-2.3.94 for
4006         this behaviour.
4007
4008 2001-08-21  Bill Haneman <bill.haneman@sun.com>
4009
4010         Tagged CVS repository 'EA_1_0'.
4011         * README.EARLY_ACCESS:
4012         Alphabetized acknowledgements list, and
4013         added someone.
4014         Listed some known dependencies of at-spi.
4015
4016 2001-08-20  Bill Haneman <bill.haneman@sun.com>
4017
4018         * docs/at-spi-docs.sgml:
4019         * docs/at-spi-sections.txt:
4020         * docs/at-spi-overrides.txt: (Added zero-length file)
4021         Documentation improvements - gtk-doc should build
4022         docs for all implemented C bindings now.
4023         * cspi/Makefile.am:
4024         * cspi/spi_main.c:
4025         * cspi/spi.c: (New file)
4026         * cspi/spi_event.c: (New file)
4027         * cspi/spi_registry.c: (New file)
4028         * cspi/spi_accessible.c: (New file)
4029         * cspi/spi_application.c: (New file)
4030         * cspi/spi_component.c: (New file)
4031         Split spi_main.c into six parts, and included them from
4032         "spi.c".  This is a bit of a hack, probably temporary,
4033         but required by gtk-doc, apparently.
4034         
4035 2001-08-20  Bill Haneman <bill.haneman@sun.com>
4036
4037         * docs/Makefile.am:
4038         * docs/at-spi-docs.sgml:
4039         * docs/at-spi-sections.txt:
4040         * configure.in:
4041         Initial checkins/modifications for gtk-doc generation.
4042         * cspi/spi.h:
4043         * cspi/spi.c:
4044         Added (missing) interface query methods to Accessible's C binding.
4045         * cspi/spi-impl.h:
4046         Added GenericInterface type definition.
4047         * test/simple-at.c:
4048         Added query for AccessibleComponent interface to focus event handler.
4049         Added printout of bounding box for focussed component.
4050         * libspi/component.c:
4051         Added partial implementation for AccessibleComponent to C binding.
4052         * idl/Application.idl:
4053         * libspi/registry.c:
4054         * libspi/listener.c:
4055         * libspi/application.c:
4056         * libspi/application.h:
4057         Changed "ID" attribute type from string to long.
4058
4059 2001-08-19  Bill Haneman <bill.haneman@sun.com>
4060
4061         * cspi/spi.h:
4062         * cspi/spi.c:
4063         Made method naming consistent: methods taking object args
4064         start with uppercase, other methods (except those using
4065         acronyms) start with lowercase.  Underscores delimit between
4066         object names and method names:
4067         SPI_init() - uppercase since it starts with an acronym.
4068         getDesktopCount () - lowercase start since no object param0.
4069         Accessible_getName() - uppercase object type name, studlyCaps method
4070                                name.
4071
4072         * cspi/spi.h:
4073         Added gtk-doc documentation for all currently implemented
4074         methods in the C bindings API.
4075
4076 2001-08-18  Bill Haneman <bill.haneman@sun.com>
4077
4078         * Makefile.am : changed build order to build test last.
4079         * cspi/spi.h :
4080         * cspi/spi_main.c :
4081         Changed "createEventListener" to "CreateEventListener".
4082         * libspi/accessibleeventlistener.c :
4083         Bugfix for addition of callbacks.
4084         * test/Makefile.am :
4085         * test/simple-at.c :
4086         Added new test that uses the C bindings API.
4087         * idl/Event.idl :
4088         * libspi/listener.c :
4089         * libspi/registry.c :
4090         * libspi/accessibleeventlistener.c :
4091         * at-bridge/bridge.c :
4092         Renamed member "target" of Accessibility_Event to "source",
4093         which is more descriptive.
4094         
4095
4096 2001-08-18  Bill Haneman <bill.haneman@sun.com>
4097
4098         * Makefile.am: 
4099         * configure.in :
4100         * cspi/Makefile.am :
4101         Added makefile support for at-spi/cspi directory.
4102         * cspi/spi.h : 
4103         * cspi/spi-impl.h :
4104         * cspi/spi-listener.h : (NEW FILE)
4105         Added support for/use of spi-listener.h.
4106         * cspi/spi_main.c :
4107         C bindings now build successfully, with no warnings.
4108         * libspi/accessibleeventlistener.h : (NEW FILE)
4109         * libspi/accessibleeventlistener.c : (NEW FILE)
4110         * libspi/Makefile.am :
4111         Added new object type "AccessibleEventListener"
4112         which inherits from Listener, and allows attachment
4113         of in-process callbacks (so that a client with a listening
4114         object instance can add functionality to the local 
4115         implementation, dynamically).
4116
4117 2001-08-18  Bill Haneman <bill.haneman@sun.com>
4118
4119         * libspi/accessible.c: 
4120         Add implementation for get_index_in_parent().
4121         * cspi/spi.h : 
4122         Added #include of "spi-roletypes.h", and
4123         added enumerated type AccessibleCoordType.
4124         Added definition for KeystrokeListener (function type).
4125
4126         ADDED FILES:
4127         * cspi/spi-statetypes.h :
4128         * cspi/spi-roletypes.h :
4129         * cspi/spi-impl.h :
4130         Added these headers, used by spi.h.
4131         * cspi/spi_main.c : 
4132         Added code (NOTE: not yet built by make).
4133
4134 2001-08-18  Mark McLoughlin <mark@skynet.ie>
4135
4136         * libspi/Makefile.am: generate imodule
4137         at the same time as other idl compiler 
4138         generated files. 
4139
4140 2001-08-17  Bill Haneman <bill.haneman@sun.com>
4141         * libspi/registry.c :
4142         * libspi/application.c :
4143         * idl/Application.idl :
4144         Made registration with toolkit an application method,
4145         which is required since each app has its own toolkit static
4146         environment.  Thus the bridge must register for 
4147         notification of toolkit events from each application in turn.
4148         Toolkit notifications are now successfully registered for, and
4149         sent to the listening at client.
4150         * test/at.c :
4151         Changed toolkit event string to use hyphens rather than underscores.
4152         * libspi/listener.c :
4153         listner now gives more info in debug mode - it reports the
4154         name of the event received, as well as the name of the source.
4155         
4156
4157 2001-08-16  Bill Haneman <bill.haneman@sun.com>
4158
4159         * libspi/registry.c :
4160         added more implementation for toolkit events.
4161         Fixed bug such that toolkit event registrations
4162         (via atk) use the whole event name string, not 
4163         just minor+detail.
4164         Removed a useless call to an ORBit_ method.
4165         * at-bridge/bridge.c :
4166         Removed unused local sbuf[] variable.
4167         * test/at.c :
4168         We now register for Gtk:GtkWidget:button_press_event 
4169         events as well as "focus:" events.
4170         * cspi/spi.h :
4171         Add some more API from Registry.idl that was missing,
4172         for keystroke listening, keystroke and mouse event
4173         synthesis, and enumeration of accessible desktops.
4174
4175 2001-08-16  Michael Meeks  <michael@ximian.com>
4176
4177         * configure.in: use AM_GLIB_GNU_GETTEXT.
4178
4179         * Makefile.am (SUBDIRS): kill intl.
4180
4181 2001-08-15  Michael Meeks  <michael@ximian.com>
4182
4183         * registryd/Makefile.am: s/oaf/server/ relocate info file.
4184
4185         * configure.in: upd.
4186
4187         * configure.in: depend on a recent bonobo-activation that
4188         will find our server files ...
4189
4190 2001-08-16  Bill Haneman <bill.haneman@sun.com>
4191
4192         * libspi/accessible.c : accessible_new() :
4193         Now we add the Component interface via bonobo_object_add_interface,
4194         if the contained AtkObject implements AtkComponent.
4195         * libspi/accessible.h : now include "component.h"
4196         * libspi/component.h :
4197         * libspi/component.c : added files - implementation of
4198         bonobo wrapper object for Accessibility/Component
4199         * libspi/listener.c :
4200         Added test code to check for Accessibility/Component:1.0
4201         interface and report whether it is implemented by the
4202         event source.
4203         * libspi/registry.c :
4204         Now we check for not only the hash of the whole event 
4205         string before relaying the event, we also check the
4206         "minor" event string (without the detail string).
4207         This allows event listeners to be registered against
4208         all events of a certain major+minor type, or just
4209         against a specific major+minor+detail type.
4210         * libspi/accessible.c :
4211         Added implementations for Accessible:get_parent(),
4212         Accessible:getChildCount(), and Accessible:getChildAtIndex().
4213         * libspi/registry.c :
4214         * libspi/listener.c :
4215         Replaced calls to Accessibility_Accessible_ref() and
4216         Accessibility_Accessible_unref() with 
4217         calls to bonobo_object_dup_ref() and 
4218         bonobo_object_release_unref(), so that the CORBA object
4219         is dup-ed and released when relayed, as well as the bonobo object.
4220
4221 2001-08-15  Mark McLoughlin <mark@skynet.ie>
4222
4223         * libspi/Makefile.am,
4224           registryd/Makefile.am,
4225           at-bridge/Makefile.am.
4226           test/Makefile.am, configure.in:
4227         reverse previous changes.
4228
4229         * /idl/Image.idl: fix typo.
4230
4231         * test/Makefile.am: put DEBUG_FLAGS
4232         in CFLAGS.
4233
4234 2001-08-15  Mark McLoughlin <mark@skynet.ie>
4235
4236         * test/app.c: use argv[0] instead of
4237         g_type_prgname.
4238
4239 2001-08-15  Mark McLoughlin <mark@skynet.ie>
4240
4241         * libspi/Makefile.am,
4242           registryd/Makefile.am,
4243           at-bridge/Makefile.am.
4244           test/Makefile.am, configure.in:
4245         cleanup, replace individual LIBS/CFLAGS with
4246         AT_COMMON_{LIBS|CFLAGS}.
4247
4248         * README: format.
4249
4250 2001-08-15  Mark McLoughlin <mark@skynet.ie>
4251         
4252         * configure.in, libspi/Makefile.am:
4253         Change IDL path checking for bonobo-activation
4254         as opposed to oaf.
4255
4256 2001-08-15  Bill Haneman <bill.haneman@sun.com>
4257
4258         * registryd/registry.c : separated event listeners to use
4259         3 separate lists (focus, window, toolkit).  Began testing
4260         event names against hashes before relaying events.
4261         * test/at.c : now register for events of type "focus:"
4262         * test/app.c : now generate events of type "focus:"
4263         * at-bridge/bridge.c : register with ATK for focus events,
4264         and we now relay those focus events to any "focus:" listeners.
4265         This now works with the bridge as a GTK_MODULE when running test/at.
4266         * libspi/registry.c :
4267         * libspi/listener.c : 
4268         now we ref event sources before propagating, and unref on receipt.
4269         * libspi/registry.c : 
4270         some changes to internal structs, to support event typestring hashes.
4271         * text/app.c : changed the way the appname is generated.
4272         * cspi : added directory that will hold the C bindings library for 
4273                 non-CORBA/bonobo-savvy clients.
4274         * cspi/spi.h : header file that contains the function prototypes for the C binding.
4275         * idl/Component.idl : added in parameter to indicate coord system for
4276                 geometry-related calls.
4277         * idl/Hyperlink.idl : added readonly n_links attribute
4278         * idl/Image.idl : changed methods to attributes.
4279         
4280 2001-08-15  Mark McLoughlin <mark@skynet.ie>
4281
4282         * at-bridge/Makefile.am: link against
4283         ../libspi/libspi.la instead of -lspi.
4284
4285         * at-spi/test/app.c: include 
4286         bonobo-activation.h. Use a default appname
4287         if one is not provided.
4288
4289 2001-08-14  Bill Haneman <bill.haneman@sun.com>
4290
4291         * idl/Registry.idl : temporarily changed register_Application
4292         to oneway, to work around issue with initial registration 
4293         re-entrancy.
4294         * idl/Application.idl : changed attribute "id" from readonly 
4295         to read-write, since it needs to be assigned by Registry.
4296         * registryd/registryd.c : added call to set application id 
4297         on registration.
4298         * registryd/registry.c : changed de-registration procedure to
4299         use CORBA_Object_hash() to find matching object ref in application
4300         lists and listener lists.
4301         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
4302         began distinguishing between event types (work in progress).
4303
4304 2001-08-13  Bill Haneman <bill.haneman@sun.com>
4305
4306         CHANGES:
4307         * libspi/application.c:
4308         Added implementations for get/set id, get_toolkitName,
4309         get_version.
4310         * registryd/registryd.c :
4311         * test/at.c :
4312         * test/app.c :
4313         * Makefile.am :
4314         Converted from use of OAF to bonobo-activation.
4315         * libspi/desktop.h :
4316         * libspi/desktop.c :
4317         * test/app.c :
4318         Removed references to atksimpleobject, since base atkobject
4319         implementation now provides functionality we need.
4320         * libspi/atksimpleobject.c :
4321         * libspi/atksimpleobject.h :
4322         Removed.
4323         
4324         ADDITIONS:
4325         * at-bridge
4326         * at-bridge/Makefile.am
4327         * at-bridge/bridge.c
4328         * configure.in
4329         * Makefile.am
4330         Added directory "bridge" and contents, and added dependencies
4331         in Makefile.am/configure.in.  
4332         Initial checkin of "at-bridge".
4333         This code is a GTK_MODULE which automatically registers
4334         GTK+ apps with the accessibility registry, using an object
4335         reference to the root ATK object.
4336         
4337 2001-08-10  Mark McLoughlin <mark@skynet.ie>
4338
4339         * po/Makefile.in.in: Remove. Again. If this
4340         doesn't get autogenerated - you need to update
4341         gnome-common.
4342
4343 2001-08-07  Mark McLoughlin <mark@skynet.ie>
4344
4345         * po/Makefile.in.in: Add. Again.
4346
4347 2001-07-31  Bill Haneman <bill.haneman@sun.com>
4348
4349         * libspi/accessible.c : added support for 'description' property.
4350         * libspi/accessible.c
4351         * libspi/desktop.c
4352         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
4353             (since the two are now equivalent in libbonobo)
4354         * idl/Action.idl
4355         * idl/Component.idl
4356         * idl/Hyperlink.idl
4357         * idl/Image.idl
4358         * idl/Selection.idl
4359         * idl/Table.idl
4360         * idl/Text.idl
4361         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
4362              Bonobo::Unknown as does Accessibility::Accessible.
4363         * idl/StreamableContent.idl : as above, and replaced internal InputStream
4364              interface with Bonobo::Stream, since it was redundant with it.
4365              (The Stream returned by a StreamableContext object is expected to
4366              implement only a subset of Bonobo::Stream)
4367
4368 2001-07-28  Anders Carlsson  <andersca@gnome.org>
4369
4370         * libspi/accessible.c (accessible_object_finalize): Change
4371           g_free to g_object_unref since the AtkObject is a GObject.
4372
4373 2001-07-30  Bill Haneman <bill.haneman@sun.com>
4374
4375         * idl/Accessibility.idl: add new IDL files
4376         
4377         Added:
4378         * idl/Action.idl: Definitions of actionable UI object
4379         * idl/Component.idl: Definitions of UI component geometry, etc.
4380         * idl/Hyperlink.idl: Defs of hyperlink behavior
4381         * idl/Image.idl: Def of accessible image
4382         * idl/Selection.idl: Definition of UI object with selectable children
4383         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
4384         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
4385         * idl/Text.idl: Interface defs for UI elements with complex textual content
4386         * idl/Value.idl: Definition of UI element that is a value controller or display
4387         
4388 2001-07-27  Michael Meeks  <michael@ximian.com>
4389
4390         * po/Makefile.in.in: remove autogenerated file from CVS.
4391
4392         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
4393         type library.
4394
4395         * idl/Registry.idl: include guard.
4396
4397         * idl/Accessibility.idl: Add, and include all the other IDL
4398         files.
4399
4400         * idl/*.idl: remove mass of pragmas etc.
4401
4402 2001-07-26  Michael Meeks  <michael@ximian.com>
4403
4404         * registryd/Makefile.am (registryd_SOURCES): remove
4405         redundant at_.
4406
4407 2001-07-27  Mark McLoughlin <mark@skynet.ie>
4408
4409         * libspi/.cvsignore, registryd/.cvsignore,
4410           test/.cvsignore: updated.
4411
4412         * po/Makefile.in.in: gettext update.
4413
4414 2001-07-25  Bill Haneman <bill.haneman@sun.com>
4415
4416         * initial CVS checkin
4417
4418 2001-06-29  Michael Meeks  <michael@ximian.com>
4419
4420         * configure.in: add AM_CONFIG_HEADER to gen config.h
4421
4422         * acconfig.h: add.
4423