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