Version 1.3.5; internationalization fixes.
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2003-06-30  Bill Haneman <bill.haneman@sun.com>
2
3         * configure.in: Revved to 1.3.5.
4         
5         * registryd/Accessibility_Registry.server.in.in:
6         Marked up appropriate strings for translation.
7         
8         * atk-bridge/bridge.c: Marked a couple of
9         user-visible warnings for translation.  Questionable
10         whether they are really useful, but possibly so.
11
12         
13 2003-06-28  Christian Rose  <menthos@menthos.com>
14
15         * configure.in: Added "sv" to ALL_LINGUAS.
16
17 2003-06-26  Bill Haneman <bill.haneman@sun.com>
18
19         * registryd/registry.c: 
20         (spi_registry_object_finalize): Unref the deviceeventcontroller.
21         (registry_defer_on_event): Defer focus: events, this is an
22         improvement to the patch for bug #108664.
23
24         * TODO: Update with 2.4/"Dev Complete" items.
25
26 2003-06-26  Padraig O'Briain <padraig.obriain@sun.com>
27
28         * atk-bridge/bridge.c:
29         (spi_atk_bridge_init_event_type_consts): Ensure that this function only
30         looks up signals once.
31         (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
32         if doing registration.
33         (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
34         when doing registration.
35         
36         This fixes bug #115014.
37
38 2003-06-25  Padraig O'Briain <padraig.obriain@sun.com>
39
40         * atk-bridge/bridge.c:
41         (atk_bridge_init): Add signal handler for children-changed:remove on
42         root when in a BonoboComponent.
43         (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
44         for first toplevel only other incrememt variable toplevels.
45         (spi_atk_bridge_toplevel_removed): For last toplevel deregister 
46         application and remove listeners.
47         (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
48         consistency.
49         (spi_atk_deregister_event_listeners): New function which removes
50         listeners.
51         (reinit_register_vars): New fuction which reinitializes variables.
52
53         This fixes bug #111578.
54
55 2003-06-13  Bill Haneman <bill.haneman@sun.com>
56
57         * configure.in: version 1.3.4.
58
59         * cspi/spi_accessible.c:
60         Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
61
62
63 2003-06-13  Michael Meeks  <michael@ximian.com>
64
65         * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
66
67         * cspi/spi_main.c (cspi_peek_ev): impl.
68
69 2003-06-11  Padraig O'Briain <padraig.obriain@sun.com>
70
71         * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
72
73         * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
74
75         * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role 
76         SPI_ROLE_AUTOCOMPLETE
77
78         * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
79
80         * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
81         for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
82
83 2003-06-11  Bill Haneman <bill.haneman@sun.com>
84
85         * libspi/streamablecontent.h:
86         * libspi/streamablecontent.c:
87         New files, provide implementation/wrappers for
88         Accessibility_StreamableContent.
89
90         * cspi/spi_streamablecontent.c:
91         Connected the C wrappers to the libspi C bindings.
92         (AccessibleStreamableContent_close): New method.
93
94         * cspi/spi.h:
95         (AccessibleStreamableContent_close): New method, needed
96         since we have an "open, [seek], read, close" model in cspi.
97         
98 2003-06-11  Bill Haneman <bill.haneman@sun.com>
99
100         Fix for #108664; Padraig's revision of my original patch.
101         
102         * registryd/registry.h:
103         Added event queue list, is_queuing, and exit_notify_timeout
104         to the registry struct.
105         
106         * registryd/registry.c:
107         (registry_init): Initialize new struct from registry.h.
108         (impl_registry_notify_event):
109         Filter events before notifying, in case some need to be
110         deferred, etc.
111         (registry_filter_event): New,
112         we defer certain incoming events (for instance 
113         window:deactivate) because we may wish to hide
114         or reject them based on pending events.  This is
115         mostly a workaround for bug #108664.
116         (registry_queue_event, registry_start_queue): New.
117         (registry_defer_on_event): Test event to see if it
118         initiates queuing.
119         (registry_reset_on_event): Returns TRUE if the
120         event should cause a queue reset.
121         (registry_discard_on_event): Returns TRUE if the event
122         should cause the previous queue contents to be discarded.
123         (registry_timeout_flush_queue): Flushes the pending event
124         queue if no reset/discard-triggering events have come in 
125         within the timeout period.
126         (registry_emit_event): New.
127         (registry_clone_notify_context): New, used when queueing the 
128         event notify contexts.
129
130 2003-06-10  Bill Haneman <bill.haneman@sun.com>
131
132         * configure.in: Version revved to 1.3.2, lt 0.9.2
133         Incremented ATK required version to 1.3.4.
134
135         * cspi/spi_registry.c:
136         (SPI_generateKeyEvent):
137         We now pass the keystring along if it's non-null.
138         
139         * registryd/deviceeventcontroller.c:
140         (keysym_mod_mask): New method, returns modifier mask 
141         required to generate a keysym from a given keycode.
142         (dec_synth_keysym): New method.
143         (dec_synth_keystring): New method.
144         (dec_get_modifier_state): New method.
145         (dec_lock_modifiers): New
146         (dec_unlock_modifiers): New.
147         (dec_keysym_for_unichar): New, rather brute-force
148         conversion from UCS-4 to X KeySyms.  Only works for
149         Latin at the moment, with partial implementations for
150         Greek, Hebrew, and (incomplete) Katakana.
151         (impl_generate_keyboard_event): Now implement 
152         "KEYSTRING" synthesis and implement "KEYSYM"
153         synthesis properly.
154         (keycode_from_keysym): Improved, passes a returned
155         modmask value now if the corresponding param is non-NULL.
156         
157         Fixes bugs #92143  and #109776.
158
159         * test/Makefile.am:
160         * test/keysynth-test.c:
161         New test program for key synthesis, to confirm fixes for
162         above bugs.
163
164
165 2003-06-10  Padraig O'Briain <padraig.obriain@sun.com>
166
167         * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
168
169         * cspi/spi_accessible.c (cspi_init_relation_type_table):
170         Add line for RELATION_POPUP_FOR
171
172         * docs/reference/cspi/tmpl/spi_relation.sgml: 
173         Add relation SPI_RELATION_POPUP_FOR
174
175         * docs/reference/cspi/tmpl/spi_stateset.sgml: 
176         Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE 
177
178         * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
179
180         * libspi/relation.c (spi_init_relation_type_table): 
181         Add line for RELATION_POPUP_FOR
182
183 2003-06-10  Padraig O'Briain <padraig.obriain@sun.com>
184
185         * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if 
186         there are still windows which have not been deleted and emit 
187         window:deactivate, if necessary and window:destroy events.
188         This fixes bug #114370. The change on June 5th was not correct.
189
190 2003-06-09  Bill Haneman <bill.haneman@sun.com>
191
192         * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
193
194         * cspi/spi.h: 
195         (SPI_dupString): Allow dup-ing of a string such that it's safe to
196         SPI_freeString it.
197         New methods for client exception handling and interception.
198         (SPI_exceptionHandlerPush): New - push a handler onto the stack.
199         (SPI_exceptionHandlerPop): You guessed it... 
200         (SPI_getSourceType): Return the type of object which offended.
201         (SPI_getExceptionCode): Return an enum code telling, possibly, 
202         what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
203         (SPIAccessibleException_getSource): get the source object for
204         exceptions that come from Accessibles, if SPIExceptionSourceType is
205         SPI_EXCEPTION_SOURCE_ACCESSIBLE.
206         (SPIException_getDescription): New, returns a string description of
207         the problem.  [Not yet a stable ABI, strings are not frozen]
208
209         * cspi/spi-private.h:
210         Added implementation details of opaque SPIException
211         structure.
212         
213         * cspi/spi_main.c:
214         Implementations of above.  Also
215         (_cspi_exception_throw): new private method that 
216         dispatches exceptions to handlers, called from cspi-bonobo.c
217
218         * cspi/bonobo/cspi-bonobo.c:
219         (cspi_check_ev): call _cspi_exception_throw.
220         Don't print a warning message if the exception has been 
221         handled by _cspi_exception_throw.
222         
223 2003-06-05  Padraig O'Briain <padraig.obriain@sun.com>
224
225         * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if 
226         there are still windows which have not been deleted and emit 
227         window:deactivate, if necessary and window:destroy events.
228         This fixes bug #114370.
229
230 2003-06-03  Bill Haneman <bill.haneman@sun.com>
231
232         * cspi/spi_main.c:
233         (cspi_accessible_is_a): Make non-fatal 
234         if the object reference is dead.
235
236 Mon Jun  2 15:35:29 2003  Jonathan Blandford  <jrb@redhat.com>
237
238         * cspi/spi_main.c: #include <stdio.h>
239         * test/simple-at.c: ditto
240         * test/event-listener-test.c: ditto
241         * test/screen-review-test.c: ditto
242
243 2003-05-30  Michael Meeks  <michael@ximian.com>
244
245         * test/test-simple.c (main): use CORBA_ORB_perform_work
246         instead of an unnecessary linc_ call.
247
248 2003-05-20  Padraig O'Briain <padraig.obriain@sun.com>
249
250         * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
251         Add SPI_STATE_INDETERMINATE.
252
253         * cspi/spi_accessible.c (spi_state_to_corba): Add support for
254         INDETERMINATE.
255
256         * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
257
258         * libspi/stateset.c (init_state_type_tables): Add support for
259         INDETERMINATE.
260
261 2003-05-19  Padraig O'Briain <padraig.obriain@sun.com>
262
263         * configure: Update versions of atk and gail required.
264         This fixes bug #113268.
265         
266 2003-05-02  Bill Haneman  <bill.haneman@sun.com>
267
268         * configure.in: Revved micro version to 1.3.1 (because of build fix).
269
270 2003-05-02  Frederic Crozat  <fcrozat@mandrakesoft.com>
271
272         * libspi/Makefile.am:
273         Ensure headers are generated before being used by c sources.
274
275 2003-05-01  Bill Haneman <bill.haneman@sun.com>
276
277         * configure.in:
278         Simplified lt versioning rules.
279         Incremented version to 1.3.0, to indicate that we're on the
280         unstable branch now.  
281
282 2003-04-29  Padraig O'Briain <padraig.obriain@sun.com>
283
284         * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
285         Add MKDB_OPTIONS=--outtput-format=xml
286
287         * docs/reference/cspi/at-spi-cspi-docs.sgml
288         docs/reference/idl/at-spi-idl-docs.sgml:
289         Convert to Docbook XML.
290
291         This fixes bug #111793.
292
293 2003-04-25  Padraig O'Briain <padraig.obriain@sun.com>
294
295         * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
296         AcccessibleKeyEventType, AccessibleKeyMaskType.
297
298         * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
299
300         * cspi/state-types.h: Add documentation for AccessibleState.
301
302         * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
303         AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
304         AccessibleKeySynthType, AccessibleKeyListenerSyncType, 
305         AccessibleComponentLayer.
306
307         * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs 
308         in documentation.
309
310         * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
311
312         * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of 
313         Accessible.  Add description of AccessibleEvent, 
314         AccessibleEventListenerCB.
315
316         * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra 
317         documentation.
318
319         * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra 
320         documentation. Add description of AccessibleKeystrokeListenerCB,
321         AccessibleKeyEventMask, AccessibleModifierMaskType, 
322         AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
323         AccessibleDeviceEventMask, AccessibleDeviceListenerCB. 
324
325         * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
326         AccessibleStateSet.
327
328         * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra 
329         documentation.
330
331         This fixes bug #104730.
332
333 2003-04-24  Padraig O'Briain <padraig.obriain@sun.com>
334
335         * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
336         Set is_text field of Accessibility_DeviceEvent data structure.
337
338         * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
339         is-text field of AccessibleDeviceEvent data structure.
340
341         This addresses part of bug #108666.
342
343         * registryd/devcieeventcontroller.c: Unset debug option.
344
345 2003-04-14  Padraig O'Briain <padraig.obriain@sun.com>
346
347         * cspi/accessible.c:
348         (cpi_initial_relation_type_table): New function which initializes 
349         mapping between Accessibility_RelationType and AccessibleRelationType.
350         (cspi_relation_type_from_spi_relation_type): New function which
351         translates an Accessibility_RelationType into an AccessibleRelationType.
352         (AccessibleRelation_getRelationType): Use 
353         cpi_relation_type_get_spi_relation_type to return correct value.
354         (spi_state_to_corba): Return correct type for default case.
355
356         * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
357         Use Accessibility_EventType instead of Accessibility_KeyEventType.
358
359         * cspi/cspi-bonobo-listener.c:
360         Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
361         warnings.
362
363         * libspi/accessible.c, libspi/action.c, libspi/application.c,
364         libspi/base.c, libspi/component.c, libspi.devicelistener.c,
365         libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
366         libspi/image.c, libspi/listener.c, libspi/selection.c, 
367         libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c, 
368         registryd/desktop.c, registryd/registry.c:
369         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
370
371         * libspi/eventlistener.c
372         Remove semicolon after BONOBO_TYPE_FUNC.
373
374         * libspi/relation.c:
375         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
376         (spi_init_relation_type_table): Initialize using correct type.
377
378         * registryd/desktop.c:
379         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
380         (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead 
381         of Accessibility_KeyEventType.
382
383         * test/key-listener-test.c (report_tab_key_event): Use fprintf
384         instead of g_print.
385
386         * tests/simple-at.c, tests/screen-review-test.c:
387         Add include for <strings.h>.
388
389         * tests.stress-test.c:
390         Add includes for <unistd.h> and <bonobo/bonobo-main.h>
391
392         These changes fix compiler warnings when using FORTE compiler on
393         Solaris; fixes bug #107479.
394
395         
396 2003-04-10  Bill Haneman <bill.haneman@sun.com>
397
398
399         * configure.in: revved to 1.1.10
400         
401         * libspi/keymasks.h:
402         (SPI_KEYMASK_NUMLOCK): Added.
403
404         * registryd/deviceeventcontroller.c:
405         (spi_key_event_matches_listener): AND with a smaller
406         bitmask (as we should).  
407         (spi_dec_translate_mask): 
408         New method, sets the virtual NumLock modifier bit
409         if numlock is on.  Eventually it can handle other virtual
410         modifier bits if needed, or other marshalling from
411         at-spi modifier masks to platform (X) masks.
412         (spi_dec_key_listener_new):
413         Call spi_dec_translate_mask to set up virtual mod bits
414         in the 'mask' field when creating a new listener struct.
415         (spi_dec_emit_modifier_event):
416         Set the virtual (i.e. NumLock) bits before emitting event.
417         (spi_controller_register_with_devices):
418         Query for the NumLock modifier 'physical' bit if Xkb is
419         present, for use in above methods.
420
421         Fix for 107261.
422         
423 2003-04-10  Bill Haneman <bill.haneman@sun.com>
424         
425         * registryd/deviceeventcontroller.c:
426         (spi_keystroke_from_x_key_event):
427         Instead of checking to see if the keysym is
428         printable, check the string from XLookupString
429         if available, get the first unicode character from it,
430         and call g_unichar_isprint to determine whether the
431         is_text flag should be TRUE or FALSE.
432         
433         Fix for bug 110419.
434
435 2003-04-02  Padraig O'Briain <padraig.obriain@sun.com>
436
437         * atk-bridge/bridge.c: Add support for extended events
438         * cspi/spi_event.c: Add documentation and implementation for
439         extended events.
440         * tests/event-listener-test.c: Add tests for extended events.
441
442         This fixes bugs #100424 and #100426.
443  
444 2003-04-02  Padraig O'Briain <padraig.obriain@sun.com>
445
446         * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
447         of LT_CURRENT. This fixes bug #89350.
448
449 2003-04-01  Padraig O'Briain <padraig.obriain@sun.com>
450
451         * atk-bridge/bridge.c (spi_bridge_signal_listener):  Add check for
452         number of signal parameter values before accessing them. This fixes
453         bug #109626.
454
455 2003-04-01  Bill Haneman <bill.haneman@sun.com>
456
457         * configure.in: Fixed duplicate inclusion of -lspi.
458         * branched for gnome-2-2/HEAD.  
459         [created tag "gnome-2-2"]
460
461 2003-03-07  Bill Haneman <bill.haneman@sun.com>
462
463         * configure.in: 1.1.9 release.
464         * NEWS: updated.
465         
466 2003-03-07  Bill Haneman <bill.haneman@sun.com>
467
468         [needed by GOK, to fix bugs 107985 and 107988]
469         * registryd/deviceeventcontroller.c:
470         (spi_dec_clear_unlatch_pending):
471         New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
472         (spi_dec_set_unlatch_pending):Revised DEBUG comment.
473         (spi_dec_init_mouse_listener):Emit warning if mouse button
474         passive grab fails.
475         (spi_device_event_controller_forward_mouse_event):
476         Removed unnecessary parens from a conditional.
477         (global_filter_fn):Added TODO comment.
478         (impl_generate_keyboard_event):
479         Cancel a pending relatch if a 'delatching' key was 
480         synthesized.
481         
482 2003-03-07  Padraig O'Briain <padraig.obriain@sun.com>
483
484         * atk-bridge/bridge.c:
485         Change atk_signal_child_changed to atk_signal_children_changed. 
486         Reorganize code in spi_atk_bridge_signal_listener().
487
488         * test/event-listener-test.c:
489         Add children_changed_listener and report_children_changed_event()
490         to test AccessibleChildEvent_getChildAccessible.
491
492 2003-03-05  Padraig O'Briain <padraig.obriain@sun.com>
493
494         * cspi/spi_event.c (cspi_internal_event_get_text): Change
495         g_strdup to CORBA_String_dup (bug #105291)
496
497         * test/event-listener-test.c (report_text_event): Add call to
498         SPI_freeString.
499
500 2003-02-28  Bill Haneman <bill.haneman@sun.com>
501
502         * registryd/deviceeventcontroller.c:
503         (spi_keystroke_from_x_key_event): 
504         Fix string and keysym return codes to match modifier state. 
505         [bug #107256]
506
507 2003-02-28  Bill Haneman <bill.haneman@sun.com>
508
509         * registryd/deviceeventcontroller.c:
510         (spi_keystroke_from_x_key_event): 
511         Fix segv due to improper use of isprint(c). [bug #107254]
512
513 2003-02-24  Bill Haneman <bill.haneman@sun.com>
514
515         * cspi/spi_text.c:
516         (get_accessible_text_boundary_type):
517         Move default return value to (new) default case in switch.
518         (get_accessible_text_clip_type):
519         Move default return value to (new) default case in switch.
520         
521         * libspi/application.c:
522         (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
523         Remove unused methods.
524         (impl_accessibility_application_register_object_event_listener):
525         Remove unused methods.
526
527         * libspi/value.c:
528         Added #include of <math.h>.
529
530         * registryd/deviceeventcontroller.c:
531         (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since 
532         we don't currently use this method.
533         (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
534         have_xkb is TRUE.
535         (impl_generate_key_event):
536         Remove unused variables.
537         (impl_generate_mouse_event):
538         Initialize button to zero, just in case we get an invalid
539         input.  Added support for mouse buttons 4 and 5.
540         (spi_device_event_controller_new):
541         Removed unused variable declaration for 'private'.
542         (registry.h):
543         Added #include of <gdk/gdk.h>
544
545 2003-02-14  Padraig O'Briain <padraig.obriain@sun.com>
546
547         * configure.in: Update to work when X is not installed in expected 
548         location. Fixes bug #105836.
549
550         * atk-bridge/bridge.c
551         (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
552         AtkHypertext
553         (spi_atk_register_event_listener): Add signal listener for 
554         link-selected
555         (spi_atk_bridge_signal_listener): Event event when link-selected
556         signal is emitted. (bug #104622)
557
558         * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
559         on returned string. (bug #105291)
560
561         * test/event-listener-test.c: Add test for link-selected.
562         
563 2003-02-14  Padraig O'Briain <padraig.obriain@sun.com>
564
565         * atk-bridge/Makefile.am: Correct typo in previous commit.
566
567 2003-02-13  Padraig O'Briain <padraig.obriain@sun.com>
568
569         * atk-bridge/Makefile.am: Allow for build directory to be different 
570         from source directory
571
572         * registryd/Makefile.am: Allow for build directory to be different
573         from source directory
574
575         Bug #104744.
576
577 2003-01-29  Bill Haneman <bill.haneman@sun.com>
578         
579         * cspi/Makefile.am:
580         Fixed dependencies for libcspi so that libspi gets pulled in
581         properly.  Fixes 104741.
582
583         * cspi/spi.h:
584         * cspi/spi_event.c:
585         Clean up inline docs a little.
586
587 2003-01-27  Padraig O'Briain <padraig.obriain@sun.com>
588
589         * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
590         This is done by implementing AtkComponent for SpiAtkDesktop, which is
591         the AtkObject within an SpiDesktop.
592         This addresses bug #101524.
593
594         * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
595         Remove call to gdk_init().
596
597         * registryd/registry.c (spi_registry_init): Add call to gdk_init()
598         so that Display is set when SpiDesktop is created.
599
600 2003-01-21  Padraig O'Briain <padraig.obriain@sun.com>
601
602         * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
603         This fixes bug #102830.
604
605 2003-01-15  Padraig O'Briain <padraig.obriain@sun.com>
606
607         * test/test-simple.c: Update to take account of fact that GailButton 
608         now implements AtkText.
609         (create_text_window): Set name on AtkObject for GtkEntry.
610         (validate_accessible): Check accessible name before calling test_text().
611
612         * libspi/Makefile.am: Fix problem with building outside of source
613         directory. Bug #98120.
614
615         * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
616         typo in documentation comments. Bug #94275.
617
618 2003-01-15  Padraig O'Briain <padraig.obriain@sun.com>
619
620         * libspi/text.c (impl_getBoundedRanges): Bug fix.
621
622 2003-01-10  Padraig O'Briain <padraig.obriain@sun.com>
623
624         * libspi/text.c:
625         Add includes to avoid compiler warnings on Solaris.
626         (impl_getRangeExtents): Bug fix.
627
628 2002-12-17  Bill Haneman <bill.haneman@sun.com>
629
630         Fix for 100944, [API addition approved by Gman and murrayc].
631         
632         * NEWS: updated.
633         
634         * configure.in:
635         Revved to 1.1.8.
636
637         * idl/Accessibility_Text.idl:
638         (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
639         (Text::getRangeExtents): New method for efficient 
640         bounds query of a text range.
641         (Text::getBoundedRanges): New method for efficient
642         clipping of text to bounding boxes.
643         (unImplemented7, unImplemented8): 
644         Removed these padding methods to preserve bincompat.
645
646         * libspi/text.c:
647         (impl_getRangeExtents): implementation of new IDL.
648         (impl_getBoundedRanges): implementation of new IDL.
649         (SpiTextRect): Internal use struct.
650         (_spi_text_rect_union): internal method, calculates union of two
651         SpiTextRect bounding rects.
652         (_spi_text_range_seq_from_gslist): internal method, allows us
653         to build our sequence efficiently as a gslist then convert it
654         to a CORBA seq.
655         (_spi_bounds_contain): internal method, determines whether
656         a text character is "in" or "out" of a clip rect according to
657         values of TEXT_CLIP_TYPE.
658         (spi_text_class_init): Initialize the new methods in the epv.
659         
660         * cspi/spi.h:
661         (AccessibleTextClipType): New enum used by screen review api.
662         (AccessibleTextRange): New struct used by screen review api.
663         (AccessibleText_getRangeExtents): 
664         cspi binding for Accessibility_Text_getRangeExtents.
665         (AccessibleText_getBoundedRanges):
666         cspi binding for Accessibility_Text_getBoundedRanges.
667         (AccessibleTextRange_freeRanges): convenience method.
668         
669         * cspi/spi_text.c:
670         (AccessibleText_getRangeExtents): 
671         cspi binding for Accessibility_Text_getRangeExtents.
672         (AccessibleText_getBoundedRanges):
673         cspi binding for Accessibility_Text_getBoundedRanges.
674         (AccessibleTextRange_freeRanges): convenience method.
675         (get_accessible_text_clip_type): internal conversion method.
676         (get_accessible_text_ranges_from_range_seq): internal conversion method.
677
678         * registryd/deviceeventcontroller.c:
679         (spi_dec_mouse_check):
680         Improved behavior for mouse:abs events 
681         [same granularity as mouse:rel events, and no
682         events when mouse is idle].     
683         
684 2002-12-16  Michael Meeks  <michael@ximian.com>
685
686         * cspi/spi_accessible.c (spi_state_to_corba): rename.
687
688         * libspi/stateset.c (state_spi_to_atk): split out
689         ( fix several remote array bounds nasties )
690         (spi_atk_state_set_from_sequence, impl_contains, impl_add),
691         (impl_remove): make safe from array bounds issues.
692         (spi_atk_state_from_spi_state): impl.
693
694         * libspi/stateset.h (spi_state_set_cache_is_empty): 
695         add a set of wrapper defines to get layering right.
696
697         * cspi/spi_accessible.c: update state set stuff to
698         use it.
699
700 2002-12-14  Michael Meeks  <michael@ximian.com>
701
702         * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
703         to avoid 2 roundtrips to the registry per key event
704         (spi_atk_bridge_key_listener): upd.
705         (deregister_application): release the dec.
706
707         * registryd/registry.c (notify_listeners_cb):
708         bin lots of re-enterant complexity - we no longer
709         do a round-trip bonobo ref here, ensure that a single
710         listener's exception failure won't poison all other
711         notifications.
712         (impl_registry_notify_event): bin obvious memory leak.
713
714 2002-12-13  Michael Meeks  <michael@ximian.com>
715
716         * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
717         init the ev so the error is meaningful.
718         (spi_atk_bridge_key_listener): ditto.
719
720         * cspi/spi_main.c (cspi_ev): init the ev so we start
721         with a clean slate, otherwise the first exception
722         kills us completely.
723
724         * cspi/spi_text.c (get_accessible_text_boundary_type): 
725         add a fallthrough for no warnings.
726
727         * cspi/spi_registry.c: prune unused warnings.
728
729         * cspi/spi_main.c (cspi_object_take): fix
730         mind-blowing brokenness ( by watching the compile
731         warnings )
732
733         * cspi/spi_accessible.c (Accessible_getStateSet):
734         re-impl. to use an AtkStateSet.
735         (spi_state_type_from_accessible_state),
736         (init_state_table): bin these.
737
738         * libspi/stateset.c (spi_atk_state_set_from_sequence):
739         split out from
740         (atk_state_set_from_accessibility_state_set): here.
741
742         * cspi/spi_accessible.c (spi_state_to_atk): impl.
743         (AccessibleStateSet_contains, AccessibleStateSet_ref),
744         (AccessibleStateSet_unref, AccessibleStateSet_contains),
745         (AccessibleStateSet_add, AccessibleStateSet_remove),
746         (AccessibleStateSet_equals, AccessibleStateSet_compare),
747         (AccessibleStateSet_isEmpty): re-write to use a local
748         AtkStateSet object.
749
750 2002-12-13  Bill Haneman <bill.haneman@sun.com>
751
752         * configure.in: Revved to 1.1.7 (new keymask vals).
753
754 2002-12-10  Bill Haneman <bill.haneman@sun.com>
755
756         * libspi/keymasks.h:
757         Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
758
759 2002-12-10  Padraig O'Briain  <padraig.obriain@sun.com>
760
761         * cspi/spi_event.c 
762         (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent() 
763         to compare two CORBA_TypeCodes.
764         (cspi_internal_event_add): Silence warning from FORTE compiler.
765
766         * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to 
767         avoid implicit declaration of functions.
768         
769 2002-12-09  Padraig O'Briain  <padraig.obriain@sun.com>
770
771         * atk-bridge/bridge.c:
772         (spi_atk_bridge_init_event_type_consts): Store signal id for
773         active-descendant-changed signal.
774         (spi_atk_register_event_listeners): Add signal listener for
775         active-descendant-changed signal,
776         (spi_atk_bridge_signal_listener): Move code in function 
777         spi_atk-signal_emit_event() into this function.
778         Add support for active-descendant-changed
779         Update support for child-changed signal.
780         (spi_bridge_window_event_listener): Silence warning.
781
782         * libspi/spi_private.[ch]:
783         (spi_init_any_object): Change second parameter from CORBA_Object to
784         CORBA_Object*.
785         Omit call to CORBA_Object_duplicate(). 
786         Set CORBA_any's _value to CORBA_Object*.        
787
788 2002-12-06  Bill Haneman  <bill.haneman@sun.com>
789
790         * configure.in:
791         Revved to 1.1.6.
792         
793         * cspi/spi.h: 
794         (AccessibleEvent_ref, AccessibleEvent_unref):
795         New methods, for persisting an event outside the emission context.
796         Must be used if the new accessor methods are to be called
797         outside of the event listener's callback.
798
799         * cspi/bonobo/cspi-bonobo.c:
800         (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
801         as second parameter instead of NULL, so we can call
802         cspi_check_ev afterwards.
803         
804         * cspi/spi_main.c:
805         (cspi_object_take): New internal method, 
806         converts a CORBA_Object reference to a hard ref on
807         an Accessible if possible, returning NULL if the object
808         reference is invalid or an Accessible * otherwise.
809
810         * cspi/spi_event.c:
811         (AccessibleEvent_ref): 
812         Increment the event's internal private refcount, and 
813         add the event's internal struct to an internal cache 
814         if it's not already there.
815         (AccessibleEvent_unref): 
816         Decrement the event's refcount and remove it from
817         the cspi event cache if refcount==0.
818         (cspi_event_compare): New private method.
819         Compares two event structs via their ids. Used 
820         for queue lookup.
821         (cspi_internal_event_lookup): New private method.
822         (cspi_internal_event_check): New private method,
823         a 0-order sanity check for events to make sure their
824         private data is intact.
825         (cspi_internal_event_add, cspi_internal_event_remove):
826         New private methods for managiing the event cache.
827
828         * cspi/bonobo/cspi-bonobo-listener.c:
829         (cspi_event):
830         Initialize the new private data elements (id, magic, ref_count).
831         
832         * atk-bridge/bridge.c:
833         (spi_atk_bridge_signal_listener):
834         Fixed bug #100530, passing wrong params to emission func.
835
836         * registryd/deviceeventcontroller.c:
837         (spi_dec_button_update_and_emit): 
838         Fixed type in mask bit operations; fix for #99799.
839         
840 2002-12-02  Bill Haneman  <bill.haneman@sun.com>
841
842         Removed some of the more dangerous workarounds from
843         previous commit; they are only needed by GOK, which
844         in reality should be using another method to accomplish
845         the goals.  So on reconsideration some of the workarounds
846         need to be reverted:
847         
848         * registryd/deviceeventcontroller.c:
849         (spi_keycodes_contain, spi_dec_init_keycode_list): 
850         Removed these methods, used only by a nasty hack to try
851         and detect whether a key synthesis should be allowed
852         to reset the XKB latch state or not. This code was only
853         required to work around an interaction between GOK,
854         button events, and XKB.
855         (impl_generate_key_event):
856         Removed hack at end of key generation that tried to
857         "do the right thing" if XKB latch keys were generated
858         in the midst of button press/release pairs.  
859
860         * configure.in:
861         Added a check for HAVE_XINPUT.  Not normally used yet.
862
863 2002-11-25  Bill Haneman  <bill.haneman@sun.com>
864
865         Workarounds and fixes for mouse event/XKB interaction.
866         
867         * registryd/deviceeventcontroller.c:
868         (spi_keycodes_contain, spi_dec_init_keycode_list): 
869         New internal methods.
870         (spi_dec_set_unlatch_pending):
871         Split the method that tells XKB to expect an
872         unlatch (and revert it) out of the rest of the
873         event handling code.  This method is called by the
874         two mouse event handlers (the poll and the filter).
875         (spi_dec_update_and_emit, spi_dec_mouse_check): 
876         New methods split from spi_dec_poll_mouse_moved.
877         The second one is now called from inside the filterFn
878         when an XKB delatch event is received, to determine 
879         whether to revert the delatch or not.
880         (spi_poll_mouse_moved): Refactor; also we can now
881         properly handle the case where multiple button states
882         have changed between polling cycles and we didn't get
883         notified due to another client's grab.
884         (global_filter_fn): 
885         Synchronize the server while handling an XKB notification.
886         Ugly, but apparently necessary to avoid nasty races.
887         Check the mouse state on receipt of an XKB latch change,
888         to decide whether to revert the latch or not. (Latches are
889         reverted if there is an immediately preceding mouse button
890         event that a client has consumed, in which case we don't want
891         the user to see the side-effect of the event).
892         (spi_device_event_controller_forward_mouse_event):
893         Check for modifier events and fire before resetting mouse_mask_state,
894         prevents losing modifier events.
895
896         (impl_generate_keyboard_event):
897         If we've just generated a keyboard event for a non-shift key,
898         we don't want to revert the pending XKB latch. 
899         Otherwise, check the modifier state (via a call to 
900         spi_dev_mouse_check) and set the relatch mask to 
901         that state before returning.
902         
903 2002-11-24  Bill Haneman  <bill.haneman@sun.com>
904
905         * NEWS: 
906         Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
907         retagged).
908         
909         * atk-bridge/bridge.c:
910         (spi_atk_register_event_listeners):
911         Don't re-register for ATK events if the registry has died
912         and the app needs to re-register; the ATK listeners are in
913         process and doing so will cause duplicate emission.
914
915         * registryd/deviceeventcontroller.c:
916         (spi_poll_mouse_moved):
917         Reformat the source, detect and emit multiple button-change
918         events (i.e. if multiple buttons have changed between poll
919         intervals).
920         Add code to detect mouse-down events even when the pointer
921         is grabbed; workaround for GOK bug 98420.
922         (spi_controller_register_with_devices):
923         Call XTestGrabControl with 'impervious' flag set to True,
924         allows us to synthesize events and query the pointer even during
925         an active grab by another client.
926         (spi_device_event_controller_forward_mouse_event):
927         Set the mouse_mask_state to the mouse_button_state from
928         the intercepted event, to synchronize the grab listener with
929         the poll state.
930         
931 2002-11-20  Bill Haneman  <bill.haneman@sun.com>
932
933         * cspi/spi_accessible.c:
934         (AccessibleRole_getName):
935         Added necessary strings for making this (deprecated) 
936         method work with the new role types. 
937         (init_role_table, role_table):
938         Added definition of SPI_ROLE_APPLICATION.
939
940         * libspi/spi-roletypes.h:
941         Added SPI_ROLE_APPLICATION.
942
943         * idl/Accessibility_Role.idl:
944         Added ROLE_APPLICATION. 
945
946         * docs/reference/cspi/at-spi-cspi-decl.txt:
947         Added SPI_ROLE_APPLICATION to docs.
948
949 2002-11-20  Padraig O'Briain  <padraig.obriain@sun.com>
950
951         * cspi/spi_accessible.c
952         (cspi_init_role_table): Do not write beyond end of role_table.
953         (Accessible_getRole): Use correct type for value returned by
954         Accessibility_Accessible_getRole().
955
956         * libspi/accessible.c (spi_init_role_lookup_table): Do not write
957         beyond end of role_table. (This fixes bug #98269)
958
959         * libspi/application.c: Add include file spi-private.h for 
960         definition of spi_init_any_nil.
961
962 2002-11-19 Bill Haneman <bill.haneman@sun.com>
963
964         FIX for bug 99024.
965         
966         * libspi/spi-private.h:
967         Added DGB() macro, and extern int _dbg declaration.
968         
969         * registryd/registry.c:
970         (definitions) storage for _dbg.
971         (spi_registry_init):
972         Get environment variable "AT_SPI_DEBUG".
973         (spi_registry_set_debug):
974         New method, to initialize _dbg value.
975         (spi_listener_struct_new, spi_registry_object_finalize):
976         (notify_listeners_cb):
977         Changed fprintfs to use DBG and g_warning().
978
979         * registryd/deviceeventcontroller.c:
980         (_deregister_keygrab, spi_controller_register_device_listener):
981         Changed debug/warning messages to use DBG macro.
982
983         * libspi/listener.c:
984         (impl_notify_event):
985         Changed warning messages to use DBG macro and g_warning().
986
987         * atk-bridge/bridge.c:
988         (atk_bridge_init, spi_atk_bridge_get_registry):
989         (spi_atk_bridge_exit_func):
990         (spi_atk_bridge_property_event_listener):
991         Changed status, warning, and error messages to use
992         g_warning, g_message, and DBG macros.
993
994         (atk_bridge_init):
995         Read the state of the AT_SPI_DEBUG environment variable
996         and set a local '_dbg' accordingly.
997         
998 2002-11-19 Bill Haneman <bill.haneman@sun.com>
999
1000         FIXES for 98836, 98842, other bugs.
1001         
1002         * configure.in:
1003         Revved to 1.1.4, interface-age=4, binary-age=4.
1004
1005         * registryd/deviceeventcontroller.c:
1006         (statics):
1007         Fixed crasher bug in last_mouse_pos initialization.
1008
1009         * registryd/registry.c:
1010         (desktop_add_application, desktop_remove_application):
1011         Added (and then commented out) some support for
1012         object context marshalling. [TODO]
1013
1014         * atk-bridge/bridge.c:
1015         (spi_atk_bridge_event_context_create):
1016         Commented out object context creation until it can
1017         be properly tested and debugged.
1018
1019         * registryd/registry.c:
1020         (impl_registry_notify_event):
1021         Fixed crasher bug, we were calling 
1022         spi_re_entrant_list_foreach () with an empty list.
1023
1024 2002-11-18  Bill Haneman <bill.haneman@sun.com>
1025         
1026         * idl/Accessibility_Action.idl:
1027         * idl/Accessibility_Component.idl:
1028         * idl/Accessibility_Desktop.idl:
1029         * idl/Accessibility_Event.idl:
1030         * idl/Accessibility_Hyperlink.idl:
1031         * idl/Accessibility_Image.idl:
1032         * idl/Accessibility_Relation.idl:
1033         * idl/Accessibility_Selection.idl:
1034         * idl/Accessibility_State.idl:
1035         * idl/Accessibility_Value.idl:
1036         Updated unimplemented slot count to minimum of
1037         four for all interfaces, for ABI freeze. 
1038
1039         * idl/Accessibility_EditableText.idl:
1040         * idl/Accessibility_Text.idl:
1041         Updated unimplemented slot count to six
1042         for ABI freeze. 
1043         
1044         * idl/Accessibility_Registry.idl:
1045         Updated unimplemented slot count to six
1046         (also for DeviceEventController), 
1047         for ABI freeze. 
1048
1049         * idl/Accessibility_Table.idl:
1050         Updated unimplemented slot count to eight,
1051         for ABI freeze. 
1052
1053         * idl/Accessibility_Event.idl:
1054         Added CORBA_any "any_data" member to Event struct.
1055
1056         * idl/Accessibility_Event.idl:
1057         Added CORBA_any "any_data" member to Event struct.
1058
1059         * atk-bridge/bridge.c:
1060         (statics):
1061         atk_signal_text_changed, atk_signal_child_changed,
1062         signal ids queried from gtype system.
1063         (AtkBridgeEventContextType): New enum.
1064         (AtkBridgeEventContextData): New struct.
1065         (AtkBridgeEventContext): New struct.
1066         (atk_bridge_init_event_type_consts):
1067         New method, initializes type contants for comparison 
1068         prior to emit_eventv.
1069         (atk_bridge_event_context_init): New method,
1070         initializes a CORBA_any from an AtkBridgeEventContext.
1071         (atk_bridge_focus_tracker): Call spi_init_any_nil to
1072         initialize the event.any_data struct.
1073         (spi_atk_bridge_event_context_create): New method,
1074         creates an AtkBridgeEventContext from signal/event info.
1075         (spi_atk_bridge_event_context_free): New method.
1076         (spi_atk_emit_eventv): Changed to take an 
1077         AtkBridgeEventContext parameter. We now initialize
1078         the event.any_data member prior to notifying the 
1079         Registry, via the AtkBridgeEventContext.
1080         (spi_atk_bridge_property_event_listener):
1081         (spi_atk_bridge_state_event_listener):
1082         Match emit_eventv signature.
1083         (spi_atk_bridge_object_event_listener):
1084         Match emit_eventv signature, and create an
1085         event context from the event details.
1086         Free the event context afterwards.
1087         (spi_atk_bridge_window_event_listener):
1088         Create an event context, pass it to the
1089         emit_eventv call.
1090         
1091         * cspi/spi_event.c:
1092         (AccessibleEvent_getContextString):
1093         (AccessibleEvent_getContextObject):
1094         New methods, allow query of AccessibleEvent objects
1095         for more context details (via the "any_data" member 
1096         of the Event struct, above).
1097         
1098         * cspi/spi.h:
1099         Definitions for AccessibleEvent_getContextString
1100         and AccessibleEvent_getContextObject.
1101
1102         * cspi/spi_listener.h:
1103         (InternalEvent): New struct.
1104
1105         * cspi/spi_event.c:
1106         (AccessibleEvent_getContextString):
1107         (AccessibleEvent_getContextObject):
1108         Implementations of new methods, for obtaining
1109         additional context information from some event types.
1110
1111         * cspi/spi_registry.c:
1112         (SPI_registerGlobalEventListener):
1113         Added mention of active-descendant-changed event in docs.
1114
1115         * cspi/cspi-bonobo-listener.c:
1116         (cspi_event):
1117         Marshal the any into the AccessibleEvent via
1118         InternalEvent.
1119         
1120         * libspi/spi-private.h:
1121         #include <orbit/orbit.h>
1122         (spi_init_any_nil):
1123         (spi_init_any_string):
1124         (spi_init_any_object):
1125         New convenience function declarations.
1126
1127         * libspi/util.c:
1128         (spi_init_any_nil):
1129         (spi_init_any_string):
1130         (spi_init_any_object):
1131         New convenience function implementations.
1132
1133         * registryd/deviceeventcontroller.c:
1134         (spi_poll_dec_mouse_moved):
1135         (spi_device_event_controller_forward_mous_event):
1136         Initialize any_data member of event.
1137         (spi_deregister_controller_device_listener):
1138         Fix incorrect param pass which was preventing deregistration.
1139
1140         * registryd/registry.c:
1141         (desktop_add_application):
1142         (desktop_remove_application):
1143         Add object data to event's any_data before dispatch.
1144         (parse_event_type):
1145         Fix for error messages from GAIL.
1146         
1147         * test/event-listener-test.c:
1148         Test new ContextString and "any_data" API:
1149         (report_text_event): New method query and output context string.
1150         (main): register a new text listener with report_text_event
1151         callback.
1152
1153 2002-11-19  Darren Kenny  <darren.kenny@sun.com>
1154
1155         Fixes for bugs 98127 and 97914.
1156         * cspi/spi-roletypes.h:
1157         Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
1158         SPI_ROLE_RULER
1159         * cspi/spi-statetypes.h:
1160         Added SPI_STATE_MANAGES_DESCENDANTS
1161         * cspi/spi.h:
1162         Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
1163         SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
1164         * cspi/spi_accessible.c:
1165         Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
1166         Added mapping from SPI_STATE_MANAGES_DESCENDANTS to 
1167         Accessibility_STATE_MANAGES_DESCENDANTS
1168         * libspi/accessible.c:
1169         Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
1170         Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} 
1171         As requested by Bill, I also cleaned up the alignment.
1172         * libspi/relation.c:
1173         Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
1174         EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
1175         * libspi/stateset.c:
1176         Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
1177         Accessibility_STATE_MANAGES_DESCENDANTS
1178         * docs/reference/cspi/tmpl/spi_accessible.sgml:
1179         Document changes reflecting modifications to roles.
1180         * docs/reference/cspi/tmpl/spi_relation.sgml:
1181         Document changes reflecting modifications to relations.
1182         * docs/reference/cspi/tmpl/spi_stateset.sgml:
1183         Document changes reflecting modifications to states.
1184
1185 2002-11-17  Bill Haneman <bill.haneman@sun.com>
1186
1187         * configure.in:
1188         Revved to 1.1.3, interface-age=3, binary-age=3.
1189         Added REBUILD macro.
1190
1191         * test/Makefile.am:
1192         Removed accessx-gui from the tests, since we have a nice
1193         keyboard accessibility capplet now :-)
1194
1195         * test/keysynth-demo.c:
1196         (increment_scan): removed do-nothing default: case,
1197         silences warning.
1198
1199         * test/visual-bell.c:
1200         (main) : removed do-nothing default: case, 
1201         silences warning.
1202
1203         * cspi/spi_action.c:
1204         (AccessibleAction_getKeyBinding_): 
1205         Documented keybinding string format.
1206         FIX for bug 97916.
1207
1208         * cspi/spi_text.c:
1209         (AccessibleText_getAttributes):
1210         Documented the text attribute string format.
1211         It's changed to use semicolon delimiters also,
1212         to prevent clashes with CSS attributes, but the old
1213         trick of looking for ", " strings will still work
1214         (as unreliably as ever).  Fix for bug related to 97916.
1215
1216         * cspi/spi_event.c:
1217         Include <cspi/bonobo/cspi-bonobo-listener.h>
1218         Fixes build warning.
1219         (SPI_freeAccessibleKeySet):
1220         (AccessibleKeystrokeListener_addCallback):
1221         (AccessibleKeystrokeListener_removeCallback):
1222         Modify to use AccessibleDeviceListener API internally,
1223         instead of AccessibleKeystrokeListener.
1224         
1225         * idl/Accessibility_Event.idl:
1226         Added two more empty slots to EventListener (for a total of four).
1227
1228         * idl/Accessibility_Accessible.idl:
1229         Added four empty slots to Accessible interface.
1230
1231 2002-11-15  Bill Haneman <bill.haneman@sun.com>
1232
1233         * idl/Accessibility_Registry.idl:
1234         (KeyEventType, EventType):
1235         Marked KeyEventType as deprecated; it duplicates
1236         functionality of EventType, which has been extended to
1237         include Mouse-button events.
1238         (KeyEventTypeSeq): defined in terms of EventType.
1239         (registerDeviceEventListener, deregisterDeviceEventListener):
1240         New methods, for managing listeners to device events,
1241         which potentially may consume them.     
1242         
1243         * cspi/spi-impl.h:
1244         Added definition for AccessibleDeviceListener.
1245
1246         * cspi/spi-listener.h:
1247         (enum AccessibleDeviceEventType):
1248         Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
1249         Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
1250         for backwards compat.
1251         (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
1252         and typedef'd AccessibleKeystroke to it for back-compat.
1253         (AccessibleDeviceListenerCB):
1254         New function prototype typedef.
1255
1256         * cspi/spi.h:
1257         (AccessibleDeviceEventMask): New typedef.
1258         (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
1259         (AccessibleKeyMaskType): 
1260         Set equivalent to AccessibleModifierMaskType for back-compat.   
1261         (SPI_createAccessibleKeystrokeListener):
1262         (AccessibleKeystrokeListener_unref):
1263         Deprecated in favor of equivalent (better-named) new API below..
1264         keystroke listeners are like all device listeners.
1265         (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
1266         New API names for old features :-).
1267         (AccessibleDeviceListener_addCallback):
1268         (AccessibleDeviceListener_removeCallback): 
1269         (SPI_registerDeviceEventListener): 
1270         (SPI_deregisterDeviceEventListener): 
1271         New methods.
1272         
1273         * cspi/spi_event.c:
1274         (SPI_createAccessibleKeystrokeListener):
1275         Use new preferred API, cspi_device_listener_new() and
1276         cspi_device_listener_add_cb().
1277         (AccessibleKeystrokeListener_removeCallback):
1278         Use new preferred API, cspi_device_listener_remove_cb().
1279         (AccessibleKeystrokeListener_unref):
1280         Use new preferred API, cspi_device_listener_unref().
1281         (SPI_createAccessibleDeviceListener):
1282         (AccessibleDeviceListener_addCallback):
1283         (AccessibleDeviceListener_removeCallback):
1284         Implementation of new API.
1285
1286         * cspi/spi_registry.c:
1287         (SPI_registerDeviceEventListener):
1288         (SPI_deregisterDeviceEventListener):
1289         Implementation of new API.  Fixed memory leak and removed need to
1290         allocate EventTypeSeq (thanks Michael for catching this).
1291         Squashed a wayward CORBA_exception_free that shouldn't get called.
1292
1293         * cspi/bonobo/cspi-bonobo-listener.c:
1294         (EventHandler):
1295         Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
1296         (cspi_key_event): renamed to cspi_device_event().
1297         Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
1298         Extended to handle mouse button events as well as key events.
1299         (CSpiKeystrokeListener):
1300         Class superceded by CSpiDeviceListener.
1301         (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1302         These internal APIs changed to "*device_listener" from "*keystroke_listener".
1303
1304         * cspi/bonobo/cspi-bonobo-listener.h:
1305         (CSpiKeystrokeListener):
1306         Class superceded by CSpiDeviceListener.
1307         (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
1308         These internal APIs changed to "*device_listener" from "*keystroke_listener".
1309
1310         * libspi/Makefile.am:
1311         Replaced keystrokelistener.h and keystrokelistener.c
1312         with devicelistener.h and devicelistener.c; keystrokelisener.h
1313         stub retained for back-compat.
1314
1315         * libspi/keystrokelistener.c:
1316         Removed file.
1317
1318         * libspi/libspi.h:
1319         Replaced inclusion of keystrokelistener.h with devicelistener.h.        
1320
1321         * registryd/deviceeventcontroller.c:
1322         (DEControllerListener): Added Accessibility_EventTypeSeq member.
1323         (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
1324         (DEControllerPrivateData): Added xkb settings data.
1325         (spi_dec_poll_mouse_moved): Changed to dispatch device events for
1326         button release events (which can't be captured via XGrabButton).
1327         Don't dispatch via the 'normal' event mechanism if the device event was
1328         consumed.
1329         (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
1330         Handle the typeseq data in its new location (see above).
1331         (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
1332         New methods, for "generic" device listeners.
1333         (spi_controller_register_device_listener):
1334         Now handle mouse event listeners as well as key listeners.
1335         (spi_controller_notify_mouselisteners):
1336         New internal method.
1337         (spi_device_event_controller_forward_mouse_event):
1338         Now we notify mouse device listeners as well as generating the
1339         non-consumable "mouse:" events.  
1340         (global_filter_fn):
1341         We must check and restore the XKB
1342         modifier map if we consume the event, since the act of triggering
1343         a mouse event will normally reset the XKB latch.  This is required for 
1344         instance by GOK.
1345         (spi_controller_register_with_devices):
1346         Load the XKB settings when registering, and register for XKB 
1347         state notify events. 
1348         (spi_key_eventtype_seq_contains_event):
1349         Renamed spi_eventtype_seq_contains_event, since it's used
1350         internally for all device event types now.
1351         (spi_key_event_matches_listener):
1352         Uses spi_eventtype_seq_contains_event now.
1353         (spi_device_event_controller_object_finalize):
1354         Free the private data and the XkbKeyboard struct.
1355         (impl_register_device_listener, impl_deregister_device_listener):
1356         Implementation of new IDL.
1357         (spi_deregister_controller_device_listener):
1358         New internal method.
1359         (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
1360         More efficient implementation, we don't have to create a new
1361         XkbControls structure every time we query.
1362         (spi_device_event_controller_class_init):
1363         Initialize the epv entries for the new IDL.  Assign the 
1364         "spi-dec-private" quark.
1365         (spi_device_event_controller_init):
1366         Initialize the private data.
1367         (spi_device_event_controller_forward_key_event):
1368         Removed a bogus CORBA_exception_free() call.
1369         
1370         * registryd/deviceeventcontroller.h:
1371         Replaced inclusion of keystrokelistener.h with
1372         devicelistener.h.
1373
1374         * test/event-listener-test.c:
1375         (report_mouse_event):
1376         New method.
1377         (main):
1378         Added mouse-event device listener.
1379
1380         * test/test-simple.c:
1381         (create_test_window):
1382         Fixed regression (we were instantiating a GtkRange,
1383         which is now an abstract class).  Also fixed to match
1384         existing AtkRole names, this seems to have changed in ATK
1385         awhile ago; too late now I think, and the new
1386         mechanism is at least elegant and consistent with the
1387         glib enum "nick" APIs.  
1388
1389 2002-11-15  Darren Kenny  <darren.kenny@sun.com>
1390
1391         * idl/Accessibility_Relation.idl:
1392         add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
1393         RELATION_EMBEDS,RELATION_EMBEDDED_BY
1394         * idl/Accessibility_Role.idl:
1395         add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
1396         * idl/Accessibility_State.idl:
1397         add STATE_MANAGES_DESCENDANTS
1398         * test/event-listener-test.c:
1399         Added a listener for active-descendant events.
1400
1401 2002-11-15  Padraig O'Briain  <padraig.obriain@sun.com>
1402
1403         * atk-bridge/bridge.c
1404         (atk_bridge_init): If application is Bonobo component wait until top
1405         level is added before registering
1406         (spi_atk_bridge_do_registration): New function which contains code, 
1407         formerly in atk_bridge_init, to do application registration.
1408         (spi_atk_bridge_toplevel_added): Signal called when top level
1409         added to Bonobo component
1410
1411         This fixes bug #83134.
1412
1413 2002-10-23  Vitaly Tishkov  <tvv@sparc.spb.su>
1414
1415         * registryd/deviceeventcontroller.c
1416         Fixed compilation error caused by calling gettimeofday() 
1417         with 1 parameter
1418
1419 2002-10-18  Bill Haneman  <bill.haneman@sun.com>
1420
1421         BUGFIX for #95828.
1422
1423         * acconfig.h:
1424         Added template for HAVE_XKB.
1425         
1426         * configure.in:
1427         Changes to check for XKB, and to set the HAVE_XKB #define if it 
1428         is available.
1429         
1430         * libspi/listener.c:
1431         ()impl_notify_event): Make failure to get event source name
1432         nonfatal.
1433
1434         * registryd/deviceeventcontroller.c:
1435         (#include): include X11/XKBlib.h.
1436         (DEControllerPrivateData) : New struct.
1437         (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) : 
1438         New methods.
1439         (dec_synth_keycode_press) (dec_synth_keycode_release):
1440         New methods; split the key synthesis code into these methods.
1441         They check XKB settings before determining the "time" values to
1442         pass to Xtest; this fixes bug #95828.
1443         (impl_generate_keyboard_event): Changed to use methods above,
1444         instead of callng Xtest directly.
1445         (spi_device_event_controller_init): Initialize new privae struct s
1446         above.
1447         (spi_device_event_controllr_object_finalize):
1448         Free the (new) private data.
1449
1450         * registryd/deviceeventcontroller.h:
1451         Add new gpointer to end of struct data.
1452
1453 2002-10-16  Bill Haneman  <bill.haneman@sun.com>
1454
1455         * configure.in:
1456         Incremented revision to 1.1.2, SONAME is still '.so', library
1457         extensions are ".so.0.0.2".
1458
1459         * registryd/deviceeventcontroller.c:
1460         FIXES FOR #93592 and #95940.
1461         (statics):  renamed mouse_button_state to mouse_mask_state, 
1462         added key_modifier_mask.
1463         (spi_dec_poll_mouse_moved): 
1464         Added key modifier checks, and emit "keyboard:modifiers"
1465         events when the key modifiers currently in use change.
1466         Also generate "mouse:abs" events periodically, even if the mouse
1467         is stationary (should we?).
1468         Alternatively we could generate "mouse:abs" events for either all
1469         mouse movements, or every 'nth' mouse movement, or at the
1470         beginning and end of every "active" mouse period.
1471         
1472         * test/event-listener-test.c:
1473         (main): Added listener for "keyboard:modifiers" events.
1474         
1475 2002-10-15  Bill Haneman  <bill.haneman@sun.com>
1476
1477         * libspi/keymasks.h:
1478         Added key mask #defines for mouse buttons; e.g.
1479         SPI_KEYMASK_BUTTON1, etc.
1480
1481         * configure.in:
1482         Incremented dependency on ATK to version 1.1.0. (This dependency
1483         is probably premature but will soon be real enough).
1484
1485 2002-10-11  Padraig O'Briain  <padraig.obriain@sun.com>
1486
1487         * libspi/hyperlink.[ch]
1488         (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
1489         (get_hyperlink_from_servant): Check object is AtkHyperlink not 
1490         AtkObject.
1491
1492         * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
1493         AtkObject.
1494
1495         Fixes bug #95517.
1496
1497 2002-10-10  Padraig O'Briain  <padraig.obriain@sun.com>
1498
1499         * registryd/deviceeventcontroller.c
1500         (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
1501         events to be ignored.
1502         (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
1503         keyboard_mode so that XAllowEvents() can be called.
1504
1505         Fixes bug #93658.
1506
1507 2002-10-08  Padraig O'Briain  <padraig.obriain@sun.com>
1508
1509         * cspi/spi-accessible.c: Correct names of roles returned by
1510         AccessibleRole_getName(). Fixes bug #95055.
1511
1512 2002-10-03  Padraig O'Briain  <padraig.obriain@sun.com>
1513
1514         * cspi/spi_main.c (report_leaked_ref): Report address of leaked
1515         object.
1516
1517         * registryd/registry.c
1518         (desktop_remove_application: Write diagnostic message to stderr for
1519         consistency.
1520
1521         (impl_accessibility_registry_deregister_global_event_listener):
1522         Correct size of lists array. This addresses bug #94555).
1523
1524 2002-09-24  Padraig O'Briain  <padraig.obriain@sun.com>
1525
1526         * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
1527         in some role names.
1528
1529 2002-09-19  Padraig O'Briain  <padraig.obriain@sun.com>
1530
1531         * registryd/Makefile: Add CLEANFILES so that .server file is removed
1532         on make clean
1533
1534         * registryd/registry.c (impl_registry_notify_event): Remove
1535         unnecessary call to parser_event_type().
1536
1537         * docs/reference/cspi/tmpl/spi_component.sgml:
1538         Add reference to SPI_LAYER_WINDOW.
1539
1540 2002-09-17  Padraig O'Briain  <padraig.obriain@sun.com>
1541
1542         * registryd/registry.c
1543         (desktop_add_application): Remove leak.
1544         (desktop_remove_application): Remove leak.
1545         (parser_event_type): Remove leak.
1546
1547 2002-09-16  Padraig O'Briain  <padraig.obriain@sun.com>
1548
1549         * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
1550         bogus call to CORBA_string_dup(). Also removed unnecessary
1551         g_string_dup/g_free calls.
1552         
1553 2002-09-13  Bill Haneman <bill.haneman@sun.com>
1554
1555         * registryd/deviceeventcontroller.c:
1556         spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
1557
1558         * test/event-listener-test.c:
1559         main: commented out three redundant listeners, to reduce output
1560         noise. (They still are potentially useful for testing).
1561         
1562
1563 2002-09-13  Michael Meeks  <michael@ximian.com>
1564
1565         * Update all the copyrights to include Ximian.
1566
1567 2002-09-06  Mark McLoughlin  <mark@skynet.ie>
1568
1569         * cspi/spi.h: add SPI_LAYER_WINDOW.
1570
1571         * cspi/spi_component.c: (AccessibleComponent_getLayer):
1572         add Accessibility_LAYER_WINDOW case.
1573
1574         * idl/Accessibility_Component.idl: add LAYER_WINDOW.
1575
1576         * libspi/component.c: (impl_accessibility_component_get_layer):
1577         add ATK_LAYER_WINDOW case.
1578
1579 2002-08-28  Bill Haneman <bill.haneman@sun.com>
1580
1581         * configure.in: incremented micro version.
1582
1583         * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
1584
1585 2002-08-20  Bill Haneman <bill.haneman@sun.com>
1586
1587         * HACKING: 
1588         Clarified and reworded our commit policy.
1589
1590         * NEWS:
1591         Started an API "todo" addition list for 2.2.
1592
1593         * libspi/text.c:
1594         (impl_getSelection):
1595         Free char pointer from atk_text_get_selection, which was being leaked.
1596
1597 2002-08-19  Bill Haneman <bill.haneman@sun.com>
1598
1599         * AUTHORS: 
1600         Small revision to author acknowledgement.
1601
1602 2002-08-19  Padraig O'Briain  <padraig.obriain@sun.com>
1603
1604         * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
1605         If signal has detail add it to the type of the event.
1606         (bug #90838)
1607         
1608 2002-08-12  Michael Meeks  <michael@ximian.com>
1609
1610         * test/test-simple.c (global_listener_cb): bin bogosity.
1611         (test_keylisteners): disable, still doesn't work reliably,
1612         certainly not on my system anyway.
1613
1614         * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
1615         don't leak a reference on the DEC. This round-trip
1616         fetching of the DEC per keystroke sucks, it should be
1617         cached.
1618
1619         * cspi/spi-private.h,
1620         * cspi/cspi-lowlevel.h,
1621         * cspi/bonobo/cspi-bonobo-listener.[ch],
1622         * cspi/bonobo/cspi-bonobo.c: get the copyright
1623         notices better - there is still a large amount of
1624         work in at-spi falsely attributed solely to Sun.
1625
1626         * cspi/spi_main.c (cspi_object_ref): kill bogus
1627         hash lookup, just increment the ref.
1628         (SPI_freeString): make explicit the fact that we
1629         handle NULL strings just fine.
1630         (report_leaked_ref): obey coding standards.
1631         (cspi_object_hash, cspi_object_equal): kill retval.
1632         (cspi_object_release): only release if not on loan.
1633         (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
1634         (cspi_object_borrow, cspi_object_return): impl.
1635
1636         * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1637         use cspi_object_borrow / return.
1638
1639 2002-08-12  Darren Kenny  <darren.kenny@sun.com>
1640
1641         * cspi/bonobo/cspi-bonobo-listener.c: 
1642         (cspi_event):
1643         Don't call cspi_oject_new() because this is creating a new Accessible
1644         every single time that an event is fired. This causes ATs like at-poke
1645         to nolonger recognise the source of the event and thus ignore it.
1646         Re-use the object from the cache, ref it and then unref it after the
1647         listeners have been called.
1648
1649 2002-08-06  Darren Kenny  <darren.kenny@sun.com>
1650
1651         * test/event-listener-test.c: 
1652         Added command-line options to disable mouse events (m) and
1653         show usage (h). 
1654
1655 2002-07-31  Padraig O'Briain  <padraig.obriain@sun.com>
1656
1657         * configure.in: Update required versions of ATK, GTK+ and GAIL
1658
1659         * cspi-1.0.pc.in: Add dependency for X include files
1660
1661         * cspi/Makefile.am:
1662         * cspi/bonobo/Makefile.am: 
1663         Add $(X_CFLAGS) so that X include files 
1664         are picked up even if not in standard place (bug #71686)
1665
1666 2002-06-25  Bill Haneman  <bill.haneman@sun.com>
1667
1668         * registryd/deviceeventcontroller.c: fix for 84261
1669         (spi_dec_mouse_moved):
1670         Added test of mouse button mask, so that we can detect mouse
1671         button release.  Unfortunately we can't otherwise detect mouse
1672         button release events without consuming the mouse press event,
1673         because of the way XGrabButton works.  This means that our mouse
1674         release events have a latency dependent on the polling period
1675         while the mouse button is down.  At least in this case we only
1676         have to poll while the button is down, and not at other times.
1677         If the button masks don't match with what the last press event
1678         reported, we report the appropriate button release event.
1679         (spi_dec_ungrab_mouse):
1680         New method (not yet called).
1681         (spi_device_event_controller_forward_mouse_event):
1682         New method, sends mouse press event from GdkFilter.
1683         (spi_dec_init_mouse_listener):
1684         Added code to call XGrabButton, redirecting mouse button events to
1685         the root window and our Gdk event loop.
1686         (global_filter_fn):
1687         Added code to filter mouse button events, and reordered.
1688         
1689         * test/event-listener-test.c:
1690         (main):
1691         Added registration for mouse events of type "mouse:button".
1692
1693 2002-06-25  Bill Haneman  <bill.haneman@sun.com>
1694
1695         * registryd/deviceeventcontroller.c: partial fix for 84261
1696         (spi_dec_poll_mouse_idle):
1697         New method, a timeout which checks to see if the mouse
1698         has moved.
1699         (spi_dec_poll_mouse_moving):
1700         A timeout to be called when mouse motion is underway.
1701         (spi_dec_poll_mouse_moved):
1702         A method which fires an event if the mouse has moved, and reports
1703         whether or not it did so. 
1704         (spi_dec_init_mouse_listener):
1705         A method which sets up the timeouts above.
1706         (spi_device_event_controller_new):
1707         Now calls spi_dec_init_mouse_listener.
1708
1709         * registryd/registry.c:
1710         (spi_registry_init):
1711         Now we initialize the device event controller when the registry is
1712         initialized, instead of waiting until a client has requested a key
1713         event notification; this is because we need the event controller
1714         for mouse events, but the mouse event registration API is a
1715         "registry" call and doesn't explicitly call the 
1716         deviceeventcontroller.
1717         We now report mouse motion events with a 100 ms idle latency and
1718         a 20 ms granularity when motion is in progress.
1719
1720         * test/event-listener-test.c:
1721         (main):
1722         We now register the "detail listener" for events of type 
1723         "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
1724         delivered only for the first mouse event received, and thereafter
1725         "mouse:abs" events are delivered.)
1726
1727         * cspi/spi_registry.c:
1728         DOCS: Documented the above mouse event typestrings.
1729         
1730 2002-06-21  Bill Haneman  <bill.haneman@sun.com>
1731
1732         Happy Summer Solstice...
1733
1734         * registryd/deviceeventcontroller.c: [fix for bug 84100]
1735         (spi_controller_notify_keylisteners):
1736         Changes to remove a listener from the listener list, freeing its
1737         open keygrabs, if a notification to that listener fails.  This
1738         means that although a dead listener can continue to hold a passive
1739         keygrab, a maximum of one dispatch to such a listener can fail
1740         before the listener is removed from the list, thus the keygrab
1741         will be released on the next occurrence.
1742         As part of this fix:
1743         (spi_notify_keylisteners):
1744         Renamed to spi_controller_notify_keylisteners, as the controller
1745         instance must now be passed as an argument.
1746         The copied 'notify' GList is now a list of DEControllerKeyListener
1747         objects, since we need more than just the CORBA reference if a
1748         notify fails and we need to deregister the listener.
1749         (impl_notify_listeners_sync):
1750         (impl_notify_listeners_async):
1751         (spi_device_event_controller_forward_key_event):
1752         Modify use of notify_keylisteners in accordance with above
1753         changes.
1754         (spi_deregister_controller_key_listener):
1755         New method introduced by refactoring, from 
1756         impl_deregister_keystroke_listener.
1757         (impl_deregister_keystroke_listener):
1758         Call spi_deregister_controller_key_listener.
1759         (spi_key_listener_clone):
1760         New method to copy a key listner without doing a 'ref' on the
1761         remote object instance; used to create a notifier list.
1762         (spi_key_listener_data_free):
1763         New method, frees data without unreffing the source.
1764         Used in refactor.
1765         (spi_key_listener_clone_free): new method.
1766         (spi_key_listener_free): 
1767         refactored to call spi_key_listener_data_free.
1768         
1769 2002-06-20  Bill Haneman  <bill.haneman@sun.com>
1770
1771         * registryd/registry.c: [fix for bug 86048]
1772         (notify_listeners_cb):
1773         Clear CORBA system exceptions which occur when notifying
1774         listeners, before returning to the source of the original event,
1775         since the event source doesn't care if the relayed notify failed.
1776         In other words, don't complain to the atk-bridge if the registry
1777         could not notify all its listeners, that's no fault of the
1778         application and thus should not appear to be an error from the
1779         application's perspective.
1780         
1781         * cspi/spi_main.c: [fix for bug 85980]
1782         (cspi_object_ref):
1783         Replaced use of bonobo_object_dup_ref with call to the wrapper
1784         method, csou_dup_ref (); this silences a compiler warning and
1785         provided more portability.
1786         (cspi_registry):
1787         Ping the registry before return, and restart if necessary.
1788
1789         * cspi/bonobo/cspi-bonobo.c:
1790         (cspi_ping):
1791         New internal method.
1792         (cspi_dup_ref):
1793         Fixed this method to return an object reference, as it should have
1794         all along.
1795
1796         * cspi/cspi-lowlevel.h:
1797         Added internal definition for cspi_ping() and fixed 
1798         return type of cspi_dup_ref().
1799         
1800
1801 2002-06-19  Bill Haneman  <bill.haneman@sun.com>
1802
1803         * atk-bridge/bridge.c:  [fix for bug 85305]
1804         (spi_atk_bridge_register_application):
1805         New method where the initial application registry calls have been
1806         moved; it allows an application to re-register in response to
1807         certain error conditions (such as a registry restart, see below).
1808         (atk_bridge_init):
1809         Moved some initialization code to the method
1810         spi_atk_bridge_get_registry, below.
1811         (spi_atk_bridge_get_registry):
1812         New, private accessor function for the Accessibility_Registry
1813         instance.  If the registry has not been started before, or has
1814         died (as detected by failure of a CORBA exception), it is
1815         restarted before return, and spi_atk_bridge_register_application
1816         is called again to register with the new bridge instance.
1817         (spi_atk_emit_eventv):
1818         Set registry_died on error; use spi_atk_bridge_get_registry () to
1819         access the registry.
1820         
1821         * registryd/registry.c:
1822         (impl_accessibility_registry_register_global_event_listener):
1823         Set listener's event_type_quark to etype.minor instead of
1824         etype.major (fix for bug 84856).
1825
1826         * test/event-listener-test.c:
1827         (report_detail_event):
1828         Change the output string so that user/tester can tell that the
1829         'detail listener' was called instead of the 'generic listener'.
1830         
1831 2002-06-18  Bill Haneman  <bill.haneman@sun.com>
1832
1833         Fixes for bugs 84900, 84908, 84897, 84898.
1834
1835         * NEWS: updated.
1836         
1837         * configure.in:
1838         Revved version to 1.1.0 
1839         (reserving the 1.0.X branch for gnome-2-0-0 branch, this
1840         version is going to HEAD which will be used for gnome-2-0-1 and later.)
1841         
1842         * idl/Accessibility_Registry.idl:
1843         (EventListener::notifyEvent):
1844         Removed 'oneway' directive after extensive consulation with
1845         ORBit2 team and others.  This means also that unref() of the event
1846         source can and should be done synchronously after emission, rather
1847         than remotely in the client, after servicing the notify call on
1848         the listener side.
1849
1850         NOTE: This change speeds up listener performance considerably, but
1851         introduces new latency on the application side.  We may want to
1852         add an event queue to the atk-bridge.
1853
1854         * atk-bridge/bridge.c:
1855         (spi_atk_bridge_focus_tracker):
1856         Do a local unref() on the event source after emission.
1857         
1858         * registryd/registry.c:
1859         (desktop_remove_application):
1860         Do an unref() on the event source after emission.
1861         (desktop_add_application):
1862         Do an unref() on the event source after emission.
1863         (notify_listeners_cb):
1864         When relaying an event, don't automatically add the event source
1865         to the local object cache, just CORBA_dup it instead.  Likewise,
1866         if this method reenters, release the ref rather than calling
1867         unref() as well.
1868         (impl_registry_notify_event):
1869         No longer call remote unref() on the event source after dispatch.
1870
1871         * libspi/eventlistener.c:
1872         (impl_accessible_event_notify_event):
1873         Removed remote unref ()
1874         
1875         * cspi/bonobo/cspi-bonobo-listener.c:
1876         (cspi_event):
1877         We now call cspi_object_new() instead of cspi_object_add() on
1878         receipt of an event; thus we only have an implicit object ref
1879         while the cspi_event method is being executed.  If we need to keep
1880         a reference to the object, the listener must call ref() on the
1881         object.  Thus also we don't need to call cspi_object_unref() after
1882         invoking the listener callbacks in this method.
1883         
1884         * cspi/spi_main.c:
1885         (cspi_object_new):
1886         New internal API for creating a new cspi object, without adding it
1887         to the object cache.
1888         (cspi_object_add):
1889         Now uses cspi_object_new() to create the cspi object instance.
1890         (cspi_object_ref):
1891         Now checks to see if the object is in the internal object cache,
1892         and adds it if necessary before incrementing its refcount (note
1893         that new objects are added with a refcount of 1).
1894         (report_leaked_ref):
1895         New method which gives some information on leaked object instances
1896         if leak detection is turned on.
1897
1898         * test/event-listener-test.c:
1899         (timing_test_event):
1900         New method, used for testing event delivery timing for special
1901         events of type "object:test".  It reports elapsed time and
1902         events/sec every 500 events.
1903         (main):
1904         Added a new listener, 'test listener', to check timing of event
1905         receipt as noted above.
1906         (report_event):
1907         Added some timing output here also, reports elapsed time every 100
1908         events.
1909
1910         * test/stress-test.c:
1911         Emit events of type "object:test", for use with "event-listener-test".
1912
1913         * test/test-simple.c:
1914         (global_listener_cb):
1915         Call Accessible_ref() on the event source before calling
1916         validate_accessible, since the validation process does pointer
1917         comparisons on the event source, meaning that the event source
1918         needs to be added to the local object cache first.  Any use of
1919         such pointer comparisons between Accessible objects requires that
1920         the caller hold an explicit reference to those objects.
1921         We also must therefore call Accessible_unref() when leaving this method.
1922
1923 2002-06-13  Bill Haneman  <bill.haneman@sun.com>
1924
1925         * registryd/deviceeventcontroller.c:
1926         (spi_controller_update_key_grabs):
1927         Fix for #84735, subsequent keygrab listeners not informed of
1928         registration failure.
1929
1930         * libspi/base.c:
1931         (spi_base_construct):
1932         Add an assertion on construct, to make sure the GObject passed in
1933         is really a GObject.
1934         (spi_base_init):
1935         Explicitly initialize object->gobj pointer to NULL;
1936
1937         * cspi/bonobo/cspi-bonobo-listener.c:
1938         (cspi_object_add_ref):
1939         New method, can specify whether to dup-ref a bonobo object passed
1940         in if it's newly added to the object cache.
1941         (cspi_object_add):
1942         Now calls cspi_object_add_ref with second param of "FALSE".  This
1943         prevents us from doing a pointless dup-ref followed by
1944         release-unref for all those cases where the object is already in
1945         our object cache (fix for #85205).
1946
1947         * atk-bridge/bridge.c:
1948         (spi_atk_bridge_idle_init):
1949         Removed this method, we don't need to initialize in an idle
1950         handler anymore;
1951         (atk_bridge_init):
1952         Changed to call spi_atk_register_event_listeners directly, not via an
1953         idle handler. (fix for #81139)
1954         (gnome_accessibility_module_shutdown):
1955         Removed conditional around deregistration of listeners, since we
1956         don't use the idle handler and thus have always registered when
1957         shutdown is called.
1958         (spi_init_keystroke_from_atk_key_event):
1959         Changed references to Accessibility_KEY_PRESSED to 
1960         Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
1961         
1962 2002-06-12  Bill Haneman  <bill.haneman@sun.com>
1963
1964         (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
1965         
1966         * configure.in:
1967         Revved to 1.0.1
1968
1969         * test/stress-test.c:
1970         Added file.
1971
1972         (may have been an incomplete commit yesterday?)
1973
1974 2002-06-12  Bill Haneman  <bill.haneman@sun.com>
1975
1976         * test/Makefile.am:
1977         Added target for new stress-test.
1978         
1979         * test/stress-test.c:
1980         New test, sends 1000 focus notifies in quick succession.
1981
1982         * test/key-listener-test.c:
1983         Now we report whether a keylistener registration
1984         request succeeded or failed.
1985
1986         * test/event-listener-test.c:
1987         Uncommented some listeners which are now implemented.
1988
1989
1990 2002-06-06  Bill Haneman  <bill.haneman@sun.com>
1991
1992         * registryd/deviceeventcontroller.c:
1993         (spi_controller_update_key_grabs):
1994         Fix for #82509, lack of failure notification when
1995         ALL_WINDOWS keygrabs fail due to XGrabKey
1996         failure: we synchronize the server when 
1997         registering a passive grab, to make sure we get the
1998         error message before the call returns.
1999
2000 2002-06-03  Bill Haneman  <bill.haneman@sun.com>
2001
2002         * test/test-simple.c:
2003         (key_listener_cb):
2004         Removed #ifdef KEY_IMPL_WORKS guards.
2005         (test_keylisteners):
2006         Removed #ifdef KEY_IMPL_WORKS guards.
2007         Fixed bug which was causing a hang waiting for a 
2008         "press" event (which was already overwritten by a "release" 
2009         event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
2010         (key_listener_cb):
2011         Added code to set globals 'key_press_received' and
2012         'key_release_received'.
2013
2014         * TODO:
2015         Added section "1.1 API Proposed Additions" which
2016         lists API additions desired for at-spi-1.1 (only one so far).
2017         Updated TODO list a little.
2018         
2019 2002-06-02  Bill Haneman  <bill.haneman@sun.com>
2020
2021         AT-SPI 1.0 API FINAL: at-spi 1.0 is now
2022         API frozen.
2023         
2024         * configure.in: Revved to 1.0.0.
2025
2026         * idl/Accessibility_Registry.idl:
2027         (registerKeystrokeListener):
2028         Added boolean return value.
2029         
2030         * registryd/registry.c:
2031         (notify_listeners_cb): Minor fix to debug output.
2032
2033         * registryd/Accessibility_Registry.server.in.in:
2034         Revved version number in OAFIID to 1.0.
2035
2036         * registryd/registryd.c:
2037         (main):
2038         Use new OAFIID version.
2039
2040         * cspi/bonobo/cspi-bonobo.c:
2041         (cspi_init):
2042         Use new OAFIID version.
2043
2044         * test/at.c:
2045         (main):
2046         * test/app.c:
2047         (main):
2048         * atk-bridge/bridge.c:
2049         (atk_bridge_init):
2050         Use new OAFIID version.
2051
2052         * registryd/deviceeventcontroller.c:
2053         (impl_register_keystroke_listener):
2054         Added CORBA_boolean return value.
2055         (spi_controller_register_device_listener):
2056         Added gboolean return value.
2057         (spi_controller_register_global_keygrabs):
2058         Added gboolean return value.
2059         (spi_key_set_contains_key):
2060         Added implementation for many more control keys,
2061         for instance F1-F12, arrow keys, End, Home, Page_Up,
2062         Page_Down, Escape.
2063         [TODO: some still not implemented]. 
2064         
2065         * text/screen-review-test.c:
2066         (text_chunk_pad_string):
2067         New function: it provides mapping between coordinate
2068         positions of text chunks and character positions in the
2069         screen-review-line output string.
2070         (text_chunk_to_string):
2071         New function, calls text_chunk_pad_string with various
2072         pad/delimiter characters. Pushbuttons are delimited with
2073         square brackets, Frames with vertical 'pipe' lines, and 
2074         other text with double quotes.
2075         (text_chunk_list_to_string):
2076         Calls new function text_chunk_to_string.
2077         (toplevel_composite):
2078         New function to composite layers CANVAS through
2079         POPUP in each toplevel (other layers are composited
2080         across toplevels, i.e. BACKGROUND and OVERLAY).
2081         (review_buffer_composite):
2082         Revise to use new methods.
2083         
2084         
2085         
2086         
2087
2088 2002-05-31  Laszlo Peter  <laca@sun.com>
2089
2090         * configure.in: add the Xtst libdir to the runpath on Solaris,
2091         since it's not in the default library search path.
2092
2093 2002-05-29  jacob berkman  <jacob@ximian.com>
2094
2095         * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
2096
2097 2002-05-29  Bill Haneman  <bill.haneman@sun.com>
2098
2099         * test/screen-review-test.c:
2100         (text_chunk_pad_string):
2101         Added method, which pads the string according to the 
2102         text bounds of the chunk.  It also takes a 3-character
2103         string as a param which indicates the characters to be 
2104         used for start, padding, and end delimitation of the chunk.
2105         (text_chunk_to_string):
2106         Changed to use text_chunk_pad_string.
2107         
2108         * configure.in: Fixed bug in AC_OUTPUT that was
2109         causing path substitution in Accessibility_Registry.server
2110         to fail.
2111
2112 2002-05-23  Bill Haneman  <bill.haneman@sun.com>
2113
2114         * text/screen-review-test.c:
2115         (guess_string_clip):
2116         New method which attempts a best-guess at clipping
2117         text from components (like Java labels) which don't
2118         actually implement AccessibleText.  This inaccurate
2119         clip is based on the assumption that the label is
2120         justified left-and-right, and monospaced.
2121         (text_chunk_get_clipped_string):
2122         We now call guess_string_clip() for text-containing
2123         components that don't implement AccessibleText.
2124
2125         * test/screen-review-test.c:
2126         (review_buffer_get_text_chunk):
2127         We now pull "name" from labels if they do not implement
2128         AccessibleText (i.e. for Java labels).
2129         (get_screen_review_line_at):
2130         Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
2131
2132         * configure.in:
2133         Replaceded AC_OUTPUT target
2134         registryd/Accessibility_Registry.server with 
2135         registryd/Accessibility_Registry.server.in.
2136
2137         * registryd/Accessibility_Registry.server.in:
2138         Removed (this is now a Makefile target).
2139
2140         * registryd/Accessibility_Registry.server.in.in:
2141         Added (source for target above).  We now use $(libexecdir) as
2142         prefix for the executable at-spi-registryd.
2143
2144         * registry/Makefile.am: 
2145         Now install at-spi-registryd into $(libexecdir), and build .server
2146         file with path (see above).
2147         
2148 2002-05-22  Bill Haneman  <bill.haneman@sun.com>
2149
2150         * test/screen-review-test.c:
2151         (text_chunk_get_clipped_string):        
2152         We now check to see if words fall within clip bounds 
2153         before resorting to character-by-character clip bounds testing.
2154
2155         * TODO: Added a section for "2.2 Proposed API Additions".
2156
2157 2002-05-21  Bill Haneman  <bill.haneman@sun.com>
2158
2159         * test/screen-review-test.c:
2160         * test/Makefile.am:
2161         Added a screen review benchmarking and test program to test
2162         directory.
2163
2164         * cspi/spi_accessible.c:
2165         * cspi/spi_main.c:
2166         Made some of the debug strings passed to cspi_check_ev a
2167         little more specific.
2168
2169 2002-05-21  Padraig O'Briain  <padraig.obriain@sun.com>
2170
2171         * test/screen-review-test.c: Fix crashes in debug statements
2172
2173 2002-05-20  Bill Haneman  <bill.haneman@sun.com>
2174
2175         * test/screen-review-test.c: Added this file.
2176
2177 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
2178
2179         * atk-bridge/bridge.c: changed "object:state-change" to
2180         "object:state-changed" to match docs.
2181
2182 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
2183
2184         * atk-bridge/bridge.c: Hooked up state-change event details.
2185
2186 2002-05-11  Bill Haneman <bill.haneman@sun.com>
2187
2188         * registryd/registry.c:
2189         Fixed quarking bug in event string parsing; now events with
2190         detail parameters get matched correctly to listeners.
2191         [Bugzilla 80608].
2192
2193         * util/idl/Magnifier.idl: remove.
2194         * util/idl: remove
2195         * util/*.[ch]: Remove.
2196         Magnification utilities and IDL are now in module gnome-mag.
2197
2198 2002-05-10  Bill Haneman <bill.haneman@sun.com>
2199
2200         * registryd/deviceeventcontroller.c:
2201         Fixed bug in grab key conversion which was causing keycode grabs
2202         to be converted to AnyKey grabs.
2203
2204         * NEWS:
2205         updated NEWS file to reflect recent spin-off of gnome-mag.
2206
2207 2002-05-09  Marc Mulcahy <marc.mulcahy@sun.com>
2208
2209         * cspi/spi_accessible.c: Added exception checks.  Fixed completely
2210         busted AccessibleStateSet_compare.  Removed redundant casts.
2211         
2212         * cspi/spi-action.c: Removed redundant casts.
2213
2214         * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
2215
2216         * cspi/spi_component.c: Fixed typos and casting error.
2217
2218         * cspi/spi_editabletext.c: Removed redundant casts.
2219
2220         * cspi/spi_hyperlink.c: Fixed casting and exception checking.
2221
2222         * cspi/spi_hypertext.c: Eliminated redundant casts.
2223
2224         * cspi/spi_image.c: Eliminated redundant casts.
2225
2226         * cspi/spi_registry.c: Eliminated redundant casts.
2227         SPI_deregisterGlobalEventListenerAll () removed retval variable.
2228         * cspi/spi_selection.c: Removed redundant casts.
2229         * cspi/spi_text.c: Eliminated redundant casts.  Fixed exception
2230         handling.  Screen geometry and text offsets were being returned as 0
2231         on error which is technically valid-- changed these to return -1.
2232         Added marshaller for text boundary types to fix bug with boundary
2233         types being passed incorrectly to atk.
2234                         
2235 2002-05-09  Bill Haneman <bill.haneman@sun.com>
2236
2237         
2238         * cspi/spi_registry.c:
2239         Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
2240         which was uncovered by the recent key changes.
2241
2242 2002-05-09  Bill Haneman <bill.haneman@sun.com>
2243
2244         * test/event-listener-test.c:
2245         * test/Makefile.am:
2246         Added new test, "event-listener-test"; 
2247         this code does two things; it benchmarks traversal time 
2248         for the accessible hierarchy for the first running accessible 
2249         app, and it connects listeners for all supported event types.  
2250         It is thus useful as an example event listener and for 
2251         diagnostics/debugging of event generation.
2252         
2253 2002-05-08  Bill Haneman <bill.haneman@sun.com>
2254
2255         * test/Makefile.am:
2256         Removed unnecessary dependency on libutil.
2257
2258         * configure.in:
2259         Revved micro version: 0.13.1
2260
2261 2002-05-08  Bill Haneman <bill.haneman@sun.com>
2262
2263         * configure.in: 
2264         Removed util/Makefile from targets.
2265
2266         * Makefile.am:
2267         Removed util subdir from SUBDIRS (temporarily, 
2268         pending removal of magnifier-only code
2269         from UTIL).
2270
2271         * test/simple-at.c:
2272         #ifdef-ed out magnifier dependencies, since
2273         magnifier IDL, headers, and binary now live in
2274         module gnome-mag and we don't want at-spi to depend 
2275         on gnome-mag.  A magnifier demo which can run alongside
2276         simple-at is forthcoming in the gnome-mag module.
2277         
2278         NOTE: Split magnifier binary, IDL, and magnification
2279         activation code from at-spi into module gnome-mag.
2280
2281 2002-05-03  Marc Mulcahy <marc.mulcahy@sun.com>
2282  
2283         * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
2284         cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
2285  
2286 2002-05-03  Bill Haneman <bill.haneman@sun.com>
2287
2288         * configure.in:
2289         Revved to version 0.13.0
2290         
2291         * idl/Accessibility_Registry.idl:
2292         Changed definition of KeySet from sequence of longs to sequence of
2293         KeyDefinitions, and added KeyDefinition struct.
2294         Required for fix to bug 80616.
2295
2296         * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
2297         Changed AccessibleKeySet to Accessibility_KeySet marshalling code
2298         to use new definition (see above).  
2299
2300         * registryd/deviceeventcontroller.c: handle_keygrab(), 
2301         spi_keyset_contains_key():
2302         Changed to make use of new struct; this allows matching based on
2303         string key-name, for instance "Tab".  This also allows matching of
2304         composed characters, non-alphanumeric characters in a way that
2305         doesn't involve dependencies on X keysym codes directly, etc.
2306         
2307         * test/key-listener-test.c:
2308         Added test for Alt-Tab key using "string" specification of keyset,
2309         and modified one of the tests to use a keycode-based keyset.
2310         Thus this test both tests and demonstrates the creation and use of
2311         keysets of three forms:  specified via keycode array, 
2312         keysym array, and string array. (The string case only contains a
2313         single string, i.e. a string array of length 1).        
2314
2315         * test/simple-at.c:
2316         Turned on PRINT_TREE option by default.  Also fixed a
2317         string-freeing bug in the PRINT_TREE code.  
2318         Added a listener to window:minimize events.
2319         
2320 2002-05-08  Padraig O'Briain  <padraig.obriain@sun.com>
2321
2322         * atk-bridge/bridge.c:
2323         (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
2324         for window:activate and window:deactiveate
2325         (atk_bridge_property_event_listener atk_bridge_signal_listener
2326         atk_bridge_window_event_listener) Tidy debug code
2327
2328 2002-05-02  Marc Mulcahy <marc.mulcahy@sun.com>
2329
2330         * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
2331         Fixed handling for NULL return value from ATK.
2332
2333         * libspi/action.c libspi/component.c libspi/editabletext.
2334         libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
2335         libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
2336         Removed redundant casts.
2337         
2338         * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
2339         Fixed off by one bug.
2340         
2341         *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
2342         function not present in idl)
2343         
2344 2002-05-02  jacob berkman  <jacob@ximian.com>
2345
2346         * atk-bridge/Makefile.am: make atk-bridge a real module
2347
2348 2002-04-26  Radek Doulik  <rodo@ximian.com>
2349
2350         * libspi/stateset.c (spi_init_state_type_tables): fix size of
2351         atk_state_types table
2352
2353 2002-04-22  jacob berkman  <jacob@ximian.com>
2354
2355         * util/Makefile.am: 
2356         * libspi/Makefile.am: add deps on the built files to help
2357         automake, and don't version the ORBit typelib
2358
2359 2002-04-19  Padraig O'Briain  <padraig.obriain@sun.com>
2360
2361         * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h 
2362         cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
2363         cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c 
2364         cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
2365         cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
2366         cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
2367         cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
2368         libspi/accessible.h libspi/accessible.h libspi/base.h 
2369         libspi/component.h libspi/editabletext.h libspi/hyperlink.h 
2370         libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
2371         libspi/relation.h libspi/remoteobject.h libspi/selection.h 
2372         libspi/spi-private.h libspi/statetset.h libspi/table.h
2373         libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
2374         util/mag_client.h util/mag_control.c util/mag_image.c
2375         util/mag_image.h util/magnifier.c util/magnifier.h: 
2376         Add missing file headers; standardize existing ones
2377
2378 2002-04-18  Marc Mulcahy  <marc.mulcahy@sun.com>
2379
2380         * atk-bridge/bridge.c: Added window event support.
2381
2382 2002-04-18  Michael Meeks  <michael@ximian.com>
2383
2384         * libspi/relation.c (impl_getNTargets): impl.
2385         (impl_getTarget): impl.
2386
2387         * libspi/Makefile.am: fix stateset install.
2388
2389 2002-04-17  Bill Haneman <bill.haneman@sun.com>
2390
2391         * NEWS:
2392         Started putting useful info in this file.
2393         
2394 2002-04-17  Marc Mulcahy <marc.mulcahy@sun.com>
2395  
2396         * atk-bridge/bridge.c: 
2397         Propagate state-changed notifications to ATs
2398  
2399         * cspi/spi_registry.c: update docs to reflect actual behavior of
2400         state-change events.
2401
2402 2002-04-17  Bill Haneman <bill.haneman@sun.com>
2403
2404         * configure.in:
2405         Incremented version to 0.12.1
2406         
2407         * util/mag_client.h:
2408         Add missing declaration for magnifier_exit, 
2409         used by mag_control.c - Forte compiler didn't like
2410         the implicit redeclaration of the function :-(
2411
2412
2413 2002-04-16  Bill Haneman <bill.haneman@sun.com>
2414
2415         * configure.in:
2416         Revved version to 0.12 due to API change (see below).
2417
2418         * cspi/spi-roletypes.h:
2419         removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE 
2420         definition from the inline docs, and added docs
2421         for SPI_ROLE_LAST_DEFINED.
2422
2423         * cspi/spi.h:
2424         * cspi/spi_streamablecontent.c:
2425         Added missing seek_type parameter to
2426         (so far unused) method, 
2427         AccessibleStreamableContent_seek().
2428         [ RT approval JodyG. ]
2429
2430         * cspi/spi_event.c:
2431         Fixed docs for SPI_createAccessibleKeystrokeListener.
2432
2433         * cspi/spi_registry.c:
2434         Fixed docs for SPI_KEYSET_ALL_KEYS.
2435         
2436         * docs/reference/cspi/at-spi-cspi-sections.txt:
2437         Added a number of missing APIs to SECTIONS.
2438         
2439 2002-04-16  Bill Haneman <bill.haneman@sun.com>
2440
2441         * registryd/Makefile.am:
2442         * cspi/Makefile.am:
2443         * cspi/bonobo/Makefile.am:
2444         Add $(X_LIBS) to makefiles.
2445
2446 2002-04-15  Bill Haneman <bill.haneman@sun.com>
2447
2448         * configure.in:
2449         Revved version to 0.11.
2450
2451         * libspi/component.c:
2452         Added implementation for grabFocus.
2453
2454         * idl/Accessibility_Component.idl
2455         (Accessibility_Component_grabFocus):
2456         Made this method return boolean to indicate success or failure, to
2457         be consistent with cspi and the corresponding ATK method.
2458         
2459         * idl/Accessibility_Selection.idl
2460         (Accessibility_Selection_selectAll) :
2461         Made these methods return boolean to indicate success or
2462         failure, to be consistent with cspi and the corresponding ATK methods.
2463         
2464         * idl/Accessibility_EditableText.idl 
2465         (Accessibility_EditableText_setTextContents,
2466          Accessibility_EditableText_insertText,
2467          Accessibility_EditableText_cutText,
2468          Accessibility_EditableText_deleteText,
2469          Accessibility_EditableText_pasteText):
2470         Made these methods return boolean to indicate
2471         success or failure.
2472
2473         * cspi/spi_editabletext.c:
2474         Made these methods return booleans.
2475
2476         * libspi/selection.c:
2477         * libspi/component.c:
2478         * libspi/editabletext.c:
2479         Connected the boolean returns from ATK
2480         to the server-side code referenced above.
2481         
2482 2002-04-14  Bill Haneman <bill.haneman@sun.com>
2483
2484         * idl/Accessibility_Table.idl: Added missing methods,
2485         Accessibility_Table_addRowSelection,
2486         Accessibility_Table_addColumnSelection,
2487         Accessibility_Table_removeRowSelection,
2488         Accessibility_Table_removeColumnSelection.
2489
2490         * cspi/spi_table.c:
2491         Added C wrappers for above IDL:
2492         AccessibleTable_addRowSelection,
2493         AccessibleTable_addColumnSelection,
2494         AccessibleTable_removeRowSelection,
2495         AccessibleTable_removeColumnSelection.
2496         
2497         * libspi/table.c:
2498         Added server-side implementation code for IDL above, connecting
2499         to pre-existing ATK api.
2500         
2501 2002-04-13  Marc Mulcahy <marc.mulcahy@sun.com>
2502
2503         * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
2504
2505         * libspi/accessible.c: Added implementation fo
2506         Accessibility_Accessible_get_state.
2507         
2508         * libspi/libspi.h: Added stateset.h to the list of includes.
2509
2510         * libspi/stateset.c: Fixed broken implementation.
2511
2512 2002-04-13  Bill Haneman <bill.haneman@sun.com>
2513
2514         * util/magnifier.c:
2515         Added implementation code for Accessibility_Magnifier_exit ().
2516
2517         * util/mag_control.c:
2518         Added test code for above method; you can
2519         now kill an existing magnifier via 
2520         ./mag_control q, from the util directory.
2521
2522         * test/key-listener-test.c:
2523         * test/Makefile.am:
2524         Added a new test, for our key listener API.
2525
2526 2002-04-11  Bill Haneman <bill.haneman@sun.com>
2527
2528         * test/app.c, test/keysynth-demo.c:
2529         * util/magnifier.c:
2530         Replace use of snprintf with g_snprintf.
2531         (fix for bugzilla 78249)
2532
2533 2002-03-27  Michael Meeks  <michael@ximian.com>
2534
2535         * Version 0.10.0
2536
2537         * util/Makefile.am (INCLUDES): fix.
2538         (DONT_DIST_SOURCE): don't distribute the
2539         generated files.
2540
2541         * libspi/Makefile.am (dist-hook): ditto.
2542
2543 2002-03-27  Padraig O'Briain  <padraig.obriain@sun.com>
2544
2545         * libspi/hypertext.c:
2546         Fix warnings when yelp is used with atk-bridge
2547
2548 2002-03-21  Michael Meeks  <michael@ximian.com>
2549
2550         * libspi/application.c (spi_application_new):
2551         use spi_accessible_construct so we use the AtkObject
2552         cache correctly.
2553
2554 2002-03-19  Michael Meeks  <michael@ximian.com>
2555
2556         * registryd/registry.c (desktop_remove_application),
2557         (desktop_add_application): clean coding style.
2558
2559         * registryd/desktop.c (spi_desktop_remove_application),
2560         (spi_desktop_add_application): kill re-enterency hazards.
2561         (spi_desktop_dispose): remove bogus redundant cast
2562         obscuring bug; fix bug too.
2563         (spi_desktop_init): make the desktop object immortal.
2564
2565 2002-03-16 Bill Haneman <bill.haneman@sun.com>
2566
2567         * test/simple-at.c:
2568         Added a #define-guarded tree-traversal step
2569         when enumerating the apps (diagnostic tool).
2570
2571 2002-03-15 Bill Haneman <bill.haneman@sun.com>
2572
2573         * idl/Accessibility_Role.idl:
2574         Added ROLE_DRAWING_AREA which seemed to be missing from the
2575         previous commit.
2576
2577 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
2578
2579         * cspi/spi-roletypes.h cspi/spi_accessible.c
2580         idl/Accessibility_Role.idl libspi/accessible.c: synched up role
2581         types with ATK.
2582
2583         * registryd/desktop.c registryd/desktop.h registryd/registry.c:
2584         Added signals to SpiDesktop and callbacks in SpiRegistry to notify
2585         AT when applications are added and removed from the desktop.  This
2586         reverts the previous broken implementation using the backing
2587         AtkObject for the SpiDesktop.
2588         
2589         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
2590
2591         * registryd/desktop.c: emit the "children-changed::add" and
2592         "children-changed::remove" signals on the backing ATK object for
2593         the desktop so AT can tell when applications are started and shut
2594         down.
2595
2596         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
2597
2598         * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
2599
2600         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
2601
2602         * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
2603
2604         * cspi/spi_accessible.c: Implemented c bindings for stateset support
2605
2606         * cspi/state-types.h: synched with IDL and ATK
2607
2608         2002-03-13  Bill Haneman <bill.haneman@sun.com>
2609
2610         * libspi/accessible.c 
2611         (impl_accessibility_accessible_get_child_at_index):
2612         Change return value for g_return_if_fail ()
2613         to CORBA_OBJECT_NIL instead of "0" (!)
2614
2615         * registryd/Makefile.am:
2616         * registryd/Accessibility_Register.server.in:
2617         Changed name of executable, "registryd",
2618         to something more informative:
2619         "at-spi-registryd".
2620
2621 2002-03-13  Michael Meeks  <michael@ximian.com>
2622
2623         * atk-bridge/bridge.c (atk_bridge_init): don't register
2624         if we're in a bonobo-component, rather than a bonobo app.
2625
2626 2002-03-13  Michael Meeks  <michael@ximian.com>
2627
2628         * atk-bridge/bridge.c (gtk_module_init): split
2629         out body to (atk_bridge_init): here, since otherwise
2630         we get symbol conflicts and oddness when invoked
2631         from (gnome_accessibility_module_init): here (upd.)
2632
2633 2002-03-11  Bill Haneman  <bill.haneman@sun.com>
2634
2635         * HACKING:
2636         New file.  Explicitly allow "build sheriff" putbacks provided
2637         they are tested on Solaris.
2638         
2639         * docs/reference/cspi/Makefile.am:
2640         Added '-' to the "cp" command for index.sgml.
2641         ("patch by thomasvs, soon coming to a GUADEC near you")
2642
2643         * configure.in:
2644         Incremented version number (0.9.0) for new release.
2645         Changed macro that checks for popt, to better detect
2646         obsolete versions of popt.
2647         
2648         * configure.in:
2649         Added X_LIBS to AC_SUBST, for applications
2650         that call Xlib API directly.
2651         
2652
2653 2002-03-07  Bill Haneman  <bill.haneman@sun.com>
2654
2655         * configure.in:
2656         Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
2657
2658         * util/Makefile.am:
2659         Fix regression caused by hard-coding major
2660         version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
2661         (see above change).
2662         
2663         * test/test-simple.c (test_editable_text),
2664         (test_test): revert previous change (error was 
2665         a regression in gail which is now fixed).
2666         
2667 2002-03-04  Michael Meeks  <michael@ximian.com>
2668
2669         * test/test-simple.c (test_editable_text),
2670         (test_text): pass G_MAXINT instead of '-1' for
2671         whole string - is this a good thing !?
2672
2673         * cspi/spi_accessible.c
2674         (Accessible_getRelationSet): fix crasher bug
2675         overwriting the end of the array.
2676
2677         * test/test-simple.c (validate_accessible): free,
2678         not g_free returned relation set.
2679
2680 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
2681
2682         * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
2683         implemented stateset support
2684
2685         * idl/Accessibility_State.idl: Made necessary changes to
2686         the IDL to support state sets.
2687
2688 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2689
2690         * registryd/deviceeventcontroller.c:
2691         Added implementation for generateMouseEvent.
2692
2693         * cspi/spi_registry.c:
2694         Connected new implementation for generateMouseEvent
2695         to the C bindings.
2696         
2697 2002-02-12 Bill Haneman <bill.haneman@sun.com>
2698
2699         * configure.in: 0.8
2700         Incremented revision (but no change in public API
2701         outside of 'utils', which are not installed public yet.)
2702
2703         * libspi/component.c:
2704         Changed to use atk_component API for layers and
2705         mdi_zorder, instead of deprecated atk_object API.
2706         
2707         Magnification Utility Enhancements:
2708         
2709         * util/magnifier.c:
2710         Added implementation of createZoomRegion, clearAllZoomRegions,
2711         resizeZoomRegion.  Added new commandline argument
2712         "--no-initial-region".  Note that clearAllZoomRegions doesn't
2713         unmap the old '0' region as it should (yet), and the other
2714         methods only work when creating/resizing a single region,
2715         which is "region 0".  
2716         (Code for multiple region support will be added later.)
2717
2718         * util/mag_image.c:
2719         Now we raise the magnifier window each time it's refreshed;
2720         this will help keep it on top.
2721         
2722         * util/mag_client.h:
2723         Added simple wrappers for above, used by mag_control.
2724         For general use, it's recommended to use the bonobo magnifier
2725         control API directly instead of using these wrappers.
2726
2727         * util/mag_image.h:
2728         Moved ZoomRegionData from magnifier.c to this file.
2729         
2730         * util/mag_control.c: 
2731         Added some code to exercise new IDL implementations.
2732         
2733 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
2734
2735         * libspi/text.c: Provide implementation for getAttributes.
2736
2737 2002-02-04  Bill Haneman <bill.haneman@sun.com>
2738         
2739         * configure.in:
2740         Incremented revision.
2741
2742         * test/test-simple.c:
2743         Replaced use of deprecated g_main_iteration with 
2744         g_main_context_iteration.
2745         
2746 2002-01-28  Padraig O'Briain <padraig.obriain@sun.com>
2747
2748         * configure.in:
2749         Incremented revision for desktop alpha 2.
2750
2751 2002-01-28  Mark McLoughlin  <mark@skynet.ie>
2752
2753         * libspi/remoteobject.[ch]: make RemoteObject and interface rather
2754         than an atk object.
2755
2756         * test/simple-at.c: include netinet/in.h.
2757
2758 2002-01-24  Mark McLoughlin  <mark@skynet.ie>
2759
2760         * cspi/spi_accessible.c: (Accessible_getRelationSet):
2761         use NULL, not CORBA_OBJECT_NIL.
2762
2763         * libspi/accessible.c:
2764         (impl_accessibility_accessible_get_relation_set):
2765         allocate the sequence correctly.
2766
2767         * libspi/remoteobject.h: kill spi_remote_object_new.
2768
2769         * test/test-simple.c: (validate_accessible): add code
2770         to test relation sets, now all we need is to figure
2771         out how to excercise this code path :/
2772
2773 2002-01-18  Michael Meeks  <michael@ximian.com>
2774
2775         * test/test-simple.c
2776         (key_listener_cb): consume the key.
2777         (test_keylisteners): update.
2778         (main): wait for any pending unrefs on events.
2779
2780         * registryd/deviceeventcontroller.c
2781         (spi_controller_update_key_grabs): only re-issue the
2782         grab on a key release.
2783         (spi_device_event_controller_forward_key_event):
2784         refresh the keygrabs before we notify the listeners,
2785         to reduce the X ungrab / re-grab race.
2786         (spi_controller_register_with_devices): remove
2787         XSelectInput - we do that with the gdk_window_ call.
2788         (_spi_controller_device_error_handler): return a value.
2789         s/GDK_DISPLAY/spi_get_display/
2790
2791 2002-01-17  Michael Meeks  <michael@ximian.com>
2792
2793         * registryd/deviceeventcontroller.c
2794         (_deregister_keygrab): don't blow out the later
2795         assertion.
2796
2797         * test/test-simple.c (test_keylisteners): do a
2798         more intelligent validation.
2799
2800 2002-01-14  Michael Meeks  <michael@ximian.com>
2801
2802         * atk-bridge/bridge.c
2803         (gnome_accessibility_module_init),
2804         (gnome_accessibility_module_shutdown): impl.
2805         (gtk_module_init): protect vs. double inits.
2806         (add_signal_listener): impl.
2807         (spi_atk_bridge_state_event_listener): kill
2808         (deregister_application): split out of
2809         (spi_atk_bridge_exit_func): here.
2810
2811 2002-01-18  Bill Haneman <bill.haneman@sun.com>
2812
2813         * test/simple-at.c:
2814         Added caret tracking when using magnifier, and 
2815         now use text bounds for focus tracking of text elements, rather than
2816         the component bounds - this is helpful for short text fields in long
2817         table cells, at high magnification.
2818         
2819 2002-01-16  Bill Haneman <bill.haneman@sun.com>
2820
2821         * registryd/deviceeventcontroller.c:
2822         Regression fix for keylistener de-registration; global keygrabs
2823         were not being released when deregisterKeystrokeListener was
2824         called in cspi, since 
2825         Accessibility_DeviceEventController_deregisterKeystrokeListener
2826         was called with a zero-length keyset.  That is because the cspi
2827         method, SPI_deregisterKeystrokeListener, does not take a keyset
2828         parameter but instead should remove all the key grabs held be a
2829         keystroke listener.  
2830         The code in impl_deregister_keystroke_listener was changed to copy
2831         the keylist from the listener instance previously registered with
2832         the DeviceEventController before releasing the grabs.
2833
2834         * registryd/registry.c:
2835         * registryd/deviceeventcontroller.c:
2836         * libspi/spi-private.h:
2837         * libspi/util.c:
2838         Changed spelling of "re-enterant" to "re-entrant" globally.
2839
2840 2002-01-16  Bill Haneman <bill.haneman@sun.com>
2841
2842         * test/test-simple.c:
2843         Changed key listeners test - the test was slightly mis-using the
2844         (admittedly poorly documented) SPI_generateKeyboardEvent API.
2845         It now uses '=' as the key event listened to and generated,
2846         relying on a keysym match rather than assuming that keycode 33 
2847         is always equal to keysym '!'.
2848
2849 2002-01-15  Bill Haneman <bill.haneman@sun.com>
2850
2851         * test/simple-at.c:
2852         Changed simple-at to use a specific keyset, rather than
2853         SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
2854         manager, desktop, etc.
2855         
2856 2002-01-11  Bill Haneman <bill.haneman@sun.com>
2857
2858         * registryd/deviceeventcontroller.c:
2859         Replaced standard X error handler with a special handler that 
2860         is non-fatal for failed keygrabs.  This works around 
2861         problems with keygrab clashes sometimes observed on 
2862         Solaris using CDE.
2863         Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate 
2864         mouse handling code as yet).
2865         
2866 2002-01-11  Bill Haneman <bill.haneman@sun.com>
2867
2868         * configure.in:
2869         Incremented revision for desktop alpha release.
2870
2871         * README:
2872         Fixed a couple of the more glaring errors (still not 
2873         very up-to-date).
2874
2875 2002-01-11  Michael Meeks  <michael@ximian.com>
2876
2877         * registryd/deviceeventcontroller.c
2878         (spi_device_event_controller_forward_key_event): kill
2879         XUngrabKey / XKeyGrab race.
2880         (spi_controller_grab_keyboard): rename to
2881         (spi_controller_update_key_grabs): this, and deal
2882         with incremental adding / removing grabs more
2883         sensibly.
2884         (_register_keygrab): ensure we're not pending a remove.
2885         (spi_grab_mask_free): impl.
2886         (spi_controller_register_global_keygrabs): split out
2887         common code into:
2888         (handle_keygrab): impl.
2889         (_deregister_keygrab): impl.
2890         (spi_controller_deregister_global_keygrabs): impl.
2891         (spi_controller_update_key_grabs): re-issue the grab if
2892         we just recieved a notification.
2893
2894         * test/test-simple.c (key_listener_cb): remove debug.
2895
2896         * registryd/deviceeventcontroller.c
2897         (spi_controller_register_device_listener): after
2898         registering a global keygrab, actualy register it !
2899         don't wait for a timeout; doh !
2900
2901         * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
2902         to make it more readable / manipulable.
2903         s/grabmask/grab_mask/ s/refcount/ref_count/
2904         s/keyval/key_val/ s/modmask/mod_mask
2905
2906 2002-01-08  Michael Meeks  <michael@ximian.com>
2907
2908         * registryd/deviceeventcontroller.c
2909         (spi_controller_register_with_devices): use gdk calls to
2910         setup a filter.
2911         (global_filter_fn): implement the filter.
2912         (spi_device_event_controller_check_key_event): rename to
2913         (spi_device_event_controller_forward_key_event): this & upd.
2914         (spi_get_display): replace with GDK_DISPLAY.
2915
2916         * registryd/deviceeventcontroller.c
2917         (spi_controller_deregister_device_listener): unroll into
2918         (impl_deregister_keystroke_listener): here to simplify.
2919         (spi_controller_register_global_keygrabs): split cut and
2920         paste (!) out into (_register_keygrab): here, shorter & sweeter.
2921         (spi_controller_deregister_device_listener): remove.
2922         (impl_register_mouse_listener): remove, no mouse listener
2923         support in at-spi-1.0
2924
2925         * registryd/registry.c
2926         (_device_event_controller_hook): kill.
2927         (spi_registry_init): upd.
2928
2929         * registryd/deviceeventcontroller.c
2930         (spi_device_event_controller_class_init): upd.
2931         (spi_check_key_event): merge into.
2932         (spi_device_event_controller_check_key_event):
2933         here and kill strange static ev init, don't leak
2934         the x_event - nor dynamicaly allocate it.
2935
2936         * registryd/registry-main.c (main): re-direct
2937         timeout to remove strange vtable mess.
2938
2939         * registryd/deviceeventcontroller.c
2940         (remove_listener_cb): impl.
2941         (spi_controller_deregister_device_listener):
2942         fix re-enterancy hazard.
2943
2944 2002-01-07  Michael Meeks  <michael@ximian.com>
2945
2946         * registryd/deviceeventcontroller.c
2947         (spi_device_event_controller_new): upd.
2948         (impl_notify_listeners_sync): upd. debug.
2949         (spi_notify_keylisteners): fix re-enterancy hazards,
2950         prettify, remove O(n*n) iteration.
2951         (spi_controller_grab_keyboard): fix iteration.
2952         (spi_check_key_event): re-format to suit coding style.
2953         Clean all the warnings - we're warning free.
2954
2955         * registryd/deviceeventcontroller.h:
2956         * registryd/registry.h: make mutualy referential with
2957         typesafe forward references instead of (!) void pointer
2958         hacks.
2959
2960 2002-01-11  Michael Meeks  <michael@ximian.com>
2961
2962         * cspi/spi_accessible.c (role_names): add a role name
2963         to sync this array with the enum; and make the regression
2964         tests pass, sigh.
2965
2966 2002-01-10  Michael Meeks  <michael@ximian.com>
2967
2968         * cspi/spi_registry.c (SPI_generateKeyboardEvent): 
2969         allow expansion of enumeration & kill warning.
2970
2971         * test/test-simple.c (key_listener_cb): impl.
2972         (test_keylisteners): impl.
2973
2974         * cspi/spi-listener.h: make listener signatures const
2975         on the provided (const) events.
2976
2977         * test/keysynth-demo.c: upd. to const events.
2978
2979         * test/simple-at.c: ditto.
2980
2981 2002-01-11  Bill Haneman <bill.haneman@sun.com>
2982
2983         * configure.in:
2984         Rev the version to 0.5 (the previous tarball was named 0.4, 
2985         even though the micro number was 3), so we need to rev upwards
2986         again for beta2/"desktop-alpha" 
2987  
2988         * test/demo.csh:
2989         Checked in a demo script, which requires editing before use!
2990         Proceed with caution.
2991         
2992         * libspi/value.h:
2993         Fixed typo in header which was redefining SPI_ACTION_CLASS.
2994
2995         * cspi/spi_accessible.c:
2996         Add a couple of missing enum initializations, and fix some enum
2997         comments.
2998
2999         * cspi/spi_registry.c:
3000         Add comment describing keystring parameter to SPI_generateKeyboardEvent.
3001         
3002         * docs/reference/cspi/at-spi-cspi-sections.txt:
3003         Remove/fix a couple of broken document references.
3004
3005         * test/simple-at.c:
3006         Minor tweaks to the demo.  We now (sigh) use Alt-SHIFTLOCK as well
3007         as Alt-Control to listen for commands, since on some systems
3008         Control-Alt may already be grabbed.
3009
3010 2002-01-10  Bill Haneman <bill.haneman@sun.com>
3011
3012         * configure.in:
3013         Update version number to 0.4 for Beta2.
3014         
3015         * libspi/accessible.c, libspi/accessible.h:
3016         Expose spi_accessible_construct, to enable libgail-gnome
3017         construction from spi_accessible subtype.
3018
3019         * utils/magnifier.c:
3020         Workaround for bug in some non-gnome-compliant window managers
3021         which made magnifier resize improperly.
3022
3023 2002-01-09  Bill Haneman <bill.haneman@sun.com>
3024
3025         * libspi/accessible.c: (spi_accessible_new) :
3026         Move the test for SPI_IS_REMOTE_OBJECT to
3027         spi_accessible_new_return, fixing a bug and compile time warning.
3028         
3029 2002-01-08  Michael Meeks  <michael@ximian.com>
3030
3031         * registryd/registry.c (parse_event_type): remove strndup.
3032
3033         * libspi/Makefile.am (libspi_la_SOURCES): remove
3034         sources already included in the headers section.
3035
3036         * libspi/util.c: add.
3037
3038         * libspi/spi-private.h: add.
3039
3040         * registryd/registry.c: update to moved list iterators.
3041
3042 2002-01-05  Michael Meeks  <michael@ximian.com>
3043
3044         * test/simple-at.c (main): upd. auto-module set to atk-bridge
3045
3046         * test/test-simple.c (main): ditto.
3047
3048 2002-01-04  Michael Meeks  <michael@ximian.com>
3049
3050         * libspi/accessible.c (spi_accessible_new): remove 2nd,
3051         redundant construct.
3052
3053         * registryd/registry.c
3054         (get_listener_list): impl.
3055         (impl_accessibility_registry_register_global_event_listener):
3056         re-impl. to simplify using ~, remove dodgy const cast off.
3057         (parse_event_type): constify.
3058         (impl_accessibility_registry_deregister_global_event_listener_all): 
3059         re-write, more efficiency and simplicity, kill re-enterancy
3060         hazard.
3061         (compare_listener_corbaref, compare_corba_objects),
3062         (compare_listener_quarks): define out.
3063         (impl_accessibility_registry_deregister_global_event_listener): 
3064         re-write for effiency, and nail re-enterancy hazard.
3065         (impl_accessibility_registry_get_desktop_list): impl.
3066         (re_enterant_list_delete_link): impl.
3067         (re_enterant_list_foreach): impl.
3068         (remove_listener_cb): impl.
3069         (_registry_notify_listeners): kill.
3070         (notify_listeners_cb): impl.
3071
3072         * cspi/spi_registry.c (SPI_freeDesktopList): impl.
3073         (SPI_getDesktopList): impl.
3074
3075         * test/test-simple.c (test_desktop): test the methods.
3076
3077 2002-01-03  Michael Meeks  <michael@ximian.com>
3078
3079         * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
3080         keystrings since we free them
3081         (SPI_freeAccessibleKeySet): in here.
3082
3083         * libspi/accessible.c (spi_accessible_new): kill warning,
3084         wonder what is going on with the constructor here.
3085
3086 2002-03-01  Bill Haneman <bill.haneman@sun.com>
3087
3088         * libspi/accessible.c (spi_accessible_new ()) :
3089         Added check to see if AtkObject is an SpiRemoteObject before
3090         creating an SpiAccessible.
3091         
3092 2002-05-01  Bill Haneman <bill.haneman@sun.com>
3093
3094         * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
3095         Enable keygrabs using the Control modifier, now that they are
3096         working properly (they were previously disabled).
3097
3098         * test/simple-at.c:
3099         Change the command keygrab for this demo to "Control+Alt", so as
3100         to conflict with fewer other key commands on the system; this
3101         means that the quit command for "simple-at" is now "Ctrl-Alt-q".
3102
3103         Removed a pointlessly-chatty keylistener for unshifted keys
3104         (shifted keys are still reported).
3105         
3106 2002-02-01  Bill Haneman <bill.haneman@sun.com>
3107
3108         * libspi/remoteobject.h:
3109         * libspi/remoteobject.c:
3110         Added definitions for special AtkObject subtype, required for
3111         support of remote components (specifically, used by BonoboControl
3112         accessibility implementation).
3113         
3114 2002-01-02 Marc Mulcahy  <marc.mulcahy@sun.com>
3115
3116         * cspi/spi.h: synched relation types with ATK
3117
3118         * cspi/spi_accessible.c: Added implementations of
3119         AcccessibleRelation_* methods
3120
3121         * idl/Accessibility_Relation.idl: added getRelationTypeName
3122         method.  Synched known relation types with ATK.  Allowed for
3123         relation type extension with the RELATION_EXTENDED type.
3124         
3125         * libspi/relation.c: Provided implementations for
3126         AccessibleRelation methods.
3127
3128 2002-01-01  Bill Haneman <bill.haneman@sun.com>
3129
3130         API tweaks for today's API 'freeze'.
3131
3132         * idl/*:
3133         Added placeholder functions to allow future compatible expansion
3134         of the IDL interfaces.
3135
3136         * idl/Accessibility_Registry.idl:
3137         Changed generateKeyEvent to generateKeyboardEvent.  Changed
3138         signature of this method to accept an optional keystring in
3139         parameter (for complex text input synthesis) and changed use of
3140         simple 'boolean' parameter in registerKeystrokeListener to a
3141         struct, EventListenerMode.
3142
3143         * cspi/spi_accessible.c:
3144         * cspi/spi.h:
3145         * cspi/spi_streamablecontent.c:
3146         Added references to AccessibleStreamableContent interface, and
3147         definition and implementation of AccessibleStreamableContent 
3148         C bindings.
3149
3150         * cspi/spi_registry.c:
3151         * cspi/spi.h:
3152         Changed generateKeyEvent API to generateKeyboardEvent,
3153         taking a new (optional) keystring parameter to support complex
3154         text input.
3155         
3156         * at-bridge/*:
3157         * atk-bridge/*:
3158         Renamed directory (to better reflect its actual purpose, bridging
3159         from at-spi to ATK).  The .so module is also now named
3160         libatk-bridge.so.
3161
3162         * idl/Accessibility_Hypertext.idl:
3163         * libspi/accessible.c:
3164         * libspi/hypertext.h:
3165         * libspi/hypertext.c:
3166         Changed Accessibility_Hypertext to *not* derive from
3167         Accessibility_Text.
3168
3169         * cspi/spi_registry.c:
3170         Added list of legal event type names for 'window' events, which
3171         completes the registry event API.
3172
3173 2001-12-22  Marc Mulcahy  <marc.mulcahy@sun.com>
3174
3175         * at-bridge/bridge.c: Added registration for separate
3176         "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
3177         signals.  If either of the first two parameters to the generic
3178         bridge signal handler are ints, they are passed on as event
3179         details.  This allows an AT to determine what text was inserted.
3180
3181 2001-12-21  Bill Haneman <bill.haneman@sun.com>
3182
3183         * registryd/deviceeventcontroller.c:
3184         Fixed regressions in generateKeyEvent caused by the removal of
3185         gdk_init from registryd; we now use pure X calls to connect to the
3186         display, which makes sense because deviceeventcontroller already
3187         uses a fair bit of X API (should eventually be migrated to a
3188         'portability layer').
3189
3190         * registryd/desktop.c:
3191         Fixed minor regression in spi_desktop_init, changed the way the
3192         desktop name is being set to work with new spi_base API
3193         (gobject-based, rather than AtkObject-based).
3194
3195         * registryd/Makefile.am:
3196         Minor revision of makefile to use XTST_LIBS variable rather than
3197         hard-wiring the Xtst LD_ADD element.
3198
3199         * test/keysynth-demo.c:
3200         Tweaked an output message; added initialization of the
3201         'keystrings' member of the "switch listener" key_set.
3202
3203         * libspi/relation.c:
3204         Squashed compile-time warning.
3205
3206         * libspi/accessible.c:
3207         Cosmetic and formatting fixes, renamed a static method.
3208         
3209 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
3210
3211         * libspi/accessible.c 
3212         * libspi/action.c
3213         * libspi/application.c 
3214         * libspi/base.c 
3215         * libspi/base.h
3216         * libspi/component.c 
3217         * libspi/editabletext.c
3218         * libspi/hyperlink.c 
3219         * libspi/hypertext.c
3220         * libspi/image.c 
3221         * libspi/selection.c 
3222         * libspi/table.c
3223         * libspi/text.c 
3224         * libspi/value.c 
3225         * registryd/desktop.c:
3226         Changed SpiBase to contain a GObject pointer rather than an AtkObject
3227
3228 2001-12-17  Bill Haneman <bill.haneman@sun.com>
3229
3230         * idl/Accessibility_Registry.idl:
3231         Added boolean member 'is_text' to DeviceEvent.  This is for the
3232         use of key events, and helps prevent ambiguity between composed
3233         key strings and keysym names, since both may potentially be
3234         returned in the 'event_string' member.
3235
3236         * at-bridge/bridge.c:
3237         * registryd/deviceeventcontroller.c:
3238         Use the 'is_text' member when notifying device event listeners.
3239         Knon issue: composed characters are not dealt with correctly by
3240         the global key listener implementation yet.
3241         
3242 2001-12-17  Bill Haneman <bill.haneman@sun.com>
3243
3244         * at-bridge/bridge.c:
3245         Namespaced local static methods to spi_atk_bridge_* where
3246         previously named bridge_*, and spi_* elsewhere.
3247
3248         * at-bridge/bridge.c:
3249         * cspi/bonobo/cspi-bonobo-listener.c:
3250         Added demarshalling/conversion for string member of
3251         Accessibility_DeviceEvent to AccessibleKeystroke.
3252
3253         * registryd/deviceeventcontroller.c:
3254         Added code to fill the Accessibility_DeviceEvent key string value
3255         member for global key events (i.e. from XGrabKey), to match
3256         behavior of Accessibility_DeviceEvent from the toolkit key events
3257         from the bridge.  Fixed timestamp in global key event notifications.
3258
3259         * test/simple-at.c:
3260         Added printout of key event's string value to
3261         report_ordinary_key_event, for demo/debugging purposes.
3262
3263 2001-12-15  Bill Haneman <bill.haneman@sun.com>
3264
3265         * idl/Accessibility_Registry.idl:
3266         Removed Accessibility_KeyStroke structure in favor of generic
3267         Accessibility_DeviceEvent structure.
3268         Changed Accessibility_ControllerEventMask from a struct to an
3269         unsigned long.
3270
3271         * at-bridge/bridge.c:
3272         Changed APIs to use DeviceEvent structure as above, and removed
3273         bogus casting between these event structures.
3274
3275         * cspi/spi-listener.h:
3276         Added keystring member of AccessibleKeystroke structure, to enable
3277         matching on event "names" rather than only hardware codes and
3278         keysyms.
3279
3280         * cspi/spi.h:
3281         Added keystrings member of AccessibleKeySet struct, to allow
3282         matching on event names (as above).
3283         Added declarations for SPI_createAccessibleKeySet and
3284         SPI_freeAccessibleKeySet.  Due to changes in libspi, we now pass
3285         event modmasks directly as unsigned ints rather than structs with
3286         refcounts, in the DeviceEventController methods.
3287
3288         * cspi/spi_registry.c:
3289         Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
3290
3291         * cspi/spi-roletypes.h:
3292         Added documentation of newly added SPI Roles.
3293
3294         * cspi/bonobo/cspi-bonobo-listener.c:
3295         Changes in support of API changes above.
3296         
3297         * libspi/accessible.c:
3298         Converted APIs to use DeviceEvent structure (see IDL changes
3299         above). 
3300
3301         * registryd/deviceeventcontroller.c:
3302         Added DEControllerGrabMask structure to track keygrabs not only by
3303         modmask but by keyset as well; this allows us to do "global"
3304         (i.e. X) keygrabs on a per-key or keyset basis rather than always
3305         grabbing on AnyKey and then filtering after-the-fact.
3306         Bugfixes for event filtration mean that we don't get false matches
3307         on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
3308
3309         * registryd/deviceeventcontroller.c:
3310         Namespaced a number of static methods to use spi_ prefix.  Major
3311         revision to internals of global (i.e. X) key grabs.
3312
3313         * registryd/deviceeventcontroller.h:
3314         Removed keymask_list and added keygrabs_list to
3315         SpiDeviceEventController struct.
3316
3317         * test/simple-at.c:
3318         Added use of SPI_createAccessibleKeySet API when creating a
3319         listener for only one key.  Attach a listener to "shift spacebar
3320         SPI_KEY_RELEASE" as a demonstration.  Changed (incorrect) usage of
3321         X key event names to SPI key event names, so that listeners are
3322         registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
3323         
3324         * test/keysynth-demo.c:
3325         Changed (incorrect) use of X key event names (KeyPressed,
3326         KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
3327         
3328
3329 2001-12-12  Bill Haneman <bill.haneman@sun.com>
3330
3331         * libspi/accessible.c:
3332         Convert all AtkRole enumerations to Accessibility_Role enums when
3333         getting a role from an AtkObject.
3334         
3335         * cspi/spi_accessible.c:
3336         Complete the conversion of Accessibility_Role enums at runtime to
3337         AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
3338         role enums correctly match those given in spi-roletypes.h.  
3339         Re-synchronize the local names list for AccessibleRole_getName ().
3340         AccessibleRole_getName is now deprecated, since it duplicates the
3341         more reliable Accessible_getRoleName.
3342         Added some role types from Accessibility_Role.idl.
3343
3344         * idl/Accessibility_Role.idl:
3345         Added some role types used by AtkRole.
3346
3347 2001-12-12  Bill Haneman <bill.haneman@sun.com>
3348         
3349         * cspi/spi.h:
3350         * cspi/spi_registry.c:
3351         * cspi/spi_event.c:
3352         * cspi/cspi-bonobo-listener.c:
3353         Namespaced all methods that did not begin with an "SPI_" or
3354         "Accessible" prefix to "SPI_".  
3355
3356         * cspi/spi_main.c:
3357         Homogenized internal function namespace to "cspi_" for statics.
3358         
3359         * test/*.c:
3360         Patched tests to use the new CSPI API.
3361
3362         * docs/reference/cspi/at-spi-cspi-sections.txt:
3363         Updated docs to reflect namespace changes, and added a number of
3364         methods to the documentation.
3365         
3366         * registryd/registry.c:
3367         Changed use of strings and string hashes in listener event
3368         matching and parse_event_string to use GQuark, which is guaranteed
3369         unique.
3370         
3371         * registryd/registry.h:
3372         Squashed annoying warning.
3373
3374         * idl/Accessibility_Role.idl:
3375         Extended range of available Accessibility_Role values.
3376
3377         * cspi/spi_accessible.c:
3378         Re-ordered role names. 
3379
3380 2001-12-12  Bill Haneman <bill.haneman@sun.com>
3381
3382         * idl/Accessibility_Value.idl:
3383         Revert use of union back to CORBA_double, since the double type is
3384         more efficient and can contain the other types without loss of
3385         precision.
3386
3387         * idl/Accessibility_Accessible.idl:
3388         Added method Accessibility:Accessible:getRoleName, to complement
3389         Accessibility:Accessible:getRole.
3390
3391         * cspi/spi_accessible.c:
3392         * cspi/spi.h:
3393         Added C binding for above, Accessible_getRoleName (), and changed
3394         signature of Accessible_getRole () to return an AccessibleRole.
3395
3396         * cspi/spi-roletypes.h:
3397         Changed AccessibleRole_getName to return a char * instead of a
3398         const char *.  This method is now at least temporarily deprecated 
3399         in favor of asking Accessibles for their RoleNames directly.
3400
3401         * libspi/value.c:
3402         Revert to match Accessibility_Value.idl;
3403
3404         * cspi/spi_value.c:
3405         * cspi/spi.h:
3406         Change signature of AccessibleValue methods to use double rather
3407         than float.
3408
3409         * cspi/spi.h:
3410         * cspi/spi_accessible.c:
3411         Changed Accessible_getRole to return an AccessibleRole enum rather
3412         than a UTF-8 string.  The UTF-8 string can still be obtained via
3413         AccessibleRole_getName ().
3414         
3415         * test/test-simple.c:
3416         Add test_action.  Small fixup to match API change to Accessible_getRole.
3417
3418         * libspi/action.c:
3419         Bugfix for get_action_from_servant ().
3420
3421 2001-12-11  Michael Meeks  <michael@ximian.com>
3422
3423         * libspi/libspi.h: remove registry.h and
3424         desktop.h, deviceeventcontroller.h
3425
3426         * libspi/Makefile.am: remove registry.[ch],
3427         desktop.[ch], deviceeventcontroller.[ch]
3428
3429         * registryd/Makefile.am: add registry.[ch],
3430         desktop.[ch], rename registryd.c to registry-main.c.
3431         add deviceeventcontroller.[ch]
3432
3433 2001-12-11  Bill Haneman <bill.haneman@sun.com>
3434
3435         * test/simple-at.c:
3436         Replace setenv() call with putenv ().
3437
3438         * libspi/component.c:
3439         Bugfix in AccessibleComponent_getExtents (),
3440         (from Adi Dascal).
3441         
3442 2001-12-11  Michael Meeks  <michael@ximian.com>
3443
3444         * libspi/image.c (impl_getImageExtents): impl.
3445         (spi_image_class_init): upd.
3446
3447         * cspi/spi_image.c
3448         (AccessibleImage_getImageDescription): fix daft bug
3449         of mine (doh).
3450
3451         * test/test-simple.c (global_listener_cb): update
3452         to only quit if not --poke
3453         (main): catch --poke.
3454         (validate_accessible): upd. dumping, call test_image
3455         (test_image): impl.
3456
3457         * libspi/Makefile.am (IDL_DEPS): fixup the IDL
3458         dependencies.
3459
3460         * idl/Accessibility.idl: update all IDL includes.
3461
3462         * idl/*.idl - rename to namespace - this sucks, blame
3463         mjs' bad decision for oafd.
3464
3465         * test/test-simple.c (create_test_window): add more tests.
3466         (create_tree): split this out.
3467         (validate_accessible): bugfix.
3468
3469 2001-12-11  Michael Meeks  <michael@ximian.com>
3470
3471         * cspi/bonobo/cspi-bonobo-listener.c: 
3472         (cspi_kestroke_listener_unref),
3473         (cspi_event_listener_unref): impl. undoing previous
3474         homenous environment - for Bill.
3475
3476         * cspi/spi_table.c (long_seq_to_array): use
3477         malloc instead.
3478
3479         * cspi/spi_main.c: split out all bonoboish bits into
3480         bonobo/
3481
3482         * cspi/spi-impl.h: upd. typedefs.
3483
3484         * cspi/spi_registry.c: update to lowlevel API,
3485         return booleans to indicate success in some places.
3486
3487         * cspi/spi_event.c: update to lowlevel API.
3488
3489         * cspi/bonobo/Makefile.am: add.
3490
3491         * cspi/bonobo/cspi-lowlevel.h: add
3492
3493         * cspi/bonobo/cspi-bonobo.c: add
3494
3495         * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
3496
3497         * cspi/Makefile.am: remove spi-listener-impl.[ch],
3498         (SUBDIRS): add bonobo, link in the libs.
3499
3500         * cspi/spi-util.c: kill this file.
3501
3502         * TODO: merge in my bits.
3503
3504 2001-12-11  Michael Meeks  <michael@ximian.com>
3505
3506         * test/test-simple.c (test_value, test_table, main):
3507         remove unused variables causing warnings.
3508
3509         * configure.in: cleanup checks - require gail.
3510
3511 2001-12-11  Bill Haneman  <bill.haneman@sun.com>
3512
3513         * idl/Value.idl:
3514         Changed Value interface to use SValue (scalars) rather than
3515         assuming all values are floats.  This allows floats, doubles,
3516         longs, shorts, and unsigned values to be manipulated.
3517         Introduced Accessibility:SValue union.
3518
3519         * libspi/value.c:
3520         Updated to use new API above, and to work correctly with GValues
3521         of different types in AtkValue.
3522
3523         * cspi/spi_value.c:
3524         Updated to use new API above.  cspi's API is as yet unchanged.
3525
3526         * TODO: 
3527         Updated the Value revision action item.
3528         
3529 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
3530
3531         * test/test-simple.c:
3532         Added test_table (GtkTreeView widget in test window to follow).
3533         Un-commented test_value, added GtkRange widget.
3534         Added GtkTreeView widget with GtkListStore.  It passes regression
3535         test but leaks one SPI object for some reason.
3536
3537         * libspi/value.c:
3538         Fixed bug in impl__set_currentValue.
3539
3540 2001-12-10  Michael Meeks  <michael@ximian.com>
3541
3542         * cspi/spi_text.c: audit for exception handling,
3543         tolerating NULL object references safely etc.
3544
3545         * cspi/spi_value.c: ditto.
3546
3547         * cspi/spi_table.c (AccessibleTable_getSummary),
3548         (AccessibleTable_getAccessibleAt),
3549         (AccessibleTable_getRowHeader),
3550         (AccessibleTable_getColumnHeader),
3551         (AccessibleTable_getCaption): fix bugs hidden by
3552         incorrect casts.
3553         (long_seq_to_array): impl.
3554         (AccessibleTable_getSelectedRows),
3555         (AccessibleTable_getSelectedColumns): use it.
3556
3557 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
3558
3559         * TODO:
3560         Added a TODO list (rough and short for now).
3561
3562         * cspi/spi_hyperlink.c:
3563         * cspi/spi_hypertext.c:
3564         Fixed macro name typos, and remove use of obsolete macro in 
3565         AccessibleHyperlink_getLink.
3566
3567         * cspi/spi_action.c:
3568         * cspi/spi_accessible.c:
3569         * cspi/spi_application.c:
3570         * cspi/spi_component.c:
3571         * cspi/spi_selection.c:
3572         * cspi/spi_text.c:
3573         * cspi/spi_value.c:
3574         Documentation fixes (removed return values from ref/unref methods).
3575
3576 2001-12-10  Michael Meeks  <michael@ximian.com>
3577
3578         * cspi/spi_action.c: audit for exception handling,
3579         tolerating NULL object references safely etc.
3580
3581         * cspi/spi_accessible.c: ditto.
3582
3583         * cspi/spi_component.c: ditto.
3584
3585         * cspi/spi_editabletext.c: ditto.
3586
3587         * cspi/spi_hyperlink.c: ditto.
3588
3589         * cspi/spi_hypertext.c: ditto.
3590
3591         * cspi/spi_image.c: ditto.
3592
3593         * cspi/spi_selection.c: ditto.
3594
3595 2001-12-10  Michael Meeks  <michael@ximian.com>
3596
3597         * configure.in: use cspi/libspi.pc.in instead.
3598
3599         * Makefile.am (pkgconfig_DATA): upd. to match.
3600
3601         * test/simple-at.c (report_focus_event): kill hacks around
3602         bad return values, use putenv not setenv
3603
3604         * libspi/desktop.c (impl_desktop_get_child_at_index): don't
3605         fire ChildGone - I killed it.
3606
3607         * libspi/component.c
3608         (impl_accessibility_component_get_extents): remove
3609         bogus return.
3610
3611         * idl/Accessible.idl: kill ChildGone exception.
3612
3613         * cspi/*.[ch]: kill int return from ref / unref.
3614         
3615         * cspi/spi_main.c (cspi_object_add_check): fold into
3616         (cspi_object_add): here.
3617
3618         * cspi/spi_component.c (AccessibleComponent_getExtents):
3619         handle exceptions elegantly.
3620
3621         * cspi/spi-private.h (cspi_check_ev_return),
3622         (cspi_return_if_fail): impl.
3623
3624         * cspi/spi_accessible.c: use extensively.
3625         (AccessibleStateSet_equals): add direct compare check.
3626
3627         * cspi/spi_selection.c: tolerate NULL objs, and check
3628         exceptions before return.
3629
3630         * cspi/spi-util.c (cspi_warn_ev): rename to
3631         (cspi_check_ev): this & don't pass ev in; no point.
3632
3633 2001-12-10  Michael Meeks  <michael@ximian.com>
3634
3635         * test/test-simple.c: use putenv not setenv
3636         (get_environment_vars): more chatty if you're not using
3637         the fun bits.
3638
3639         * test/simple-at.c: do the setenv so more people see the
3640         nice demo easily.
3641
3642 2001-12-10  Bill Haneman <bill.haneman@sun.com>
3643
3644         * libspi/registry.c:
3645         Changed check of CORBA_environment on notification to be a warning
3646         instead of an error for the moment, since we can recover from this
3647         error when caused by a queued notification from a dead app.
3648         
3649         * libspi/value.c:
3650         Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
3651         used by all current implementors of AtkValue), and coerce to
3652         CORBA_float. (Proper general case fix may require change to Value.idl).
3653
3654 2001-12-09  Bill Haneman <bill.haneman@sun.com>
3655
3656         * cspi/spi.h:
3657         * cspi/spi_event.c:
3658         * cspi/spi_accessible.c:
3659         Documentation fixes: added user_data params to documentation for 
3660         listeners and callbacks.  
3661
3662         * cspi/spi_accessible.c: 
3663         Changed AccessibleStateSet_compare to return a
3664         StateSet rather than return the difference set into a third parameter.
3665         
3666         
3667 2001-12-09  Bill Haneman <bill.haneman@sun.com>
3668
3669         * configure.in:
3670         Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
3671         remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
3672         it). 
3673
3674         * Makefile.am:
3675         Remove subdirectory po from SUBDIRS for now.
3676
3677         * at-bridge/bridge.c:
3678         Beefed up a couple of debug printouts.
3679         One-line fix for signal notification name formatting.
3680
3681         * libspi/accessible.c:
3682         Added assertion to spi_accessible_new ().
3683
3684         * libspi/application.c:
3685         Put #ifdef qualifiers around a printf.
3686
3687         * libspi/value.c:
3688         Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
3689
3690         * registryd/Makefile.am:
3691         * util/Makefile.am:
3692         Replaces use of XML_I18N_MERGE_SERVER_RULE with
3693         INTLTOOL_SERVER_RULE macro.
3694
3695         * test/simple-at.c:
3696         Added an event listener for several ATK signals, for
3697         testing and debugging.  Removed a few g_warnings.
3698         Added test output if focussed item implements the Value interface.
3699
3700         * test/test-simple.c:
3701         Added test_value () function (known not to pass at the moment, so
3702         not actually called yet.
3703         
3704 2001-12-08  Michael Meeks  <michael@ximian.com>
3705
3706         * at-bridge/bridge.c (bridge_focus_tracker),
3707         (emit_eventv): fix the same ref. leak.
3708         (register_atk_event_listeners): don't leak.
3709
3710         * cspi/spi-listener-impl.c (cspi_event): more 
3711         protection from client code.
3712
3713         * test/test-simple.c (test_desktop): unref the app.
3714
3715         * test/Makefile.am: upd. TESTS.
3716
3717         * at-bridge/bridge.c (bridge_exit_func): release the registry.
3718
3719         * test/keysynth-demo.c (keysynth_exit): unref the listeners.
3720
3721         * cspi/spi_accessible.c (Accessible_queryInterface): constify.
3722
3723         * cspi/spi_registry.c: constify in strings.
3724         (deregisterGlobalEventListenerAll): don't release the ref.
3725
3726         * cspi/spi.h: start removing redundant / conflicting
3727         gtkdoc comments, making the API readable at a glance :-)
3728         
3729         * cspi/spi_event.c (AccessibleEventListener_unref): impl.
3730
3731         * test/keysynth-demo.c (keysynth_exit, main): upd.
3732
3733         * test/simple-at.c (main, simple_at_exit): upd.
3734
3735         * test/test-simple.c (unutterable_horror): kill.
3736         (utterable_normal_derefs): kill.
3737         (main): upd & do a setenv before gtk_init, so that we
3738         can use memprof - and to save the pain of remembering
3739         this, if we're running under memprof - don't exit.
3740
3741         * cspi/spi_main.c (SPI_exit): return exit status
3742         for cspi.
3743         (SPI_event_quit): impl.
3744         (SPI_event_main): simplify.
3745         (cspi_is_gnome_app): kill.
3746         (SPI_init): kill isGNOMEapp arg.
3747
3748         * at-bridge/bridge.c (register_atk_event_listeners):
3749         re-instate the unref.
3750         (bridge_exit_func): don't re-activate the registry,
3751         protect vs. theoretical re-entry, use the
3752         AT_BRIDGE_SHUTDOWN env. var to determine whether to
3753         assert a clean shutdown - for regression tests.
3754
3755 2001-12-08  Abel Cheung  <maddog@linux.org.hk>
3756
3757         * configure.in: Comment out dummy i18n support for now,
3758           otherwise it fails to build.
3759         * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
3760           EXTRA_DIST. They are missing in tarball.
3761
3762 2001-12-07  Michael Meeks  <michael@ximian.com>
3763
3764         * util/magnifier.c: kill bonobo activation reg. race.
3765
3766         * libspi/component.c
3767         (impl_accessibility_component_get_extents): make it match
3768         it's sig.
3769
3770         * libspi/registry.c (_registry_notify_listeners):
3771         re-remove X headers & reconcile conflicts.
3772         (spi_listener_struct_free): bad conflict resolve.
3773         (impl_accessibility_registry_register_application):
3774         more bad merging fixed.
3775         (impl_accessibility_registry_deregister_application): ditto.
3776         (spi_registry_new): ditto.
3777         (spi_registry_init): don't have an applications field.
3778
3779 [ merge fixups2 branch to here ]
3780 2001-12-07  Michael Meeks  <michael@ximian.com>
3781
3782         * test/simple-at.c (report_focus_event),
3783         (report_focussed_accessible): remove g_warning debug.
3784
3785 2001-12-07  Michael Meeks  <michael@ximian.com>
3786
3787         * test/test-simple.c (validate_tree): comment out some checks.
3788         (test_desktop): app now not registered idly - horay.
3789
3790 2001-12-07  Michael Meeks  <michael@ximian.com>
3791
3792         * cspi/spi_registry.c
3793         (registerAccessibleKeystrokeListener): clean, stop it leaking
3794         great swathes of memory, and device event controller references.
3795         ensure we always pass valid sequences.
3796         (deregisterAccessibleKeystrokeListener): ditto.
3797         (generateKeyEvent): upd.
3798
3799         * at-bridge/bridge.c (bridge_key_listener): handle
3800         registry dead exception gracefully.
3801         (bridge_focus_tracker, emit_eventv): free ev.
3802
3803         * test/simple-at.c (report_focus_event): fix polarity.
3804
3805         * libspi/application.c (notify_listeners): kill the ev
3806         argument, and make sure we init the ev we use.
3807         (spi_application_object_event_listener): split out a chunk
3808         (get_atk_object_ref): here & fixup.
3809         (reverse_lookup_name_for_toolkit_event): make const.
3810         (spi_application_toolkit_event_listener): fixup, kill leaks
3811         ref problems etc.
3812
3813         * at-bridge/bridge.c (register_atk_event_listeners):
3814         don't unref the noop object - causes grief.
3815
3816         * libspi/registry.c: remove the X headers.
3817         turn off the debug churn.
3818
3819         * libspi/accessible.c (spi_accessible_new_return): only
3820         release the ref if we are supposed to [doh]
3821
3822         * test/simple-at.c (report_button_press, report_focus_event):
3823         guard vs. unexpected exit.
3824
3825         * at-bridge/bridge.c (gtk_module_init): prune printf.
3826         (bridge_exit_func): fix app unref.
3827
3828         * libspi/Makefile.am: don't install registry or desktop.h
3829
3830         * libspi/*.h: update includes.
3831
3832         * libspi/application.h: don't include ourself, or
3833         other redundant headers.
3834
3835 2001-12-06  Michael Meeks  <michael@ximian.com>
3836
3837         * libspi/accessible.c
3838         (get_accessible_from_servant): impl.
3839         Upd. all CORBA impl.s to use it killing cut and paste.
3840
3841         * cspi/spi_main.c (cspi_cleanup): guard vs. double
3842         invokes.
3843         (SPI_init): register atexit cleanup handler here.
3844
3845 2001-12-06  Michael Meeks  <michael@ximian.com>
3846
3847         * at-bridge/bridge.c (gtk_module_init): g_error on
3848         activation exception
3849
3850 2001-12-06  Michael Meeks  <michael@ximian.com>
3851
3852         * at-bridge/bridge.c (gtk_module_init): some sort of
3853         confusing merge clash - reverted.
3854         (bridge_idle_init): ditto.
3855
3856         * test/test-simple.c (main, utterable_normal_derefs):
3857         merge from Bill - somehow not committed.
3858
3859 2001-12-06  Michael Meeks  <michael@ximian.com>
3860
3861         * libspi/value.c (spi_value_class_init): upd.
3862         (spi_value_finalize): kill.
3863
3864         * libspi/table.c (spi_table_finalize): kill.
3865         (spi_table_interface_new): upd.
3866         (spi_table_class_init): upd.
3867         (get_table_from_servant): impl.
3868         Upd. all CORBA impl.s to use it killing yet more cut and paste.
3869
3870         * libspi/selection.c (spi_selection_finalize): kill.
3871         (spi_selection_interface_new): upd.
3872         (spi_selection_class_init): upd.
3873         (get_selection_from_servant): impl.
3874         Upd. all CORBA impl.s to use it killing yet more cut and paste.
3875
3876         * libspi/relation.c (spi_relation_finalize): kill.
3877         (spi_relation_class_init, spi_relation_new): upd
3878
3879         * libspi/image.c (spi_image_finalize): kill.
3880         (spi_image_class_init): upd.
3881         (spi_image_interface_new): upd.
3882         (get_image_from_servant): impl.
3883         Upd. all CORBA impl.s to use it killing yet more cut and paste.
3884
3885         * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
3886         (spi_hyperlink_finalize): kill.
3887         (spi_hyperlink_new): upd.
3888         (get_hyperlink_from_servant): impl.
3889         Upd. all CORBA impl.s to use it killing yet more cut and paste.
3890
3891         * libspi/hypertext.c (spi_hypertext_interface_new): upd.
3892         (spi_hypertext_finalize): kill.
3893         (spi_hypertext_class_init): upd.
3894         (get_hypertext_from_servant): impl.
3895         Upd. all CORBA impl.s to use it killing yet more cut and paste.
3896
3897         * libspi/editabletext.c (spi_editable_text_finalize): kill.
3898         (spi_editable_text_interface_new): upd.
3899         (get_editable_text_from_servant): impl.
3900         Upd. all CORBA impl.s to use it killing yet more cut and paste.
3901         
3902         * libspi/text.c (get_text_from_servant): impl.
3903         All impls - update to use it killing more cut and paste,
3904         also fix bad string returns on duff args ( a somewhat
3905         impossible case to handle - but hey ).
3906         (spi_text_construct): impl.
3907         (spi_text_interface_new): upd.
3908         (spi_text_object_finalize): kill.
3909
3910         * libspi/component.c
3911         (accessibility_component_object_finalize): kill.
3912         (spi_component_class_init): upd.
3913         (get_component_from_servant): impl. helper to kill cut & paste.
3914         (impl_accessibility_component_contains): 
3915         (impl_accessibility_component_get_accessible_at_point): 
3916         (impl_accessibility_component_get_position): 
3917         (impl_accessibility_component_get_extents): 
3918         (impl_accessibility_component_get_mdi_z_order): 
3919         (impl_accessibility_component_get_layer): 
3920         (spi_component_interface_new): upd.
3921
3922         * libspi/action.c (spi_action_finalize): kill.
3923         (spi_action_class_init): upd. inherit from SpiObject.
3924         (spi_action_interface_new): upd.
3925         (get_action_from_servant): impl. helper to reduce cut & paste.
3926         (impl_getKeyBinding, impl_getName, impl_doAction),
3927         (impl_getDescription): Use it everywhere.
3928
3929         * cspi/spi_main.c (get_live_refs): a pointer hash.
3930         (spi_object_hash, spi_object_equal): comment out.
3931         There are issues with CORBA object hashing that need
3932         solving.
3933
3934         * libspi/application.c (spi_application_init),
3935         (spi_application_new): upd.
3936
3937         * libspi/accessible.c (spi_accessible_object_finalize): kill.
3938         (spi_accessible_class_init): upd.
3939         s/accessible/object/ in epv methods.
3940
3941 2001-12-05  Bill Haneman <bill.haneman@sun.com>
3942
3943         * at-bridge/bridge.c:
3944         Reorder the bridge initialization into the bridge gtk_module_init,
3945         an immediate call to bridge_register_app, and an idle_add for
3946         register_atk_event_listeners (the only code that *must* wait until
3947         GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
3948         the activation, creates the application's Accessible object, and
3949         queues the bridge_idle_init function.  Restored call to
3950         Accessibility_Registry_deregisterApplication().  
3951         Prior to making this call we obtain a new reference to the
3952         registry, which is a temporary hack that helps us handle apps that
3953         shut down the bonobo mainloop before we get there.
3954
3955         * libspi/registry.c:
3956         Fix string leakage in debug block, and don't segv if a an app
3957         dies before its event notifications have been propagated.
3958
3959         * cpi/spi_util.c:
3960         Modify cspi_check_ev() to call g_warning() rather than g_error(),
3961         as stopgap measure until we get proper exception handling when 
3962         objects die during or before interrogation.  
3963
3964         * cspi/spi_main.c:
3965         * cspi/spi.h:
3966         Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
3967         Also changed default value of is_gnome_app to TRUE.
3968
3969         * test/simple-at.c:
3970         * test/keysynth-demo.c:
3971         Changed use of SPI_init and SPI_event_main to reflect API change above.
3972
3973         * test/simple-at.c:
3974         Made report_focus_event check the warning value from getName
3975         before reporting on focussed accessible; simplifies handling of
3976         notifications from dead objects.
3977
3978         * test/test-simple.c: (Changes not in this patch since source is
3979         not in CVS ?)
3980         
3981 2001-12-05  Michael Meeks  <michael@ximian.com>
3982
3983         * registryd/registryd.c (main): protect against
3984         bonobo-activation startup race condition.
3985
3986         * cspi/spi_main.c (cspi_object_add_check): cope
3987         with the exception elegantly.
3988
3989         * idl/Accessible.idl: decl. ChildGone
3990
3991         * libspi/desktop.c (spi_desktop_dispose): impl.
3992         (spi_desktop_class_init): upd.
3993         (spi_desktop_add_application),
3994         (spi_desktop_remove_application),
3995         (abnormal_application_termination): impl.
3996         (impl_desktop_get_child_at_index): re-impl.
3997
3998         * libspi/registry.c
3999         (impl_accessibility_registry_deregister_application),
4000         (impl_accessibility_registry_register_application): 
4001         kill excessive debug clutter.
4002
4003         * test/test-simple.c (test_misc): test some NULL
4004         tolerance. (main): upd.
4005
4006         * cspi/spi_main.c (cspi_accessible_is_a): a NULL
4007         implements no interfaces - so let's not crash.
4008
4009         * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
4010
4011         * libspi/accessible.c (spi_accessible_new_return): impl.
4012         helper to calm the cut and paste, to cope with
4013         NULL AtkObjects effectively and efficiently, and to kill
4014         the referencing bugs.
4015
4016         * libspi/table.c (impl_getAccessibleAt),
4017         (impl_getRowHeader, impl_getColumnHeader): upd.
4018
4019         * libspi/hyperlink.c (impl_getObject): upd.
4020
4021         * libspi/accessible.c
4022         (impl_accessibility_accessible_get_child_at_index): upd.
4023
4024         * libspi/component.c
4025         (impl_accessibility_component_get_accessible_at_point): upd.
4026
4027         * test/test-simple.c (test_editable_text, test_text): impl.
4028         some simple tests.
4029
4030         * cspi/spi_editabletext.c
4031         (AccessibleEditableText_insertText): constify.
4032
4033         * test/test-simple.c (focus_me): make more robust.
4034
4035         * libspi/accessible.c: remove some printfs in methods that
4036         we test and work fine, so we can get a clean tree dump.
4037
4038         * test/test-simple.c (validate_accessible),
4039         (validate_tree): make tree dumping pretty too.
4040
4041         * at-bridge/bridge.c (bridge_signal_listener): upd. so
4042         it builds without debug on.
4043
4044         * test/test-simple.c (validate_accessible): fix the most
4045         ludicrous bug.
4046
4047         * cspi/spi_main.c (spi_object_release): leave the nicely
4048         blanked memory around if in debug mode.
4049
4050         * cspi/spi-listener-impl.c (cspi_event): use add_check.
4051
4052 [committed to fixups2]
4053 2001-12-05  Michael Meeks  <michael@ximian.com>
4054
4055         * libspi/editabletext.c
4056         (spi_editable_text_class_init): g_type_class_peek_parent,
4057         not interface peek - so we finalize cleanly.
4058
4059         * libspi/accessible.c (spi_accessible_new): kill debug.
4060
4061         * test/test-simple.c (validate_accessible): fix ref.
4062         leak, print strings before freeing them; sigh, comment a
4063         chunk out due to strangeness.
4064         (validate_tree): unref the child after use.
4065
4066         * cspi/spi_component.c (AccessibleComponent_getLayer):
4067         add missing break statement, switch on zlayer not the
4068         uninitialized retval.
4069
4070         * cspi/spi_main.c (cspi_object_add): add assert, local ref
4071         before (possibly re-entering) remote unref.
4072
4073         * test/simple-at.c (main): unref the desktop.
4074
4075         * cspi/spi_accessible.c (cspi_accessible_is_a): move 
4076         into:
4077         
4078         * cspi/spi_main.c (cspi_accessible_is_a): here to 
4079         isolate bonobo API usage more.
4080
4081         * libspi/registry.c (impl_accessibility_registry_register_application): 
4082         prune bogus comment.
4083
4084 2001-12-04  Michael Meeks  <michael@ximian.com>
4085
4086         * test/test-simple.c (validate_tree): upd.
4087         IndexInParent check to make it more lucid.
4088         (validate_accessible): dump the tree.
4089
4090         * libspi/accessible.c (de_register_public_ref),
4091         (get_public_refs): impl.
4092         (spi_accessible_new): make more efficient & intuitive.
4093         Now IndexInParent check works.
4094
4095 2001-12-04  Michael Meeks  <michael@ximian.com>
4096
4097         * cspi/spi-util.h: remove.
4098
4099         * cspi/spi.h: move SPI_freeString here
4100
4101         * libspi/component.c (impl_accessibility_component_get_layer): 
4102         warning fixage.
4103         (impl_accessibility_component_get_mdi_z_order): ditto,
4104         return -1 on error - is this ok ?
4105
4106         * test/test-simple.c (test_application): impl.
4107
4108         * cspi/spi_accessible.c (Accessible_getApplication),
4109         (Accessible_isApplication): impl.
4110
4111         * libspi/registry.c (spi_listener_struct_free): release
4112         the CORBA reference too.
4113
4114         * libspi/accessible.c
4115         (impl_accessibility_accessible_get_parent): fix ref leak.
4116
4117         * libspi/registry.c (spi_registry_new): make the registry
4118         immortal - we don't want it to go away ever.
4119
4120         * libspi/application.c
4121         (spi_accessible_application_finalize): impl. cleanup.
4122
4123         * cspi/spi_registry.c
4124         (deregisterGlobalEventListenerAll),
4125         (deregisterGlobalEventListener),
4126         (deregisterAccessibleKeystrokeListener): fix ref leak.
4127
4128         * cspi/spi_main.c (SPI_init): remove redundant ref.
4129
4130         * test/test-simple.c (unutterable_horror): impl. to force a
4131         clean shutdown.
4132         (main): use it.
4133
4134         * libspi/registry.c
4135         (impl_accessibility_registry_deregister_application): release
4136         the application when we de-register it.
4137
4138         * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
4139         until we have the infastructure to get it right.
4140
4141 2001-12-03  Michael Meeks  <michael@ximian.com>
4142
4143         * libspi/Makefile.am: only build eventlistener.[ch]
4144
4145         * libspi/accessible.c
4146         (impl_accessibility_accessible_get_child_at_index): don't leak.
4147
4148         * at-bridge/bridge.c (bridge_exit_func): cope with an exit
4149         before we hit the idle handler.
4150
4151         * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
4152         debugging than exit.
4153
4154         * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
4155
4156         * libspi/listener.c (impl_notify_event): check source
4157         not NIL before unref.
4158
4159         * libspi/registry.c (impl_registry_notify_event): ditto.
4160
4161         * libspi/eventlistener.c
4162         (impl_accessible_event_notify_event): unref the source.
4163
4164         * libspi/accessibleeventlistener.c
4165         (impl_accessible_event_notify_event): unref the source.
4166
4167         * idl/Event.idl: remove 'hash_id' attribute - of no
4168         concievable use.
4169
4170         * libspi/application.c (notify_listeners): upd list
4171         iteration & sig.
4172         (spi_application_object_event_listener), 
4173         (spi_application_toolkit_event_listener): upd to do correct
4174         CORBA ref counting.
4175
4176         * libspi/registry.c
4177         (_registry_notify_listeners): update.
4178         (parse_event_type): this method also leaks like a sieve.
4179         (impl_accessibility_registry_deregister_global_event_listener): 
4180         fix ETYPE_WINDOW case.
4181
4182         * libspi/application.c
4183         (impl_accessibility_application_register_object_event_listener): 
4184         kill leak.
4185
4186         * libspi/hyperlink.c (impl_getObject): fix ref mistake.
4187
4188         * libspi/hypertext.c (impl_getLink): ditto.
4189
4190         * cspi/spi_main.c (cspi_object_add): remove
4191         bogus CORBA_Object_duplicate.
4192
4193         * cspi/spi-listener-impl.c (cspi_event): dup/ref
4194         on the object_add.
4195
4196         * cspi/spi_accessible.c
4197         (Accessible_getRelationSet): fix leak / referencing issue.
4198
4199         * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
4200         (cspi_object_add, cspi_object_unref): upd.
4201         (spi_object_release, get_live_refs): impl.
4202         (cspi_cleanup): simplify.
4203
4204         * *.[ch]: s/boolean/SpiBoolean/
4205
4206         * cspi/spi_accessible.c (role_names): actualy order so it
4207         corresponds with the enum !
4208
4209         * test/test-simple.c (test_roles): check some role strings
4210         vs. enums to detect offset errors.
4211
4212 2001-12-01  Michael Meeks  <michael@ximian.com>
4213
4214         * cspi/spi_main.c (cspi_object_add_check): impl. helper.
4215
4216         * cspi/spi_accessible.c (Accessible_getChildAtIndex):
4217         check ev before 
4218         (Accessible_getChildAtIndex): use cspi_add_check so we
4219         check the ev before using a (possibly) invalid value.
4220
4221         * libspi/accessible.c
4222         (impl_accessibility_accessible_get_parent): don't segv
4223         on a NULL parent.
4224
4225         * at-bridge/bridge.c (gtk_module_init): upd.
4226         (bridge_property_event_listener): don't leak strings
4227         and events !
4228         (bridge_state_event_listener),
4229         (bridge_property_event_listener): don't use a static
4230         buffer in case of recursive event emission &
4231         re-enterancy - split out the swathe of cut and paste
4232         into:
4233         (emit_eventv): and fix 2 ref leaks here & comply to the
4234         coding style.
4235         (bridge_register_app): rename to 
4236         (bridge_idle_init): this and kill arg parsing, split
4237         various inits & bonobo-activation registration to module
4238         init time, kill referencing error.
4239         (bridge_exit_func): fix the same leak.
4240         (bridge_focus_tracker): don't leak event structures
4241         and strings.
4242         (bridge_signal_listener): more leakage and cut & paste
4243         fixage.
4244         (bridge_key_listener): return the result - FIXME is
4245         this polarity correct ?
4246         (accessibility_keystroke_from_atk_key_event): rename
4247         (accessibility_init_keystroke_from_atk_key_event): and stop
4248         leakage.
4249         (gtk_module_init): return a value - not that it is checked by
4250         Gtk - but hey.
4251         (bridge_key_listener): register my horror at casting between
4252         IDL defined structs.
4253         (bridge_get_registry): kill - not used.
4254
4255         * cspi/spi_accessible.c (Accessible_getRole): make return const.
4256
4257         * test/test-simple.c (test_roles): impl.
4258         (test_desktop, validate_accessible, validate_tree): impl.
4259
4260         * cspi/spi_accessible.c (role_names): fixup bogus
4261         MAX_ROLES setup, make constants const for efficient linkage
4262         (AccessibleRole_getName): conform to coding style, make
4263         return 'const'
4264
4265 2001-11-30  Michael Meeks  <michael@ximian.com>
4266
4267         * cspi/spi.h: add missing prototype.
4268
4269         * libspi/registry.c (spi_listener_struct_new): fix sig.
4270
4271         * test/Makefile.am: add test-simple
4272
4273         * test/test-simple.c: add
4274
4275         * test/test.sh: add.
4276
4277         * cspi/spi_main.c (SPI_init): make SPI_inited module global,
4278
4279         * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
4280         do it straight - since otherwise we often get an activation race.
4281
4282 [ work before Bill duplicated a chunk of it ... ]
4283 2001-11-30  Michael Meeks  <michael@ximian.com>
4284
4285         * libspi/keystrokelistener.c
4286         (spi_keystroke_listener_class_init): fixup arg
4287         count (doh).
4288
4289         * libspi/eventlistener.c
4290         (spi_event_listener_class_init): ditto.
4291
4292         * tests/test.sh: add.
4293
4294         * cspi/spi-listener-impl.h: update macros.
4295
4296         * cspi/spi-listener-impl.c
4297         (cspi_event_listener_remove_callback): add
4298         correct pre-conditions.
4299
4300         * cspi/spi_main.c (SPI_exit): guard vs. double
4301         exits, exit the mainloop nicely.
4302         (SPI_event_main): make more sense.
4303         (SPI_init): move the atexit evilness here so we
4304         always do it (yuck).
4305         (SPI_event_main): upd.
4306
4307         * test/simple-at.c: update for listener changes.
4308
4309         * registryd/registryd.c (main): prune kruft.
4310
4311         * libspi/libspi.h: upd.
4312
4313         * libspi/eventlistener.[ch]: rename broken macros.
4314
4315         * libspi/accessibleeventlistener.[ch]: remove.
4316
4317         * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
4318
4319         * test/test-simple.c: Add - automated tests.
4320
4321         * cspi/spi-listener-impl.c (cspi_event),
4322         (cspi_key_event): add user_data to invoke.
4323         (cspi_keystroke_listener_finalize): impl.
4324         (cspi_keystroke_listener_class_init): upd.
4325
4326         * cspi/spi_event.c
4327         (createAccessibleEventListener),
4328         (AccessibleEventListener_addCallback),
4329         (createAccessibleKeystrokeListener),
4330         (AccessibleKeystrokeListener_addCallback): upd.
4331
4332         * libspi/deviceeventcontroller.c
4333         (spi_device_event_controller_check_key_event): add public proto.
4334
4335         * libspi/registry.c
4336         (impl_accessibility_registry_deregister_global_event_listener): 
4337         always init listeners.
4338         (_registry_notify_listeners): yes it is.
4339
4340         * cspi/spi-listener-impl.c (cspi_key_event): 
4341         move debug to here.
4342         (cspi_event_listener_finalize): impl.
4343         (cspi_event_listener_class_init): hook up.
4344         (event_handler_new, event_handler_free),
4345         (event_list_remove_by_callback): impl.
4346         (cspi_event_listener_remove_callback),
4347         (cspi_keystroke_listener_remove_callback),
4348         (cspi_keystroke_listener_add_callback),
4349         (cspi_event_listener_add_callback): upd.
4350
4351         * libspi/keystrokelistener.c
4352         (keystroke_listener_object_finalize): kill
4353         (spi_keystroke_listener_class_init): upd.
4354         (spi_keystroke_listener_add_callback),
4355         (spi_keystroke_listener_remove_callback): kill,
4356         use signals.
4357         (impl_key_event): prune drasticaly.
4358
4359         * libspi/eventlistener.c
4360         (spi_event_listener_add_callback),
4361         (spi_event_listener_remove_callback): kill, use
4362         signals.
4363         (impl_accessible_event_notify_event): upd.
4364         (spi_event_listener_object_finalize): remove.
4365
4366         * libspi/Makefile.am: use eventlistener.[ch]
4367
4368 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
4369
4370         * libspi/registry.c (_registry_notify_listeners):
4371         Changed listener loop iteration to use preferred convention.
4372         Got rid of string memory leaks caused be calling g_strconcat
4373         inside function calls.
4374
4375         * libspi/registry.c (parse_event_type):
4376         Stopped g_strconcat memory leaks, free the g_strsplit return,
4377         g_strdup the split pieces when used, etc.
4378
4379 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
4380
4381         * idl/State.idl: 
4382         Change method 'compare' to return a 'difference set' rather than
4383         taking a StateSet as an out parameter (more Java-friendly).
4384
4385         * idl/Accessible.idl:
4386         Added CORBA struct 'BoundingBox', to faciliate API changes below:
4387         
4388         * idl/Component.idl:
4389         * idl/Image.idl:
4390         Changed methods 'getExtents' and 'getImageExtents' in these
4391         interfaces to return a BoundingBox structure.  
4392         (getPosition and getSize are redundant and possibly should be
4393         removed, rather than creating a corresponding Point struct.)
4394
4395         * cspi/spi_component.c:
4396         Modify implementation of getExtents to reflect the above IDL
4397         change.
4398         
4399         * cspi/spi_image.c:
4400         * cspi/spi.h:
4401         Add (missing) AccessibleImage_getExtents () API.
4402
4403         * docs/reference/cspi/at-spi-cspi-sections.txt:
4404         Added AccessibleImage_getImageExtents () to docs.
4405         
4406 2001-12-03  Bill Haneman  <bill.haneman@sun.com>
4407
4408         * idl/Component.idl:
4409         Added two methods, getLayer () and getMDIZOrder (), to reflect
4410         the new ATK methods atk_object_get_layer and
4411         atk_object_get_mdi_z_order. (Which arguably should be part of the
4412         AtkComponent API and AtkObject).  Also added an enum,
4413         ComponentLayer, for the first method's return value.
4414
4415         * libspi/component.c:
4416         Added implementations for these methods.
4417
4418         * cspi/spi_component.c:
4419         * cspi/spi.h:
4420         Added cspi binding methods for above, 
4421         AccessibleComponent_getLayer() and
4422         AccessibleComponent_getMDIZOrder().
4423         Added cspi enum 'AccessibleComponentLayer'.
4424
4425         * docs/reference/cspi/at-spi-cspi-sections.txt:
4426         Added above methods to docs.
4427
4428         * cspi/spi-impl.h:
4429         * cspi/spi*.[ch]:
4430         Changed typedef for 'boolean' type (and all references to it) to
4431         SPIBoolean, to avoid keyword clashes with C++.
4432
4433         * test/simple-at.c:
4434         Changed usages of 'boolean' to SPIBoolean.
4435
4436         * test/keysynth-demo.c:
4437         Changed usages of 'boolean' to 'gboolean' (since this is a gnome
4438         app), except where SPIBoolean is required by the callbacks API.
4439         
4440 2001-12-02  Bill Haneman  <bill.haneman@sun.com>
4441
4442         * cspi/spi_registry.c:
4443         Removed obsolete X event loop for passive keygrabs (which now
4444         lives in libspi).
4445
4446         * registryd/registryd.c:
4447         Removed unnecessary call to gdk_init() [cruft]. This also allows
4448         removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
4449         * configure.in.
4450
4451 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
4452
4453         * docs/reference/cspi:
4454         Included docs for SPI_freeString in generated documentation.
4455
4456         * cspi/spi-util.c:c
4457         Renamed spi_freeString to SPI_freeString, for consistency.  Added
4458         documentation for this function.
4459
4460         * cspi/spi-util.h:
4461         Renamed spi_freeString to SPI_freeString, for consistency.  
4462         Removed obsolete method declaration string_from_corba_string.
4463
4464         * test/keysynth-demo.c:
4465         Small tweak to comments.
4466
4467         * test/simple-at.c:
4468         Stopped leaking the strings returned from CSPI. 
4469
4470 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
4471
4472         Merged Michael's branch (see his ChangeLog entries below).
4473         
4474         * at-bridge/bridge.c: Explicitly hold a ref to the registry while
4475         bridge is alive, release on exit.
4476         
4477         * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
4478         Fix type check macro.
4479         
4480         * cspi/spi_event.c:
4481         Added AccessibleKeystrokeListener_unref() method to reduce leakage.
4482         
4483         * cspi/spi_main.c: 
4484         Added is_gnome_app static, and method cspi_is_gnome_app(), 
4485         so we can call the appropriate shutdown routine at exit in SPI_exit.
4486         
4487         * cspi/spi_main.c (cspi_object_ref):
4488         Duplicate the corba object passed in, since we're keeping it around.
4489         
4490         * cspi/SPI_exit.c, cspi_cleanup:
4491         Moved the releasing of the live refs to its own function, so we
4492         can put it in g_atexit ().  Call the appropriate shutdown API
4493         depending on whethe calling client is a gnome app or not
4494         (bonobo_main_quit or CORBA_ORB_shutdown).
4495         
4496         * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
4497         Unref the listener when this method is called, after
4498         deregistration.  Updated the API docs to note this behavior.
4499
4500         * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
4501         Bugfixes: Ref the bonobo object when returning a parent or child 
4502         reference, or an AccessibleRelation.  Generally made sure
4503         BonoboObject refcount is incremented whenever we return an
4504         Accessible.
4505
4506         * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
4507         Fixed typo/bug in signal declaration.
4508         
4509         * libspi/accessibleeventlistener.h:
4510         Fixed a type macro.
4511
4512         * libspi/application.c (spi_application_new):
4513         Fixed leak in initialization.
4514
4515         * libspi/desktop.c:
4516         Remembered to increment bonobo-object refcount when returning
4517         children (applications) from desktop object.
4518         Added (empty) finalize method.
4519
4520         * libspi/deviceeventcontroller.c:
4521         Hold a ref to listeners inside DEControllerKeyListeners.
4522         Added dec_key_listener_free() method.  Use prepend instead of
4523         append in key_listener list.  Fixed some refcount madness and
4524         leaks in the listener registration/deregistration - deregistration
4525         now calls dec_key_listener_free() on listeners, and on the
4526         temporarily constructed dec_key_listener() used to perform the search/match.
4527
4528         * libspi/hypertext.c (spi_hypertest_finalize):
4529         Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
4530         class.  Also fixed spi_hypertext_interface_new() and
4531         SpiHypertextClass.  Fixed a couple of paren-whitespace formatting bugs.
4532
4533         * libspi/hypertext.h: 
4534         Removed pointless and duplicate AtkObject pointer from
4535         SpiHypertextClass.
4536
4537         * libspi/keystrokelistener.c:
4538         Fixed incorrect type of keystroke_listener_parent_class,
4539         renamed keystroke_listener_object_finalize to
4540         spi_keystroke_listener_object_finalize.
4541         Fixed typo in signal declaration
4542         (spi_keystroke_listener_class_init).
4543
4544         * libspi/registry.c:
4545         Added funcsions spi_listener_struct_new() and
4546         spi_listener_struct_free() to help with memory management issues.
4547         We also now use these methods instead of gnew + poking stuff into
4548         the struct, and to decrement listener counts/free the listeners
4549         when deregistering them.
4550         Fix more refcount bugs in getDesktop() and
4551         getDeviceEventController().  
4552
4553         * test/simple-at.c:
4554         De-ref the desktop after enumerating the applications.  Explicitly
4555         decrement the refcounts on the created listeners on exit (using
4556         _unref for keystroke listeners, and via the
4557         deregisterGlobalEventListenerAll command for other event
4558         listeners).
4559         
4560 2001-11-27  Michael Meeks  <michael@ximian.com>
4561
4562         * cspi/spi-listener.h: fixup enum.
4563
4564 2001-11-27  Michael Meeks  <michael@ximian.com>
4565
4566         * cspi/spi-listener-impl.c (cspi_event_listener_new),
4567         (cspi_keystroke_listener_new): Use the cspi variants.
4568
4569 2001-11-26  Michael Meeks  <michael@ximian.com>
4570
4571         * test/keysynth-demo.c: fix 2 compile warnings, missing
4572         type in decl. etc.
4573
4574         * test/simple-at.c (report_focussed_accessible),
4575         (report_focus_event, report_button_press),
4576         (check_property_change, is_command_key),
4577         (report_ordinary_key_event, report_command_key_event): upd.
4578
4579         * util/mag_client.h: include pre-requisites.
4580
4581         * libspi/accessibleeventlistener.c
4582         (spi_event_listener_object_finalize): free any lingering
4583         callbacks.
4584         
4585         * libspi/keystrokelistener.c
4586         (keystroke_listener_object_finalize): ditto.
4587
4588         * cspi/spi-listener-impl.[ch]: Add to implement cspi style
4589         callbacks, with cspi types.
4590         
4591         * cspi/spi_event.c (createAccessibleEventListener): chain to
4592         (AccessibleEventListener_addCallback): here.
4593         (createAccessibleKeystrokeListener): chain to 
4594         (AccessibleKeystrokeListener_addCallback): here.
4595
4596         * libspi/keystrokelistener.c
4597         (spi_keystroke_listener_class_init): add signal.
4598         (impl_key_event): emit the event.
4599         (boolean_handled_accumulator): impl.
4600         (marshal_BOOLEAN__POINTER): add, gack.
4601
4602         * libspi/accessibleeventlistener.c
4603         (spi_event_listener_class_init): add signal.
4604         (impl_accessible_event_notify_event): emit the signal &
4605         make the loop efficient.
4606         (spi_event_listener_add_callback): prepend the callback.
4607
4608         * libspi/accessibleeventlistener.h: add an 'event' signal,
4609         decl type on callback.
4610
4611         * libspi/keystrokelistener.h: ditto.
4612
4613         * cspi/spi-listener.h: make methods typesafe and
4614         make them use the new event typedefs.
4615
4616         * test/simple-at.c (report_focussed_accessible):
4617         include mag_client.h
4618         Use *(void *)text_interface not the other thing.
4619         
4620         * configure.in: add gtk to registryd bits - since we use
4621         gdk there ( why ? )
4622
4623         * util/magnifier.c: include libbonobo.h
4624         
4625 2001-11-25  Bill Haneman  <bill.haneman@sun.com>
4626
4627         * test/keysynth-demo.c:
4628         Turned this into a simple scanning keyboard, to demonstrate the
4629         use of g_timeout_add () as a means of creating timers for
4630         scanning, and the use of GtkStyle for visually indicating when
4631         virtual keyboard elements are selected.
4632
4633         keysynth-demo now listens to any keyboard keys with zero-valued
4634         keycodes (i.e. 'unused' keys) and interprets them as
4635         single-switches.
4636
4637         Reworked the shiftlatch code so that shift-down state isn't held
4638         for long periods (it's only synthesized immediately prior to
4639         the keysynth event it's modifying).  Note that shiftlatch in this
4640         demo is a convenience, not intended to take the place of AccessX 
4641         which is the better choice for getting 'sticky' modifier keys.
4642
4643         * libspi/deviceeventcontroller.c:
4644         * at-bridge/bridge.c:
4645         * cspi/spi_registry.c:
4646         Removed some debug print stuff, and put other verbosity in #ifdef
4647         blocks.
4648
4649         * util/magnifier.c:
4650         * util/mag_image.h:
4651         Implemented some more of the magnifier IDL for the simple
4652         magnifier: namely, getZoomRegionParams. 
4653         Added mag_x and mag_y members to MagnifierData struct, aid of this
4654         implementation.
4655         Added GtkWindow::realize signal handler to magnifier, to keep it
4656         from receiving keyboard focus from the WM.
4657
4658 2001-11-23  Mark McLoughlin  <mark@skynet.ie>
4659
4660         * cspi/spi-private.h: my guess at what michael forgot
4661         before he ran off to NZ :-)
4662
4663 2001-11-23  Michael Meeks  <michael@ximian.com>
4664
4665         * cspi/spi_event.c (AccessibleEventListener_removeCallback):
4666         comment out non existant method invoke so we link.
4667
4668         * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
4669         use bonobo_exception_get_text for more friendly warnings.
4670
4671         * cspi/spi.c (Obj_Add): move into spi_main & rename
4672         spi_object_add; kill spi.c
4673
4674         * cspi/spi_registry.c
4675         (deregisterGlobalEventListener),
4676         (deregisterGlobalEventListenerAll),
4677         (registerGlobalEventListener): fix exception leaks.
4678
4679         * cspi/spi_main.c (spi_exception): impl. helper, so we
4680         don't leak exceptions.
4681
4682         * cspi/spi_selection.c
4683         (AccessibleSelection_deselectSelectedChild): return the
4684         success state.
4685
4686         * cspi/spi_main.c (spi_ev): impl; hack - gack.
4687         (spi_registry): ditto.
4688         (SPI_init): guard against double inits.
4689
4690         * cspi/*.c: use spi_ev (), and spi_registry () where
4691         appropriate - a temporary hack until we have something
4692         better. Use spi_object_add
4693
4694 2001-11-22  Michael Meeks  <michael@ximian.com>
4695
4696         * cspi/Makefile.am: re organise, install the headers.
4697
4698         * cspi/*.h: add G_BEGIN/END_DECLS
4699
4700 2001-11-22  Bill Haneman  <bill.haneman@sun.com>
4701
4702         * test/simple-at.c:
4703         Added non-preemptive keylistener for key events with no modifiers
4704         and shift-only modifier.
4705
4706         * libspi/keystrokelistener.c:
4707         Removed some verbose diagnostics printout.
4708
4709         * cspi/spi_registry.c:
4710         Fixed a bug that caused all key listeners to be registered as
4711         pre-emptive.
4712         
4713         * libspi/deviceeventcontroller.c:
4714         Fixed bug that caused XGrabKey (preemptive key grab) to be called
4715         for non-preemptive key masks.
4716
4717
4718 2001-11-22  Bill Haneman  <bill.haneman@sun.com>
4719
4720         * docs/reference/idl/at-spi-idl-docs.sgml:
4721         * docs/reference/idl/at-spi-idl-sections.txt:
4722         * docs/reference/idl/at-spi-idl-overrides.txt:
4723         Added missing files.
4724
4725         * docs/reference/Makefile.am:
4726         removed idl from SUBDIRS until we can figure a way to get gtk-doc
4727         to scan the IDL files :-(
4728
4729         * docs/reference:
4730         * docs/cspi:
4731         * docs/idl:
4732         Added .cvsignore files.
4733         
4734 2001-11-21  Bill Haneman  <bill.haneman@sun.com>
4735
4736         * libspi/deviceeventcontroller.c:
4737         * libspi/keystrokelistener.c:
4738         * cspi/spi_event.c:
4739         * cspi/spi_registry.c:
4740         Added filters for KeySets, KeyEventSeq, and event types to key
4741         event dispatching, so listeners should only receive those events
4742         that they requested :-)
4743
4744 2001-11-21  Bill Haneman  <bill.haneman@sun.com>
4745
4746         * configure.in:
4747         * docs/Makefile.am:
4748         * docs/reference:
4749         * docs/reference:Makefile.am:
4750         * docs/reference/cspi:
4751         * docs/reference/cspi:Makefile.am:
4752         * docs/reference/cspi:tmpl:
4753         * docs/reference/cspi:tmpl:*.sgml:
4754         * docs/reference/idl:
4755         * docs/reference/idl:Makefile.am:
4756         * docs/reference/idl:at-spi-idl-sections.txt:
4757         * docs/reference/idl:at-spi-idl-docs.sgml:
4758         * docs/reference/idl:tmpl:
4759         * docs/reference/idl:tmpl:*.sgml:
4760
4761         Restructured docs directory to allow separate 'reference' docs
4762         section, and forked idl and cspi docs.  Added the sgml template
4763         files to CVS.  Added the first sections/structural sgml for the
4764         IDL docs.
4765
4766 2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
4767
4768         * configure.in, libspi/Makefile.am: find libXtst.
4769
4770 2001-11-21  Michael Meeks  <michael@ximian.com>
4771
4772         * test/accessx-gui.c: s/spi_value/value/ - doh.
4773
4774         * libspi/base.[ch]: add.
4775
4776 2001-11-18  Bill Haneman <bill.haneman@sun.com>
4777
4778         * idl/Accessible.idl:
4779         * idl/Application.idl:
4780         * idl/Registry.idl:
4781         * idl/Action.idl:
4782         Started gtk-doc cleanup on IDL.
4783
4784         * libspi/deviceeventcontroller.c:
4785         Added and connected non-preemptive key notification from the
4786         toolkits (in addition to the pre-emptive support from XServer
4787         which we had before, but which causes 'focus flashing').  Filters
4788         are presently limited to key modifiers and global/non-global,
4789         KeySets are presently ignored, as are KeyEvent masks.
4790
4791         Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
4792         structs into the persistant structure rather than just storing
4793         pointers to things that might not persist across servant
4794         invocations.
4795
4796         The XGrabKey call now does async keygrabs, because synchronous
4797         ones were deadlocking with GDK_event code in a very nasty way.
4798
4799         Added boolean to internal method notify_keylisteners, to indicate
4800         whether the event came from the 'toolkit source' or the 'global
4801         (XServer) source' - this is used in the notification process to
4802         determine which listeners to send the event to.
4803
4804         deviceeventcontroller.c is now warning-free.
4805         
4806         * libspi/registry.c:
4807         Fixed regression in application de-registration.
4808         Also fixed some really brain-dead weirdness having to do with
4809         event dispatching - event structs are now duplicated before being
4810         re-marshalled in the dispatch to listeners.  This also fixes a
4811         Solaris build problem.
4812         
4813         
4814 2001-11-20  Michael Meeks  <michael@ximian.com>
4815
4816         * libspi/registry.c
4817         (impl_accessibility_registry_deregister_global_event_listener): 
4818         segv. protection.
4819
4820         * libspi/deviceeventcontroller.c
4821         (spi_device_event_controller_check_key_event): return
4822         FALSE on no virtual method.
4823
4824         * libspi/*..h: make includes work on a correctly pathed install.
4825
4826         * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
4827
4828         * libspi/application.h: kill unused ( and whacked out )
4829         gboolean *spi_application_set_id (AtkObject *app, long id);
4830
4831 2001-11-20  Michael Meeks  <michael@ximian.com>
4832
4833         * libspi/*.[ch]: further convert to bonobo's type func
4834         macros, remove redundnant casts etc.
4835
4836         * libspi/text.c s/accessibility_text/spi_text/g,
4837         re-order to de-cruft.
4838
4839         * libspi/hypertext.c: re-order to kill a huge slew
4840         of redundant forward decls.
4841
4842         * libspi/relation.c: ditto.
4843
4844         * libspi/image.c: ditto.
4845
4846         * */.cvsignore: update
4847         
4848 2001-11-20  Michael Meeks  <michael@ximian.com>
4849
4850         * libspi/deviceeventcontroller.c
4851         (_controller_register_with_devices): use g_getenv,
4852         kill stdlib.h include.
4853
4854         * libspi/keystrokelistener.c
4855         (spi_keystroke_listener_get_type): kill
4856         (spi_keystroke_listener_class_init),
4857         (spi_keystroke_listener_init): rename to this.
4858
4859         * libspi/text.c (impl_getAttributes): fix warning / bug.
4860
4861         * libspi/*.[ch]: more headers, includes and over commenting.
4862         
4863 2001-11-20  Michael Meeks  <michael@ximian.com>
4864
4865         * libspi/*.[ch]: fixup headers, includes and over commenting.
4866
4867         * libspi/image.c (impl__get_imageDescription): const
4868         correctness warning fix. remove redundant casting.
4869
4870         * libspi/table.c (impl_getRowDescription): ditto.
4871         (impl_getColumnDescription): ditto.
4872
4873         * libspi/libspi.h: add.
4874
4875 2001-11-19  Michael Meeks  <michael@ximian.com>
4876
4877         * libspi/editabletext.c (impl_setAttributes): fix warnings.
4878
4879         * libspi/component.c (accessibility_component_get_type): 
4880         rename to (spi_component_get_type): and macroify.
4881         (accessibility_component_init): rename to
4882         (spi_component_init): this
4883         (accessibility_component_class_init): rename to
4884         (spi_component_class_init): this
4885
4886         * libspi/action.c (spi_action_get_type): kill, use the macro.
4887
4888         * libspi/deviceeventcontroller.c (_compare_listeners): re-order
4889         to avoid prototype.
4890
4891         * libspi/application.c (spi_application_object_event_listener),
4892         (impl_accessibility_application_register_object_event_listener):
4893         warning fixes / const understanding updates.
4894
4895         * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
4896         warning fixes.
4897
4898 2001-11-18  Bill Haneman <bill.haneman@sun.com>
4899
4900         * libspi/spi_accessible.c: Added docs and C bindings for
4901         AccessibleStateSet. (No implementations yet).  Documentation
4902         coverage for C bindings now 100%. Made docs for event listeners
4903         more explicit.
4904         
4905         * idl/Registry.idl:
4906         Added methods 
4907             boolean notifyListenersSync (in DeviceEventListener listener,
4908                                      in DeviceEvent event);
4909
4910             oneway void notifyListenersAsync (in DeviceEventListener listener,
4911                                           in DeviceEvent event);
4912
4913         Added DeviceEventListener and DeviceEvent structs (may deprecate
4914         KeyStroke and KeystrokeListener in favor of this generic
4915         event/listener framework for devices).
4916
4917         * libspi/deviceeventcontroller.c:
4918
4919         Changed some key listener code to take masks, etc., and paved the
4920         way for integration of toolkit/non-preemptive key events. Changed
4921         signatures of some internal methods.
4922
4923         * at-bridge/bridge.c:
4924         Fixed regression connecting to interface signals, apparently
4925         caused by GTK+ changes.
4926
4927         Added an internal bridge_state_listener to deal with
4928         property-change:accessible-state signals.
4929
4930         Changed the key_listeners GList to store structs (including masks,
4931         etc.) instead of just CORBA_Objects (required for full
4932         implementation of key listener API).
4933
4934         Connected the bridge to all currently supported Atk signals.
4935         Events now supported: 
4936             object:property-change
4937             object:property-change:accessible-name
4938             object:property-change:accessible-state
4939             object:property-change:accessible-description
4940             object:property-change:accessible-parent
4941             object:property-change:accessible-value
4942             object:property-change:accessible-role
4943             object:property-change:accessible-table-caption
4944             object:property-change:accessible-table-column-description
4945             object:property-change:accessible-table-column-header
4946             object:property-change:accessible-table-row-description
4947             object:property-change:accessible-table-row-header
4948             object:property-change:accessible-table-summary
4949             object:children-changed
4950             object:visible-data-changed
4951             object:selection-changed
4952             object:text-selection-changed
4953             object:text-changed
4954             object:text-caret-moved
4955             object:row-inserted
4956             object:row-reordered
4957             object:row-deleted
4958             object:column-inserted
4959             object:column-reordered
4960             object:column-deleted
4961             object:model-changed        
4962
4963 2001-11-16  Bill Haneman <bill.haneman@sun.com>
4964
4965         * libspi/hyperlink.c,h:
4966         Fixed some broken stuff in hyperlink.
4967         
4968         * libspi/relation.h:
4969         * libspi/relation.c:
4970         * cspi/spi_accessible.c:
4971         Initial implementations of AccessibleRelation methods, and docs.
4972
4973         * libspi/accessible.c:
4974         Fixed a bug that caused SEGV  if an accessible
4975         object's description is NULL, and a client
4976         requests it.  An empty string is now returned.
4977
4978         * cspi/spi_editabletext.c:
4979         * cspi/spi_hypertext.c:
4980         * cspi/spi_image.c:
4981         * cspi/spi_hyperlink.c:
4982         * cspi/spi_table.c:
4983         Added docs.  
4984
4985         Doc coverage now 95%.
4986
4987 2001-11-16  Bill Haneman <bill.haneman@sun.com>
4988
4989         One last namespacing revision:
4990         * libspi/accessibleeventlistener.[ch]:
4991         Renamed SpiAccessibleEventListener to SpiEventListener,
4992         (no need for two namespaces ;-)
4993
4994         And lots of documentation fixes:
4995
4996         * docs/at-spi-docs.sgml:
4997         Fixed 'underscore vs. hyphen' bug that was preventing
4998         the gtk-doc API docs from being automatically generated.
4999
5000         * cspi/spi-impl.h
5001         * cspi/spi-listener.h
5002         * cspi/spi.h
5003         * cspi/spi_accessible.c
5004         * cspi/spi_action.c
5005         * cspi/spi_application.c
5006         * cspi/spi_component.c
5007         * cspi/spi_editabletext.c
5008         * cspi/spi_event.c
5009         * cspi/spi_hypertext.c
5010         * cspi/spi_main.c
5011         * cspi/spi_registry.c
5012         * cspi/spi_selection.c
5013         * cspi/spi_text.c
5014         * cspi/spi_value.c
5015         * docs/Makefile.am
5016         * docs/at-spi-docs.sgml
5017         * docs/at-spi-sections.txt
5018         
5019         Added and fixed up gtk-doc documentation in cspi.
5020         
5021         Interfaces now (fully) documented (subject to revision and enhancement):
5022         SPI_main
5023         Event Listener Support
5024         Registry API
5025         AccessibleApplication
5026         Accessible
5027         AccessibleAction
5028         AccessibleComponent
5029         AccessibleEditableText
5030         AccessibleSelection
5031         AccessibleText
5032         AccessibleValue
5033
5034         still pending:
5035         AccessibleStateSet
5036         AccessibleRelationSet
5037         AccessibleImage
5038         AccessibleTable
5039         AccessibleHyperlink
5040         
5041 2001-11-14  Bill Haneman <bill.haneman@sun.com>
5042
5043         * at-bridge/bridge.c:
5044         Initial work for toolkit-level key snooper connection by bridge.
5045
5046         * cspi/spi-impl.h:
5047         * cspi/spi_*.h:
5048         * cspi/spi_*.c:
5049         New typedefs and fixes to support new namespacing, and cleaner
5050         separation of cspi bindings from libspi bonobo implementation.  
5051         Removed inconsistent and extraneous Spi* namespace prefix that
5052         had crept into cspi headers.
5053         Lots of comment fixes that sed had missed.
5054
5055         * cspi/spi-roletypes.h:
5056         * cspi/spi-statetypes.h:
5057         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
5058         to AccessibleRoleType.
5059         
5060         * libspi/accessibleeventlistener.h:
5061         Fixed minor namespacing weirdness.
5062
5063         * libspi/deviceeventcontroller.c:
5064         Reordered some internal API for device listeners.
5065         Changed the key registry final boolean to 'is_system_global'
5066         rather than 'is_synchronous', which is more descriptive of its 
5067         actual meaning.
5068         Added spi_device_event_controller_new().
5069         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
5070          
5071         * libspi/keystrokelistener.[ch]:
5072         Namespaced KeystrokeListener to SpiKeystrokeListener.
5073         Changed uses of keymasks to use SPI_ prefix, and did other
5074         knock-on fixups.
5075
5076         * libspi/keymasks.h:
5077         Namespaced keymask constants with SPI_ prefix.
5078
5079         * libspi/registry.c:
5080         Some warning fixes, and knock-on fixes from namespace changes.
5081
5082         * test/Makefile.am:
5083         Added rules for accessx-gui test program.
5084
5085         * test/accessx-gui.c:
5086         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
5087         utility.  It doesn't actually use at-spi, but it's still cool and
5088         useful ;-)
5089
5090         * test/keysynth-demo.c:
5091         * test/simple-at.c:
5092         * test/at.c:
5093         * test/app.c:
5094         Fixes so that these test clients work properly with the namespaced
5095         libraries. (Incompletely tested for technical reasons, fixes may follow)
5096         
5097
5098 2001-11-13  Michael Meeks  <michael@ximian.com>
5099
5100         * libspi/application.c
5101         (impl_accessibility_application_get_version),
5102         (impl_accessibility_application_get_toolkit_name):
5103         warning fixes.
5104         (impl_accessibility_application_set_id),
5105         (impl_accessibility_application_get_id): remove
5106         redundant casting code.
5107
5108         * libspi/action.c (impl_getDescription): fix warnings.
5109
5110         * libspi/accessible.c
5111         (impl_accessibility_accessible_get_parent),
5112         (impl_accessibility_accessible_get_child_at_index),
5113         (impl_accessibility_accessible_get_state),
5114         (impl_accessibility_accessible_get_relation_set):
5115         warning fixes & include action.h
5116
5117 2001-11-13  Michael Meeks  <michael@ximian.com>
5118
5119         * *.[ch] fix bits I screwed up:
5120
5121                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
5122                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
5123         
5124 2001-11-13  Michael Meeks  <michael@ximian.com>
5125
5126         * *.[ch] Namespace libspi into spi_ and Spi.
5127
5128 2001-13-11  Michael Meeks  <michael@ximian.com>
5129
5130         * Makefile.am: dist & install at-spi-1.0.pc
5131
5132         * libspi/Makefile.am: install into at-spi-1.0
5133
5134         * idl/Makefile.am (idldir): install into at-spi-1.0
5135
5136         * at-spi-1.0.pc.in: add.
5137
5138         * configure.in: build it.
5139
5140 2001-11-12  Bill Haneman <bill.haneman@sun.com>
5141
5142         * test/keysynth-demo.c:
5143         Use a 'realize' signal-handler to set the WM properties for
5144         the virtual keyboard, rather than making it a "POPUP" type
5145         override-redirect window (thanks to anders carlsson for that
5146         tip!)
5147
5148 2001-11-11  Bill Haneman <bill.haneman@sun.com>
5149
5150         * test/Makefile.am:
5151         * test/keysynth-demo.c:
5152         Added new test of key synthesis, which creates a simple
5153         (mouse-operated) onscreen keyboard.  It inserts key events into
5154         the currently-focused window, thus it does not grab keyboard focus
5155         itself.
5156
5157         * cspi/spi_registry.c:
5158         Added C binding for AT-SPI generateKeyEvent.
5159
5160         * libspi/deviceeventcontroller.c:
5161         Added call to XFilterEvent so that key listener works with XIM (we
5162         hope).  Added event_synth_type to generateKeyEvent, so that we can
5163         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
5164         synthesize a press/release pair for KeySyms.    
5165         
5166 2001-11-09  Bill Haneman <bill.haneman@sun.com>
5167
5168         * libspi/Makefile.am: 
5169         * registryd/Makefile.am:
5170         (temporary) hack to include libXtst in libspi and registryd.
5171         (Needed for keystroke synthesis, see below).
5172
5173         * idl/Registry.idl:
5174         Improved API for registerKeystrokeListener, in accordance with
5175         discussions with Gnopernicus team and X server research.
5176
5177         * libspi/registry.c:
5178         * libspi/deviceeventcontroller.c:
5179         * libspi/accessible.c:
5180         * libspi/keystrokelistener.c:
5181         Changes and fixes to support keylisteners for potentially
5182         consumed key events (that is, 'passive grabs').
5183         Added implementation for generateKeyEvent() [untested].
5184
5185         * cspi/spi.h:
5186         Changes to registerKeystrokeListener() API, as above.
5187         Added deregisterGlobalEventListenerAll(), and 
5188         deregisterKeystrokeListener(), which are needed for clean exit of
5189         clients.
5190         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
5191         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
5192         
5193         * cspi/spi_registry.c:
5194         Added implementations of function prototypes mentioned above.
5195         
5196         * registryd/registryd.c:
5197         Added the key listener event source as a g_timeout(), to allow
5198         receipt of key events that are not caught by GDK (since GDK
5199         doesn't support passive keygrabs, this was necessary).
5200
5201         * test/simple-at.c:
5202         Changed to attach a keylistener to 'Alt' keys, and
5203         respond to the following keycommands: Alt-M (toggle magnifier);
5204         Alt-F (toggle speech); Alt-Q (quit).
5205         Added an exit routine to deregister the listeners, and a key
5206         listener that prints some key info to the console when a key
5207         matches the listener mask (and is thus received by the listener).
5208         
5209         * util/idl/Magnifier.idl:
5210         Changes to magnifier API to support multiple zoom regions,
5211         non-uniform scaling in x and y, markDirty, and a host of other
5212         features that would be useful to magnification.
5213
5214         * util/mag_image.h:
5215         * util/mag_client.c:
5216         * util/mag_client.h:
5217         * util/mag_control.c:
5218         * util/magnifier.c:
5219         Source code changes to support the above IDL changes.
5220         
5221         * util/mag_image.c:
5222         As above, and also changes to use a (slower) generic conversion
5223         path for colormap conversions, since the fast RGB conversions have been
5224         reported to fail for 16-bit displays.
5225
5226 2001-10-26  Michael Meeks  <michael@ximian.com>
5227
5228         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
5229
5230 2001-10-26  Laszlo Peter <laca@ireland.sun.com>
5231
5232         * at-bridge/Makefile.am: fix LDFLAGS.
5233
5234 2001-10-09  Bill Haneman <bill.haneman@sun.com>
5235
5236         * at-bridge/bridge.c:
5237         Re-worked listeners for toolkit events, now we have signal
5238         and property listeners. Added a private method
5239         register_atk_event_listeners(), which registers with the
5240         various atk and gtk signals we need to monitor in order to emit
5241         our at-spi events.
5242         Added emission hook for AtkObject:property-change events, to
5243         support the 'property listeners'.
5244         Fixed some alloc()s of Accessibility_Event structs to use CORBA
5245         allocation.
5246
5247         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
5248         which emit warnings and exit, respectively, if CORBA errors occur
5249         during remote calls, and we now use these methods to check most of
5250         our CORBA calls in the C bindings.
5251
5252         * cspi/spi_accessible.c:
5253         Changed AccessibleSelection_refSelectedChild() to
5254         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
5255         now increment refcounts.
5256
5257         * cspi/spi_component.c:
5258         Fixed some long pointer casts (dangerous!) to pass pointers to
5259         CORBA_longs of the proper type to the CORBA stubs, and copy the
5260         data into the longs that were passed into the C bindings code.
5261         
5262         * at-bridge/bridge.c:
5263         
5264         * libspi/accessible.c:
5265         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
5266         hyperlinks, AtkHyperlink is an object type.     
5267
5268         * libspi/application.c:
5269         Added various conversions to and from "generic" event types and
5270         atk-specific types; this is really part of the 'bridge'
5271         implementation but is valid for all AtkObject-based accessibility 
5272         implementations.
5273
5274         * libspi/editabletext.c:
5275         Fixed nasty bug wherein editable text's finalize method was
5276         unref'ing tha AtkObject reference that the text parent class was
5277         about to unref _again_.  There was also a nasty inheritance bug
5278         that meant that the AccessibleEditableText class was corrupt.
5279
5280         * libspi/selection.c:
5281         Provided implementations for some selection API that was broken.
5282         
5283         * idl/Application.idl:
5284         Added registerObjectEventListener () method.
5285
5286         * THROUGHOUT:
5287         Fixed a number of return values that were Bonobo_Unknowns from
5288         bonobo_object_corba_objref(), which I
5289         forgot to dup before returning.  Changed instances of 
5290         bonobo_object_corba_objref (bonobo_object(o)) to
5291         BONOBO_OBJREF(o), for concision and clarity.
5292         
5293 2001-10-13  Louise Miller <louise.miller@sun.com>
5294
5295         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
5296         idl/Event.idl, idl/Registry.idl
5297         Changed these files to include Bonobo_Unknown.idl instead
5298         of Bonobo.idl
5299
5300 2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
5301
5302         * libspi/component.c libspi/component.h:
5303                 Fixed typo.  Added assertions for object checks in 
5304         AccessibleComponent code.
5305
5306 2001-10-09  Bill Haneman <bill.haneman@sun.com>
5307
5308         * idl/Accessible.idl:
5309                 Added 'isEqual (Accessible *object)' 
5310         method for Accessible. (Not Yet Implemented).
5311         
5312         * idl/Registry.idl:
5313                 Changed signature of registerKeystrokeListener() to
5314         take a KeySet and KeyEventSeq so that specific keys and event
5315         types could be requested for monitoring, and added a flag
5316         is_synchronous so that either synchronous or asynchronous
5317         notification could be requested.  (However this is not all
5318         implemented yet). This also meant adding two new typedefs,
5319         KeyEventSeq and KeySet.
5320
5321         * idl/Relation.idl: 
5322                 Added two new relations, RELATION_TOOLTIP_FOR and
5323         RELATION_LEAFNODE_OF.
5324
5325         * idl/State.idl:
5326                 Added new state, STATE_HAS_TOOLTIP.
5327         
5328         * libspi/text.c, editabletext.c:
5329                 Added new assertions to all casts of bonobo-objects from
5330         CORBA servants, to prevent Text API calls on non-text objects.
5331                 Changed suspect casts of int-pointer types, so that we
5332         always send a valid CORBA_long pointer to the CORBA APIs that use
5333         in/out long parameters.  We then have to copy from the CORBA_long
5334         into the regular long or int for return to the C bindings, or
5335         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
5336         
5337         * cspi/spi_text.c:
5338         * libspi/deviceeventcontroller.c:
5339                 Cleaned these sources up.
5340         * idl/Text.idl:
5341                 Changed return type for getCharacterAtOffset to
5342         CORBA_unsigned_long, to allow for 32-bit characters.
5343         
5344                 
5345 2001-10-08  Bill Haneman <bill.haneman@sun.com>
5346
5347         * util/Makefile.am:
5348         * idl/Makefile.am:
5349                 Fixed 'make dist' so that distro compiles...
5350         * libspi/keymasks.h:
5351                 new file.
5352         * cspi/spi-listener.c:
5353                 KeystrokeListenerCB now returns a boolean.
5354         * cspi/spi.h:
5355                 Added KeyEventType struct, and KeyStroke.
5356                 Also added createKeystrokeListener(),
5357         KeystrokeListener_addCallback(),
5358         KeystrokeListener_removeCallback(), and added a keymask to
5359         registerKeystrokeListener().
5360         * cspi/spi_accessible.c:
5361                 Changed numerous return types for interfaces from
5362         AccessibleComponent to Accessible<InterfaceName>; this was
5363         probably a cut-and-paste error.
5364         * cspi/spi_event.c:
5365                 Implementations of new KeystrokeListener api (from spi.h,
5366         above).
5367         * idl/Registry.idl:
5368                 Changes to key modifier mapping.
5369                 Created ControllerEventMask struct.
5370                 Made DeviceEventController derive from Bonobo::Unknown.
5371         * idl/Text.idl:
5372                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
5373         * libspi/deviceeventcontroller.c:
5374                 Added a number of new internal (private) methods.
5375         * libspi/editabletext.c:
5376         * libspi/editabletext.h:
5377                 Fixed a number of bugs related to the fact that
5378         editabletext inherits from text.  Fixed the EditableText struct,
5379         the init() call, and use correct casts when calling Text methods
5380         from an EditableText object.  Removed (duplicate) atko from the
5381         EditableText structure, we use the one in the parent Text
5382         structure via the casts mentioned above.
5383         * libspi/keystrokelistener.[ch]:
5384         * libspi/registry.c:
5385                 Changes in support of keyboard handling (above).
5386         
5387         Keyboard handling, though partly functional, is still not
5388         recommended for at-spi client use as there is considerable 
5389         work yet to be done.
5390
5391         * libspi/text.c:
5392                 Changed some places where pointers to various int types
5393         are cast to be pointers to CORBA_long types and vice-versa:
5394         pointer casting is not safe so we pass pointers of the correct
5395         types and then cast the result before putting it into the target
5396         pointers.
5397
5398         * libspi/text.h: minor typos corrected.
5399         * test/simple-at.c: 
5400                 We now speak not only the name of a Text element, but the
5401         first sentence of its content, when it receives focus.
5402                 I also changed the text compression to 75% from 50%.
5403         * util/Accessibility_Util.server.in:
5404                 Changed the default magnifier type to be a 3x vertical
5405         splitscreen magnifier (was previously a 2x horizontal one).
5406
5407 2001-10-03  Bill Haneman <bill.haneman@sun.com>
5408
5409         * libspi/keystrokelistener.h:
5410         * libspi/keystrokelistener.c:
5411                 Initial functional implementations of KeystrokeListener.
5412         * idl/Registry.idl:
5413         
5414 2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
5415
5416         Fixed string handling for NULL strings in libspi.
5417         Added spi_freeString to free strings returned by C bindings.
5418
5419 2001-09-30  Bill Haneman <bill.haneman@sun.com>
5420
5421         * libspi/keystrokelistener.h:
5422         * libspi/keystrokelistener.c:
5423                 Began (no-op) implementations of KeystrokeListener
5424                         (see below).
5425         * libspi/deviceeventcontroller.c:
5426         * libspi/deviceeventcontroller.h:
5427                 Began creating implementations of DeviceEventController,
5428                         to handle keystroke and mouse event listening and
5429                         synthesis.
5430         * libspi/accessible.c:
5431                 Stubbed-in the implementations for
5432                         Accessibility_Accessible_getState and
5433                         Accessibility_Accessible_getRelationSet.
5434         * libspi/registry.c:
5435                 Improved de-registration process and fixed some bugs, 
5436                         deregistration now works correctly.
5437         * libspi/desktop.c:
5438                 Added initialization of applications list (to NULL).
5439         * util/magnifier.c:
5440                 Reduced speech compression from 0.5 to 0.7, for demo.
5441                 Changed call to gdk_window_set_decorations()
5442                         to gtk_window_set_decorated().
5443         * at-bridge/bridge.c:
5444                 Bridge now deregisters when app exits, via
5445                         registration of a cleanup function
5446                         with the g_atexit() call.
5447                         Required making 'app' static, renamed 'this_app'.
5448                 Fixed broken use of bonobo_init, passing argv wrongly.
5449
5450 2001-09-27  Bill Haneman <bill.haneman@sun.com>
5451
5452         * util:
5453         * util/Makefile.am: 
5454                 Created a new directory for 
5455                         accessibility-related utilities, primarily for
5456                         testing and demo purposes, but with possible
5457                         end-user utility.
5458         
5459         * util/magnifier.c:
5460         * util/magnifier.h:
5461         * util/mag_image.c:
5462         * util/mag_image.h:
5463                 Onscreen magnifier utility that
5464                         is implemented as a bonobo service.
5465         
5466         * util/mag_client.c:
5467         * util/mag_client.h:
5468                 Client-side support (simple C bindings) 
5469                         for Magnification service
5470         
5471         * util/mag_control.c:
5472                 Client program example for 
5473                         Magnification service
5474         
5475         * util/Accessibility_Magnifier.server.in:
5476                 Bonobo-activation file for the 
5477                         Magnification service.
5478         
5479         * util/idl:
5480         * util/idl/Magnifier.idl:
5481                 IDL defining the bonobo Magnification
5482                         service interface.
5483
5484         * test/simple-at.c:
5485                 Modifications to use the bonobo-activated magnifier
5486                         above, in place of trying to connect to an existing
5487                         magnifier that uses socket-listening IPC.
5488
5489                 If env variable MAGNIFIER is set, a magnifier service
5490                         will be started if one does not exist.
5491         
5492 2001-09-25  Bill Haneman <bill.haneman@sun.com>
5493
5494         * at-bridge/bridge.c:
5495                 applied patch from Marc to build and run 
5496                 against new glib and gtk+ (seemed like a change 
5497                 to bonobo_init signature was made ?)
5498         * test/simple-at.c:
5499                 made festival-server support turned off by default.
5500                 Added support for a simple magnifier (off by default)
5501                 which will be added to a 'util' directory later.
5502         * at-bridge/Makefile.am:
5503                 Changed "application.h" header from a 'source'
5504                 to a 'dependency' of libat-bridge.
5505
5506 2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
5507
5508         * cspi/Makefile.am:
5509                 Added spi-util.c.
5510
5511         * cspi/spi-util.c:
5512                 Fixed typo
5513
5514         * cspi/spi.c:
5515                 Added interface implementation c files to list of
5516                         includes so they are included in libcspi.
5517
5518         * cspi/spi.h:
5519                 Changed prototype of AccessibleAction_doAction to return a
5520                         boolean.
5521                 Changed prototype of AccessibleTable_getCaption to
5522                         return an Accessible.
5523                 Changed prototype of AccessibleTable_getSelectedRows
5524                         and AccessibleTable_getSelectedColumns to
5525                         return a long (returns the number of selected rows
5526                         or columns respectively).
5527                 Changed name of AccessibleText_refRunAttributes to
5528                         AccessibleText_getAttributes.
5529                 Changed prototype of AccessibleText_getCharacterExtents to
5530                         return a void rather than a boolean. 
5531                 Added support for a AccessibleCoordType parameter
5532                         specifying what type of coordinates are desired.
5533                 Added an AccessibleCordType parameter to
5534                         AccessibleText_getPointAtOffset.
5535
5536         * cspi/spi_accessible.c:
5537                 Added code to return the outstanding interfaces from
5538                         Accessible_queryInterface.
5539
5540         * cspi/spi_action.c:
5541                 Fixed typos.
5542                 Corrected call to getNActions to call the c binding
5543                         for an attribute.
5544
5545         * cspi/spi_editabletext.c:
5546                 Fixed typos.
5547                 Changed name from setRunAttributes to setAttributes.
5548
5549         * cspi/spi_hyperlink.c:
5550                 Fixed typos.
5551                 Changed call to getNAnchors to correctly call the c
5552                         binding for an attribute.
5553
5554         * cspi/spi_hypertext.c:
5555                 Fixed typos.
5556                 Changed getImageDescription to correctly call the
5557                         binding for an attribute.
5558
5559         * cspi/spi_selection.c:
5560                 Changed getNSelectedChildren to correctly call the c
5561                         binding for the attribute.
5562                 Changed refSelectedChild to getSelectedChild.
5563
5564         * cspi/spi_table.c:
5565                 Fixed typos.
5566                 Changed getCaption to return an Accessible.
5567                 Fixed calls which retrieve attributes.
5568                 Changed refAt to getAccessibleAt.
5569                 Changed getNSelectedRows and getNSelectedColumns to
5570                         return longs.
5571
5572         * cspi/spi_text.c:
5573                 Changed getCharacterExtents and getPointAtOffset to accept an
5574                         AccessibleCoordType.
5575                 Fixed typos.
5576                 Changed calls which retrieve attributes.
5577                 Changed refRunAttributes to getAttributes.
5578
5579         * cspi/spi_value.c:
5580                 Fixed typos.
5581
5582         * idl/Hyperlink.idl:
5583                 Changed n_anchors attribute to nAnchors to keep naming
5584                         convention consistent.
5585
5586         * idl/Table.idl:
5587                 Made Table inherit from Bonobo::Unknown.
5588                 Added nSelectedColumns and nSelectedRows attributes.
5589
5590         * idl/Value.idl:
5591                 Made Value inherit from Bonobo::Unknown.
5592
5593         * libspi/hyperlink.c:
5594                 Change for nAnchors attributte name change.
5595
5596 2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
5597         * cspi/Makefile.am:
5598                 Added spi-util.c.
5599
5600         * cspi/spi-util.c:
5601                 Fixed typo
5602
5603         * cspi/spi.c:
5604                 Added interface implementation c files to list of
5605                         includes so they are included in libcspi.
5606
5607         * cspi/spi.h:
5608                 Changed prototype of AccessibleAction_doAction to return a
5609                         boolean.
5610                 Changed prototype of AccessibleTable_getCaption to
5611                         return an Accessible.
5612                 Changed prototype of AccessibleTable_getSelectedRows
5613                         and AccessibleTable_getSelectedColumns to
5614                         return a long (returns the number of selected rows
5615                         or columns respectively).
5616                 Changed name of AccessibleText_refRunAttributes to
5617                         AccessibleText_getAttributes.
5618                 Changed prototype of AccessibleText_getCharacterExtents to
5619                         return a void rather than a boolean. 
5620                 Added support for a AccessibleCoordType parameter
5621                         specifying what type of coordinates are desired.
5622                 Added an AccessibleCordType parameter to
5623                         AccessibleText_getPointAtOffset.
5624
5625         * cspi/spi_accessible.c:
5626                 Added code to return the outstanding interfaces from
5627                         Accessible_queryInterface.
5628
5629         * cspi/spi_action.c:
5630                 Fixed typos.
5631                 Corrected call to getNActions to call the c binding
5632                         for an attribute.
5633
5634         * cspi/spi_editabletext.c:
5635                 Fixed typos.
5636                 Changed name from setRunAttributes to setAttributes.
5637
5638         * cspi/spi_hyperlink.c:
5639                 Fixed typos.
5640                 Changed call to getNAnchors to correctly call the c
5641                         binding for an attribute.
5642
5643         * cspi/spi_hypertext.c:
5644                 Fixed typos.
5645                 Changed getImageDescription to correctly call the
5646                         binding for an attribute.
5647
5648         * cspi/spi_selection.c:
5649                 Changed getNSelectedChildren to correctly call the c
5650                         binding for the attribute.
5651                 Changed refSelectedChild to getSelectedChild.
5652
5653         * cspi/spi_table.c:
5654                 Fixed typos.
5655                 Changed getCaption to return an Accessible.
5656                 Fixed calls which retrieve attributes.
5657                 Changed refAt to getAccessibleAt.
5658                 Changed getNSelectedRows and getNSelectedColumns to
5659                         return longs.
5660
5661         * cspi/spi_text.c:
5662                 Changed getCharacterExtents and getPointAtOffset to accept an
5663                         AccessibleCoordType.
5664                 Fixed typos.
5665                 Changed calls which retrieve attributes.
5666                 Changed refRunAttributes to getAttributes.
5667
5668         * cspi/spi_value.c:
5669                 Fixed typos.
5670
5671         * idl/Hyperlink.idl:
5672                 Changed n_anchors attribute to nAnchors to keep naming
5673                         convention consistent.
5674
5675         * idl/Table.idl:
5676                 Made Table inherit from Bonobo::Unknown.
5677                 Added nSelectedColumns and nSelectedRows attributes.
5678
5679         * idl/Value.idl:
5680                 Made Value inherit from Bonobo::Unknown.
5681
5682         * libspi/hyperlink.c:
5683                 Change for nAnchors attributte name change.
5684
5685
5686 2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
5687
5688         implementations-- made server implementations own AtkObject pointers
5689         rather than their respective AtkInterrface pointers to fix
5690         refcounting.  AtkHyperlink is still broken.
5691
5692 2001-09-04  Bill Haneman <bill.haneman@sun.com>
5693         * cspi/spi_accessible.c:
5694                 Added method Accessible_Role_getName(),
5695                         and requisite string array (role_names).
5696                 Added conversion string_from_corba_strin() call
5697                         to Accessible_getName and _getDescription.
5698         * libspi/accessible.c:
5699                 Added implementation for Accessible_getRole()
5700         * test/simple-at.c:
5701                 Added festival support, used if environment variable
5702                         FESTIVAL is set.
5703         
5704 2001-09-04  Bill Haneman <bill.haneman@sun.com>
5705
5706         * at-bridge/bridge.c:
5707             Now allocate Accessibility_Event using
5708             Accessibility_Event__alloc() instead of g_new0().
5709         * libspi/accessibleeventlistener.c:
5710             Initialize AccessibleEventListener->callbacks to NULL.
5711             Fixed accessible__event_listener_init() param, changed to
5712             "AccessibleEventListener *" type.
5713             Changed a bonobo_object_release_unref() call to
5714             Accessibility_Accessible_unref().
5715         * libspi/listener.c:
5716             Changed Bonobo_Unknown_unref to (equivalent) 
5717             Accessibility_Accessible_unref.
5718         * libspi/registry.c:
5719             Changed bonobo_object_release_unref to 
5720             Accessibility_Accessible_unref.
5721         
5722 2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
5723         
5724         * Added files:
5725             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
5726             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
5727             spi-util.c spi-util.h
5728             Implementations for C bindings to remaining accessibility 
5729             interfaces.
5730
5731 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
5732         
5733         * idl/Action.idl:
5734             changed return value of Action from void to boolean to 
5735             bring in line with ATK.
5736
5737         * idl/Text.idl:
5738             Changed getText funcions to return "out" start and end offsets.
5739             Changed getAttributes to take and offset and return the start 
5740             and end offset of the attribute run.
5741             Changed getOffsetAtPoint and getCharacterExtents to take an 
5742              enum describing whether coordinates are window or screen.
5743
5744         * Added files:
5745             libspi/action.c libspi/action.h libspi/editabletext.c 
5746             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
5747             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
5748             libspi/image.h libspi/selection.c libspi/selection.h
5749             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
5750             libspi/value.c libspi/value.h
5751             Added server implementations for outstanding ATK interfaces 
5752             not yet implemented.
5753  
5754 2001-09-04  Bill Haneman <bill.haneman@sun.com>
5755
5756         * idl/Action.idl:
5757                 Added (missing) getName() method. 
5758                 Made nActions an attribute.
5759         * idl/EditableText.idl:
5760                 Changed order of params in setAttributes.
5761         * idl/Hyperlink.idl:
5762                 Removed getAnchor, added getURI.
5763         * idl/Image.idl:
5764                 Changed attributes to methods, for efficiency
5765                 (so that getting extents can be done in one call)
5766         * idl/Selection.idl:
5767                 Changed nSelectedChildren to attribute, and re-indented.
5768         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
5769                 to attributes.
5770         * idl/Text.idl: reformatted to match our coding style.
5771                 (temporarily?) removed getRowColumnAtOffset().
5772                 Changed text selection API to support multi-select and
5773                 non-contiguous selections, as in ATK.
5774         * idl/Value.idl: changed some methods to attributes.
5775
5776 2001-08-24  Mark McLoughlin <mark@skynet.ie>
5777
5778         * libspi/listener.c(impl_notify_event):
5779         BonoboUnkown_unref the source instead
5780         of bonobo_object_release_unref - the ORB
5781         handles the releasing.
5782
5783         * configure.in: require ORBit-2.3.94 for
5784         this behaviour.
5785
5786 2001-08-21  Bill Haneman <bill.haneman@sun.com>
5787
5788         Tagged CVS repository 'EA_1_0'.
5789         * README.EARLY_ACCESS:
5790         Alphabetized acknowledgements list, and
5791         added someone.
5792         Listed some known dependencies of at-spi.
5793
5794 2001-08-20  Bill Haneman <bill.haneman@sun.com>
5795
5796         * docs/at-spi-docs.sgml:
5797         * docs/at-spi-sections.txt:
5798         * docs/at-spi-overrides.txt: (Added zero-length file)
5799         Documentation improvements - gtk-doc should build
5800         docs for all implemented C bindings now.
5801         * cspi/Makefile.am:
5802         * cspi/spi_main.c:
5803         * cspi/spi.c: (New file)
5804         * cspi/spi_event.c: (New file)
5805         * cspi/spi_registry.c: (New file)
5806         * cspi/spi_accessible.c: (New file)
5807         * cspi/spi_application.c: (New file)
5808         * cspi/spi_component.c: (New file)
5809         Split spi_main.c into six parts, and included them from
5810         "spi.c".  This is a bit of a hack, probably temporary,
5811         but required by gtk-doc, apparently.
5812         
5813 2001-08-20  Bill Haneman <bill.haneman@sun.com>
5814
5815         * docs/Makefile.am:
5816         * docs/at-spi-docs.sgml:
5817         * docs/at-spi-sections.txt:
5818         * configure.in:
5819         Initial checkins/modifications for gtk-doc generation.
5820         * cspi/spi.h:
5821         * cspi/spi.c:
5822         Added (missing) interface query methods to Accessible's C binding.
5823         * cspi/spi-impl.h:
5824         Added GenericInterface type definition.
5825         * test/simple-at.c:
5826         Added query for AccessibleComponent interface to focus event handler.
5827         Added printout of bounding box for focussed component.
5828         * libspi/component.c:
5829         Added partial implementation for AccessibleComponent to C binding.
5830         * idl/Application.idl:
5831         * libspi/registry.c:
5832         * libspi/listener.c:
5833         * libspi/application.c:
5834         * libspi/application.h:
5835         Changed "ID" attribute type from string to long.
5836
5837 2001-08-19  Bill Haneman <bill.haneman@sun.com>
5838
5839         * cspi/spi.h:
5840         * cspi/spi.c:
5841         Made method naming consistent: methods taking object args
5842         start with uppercase, other methods (except those using
5843         acronyms) start with lowercase.  Underscores delimit between
5844         object names and method names:
5845         SPI_init() - uppercase since it starts with an acronym.
5846         getDesktopCount () - lowercase start since no object param0.
5847         Accessible_getName() - uppercase object type name, studlyCaps method
5848                                name.
5849
5850         * cspi/spi.h:
5851         Added gtk-doc documentation for all currently implemented
5852         methods in the C bindings API.
5853
5854 2001-08-18  Bill Haneman <bill.haneman@sun.com>
5855
5856         * Makefile.am : changed build order to build test last.
5857         * cspi/spi.h :
5858         * cspi/spi_main.c :
5859         Changed "createEventListener" to "CreateEventListener".
5860         * libspi/accessibleeventlistener.c :
5861         Bugfix for addition of callbacks.
5862         * test/Makefile.am :
5863         * test/simple-at.c :
5864         Added new test that uses the C bindings API.
5865         * idl/Event.idl :
5866         * libspi/listener.c :
5867         * libspi/registry.c :
5868         * libspi/accessibleeventlistener.c :
5869         * at-bridge/bridge.c :
5870         Renamed member "target" of Accessibility_Event to "source",
5871         which is more descriptive.
5872         
5873
5874 2001-08-18  Bill Haneman <bill.haneman@sun.com>
5875
5876         * Makefile.am: 
5877         * configure.in :
5878         * cspi/Makefile.am :
5879         Added makefile support for at-spi/cspi directory.
5880         * cspi/spi.h : 
5881         * cspi/spi-impl.h :
5882         * cspi/spi-listener.h : (NEW FILE)
5883         Added support for/use of spi-listener.h.
5884         * cspi/spi_main.c :
5885         C bindings now build successfully, with no warnings.
5886         * libspi/accessibleeventlistener.h : (NEW FILE)
5887         * libspi/accessibleeventlistener.c : (NEW FILE)
5888         * libspi/Makefile.am :
5889         Added new object type "AccessibleEventListener"
5890         which inherits from Listener, and allows attachment
5891         of in-process callbacks (so that a client with a listening
5892         object instance can add functionality to the local 
5893         implementation, dynamically).
5894
5895 2001-08-18  Bill Haneman <bill.haneman@sun.com>
5896
5897         * libspi/accessible.c: 
5898         Add implementation for get_index_in_parent().
5899         * cspi/spi.h : 
5900         Added #include of "spi-roletypes.h", and
5901         added enumerated type AccessibleCoordType.
5902         Added definition for KeystrokeListener (function type).
5903
5904         ADDED FILES:
5905         * cspi/spi-statetypes.h :
5906         * cspi/spi-roletypes.h :
5907         * cspi/spi-impl.h :
5908         Added these headers, used by spi.h.
5909         * cspi/spi_main.c : 
5910         Added code (NOTE: not yet built by make).
5911
5912 2001-08-18  Mark McLoughlin <mark@skynet.ie>
5913
5914         * libspi/Makefile.am: generate imodule
5915         at the same time as other idl compiler 
5916         generated files. 
5917
5918 2001-08-17  Bill Haneman <bill.haneman@sun.com>
5919         * libspi/registry.c :
5920         * libspi/application.c :
5921         * idl/Application.idl :
5922         Made registration with toolkit an application method,
5923         which is required since each app has its own toolkit static
5924         environment.  Thus the bridge must register for 
5925         notification of toolkit events from each application in turn.
5926         Toolkit notifications are now successfully registered for, and
5927         sent to the listening at client.
5928         * test/at.c :
5929         Changed toolkit event string to use hyphens rather than underscores.
5930         * libspi/listener.c :
5931         listner now gives more info in debug mode - it reports the
5932         name of the event received, as well as the name of the source.
5933         
5934
5935 2001-08-16  Bill Haneman <bill.haneman@sun.com>
5936
5937         * libspi/registry.c :
5938         added more implementation for toolkit events.
5939         Fixed bug such that toolkit event registrations
5940         (via atk) use the whole event name string, not 
5941         just minor+detail.
5942         Removed a useless call to an ORBit_ method.
5943         * at-bridge/bridge.c :
5944         Removed unused local sbuf[] variable.
5945         * test/at.c :
5946         We now register for Gtk:GtkWidget:button_press_event 
5947         events as well as "focus:" events.
5948         * cspi/spi.h :
5949         Add some more API from Registry.idl that was missing,
5950         for keystroke listening, keystroke and mouse event
5951         synthesis, and enumeration of accessible desktops.
5952
5953 2001-08-16  Michael Meeks  <michael@ximian.com>
5954
5955         * configure.in: use AM_GLIB_GNU_GETTEXT.
5956
5957         * Makefile.am (SUBDIRS): kill intl.
5958
5959 2001-08-15  Michael Meeks  <michael@ximian.com>
5960
5961         * registryd/Makefile.am: s/oaf/server/ relocate info file.
5962
5963         * configure.in: upd.
5964
5965         * configure.in: depend on a recent bonobo-activation that
5966         will find our server files ...
5967
5968 2001-08-16  Bill Haneman <bill.haneman@sun.com>
5969
5970         * libspi/accessible.c : accessible_new() :
5971         Now we add the Component interface via bonobo_object_add_interface,
5972         if the contained AtkObject implements AtkComponent.
5973         * libspi/accessible.h : now include "component.h"
5974         * libspi/component.h :
5975         * libspi/component.c : added files - implementation of
5976         bonobo wrapper object for Accessibility/Component
5977         * libspi/listener.c :
5978         Added test code to check for Accessibility/Component:1.0
5979         interface and report whether it is implemented by the
5980         event source.
5981         * libspi/registry.c :
5982         Now we check for not only the hash of the whole event 
5983         string before relaying the event, we also check the
5984         "minor" event string (without the detail string).
5985         This allows event listeners to be registered against
5986         all events of a certain major+minor type, or just
5987         against a specific major+minor+detail type.
5988         * libspi/accessible.c :
5989         Added implementations for Accessible:get_parent(),
5990         Accessible:getChildCount(), and Accessible:getChildAtIndex().
5991         * libspi/registry.c :
5992         * libspi/listener.c :
5993         Replaced calls to Accessibility_Accessible_ref() and
5994         Accessibility_Accessible_unref() with 
5995         calls to bonobo_object_dup_ref() and 
5996         bonobo_object_release_unref(), so that the CORBA object
5997         is dup-ed and released when relayed, as well as the bonobo object.
5998
5999 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6000
6001         * libspi/Makefile.am,
6002           registryd/Makefile.am,
6003           at-bridge/Makefile.am.
6004           test/Makefile.am, configure.in:
6005         reverse previous changes.
6006
6007         * /idl/Image.idl: fix typo.
6008
6009         * test/Makefile.am: put DEBUG_FLAGS
6010         in CFLAGS.
6011
6012 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6013
6014         * test/app.c: use argv[0] instead of
6015         g_type_prgname.
6016
6017 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6018
6019         * libspi/Makefile.am,
6020           registryd/Makefile.am,
6021           at-bridge/Makefile.am.
6022           test/Makefile.am, configure.in:
6023         cleanup, replace individual LIBS/CFLAGS with
6024         AT_COMMON_{LIBS|CFLAGS}.
6025
6026         * README: format.
6027
6028 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6029         
6030         * configure.in, libspi/Makefile.am:
6031         Change IDL path checking for bonobo-activation
6032         as opposed to oaf.
6033
6034 2001-08-15  Bill Haneman <bill.haneman@sun.com>
6035
6036         * registryd/registry.c : separated event listeners to use
6037         3 separate lists (focus, window, toolkit).  Began testing
6038         event names against hashes before relaying events.
6039         * test/at.c : now register for events of type "focus:"
6040         * test/app.c : now generate events of type "focus:"
6041         * at-bridge/bridge.c : register with ATK for focus events,
6042         and we now relay those focus events to any "focus:" listeners.
6043         This now works with the bridge as a GTK_MODULE when running test/at.
6044         * libspi/registry.c :
6045         * libspi/listener.c : 
6046         now we ref event sources before propagating, and unref on receipt.
6047         * libspi/registry.c : 
6048         some changes to internal structs, to support event typestring hashes.
6049         * text/app.c : changed the way the appname is generated.
6050         * cspi : added directory that will hold the C bindings library for 
6051                 non-CORBA/bonobo-savvy clients.
6052         * cspi/spi.h : header file that contains the function prototypes for the C binding.
6053         * idl/Component.idl : added in parameter to indicate coord system for
6054                 geometry-related calls.
6055         * idl/Hyperlink.idl : added readonly n_links attribute
6056         * idl/Image.idl : changed methods to attributes.
6057         
6058 2001-08-15  Mark McLoughlin <mark@skynet.ie>
6059
6060         * at-bridge/Makefile.am: link against
6061         ../libspi/libspi.la instead of -lspi.
6062
6063         * at-spi/test/app.c: include 
6064         bonobo-activation.h. Use a default appname
6065         if one is not provided.
6066
6067 2001-08-14  Bill Haneman <bill.haneman@sun.com>
6068
6069         * idl/Registry.idl : temporarily changed register_Application
6070         to oneway, to work around issue with initial registration 
6071         re-entrancy.
6072         * idl/Application.idl : changed attribute "id" from readonly 
6073         to read-write, since it needs to be assigned by Registry.
6074         * registryd/registryd.c : added call to set application id 
6075         on registration.
6076         * registryd/registry.c : changed de-registration procedure to
6077         use CORBA_Object_hash() to find matching object ref in application
6078         lists and listener lists.
6079         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
6080         began distinguishing between event types (work in progress).
6081
6082 2001-08-13  Bill Haneman <bill.haneman@sun.com>
6083
6084         CHANGES:
6085         * libspi/application.c:
6086         Added implementations for get/set id, get_toolkitName,
6087         get_version.
6088         * registryd/registryd.c :
6089         * test/at.c :
6090         * test/app.c :
6091         * Makefile.am :
6092         Converted from use of OAF to bonobo-activation.
6093         * libspi/desktop.h :
6094         * libspi/desktop.c :
6095         * test/app.c :
6096         Removed references to atksimpleobject, since base atkobject
6097         implementation now provides functionality we need.
6098         * libspi/atksimpleobject.c :
6099         * libspi/atksimpleobject.h :
6100         Removed.
6101         
6102         ADDITIONS:
6103         * at-bridge
6104         * at-bridge/Makefile.am
6105         * at-bridge/bridge.c
6106         * configure.in
6107         * Makefile.am
6108         Added directory "bridge" and contents, and added dependencies
6109         in Makefile.am/configure.in.  
6110         Initial checkin of "at-bridge".
6111         This code is a GTK_MODULE which automatically registers
6112         GTK+ apps with the accessibility registry, using an object
6113         reference to the root ATK object.
6114         
6115 2001-08-10  Mark McLoughlin <mark@skynet.ie>
6116
6117         * po/Makefile.in.in: Remove. Again. If this
6118         doesn't get autogenerated - you need to update
6119         gnome-common.
6120
6121 2001-08-07  Mark McLoughlin <mark@skynet.ie>
6122
6123         * po/Makefile.in.in: Add. Again.
6124
6125 2001-07-31  Bill Haneman <bill.haneman@sun.com>
6126
6127         * libspi/accessible.c : added support for 'description' property.
6128         * libspi/accessible.c
6129         * libspi/desktop.c
6130         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
6131             (since the two are now equivalent in libbonobo)
6132         * idl/Action.idl
6133         * idl/Component.idl
6134         * idl/Hyperlink.idl
6135         * idl/Image.idl
6136         * idl/Selection.idl
6137         * idl/Table.idl
6138         * idl/Text.idl
6139         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
6140              Bonobo::Unknown as does Accessibility::Accessible.
6141         * idl/StreamableContent.idl : as above, and replaced internal InputStream
6142              interface with Bonobo::Stream, since it was redundant with it.
6143              (The Stream returned by a StreamableContext object is expected to
6144              implement only a subset of Bonobo::Stream)
6145
6146 2001-07-28  Anders Carlsson  <andersca@gnome.org>
6147
6148         * libspi/accessible.c (accessible_object_finalize): Change
6149           g_free to g_object_unref since the AtkObject is a GObject.
6150
6151 2001-07-30  Bill Haneman <bill.haneman@sun.com>
6152
6153         * idl/Accessibility.idl: add new IDL files
6154         
6155         Added:
6156         * idl/Action.idl: Definitions of actionable UI object
6157         * idl/Component.idl: Definitions of UI component geometry, etc.
6158         * idl/Hyperlink.idl: Defs of hyperlink behavior
6159         * idl/Image.idl: Def of accessible image
6160         * idl/Selection.idl: Definition of UI object with selectable children
6161         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
6162         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
6163         * idl/Text.idl: Interface defs for UI elements with complex textual content
6164         * idl/Value.idl: Definition of UI element that is a value controller or display
6165         
6166 2001-07-27  Michael Meeks  <michael@ximian.com>
6167
6168         * po/Makefile.in.in: remove autogenerated file from CVS.
6169
6170         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
6171         type library.
6172
6173         * idl/Registry.idl: include guard.
6174
6175         * idl/Accessibility.idl: Add, and include all the other IDL
6176         files.
6177
6178         * idl/*.idl: remove mass of pragmas etc.
6179
6180 2001-07-26  Michael Meeks  <michael@ximian.com>
6181
6182         * registryd/Makefile.am (registryd_SOURCES): remove
6183         redundant at_.
6184
6185 2001-07-27  Mark McLoughlin <mark@skynet.ie>
6186
6187         * libspi/.cvsignore, registryd/.cvsignore,
6188           test/.cvsignore: updated.
6189
6190         * po/Makefile.in.in: gettext update.
6191
6192 2001-07-25  Bill Haneman <bill.haneman@sun.com>
6193
6194         * initial CVS checkin
6195
6196 2001-06-29  Michael Meeks  <michael@ximian.com>
6197
6198         * configure.in: add AM_CONFIG_HEADER to gen config.h
6199
6200         * acconfig.h: add.
6201