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