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