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