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