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