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