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