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