Changed IDL for State, Component, and Image to reduce use of out params.
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
2
3         * libspi/registry.c (_registry_notify_listeners):
4         Changed listener loop iteration to use preferred convention.
5         Got rid of string memory leaks caused be calling g_strconcat
6         inside function calls.
7
8         * libspi/registry.c (parse_event_type):
9         Stopped g_strconcat memory leaks, free the g_strsplit return,
10         g_strdup the split pieces when used, etc.
11
12 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
13
14         * idl/State.idl: 
15         Change method 'compare' to return a 'difference set' rather than
16         taking a StateSet as an out parameter (more Java-friendly).
17
18         * idl/Accessible.idl:
19         Added CORBA struct 'BoundingBox', to faciliate API changes below:
20         
21         * idl/Component.idl:
22         * idl/Image.idl:
23         Changed methods 'getExtents' and 'getImageExtents' in these
24         interfaces to return a BoundingBox structure.  
25         (getPosition and getSize are redundant and possibly should be
26         removed, rather than creating a corresponding Point struct.)
27
28         * cspi/spi_component.c:
29         Modify implementation of getExtents to reflect the above IDL
30         change.
31         
32         * cspi/spi_image.c:
33         * cspi/spi.h:
34         Add (missing) AccessibleImage_getExtents () API.
35
36         * docs/reference/cspi/at-spi-cspi-sections.txt:
37         Added AccessibleImage_getImageExtents () to docs.
38         
39 2001-12-03  Bill Haneman  <bill.haneman@sun.com>
40
41         * idl/Component.idl:
42         Added two methods, getLayer () and getMDIZOrder (), to reflect
43         the new ATK methods atk_object_get_layer and
44         atk_object_get_mdi_z_order. (Which arguably should be part of the
45         AtkComponent API and AtkObject).  Also added an enum,
46         ComponentLayer, for the first method's return value.
47
48         * libspi/component.c:
49         Added implementations for these methods.
50
51         * cspi/spi_component.c:
52         * cspi/spi.h:
53         Added cspi binding methods for above, 
54         AccessibleComponent_getLayer() and
55         AccessibleComponent_getMDIZOrder().
56         Added cspi enum 'AccessibleComponentLayer'.
57
58         * docs/reference/cspi/at-spi-cspi-sections.txt:
59         Added above methods to docs.
60
61         * cspi/spi-impl.h:
62         * cspi/spi*.[ch]:
63         Changed typedef for 'boolean' type (and all references to it) to
64         SPIBoolean, to avoid keyword clashes with C++.
65
66         * test/simple-at.c:
67         Changed usages of 'boolean' to SPIBoolean.
68
69         * test/keysynth-demo.c:
70         Changed usages of 'boolean' to 'gboolean' (since this is a gnome
71         app), except where SPIBoolean is required by the callbacks API.
72         
73 2001-12-02  Bill Haneman  <bill.haneman@sun.com>
74
75         * cspi/spi_registry.c:
76         Removed obsolete X event loop for passive keygrabs (which now
77         lives in libspi).
78
79         * registryd/registryd.c:
80         Removed unnecessary call to gdk_init() [cruft]. This also allows
81         removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
82         * configure.in.
83
84 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
85
86         * docs/reference/cspi:
87         Included docs for SPI_freeString in generated documentation.
88
89         * cspi/spi-util.c:c
90         Renamed spi_freeString to SPI_freeString, for consistency.  Added
91         documentation for this function.
92
93         * cspi/spi-util.h:
94         Renamed spi_freeString to SPI_freeString, for consistency.  
95         Removed obsolete method declaration string_from_corba_string.
96
97         * test/keysynth-demo.c:
98         Small tweak to comments.
99
100         * test/simple-at.c:
101         Stopped leaking the strings returned from CSPI. 
102
103 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
104
105         Merged Michael's branch (see his ChangeLog entries below).
106         
107         * at-bridge/bridge.c: Explicitly hold a ref to the registry while
108         bridge is alive, release on exit.
109         
110         * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
111         Fix type check macro.
112         
113         * cspi/spi_event.c:
114         Added AccessibleKeystrokeListener_unref() method to reduce leakage.
115         
116         * cspi/spi_main.c: 
117         Added is_gnome_app static, and method cspi_is_gnome_app(), 
118         so we can call the appropriate shutdown routine at exit in SPI_exit.
119         
120         * cspi/spi_main.c (cspi_object_ref):
121         Duplicate the corba object passed in, since we're keeping it around.
122         
123         * cspi/SPI_exit.c, cspi_cleanup:
124         Moved the releasing of the live refs to its own function, so we
125         can put it in g_atexit ().  Call the appropriate shutdown API
126         depending on whethe calling client is a gnome app or not
127         (bonobo_main_quit or CORBA_ORB_shutdown).
128         
129         * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
130         Unref the listener when this method is called, after
131         deregistration.  Updated the API docs to note this behavior.
132
133         * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
134         Bugfixes: Ref the bonobo object when returning a parent or child 
135         reference, or an AccessibleRelation.  Generally made sure
136         BonoboObject refcount is incremented whenever we return an
137         Accessible.
138
139         * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
140         Fixed typo/bug in signal declaration.
141         
142         * libspi/accessibleeventlistener.h:
143         Fixed a type macro.
144
145         * libspi/application.c (spi_application_new):
146         Fixed leak in initialization.
147
148         * libspi/desktop.c:
149         Remembered to increment bonobo-object refcount when returning
150         children (applications) from desktop object.
151         Added (empty) finalize method.
152
153         * libspi/deviceeventcontroller.c:
154         Hold a ref to listeners inside DEControllerKeyListeners.
155         Added dec_key_listener_free() method.  Use prepend instead of
156         append in key_listener list.  Fixed some refcount madness and
157         leaks in the listener registration/deregistration - deregistration
158         now calls dec_key_listener_free() on listeners, and on the
159         temporarily constructed dec_key_listener() used to perform the search/match.
160
161         * libspi/hypertext.c (spi_hypertest_finalize):
162         Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
163         class.  Also fixed spi_hypertext_interface_new() and
164         SpiHypertextClass.  Fixed a couple of paren-whitespace formatting bugs.
165
166         * libspi/hypertext.h: 
167         Removed pointless and duplicate AtkObject pointer from
168         SpiHypertextClass.
169
170         * libspi/keystrokelistener.c:
171         Fixed incorrect type of keystroke_listener_parent_class,
172         renamed keystroke_listener_object_finalize to
173         spi_keystroke_listener_object_finalize.
174         Fixed typo in signal declaration
175         (spi_keystroke_listener_class_init).
176
177         * libspi/registry.c:
178         Added funcsions spi_listener_struct_new() and
179         spi_listener_struct_free() to help with memory management issues.
180         We also now use these methods instead of gnew + poking stuff into
181         the struct, and to decrement listener counts/free the listeners
182         when deregistering them.
183         Fix more refcount bugs in getDesktop() and
184         getDeviceEventController().  
185
186         * test/simple-at.c:
187         De-ref the desktop after enumerating the applications.  Explicitly
188         decrement the refcounts on the created listeners on exit (using
189         _unref for keystroke listeners, and via the
190         deregisterGlobalEventListenerAll command for other event
191         listeners).
192         
193 2001-11-27  Michael Meeks  <michael@ximian.com>
194
195         * cspi/spi-listener.h: fixup enum.
196
197 2001-11-27  Michael Meeks  <michael@ximian.com>
198
199         * cspi/spi-listener-impl.c (cspi_event_listener_new),
200         (cspi_keystroke_listener_new): Use the cspi variants.
201
202 2001-11-26  Michael Meeks  <michael@ximian.com>
203
204         * test/keysynth-demo.c: fix 2 compile warnings, missing
205         type in decl. etc.
206
207         * test/simple-at.c (report_focussed_accessible),
208         (report_focus_event, report_button_press),
209         (check_property_change, is_command_key),
210         (report_ordinary_key_event, report_command_key_event): upd.
211
212         * util/mag_client.h: include pre-requisites.
213
214         * libspi/accessibleeventlistener.c
215         (spi_event_listener_object_finalize): free any lingering
216         callbacks.
217         
218         * libspi/keystrokelistener.c
219         (keystroke_listener_object_finalize): ditto.
220
221         * cspi/spi-listener-impl.[ch]: Add to implement cspi style
222         callbacks, with cspi types.
223         
224         * cspi/spi_event.c (createAccessibleEventListener): chain to
225         (AccessibleEventListener_addCallback): here.
226         (createAccessibleKeystrokeListener): chain to 
227         (AccessibleKeystrokeListener_addCallback): here.
228
229         * libspi/keystrokelistener.c
230         (spi_keystroke_listener_class_init): add signal.
231         (impl_key_event): emit the event.
232         (boolean_handled_accumulator): impl.
233         (marshal_BOOLEAN__POINTER): add, gack.
234
235         * libspi/accessibleeventlistener.c
236         (spi_event_listener_class_init): add signal.
237         (impl_accessible_event_notify_event): emit the signal &
238         make the loop efficient.
239         (spi_event_listener_add_callback): prepend the callback.
240
241         * libspi/accessibleeventlistener.h: add an 'event' signal,
242         decl type on callback.
243
244         * libspi/keystrokelistener.h: ditto.
245
246         * cspi/spi-listener.h: make methods typesafe and
247         make them use the new event typedefs.
248
249         * test/simple-at.c (report_focussed_accessible):
250         include mag_client.h
251         Use *(void *)text_interface not the other thing.
252         
253         * configure.in: add gtk to registryd bits - since we use
254         gdk there ( why ? )
255
256         * util/magnifier.c: include libbonobo.h
257         
258 2001-11-25  Bill Haneman  <bill.haneman@sun.com>
259
260         * test/keysynth-demo.c:
261         Turned this into a simple scanning keyboard, to demonstrate the
262         use of g_timeout_add () as a means of creating timers for
263         scanning, and the use of GtkStyle for visually indicating when
264         virtual keyboard elements are selected.
265
266         keysynth-demo now listens to any keyboard keys with zero-valued
267         keycodes (i.e. 'unused' keys) and interprets them as
268         single-switches.
269
270         Reworked the shiftlatch code so that shift-down state isn't held
271         for long periods (it's only synthesized immediately prior to
272         the keysynth event it's modifying).  Note that shiftlatch in this
273         demo is a convenience, not intended to take the place of AccessX 
274         which is the better choice for getting 'sticky' modifier keys.
275
276         * libspi/deviceeventcontroller.c:
277         * at-bridge/bridge.c:
278         * cspi/spi_registry.c:
279         Removed some debug print stuff, and put other verbosity in #ifdef
280         blocks.
281
282         * util/magnifier.c:
283         * util/mag_image.h:
284         Implemented some more of the magnifier IDL for the simple
285         magnifier: namely, getZoomRegionParams. 
286         Added mag_x and mag_y members to MagnifierData struct, aid of this
287         implementation.
288         Added GtkWindow::realize signal handler to magnifier, to keep it
289         from receiving keyboard focus from the WM.
290
291 2001-11-23  Mark McLoughlin  <mark@skynet.ie>
292
293         * cspi/spi-private.h: my guess at what michael forgot
294         before he ran off to NZ :-)
295
296 2001-11-23  Michael Meeks  <michael@ximian.com>
297
298         * cspi/spi_event.c (AccessibleEventListener_removeCallback):
299         comment out non existant method invoke so we link.
300
301         * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
302         use bonobo_exception_get_text for more friendly warnings.
303
304         * cspi/spi.c (Obj_Add): move into spi_main & rename
305         spi_object_add; kill spi.c
306
307         * cspi/spi_registry.c
308         (deregisterGlobalEventListener),
309         (deregisterGlobalEventListenerAll),
310         (registerGlobalEventListener): fix exception leaks.
311
312         * cspi/spi_main.c (spi_exception): impl. helper, so we
313         don't leak exceptions.
314
315         * cspi/spi_selection.c
316         (AccessibleSelection_deselectSelectedChild): return the
317         success state.
318
319         * cspi/spi_main.c (spi_ev): impl; hack - gack.
320         (spi_registry): ditto.
321         (SPI_init): guard against double inits.
322
323         * cspi/*.c: use spi_ev (), and spi_registry () where
324         appropriate - a temporary hack until we have something
325         better. Use spi_object_add
326
327 2001-11-22  Michael Meeks  <michael@ximian.com>
328
329         * cspi/Makefile.am: re organise, install the headers.
330
331         * cspi/*.h: add G_BEGIN/END_DECLS
332
333 2001-22-11  Bill Haneman  <bill.haneman@sun.com>
334
335         * test/simple-at.c:
336         Added non-preemptive keylistener for key events with no modifiers
337         and shift-only modifier.
338
339         * libspi/keystrokelistener.c:
340         Removed some verbose diagnostics printout.
341
342         * cspi/spi_registry.c:
343         Fixed a bug that caused all key listeners to be registered as
344         pre-emptive.
345         
346         * libspi/deviceeventcontroller.c:
347         Fixed bug that caused XGrabKey (preemptive key grab) to be called
348         for non-preemptive key masks.
349
350
351 2001-22-11  Bill Haneman  <bill.haneman@sun.com>
352
353         * docs/reference/idl/at-spi-idl-docs.sgml:
354         * docs/reference/idl/at-spi-idl-sections.txt:
355         * docs/reference/idl/at-spi-idl-overrides.txt:
356         Added missing files.
357
358         * docs/reference/Makefile.am:
359         removed idl from SUBDIRS until we can figure a way to get gtk-doc
360         to scan the IDL files :-(
361
362         * docs/reference:
363         * docs/cspi:
364         * docs/idl:
365         Added .cvsignore files.
366         
367 2001-21-11  Bill Haneman  <bill.haneman@sun.com>
368
369         * libspi/deviceeventcontroller.c:
370         * libspi/keystrokelistener.c:
371         * cspi/spi_event.c:
372         * cspi/spi_registry.c:
373         Added filters for KeySets, KeyEventSeq, and event types to key
374         event dispatching, so listeners should only receive those events
375         that they requested :-)
376
377 2001-21-11  Bill Haneman  <bill.haneman@sun.com>
378
379         * configure.in:
380         * docs/Makefile.am:
381         * docs/reference:
382         * docs/reference:Makefile.am:
383         * docs/reference/cspi:
384         * docs/reference/cspi:Makefile.am:
385         * docs/reference/cspi:tmpl:
386         * docs/reference/cspi:tmpl:*.sgml:
387         * docs/reference/idl:
388         * docs/reference/idl:Makefile.am:
389         * docs/reference/idl:at-spi-idl-sections.txt:
390         * docs/reference/idl:at-spi-idl-docs.sgml:
391         * docs/reference/idl:tmpl:
392         * docs/reference/idl:tmpl:*.sgml:
393
394         Restructured docs directory to allow separate 'reference' docs
395         section, and forked idl and cspi docs.  Added the sgml template
396         files to CVS.  Added the first sections/structural sgml for the
397         IDL docs.
398
399 2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
400
401         * configure.in, libspi/Makefile.am: find libXtst.
402
403 2001-11-21  Michael Meeks  <michael@ximian.com>
404
405         * test/accessx-gui.c: s/spi_value/value/ - doh.
406
407         * libspi/base.[ch]: add.
408
409 2001-18-11  Bill Haneman <bill.haneman@sun.com>
410
411         * idl/Accessible.idl:
412         * idl/Application.idl:
413         * idl/Registry.idl:
414         * idl/Action.idl:
415         Started gtk-doc cleanup on IDL.
416
417         * libspi/deviceeventcontroller.c:
418         Added and connected non-preemptive key notification from the
419         toolkits (in addition to the pre-emptive support from XServer
420         which we had before, but which causes 'focus flashing').  Filters
421         are presently limited to key modifiers and global/non-global,
422         KeySets are presently ignored, as are KeyEvent masks.
423
424         Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
425         structs into the persistant structure rather than just storing
426         pointers to things that might not persist across servant
427         invocations.
428
429         The XGrabKey call now does async keygrabs, because synchronous
430         ones were deadlocking with GDK_event code in a very nasty way.
431
432         Added boolean to internal method notify_keylisteners, to indicate
433         whether the event came from the 'toolkit source' or the 'global
434         (XServer) source' - this is used in the notification process to
435         determine which listeners to send the event to.
436
437         deviceeventcontroller.c is now warning-free.
438         
439         * libspi/registry.c:
440         Fixed regression in application de-registration.
441         Also fixed some really brain-dead weirdness having to do with
442         event dispatching - event structs are now duplicated before being
443         re-marshalled in the dispatch to listeners.  This also fixes a
444         Solaris build problem.
445         
446         
447 2001-20-11  Michael Meeks  <michael@ximian.com>
448
449         * libspi/registry.c
450         (impl_accessibility_registry_deregister_global_event_listener): 
451         segv. protection.
452
453         * libspi/deviceeventcontroller.c
454         (spi_device_event_controller_check_key_event): return
455         FALSE on no virtual method.
456
457         * libspi/*..h: make includes work on a correctly pathed install.
458
459         * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
460
461         * libspi/application.h: kill unused ( and whacked out )
462         gboolean *spi_application_set_id (AtkObject *app, long id);
463
464 2001-20-11  Michael Meeks  <michael@ximian.com>
465
466         * libspi/*.[ch]: further convert to bonobo's type func
467         macros, remove redundnant casts etc.
468
469         * libspi/text.c s/accessibility_text/spi_text/g,
470         re-order to de-cruft.
471
472         * libspi/hypertext.c: re-order to kill a huge slew
473         of redundant forward decls.
474
475         * libspi/relation.c: ditto.
476
477         * libspi/image.c: ditto.
478
479         * */.cvsignore: update
480         
481 2001-20-11  Michael Meeks  <michael@ximian.com>
482
483         * libspi/deviceeventcontroller.c
484         (_controller_register_with_devices): use g_getenv,
485         kill stdlib.h include.
486
487         * libspi/keystrokelistener.c
488         (spi_keystroke_listener_get_type): kill
489         (spi_keystroke_listener_class_init),
490         (spi_keystroke_listener_init): rename to this.
491
492         * libspi/text.c (impl_getAttributes): fix warning / bug.
493
494         * libspi/*.[ch]: more headers, includes and over commenting.
495         
496 2001-20-11  Michael Meeks  <michael@ximian.com>
497
498         * libspi/*.[ch]: fixup headers, includes and over commenting.
499
500         * libspi/image.c (impl__get_imageDescription): const
501         correctness warning fix. remove redundant casting.
502
503         * libspi/table.c (impl_getRowDescription): ditto.
504         (impl_getColumnDescription): ditto.
505
506         * libspi/libspi.h: add.
507
508 2001-19-11  Michael Meeks  <michael@ximian.com>
509
510         * libspi/editabletext.c (impl_setAttributes): fix warnings.
511
512         * libspi/component.c (accessibility_component_get_type): 
513         rename to (spi_component_get_type): and macroify.
514         (accessibility_component_init): rename to
515         (spi_component_init): this
516         (accessibility_component_class_init): rename to
517         (spi_component_class_init): this
518
519         * libspi/action.c (spi_action_get_type): kill, use the macro.
520
521         * libspi/deviceeventcontroller.c (_compare_listeners): re-order
522         to avoid prototype.
523
524         * libspi/application.c (spi_application_object_event_listener),
525         (impl_accessibility_application_register_object_event_listener):
526         warning fixes / const understanding updates.
527
528         * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
529         warning fixes.
530
531 2001-18-11  Bill Haneman <bill.haneman@sun.com>
532
533         * libspi/spi_accessible.c: Added docs and C bindings for
534         AccessibleStateSet. (No implementations yet).  Documentation
535         coverage for C bindings now 100%. Made docs for event listeners
536         more explicit.
537         
538         * idl/Registry.idl:
539         Added methods 
540             boolean notifyListenersSync (in DeviceEventListener listener,
541                                      in DeviceEvent event);
542
543             oneway void notifyListenersAsync (in DeviceEventListener listener,
544                                           in DeviceEvent event);
545
546         Added DeviceEventListener and DeviceEvent structs (may deprecate
547         KeyStroke and KeystrokeListener in favor of this generic
548         event/listener framework for devices).
549
550         * libspi/deviceeventcontroller.c:
551
552         Changed some key listener code to take masks, etc., and paved the
553         way for integration of toolkit/non-preemptive key events. Changed
554         signatures of some internal methods.
555
556         * at-bridge/bridge.c:
557         Fixed regression connecting to interface signals, apparently
558         caused by GTK+ changes.
559
560         Added an internal bridge_state_listener to deal with
561         property-change:accessible-state signals.
562
563         Changed the key_listeners GList to store structs (including masks,
564         etc.) instead of just CORBA_Objects (required for full
565         implementation of key listener API).
566
567         Connected the bridge to all currently supported Atk signals.
568         Events now supported: 
569             object:property-change
570             object:property-change:accessible-name
571             object:property-change:accessible-state
572             object:property-change:accessible-description
573             object:property-change:accessible-parent
574             object:property-change:accessible-value
575             object:property-change:accessible-role
576             object:property-change:accessible-table-caption
577             object:property-change:accessible-table-column-description
578             object:property-change:accessible-table-column-header
579             object:property-change:accessible-table-row-description
580             object:property-change:accessible-table-row-header
581             object:property-change:accessible-table-summary
582             object:children-changed
583             object:visible-data-changed
584             object:selection-changed
585             object:text-selection-changed
586             object:text-changed
587             object:text-caret-moved
588             object:row-inserted
589             object:row-reordered
590             object:row-deleted
591             object:column-inserted
592             object:column-reordered
593             object:column-deleted
594             object:model-changed        
595
596 2001-16-11  Bill Haneman <bill.haneman@sun.com>
597
598         * libspi/hyperlink.c,h:
599         Fixed some broken stuff in hyperlink.
600         
601         * libspi/relation.h:
602         * libspi/relation.c:
603         * cspi/spi_accessible.c:
604         Initial implementations of AccessibleRelation methods, and docs.
605
606         * libspi/accessible.c:
607         Fixed a bug that caused SEGV  if an accessible
608         object's description is NULL, and a client
609         requests it.  An empty string is now returned.
610
611         * cspi/spi_editabletext.c:
612         * cspi/spi_hypertext.c:
613         * cspi/spi_image.c:
614         * cspi/spi_hyperlink.c:
615         * cspi/spi_table.c:
616         Added docs.  
617
618         Doc coverage now 95%.
619
620 2001-16-11  Bill Haneman <bill.haneman@sun.com>
621
622         One last namespacing revision:
623         * libspi/accessibleeventlistener.[ch]:
624         Renamed SpiAccessibleEventListener to SpiEventListener,
625         (no need for two namespaces ;-)
626
627         And lots of documentation fixes:
628
629         * docs/at-spi-docs.sgml:
630         Fixed 'underscore vs. hyphen' bug that was preventing
631         the gtk-doc API docs from being automatically generated.
632
633         * cspi/spi-impl.h
634         * cspi/spi-listener.h
635         * cspi/spi.h
636         * cspi/spi_accessible.c
637         * cspi/spi_action.c
638         * cspi/spi_application.c
639         * cspi/spi_component.c
640         * cspi/spi_editabletext.c
641         * cspi/spi_event.c
642         * cspi/spi_hypertext.c
643         * cspi/spi_main.c
644         * cspi/spi_registry.c
645         * cspi/spi_selection.c
646         * cspi/spi_text.c
647         * cspi/spi_value.c
648         * docs/Makefile.am
649         * docs/at-spi-docs.sgml
650         * docs/at-spi-sections.txt
651         
652         Added and fixed up gtk-doc documentation in cspi.
653         
654         Interfaces now (fully) documented (subject to revision and enhancement):
655         SPI_main
656         Event Listener Support
657         Registry API
658         AccessibleApplication
659         Accessible
660         AccessibleAction
661         AccessibleComponent
662         AccessibleEditableText
663         AccessibleSelection
664         AccessibleText
665         AccessibleValue
666
667         still pending:
668         AccessibleStateSet
669         AccessibleRelationSet
670         AccessibleImage
671         AccessibleTable
672         AccessibleHyperlink
673         
674 2001-14-11  Bill Haneman <bill.haneman@sun.com>
675
676         * at-bridge/bridge.c:
677         Initial work for toolkit-level key snooper connection by bridge.
678
679         * cspi/spi-impl.h:
680         * cspi/spi_*.h:
681         * cspi/spi_*.c:
682         New typedefs and fixes to support new namespacing, and cleaner
683         separation of cspi bindings from libspi bonobo implementation.  
684         Removed inconsistent and extraneous Spi* namespace prefix that
685         had crept into cspi headers.
686         Lots of comment fixes that sed had missed.
687
688         * cspi/spi-roletypes.h:
689         * cspi/spi-statetypes.h:
690         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
691         to AccessibleRoleType.
692         
693         * libspi/accessibleeventlistener.h:
694         Fixed minor namespacing weirdness.
695
696         * libspi/deviceeventcontroller.c:
697         Reordered some internal API for device listeners.
698         Changed the key registry final boolean to 'is_system_global'
699         rather than 'is_synchronous', which is more descriptive of its 
700         actual meaning.
701         Added spi_device_event_controller_new().
702         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
703          
704         * libspi/keystrokelistener.[ch]:
705         Namespaced KeystrokeListener to SpiKeystrokeListener.
706         Changed uses of keymasks to use SPI_ prefix, and did other
707         knock-on fixups.
708
709         * libspi/keymasks.h:
710         Namespaced keymask constants with SPI_ prefix.
711
712         * libspi/registry.c:
713         Some warning fixes, and knock-on fixes from namespace changes.
714
715         * test/Makefile.am:
716         Added rules for accessx-gui test program.
717
718         * test/accessx-gui.c:
719         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
720         utility.  It doesn't actually use at-spi, but it's still cool and
721         useful ;-)
722
723         * test/keysynth-demo.c:
724         * test/simple-at.c:
725         * test/at.c:
726         * test/app.c:
727         Fixes so that these test clients work properly with the namespaced
728         libraries. (Incompletely tested for technical reasons, fixes may follow)
729         
730
731 2001-13-11  Michael Meeks  <michael@ximian.com>
732
733         * libspi/application.c
734         (impl_accessibility_application_get_version),
735         (impl_accessibility_application_get_toolkit_name):
736         warning fixes.
737         (impl_accessibility_application_set_id),
738         (impl_accessibility_application_get_id): remove
739         redundant casting code.
740
741         * libspi/action.c (impl_getDescription): fix warnings.
742
743         * libspi/accessible.c
744         (impl_accessibility_accessible_get_parent),
745         (impl_accessibility_accessible_get_child_at_index),
746         (impl_accessibility_accessible_get_state),
747         (impl_accessibility_accessible_get_relation_set):
748         warning fixes & include action.h
749
750 2001-13-11  Michael Meeks  <michael@ximian.com>
751
752         * *.[ch] fix bits I screwed up:
753
754                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
755                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
756         
757 2001-13-11  Michael Meeks  <michael@ximian.com>
758
759         * *.[ch] Namespace libspi into spi_ and Spi.
760
761 2001-13-11  Michael Meeks  <michael@ximian.com>
762
763         * Makefile.am: dist & install at-spi-1.0.pc
764
765         * libspi/Makefile.am: install into at-spi-1.0
766
767         * idl/Makefile.am (idldir): install into at-spi-1.0
768
769         * at-spi-1.0.pc.in: add.
770
771         * configure.in: build it.
772
773 2001-12-11  Bill Haneman <bill.haneman@sun.com>
774
775         * test/keysynth-demo.c:
776         Use a 'realize' signal-handler to set the WM properties for
777         the virtual keyboard, rather than making it a "POPUP" type
778         override-redirect window (thanks to anders carlsson for that
779         tip!)
780
781 2001-11-11  Bill Haneman <bill.haneman@sun.com>
782
783         * test/Makefile.am:
784         * test/keysynth-demo.c:
785         Added new test of key synthesis, which creates a simple
786         (mouse-operated) onscreen keyboard.  It inserts key events into
787         the currently-focused window, thus it does not grab keyboard focus
788         itself.
789
790         * cspi/spi_registry.c:
791         Added C binding for AT-SPI generateKeyEvent.
792
793         * libspi/deviceeventcontroller.c:
794         Added call to XFilterEvent so that key listener works with XIM (we
795         hope).  Added event_synth_type to generateKeyEvent, so that we can
796         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
797         synthesize a press/release pair for KeySyms.    
798         
799 2001-11-09  Bill Haneman <bill.haneman@sun.com>
800
801         * libspi/Makefile.am: 
802         * registryd/Makefile.am:
803         (temporary) hack to include libXtst in libspi and registryd.
804         (Needed for keystroke synthesis, see below).
805
806         * idl/Registry.idl:
807         Improved API for registerKeystrokeListener, in accordance with
808         discussions with Gnopernicus team and X server research.
809
810         * libspi/registry.c:
811         * libspi/deviceeventcontroller.c:
812         * libspi/accessible.c:
813         * libspi/keystrokelistener.c:
814         Changes and fixes to support keylisteners for potentially
815         consumed key events (that is, 'passive grabs').
816         Added implementation for generateKeyEvent() [untested].
817
818         * cspi/spi.h:
819         Changes to registerKeystrokeListener() API, as above.
820         Added deregisterGlobalEventListenerAll(), and 
821         deregisterKeystrokeListener(), which are needed for clean exit of
822         clients.
823         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
824         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
825         
826         * cspi/spi_registry.c:
827         Added implementations of function prototypes mentioned above.
828         
829         * registryd/registryd.c:
830         Added the key listener event source as a g_timeout(), to allow
831         receipt of key events that are not caught by GDK (since GDK
832         doesn't support passive keygrabs, this was necessary).
833
834         * test/simple-at.c:
835         Changed to attach a keylistener to 'Alt' keys, and
836         respond to the following keycommands: Alt-M (toggle magnifier);
837         Alt-F (toggle speech); Alt-Q (quit).
838         Added an exit routine to deregister the listeners, and a key
839         listener that prints some key info to the console when a key
840         matches the listener mask (and is thus received by the listener).
841         
842         * util/idl/Magnifier.idl:
843         Changes to magnifier API to support multiple zoom regions,
844         non-uniform scaling in x and y, markDirty, and a host of other
845         features that would be useful to magnification.
846
847         * util/mag_image.h:
848         * util/mag_client.c:
849         * util/mag_client.h:
850         * util/mag_control.c:
851         * util/magnifier.c:
852         Source code changes to support the above IDL changes.
853         
854         * util/mag_image.c:
855         As above, and also changes to use a (slower) generic conversion
856         path for colormap conversions, since the fast RGB conversions have been
857         reported to fail for 16-bit displays.
858
859 2001-10-26  Michael Meeks  <michael@ximian.com>
860
861         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
862
863 <2001-10-26  Laszlo Peter <laca@ireland.sun.com>
864
865         * at-bridge/Makefile.am: fix LDFLAGS.
866
867 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
868
869         * at-bridge/bridge.c:
870         Re-worked listeners for toolkit events, now we have signal
871         and property listeners. Added a private method
872         register_atk_event_listeners(), which registers with the
873         various atk and gtk signals we need to monitor in order to emit
874         our at-spi events.
875         Added emission hook for AtkObject:property-change events, to
876         support the 'property listeners'.
877         Fixed some alloc()s of Accessibility_Event structs to use CORBA
878         allocation.
879
880         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
881         which emit warnings and exit, respectively, if CORBA errors occur
882         during remote calls, and we now use these methods to check most of
883         our CORBA calls in the C bindings.
884
885         * cspi/spi_accessible.c:
886         Changed AccessibleSelection_refSelectedChild() to
887         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
888         now increment refcounts.
889
890         * cspi/spi_component.c:
891         Fixed some long pointer casts (dangerous!) to pass pointers to
892         CORBA_longs of the proper type to the CORBA stubs, and copy the
893         data into the longs that were passed into the C bindings code.
894         
895         * at-bridge/bridge.c:
896         
897         * libspi/accessible.c:
898         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
899         hyperlinks, AtkHyperlink is an object type.     
900
901         * libspi/application.c:
902         Added various conversions to and from "generic" event types and
903         atk-specific types; this is really part of the 'bridge'
904         implementation but is valid for all AtkObject-based accessibility 
905         implementations.
906
907         * libspi/editabletext.c:
908         Fixed nasty bug wherein editable text's finalize method was
909         unref'ing tha AtkObject reference that the text parent class was
910         about to unref _again_.  There was also a nasty inheritance bug
911         that meant that the AccessibleEditableText class was corrupt.
912
913         * libspi/selection.c:
914         Provided implementations for some selection API that was broken.
915         
916         * idl/Application.idl:
917         Added registerObjectEventListener () method.
918
919         * THROUGHOUT:
920         Fixed a number of return values that were Bonobo_Unknowns from
921         bonobo_object_corba_objref(), which I
922         forgot to dup before returning.  Changed instances of 
923         bonobo_object_corba_objref (bonobo_object(o)) to
924         BONOBO_OBJREF(o), for concision and clarity.
925         
926 <2001-10-13  Louise Miller <louise.miller@sun.com>
927
928         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
929         idl/Event.idl, idl/Registry.idl
930         Changed these files to include Bonobo_Unknown.idl instead
931         of Bonobo.idl
932
933 <2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
934
935         * libspi/component.c libspi/component.h:
936                 Fixed typo.  Added assertions for object checks in 
937         AccessibleComponent code.
938
939 <2001-10-09  Bill Haneman <bill.haneman@sun.com>
940
941         * idl/Accessible.idl:
942                 Added 'isEqual (Accessible *object)' 
943         method for Accessible. (Not Yet Implemented).
944         
945         * idl/Registry.idl:
946                 Changed signature of registerKeystrokeListener() to
947         take a KeySet and KeyEventSeq so that specific keys and event
948         types could be requested for monitoring, and added a flag
949         is_synchronous so that either synchronous or asynchronous
950         notification could be requested.  (However this is not all
951         implemented yet). This also meant adding two new typedefs,
952         KeyEventSeq and KeySet.
953
954         * idl/Relation.idl: 
955                 Added two new relations, RELATION_TOOLTIP_FOR and
956         RELATION_LEAFNODE_OF.
957
958         * idl/State.idl:
959                 Added new state, STATE_HAS_TOOLTIP.
960         
961         * libspi/text.c, editabletext.c:
962                 Added new assertions to all casts of bonobo-objects from
963         CORBA servants, to prevent Text API calls on non-text objects.
964                 Changed suspect casts of int-pointer types, so that we
965         always send a valid CORBA_long pointer to the CORBA APIs that use
966         in/out long parameters.  We then have to copy from the CORBA_long
967         into the regular long or int for return to the C bindings, or
968         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
969         
970         * cspi/spi_text.c:
971         * libspi/deviceeventcontroller.c:
972                 Cleaned these sources up.
973         * idl/Text.idl:
974                 Changed return type for getCharacterAtOffset to
975         CORBA_unsigned_long, to allow for 32-bit characters.
976         
977                 
978 <2001-10-08  Bill Haneman <bill.haneman@sun.com>
979
980         * util/Makefile.am:
981         * idl/Makefile.am:
982                 Fixed 'make dist' so that distro compiles...
983         * libspi/keymasks.h:
984                 new file.
985         * cspi/spi-listener.c:
986                 KeystrokeListenerCB now returns a boolean.
987         * cspi/spi.h:
988                 Added KeyEventType struct, and KeyStroke.
989                 Also added createKeystrokeListener(),
990         KeystrokeListener_addCallback(),
991         KeystrokeListener_removeCallback(), and added a keymask to
992         registerKeystrokeListener().
993         * cspi/spi_accessible.c:
994                 Changed numerous return types for interfaces from
995         AccessibleComponent to Accessible<InterfaceName>; this was
996         probably a cut-and-paste error.
997         * cspi/spi_event.c:
998                 Implementations of new KeystrokeListener api (from spi.h,
999         above).
1000         * idl/Registry.idl:
1001                 Changes to key modifier mapping.
1002                 Created ControllerEventMask struct.
1003                 Made DeviceEventController derive from Bonobo::Unknown.
1004         * idl/Text.idl:
1005                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
1006         * libspi/deviceeventcontroller.c:
1007                 Added a number of new internal (private) methods.
1008         * libspi/editabletext.c:
1009         * libspi/editabletext.h:
1010                 Fixed a number of bugs related to the fact that
1011         editabletext inherits from text.  Fixed the EditableText struct,
1012         the init() call, and use correct casts when calling Text methods
1013         from an EditableText object.  Removed (duplicate) atko from the
1014         EditableText structure, we use the one in the parent Text
1015         structure via the casts mentioned above.
1016         * libspi/keystrokelistener.[ch]:
1017         * libspi/registry.c:
1018                 Changes in support of keyboard handling (above).
1019         
1020         Keyboard handling, though partly functional, is still not
1021         recommended for at-spi client use as there is considerable 
1022         work yet to be done.
1023
1024         * libspi/text.c:
1025                 Changed some places where pointers to various int types
1026         are cast to be pointers to CORBA_long types and vice-versa:
1027         pointer casting is not safe so we pass pointers of the correct
1028         types and then cast the result before putting it into the target
1029         pointers.
1030
1031         * libspi/text.h: minor typos corrected.
1032         * test/simple-at.c: 
1033                 We now speak not only the name of a Text element, but the
1034         first sentence of its content, when it receives focus.
1035                 I also changed the text compression to 75% from 50%.
1036         * util/Accessibility_Util.server.in:
1037                 Changed the default magnifier type to be a 3x vertical
1038         splitscreen magnifier (was previously a 2x horizontal one).
1039
1040 <2001-10-03  Bill Haneman <bill.haneman@sun.com>
1041
1042         * libspi/keystrokelistener.h:
1043         * libspi/keystrokelistener.c:
1044                 Initial functional implementations of KeystrokeListener.
1045         * idl/Registry.idl:
1046         
1047 <2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
1048
1049         Fixed string handling for NULL strings in libspi.
1050         Added spi_freeString to free strings returned by C bindings.
1051
1052 <2001-09-30  Bill Haneman <bill.haneman@sun.com>
1053
1054         * libspi/keystrokelistener.h:
1055         * libspi/keystrokelistener.c:
1056                 Began (no-op) implementations of KeystrokeListener
1057                         (see below).
1058         * libspi/deviceeventcontroller.c:
1059         * libspi/deviceeventcontroller.h:
1060                 Began creating implementations of DeviceEventController,
1061                         to handle keystroke and mouse event listening and
1062                         synthesis.
1063         * libspi/accessible.c:
1064                 Stubbed-in the implementations for
1065                         Accessibility_Accessible_getState and
1066                         Accessibility_Accessible_getRelationSet.
1067         * libspi/registry.c:
1068                 Improved de-registration process and fixed some bugs, 
1069                         deregistration now works correctly.
1070         * libspi/desktop.c:
1071                 Added initialization of applications list (to NULL).
1072         * util/magnifier.c:
1073                 Reduced speech compression from 0.5 to 0.7, for demo.
1074                 Changed call to gdk_window_set_decorations()
1075                         to gtk_window_set_decorated().
1076         * at-bridge/bridge.c:
1077                 Bridge now deregisters when app exits, via
1078                         registration of a cleanup function
1079                         with the g_atexit() call.
1080                         Required making 'app' static, renamed 'this_app'.
1081                 Fixed broken use of bonobo_init, passing argv wrongly.
1082
1083 <2001-09-27  Bill Haneman <bill.haneman@sun.com>
1084
1085         * util:
1086         * util/Makefile.am: 
1087                 Created a new directory for 
1088                         accessibility-related utilities, primarily for
1089                         testing and demo purposes, but with possible
1090                         end-user utility.
1091         
1092         * util/magnifier.c:
1093         * util/magnifier.h:
1094         * util/mag_image.c:
1095         * util/mag_image.h:
1096                 Onscreen magnifier utility that
1097                         is implemented as a bonobo service.
1098         
1099         * util/mag_client.c:
1100         * util/mag_client.h:
1101                 Client-side support (simple C bindings) 
1102                         for Magnification service
1103         
1104         * util/mag_control.c:
1105                 Client program example for 
1106                         Magnification service
1107         
1108         * util/Accessibility_Magnifier.server.in:
1109                 Bonobo-activation file for the 
1110                         Magnification service.
1111         
1112         * util/idl:
1113         * util/idl/Magnifier.idl:
1114                 IDL defining the bonobo Magnification
1115                         service interface.
1116
1117         * test/simple-at.c:
1118                 Modifications to use the bonobo-activated magnifier
1119                         above, in place of trying to connect to an existing
1120                         magnifier that uses socket-listening IPC.
1121
1122                 If env variable MAGNIFIER is set, a magnifier service
1123                         will be started if one does not exist.
1124         
1125 <2001-09-25  Bill Haneman <bill.haneman@sun.com>
1126         * at-bridge/bridge.c:
1127                 applied patch from Marc to build and run 
1128                 against new glib and gtk+ (seemed like a change 
1129                 to bonobo_init signature was made ?)
1130         * test/simple-at.c:
1131                 made festival-server support turned off by default.
1132                 Added support for a simple magnifier (off by default)
1133                 which will be added to a 'util' directory later.
1134         * at-bridge/Makefile.am:
1135                 Changed "application.h" header from a 'source'
1136                 to a 'dependency' of libat-bridge.
1137
1138 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
1139         * cspi/Makefile.am:
1140                 Added spi-util.c.
1141
1142         * cspi/spi-util.c:
1143                 Fixed typo
1144
1145         * cspi/spi.c:
1146                 Added interface implementation c files to list of
1147                         includes so they are included in libcspi.
1148
1149         * cspi/spi.h:
1150                 Changed prototype of AccessibleAction_doAction to return a
1151                         boolean.
1152                 Changed prototype of AccessibleTable_getCaption to
1153                         return an Accessible.
1154                 Changed prototype of AccessibleTable_getSelectedRows
1155                         and AccessibleTable_getSelectedColumns to
1156                         return a long (returns the number of selected rows
1157                         or columns respectively).
1158                 Changed name of AccessibleText_refRunAttributes to
1159                         AccessibleText_getAttributes.
1160                 Changed prototype of AccessibleText_getCharacterExtents to
1161                         return a void rather than a boolean. 
1162                 Added support for a AccessibleCoordType parameter
1163                         specifying what type of coordinates are desired.
1164                 Added an AccessibleCordType parameter to
1165                         AccessibleText_getPointAtOffset.
1166
1167         * cspi/spi_accessible.c:
1168                 Added code to return the outstanding interfaces from
1169                         Accessible_queryInterface.
1170
1171         * cspi/spi_action.c:
1172                 Fixed typos.
1173                 Corrected call to getNActions to call the c binding
1174                         for an attribute.
1175
1176         * cspi/spi_editabletext.c:
1177                 Fixed typos.
1178                 Changed name from setRunAttributes to setAttributes.
1179
1180         * cspi/spi_hyperlink.c:
1181                 Fixed typos.
1182                 Changed call to getNAnchors to correctly call the c
1183                         binding for an attribute.
1184
1185         * cspi/spi_hypertext.c:
1186                 Fixed typos.
1187                 Changed getImageDescription to correctly call the
1188                         binding for an attribute.
1189
1190         * cspi/spi_selection.c:
1191                 Changed getNSelectedChildren to correctly call the c
1192                         binding for the attribute.
1193                 Changed refSelectedChild to getSelectedChild.
1194
1195         * cspi/spi_table.c:
1196                 Fixed typos.
1197                 Changed getCaption to return an Accessible.
1198                 Fixed calls which retrieve attributes.
1199                 Changed refAt to getAccessibleAt.
1200                 Changed getNSelectedRows and getNSelectedColumns to
1201                         return longs.
1202
1203         * cspi/spi_text.c:
1204                 Changed getCharacterExtents and getPointAtOffset to accept an
1205                         AccessibleCoordType.
1206                 Fixed typos.
1207                 Changed calls which retrieve attributes.
1208                 Changed refRunAttributes to getAttributes.
1209
1210         * cspi/spi_value.c:
1211                 Fixed typos.
1212
1213         * idl/Hyperlink.idl:
1214                 Changed n_anchors attribute to nAnchors to keep naming
1215                         convention consistent.
1216
1217         * idl/Table.idl:
1218                 Made Table inherit from Bonobo::Unknown.
1219                 Added nSelectedColumns and nSelectedRows attributes.
1220
1221         * idl/Value.idl:
1222                 Made Value inherit from Bonobo::Unknown.
1223
1224         * libspi/hyperlink.c:
1225                 Change for nAnchors attributte name change.
1226
1227 <2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
1228         * cspi/Makefile.am:
1229                 Added spi-util.c.
1230
1231         * cspi/spi-util.c:
1232                 Fixed typo
1233
1234         * cspi/spi.c:
1235                 Added interface implementation c files to list of
1236                         includes so they are included in libcspi.
1237
1238         * cspi/spi.h:
1239                 Changed prototype of AccessibleAction_doAction to return a
1240                         boolean.
1241                 Changed prototype of AccessibleTable_getCaption to
1242                         return an Accessible.
1243                 Changed prototype of AccessibleTable_getSelectedRows
1244                         and AccessibleTable_getSelectedColumns to
1245                         return a long (returns the number of selected rows
1246                         or columns respectively).
1247                 Changed name of AccessibleText_refRunAttributes to
1248                         AccessibleText_getAttributes.
1249                 Changed prototype of AccessibleText_getCharacterExtents to
1250                         return a void rather than a boolean. 
1251                 Added support for a AccessibleCoordType parameter
1252                         specifying what type of coordinates are desired.
1253                 Added an AccessibleCordType parameter to
1254                         AccessibleText_getPointAtOffset.
1255
1256         * cspi/spi_accessible.c:
1257                 Added code to return the outstanding interfaces from
1258                         Accessible_queryInterface.
1259
1260         * cspi/spi_action.c:
1261                 Fixed typos.
1262                 Corrected call to getNActions to call the c binding
1263                         for an attribute.
1264
1265         * cspi/spi_editabletext.c:
1266                 Fixed typos.
1267                 Changed name from setRunAttributes to setAttributes.
1268
1269         * cspi/spi_hyperlink.c:
1270                 Fixed typos.
1271                 Changed call to getNAnchors to correctly call the c
1272                         binding for an attribute.
1273
1274         * cspi/spi_hypertext.c:
1275                 Fixed typos.
1276                 Changed getImageDescription to correctly call the
1277                         binding for an attribute.
1278
1279         * cspi/spi_selection.c:
1280                 Changed getNSelectedChildren to correctly call the c
1281                         binding for the attribute.
1282                 Changed refSelectedChild to getSelectedChild.
1283
1284         * cspi/spi_table.c:
1285                 Fixed typos.
1286                 Changed getCaption to return an Accessible.
1287                 Fixed calls which retrieve attributes.
1288                 Changed refAt to getAccessibleAt.
1289                 Changed getNSelectedRows and getNSelectedColumns to
1290                         return longs.
1291
1292         * cspi/spi_text.c:
1293                 Changed getCharacterExtents and getPointAtOffset to accept an
1294                         AccessibleCoordType.
1295                 Fixed typos.
1296                 Changed calls which retrieve attributes.
1297                 Changed refRunAttributes to getAttributes.
1298
1299         * cspi/spi_value.c:
1300                 Fixed typos.
1301
1302         * idl/Hyperlink.idl:
1303                 Changed n_anchors attribute to nAnchors to keep naming
1304                         convention consistent.
1305
1306         * idl/Table.idl:
1307                 Made Table inherit from Bonobo::Unknown.
1308                 Added nSelectedColumns and nSelectedRows attributes.
1309
1310         * idl/Value.idl:
1311                 Made Value inherit from Bonobo::Unknown.
1312
1313         * libspi/hyperlink.c:
1314                 Change for nAnchors attributte name change.
1315
1316
1317 <2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
1318
1319         implementations-- made server implementations own AtkObject pointers
1320         rather than their respective AtkInterrface pointers to fix
1321         refcounting.  AtkHyperlink is still broken.
1322
1323 <2001-09-04  Bill Haneman <bill.haneman@sun.com>
1324         * cspi/spi_accessible.c:
1325                 Added method Accessible_Role_getName(),
1326                         and requisite string array (role_names).
1327                 Added conversion string_from_corba_strin() call
1328                         to Accessible_getName and _getDescription.
1329         * libspi/accessible.c:
1330                 Added implementation for Accessible_getRole()
1331         * test/simple-at.c:
1332                 Added festival support, used if environment variable
1333                         FESTIVAL is set.
1334         
1335 2001-09-04  Bill Haneman <bill.haneman@sun.com>
1336
1337         * at-bridge/bridge.c:
1338             Now allocate Accessibility_Event using
1339             Accessibility_Event__alloc() instead of g_new0().
1340         * libspi/accessibleeventlistener.c:
1341             Initialize AccessibleEventListener->callbacks to NULL.
1342             Fixed accessible__event_listener_init() param, changed to
1343             "AccessibleEventListener *" type.
1344             Changed a bonobo_object_release_unref() call to
1345             Accessibility_Accessible_unref().
1346         * libspi/listener.c:
1347             Changed Bonobo_Unknown_unref to (equivalent) 
1348             Accessibility_Accessible_unref.
1349         * libspi/registry.c:
1350             Changed bonobo_object_release_unref to 
1351             Accessibility_Accessible_unref.
1352         
1353 <2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
1354         
1355         * Added files:
1356             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
1357             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
1358             spi-util.c spi-util.h
1359             Implementations for C bindings to remaining accessibility 
1360             interfaces.
1361
1362 <2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
1363         
1364         * idl/Action.idl:
1365             changed return value of Action from void to boolean to 
1366             bring in line with ATK.
1367
1368         * idl/Text.idl:
1369             Changed getText funcions to return "out" start and end offsets.
1370             Changed getAttributes to take and offset and return the start 
1371             and end offset of the attribute run.
1372             Changed getOffsetAtPoint and getCharacterExtents to take an 
1373              enum describing whether coordinates are window or screen.
1374
1375         * Added files:
1376             libspi/action.c libspi/action.h libspi/editabletext.c 
1377             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
1378             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
1379             libspi/image.h libspi/selection.c libspi/selection.h
1380             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
1381             libspi/value.c libspi/value.h
1382             Added server implementations for outstanding ATK interfaces 
1383             not yet implemented.
1384  
1385 2001-09-04  Bill Haneman <bill.haneman@sun.com>
1386
1387         * idl/Action.idl:
1388                 Added (missing) getName() method. 
1389                 Made nActions an attribute.
1390         * idl/EditableText.idl:
1391                 Changed order of params in setAttributes.
1392         * idl/Hyperlink.idl:
1393                 Removed getAnchor, added getURI.
1394         * idl/Image.idl:
1395                 Changed attributes to methods, for efficiency
1396                 (so that getting extents can be done in one call)
1397         * idl/Selection.idl:
1398                 Changed nSelectedChildren to attribute, and re-indented.
1399         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
1400                 to attributes.
1401         * idl/Text.idl: reformatted to match our coding style.
1402                 (temporarily?) removed getRowColumnAtOffset().
1403                 Changed text selection API to support multi-select and
1404                 non-contiguous selections, as in ATK.
1405         * idl/Value.idl: changed some methods to attributes.
1406
1407 2001-08-24  Mark McLoughlin <mark@skynet.ie>
1408
1409         * libspi/listener.c(impl_notify_event):
1410         BonoboUnkown_unref the source instead
1411         of bonobo_object_release_unref - the ORB
1412         handles the releasing.
1413
1414         * configure.in: require ORBit-2.3.94 for
1415         this behaviour.
1416
1417 2001-08-21  Bill Haneman <bill.haneman@sun.com>
1418
1419         Tagged CVS repository 'EA_1_0'.
1420         * README.EARLY_ACCESS:
1421         Alphabetized acknowledgements list, and
1422         added someone.
1423         Listed some known dependencies of at-spi.
1424
1425 2001-08-20  Bill Haneman <bill.haneman@sun.com>
1426
1427         * docs/at-spi-docs.sgml:
1428         * docs/at-spi-sections.txt:
1429         * docs/at-spi-overrides.txt: (Added zero-length file)
1430         Documentation improvements - gtk-doc should build
1431         docs for all implemented C bindings now.
1432         * cspi/Makefile.am:
1433         * cspi/spi_main.c:
1434         * cspi/spi.c: (New file)
1435         * cspi/spi_event.c: (New file)
1436         * cspi/spi_registry.c: (New file)
1437         * cspi/spi_accessible.c: (New file)
1438         * cspi/spi_application.c: (New file)
1439         * cspi/spi_component.c: (New file)
1440         Split spi_main.c into six parts, and included them from
1441         "spi.c".  This is a bit of a hack, probably temporary,
1442         but required by gtk-doc, apparently.
1443         
1444 2001-08-20  Bill Haneman <bill.haneman@sun.com>
1445
1446         * docs/Makefile.am:
1447         * docs/at-spi-docs.sgml:
1448         * docs/at-spi-sections.txt:
1449         * configure.in:
1450         Initial checkins/modifications for gtk-doc generation.
1451         * cspi/spi.h:
1452         * cspi/spi.c:
1453         Added (missing) interface query methods to Accessible's C binding.
1454         * cspi/spi-impl.h:
1455         Added GenericInterface type definition.
1456         * test/simple-at.c:
1457         Added query for AccessibleComponent interface to focus event handler.
1458         Added printout of bounding box for focussed component.
1459         * libspi/component.c:
1460         Added partial implementation for AccessibleComponent to C binding.
1461         * idl/Application.idl:
1462         * libspi/registry.c:
1463         * libspi/listener.c:
1464         * libspi/application.c:
1465         * libspi/application.h:
1466         Changed "ID" attribute type from string to long.
1467
1468 2001-08-19  Bill Haneman <bill.haneman@sun.com>
1469
1470         * cspi/spi.h:
1471         * cspi/spi.c:
1472         Made method naming consistent: methods taking object args
1473         start with uppercase, other methods (except those using
1474         acronyms) start with lowercase.  Underscores delimit between
1475         object names and method names:
1476         SPI_init() - uppercase since it starts with an acronym.
1477         getDesktopCount () - lowercase start since no object param0.
1478         Accessible_getName() - uppercase object type name, studlyCaps method
1479                                name.
1480
1481         *cspi/spi.h:
1482         Added gtk-doc documentation for all currently implemented
1483         methods in the C bindings API.
1484
1485 2001-08-18  Bill Haneman <bill.haneman@sun.com>
1486
1487         * Makefile.am : changed build order to build test last.
1488         * cspi/spi.h :
1489         * cspi/spi_main.c :
1490         Changed "createEventListener" to "CreateEventListener".
1491         * libspi/accessibleeventlistener.c :
1492         Bugfix for addition of callbacks.
1493         * test/Makefile.am :
1494         * test/simple-at.c :
1495         Added new test that uses the C bindings API.
1496         * idl/Event.idl :
1497         * libspi/listener.c :
1498         * libspi/registry.c :
1499         * libspi/accessibleeventlistener.c :
1500         * at-bridge/bridge.c :
1501         Renamed member "target" of Accessibility_Event to "source",
1502         which is more descriptive.
1503         
1504
1505 2001-08-18  Bill Haneman <bill.haneman@sun.com>
1506
1507         * Makefile.am: 
1508         * configure.in :
1509         * cspi/Makefile.am :
1510         Added makefile support for at-spi/cspi directory.
1511         * cspi/spi.h : 
1512         * cspi/spi-impl.h :
1513         * cspi/spi-listener.h : (NEW FILE)
1514         Added support for/use of spi-listener.h.
1515         * cspi/spi_main.c :
1516         C bindings now build successfully, with no warnings.
1517         * libspi/accessibleeventlistener.h : (NEW FILE)
1518         * libspi/accessibleeventlistener.c : (NEW FILE)
1519         * libspi/Makefile.am :
1520         Added new object type "AccessibleEventListener"
1521         which inherits from Listener, and allows attachment
1522         of in-process callbacks (so that a client with a listening
1523         object instance can add functionality to the local 
1524         implementation, dynamically).
1525
1526 2001-08-18  Bill Haneman <bill.haneman@sun.com>
1527
1528         * libspi/accessible.c: 
1529         Add implementation for get_index_in_parent().
1530         * cspi/spi.h : 
1531         Added #include of "spi-roletypes.h", and
1532         added enumerated type AccessibleCoordType.
1533         Added definition for KeystrokeListener (function type).
1534
1535         ADDED FILES:
1536         * cspi/spi-statetypes.h :
1537         * cspi/spi-roletypes.h :
1538         * cspi/spi-impl.h :
1539         Added these headers, used by spi.h.
1540         * cspi/spi_main.c : 
1541         Added code (NOTE: not yet built by make).
1542
1543 2001-08-18  Mark McLoughlin <mark@skynet.ie>
1544
1545         * libspi/Makefile.am: generate imodule
1546         at the same time as other idl compiler 
1547         generated files. 
1548
1549 2001-08-17  Bill Haneman <bill.haneman@sun.com>
1550         * libspi/registry.c :
1551         * libspi/application.c :
1552         * idl/Application.idl :
1553         Made registration with toolkit an application method,
1554         which is required since each app has its own toolkit static
1555         environment.  Thus the bridge must register for 
1556         notification of toolkit events from each application in turn.
1557         Toolkit notifications are now successfully registered for, and
1558         sent to the listening at client.
1559         * test/at.c :
1560         Changed toolkit event string to use hyphens rather than underscores.
1561         * libspi/listener.c :
1562         listner now gives more info in debug mode - it reports the
1563         name of the event received, as well as the name of the source.
1564         
1565
1566 2001-08-16  Bill Haneman <bill.haneman@sun.com>
1567
1568         * libspi/registry.c :
1569         added more implementation for toolkit events.
1570         Fixed bug such that toolkit event registrations
1571         (via atk) use the whole event name string, not 
1572         just minor+detail.
1573         Removed a useless call to an ORBit_ method.
1574         * at-bridge/bridge.c :
1575         Removed unused local sbuf[] variable.
1576         * test/at.c :
1577         We now register for Gtk:GtkWidget:button_press_event 
1578         events as well as "focus:" events.
1579         * cspi/spi.h :
1580         Add some more API from Registry.idl that was missing,
1581         for keystroke listening, keystroke and mouse event
1582         synthesis, and enumeration of accessible desktops.
1583
1584 2001-08-16  Michael Meeks  <michael@ximian.com>
1585
1586         * configure.in: use AM_GLIB_GNU_GETTEXT.
1587
1588         * Makefile.am (SUBDIRS): kill intl.
1589
1590 2001-08-15  Michael Meeks  <michael@ximian.com>
1591
1592         * registryd/Makefile.am: s/oaf/server/ relocate info file.
1593
1594         * configure.in: upd.
1595
1596         * configure.in: depend on a recent bonobo-activation that
1597         will find our server files ...
1598
1599 2001-08-16  Bill Haneman <bill.haneman@sun.com>
1600
1601         * libspi/accessible.c : accessible_new() :
1602         Now we add the Component interface via bonobo_object_add_interface,
1603         if the contained AtkObject implements AtkComponent.
1604         * libspi/accessible.h : now include "component.h"
1605         * libspi/component.h :
1606         * libspi/component.c : added files - implementation of
1607         bonobo wrapper object for Accessibility/Component
1608         * libspi/listener.c :
1609         Added test code to check for Accessibility/Component:1.0
1610         interface and report whether it is implemented by the
1611         event source.
1612         * libspi/registry.c :
1613         Now we check for not only the hash of the whole event 
1614         string before relaying the event, we also check the
1615         "minor" event string (without the detail string).
1616         This allows event listeners to be registered against
1617         all events of a certain major+minor type, or just
1618         against a specific major+minor+detail type.
1619         * libspi/accessible.c :
1620         Added implementations for Accessible:get_parent(),
1621         Accessible:getChildCount(), and Accessible:getChildAtIndex().
1622         * libspi/registry.c :
1623         * libspi/listener.c :
1624         Replaced calls to Accessibility_Accessible_ref() and
1625         Accessibility_Accessible_unref() with 
1626         calls to bonobo_object_dup_ref() and 
1627         bonobo_object_release_unref(), so that the CORBA object
1628         is dup-ed and released when relayed, as well as the bonobo object.
1629
1630 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1631
1632         * libspi/Makefile.am,
1633           registryd/Makefile.am,
1634           at-bridge/Makefile.am.
1635           test/Makefile.am, configure.in:
1636         reverse previous changes.
1637
1638         * /idl/Image.idl: fix typo.
1639
1640         * test/Makefile.am: put DEBUG_FLAGS
1641         in CFLAGS.
1642
1643 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1644
1645         * test/app.c: use argv[0] instead of
1646         g_type_prgname.
1647
1648 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1649
1650         * libspi/Makefile.am,
1651           registryd/Makefile.am,
1652           at-bridge/Makefile.am.
1653           test/Makefile.am, configure.in:
1654         cleanup, replace individual LIBS/CFLAGS with
1655         AT_COMMON_{LIBS|CFLAGS}.
1656
1657         * README: format.
1658
1659 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1660         
1661         * configure.in, libspi/Makefile.am:
1662         Change IDL path checking for bonobo-activation
1663         as opposed to oaf.
1664
1665 2001-08-15  Bill Haneman <bill.haneman@sun.com>
1666
1667         * registryd/registry.c : separated event listeners to use
1668         3 separate lists (focus, window, toolkit).  Began testing
1669         event names against hashes before relaying events.
1670         * test/at.c : now register for events of type "focus:"
1671         * test/app.c : now generate events of type "focus:"
1672         * at-bridge/bridge.c : register with ATK for focus events,
1673         and we now relay those focus events to any "focus:" listeners.
1674         This now works with the bridge as a GTK_MODULE when running test/at.
1675         * libspi/registry.c :
1676         * libspi/listener.c : 
1677         now we ref event sources before propagating, and unref on receipt.
1678         * libspi/registry.c : 
1679         some changes to internal structs, to support event typestring hashes.
1680         * text/app.c : changed the way the appname is generated.
1681         * cspi : added directory that will hold the C bindings library for 
1682                 non-CORBA/bonobo-savvy clients.
1683         * cspi/spi.h : header file that contains the function prototypes for the C binding.
1684         * idl/Component.idl : added in parameter to indicate coord system for
1685                 geometry-related calls.
1686         * idl/Hyperlink.idl : added readonly n_links attribute
1687         * idl/Image.idl : changed methods to attributes.
1688         
1689 2001-08-15  Mark McLoughlin <mark@skynet.ie>
1690
1691         * at-bridge/Makefile.am: link against
1692         ../libspi/libspi.la instead of -lspi.
1693
1694         * at-spi/test/app.c: include 
1695         bonobo-activation.h. Use a default appname
1696         if one is not provided.
1697
1698 2001-08-14  Bill Haneman <bill.haneman@sun.com>
1699
1700         * idl/Registry.idl : temporarily changed register_Application
1701         to oneway, to work around issue with initial registration 
1702         re-entrancy.
1703         * idl/Application.idl : changed attribute "id" from readonly 
1704         to read-write, since it needs to be assigned by Registry.
1705         * registryd/registryd.c : added call to set application id 
1706         on registration.
1707         * registryd/registry.c : changed de-registration procedure to
1708         use CORBA_Object_hash() to find matching object ref in application
1709         lists and listener lists.
1710         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
1711         began distinguishing between event types (work in progress).
1712
1713 2001-08-13  Bill Haneman <bill.haneman@sun.com>
1714
1715         CHANGES:
1716         * libspi/application.c:
1717         Added implementations for get/set id, get_toolkitName,
1718         get_version.
1719         * registryd/registryd.c :
1720         * test/at.c :
1721         * test/app.c :
1722         * Makefile.am :
1723         Converted from use of OAF to bonobo-activation.
1724         * libspi/desktop.h :
1725         * libspi/desktop.c :
1726         * test/app.c :
1727         Removed references to atksimpleobject, since base atkobject
1728         implementation now provides functionality we need.
1729         * libspi/atksimpleobject.c :
1730         * libspi/atksimpleobject.h :
1731         Removed.
1732         
1733         ADDITIONS:
1734         * at-bridge
1735         * at-bridge/Makefile.am
1736         * at-bridge/bridge.c
1737         * configure.in
1738         * Makefile.am
1739         Added directory "bridge" and contents, and added dependencies
1740         in Makefile.am/configure.in.  
1741         Initial checkin of "at-bridge".
1742         This code is a GTK_MODULE which automatically registers
1743         GTK+ apps with the accessibility registry, using an object
1744         reference to the root ATK object.
1745         
1746 2001-08-10  Mark McLoughlin <mark@skynet.ie>
1747
1748         * po/Makefile.in.in: Remove. Again. If this
1749         doesn't get autogenerated - you need to update
1750         gnome-common.
1751
1752 2001-08-07  Mark McLoughlin <mark@skynet.ie>
1753
1754         * po/Makefile.in.in: Add. Again.
1755
1756 2001-07-31  Bill Haneman <bill.haneman@sun.com>
1757
1758         * libspi/accessible.c : added support for 'description' property.
1759         * libspi/accessible.c
1760         * libspi/desktop.c
1761         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
1762             (since the two are now equivalent in libbonobo)
1763         * idl/Action.idl
1764         * idl/Component.idl
1765         * idl/Hyperlink.idl
1766         * idl/Image.idl
1767         * idl/Selection.idl
1768         * idl/Table.idl
1769         * idl/Text.idl
1770         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
1771              Bonobo::Unknown as does Accessibility::Accessible.
1772         * idl/StreamableContent.idl : as above, and replaced internal InputStream
1773              interface with Bonobo::Stream, since it was redundant with it.
1774              (The Stream returned by a StreamableContext object is expected to
1775              implement only a subset of Bonobo::Stream)
1776
1777 2001-07-28  Anders Carlsson  <andersca@gnome.org>
1778
1779         * libspi/accessible.c (accessible_object_finalize): Change
1780           g_free to g_object_unref since the AtkObject is a GObject.
1781
1782 2001-07-30  Bill Haneman <bill.haneman@sun.com>
1783
1784         * idl/Accessibility.idl: add new IDL files
1785         
1786         Added:
1787         * idl/Action.idl: Definitions of actionable UI object
1788         * idl/Component.idl: Definitions of UI component geometry, etc.
1789         * idl/Hyperlink.idl: Defs of hyperlink behavior
1790         * idl/Image.idl: Def of accessible image
1791         * idl/Selection.idl: Definition of UI object with selectable children
1792         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
1793         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
1794         * idl/Text.idl: Interface defs for UI elements with complex textual content
1795         * idl/Value.idl: Definition of UI element that is a value controller or display
1796         
1797 2001-07-27  Michael Meeks  <michael@ximian.com>
1798
1799         * po/Makefile.in.in: remove autogenerated file from CVS.
1800
1801         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
1802         type library.
1803
1804         * idl/Registry.idl: include guard.
1805
1806         * idl/Accessibility.idl: Add, and include all the other IDL
1807         files.
1808
1809         * idl/*.idl: remove mass of pragmas etc.
1810
1811 2001-07-26  Michael Meeks  <michael@ximian.com>
1812
1813         * registryd/Makefile.am (registryd_SOURCES): remove
1814         redundant at_.
1815
1816 2001-07-27  Mark McLoughlin <mark@skynet.ie>
1817
1818         * libspi/.cvsignore, registryd/.cvsignore,
1819           test/.cvsignore: updated.
1820
1821         * po/Makefile.in.in: gettext update.
1822
1823 2001-07-25  Bill Haneman <bill.haneman@sun.com>
1824
1825         * initial CVS checkin
1826
1827 2001-06-29  Michael Meeks  <michael@ximian.com>
1828
1829         * configure.in: add AM_CONFIG_HEADER to gen config.h
1830
1831         * acconfig.h: add.
1832