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