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