Fixed bug in Accessible_getDescription().
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2001-16-11  Bill Haneman <bill.haneman@sun.com>
2
3         * libspi/accessible.c:
4         Fixed a bug that caused SEGV  if an accessible
5         object's description is NULL, and a client
6         requests it.  An empty string is now returned.
7
8         * cspi/spi_editabletext.c:
9         * cspi/spi_hypertext.c:
10         Added docs.  Doc coverage now 70%.
11
12 2001-16-11  Bill Haneman <bill.haneman@sun.com>
13
14         One last namespacing revision:
15         * libspi/accessibleeventlistener.[ch]:
16         Renamed SpiAccessibleEventListener to SpiEventListener,
17         (no need for two namespaces ;-)
18
19         And lots of documentation fixes:
20
21         * docs/at-spi-docs.sgml:
22         Fixed 'underscore vs. hyphen' bug that was preventing
23         the gtk-doc API docs from being automatically generated.
24
25         * cspi/spi-impl.h
26         * cspi/spi-listener.h
27         * cspi/spi.h
28         * cspi/spi_accessible.c
29         * cspi/spi_action.c
30         * cspi/spi_application.c
31         * cspi/spi_component.c
32         * cspi/spi_editabletext.c
33         * cspi/spi_event.c
34         * cspi/spi_hypertext.c
35         * cspi/spi_main.c
36         * cspi/spi_registry.c
37         * cspi/spi_selection.c
38         * cspi/spi_text.c
39         * cspi/spi_value.c
40         * docs/Makefile.am
41         * docs/at-spi-docs.sgml
42         * docs/at-spi-sections.txt
43         
44         Added and fixed up gtk-doc documentation in cspi.
45         
46         Interfaces now (fully) documented (subject to revision and enhancement):
47         SPI_main
48         Event Listener Support
49         Registry API
50         AccessibleApplication
51         Accessible
52         AccessibleAction
53         AccessibleComponent
54         AccessibleEditableText
55         AccessibleSelection
56         AccessibleText
57         AccessibleValue
58
59         still pending:
60         AccessibleStateSet
61         AccessibleRelationSet
62         AccessibleImage
63         AccessibleTable
64         AccessibleHyperlink
65         
66 2001-14-11  Bill Haneman <bill.haneman@sun.com>
67
68         * at-bridge/bridge.c:
69         Initial work for toolkit-level key snooper connection by bridge.
70
71         * cspi/spi-impl.h:
72         * cspi/spi_*.h:
73         * cspi/spi_*.c:
74         New typedefs and fixes to support new namespacing, and cleaner
75         separation of cspi bindings from libspi bonobo implementation.  
76         Removed inconsistent and extraneous Spi* namespace prefix that
77         had crept into cspi headers.
78         Lots of comment fixes that sed had missed.
79
80         * cspi/spi-roletypes.h:
81         * cspi/spi-statetypes.h:
82         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
83         to AccessibleRoleType.
84         
85         * libspi/accessibleeventlistener.h:
86         Fixed minor namespacing weirdness.
87
88         * libspi/deviceeventcontroller.c:
89         Reordered some internal API for device listeners.
90         Changed the key registry final boolean to 'is_system_global'
91         rather than 'is_synchronous', which is more descriptive of its 
92         actual meaning.
93         Added spi_device_event_controller_new().
94         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
95          
96         * libspi/keystrokelistener.[ch]:
97         Namespaced KeystrokeListener to SpiKeystrokeListener.
98         Changed uses of keymasks to use SPI_ prefix, and did other
99         knock-on fixups.
100
101         * libspi/keymasks.h:
102         Namespaced keymask constants with SPI_ prefix.
103
104         * libspi/registry.c:
105         Some warning fixes, and knock-on fixes from namespace changes.
106
107         * test/Makefile.am:
108         Added rules for accessx-gui test program.
109
110         * test/accessx-gui.c:
111         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
112         utility.  It doesn't actually use at-spi, but it's still cool and
113         useful ;-)
114
115         * test/keysynth-demo.c:
116         * test/simple-at.c:
117         * test/at.c:
118         * test/app.c:
119         Fixes so that these test clients work properly with the namespaced
120         libraries. (Incompletely tested for technical reasons, fixes may follow)
121         
122
123 2001-13-11  Michael Meeks  <michael@ximian.com>
124
125         * libspi/application.c
126         (impl_accessibility_application_get_version),
127         (impl_accessibility_application_get_toolkit_name):
128         warning fixes.
129         (impl_accessibility_application_set_id),
130         (impl_accessibility_application_get_id): remove
131         redundant casting code.
132
133         * libspi/action.c (impl_getDescription): fix warnings.
134
135         * libspi/accessible.c
136         (impl_accessibility_accessible_get_parent),
137         (impl_accessibility_accessible_get_child_at_index),
138         (impl_accessibility_accessible_get_state),
139         (impl_accessibility_accessible_get_relation_set):
140         warning fixes & include action.h
141
142 2001-13-11  Michael Meeks  <michael@ximian.com>
143
144         * *.[ch] fix bits I screwed up:
145
146                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
147                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
148         
149 2001-13-11  Michael Meeks  <michael@ximian.com>
150
151         * *.[ch] Namespace libspi into spi_ and Spi.
152
153 2001-13-11  Michael Meeks  <michael@ximian.com>
154
155         * Makefile.am: dist & install at-spi-1.0.pc
156
157         * libspi/Makefile.am: install into at-spi-1.0
158
159         * idl/Makefile.am (idldir): install into at-spi-1.0
160
161         * at-spi-1.0.pc.in: add.
162
163         * configure.in: build it.
164
165 2001-12-11  Bill Haneman <bill.haneman@sun.com>
166
167         * test/keysynth-demo.c:
168         Use a 'realize' signal-handler to set the WM properties for
169         the virtual keyboard, rather than making it a "POPUP" type
170         override-redirect window (thanks to anders carlsson for that
171         tip!)
172
173 2001-11-11  Bill Haneman <bill.haneman@sun.com>
174
175         * test/Makefile.am:
176         * test/keysynth-demo.c:
177         Added new test of key synthesis, which creates a simple
178         (mouse-operated) onscreen keyboard.  It inserts key events into
179         the currently-focused window, thus it does not grab keyboard focus
180         itself.
181
182         * cspi/spi_registry.c:
183         Added C binding for AT-SPI generateKeyEvent.
184
185         * libspi/deviceeventcontroller.c:
186         Added call to XFilterEvent so that key listener works with XIM (we
187         hope).  Added event_synth_type to generateKeyEvent, so that we can
188         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
189         synthesize a press/release pair for KeySyms.    
190         
191 2001-11-09  Bill Haneman <bill.haneman@sun.com>
192
193         * libspi/Makefile.am: 
194         * registryd/Makefile.am:
195         (temporary) hack to include libXtst in libspi and registryd.
196         (Needed for keystroke synthesis, see below).
197
198         * idl/Registry.idl:
199         Improved API for registerKeystrokeListener, in accordance with
200         discussions with Gnopernicus team and X server research.
201
202         * libspi/registry.c:
203         * libspi/deviceeventcontroller.c:
204         * libspi/accessible.c:
205         * libspi/keystrokelistener.c:
206         Changes and fixes to support keylisteners for potentially
207         consumed key events (that is, 'passive grabs').
208         Added implementation for generateKeyEvent() [untested].
209
210         * cspi/spi.h:
211         Changes to registerKeystrokeListener() API, as above.
212         Added deregisterGlobalEventListenerAll(), and 
213         deregisterKeystrokeListener(), which are needed for clean exit of
214         clients.
215         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
216         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
217         
218         * cspi/spi_registry.c:
219         Added implementations of function prototypes mentioned above.
220         
221         * registryd/registryd.c:
222         Added the key listener event source as a g_timeout(), to allow
223         receipt of key events that are not caught by GDK (since GDK
224         doesn't support passive keygrabs, this was necessary).
225
226         * test/simple-at.c:
227         Changed to attach a keylistener to 'Alt' keys, and
228         respond to the following keycommands: Alt-M (toggle magnifier);
229         Alt-F (toggle speech); Alt-Q (quit).
230         Added an exit routine to deregister the listeners, and a key
231         listener that prints some key info to the console when a key
232         matches the listener mask (and is thus received by the listener).
233         
234         * util/idl/Magnifier.idl:
235         Changes to magnifier API to support multiple zoom regions,
236         non-uniform scaling in x and y, markDirty, and a host of other
237         features that would be useful to magnification.
238
239         * util/mag_image.h:
240         * util/mag_client.c:
241         * util/mag_client.h:
242         * util/mag_control.c:
243         * util/magnifier.c:
244         Source code changes to support the above IDL changes.
245         
246         * util/mag_image.c:
247         As above, and also changes to use a (slower) generic conversion
248         path for colormap conversions, since the fast RGB conversions have been
249         reported to fail for 16-bit displays.
250
251 2001-10-26  Michael Meeks  <michael@ximian.com>
252
253         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
254
255 <2001-10-26  Laszlo Peter <laca@ireland.sun.com>
256
257         * at-bridge/Makefile.am: fix LDFLAGS.
258
259 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
260
261         * at-bridge/bridge.c:
262         Re-worked listeners for toolkit events, now we have signal
263         and property listeners. Added a private method
264         register_atk_event_listeners(), which registers with the
265         various atk and gtk signals we need to monitor in order to emit
266         our at-spi events.
267         Added emission hook for AtkObject:property-change events, to
268         support the 'property listeners'.
269         Fixed some alloc()s of Accessibility_Event structs to use CORBA
270         allocation.
271
272         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
273         which emit warnings and exit, respectively, if CORBA errors occur
274         during remote calls, and we now use these methods to check most of
275         our CORBA calls in the C bindings.
276
277         * cspi/spi_accessible.c:
278         Changed AccessibleSelection_refSelectedChild() to
279         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
280         now increment refcounts.
281
282         * cspi/spi_component.c:
283         Fixed some long pointer casts (dangerous!) to pass pointers to
284         CORBA_longs of the proper type to the CORBA stubs, and copy the
285         data into the longs that were passed into the C bindings code.
286         
287         * at-bridge/bridge.c:
288         
289         * libspi/accessible.c:
290         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
291         hyperlinks, AtkHyperlink is an object type.     
292
293         * libspi/application.c:
294         Added various conversions to and from "generic" event types and
295         atk-specific types; this is really part of the 'bridge'
296         implementation but is valid for all AtkObject-based accessibility 
297         implementations.
298
299         * libspi/editabletext.c:
300         Fixed nasty bug wherein editable text's finalize method was
301         unref'ing tha AtkObject reference that the text parent class was
302         about to unref _again_.  There was also a nasty inheritance bug
303         that meant that the AccessibleEditableText class was corrupt.
304
305         * libspi/selection.c:
306         Provided implementations for some selection API that was broken.
307         
308         * idl/Application.idl:
309         Added registerObjectEventListener () method.
310
311         * THROUGHOUT:
312         Fixed a number of return values that were Bonobo_Unknowns from
313         bonobo_object_corba_objref(), which I
314         forgot to dup before returning.  Changed instances of 
315         bonobo_object_corba_objref (bonobo_object(o)) to
316         BONOBO_OBJREF(o), for concision and clarity.
317         
318 <2001-10-13  Louise Miller <louise.miller@sun.com>
319
320         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
321         idl/Event.idl, idl/Registry.idl
322         Changed these files to include Bonobo_Unknown.idl instead
323         of Bonobo.idl
324
325 <2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
326
327         * libspi/component.c libspi/component.h:
328                 Fixed typo.  Added assertions for object checks in 
329         AccessibleComponent code.
330
331 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
332
333         * idl/Accessible.idl:
334                 Added 'isEqual (Accessible *object)' 
335         method for Accessible. (Not Yet Implemented).
336         
337         * idl/Registry.idl:
338                 Changed signature of registerKeystrokeListener() to
339         take a KeySet and KeyEventSeq so that specific keys and event
340         types could be requested for monitoring, and added a flag
341         is_synchronous so that either synchronous or asynchronous
342         notification could be requested.  (However this is not all
343         implemented yet). This also meant adding two new typedefs,
344         KeyEventSeq and KeySet.
345
346         * idl/Relation.idl: 
347                 Added two new relations, RELATION_TOOLTIP_FOR and
348         RELATION_LEAFNODE_OF.
349
350         * idl/State.idl:
351                 Added new state, STATE_HAS_TOOLTIP.
352         
353         * libspi/text.c, editabletext.c:
354                 Added new assertions to all casts of bonobo-objects from
355         CORBA servants, to prevent Text API calls on non-text objects.
356                 Changed suspect casts of int-pointer types, so that we
357         always send a valid CORBA_long pointer to the CORBA APIs that use
358         in/out long parameters.  We then have to copy from the CORBA_long
359         into the regular long or int for return to the C bindings, or
360         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
361         
362         * cspi/spi_text.c:
363         * libspi/deviceeventcontroller.c:
364                 Cleaned these sources up.
365         * idl/Text.idl:
366                 Changed return type for getCharacterAtOffset to
367         CORBA_unsigned_long, to allow for 32-bit characters.
368         
369                 
370 <2001-10-08  Bill Haneman <bill.haneman@sun.com>
371
372         * util/Makefile.am:
373         * idl/Makefile.am:
374                 Fixed 'make dist' so that distro compiles...
375         * libspi/keymasks.h:
376                 new file.
377         * cspi/spi-listener.c:
378                 KeystrokeListenerCB now returns a boolean.
379         * cspi/spi.h:
380                 Added KeyEventType struct, and KeyStroke.
381                 Also added createKeystrokeListener(),
382         KeystrokeListener_addCallback(),
383         KeystrokeListener_removeCallback(), and added a keymask to
384         registerKeystrokeListener().
385         * cspi/spi_accessible.c:
386                 Changed numerous return types for interfaces from
387         AccessibleComponent to Accessible<InterfaceName>; this was
388         probably a cut-and-paste error.
389         * cspi/spi_event.c:
390                 Implementations of new KeystrokeListener api (from spi.h,
391         above).
392         * idl/Registry.idl:
393                 Changes to key modifier mapping.
394                 Created ControllerEventMask struct.
395                 Made DeviceEventController derive from Bonobo::Unknown.
396         * idl/Text.idl:
397                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
398         * libspi/deviceeventcontroller.c:
399                 Added a number of new internal (private) methods.
400         * libspi/editabletext.c:
401         * libspi/editabletext.h:
402                 Fixed a number of bugs related to the fact that
403         editabletext inherits from text.  Fixed the EditableText struct,
404         the init() call, and use correct casts when calling Text methods
405         from an EditableText object.  Removed (duplicate) atko from the
406         EditableText structure, we use the one in the parent Text
407         structure via the casts mentioned above.
408         * libspi/keystrokelistener.[ch]:
409         * libspi/registry.c:
410                 Changes in support of keyboard handling (above).
411         
412         Keyboard handling, though partly functional, is still not
413         recommended for at-spi client use as there is considerable 
414         work yet to be done.
415
416         * libspi/text.c:
417                 Changed some places where pointers to various int types
418         are cast to be pointers to CORBA_long types and vice-versa:
419         pointer casting is not safe so we pass pointers of the correct
420         types and then cast the result before putting it into the target
421         pointers.
422
423         * libspi/text.h: minor typos corrected.
424         * test/simple-at.c: 
425                 We now speak not only the name of a Text element, but the
426         first sentence of its content, when it receives focus.
427                 I also changed the text compression to 75% from 50%.
428         * util/Accessibility_Util.server.in:
429                 Changed the default magnifier type to be a 3x vertical
430         splitscreen magnifier (was previously a 2x horizontal one).
431
432 <2001-10-03  Bill Haneman <bill.haneman@sun.com>
433
434         * libspi/keystrokelistener.h:
435         * libspi/keystrokelistener.c:
436                 Initial functional implementations of KeystrokeListener.
437         * idl/Registry.idl:
438         
439 <2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
440
441         Fixed string handling for NULL strings in libspi.
442         Added spi_freeString to free strings returned by C bindings.
443
444 <2001-09-30  Bill Haneman <bill.haneman@sun.com>
445
446         * libspi/keystrokelistener.h:
447         * libspi/keystrokelistener.c:
448                 Began (no-op) implementations of KeystrokeListener
449                         (see below).
450         * libspi/deviceeventcontroller.c:
451         * libspi/deviceeventcontroller.h:
452                 Began creating implementations of DeviceEventController,
453                         to handle keystroke and mouse event listening and
454                         synthesis.
455         * libspi/accessible.c:
456                 Stubbed-in the implementations for
457                         Accessibility_Accessible_getState and
458                         Accessibility_Accessible_getRelationSet.
459         * libspi/registry.c:
460                 Improved de-registration process and fixed some bugs, 
461                         deregistration now works correctly.
462         * libspi/desktop.c:
463                 Added initialization of applications list (to NULL).
464         * util/magnifier.c:
465                 Reduced speech compression from 0.5 to 0.7, for demo.
466                 Changed call to gdk_window_set_decorations()
467                         to gtk_window_set_decorated().
468         * at-bridge/bridge.c:
469                 Bridge now deregisters when app exits, via
470                         registration of a cleanup function
471                         with the g_atexit() call.
472                         Required making 'app' static, renamed 'this_app'.
473                 Fixed broken use of bonobo_init, passing argv wrongly.
474
475 <2001-09-27  Bill Haneman <bill.haneman@sun.com>
476
477         * util:
478         * util/Makefile.am: 
479                 Created a new directory for 
480                         accessibility-related utilities, primarily for
481                         testing and demo purposes, but with possible
482                         end-user utility.
483         
484         * util/magnifier.c:
485         * util/magnifier.h:
486         * util/mag_image.c:
487         * util/mag_image.h:
488                 Onscreen magnifier utility that
489                         is implemented as a bonobo service.
490         
491         * util/mag_client.c:
492         * util/mag_client.h:
493                 Client-side support (simple C bindings) 
494                         for Magnification service
495         
496         * util/mag_control.c:
497                 Client program example for 
498                         Magnification service
499         
500         * util/Accessibility_Magnifier.server.in:
501                 Bonobo-activation file for the 
502                         Magnification service.
503         
504         * util/idl:
505         * util/idl/Magnifier.idl:
506                 IDL defining the bonobo Magnification
507                         service interface.
508
509         * test/simple-at.c:
510                 Modifications to use the bonobo-activated magnifier
511                         above, in place of trying to connect to an existing
512                         magnifier that uses socket-listening IPC.
513
514                 If env variable MAGNIFIER is set, a magnifier service
515                         will be started if one does not exist.
516         
517 <2001-09-25  Bill Haneman <bill.haneman@sun.com>
518         * at-bridge/bridge.c:
519                 applied patch from Marc to build and run 
520                 against new glib and gtk+ (seemed like a change 
521                 to bonobo_init signature was made ?)
522         * test/simple-at.c:
523                 made festival-server support turned off by default.
524                 Added support for a simple magnifier (off by default)
525                 which will be added to a 'util' directory later.
526         * at-bridge/Makefile.am:
527                 Changed "application.h" header from a 'source'
528                 to a 'dependency' of libat-bridge.
529
530 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
531         * cspi/Makefile.am:
532                 Added spi-util.c.
533
534         * cspi/spi-util.c:
535                 Fixed typo
536
537         * cspi/spi.c:
538                 Added interface implementation c files to list of
539                         includes so they are included in libcspi.
540
541         * cspi/spi.h:
542                 Changed prototype of AccessibleAction_doAction to return a
543                         boolean.
544                 Changed prototype of AccessibleTable_getCaption to
545                         return an Accessible.
546                 Changed prototype of AccessibleTable_getSelectedRows
547                         and AccessibleTable_getSelectedColumns to
548                         return a long (returns the number of selected rows
549                         or columns respectively).
550                 Changed name of AccessibleText_refRunAttributes to
551                         AccessibleText_getAttributes.
552                 Changed prototype of AccessibleText_getCharacterExtents to
553                         return a void rather than a boolean. 
554                 Added support for a AccessibleCoordType parameter
555                         specifying what type of coordinates are desired.
556                 Added an AccessibleCordType parameter to
557                         AccessibleText_getPointAtOffset.
558
559         * cspi/spi_accessible.c:
560                 Added code to return the outstanding interfaces from
561                         Accessible_queryInterface.
562
563         * cspi/spi_action.c:
564                 Fixed typos.
565                 Corrected call to getNActions to call the c binding
566                         for an attribute.
567
568         * cspi/spi_editabletext.c:
569                 Fixed typos.
570                 Changed name from setRunAttributes to setAttributes.
571
572         * cspi/spi_hyperlink.c:
573                 Fixed typos.
574                 Changed call to getNAnchors to correctly call the c
575                         binding for an attribute.
576
577         * cspi/spi_hypertext.c:
578                 Fixed typos.
579                 Changed getImageDescription to correctly call the
580                         binding for an attribute.
581
582         * cspi/spi_selection.c:
583                 Changed getNSelectedChildren to correctly call the c
584                         binding for the attribute.
585                 Changed refSelectedChild to getSelectedChild.
586
587         * cspi/spi_table.c:
588                 Fixed typos.
589                 Changed getCaption to return an Accessible.
590                 Fixed calls which retrieve attributes.
591                 Changed refAt to getAccessibleAt.
592                 Changed getNSelectedRows and getNSelectedColumns to
593                         return longs.
594
595         * cspi/spi_text.c:
596                 Changed getCharacterExtents and getPointAtOffset to accept an
597                         AccessibleCoordType.
598                 Fixed typos.
599                 Changed calls which retrieve attributes.
600                 Changed refRunAttributes to getAttributes.
601
602         * cspi/spi_value.c:
603                 Fixed typos.
604
605         * idl/Hyperlink.idl:
606                 Changed n_anchors attribute to nAnchors to keep naming
607                         convention consistent.
608
609         * idl/Table.idl:
610                 Made Table inherit from Bonobo::Unknown.
611                 Added nSelectedColumns and nSelectedRows attributes.
612
613         * idl/Value.idl:
614                 Made Value inherit from Bonobo::Unknown.
615
616         * libspi/hyperlink.c:
617                 Change for nAnchors attributte name change.
618
619 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
620         * cspi/Makefile.am:
621                 Added spi-util.c.
622
623         * cspi/spi-util.c:
624                 Fixed typo
625
626         * cspi/spi.c:
627                 Added interface implementation c files to list of
628                         includes so they are included in libcspi.
629
630         * cspi/spi.h:
631                 Changed prototype of AccessibleAction_doAction to return a
632                         boolean.
633                 Changed prototype of AccessibleTable_getCaption to
634                         return an Accessible.
635                 Changed prototype of AccessibleTable_getSelectedRows
636                         and AccessibleTable_getSelectedColumns to
637                         return a long (returns the number of selected rows
638                         or columns respectively).
639                 Changed name of AccessibleText_refRunAttributes to
640                         AccessibleText_getAttributes.
641                 Changed prototype of AccessibleText_getCharacterExtents to
642                         return a void rather than a boolean. 
643                 Added support for a AccessibleCoordType parameter
644                         specifying what type of coordinates are desired.
645                 Added an AccessibleCordType parameter to
646                         AccessibleText_getPointAtOffset.
647
648         * cspi/spi_accessible.c:
649                 Added code to return the outstanding interfaces from
650                         Accessible_queryInterface.
651
652         * cspi/spi_action.c:
653                 Fixed typos.
654                 Corrected call to getNActions to call the c binding
655                         for an attribute.
656
657         * cspi/spi_editabletext.c:
658                 Fixed typos.
659                 Changed name from setRunAttributes to setAttributes.
660
661         * cspi/spi_hyperlink.c:
662                 Fixed typos.
663                 Changed call to getNAnchors to correctly call the c
664                         binding for an attribute.
665
666         * cspi/spi_hypertext.c:
667                 Fixed typos.
668                 Changed getImageDescription to correctly call the
669                         binding for an attribute.
670
671         * cspi/spi_selection.c:
672                 Changed getNSelectedChildren to correctly call the c
673                         binding for the attribute.
674                 Changed refSelectedChild to getSelectedChild.
675
676         * cspi/spi_table.c:
677                 Fixed typos.
678                 Changed getCaption to return an Accessible.
679                 Fixed calls which retrieve attributes.
680                 Changed refAt to getAccessibleAt.
681                 Changed getNSelectedRows and getNSelectedColumns to
682                         return longs.
683
684         * cspi/spi_text.c:
685                 Changed getCharacterExtents and getPointAtOffset to accept an
686                         AccessibleCoordType.
687                 Fixed typos.
688                 Changed calls which retrieve attributes.
689                 Changed refRunAttributes to getAttributes.
690
691         * cspi/spi_value.c:
692                 Fixed typos.
693
694         * idl/Hyperlink.idl:
695                 Changed n_anchors attribute to nAnchors to keep naming
696                         convention consistent.
697
698         * idl/Table.idl:
699                 Made Table inherit from Bonobo::Unknown.
700                 Added nSelectedColumns and nSelectedRows attributes.
701
702         * idl/Value.idl:
703                 Made Value inherit from Bonobo::Unknown.
704
705         * libspi/hyperlink.c:
706                 Change for nAnchors attributte name change.
707
708
709 <2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
710
711         implementations-- made server implementations own AtkObject pointers
712         rather than their respective AtkInterrface pointers to fix
713         refcounting.  AtkHyperlink is still broken.
714
715 <2001-09-04  Bill Haneman <bill.haneman@sun.com>
716         * cspi/spi_accessible.c:
717                 Added method Accessible_Role_getName(),
718                         and requisite string array (role_names).
719                 Added conversion string_from_corba_strin() call
720                         to Accessible_getName and _getDescription.
721         * libspi/accessible.c:
722                 Added implementation for Accessible_getRole()
723         * test/simple-at.c:
724                 Added festival support, used if environment variable
725                         FESTIVAL is set.
726         
727 2001-09-04  Bill Haneman <bill.haneman@sun.com>
728
729         * at-bridge/bridge.c:
730             Now allocate Accessibility_Event using
731             Accessibility_Event__alloc() instead of g_new0().
732         * libspi/accessibleeventlistener.c:
733             Initialize AccessibleEventListener->callbacks to NULL.
734             Fixed accessible__event_listener_init() param, changed to
735             "AccessibleEventListener *" type.
736             Changed a bonobo_object_release_unref() call to
737             Accessibility_Accessible_unref().
738         * libspi/listener.c:
739             Changed Bonobo_Unknown_unref to (equivalent) 
740             Accessibility_Accessible_unref.
741         * libspi/registry.c:
742             Changed bonobo_object_release_unref to 
743             Accessibility_Accessible_unref.
744         
745 <2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
746         
747         * Added files:
748             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
749             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
750             spi-util.c spi-util.h
751             Implementations for C bindings to remaining accessibility 
752             interfaces.
753
754 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
755         
756         * idl/Action.idl:
757             changed return value of Action from void to boolean to 
758             bring in line with ATK.
759
760         * idl/Text.idl:
761             Changed getText funcions to return "out" start and end offsets.
762             Changed getAttributes to take and offset and return the start 
763             and end offset of the attribute run.
764             Changed getOffsetAtPoint and getCharacterExtents to take an 
765              enum describing whether coordinates are window or screen.
766
767         * Added files:
768             libspi/action.c libspi/action.h libspi/editabletext.c 
769             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
770             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
771             libspi/image.h libspi/selection.c libspi/selection.h
772             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
773             libspi/value.c libspi/value.h
774             Added server implementations for outstanding ATK interfaces 
775             not yet implemented.
776  
777 2001-09-04  Bill Haneman <bill.haneman@sun.com>
778
779         * idl/Action.idl:
780                 Added (missing) getName() method. 
781                 Made nActions an attribute.
782         * idl/EditableText.idl:
783                 Changed order of params in setAttributes.
784         * idl/Hyperlink.idl:
785                 Removed getAnchor, added getURI.
786         * idl/Image.idl:
787                 Changed attributes to methods, for efficiency
788                 (so that getting extents can be done in one call)
789         * idl/Selection.idl:
790                 Changed nSelectedChildren to attribute, and re-indented.
791         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
792                 to attributes.
793         * idl/Text.idl: reformatted to match our coding style.
794                 (temporarily?) removed getRowColumnAtOffset().
795                 Changed text selection API to support multi-select and
796                 non-contiguous selections, as in ATK.
797         * idl/Value.idl: changed some methods to attributes.
798
799 2001-08-24  Mark McLoughlin <mark@skynet.ie>
800
801         * libspi/listener.c(impl_notify_event):
802         BonoboUnkown_unref the source instead
803         of bonobo_object_release_unref - the ORB
804         handles the releasing.
805
806         * configure.in: require ORBit-2.3.94 for
807         this behaviour.
808
809 2001-08-21  Bill Haneman <bill.haneman@sun.com>
810
811         Tagged CVS repository 'EA_1_0'.
812         * README.EARLY_ACCESS:
813         Alphabetized acknowledgements list, and
814         added someone.
815         Listed some known dependencies of at-spi.
816
817 2001-08-20  Bill Haneman <bill.haneman@sun.com>
818
819         * docs/at-spi-docs.sgml:
820         * docs/at-spi-sections.txt:
821         * docs/at-spi-overrides.txt: (Added zero-length file)
822         Documentation improvements - gtk-doc should build
823         docs for all implemented C bindings now.
824         * cspi/Makefile.am:
825         * cspi/spi_main.c:
826         * cspi/spi.c: (New file)
827         * cspi/spi_event.c: (New file)
828         * cspi/spi_registry.c: (New file)
829         * cspi/spi_accessible.c: (New file)
830         * cspi/spi_application.c: (New file)
831         * cspi/spi_component.c: (New file)
832         Split spi_main.c into six parts, and included them from
833         "spi.c".  This is a bit of a hack, probably temporary,
834         but required by gtk-doc, apparently.
835         
836 2001-08-20  Bill Haneman <bill.haneman@sun.com>
837
838         * docs/Makefile.am:
839         * docs/at-spi-docs.sgml:
840         * docs/at-spi-sections.txt:
841         * configure.in:
842         Initial checkins/modifications for gtk-doc generation.
843         * cspi/spi.h:
844         * cspi/spi.c:
845         Added (missing) interface query methods to Accessible's C binding.
846         * cspi/spi-impl.h:
847         Added GenericInterface type definition.
848         * test/simple-at.c:
849         Added query for AccessibleComponent interface to focus event handler.
850         Added printout of bounding box for focussed component.
851         * libspi/component.c:
852         Added partial implementation for AccessibleComponent to C binding.
853         * idl/Application.idl:
854         * libspi/registry.c:
855         * libspi/listener.c:
856         * libspi/application.c:
857         * libspi/application.h:
858         Changed "ID" attribute type from string to long.
859
860 2001-08-19  Bill Haneman <bill.haneman@sun.com>
861
862         * cspi/spi.h:
863         * cspi/spi.c:
864         Made method naming consistent: methods taking object args
865         start with uppercase, other methods (except those using
866         acronyms) start with lowercase.  Underscores delimit between
867         object names and method names:
868         SPI_init() - uppercase since it starts with an acronym.
869         getDesktopCount () - lowercase start since no object param0.
870         Accessible_getName() - uppercase object type name, studlyCaps method
871                                name.
872
873         *cspi/spi.h:
874         Added gtk-doc documentation for all currently implemented
875         methods in the C bindings API.
876
877 2001-08-18  Bill Haneman <bill.haneman@sun.com>
878
879         * Makefile.am : changed build order to build test last.
880         * cspi/spi.h :
881         * cspi/spi_main.c :
882         Changed "createEventListener" to "CreateEventListener".
883         * libspi/accessibleeventlistener.c :
884         Bugfix for addition of callbacks.
885         * test/Makefile.am :
886         * test/simple-at.c :
887         Added new test that uses the C bindings API.
888         * idl/Event.idl :
889         * libspi/listener.c :
890         * libspi/registry.c :
891         * libspi/accessibleeventlistener.c :
892         * at-bridge/bridge.c :
893         Renamed member "target" of Accessibility_Event to "source",
894         which is more descriptive.
895         
896
897 2001-08-18  Bill Haneman <bill.haneman@sun.com>
898
899         * Makefile.am: 
900         * configure.in :
901         * cspi/Makefile.am :
902         Added makefile support for at-spi/cspi directory.
903         * cspi/spi.h : 
904         * cspi/spi-impl.h :
905         * cspi/spi-listener.h : (NEW FILE)
906         Added support for/use of spi-listener.h.
907         * cspi/spi_main.c :
908         C bindings now build successfully, with no warnings.
909         * libspi/accessibleeventlistener.h : (NEW FILE)
910         * libspi/accessibleeventlistener.c : (NEW FILE)
911         * libspi/Makefile.am :
912         Added new object type "AccessibleEventListener"
913         which inherits from Listener, and allows attachment
914         of in-process callbacks (so that a client with a listening
915         object instance can add functionality to the local 
916         implementation, dynamically).
917
918 2001-08-18  Bill Haneman <bill.haneman@sun.com>
919
920         * libspi/accessible.c: 
921         Add implementation for get_index_in_parent().
922         * cspi/spi.h : 
923         Added #include of "spi-roletypes.h", and
924         added enumerated type AccessibleCoordType.
925         Added definition for KeystrokeListener (function type).
926
927         ADDED FILES:
928         * cspi/spi-statetypes.h :
929         * cspi/spi-roletypes.h :
930         * cspi/spi-impl.h :
931         Added these headers, used by spi.h.
932         * cspi/spi_main.c : 
933         Added code (NOTE: not yet built by make).
934
935 2001-08-18  Mark McLoughlin <mark@skynet.ie>
936
937         * libspi/Makefile.am: generate imodule
938         at the same time as other idl compiler 
939         generated files. 
940
941 2001-08-17  Bill Haneman <bill.haneman@sun.com>
942         * libspi/registry.c :
943         * libspi/application.c :
944         * idl/Application.idl :
945         Made registration with toolkit an application method,
946         which is required since each app has its own toolkit static
947         environment.  Thus the bridge must register for 
948         notification of toolkit events from each application in turn.
949         Toolkit notifications are now successfully registered for, and
950         sent to the listening at client.
951         * test/at.c :
952         Changed toolkit event string to use hyphens rather than underscores.
953         * libspi/listener.c :
954         listner now gives more info in debug mode - it reports the
955         name of the event received, as well as the name of the source.
956         
957
958 2001-08-16  Bill Haneman <bill.haneman@sun.com>
959
960         * libspi/registry.c :
961         added more implementation for toolkit events.
962         Fixed bug such that toolkit event registrations
963         (via atk) use the whole event name string, not 
964         just minor+detail.
965         Removed a useless call to an ORBit_ method.
966         * at-bridge/bridge.c :
967         Removed unused local sbuf[] variable.
968         * test/at.c :
969         We now register for Gtk:GtkWidget:button_press_event 
970         events as well as "focus:" events.
971         * cspi/spi.h :
972         Add some more API from Registry.idl that was missing,
973         for keystroke listening, keystroke and mouse event
974         synthesis, and enumeration of accessible desktops.
975
976 2001-08-16  Michael Meeks  <michael@ximian.com>
977
978         * configure.in: use AM_GLIB_GNU_GETTEXT.
979
980         * Makefile.am (SUBDIRS): kill intl.
981
982 2001-08-15  Michael Meeks  <michael@ximian.com>
983
984         * registryd/Makefile.am: s/oaf/server/ relocate info file.
985
986         * configure.in: upd.
987
988         * configure.in: depend on a recent bonobo-activation that
989         will find our server files ...
990
991 2001-08-16  Bill Haneman <bill.haneman@sun.com>
992
993         * libspi/accessible.c : accessible_new() :
994         Now we add the Component interface via bonobo_object_add_interface,
995         if the contained AtkObject implements AtkComponent.
996         * libspi/accessible.h : now include "component.h"
997         * libspi/component.h :
998         * libspi/component.c : added files - implementation of
999         bonobo wrapper object for Accessibility/Component
1000         * libspi/listener.c :
1001         Added test code to check for Accessibility/Component:1.0
1002         interface and report whether it is implemented by the
1003         event source.
1004         * libspi/registry.c :
1005         Now we check for not only the hash of the whole event 
1006         string before relaying the event, we also check the
1007         "minor" event string (without the detail string).
1008         This allows event listeners to be registered against
1009         all events of a certain major+minor type, or just
1010         against a specific major+minor+detail type.
1011         * libspi/accessible.c :
1012         Added implementations for Accessible:get_parent(),
1013         Accessible:getChildCount(), and Accessible:getChildAtIndex().
1014         * libspi/registry.c :
1015         * libspi/listener.c :
1016         Replaced calls to Accessibility_Accessible_ref() and
1017         Accessibility_Accessible_unref() with 
1018         calls to bonobo_object_dup_ref() and 
1019         bonobo_object_release_unref(), so that the CORBA object
1020         is dup-ed and released when relayed, as well as the bonobo object.
1021
1022 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1023
1024         * libspi/Makefile.am,
1025           registryd/Makefile.am,
1026           at-bridge/Makefile.am.
1027           test/Makefile.am, configure.in:
1028         reverse previous changes.
1029
1030         * /idl/Image.idl: fix typo.
1031
1032         * test/Makefile.am: put DEBUG_FLAGS
1033         in CFLAGS.
1034
1035 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1036
1037         * test/app.c: use argv[0] instead of
1038         g_type_prgname.
1039
1040 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1041
1042         * libspi/Makefile.am,
1043           registryd/Makefile.am,
1044           at-bridge/Makefile.am.
1045           test/Makefile.am, configure.in:
1046         cleanup, replace individual LIBS/CFLAGS with
1047         AT_COMMON_{LIBS|CFLAGS}.
1048
1049         * README: format.
1050
1051 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1052         
1053         * configure.in, libspi/Makefile.am:
1054         Change IDL path checking for bonobo-activation
1055         as opposed to oaf.
1056
1057 2001-08-15  Bill Haneman <bill.haneman@sun.com>
1058
1059         * registryd/registry.c : separated event listeners to use
1060         3 separate lists (focus, window, toolkit).  Began testing
1061         event names against hashes before relaying events.
1062         * test/at.c : now register for events of type "focus:"
1063         * test/app.c : now generate events of type "focus:"
1064         * at-bridge/bridge.c : register with ATK for focus events,
1065         and we now relay those focus events to any "focus:" listeners.
1066         This now works with the bridge as a GTK_MODULE when running test/at.
1067         * libspi/registry.c :
1068         * libspi/listener.c : 
1069         now we ref event sources before propagating, and unref on receipt.
1070         * libspi/registry.c : 
1071         some changes to internal structs, to support event typestring hashes.
1072         * text/app.c : changed the way the appname is generated.
1073         * cspi : added directory that will hold the C bindings library for 
1074                 non-CORBA/bonobo-savvy clients.
1075         * cspi/spi.h : header file that contains the function prototypes for the C binding.
1076         * idl/Component.idl : added in parameter to indicate coord system for
1077                 geometry-related calls.
1078         * idl/Hyperlink.idl : added readonly n_links attribute
1079         * idl/Image.idl : changed methods to attributes.
1080         
1081 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1082
1083         * at-bridge/Makefile.am: link against
1084         ../libspi/libspi.la instead of -lspi.
1085
1086         * at-spi/test/app.c: include 
1087         bonobo-activation.h. Use a default appname
1088         if one is not provided.
1089
1090 2001-08-14  Bill Haneman <bill.haneman@sun.com>
1091
1092         * idl/Registry.idl : temporarily changed register_Application
1093         to oneway, to work around issue with initial registration 
1094         re-entrancy.
1095         * idl/Application.idl : changed attribute "id" from readonly 
1096         to read-write, since it needs to be assigned by Registry.
1097         * registryd/registryd.c : added call to set application id 
1098         on registration.
1099         * registryd/registry.c : changed de-registration procedure to
1100         use CORBA_Object_hash() to find matching object ref in application
1101         lists and listener lists.
1102         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
1103         began distinguishing between event types (work in progress).
1104
1105 2001-08-13  Bill Haneman <bill.haneman@sun.com>
1106
1107         CHANGES:
1108         * libspi/application.c:
1109         Added implementations for get/set id, get_toolkitName,
1110         get_version.
1111         * registryd/registryd.c :
1112         * test/at.c :
1113         * test/app.c :
1114         * Makefile.am :
1115         Converted from use of OAF to bonobo-activation.
1116         * libspi/desktop.h :
1117         * libspi/desktop.c :
1118         * test/app.c :
1119         Removed references to atksimpleobject, since base atkobject
1120         implementation now provides functionality we need.
1121         * libspi/atksimpleobject.c :
1122         * libspi/atksimpleobject.h :
1123         Removed.
1124         
1125         ADDITIONS:
1126         * at-bridge
1127         * at-bridge/Makefile.am
1128         * at-bridge/bridge.c
1129         * configure.in
1130         * Makefile.am
1131         Added directory "bridge" and contents, and added dependencies
1132         in Makefile.am/configure.in.  
1133         Initial checkin of "at-bridge".
1134         This code is a GTK_MODULE which automatically registers
1135         GTK+ apps with the accessibility registry, using an object
1136         reference to the root ATK object.
1137         
1138 2001-08-10  Mark McLoughlin <mark@skynet.ie>
1139
1140         * po/Makefile.in.in: Remove. Again. If this
1141         doesn't get autogenerated - you need to update
1142         gnome-common.
1143
1144 2001-08-07  Mark McLoughlin <mark@skynet.ie>
1145
1146         * po/Makefile.in.in: Add. Again.
1147
1148 2001-07-31  Bill Haneman <bill.haneman@sun.com>
1149
1150         * libspi/accessible.c : added support for 'description' property.
1151         * libspi/accessible.c
1152         * libspi/desktop.c
1153         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
1154             (since the two are now equivalent in libbonobo)
1155         * idl/Action.idl
1156         * idl/Component.idl
1157         * idl/Hyperlink.idl
1158         * idl/Image.idl
1159         * idl/Selection.idl
1160         * idl/Table.idl
1161         * idl/Text.idl
1162         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
1163              Bonobo::Unknown as does Accessibility::Accessible.
1164         * idl/StreamableContent.idl : as above, and replaced internal InputStream
1165              interface with Bonobo::Stream, since it was redundant with it.
1166              (The Stream returned by a StreamableContext object is expected to
1167              implement only a subset of Bonobo::Stream)
1168
1169 2001-07-28  Anders Carlsson  <andersca@gnome.org>
1170
1171         * libspi/accessible.c (accessible_object_finalize): Change
1172           g_free to g_object_unref since the AtkObject is a GObject.
1173
1174 2001-07-30  Bill Haneman <bill.haneman@sun.com>
1175
1176         * idl/Accessibility.idl: add new IDL files
1177         
1178         Added:
1179         * idl/Action.idl: Definitions of actionable UI object
1180         * idl/Component.idl: Definitions of UI component geometry, etc.
1181         * idl/Hyperlink.idl: Defs of hyperlink behavior
1182         * idl/Image.idl: Def of accessible image
1183         * idl/Selection.idl: Definition of UI object with selectable children
1184         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
1185         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
1186         * idl/Text.idl: Interface defs for UI elements with complex textual content
1187         * idl/Value.idl: Definition of UI element that is a value controller or display
1188         
1189 2001-07-27  Michael Meeks  <michael@ximian.com>
1190
1191         * po/Makefile.in.in: remove autogenerated file from CVS.
1192
1193         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
1194         type library.
1195
1196         * idl/Registry.idl: include guard.
1197
1198         * idl/Accessibility.idl: Add, and include all the other IDL
1199         files.
1200
1201         * idl/*.idl: remove mass of pragmas etc.
1202
1203 2001-07-26  Michael Meeks  <michael@ximian.com>
1204
1205         * registryd/Makefile.am (registryd_SOURCES): remove
1206         redundant at_.
1207
1208 2001-07-27  Mark McLoughlin <mark@skynet.ie>
1209
1210         * libspi/.cvsignore, registryd/.cvsignore,
1211           test/.cvsignore: updated.
1212
1213         * po/Makefile.in.in: gettext update.
1214
1215 2001-07-25  Bill Haneman <bill.haneman@sun.com>
1216
1217         * initial CVS checkin
1218
1219 2001-06-29  Michael Meeks  <michael@ximian.com>
1220
1221         * configure.in: add AM_CONFIG_HEADER to gen config.h
1222
1223         * acconfig.h: add.
1224