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