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